:root{--green: #134c3a;--green-deep: #0f3d2f;--green-soft: #dfe9e4;--green-light: #289e77;--green-tint: #f4f8f6;--accent: #ffcc33;--accent-strong: #f5b400;--danger: #e53935;--danger-deep: #c62828;--text: #1f2e27;--muted: #6b8077;--border: #d9e3de;--white-hi: rgba(255,255,255,.92);--white-mid: rgba(255,255,255,.7);--shadow-dark: rgba(18, 40, 30, .14);--shadow-light: rgba(255,255,255,.92);--radius: 20px;--radius-sm: 14px;--pill: 999px}*{box-sizing:border-box}html,body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:var(--text)}button,input,select,textarea{font:inherit}body.modalOpen{overflow:hidden}@keyframes noiseDrift{0%{transform:translate(0) scale(1.05)}25%{transform:translate(-12px,8px) scale(1.08)}50%{transform:translate(10px,-10px) scale(1.04)}75%{transform:translate(-8px,-6px) scale(1.09)}to{transform:translate(0) scale(1.05)}}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:radial-gradient(circle at top,rgba(255,255,255,.08),transparent 35%),#0c161261;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:100%;max-width:720px;max-height:calc(100vh - 36px);overflow:auto;background:linear-gradient(180deg,#f7faf8,#edf3f0);border-radius:28px;padding:24px 26px;border:1px solid rgba(255,255,255,.85);box-shadow:24px 24px 48px #12281e1f,inset 1px 1px #fffc;-webkit-overflow-scrolling:touch}.modal .buttonRow{position:sticky;bottom:0;background:linear-gradient(180deg,#edf3f033,#edf3f0fa 28%);padding-top:16px;margin-top:20px;border-top:1px solid rgba(31,46,39,.06);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal h2{margin:0 0 18px;font-size:22px;font-weight:800;letter-spacing:.2px;color:var(--green-deep)}.label{font-size:14px;font-weight:700;margin-bottom:8px;color:var(--green-deep)}.helperText{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.35}.inputField{width:100%;padding:13px 15px;border-radius:18px;border:1px solid rgba(19,76,58,.08);background:linear-gradient(180deg,#edf3f0,#f7faf8);color:var(--text);font-size:15px;font-weight:600;box-shadow:inset 6px 6px 12px #12281e0f,inset -6px -6px 12px #fffffff2;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}.inputField::placeholder{color:#7f9289;font-weight:500}.inputField:focus{outline:none;border-color:#134c3a3d;background:linear-gradient(180deg,#f4f8f6,#fbfdfc);box-shadow:inset 4px 4px 10px #12281e0d,inset -4px -4px 10px #fffffff5,0 0 0 3px #134c3a14}.dateRow{display:flex;gap:20px;margin-top:16px}.dateCol{flex:1}.timeRow{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.timeSelect{padding:11px 14px;min-width:88px;border-radius:18px;border:1px solid rgba(19,76,58,.08);background:linear-gradient(180deg,#edf3f0,#f7faf8);color:var(--text);font-size:15px;font-weight:700;cursor:pointer;box-shadow:inset 6px 6px 12px #12281e0f,inset -6px -6px 12px #fffffff2;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.timeSelect:focus{outline:none;border-color:#134c3a3d;box-shadow:inset 4px 4px 10px #12281e0d,inset -4px -4px 10px #fffffff5,0 0 0 3px #134c3a14}.buttonRow{display:flex;justify-content:flex-end;gap:14px;margin-top:26px;flex-wrap:wrap}.btn{padding:12px 18px;border-radius:var(--pill);border:1px solid rgba(19,76,58,.08);font-weight:800;font-size:14px;letter-spacing:.15px;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,opacity .14s ease;box-shadow:8px 8px 18px #12281e1a,-6px -6px 14px #ffffffeb}.btn:hover{filter:brightness(1.15)}.btn:active{box-shadow:inset 5px 5px 10px #12281e14,inset -5px -5px 10px #ffffffe6}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:none}.btnCancel{background:linear-gradient(180deg,#e8efeb,#f6faf7);color:var(--text)}.btnPrimary{background:linear-gradient(180deg,#175640,#134c3a);color:#fff;border:1px solid rgba(255,255,255,.1);box-shadow:10px 10px 22px #134c3a38,-4px -4px 12px #ffffff1f}.btnPrimary:hover{filter:brightness(1.15)}.btnPrimary:active{box-shadow:inset 5px 5px 10px #081b1447,inset -3px -3px 8px #316f5847}.pillExpireToday{background:linear-gradient(180deg,#ffd34d,#fc3);color:#1f2e27;font-weight:900;padding:7px 13px;border-radius:999px;font-size:12px;letter-spacing:.35px;border:1px solid rgba(184,134,11,.18);box-shadow:0 6px 14px #ffcc3347,0 2px 5px #00000014}.pillExpired{background:linear-gradient(180deg,#ef5350,#e53935);color:#fff;font-weight:900;padding:7px 13px;border-radius:999px;font-size:12px;letter-spacing:.35px;border:1px solid rgba(183,28,28,.18);box-shadow:0 6px 14px #e539354d,0 2px 5px #0000001a}.pillExpireTomorrow{background:linear-gradient(180deg,#ffe07a,#ffd966);color:#1f2e27;font-weight:800;padding:7px 13px;border-radius:999px;font-size:12px;letter-spacing:.3px}.pillFuture{background:linear-gradient(180deg,#e6f0ea,#dbe8e1);color:var(--green-deep);font-weight:700;padding:7px 13px;border-radius:999px;font-size:12px;letter-spacing:.3px}@media (max-width: 720px){.modal{padding:20px 18px;border-radius:24px}.dateRow{flex-direction:column;gap:14px}.buttonRow{justify-content:stretch}.buttonRow .btn{flex:1 1 auto}.timeSelect{flex:1 1 0;min-width:0}}
