:root{--bg: #f4ecdb;--surface: rgba(255, 252, 245, .94);--surface-strong: #fffdf8;--line: #d6ccb8;--line-strong: #c8baa1;--brand: #2d8f43;--brand-dark: #206533;--brand-soft: #deefd8;--ink: #1f1c17;--muted: #6c655a;--danger: #9d3f34;--success: #2d6c3b;--info: #315d9c;--shadow: 0 18px 38px rgba(72, 52, 24, .08)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{min-height:100%}body{margin:0;font-family:Segoe UI,Tahoma,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(255,255,255,.8),transparent 34%),linear-gradient(180deg,#f6efe0,#efe4cf 46%,#e7dbc4)}button,input,select,textarea{font:inherit}label{display:grid;gap:6px}button{border:none;border-radius:12px;padding:12px 16px;background:var(--brand);color:#fff;font-weight:600;cursor:pointer;transition:transform .12s ease,background .12s ease}button:hover{background:var(--brand-dark);transform:translateY(-1px)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}.compact-btn{border-radius:8px;padding:7px 10px;font-size:.82rem;line-height:1;white-space:nowrap}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;color:var(--ink);caret-color:var(--ink)}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='32' viewBox='0 0 16 32'%3E%3Cpath d='M5 2h6v2H9v24h2v2H5v-2h2V4H5z' fill='%231f1d1a'/%3E%3C/svg%3E") 8 16,text}select,input[type=checkbox],input[type=radio],input[type=file]{cursor:pointer}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}input:hover,select:hover,textarea:hover,input:focus,select:focus,textarea:focus{color:var(--ink);background:#fff}input::placeholder,textarea::placeholder{color:#7f776c;opacity:1}input:hover::placeholder,textarea:hover::placeholder,input:focus::placeholder,textarea:focus::placeholder{color:#7f776c;opacity:1}select[multiple]{min-height:128px}code{padding:1px 6px;border-radius:8px;background:#f2ebde}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:36px 24px 30px;background:linear-gradient(135deg,#145523f2,#308e41fa 58%,#66ae5aeb);color:#fff}.hero h1{margin:0;font-size:clamp(2rem,3.4vw,3.2rem);line-height:1}.hero p{max-width:740px;margin:10px 0 0;color:#ffffffdb}.hero-kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:#ffffffad}.status-pill{padding:12px 16px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:#ffffff24;font-weight:700;white-space:nowrap}.layout{max-width:1240px;margin:0 auto;padding:24px 16px 40px;display:grid;gap:18px}.top-grid,.content-grid,.summary-grid{display:grid;gap:18px}.top-grid,.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.single-column-grid{grid-template-columns:minmax(0,1fr)}.card,.summary-card{background:var(--surface);border:1px solid rgba(214,204,184,.9);border-radius:18px;padding:20px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.wide-card{grid-column:1 / -1}.form-help{margin-top:-6px}.summary-card strong{display:block;margin:10px 0 8px;font-size:2rem}.summary-card p,.muted,.hint,.empty-state{color:var(--muted)}.eyebrow,.label{display:block;margin-bottom:6px;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:var(--muted)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.card h2{margin:0 0 6px}.profile-card{min-height:100%}.workspace-shell-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}.workspace-shell-meta{display:grid;gap:4px}.workspace-shell-meta h2,.workspace-shell-meta .muted{margin:0}.workspace-shell-actions{display:flex;align-items:center;gap:12px}.preferences-grid{margin-top:18px}.preferences-card{max-width:920px}.preferences-form{max-width:760px}.preferences-summary{display:flex;flex-wrap:wrap;gap:10px}.ghost-btn{background:transparent;color:var(--brand-dark);border:1px solid var(--line-strong)}.ghost-btn:hover{background:#f4efe5}.button-link{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:12px 16px;background:var(--brand);color:#fff;font-weight:600;text-decoration:none;transition:transform .12s ease,background .12s ease}.button-link:hover{background:var(--brand-dark);transform:translateY(-1px)}.danger-btn{background:var(--danger)}.danger-btn:hover{background:#7f3028}.workspace-nav{display:flex;flex-wrap:wrap;gap:10px}.workspace-nav button{background:#fffcf5d6;color:var(--ink);border:1px solid var(--line)}.workspace-nav button:hover,.workspace-nav .nav-active{background:var(--brand);color:#fff;border-color:transparent}.stack-form{display:grid;gap:14px}.two-up,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{display:grid;gap:14px}.detail-grid>div{min-width:0}.detail-grid strong{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.full{grid-column:1 / -1}.checkbox-row{display:flex;align-items:center;gap:10px}.checkbox-row input{width:auto}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:700;white-space:nowrap}.status-pill-safe{background:#e7f5e7;color:#2f6d35}.status-pill-warning{background:#fff0eb;color:#8a342d;border:1px solid #d8a49d}.warning-card{border-color:#d8a49d;box-shadow:0 18px 50px #8a342d14}.warning-copy{color:#8a342d;font-weight:700}.toolbar-row{display:grid;grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) minmax(150px,1fr) minmax(170px,1fr) minmax(170px,1fr) auto;gap:1rem;align-items:end;margin-bottom:1rem}.toolbar-field{display:flex;flex-direction:column;gap:.4rem}.toolbar-actions{display:flex;gap:.75rem;align-items:end;justify-content:flex-end;flex-wrap:wrap}.toolbar-actions button{min-width:120px}.logs-toolbar-row{grid-template-columns:minmax(320px,1.35fr) repeat(auto-fit,minmax(155px,1fr));align-items:end}.logs-toolbar-row .toolbar-actions{flex-wrap:wrap;align-items:end}.logs-search-actions{display:flex;flex-direction:column;gap:.75rem}.logs-search-actions .toolbar-actions{justify-content:flex-start}.logs-toolbar-row .toolbar-actions button{min-width:0;white-space:nowrap}@media(min-width:1180px){.logs-search-actions{grid-column:span 2}}@media(max-width:760px){.logs-toolbar-row{grid-template-columns:1fr}}.logs-advanced-filters{margin-top:14px;border:1px solid var(--line);border-radius:10px;background:#fffdf8b8}.logs-advanced-filters summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;color:var(--brand-dark);font-weight:800;cursor:pointer;list-style:none}.logs-advanced-filters summary::-webkit-details-marker{display:none}.logs-advanced-filters summary:after{content:"+";font-size:1.1rem;line-height:1}.logs-advanced-filters[open] summary:after{content:"-"}.logs-advanced-filters summary strong{margin-left:auto;padding:.28rem .65rem;border-radius:999px;background:#2f964a1f;color:var(--green-dark);font-size:.82rem}.logs-advanced-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:0 14px 14px}.log-retention-card{margin-bottom:16px}.policy-disclosure{margin-bottom:10px;border:1px solid var(--line);border-radius:10px;background:#fffdf8c7;box-shadow:none}.policy-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 14px;color:var(--ink);font-weight:800;cursor:pointer;list-style:none}.policy-disclosure summary::-webkit-details-marker{display:none}.policy-disclosure summary:after{content:"+";flex:0 0 auto;color:var(--brand-dark);font-size:1.15rem;line-height:1}.policy-disclosure[open] summary:after{content:"-"}.policy-disclosure summary strong{margin-left:auto;color:var(--muted);font-size:.95rem;font-weight:700;text-align:right}.compact-policy-form,.compact-policy-note{margin:0;padding:0 14px 14px}@media(max-width:760px){.policy-disclosure summary{align-items:flex-start;flex-direction:column}.policy-disclosure summary strong{margin-left:0;text-align:left}}.retention-toolbar{grid-template-columns:minmax(240px,320px) minmax(260px,1fr);align-items:end}.retention-summary{display:grid;gap:4px;min-width:240px}.retention-summary span,.retention-summary small,.retention-note{color:var(--muted)}.retention-summary strong{font-size:1.05rem}.retention-actions{grid-column:1 / -1;justify-content:flex-start;align-items:center}.retention-actions button{min-width:0;white-space:nowrap}.log-status-cell{display:flex;flex-direction:column;gap:.35rem}@media(max-width:980px){.toolbar-row{grid-template-columns:1fr}.toolbar-actions{justify-content:flex-start}.toolbar-actions button{min-width:0}}.action-row{display:flex;justify-content:flex-end;gap:12px}.inline-actions{display:flex;flex-wrap:wrap;gap:8px}.student-edit-row td,.campus-edit-row td{background:#f8fcf6f5}.inline-student-edit-form,.inline-campus-edit-form{display:grid;gap:14px}.inline-student-grid,.inline-campus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pickup-person-row-active{background:#f8fcf6f5}.pickup-person-drawer-shell{position:fixed;inset:0;z-index:90;pointer-events:none}.pickup-person-drawer-backdrop{position:absolute;inset:0;border:0;background:#2a231642;cursor:pointer;pointer-events:auto}.pickup-person-drawer{position:absolute;top:0;right:0;width:min(560px,100vw);height:100%;display:grid;grid-template-rows:auto 1fr;background:var(--surface);border-left:1px solid rgba(214,204,184,.9);box-shadow:-18px 0 36px #352b1b2e;pointer-events:auto;overflow:hidden}.pickup-person-drawer-head{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:22px 22px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fffcf6fa,#f9f5ebf0)}.pickup-person-drawer-head h2{margin:0 0 6px}.pickup-person-drawer-head p{margin:0}.pickup-person-drawer-content{min-height:0;overflow:auto}.pickup-person-drawer-form{display:block}.pickup-person-drawer-body{overflow:visible;padding:20px 22px 18px}.pickup-person-drawer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start}.pickup-person-drawer-grid .vendor-photo-field{margin-top:4px}.pickup-person-drawer-grid .vendor-photo-preview{width:min(220px,100%);min-height:264px}.pickup-person-drawer-grid .vendor-photo-crop-stage{min-height:260px}.pickup-person-drawer-actions{position:sticky;bottom:0;z-index:2;display:flex;gap:12px;padding:16px 22px 22px;border-top:1px solid var(--line);background:linear-gradient(180deg,#fffcf6e0,#fffcf6)}.inline-permission-editor{display:grid;gap:12px;padding-top:4px}.inline-permission-editor h3{margin:0;font-size:1rem}.password-reset-panel{display:grid;gap:8px;align-content:start}.password-reset-panel span{font-weight:800}.password-reset-panel small{color:var(--muted);line-height:1.4}.other-relationship-hidden{display:none}.import-note{color:var(--muted);line-height:1.6}.import-result{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#ffffffb8}.import-result p{margin:8px 0 0}.import-errors{margin-top:10px;max-height:180px;overflow:auto}.review-list{margin-top:12px;padding:14px;border:1px solid #dcbf82;border-radius:14px;background:#fff8e8}.review-list strong,.import-errors strong{display:block;margin-bottom:8px}.roster-search{display:grid;gap:10px;margin-bottom:14px;grid-template-columns:minmax(0,1fr) auto;align-items:end}.roster-search p{margin:0;grid-column:1 / -1}.search-field{min-width:0}.search-actions{display:flex;align-items:flex-end}.student-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.student-suggestion-list{display:grid;gap:10px;margin-bottom:14px}.student-suggestion{display:grid;justify-items:start;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#ffffffb8;color:var(--ink)}.student-suggestion span{color:var(--muted);font-size:.92rem}.feature-list{margin:0;padding-left:18px;line-height:1.7}.dashboard-grid{align-items:stretch}.dashboard-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.operational-grid .card:first-child{background:linear-gradient(180deg,#ffffffeb,#f8fcf6eb)}.action-bar{display:flex;flex-wrap:wrap;gap:12px}.action-bar button:first-child{background:#2f7c3a}.action-bar button:nth-child(2){background:#316e8c}.action-bar button:nth-child(3){background:#8c5531}.self-service-mode-toggle{margin-bottom:16px}.self-service-lookup-toggle{margin-top:4px}.self-service-action-bar{gap:16px;margin-top:8px}.self-service-action-bar button{min-width:190px}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.module-tile{padding:16px;border:1px solid var(--line);border-radius:14px;background:#ffffffb8}.module-tile strong{display:block;margin-bottom:8px;font-size:1.05rem}.module-tile p,.preview-row p{margin:0;color:var(--muted)}.preview-list{display:grid;gap:12px}.preview-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:14px;background:#ffffffb3}.preview-row strong{display:block;margin-bottom:4px}.response-homeroom-card{grid-template-columns:1fr}.response-roster-list{display:grid;gap:8px;margin-top:8px}.response-roster-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,220px) auto;gap:10px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:10px;background:#ffffffc7}.response-roster-row span{display:block;color:var(--muted);font-size:.9rem}.response-roster-row label span{font-size:.78rem}.response-assignment-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.response-assignment-list{display:grid;gap:8px;max-height:360px;overflow:auto;padding-right:4px}.response-assignment-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;background:#ffffffc7}.response-assignment-row input{width:auto}.response-assignment-row small{display:block;color:var(--muted);margin-top:2px}.response-teacher-roster{display:grid;gap:10px}.response-teacher-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(130px,180px) minmax(140px,1fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;background:#ffffffc7}.response-teacher-row span{display:block;color:var(--muted);font-size:.9rem}.response-progress-row{grid-template-columns:minmax(0,1fr) minmax(220px,320px) auto}.response-progress-row input{min-width:0}.dashboard-response-command-card{margin-bottom:18px}.dashboard-response-command-row{grid-template-columns:minmax(0,1fr)}.response-progress-attention{border-color:#d09a2d;background:#fff8e8}.response-progress-overdue{border-color:#b94343;background:#fff0ee}.response-message-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.response-message-row p{margin:0}.response-history-row{grid-template-columns:minmax(0,1fr) auto}.response-retention-form{margin:12px 0 16px}.response-history-row.is-archived{background:#eff2f5b3}.response-history-archive-label{margin-left:8px;vertical-align:middle}.response-history-older{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.response-history-older summary{cursor:pointer;color:var(--green-dark);font-weight:800}.response-history-older .preview-list{margin-top:10px}.response-report{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.response-report-group small{display:block;margin-top:6px;color:var(--muted);line-height:1.45}@media(max-width:760px){.response-roster-row{grid-template-columns:1fr;align-items:stretch}.response-teacher-row,.response-progress-row,.response-message-row,.response-history-row{grid-template-columns:1fr}}.release-student-summary{margin-top:18px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#ffffffb8}.release-student-summary p{margin:6px 0 0;color:var(--muted)}.release-summary-pills{margin-top:12px}.status-chip.warning{background:#fff0eb;color:#8a342d}.status-chip.danger{background:#ffe1dc;color:#84281f}.vendor-denied-row{border-color:#b8392f;background:#fff4f1;box-shadow:inset 5px 0 #b8392f}.vendor-denied-row strong{color:#84281f}.vendor-denied-alert{margin:10px 0;padding:12px 14px;border:2px solid #b8392f;border-radius:12px;background:#ffe7e2;color:#84281f}.vendor-denied-alert strong{display:block;margin-bottom:4px;letter-spacing:.04em;text-transform:uppercase}.vendor-denied-alert p{color:#84281f}.compact-action-row{justify-content:flex-start}.vendor-check-in-summary{display:grid;gap:10px}.vendor-check-in-summary[hidden]{display:none}.vendor-check-in-actions{align-items:center}.vendor-check-in-actions button[hidden]{display:none}.relationship-note-alert{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--line)}.relationship-note-alert strong{display:block;margin-bottom:4px}.relationship-note-alert p{margin:0}.relationship-note-alert-info{background:#eef5ff;border-color:#bfd0ea}.relationship-note-alert-warning{background:#fff0eb;border-color:#d8a49d}.override-release-form{margin-top:12px;padding:14px;border:1px solid #d8a49d;border-radius:14px;background:#fff6f2}.live-row,.current-row{align-items:stretch}.live-row{grid-template-columns:110px minmax(0,1fr);gap:18px;padding:18px;background:linear-gradient(180deg,#ffffffe6,#fbf8f2eb);align-items:start}.live-feed-status{min-width:0;width:100%;min-height:0;padding:10px 12px;border-radius:16px;text-align:center;line-height:1.25;font-size:.82rem;border:1px solid #e1d0a1;background:linear-gradient(180deg,#f5ebc4,#efe1aa);color:#7a5a16;box-shadow:inset 0 1px #ffffff8c,0 8px 18px #7a5a1614;align-self:start}.live-feed-body{display:grid;gap:8px;align-content:start}.live-feed-title{margin-bottom:0;font-size:.98rem;line-height:1.35}.live-feed-detail{font-size:.98rem}.live-feed-note,.live-feed-meta{font-size:.92rem}.live-feed-actions{margin-top:4px}.live-feed-actions button{min-width:154px}.live-feed-check-in-form{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:6px}.provider-note-radio-group{display:inline-flex;align-items:center;gap:10px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#ffffffb8}.provider-note-radio-group legend{float:left;margin-right:2px;color:var(--muted);font-size:.82rem}.provider-note-radio-group label{display:inline-flex;align-items:center;gap:5px;font-size:.9rem;font-weight:700}.provider-note-radio-group input{width:auto;margin:0}.permission-summary{padding:16px;border:1px solid var(--line);border-radius:16px;background:#f4efe5b8}.permission-summary strong,.permission-summary span{display:block}.permission-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.inline-permission-groups{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.permission-group{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#ffffffb8}.permission-group legend{padding:0 6px;font-weight:800}.permission-check{display:flex;align-items:flex-start;gap:10px;line-height:1.3}.permission-check input{width:auto;margin-top:3px}.permission-check small{display:block;color:var(--muted);font-size:.78rem;font-weight:700}.template-list{display:grid;gap:12px;margin-top:18px}.template-row{display:flex;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#ffffffad}.entry-time{margin-top:8px;font-size:.84rem;color:var(--muted)}.preview-status{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:8px 10px;border-radius:999px;background:#efe5c7;color:#745718;font-size:.82rem;font-weight:700}.table-shell{overflow:auto;border:1px solid var(--line);border-radius:14px}.student-roster-shell table{min-width:980px}.user-roster-table{min-width:1120px}.user-roster-table .user-col-name{width:270px}.user-roster-table .user-col-username{width:32%}.user-roster-table .user-col-type{width:14%}.user-roster-table .user-col-home,.user-roster-table .user-col-allowed,.user-roster-table .user-col-status{width:12%}.pickup-log-shell table{min-width:1500px}.log-row.log-type-student{background:#f7fbff}.log-row.log-type-visitor{background:#fff9ed}.log-row.log-type-vendor{background:#fff4f1}.log-row.log-type-staff{background:#f3fbf1}.log-type-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:700;white-space:nowrap}.log-type-chip.log-type-student{background:#dbeafe;color:#1d4f8f}.log-type-chip.log-type-visitor{background:#ffe8bd;color:#7a4a00}.log-type-chip.log-type-vendor{background:#ffd7cf;color:#84281f}.log-type-chip.log-type-staff{background:#dff1d7;color:#276735}.pickup-log-table th,.pickup-log-table td{vertical-align:top}.pickup-log-table th:nth-child(1),.pickup-log-table td:nth-child(1){min-width:165px}.pickup-log-table th:nth-child(2),.pickup-log-table td:nth-child(2){min-width:145px}.pickup-log-table th:nth-child(3),.pickup-log-table td:nth-child(3){min-width:230px}.pickup-log-table th:nth-child(4),.pickup-log-table td:nth-child(4){min-width:170px}.pickup-log-table th:nth-child(5),.pickup-log-table td:nth-child(5){min-width:175px}.pickup-log-table th:nth-child(6),.pickup-log-table td:nth-child(6){min-width:175px}.pickup-log-table th:nth-child(7),.pickup-log-table td:nth-child(7){min-width:280px}.student-roster-table .student-col-name{width:22%}.student-roster-table .student-col-dob,.student-roster-table .student-col-id{width:12%}.student-roster-table .student-col-grade{width:8%}.student-roster-table .student-col-campus{width:20%}.student-roster-table .student-col-status{width:10%}.student-roster-table .student-col-actions{width:16%}.relationship-roster-table .relationship-col-student,.relationship-roster-table .relationship-col-pickup{width:20%}.relationship-roster-table .relationship-col-type{width:14%}.relationship-roster-table .relationship-col-authorized{width:10%}.relationship-roster-table .relationship-col-notes{width:20%}.relationship-roster-table .relationship-col-status,.relationship-roster-table .relationship-col-actions{width:8%}table{width:100%;border-collapse:collapse;min-width:640px;background:var(--surface-strong)}th,td{padding:13px 14px;text-align:left;border-bottom:1px solid #ede3d2;vertical-align:top}thead th{background:#f6efdf;font-size:.88rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}tbody tr:nth-child(2n){background:#f9f5ece6}.nowrap-cell{white-space:nowrap}.user-name-cell{display:grid;gap:8px}.user-name-cell strong{font-weight:700}.user-row-actions{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}.pill-row{display:flex;flex-wrap:wrap;gap:10px}.status-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-weight:600}.status-chip.success{background:var(--brand-soft);color:var(--success)}.status-chip.neutral{background:#f1ebdd;color:var(--muted)}.toast{position:fixed;right:16px;bottom:16px;min-width:260px;max-width:360px;padding:14px 16px;border-radius:14px;color:#fff;box-shadow:0 10px 24px #0000003d}.toast.info{background:var(--info)}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}@media(max-width:1080px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.top-grid,.content-grid,.two-up,.detail-grid,.student-filter-row,.inline-student-grid,.inline-campus-grid,.pickup-person-drawer-grid{grid-template-columns:1fr}.pickup-person-drawer{width:100vw}.pickup-person-drawer-head,.pickup-person-drawer-body,.pickup-person-drawer-actions{padding-left:16px;padding-right:16px}.hero{align-items:flex-start}.top-grid,.content-grid{display:grid}}@media(max-width:640px){.workspace-shell-bar{flex-direction:column;align-items:flex-start}.workspace-shell-actions,.workspace-shell-actions .ghost-btn{width:100%}.summary-grid,.module-grid,.live-row{grid-template-columns:1fr}.live-feed-status{width:fit-content;min-width:140px}.layout{padding-inline:12px}}.campus-logo-field{display:grid;gap:10px}.campus-logo-field input[type=file]{padding:10px}.campus-logo-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.campus-logo-preview{min-height:100px;border:1px dashed var(--line);border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;padding:12px}.campus-logo-preview img{max-width:100%;max-height:88px;object-fit:contain}.campus-logo-preview-empty{color:var(--muted)}.vendor-photo-field{display:grid;gap:10px}.vendor-photo-field input[type=file]{padding:10px}.vendor-photo-actions{display:flex;flex-wrap:wrap;gap:10px}.vendor-photo-camera,.vendor-photo-preview,.vendor-photo-crop-stage{min-height:180px;border:1px dashed var(--line);border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.vendor-photo-preview{width:min(250px,100%);aspect-ratio:5 / 6;min-height:300px;margin:0 auto}.vendor-photo-camera video,.vendor-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}.vendor-photo-crop-panel{display:grid;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fffcf6eb}.vendor-photo-field.vendor-photo-field-cropping .vendor-photo-preview{display:none}.vendor-photo-crop-stage{position:relative;min-height:320px;background:#111}.vendor-photo-crop-stage img{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.vendor-photo-crop-box{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px #00000073;cursor:move}.vendor-photo-crop-handle{position:absolute;right:-8px;bottom:-8px;width:16px;height:16px;border-radius:999px;background:#fff;border:1px solid rgba(0,0,0,.2);cursor:nwse-resize}.vendor-photo-preview-empty{color:var(--muted);padding:12px;text-align:center}.pill-badge{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .9rem;border-radius:999px;border:1px solid rgba(170,142,95,.35);background:#f5eedfe6;color:#6f5b3c;font-size:.92rem;font-weight:700}.mini-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0 1.35rem}.mini-card{padding:1rem 1.1rem;border:1px solid rgba(170,142,95,.24);border-radius:8px;background:#fffcf6f5}.mini-card h4{margin:0 0 .55rem;font-size:1rem}.mini-card p{margin:.35rem 0}.dashboard-lookup-suggestions{display:grid;gap:8px}.dashboard-lookup-suggestions[hidden]{display:none}.dashboard-lookup-suggestion{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#ffffffdb;text-align:left;display:grid;gap:4px;cursor:pointer}.dashboard-lookup-suggestion strong{margin:0}.dashboard-lookup-suggestion span{color:var(--muted);font-size:.95rem}.dashboard-lookup-suggestion:hover,.dashboard-lookup-suggestion:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px #2f964a24;outline:none}.dashboard-lookup-summary{grid-template-columns:72px 1fr;align-items:center}.dashboard-lookup-photo{width:72px;height:88px;border-radius:12px;border:1px solid var(--line);object-fit:cover;background:#fff}.dashboard-lookup-photo-fallback{display:flex;align-items:center;justify-content:center;font-size:1.35rem;font-weight:700;color:var(--brand);background:#2f964a1a}.dashboard-lookup-summary .status-pill{margin-bottom:8px}.dashboard-workflow-selector-shell{margin-top:18px}.dashboard-workflow-selector-card{display:grid;gap:18px}.dashboard-workflow-head{align-items:center}.dashboard-quick-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.dashboard-workflow-switcher{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.dashboard-workflow-switcher button{min-height:86px;padding:16px 18px;border-radius:18px;border:1px solid var(--line-strong);background:#ffffffc7;color:var(--brand-dark);font-size:1rem;font-weight:700;text-align:center}.dashboard-workflow-switcher button.active{background:linear-gradient(180deg,#2f7c3a,#2f964a);color:#fff;border-color:#2f7c3a;box-shadow:0 16px 30px #2f7c3a38}.dashboard-workflow-stage,.dashboard-workflow-panel{margin-top:18px}.dashboard-grid>.card,.dashboard-workflow-panel>.card{min-height:560px}.dashboard-bottom-feed>.card{min-height:0}.dashboard-workflow-panel .card[hidden],.dashboard-bottom-feed .card[hidden]{display:none}.dashboard-bottom-feed{margin-top:18px}@media(max-width:980px){.dashboard-workflow-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-workflow-head{align-items:flex-start}.dashboard-quick-stats{justify-content:flex-start}}@media(max-width:640px){.dashboard-workflow-switcher{grid-template-columns:1fr}}.destination-option-browser{display:grid;gap:18px;margin-top:22px}.destination-option-tabs{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.destination-option-tabs button{min-width:120px}.destination-option-tabs button:not(.active){background:var(--surface-strong);color:var(--brand-dark);border:1px solid var(--line-strong)}.destination-option-group{display:grid;gap:14px}.destination-options-list{display:grid;gap:12px}.destination-option-row{align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fffdf8c2}.destination-option-row .inline-actions{justify-content:flex-end}.destination-option-prompt{margin:0}.destination-option-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.destination-option-group-head h3{margin:0}.hero-user-meta{font-weight:600;color:#ffffffeb!important}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.hero-logout{background:#ffffff1f;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;white-space:nowrap}.hero-logout:hover{background:#fff3}.district-profile-card{display:grid;gap:22px}.district-profile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.district-profile-head h2{margin:4px 0 6px;font-size:2.2rem}.profile-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.profile-metric-grid>div{min-width:0;border:1px solid var(--line);border-radius:12px;padding:16px;background:#fffdf8b8}.profile-metric-grid strong{display:block;font-size:2rem;line-height:1.1}.profile-detail-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:4px}.profile-detail-strip>div{min-width:0}.profile-detail-strip strong{overflow-wrap:anywhere}@media(max-width:900px){.profile-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.district-profile-head,.profile-detail-strip{grid-template-columns:1fr}.district-profile-head{display:grid}.profile-metric-grid{grid-template-columns:1fr}}.overview-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.overview-panel{display:grid;gap:12px;border:1px solid var(--line);border-radius:12px;padding:16px;background:#fffdf89e}.overview-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.overview-panel-head h3{margin:0}.overview-stat-list,.setup-health-list{display:grid;gap:10px}.overview-stat-list>div,.setup-health-item{display:flex;justify-content:space-between;gap:12px;align-items:center;min-width:0}.overview-stat-list span,.setup-health-item span{color:var(--muted)}.overview-stat-list strong,.setup-health-item strong{text-align:right;overflow-wrap:anywhere}.setup-health-item.ready strong{color:var(--success)}.setup-health-item.needs-attention strong{color:var(--danger)}.setup-health-button{width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.setup-health-button:hover span span,.setup-health-button:focus-visible span span{color:var(--brand-dark);text-decoration:underline}.setup-health-item>span{display:grid;gap:2px}.setup-health-item small{color:var(--muted);font-size:.82rem;line-height:1.2}@media(max-width:900px){.overview-section-grid{grid-template-columns:1fr}}.relationship-filter-panel{grid-template-columns:minmax(220px,1.4fr) repeat(5,minmax(150px,1fr)) auto;gap:12px}.relationship-filter-panel .search-actions{align-self:end}@media(max-width:760px){.relationship-filter-panel{grid-template-columns:1fr}}.relationship-missing-panel{display:grid;gap:14px;margin-bottom:14px;padding:16px;border:1px solid color-mix(in srgb,var(--danger) 32%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--danger) 7%,#fffdf8)}.relationship-missing-panel-head,.relationship-missing-row{display:flex;justify-content:space-between;gap:14px;align-items:center}.relationship-missing-panel h3,.relationship-missing-panel p{margin:0}.relationship-missing-list{max-height:360px;overflow:auto}.relationship-missing-row{grid-template-columns:none}.relationship-missing-row p{margin-top:4px;color:var(--muted)}@media(max-width:760px){.relationship-missing-panel-head,.relationship-missing-row{align-items:stretch;flex-direction:column}}.relationship-lookup-panel{display:grid;gap:14px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffdf8b8}.relationship-lookup-controls{display:grid;grid-template-columns:minmax(220px,auto) minmax(260px,1fr) auto;gap:12px;align-items:end}.relationship-lookup-mode{margin:0}.relationship-lookup-field-shell{position:relative;display:grid;gap:6px}.relationship-lookup-suggestion-list{display:grid;gap:6px;max-height:260px;overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface-strong);box-shadow:var(--shadow-soft)}.relationship-lookup-suggestion{width:100%;justify-content:flex-start;min-height:42px;padding:10px 12px;border-radius:8px;text-align:left;color:var(--ink);background:#ffffffc7}.relationship-lookup-suggestion:hover,.relationship-lookup-suggestion:focus-visible{background:#2b8c3f1f;color:var(--green-dark)}.relationship-lookup-summary,.relationship-lookup-list{display:grid;gap:10px}.relationship-lookup-head h3{margin:0 0 4px}.relationship-lookup-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--surface-strong)}.relationship-lookup-actions{display:flex;justify-content:flex-end;align-items:flex-start}.relationship-lookup-row p{margin:4px 0 0;color:var(--muted)}.relationship-lookup-note{color:var(--danger)!important}.relationship-filter-panel{grid-template-columns:repeat(5,minmax(150px,1fr)) auto;align-items:end}.relationship-filter-clear{align-self:end;min-height:54px;white-space:nowrap}.relationship-filter-count{grid-column:1 / -1;margin:0}@media(max-width:1180px){.relationship-filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.relationship-lookup-controls,.relationship-filter-panel,.relationship-lookup-row{grid-template-columns:1fr}.relationship-lookup-actions{justify-content:flex-start}}.report-card-head{margin-bottom:12px}.report-standard-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.report-tile{min-height:132px;padding:14px 16px;text-align:left;display:grid;align-content:start;gap:4px}.report-tile .eyebrow{margin-bottom:2px;font-size:.68rem}.report-tile strong{margin-bottom:2px}.report-template-card{padding-bottom:20px}.report-template-form,.report-template-form .two-up{gap:12px}.report-template-form label{gap:5px}.report-template-form input,.report-template-form select{min-height:48px}.report-template-actions{margin-top:2px;justify-content:flex-start}.reports-page{display:grid;gap:16px}.reports-hero-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px}.reports-hero-card h2,.reports-catalog-card h2,.reports-saved-card h2,.reports-results-card h2{margin-top:0}.reports-hero-card p{margin:0}.reports-hero-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:280px}.reports-catalog-card{padding-bottom:20px}.reports-management-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:16px;align-items:start}.report-filter-details{border:1px solid var(--line);border-radius:10px;background:#fffdf8b8;overflow:hidden}.report-filter-details summary{padding:12px 14px;cursor:pointer;font-weight:800;color:var(--brand-dark);list-style:none}.report-filter-details summary::-webkit-details-marker{display:none}.report-filter-details summary:after{content:"+";float:right}.report-filter-details[open] summary:after{content:"-"}.report-template-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 14px 14px}.reports-saved-card{align-self:start}.saved-report-list{gap:10px}.saved-report-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.saved-report-row .inline-actions{grid-column:2;justify-content:flex-start;margin-top:4px}.reports-results-card{min-height:220px}@media(max-width:980px){.reports-hero-card,.reports-management-grid{display:grid;grid-template-columns:1fr}.reports-hero-stats{justify-content:flex-start;min-width:0}}@media(max-width:640px){.report-template-filter-grid{grid-template-columns:1fr}}.vendor-row{align-items:start}.vendor-row-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.vendor-row-head .button-link{white-space:nowrap}.vendor-screening-panel{display:grid;gap:12px;align-items:stretch;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffdf8b8}.vendor-screening-panel strong,.vendor-screening-panel p{margin:0}.vendor-screening-panel label{display:grid;gap:6px}.vendor-screening-panel textarea{min-height:50px;resize:vertical}.vendor-registry-guide{display:grid;gap:12px}.vendor-registry-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.vendor-registry-guide-head .button-link{white-space:nowrap}.vendor-registry-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vendor-registry-fields>div{display:grid;gap:6px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#ffffffb8}.vendor-registry-fields span{color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.vendor-registry-fields strong{overflow-wrap:anywhere}.nsopw-field-grid>div{align-content:start}.nsopw-full-name-field{grid-column:1 / -1}.registry-copy-btn{min-height:38px;padding:8px 10px}.vendor-screening-decision-grid{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(260px,1fr) auto;gap:12px;align-items:end}.vendor-screening-actions{margin:0;justify-content:flex-end}.vendor-screening-history,.vendor-screening-history-empty{margin-top:10px}.vendor-screening-history summary{color:var(--brand-dark);cursor:pointer;font-weight:800}.vendor-screening-history-list{display:grid;gap:8px;margin-top:8px}.vendor-screening-history-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:10px;background:#ffffffad}.vendor-screening-history-row p{margin:3px 0 0}@media(max-width:1120px){.vendor-registry-fields,.vendor-screening-decision-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vendor-screening-actions{justify-content:flex-start}}@media(max-width:760px){.vendor-row-head,.vendor-screening-panel,.vendor-screening-history-row{grid-template-columns:1fr;display:grid}.vendor-row-head .button-link{white-space:normal}}.vendor-address-fields{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffdf8a8}.section-mini-head{display:grid;gap:4px}.section-mini-head strong,.section-mini-head p{margin:0}.vendor-compact-row{display:grid;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#ffffffdb}.vendor-compact-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.vendor-compact-identity{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;min-width:0}.vendor-compact-identity strong,.vendor-compact-identity p{margin:0}.vendor-compact-identity strong{display:block;margin-bottom:2px}.vendor-compact-identity p{line-height:1.35}.vendor-compact-actions{margin:0;justify-content:flex-end;white-space:nowrap}.vendor-compact-details{border-top:1px solid var(--line);padding-top:8px}.vendor-compact-details summary{color:var(--brand-dark);cursor:pointer;font-weight:800}.vendor-compact-details[open] summary{margin-bottom:10px}.compact-alert,.compact-note{margin:0}.vendor-compact-row.vendor-denied-row{box-shadow:inset 5px 0 #b8392f}@media(max-width:760px){.vendor-compact-main,.vendor-compact-identity{grid-template-columns:1fr}.vendor-compact-actions{justify-content:flex-start;white-space:normal}}.kiosk-setup-panel{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fcf6e0}.kiosk-setup-panel legend{padding:0 6px;color:var(--brand-dark);font-weight:800}.kiosk-setup-panel p{margin:0}.kiosk-hero{padding-block:22px}.kiosk-hero h1{font-size:clamp(1.8rem,3vw,2.6rem)}.kiosk-layout{max-width:980px}.person-alert-row-critical{border-color:#b8392f!important;background:#fff4f1!important;box-shadow:inset 5px 0 #b8392f}.person-alert-row-warning{border-color:#b47a2b!important;background:#fff8ea!important;box-shadow:inset 5px 0 #c98524}.person-alert-row-info{border-color:#34708f!important;background:#f0f8fb!important;box-shadow:inset 5px 0 #34708f}tr.person-alert-row-critical,tr.person-alert-row-warning,tr.person-alert-row-info{box-shadow:none}tr.person-alert-row-critical td:first-child{border-left:5px solid #b8392f}tr.person-alert-row-warning td:first-child{border-left:5px solid #c98524}tr.person-alert-row-info td:first-child{border-left:5px solid #34708f}.person-alert-list{display:grid;gap:8px;margin:10px 0}.person-alert-list-compact{gap:6px;margin:6px 0 0}.person-alert{border:1px solid var(--line);border-radius:8px;padding:10px 12px}.person-alert-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.person-alert-card-actions{margin-top:10px}.person-alert-manager-list{gap:12px}.person-alert-inactive{opacity:.72}.person-alert-inactive strong{text-decoration:line-through}.person-alert p{margin:4px 0 0;color:inherit}.person-alert-critical{border-color:#b8392f;background:#ffe5df;color:#711d17}.person-alert-warning{border-color:#c98524;background:#fff1d8;color:#704514}.person-alert-info{border-color:#34708f;background:#e8f5f9;color:#22536a}.person-alert-badge{display:inline-flex;align-items:center;margin-left:8px;padding:4px 8px;border-radius:999px;font-size:.78rem;font-weight:700;vertical-align:middle}.person-alert-badge-critical{background:#b8392f;color:#fff}.person-alert-badge-warning{background:#fff1d8;color:#704514;border:1px solid #c98524}.person-alert-badge-info{background:#e8f5f9;color:#22536a;border:1px solid #34708f}.person-alert-manager{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#ffffffad}.person-alert-manager h3{margin:0 0 4px}.person-alert-form{margin-top:12px}.person-alert-actions{margin:8px 0}.pickup-person-drawer>.person-alert-manager{display:none}.pickup-person-drawer-content .person-alert-manager{margin:18px 22px 22px}.relationship-alert-critical{border-color:#b8392f;background:#ffe5df;color:#711d17}.relationship-alert-warning{border-color:#c98524;background:#fff1d8;color:#704514}.relationship-alert-info{border-color:#34708f;background:#e8f5f9;color:#22536a}.relationship-alert textarea{color:inherit}.person-alert-context-label{font-weight:700}.self-service-provider-note-question{display:grid;gap:12px;text-align:center}.self-service-provider-note-question h3{margin:4px 0 0;font-size:1.6rem}.provider-note-answer-bar{justify-content:center}.provider-note-answer-bar button{min-width:160px;min-height:64px;font-size:1.15rem}.provider-note-answer-bar button.provider-note-no-btn{background:#18324a;color:#fff;border:1px solid #18324a}.provider-note-answer-bar button.provider-note-no-btn:hover{background:#244966;color:#fff;border-color:#244966}
