:root{--bg:#f1eedf;--border:#c9bf99;--field:#fbfaf3;--muted:#68704f;--olive:#596440;--olive-dark:#26301f;--olive-soft:#e5e5cf;--surface:#fffdf4;--text:#4b4f39;--text-h:#1f2919;--sans:system-ui, "Segoe UI", Roboto, sans-serif;background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);font:16px/145% var(--sans);font-synthesis:none;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100svh}*{box-sizing:border-box}body{background:radial-gradient(circle at top right, #59644029, transparent 32rem), linear-gradient(135deg, #f6f2df, var(--bg));margin:0}button,input{letter-spacing:0}h1,h2,p{margin:0}h1,h2{color:var(--text-h);font-weight:800}h1{font-size:36px;line-height:1.1}h2{font-size:20px;line-height:1.2}.app-shell{max-width:760px;margin:0 auto;padding:24px}.app-shell:has(.admin-dashboard){max-width:1120px}.root-shell{place-items:center;min-height:100svh;display:grid}.home-panel{gap:22px;width:100%;max-width:560px;display:grid}.auth-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:18px;box-shadow:0 12px 32px #39462a1a}.home-title{text-align:center}.home-title p{color:var(--olive);margin-bottom:6px;font-size:15px;font-weight:800}.home-title h1{color:var(--olive-dark);font-size:42px}.topbar{text-align:right;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.topbar-actions{align-items:center;gap:10px;display:flex}.add-recipient-action{background:var(--olive-dark);border:1px solid var(--olive-dark);color:var(--surface);cursor:pointer;font:inherit;border-radius:8px;align-items:center;gap:8px;min-height:46px;padding:10px 16px;font-weight:900;display:inline-flex;box-shadow:0 8px 20px #26301f2e}.add-recipient-action:hover{filter:brightness(1.08);transform:translateY(-1px)}.eyebrow{color:var(--olive);letter-spacing:0;margin-bottom:4px;font-size:14px;font-weight:700}.area-tabs{grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;margin-bottom:14px;display:grid}.home-selector{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:0}.home-selector a{background:var(--field);border-color:var(--border);text-align:center;place-items:center;min-height:110px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 10px 30px #39462a24}.home-selector a:hover{background:var(--olive-soft);border-color:var(--olive);transform:translateY(-2px);box-shadow:0 14px 34px #39462a33}.home-selector span{color:var(--olive-dark);font-size:26px}.area-tabs a,.area-tabs button,.recipient-row,.primary-action,.secondary-action,.danger-action{border:1px solid var(--border);cursor:pointer;font:inherit;border-radius:8px}.area-tabs button{background:var(--surface);color:var(--text);text-align:right;min-height:88px;padding:14px}.area-tabs button.active{background:var(--olive-dark);border-color:var(--olive-dark);color:var(--surface)}.area-tabs span,.area-tabs small,.recipient-row strong,.school-line{display:block}.area-tabs span{color:var(--text-h);font-size:20px;font-weight:800}.area-tabs small,.muted,.service-line{color:var(--muted);font-size:14px}.area-tabs button.active small{color:#ffffffb8}.area-tabs button.active span{color:var(--surface)}.panel{background:var(--surface);border:1px solid var(--border);text-align:right;border-radius:8px;padding:14px;box-shadow:0 12px 32px #39462a1a}.admin-panel{max-width:520px;margin-inline:auto}.admin-dashboard{gap:14px;display:grid}.admin-hero{background:linear-gradient(135deg, #26301ff5, #596440e6), var(--olive-dark);color:var(--surface);border:1px solid #fffdf42e;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex;box-shadow:0 16px 36px #26301f38}.admin-hero p{color:#fffdf4b8;font-weight:800}.admin-hero h2{color:var(--surface);margin-top:4px;font-size:34px}.admin-progress{text-align:center;background:#fffdf41a;border:1px solid #fffdf433;border-radius:8px;min-width:150px;padding:14px}.admin-progress span{font-size:34px;font-weight:900;line-height:1;display:block}.admin-metrics,.admin-grid{gap:14px;display:grid}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-metrics div{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:8px;padding:16px;box-shadow:0 10px 24px #39462a14}.admin-metrics span{color:var(--olive-dark);font-size:30px;font-weight:900;line-height:1;display:block}.admin-metrics p{color:var(--muted);margin-top:6px;font-weight:800}.admin-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.area-summary-list,.school-summary-list{gap:8px;display:grid}.school-board-actions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.school-board-actions .primary-action,.school-board-actions .secondary-action,.school-board-actions .danger-action{min-height:42px}.school-assignment-board{grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px;display:grid}.school-drop-zone{border:1px solid var(--border);background:#e5e5cf6b;border-radius:8px;gap:10px;min-height:220px;padding:10px;display:grid}.school-drop-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.school-drop-heading strong{color:var(--olive-dark);font-size:17px;font-weight:900}.school-drop-heading span{color:var(--muted);font-size:13px;font-weight:900}.school-chip-list{align-content:start;gap:8px;display:grid}.school-chip{background:var(--field);border:1px solid var(--border);color:var(--text-h);cursor:grab;font:inherit;text-align:right;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:8px 10px;display:flex}.school-chip:active{cursor:grabbing}.school-chip.pending{background:var(--olive-soft);border-color:var(--olive)}.school-chip span{font-size:14px;font-weight:900}.school-chip strong{background:var(--surface);color:var(--olive-dark);text-align:center;border-radius:999px;min-width:34px;padding:2px 8px}.empty-school-zone{color:var(--muted);text-align:center;padding:14px 4px;font-size:14px;font-weight:800}.area-summary,.school-summary{background:var(--field);border:1px solid var(--border);border-radius:8px;padding:12px}.area-summary{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.area-summary strong,.school-summary span{color:var(--text-h);font-weight:900;display:block}.area-summary span{color:var(--muted);font-size:14px;font-weight:800;display:block}.area-summary-counts{text-align:left;justify-items:start;gap:3px;min-width:112px;display:grid}.area-summary-counts strong{color:var(--olive-dark);font-size:24px;font-weight:900}.school-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.school-summary strong{background:var(--olive-soft);color:var(--olive-dark);text-align:center;border-radius:999px;min-width:42px;padding:3px 10px}.school-summary-scroll{max-height:380px;padding-inline-end:4px;overflow-y:auto}.school-summary span small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.sheet-wrap{overflow-x:auto}.records-sheet{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:820px}.records-sheet th,.records-sheet td{border-bottom:1px solid var(--border);border-inline-start:1px solid var(--border);text-align:right;vertical-align:middle;padding:0}.records-sheet th{background:var(--olive-soft);color:var(--text-h);z-index:1;height:42px;padding:8px 10px;font-size:13px;font-weight:900;position:sticky;top:0}.records-sheet th:first-child,.records-sheet td:first-child{border-inline-start:0}.records-sheet tbody tr{background:var(--field)}.records-sheet tbody tr:hover{background:#f6f4e8}.sheet-input,.sheet-select{color:var(--text-h);font:inherit;background:0 0;border:0;border-radius:0;width:100%;height:46px;min-height:46px;padding:8px 10px}.sheet-select{cursor:pointer}.sheet-input:focus,.sheet-select:focus{background:var(--surface);outline-offset:-3px;outline:3px solid #59644033}.sheet-check{color:var(--text-h);justify-content:center;align-items:center;gap:8px;height:46px;padding:8px 10px;font-size:14px;font-weight:900;display:flex}.sheet-check input{width:18px;height:18px}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel-heading span{background:var(--olive-soft);border:1px solid var(--border);color:var(--text-h);text-align:center;border-radius:999px;min-width:28px;padding:2px 8px;font-size:14px;font-weight:800}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.stats-row div{background:linear-gradient(180deg, var(--field), var(--olive-soft));border:1px solid var(--border);text-align:center;border-radius:8px;padding:12px}.stats-row span{color:var(--olive-dark);margin-bottom:4px;font-size:24px;font-weight:900;line-height:1;display:block}.stats-row p{color:var(--muted);font-size:14px;font-weight:800}.recipient-list{gap:8px;display:grid}.search-field{margin-bottom:12px}.csv-actions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.secondary-action,.danger-action{min-height:44px;padding:10px 14px;font-weight:900}.secondary-action{background:var(--olive-soft);color:var(--text-h)}.danger-action{color:var(--surface);background:#79352f;border-color:#79352f}.secondary-action:disabled,.danger-action:disabled{cursor:not-allowed;opacity:.56}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.search-field span{color:var(--muted);font-size:13px}.recipient-row{background:var(--field);color:var(--text);text-align:right;direction:ltr;grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:12px;width:100%;min-height:72px;padding:14px;display:grid}.recipient-row:hover{border-color:var(--olive)}.recipient-row strong{color:var(--text-h);font-size:18px}.recipient-row>span{direction:rtl}.recipient-row>span:first-child{grid-column:3}.recipient-row .status{grid-column:1;justify-self:start;margin-top:0}.recipient-row .service-line{grid-column:2;align-self:start;padding-top:3px}.school-line{color:var(--text);font-size:17px;font-weight:400}.service-line{margin-top:4px;font-weight:800;display:block}.status{color:#6e560f;text-align:center;background:#efe4bf;border:1px solid #d5bd72;border-radius:999px;flex:none;min-width:72px;padding:8px 10px;font-size:14px;font-weight:800}.status.done{background:var(--olive-dark);border-color:var(--olive-dark);color:#fffdf4}form{gap:16px;display:grid}label{color:var(--text-h);gap:6px;font-size:14px;font-weight:800;display:grid}input[type=text],input[type=password],input[type=search],select{background:var(--field);border:1px solid var(--border);color:var(--text-h);font:inherit;border-radius:8px;min-height:48px;padding:10px 12px}input[type=search]{appearance:none}input:focus,select:focus{border-color:var(--olive);outline:3px solid #5964402e}.checkbox-row{align-items:center;gap:10px;display:flex}.checkbox-row input{width:18px;height:18px}.primary-action{background:var(--olive-dark);color:var(--surface);min-height:52px;padding:12px 14px;font-weight:800}.form-message{color:var(--muted);font-size:14px}.admin-message{background:var(--olive-soft);border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-weight:800}.modal-backdrop{z-index:20;background:#1a201594;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.add-recipient-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:520px;max-height:calc(100svh - 36px);padding:22px;overflow-y:auto;box-shadow:0 24px 70px #1a201557}.modal-heading{justify-content:space-between;align-items:start;margin-bottom:18px;display:flex}.modal-heading h2{color:var(--olive-dark);font-size:28px}.modal-close{background:var(--field);border:1px solid var(--border);color:var(--text-h);cursor:pointer;font:inherit;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;font-size:26px;line-height:1;display:flex}.pagination{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.pagination button{background:var(--olive-soft);border:1px solid var(--border);color:var(--text-h);cursor:pointer;font:inherit;border-radius:8px;min-height:42px;padding:8px 16px;font-weight:900}.pagination button:disabled{cursor:not-allowed;opacity:.45}.pagination span{color:var(--muted);font-size:14px;font-weight:800}.show-more{background:var(--olive-soft);border:1px solid var(--border);color:var(--text-h);cursor:pointer;font:inherit;border-radius:8px;width:100%;min-height:48px;margin-top:12px;font-weight:800}.show-more:hover,.primary-action:hover{border-color:var(--olive-dark);filter:brightness(.98)}.empty-state{color:var(--muted);text-align:center;padding:28px 8px}@media (width<=820px){.app-shell{padding:18px 14px}.admin-hero,.area-summary{display:grid}.admin-progress{min-width:0}.admin-metrics,.admin-grid,.school-assignment-board{grid-template-columns:1fr}.area-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.home-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.home-selector a{min-height:88px}.home-title h1{font-size:36px}.recipient-row{gap:12px}}@media (width<=460px){.app-shell{padding:16px 10px}.area-tabs{gap:6px}.area-tabs button{min-height:78px;padding:10px 8px}.area-tabs span{font-size:18px}.area-tabs small{font-size:12px}.panel{padding:10px}.admin-hero{padding:16px}.topbar{align-items:stretch;display:grid}.topbar-actions{justify-content:space-between}.add-recipient-action{flex:1;justify-content:center}.admin-hero h2,.admin-progress span{font-size:28px}.admin-metrics div{padding:14px}.recipient-row{min-height:76px;padding:12px}.recipient-row strong{font-size:17px}.school-line{font-size:16px}}
