.duty-shell{--duty-ink:#183a3d;--duty-muted:#4d5f5f;--duty-line:#d5e2df;--duty-teal:#0d7a72;--duty-warn:#a65b12;--duty-danger:#a23f42;min-height:100vh;color:var(--duty-ink);font-family:Noto Naskh Arabic,Segoe UI,Tahoma,Arial,sans-serif;font-size:calc(16px * var(--arabic-text-scale,1));background:radial-gradient(circle at 12% 0,#e8f4f1 0%,#0000 42%),linear-gradient(#f7faf9 0%,#eef3f1 100%);margin:0;padding:16px 16px 40px;line-height:1.45;overflow-x:hidden}.duty-shell[dir=rtl]{--arabic-text-scale:1.15;letter-spacing:normal}.duty-boot{text-align:center;color:var(--duty-muted);margin:40px auto}.duty-brand{font-size:calc(18px * var(--arabic-text-scale,1));margin:0;font-weight:900}.duty-head{justify-content:space-between;align-items:flex-start;gap:12px;height:auto;min-height:0;margin-bottom:14px;padding:16px;display:flex}.duty-shell>*{max-width:900px;margin-inline:auto}.duty-instructions ol{margin:0;padding-inline-start:24px}.duty-instructions li{margin-block:12px;line-height:1.6}.duty-head h1{font-size:calc(1.45rem * var(--arabic-text-scale,1));overflow-wrap:anywhere;margin:4px 0 0}.duty-readonly{color:var(--duty-teal);font-size:calc(12px * var(--arabic-text-scale,1));background:#e8f3f1;border-radius:999px;margin:4px 0 0;padding:4px 8px;font-weight:800;display:inline-block}.duty-attendant{color:var(--duty-muted);overflow-wrap:anywhere;margin:4px 0 0}.duty-head-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.duty-head button,.duty-form button[type=submit],.duty-shift button,.duty-pin-toggle{border:1px solid var(--duty-line);min-height:44px;color:var(--duty-ink);font-weight:800;font-size:calc(14px * var(--arabic-text-scale,1));background:#fff;border-radius:12px;padding:10px 14px}.duty-lang{min-width:48px}.duty-card{border:1px solid var(--duty-line);background:#fff;border-radius:16px;margin-bottom:12px;padding:16px}.duty-card h2{font-size:calc(1.1rem * var(--arabic-text-scale,1));margin:0 0 10px}.duty-lead{color:var(--duty-muted);margin:0 0 14px}.duty-form{gap:14px;display:grid}.duty-form label{font-size:calc(14px * var(--arabic-text-scale,1));color:var(--duty-muted);gap:6px;font-weight:800;display:grid}.duty-form input{border:1px solid var(--duty-line);min-height:48px;color:var(--duty-ink);border-radius:12px;padding:12px 14px;font-size:1rem}.duty-pin-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.duty-form button[type=submit]{background:var(--duty-teal);color:#fff;border-color:var(--duty-teal);font-size:calc(16px * var(--arabic-text-scale,1))}.duty-form button:disabled,.duty-shift button:disabled,.duty-head button:disabled{opacity:.55}.duty-shift{border:0;grid-template-columns:1fr 1fr;gap:8px;min-inline-size:0;margin:0 0 12px;padding:0;display:grid}.duty-shift legend{font-weight:800;font-size:calc(14px * var(--arabic-text-scale,1));margin-bottom:8px}.duty-shift button.active{background:var(--duty-teal);border-color:var(--duty-teal);color:#fff}.duty-error,.duty-banner{color:var(--duty-danger);margin:0 0 10px;font-weight:700}.duty-banner{color:var(--duty-warn);background:#fff4df;border-radius:12px;padding:10px 12px}.duty-summary-grid{grid-template-columns:1fr 1fr;gap:12px;margin:0 0 14px;display:grid}.duty-summary-grid dt{font-size:calc(12px * var(--arabic-text-scale,1));color:var(--duty-muted);font-weight:800}.duty-summary-grid dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:800}.duty-summary-grid small{color:var(--duty-muted);font-weight:600;font-size:calc(12px * var(--arabic-text-scale,1));margin-top:2px;display:block}.duty-call,.duty-phone-btn{background:var(--duty-teal);color:#fff;font-variant-numeric:tabular-nums;box-sizing:border-box;border-radius:14px;justify-content:center;align-items:center;width:100%;min-height:48px;padding:12px 16px;font-weight:900;text-decoration:none;display:inline-flex}.duty-disclaimer{color:var(--duty-muted);font-size:calc(14px * var(--arabic-text-scale,1));margin:12px 0 0}.duty-missing-phone{color:var(--duty-warn);margin:0;font-weight:700}.duty-stop-detail{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.duty-stop-card{border:1px solid var(--duty-line);background:#fff;border-radius:16px;gap:10px;padding:14px;display:grid;box-shadow:0 1px #183a3d0a}.duty-stop-card-top{grid-template-columns:3rem minmax(0,1fr);align-items:start;gap:10px;display:grid}.duty-stop-num{background:#e8f3f1;border-radius:12px;place-items:center;width:3rem;height:3rem;font-size:1.1rem;font-weight:900;display:grid}.duty-stop-school .duty-stop-num,.duty-stop-centre .duty-stop-num{color:#fff;background:#183a3d}.duty-stop-card-meta h3{font-size:calc(1.05rem * var(--arabic-text-scale,1));overflow-wrap:anywhere;margin:0}.duty-stop-area{color:var(--duty-muted);overflow-wrap:anywhere;margin:4px 0 0}.duty-stop-names{overflow-wrap:anywhere;font-weight:800;font-size:calc(1rem * var(--arabic-text-scale,1));margin:0}.duty-stop-badge{color:var(--duty-teal);font-size:calc(12px * var(--arabic-text-scale,1));text-transform:uppercase;letter-spacing:.02em;margin:0 0 4px;font-weight:900}.duty-stop-next{background:#f3fbf9;border-color:#72b8b0;box-shadow:0 0 0 1px #0d7a722e}.duty-stop-times{font-variant-numeric:tabular-nums;color:var(--duty-ink);flex-wrap:wrap;gap:10px;margin:0;font-weight:800;display:flex}.duty-stop-call{box-sizing:border-box;width:100%;min-height:52px;font-size:calc(16px * var(--arabic-text-scale,1))}.duty-empty{color:var(--duty-muted)}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.duty-shell .planned-stop-list{border-top:0;margin-top:0;padding-top:0}.duty-shell .planned-stop-label,.duty-shell .planned-stop-meta{font-size:calc(14px * var(--arabic-text-scale,1));color:var(--duty-muted);margin:0 0 8px;font-weight:700}.duty-shell .planned-stop-warn{color:var(--duty-warn);margin:0 0 8px;font-weight:800}.duty-shell .planned-stop-list ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.duty-shell .planned-stop-list li{font-size:calc(16px * var(--arabic-text-scale,1));border-bottom:1px solid #eef3f1;grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px 0;display:grid}.duty-shell .planned-stop-name{overflow-wrap:anywhere;min-width:0}.duty-shell .planned-stop-name small{color:var(--duty-muted);font-size:calc(12px * var(--arabic-text-scale,1));display:block}.duty-shell .planned-stop-times{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:end;gap:2px;font-weight:800;display:grid}.duty-shell :focus-visible{outline-offset:2px;outline:3px solid #72b8b0}@media (max-width:430px){.duty-summary-grid{grid-template-columns:1fr}}@media (min-width:1280px){.duty-shell{max-width:720px;margin-inline:auto}}
