:root{color-scheme:light;font-family:system-ui,sans-serif}body{margin:0;padding:1.5rem;background:linear-gradient(180deg,#f8fafc,#eef1f6);color:#0f172a}input,select,textarea,button{color:#0f172a;background:#fff}.login-screen{min-height:100vh;margin:-1.5rem;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(ellipse 900px 500px at 50% -10%,rgba(37,99,235,.18),transparent),linear-gradient(160deg,#0a1120,#111c33 55%,#0a1120)}.login-card{width:100%;max-width:360px;background:#fff;border-radius:16px;padding:2.25rem 2rem 2rem;box-shadow:0 24px 60px #00000059,0 2px 8px #0000001f;text-align:center}.login-logo{width:220px;height:auto;margin:0 auto .75rem;display:block}.login-card h1{font-size:1.35rem;margin:0 0 .15rem;color:#111c33}.login-subtitle{margin:0 0 1.5rem;color:#64748b;font-size:.85rem;letter-spacing:.02em;text-transform:uppercase}.login-card form{display:flex;flex-direction:column;gap:.9rem;text-align:left}.login-card label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;color:#334155}.login-card input{padding:.6rem .7rem;border-radius:8px;border:1px solid #cbd5e1;font-size:1rem}.password-field{position:relative;display:block}.password-field input{width:100%;box-sizing:border-box;padding-right:2.6rem}.password-field .password-toggle{position:absolute;top:50%;right:.35rem;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;background:transparent;color:#64748b;border-radius:6px;cursor:pointer}.password-field .password-toggle:hover,.password-field .password-toggle:focus-visible{color:#0f172a;background:#f1f5f9}.login-card input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.login-card button[type=submit]{margin-top:.25rem;padding:.7rem 1rem;border-radius:8px;border:none;background:linear-gradient(135deg,#111c33,#0a1120);color:#fff;font-weight:600;font-size:.95rem;cursor:pointer}.login-card button[type=submit]:hover{filter:brightness(1.1)}.login-card button[type=submit]:disabled{opacity:.6;cursor:default}.login-card .error{color:#dc2626;font-size:.85rem;margin:0}.login-card .hint{font-size:.78rem;color:#94a3b8;margin:1.25rem 0 0}.subtle{opacity:.65;font-size:.9rem}.error{color:#dc2626}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0 1rem;margin:-.5rem -.5rem 1.5rem;padding-inline:.5rem;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.app-header-brand{display:flex;align-items:center;gap:.6rem}.header-logo{height:34px;width:auto;display:block}.header-logo-full{height:40px;width:auto;display:block}.app-header nav{display:flex;flex-wrap:wrap;row-gap:.5rem;gap:1rem}.app-header nav a{text-decoration:none;color:inherit;opacity:.7}.app-header nav a.active{opacity:1;font-weight:600}.app-header>div:last-child{display:flex;align-items:center;gap:.75rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.button{display:inline-block;padding:.5rem 1rem;background:#0f172a;color:#fff;border-radius:6px;text-decoration:none;border:none;cursor:pointer;font-size:.9rem}button{padding:.5rem 1rem;border-radius:6px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-size:.9rem}.button-danger{color:#dc2626;border-color:#dc2626}.attachment-list{margin:.25rem 0 0;padding-left:1.1rem;font-size:.9rem}.attachment-list li{margin:.2rem 0}.attachment-links ul{margin:0 0 .5rem;padding-left:1.1rem}.button-small{padding:.3rem .75rem;margin-left:.75rem;font-size:.85rem;font-weight:600;color:#1d4ed8;border-color:#2563eb;background:#eff6ff;white-space:nowrap}.button-small:hover:not(:disabled){background:#dbeafe}.button-small:disabled{opacity:.6;cursor:default}.link-button{padding:0;border:none;background:none;color:#2563eb;text-decoration:underline;font-size:inherit}.row-return-highlight td{background:#fef9c3;transition:background .6s}.review-panel-row td{padding:0;background:#f8fafc}.review-panel-row .review-card{padding:1rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem;border-bottom:1px solid #e2e8f0}.status{font-size:.85rem;font-weight:600}.status-warn{color:#b45309}.status-info{color:#2563eb}.status-ok{color:#16a34a}.status-bad{color:#dc2626}.form{display:flex;flex-direction:column;gap:1rem;max-width:480px}.form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.form input,.form select,.form textarea{padding:.5rem;border-radius:6px;border:1px solid #cbd5e1;font-size:1rem}.worker-checklist{display:flex;flex-direction:column;gap:.4rem;padding:.6rem;border-radius:6px;border:1px solid #cbd5e1;max-height:220px;overflow-y:auto}.worker-checklist-item{display:flex;flex-direction:column;gap:.3rem;font-weight:400;font-size:1rem}.worker-checklist-item>label{display:flex;flex-direction:row;align-items:center;gap:.5rem}.worker-checklist-item input{width:auto}.section-heading{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:1.5rem 0 .5rem}.section-heading:first-of-type{margin-top:.25rem}.dispatch-card,.review-card{border:1px solid #e2e8f0;border-radius:8px;padding:1rem;margin-bottom:1rem}.review-card{display:flex;gap:1rem;flex-wrap:wrap}.review-card-photo img{max-width:220px;border-radius:6px;display:block}.review-card-details{flex:1;min-width:240px}.review-card-actions{display:flex;gap:.5rem;margin-top:.5rem}.worker-shell{min-height:100vh;margin:-1.5rem;display:flex;flex-direction:column;background:#f8fafc}.worker-header{padding:.75rem 1rem;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.6rem}.worker-header .header-logo-full{height:34px}.worker-main{flex:1;padding:1rem 1rem 5.5rem}.worker-tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid #e2e8f0;padding-bottom:env(safe-area-inset-bottom,0);z-index:10}.worker-tab{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.7rem 0 .55rem;text-decoration:none;color:#94a3b8;font-size:.68rem;font-weight:500;letter-spacing:.01em;transition:color .15s ease}.worker-tab:before{content:"";position:absolute;top:0;left:30%;right:30%;height:2.5px;border-radius:0 0 3px 3px;background:#1d4ed8;opacity:0;transition:opacity .15s ease}.worker-tab.active{color:#1d4ed8;font-weight:700}.worker-tab.active:before{opacity:1}.worker-tab-icon{width:24px;height:24px;line-height:1}.worker-tab-icon svg{width:100%;height:100%}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e2e8f0;border-left:1px solid #e2e8f0;margin-bottom:1.5rem}.cal-weekday{padding:.4rem;font-size:.8rem;font-weight:600;text-align:center;background:#f8fafc;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.cal-cell{min-height:120px;padding:.25rem;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;background:#fff;cursor:pointer;overflow:hidden}.cal-outside{background:#f8fafc;color:#94a3b8}.cal-today{box-shadow:inset 0 0 0 2px #2563eb}.cal-selected{background:#eff6ff}.cal-daynum{font-size:.8rem;font-weight:600;margin-bottom:.15rem}.cal-chip{font-size:.8rem;line-height:1.35;padding:.15rem .35rem;margin-bottom:.2rem;font-weight:500;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-chip.cal-shift{background:#bfdbfe;color:#1e3a8a}.cal-chip.cal-booking{background:#fde68a;color:#78350f}.cal-more{font-size:.75rem;color:#475569;font-weight:600}.cal-dots{display:none;gap:3px;flex-wrap:wrap}.cal-dot{width:7px;height:7px;border-radius:50%}.cal-dot.cal-shift,.cal-legend.cal-shift{background:#2563eb}.cal-dot.cal-booking,.cal-legend.cal-booking{background:#d97706}.cal-legend{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 .2rem 0 .6rem}.cal-detail-shift{border-left:4px solid #2563eb}.cal-detail-booking{border-left:4px solid #d97706}@media(max-width:700px){.cal-cell{min-height:56px}.cal-chip,.cal-more{display:none}.cal-dots{display:flex}}.settings-tabs{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid #e2e8f0;margin:0 0 1.25rem}.settings-tabs a{padding:.5rem .9rem;text-decoration:none;color:#475569;border-bottom:2px solid transparent;margin-bottom:-1px}.settings-tabs a.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:600}.welcome-actions{display:flex;flex-direction:column;gap:.75rem;margin:1.25rem 0 .5rem}.welcome-actions a{display:block;padding:.8rem 1rem;border-radius:10px;text-align:center;text-decoration:none;font-weight:600}.welcome-primary{background:#0f172a;color:#fff}.welcome-secondary{background:#fff;color:#0f172a;border:1.5px solid #0f172a}.login-card .link-line{margin:.9rem 0 0;font-size:.9rem;text-align:center}.login-card .dev-box{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:.6rem .75rem;font-size:.85rem;text-align:left;margin-top:1rem}.login-card .store-links{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}.login-card select,.login-card .check-row input{width:auto}.login-card select{width:100%}.login-card select{padding:.6rem .7rem;border-radius:8px;border:1px solid #cbd5e1;font-size:1rem;background:#fff}.login-card.wide{max-width:440px}.login-card .check-row{flex-direction:row;align-items:flex-start;gap:.5rem;font-weight:400;text-align:left}.login-card .check-row input{margin-top:.2rem}.form label:has(>input[type=radio]),.form label:has(>input[type=checkbox]){flex-direction:row;align-items:flex-start;gap:.5rem}.form label>input[type=radio],.form label>input[type=checkbox]{width:auto;flex:none;margin-top:.2rem}.invite-rows{display:flex;flex-direction:column;gap:.5rem}.invite-head,.invite-row{display:grid;grid-template-columns:1.6fr 1.2fr 1fr auto;gap:.5rem;align-items:center}.invite-head{font-size:.8rem;font-weight:600;color:#475569}.invite-row input{width:100%;min-width:0}@media(max-width:640px){.invite-head{display:none}.invite-row{grid-template-columns:1fr;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.invite-row button{justify-self:end}}.page-back{margin:0 0 .75rem}.invite-row input{box-sizing:border-box}.dialog-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a80}.dialog{width:100%;max-width:420px;max-height:90vh;overflow-y:auto;padding:1.25rem;border-radius:12px;background:#fff;box-shadow:0 20px 50px #0f172a59}.dialog h3{margin:0 0 .5rem;font-size:1.1rem}.dialog-message{margin:0 0 .75rem;line-height:1.45;white-space:pre-line}.dialog-field{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600}.dialog-field textarea,.dialog-field input,.dialog-copy{width:100%;box-sizing:border-box;padding:.55rem .65rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;font-family:inherit}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.dialog-actions button,.dialog-primary,.dialog-danger{min-height:40px;padding:.5rem 1.1rem;border-radius:8px;font-size:.95rem;font-weight:600}.dialog-primary{border:1px solid #0f172a;background:#0f172a;color:#fff}.dialog-danger{border:1px solid #dc2626;background:#dc2626;color:#fff}.toasts{position:fixed;left:50%;bottom:1.25rem;z-index:1100;display:flex;flex-direction:column;gap:.5rem;align-items:center;transform:translate(-50%);pointer-events:none;width:max-content;max-width:calc(100vw - 2rem)}.toast{padding:.6rem 1rem;border-radius:8px;background:#0f172a;color:#fff;font-size:.9rem;box-shadow:0 6px 20px #0f172a4d}.toast-warn{background:#b45309}.toast-bad{background:#b91c1c}.danger-zone{margin-top:2.5rem;padding-top:1rem;border-top:1px solid #fecaca}.danger-zone h3{margin:0 0 .25rem;font-size:1rem}
