h1{margin:0;font-size:1.35rem;text-align:center;text-transform:uppercase}p{margin:0}.container{max-width:640px;margin:0 auto;padding:20px 16px;display:flex;flex-direction:column;gap:16px}.header{display:flex;flex-direction:column;gap:8px}.subtitle{display:none}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 14px 8px 14px;box-shadow:var(--shadow)}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.field label{font-weight:600;font-size:.95rem}.section-title{font-size:1.22rem;letter-spacing:.03em;text-transform:uppercase}.field input[type="datetime-local"],.field select,.field input[type="text"]{appearance:none;width:100%;padding:14px 12px;border-radius:12px;border:1px solid var(--border);background:var(--input);color:var(--text);font-size:1.05rem;outline:none;transition:border-color .2s, box-shadow .2s}.field input::placeholder{color:var(--muted)}.field input:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in oklab, var(--ring) 30%, transparent)}select{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%),linear-gradient(135deg, var(--muted) 50%, transparent 50%),linear-gradient(to right, var(--border), var(--border));background-position:calc(100% - 20px) calc(1em + 2px),calc(100% - 15px) calc(1em + 2px),calc(100% - 2.5rem) .6em;background-size:5px 5px,5px 5px,1px 1.8em;background-repeat:no-repeat;padding-right:2.5rem}.output .field input[readonly]{background:transparent}.footer{color:var(--muted);font-size:.9rem;padding:0 2px}.spacer{height:8px}@media (min-width:700px){.container{padding:28px 18px}.card{padding:18px 18px 10px 18px}}
:root{--bg:#0e1116;--card:#121824;--text:#eaf2ff;--muted:#8da1b8;--primary:#0b61e3;--ring:#bcd7ff;--border:#223044;--input:#0f1420;--shadow: 0 10px 30px rgba(0,0,0,0.35)}@media (prefers-color-scheme: light){:root{--bg:#f7f9fc;--card:#ffffff;--text:#0b1e34;--muted:#5a6b80;--primary:#0b61e3;--ring:#cfe3ff;--border:#dbe1ea;--input:#ffffff;--shadow:0 10px 30px rgba(12,46,96,0.08)}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica Neue, Arial, "Apple Color Emoji", "Segoe UI Emoji";line-height:1.45;-webkit-font-smoothing:antialiased}h1{margin:0;font-size:1.35rem}p{margin:0}.container{max-width:680px;margin:0 auto;padding:20px 16px;display:flex;flex-direction:column;gap:16px}.header{display:flex;flex-direction:column;gap:8px}.subtitle{color:var(--muted);font-size:.95rem}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow)}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.field label{font-weight:600;font-size:.98rem}.field input[type="datetime-local"],.field select,.field input[type="text"]{appearance:none;width:100%;padding:14px 12px;border-radius:12px;border:1px solid var(--border);background:var(--input);color:var(--text);font-size:1.06rem;outline:none;transition:border-color .2s, box-shadow .2s}.field input::placeholder{color:var(--muted)}.field input:focus-visible,.field select:focus-visible{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in oklab, var(--ring) 30%, transparent)}select{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%),linear-gradient(135deg, var(--muted) 50%, transparent 50%),linear-gradient(to right, var(--border), var(--border));background-position:calc(100% - 20px) calc(1em + 2px),calc(100% - 15px) calc(1em + 2px),calc(100% - 2.5rem) .6em;background-size:5px 5px,5px 5px,1px 1.8em;background-repeat:no-repeat;padding-right:2.5rem}.output .field input[readonly]{background:transparent}.footer{color:var(--muted);font-size:.9rem;padding:0 2px}.spacer{height:8px}@media (min-width:700px){.container{padding:28px 18px}.card{padding:18px 18px 10px 18px}}

/* Mobile-first enhancements */
.container{padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.header h1{font-size:1.45rem}
.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;position:relative}
.schedule-toggle{align-self:center;padding:8px 12px;font-size:.95rem}
.btn-primary{background:var(--primary);color:#fff;border:1px solid color-mix(in oklab, var(--primary) 70%, var(--border) 30%)}
.header-picker{position:absolute;left:-9999px;opacity:0;width:1px;height:1px}
.schedule-menu{position:absolute;top:100%;right:0;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:none;z-index:20;min-width:240px}
.schedule-menu.open{display:block}
.schedule-menu .menu-item{width:100%;text-align:left;padding:10px 12px;border:none;background:transparent;color:var(--text);border-radius:8px;cursor:pointer}
.schedule-menu .menu-item:hover{background:color-mix(in oklab, var(--ring) 18%, transparent)}
/* Modal overlay for schedule selection */
.modal{position:fixed;inset:0;background:rgba(0,0,0,0.5);display:none;align-items:center;justify-content:center;z-index:100}
.modal.open{display:flex}
.modal .dialog{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:16px;max-width:380px;width:92%}
.modal .title{font-weight:700;margin-bottom:8px;text-align:center}
.modal .options{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px}
.modal .option{padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--input);color:var(--text);cursor:pointer;text-align:center;font-weight:600}
.modal .option.selected{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in oklab, var(--ring) 25%, transparent)}
.modal .actions{display:flex;gap:8px;justify-content:space-between;align-items:center}
.modal .actions .btn{flex:0 0 auto;padding:8px 12px;min-height:36px;font-size:.95rem;border-radius:8px}
/* Modal close button */
.modal .dialog{position:relative}
.modal .close{position:absolute;top:8px;right:8px;width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--input);color:var(--text);font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.modal .close:hover{background:color-mix(in oklab, var(--ring) 18%, transparent)}
body.modal-open{overflow:hidden}
.footer a{color:inherit;text-decoration:none}
.footer a:hover{text-decoration:underline}
.field label{font-size:1rem}
.field input[type="datetime-local"], .field select, .field input[type="text"]{min-height:44px;line-height:1.2;font-size:1rem;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:manipulation}
.btn, button{min-height:44px}
@media (prefers-reduced-motion: reduce){.field input[type="datetime-local"], .field select, .field input[type="text"]{transition:none}}
.card{padding:18px}
.row-actions .btn{width:100%}
.summary{word-break:break-word}
.actions{margin-top:8px}
.invalid input[type="datetime-local"]{border-color:#ef4444}
/* Return output block */
.return-block{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;margin-bottom:10px}
.return-date{font-size:1.05rem;color:var(--muted);font-weight:600}
.return-time{font-size:2.25rem;font-weight:700;color:var(--primary);line-height:1.2}
.summary{white-space:pre-wrap;text-align:center;color:var(--muted);font-weight:600;font-size:1.05rem;line-height:1.5;margin-top:6px}
/* Section title spacing */
.section-title{margin-bottom:6px}

/* Recalc flash feedback */
@keyframes flashPulse{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--ring) 40%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in oklab, var(--ring) 30%, transparent)}100%{box-shadow:0 0 0 0 transparent}}
.flash{animation:flashPulse 600ms ease-out}
@media (prefers-reduced-motion: reduce){.flash{animation:none}}

/* Mobile: hide schedule card, show when toggled */
@media (max-width: 560px){
	.schedule-card{display:none}
}

/* Desktop: hide header schedule button when schedule card is visible */
@media (min-width: 561px){
  .schedule-toggle{display:none}
}

/* Ensure modal actions stay horizontal on small screens */
@media (max-width: 560px){
	.modal .actions{flex-direction:row !important;justify-content:space-between;align-items:center}
}

/* Time input styling to match other fields */
.field input[type="time"]{appearance:none;width:auto;padding:14px 12px;border-radius:12px;border:1px solid var(--border);background:var(--input);color:var(--text);font-size:1.06rem;outline:none;transition:border-color .2s, box-shadow .2s;min-height:44px;line-height:1.2}
.field input[type="time"]:focus-visible{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in oklab, var(--ring) 30%, transparent)}
@media (prefers-reduced-motion: reduce){.field input[type="time"]{transition:none}}

/* Header layout override: title + button on one row */
.header{display:flex;flex-direction:row;align-items:center;justify-content:space-between}
.header-actions{display:flex;gap:8px;align-items:center}
.schedule-toggle{padding:8px 12px}
.btn-primary{background:var(--primary);color:#fff;border:1px solid color-mix(in oklab, var(--primary) 70%, var(--border) 30%)}
.header-picker{position:absolute;left:-9999px;opacity:0;width:1px;height:1px}
/* Ensure footer text is centered */
.footer{text-align:center}
