*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:#182230;background:#f5f7fa}button,input,select{font:inherit}button{cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eef4ff,#f8fafc)}.login-card{width:min(430px,100%);padding:38px;border-radius:20px;background:#fff;box-shadow:0 24px 70px #1018281f}.brand-mark{width:96px;height:auto}.official-logo{display:block;object-fit:contain}.login-card h1{margin:20px 0 3px;color:#175cd3}.login-card h2{margin:0}.login-description{color:#667085;margin-bottom:26px}.login-card label,.admin-form label{display:block;margin:15px 0 7px;font-weight:600}.input-icon{display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #d0d5dd;border-radius:10px}.input-icon input,.input-icon select{width:100%;padding:12px 0;border:0;outline:0;background:transparent}.password-hold-button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;color:#475467;background:transparent;touch-action:none}.primary-button,.secondary-button,.logout-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;border:0;padding:10px 14px;font-weight:600}.primary-button{color:#fff;background:#175cd3}.secondary-button{color:#344054;background:#f2f4f7}.login-button{width:100%;margin-top:22px}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{min-height:100vh;padding:22px 16px;display:flex;flex-direction:column;color:#fff;background:#101828}.sidebar-brand{display:flex;gap:11px;align-items:center;padding:4px 8px 24px}.sidebar-brand span{display:block;margin-top:3px;font-size:12px;color:#98a2b3}.sidebar-brand-copy{min-width:0}.sidebar-brand-copy b{display:block;max-width:166px;margin-top:7px;overflow:hidden;color:#fff;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.brand-mark-small{width:39px;height:39px}.official-logo-small{display:block;object-fit:contain}.sidebar nav{display:grid;gap:5px}.sidebar nav button{width:100%;display:flex;gap:10px;align-items:center;padding:11px 12px;border:0;border-radius:9px;color:#d0d5dd;background:transparent;text-align:left}.sidebar nav button svg{width:19px}.sidebar nav button:hover:not(:disabled),.sidebar nav button.nav-active{color:#fff;background:#1d2939}.sidebar nav button:disabled{opacity:.45;cursor:default}.logout-button{margin-top:auto;color:#fecdca;background:#1d2939}.content{padding:30px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-heading h1{margin:0 0 5px}.page-heading p{margin:0;color:#667085}.page-heading-actions,.archive-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.school-license-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.school-license-summary>div{display:grid;gap:6px}.school-license-summary span{color:#667085}.school-license-demo{border-color:#f79009;background:#fffaeb}.setup-page{align-items:flex-start;padding:28px 16px;overflow:auto}.setup-card{width:min(760px,100%);max-width:760px}.setup-form{display:grid;gap:8px}.setup-form h3{margin:18px 0 4px;color:#0b2948}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.setup-grid>div{display:grid;gap:7px}.setup-card textarea{min-height:76px}.setup-card>.secondary-button{width:100%;margin-top:12px}.school-identity-settings{margin-bottom:20px;display:grid;gap:8px}.global-license-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;margin-bottom:16px;border:1px solid #98a2b3;border-radius:12px;background:#f2f4f7}.global-license-demo{border-color:#f79009;background:#fffaeb;color:#93370d}@media(max-width:650px){.setup-grid{grid-template-columns:1fr}.global-license-banner{align-items:stretch;flex-direction:column}}@media(max-width:650px){.school-license-summary{align-items:stretch;flex-direction:column}}.archive-list{display:grid;gap:10px}.archive-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid #e5e9f0;border-radius:10px}.archive-list p{margin:5px 0 0;color:#667085;font-size:13px}button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:760px){.archive-list article{align-items:flex-start;flex-direction:column}}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.summary-card,.panel-card{padding:20px;background:#fff;border:1px solid #eaecf0;border-radius:14px}.school-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.school-settings-grid label:not(.settings-switch-row){display:block;margin:16px 0 7px;font-weight:700}.school-settings-grid input:not([type=checkbox]),.school-settings-grid textarea{width:100%;box-sizing:border-box}.settings-switch-row,.settings-number-field{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #e7edf4}.settings-switch-row div,.settings-number-field>div:first-child{display:grid;gap:5px}.settings-switch-row span,.settings-number-field span{color:#667085;font-size:13px}.settings-switch-row input{width:20px;height:20px}.settings-number-field>div:last-child{display:flex;align-items:center;gap:7px}.settings-number-field input{width:76px!important}.settings-state{display:flex;align-items:center;gap:8px;margin-top:18px;padding:13px;border-radius:10px}.settings-state-default{background:#fff7e6;color:#8a5800}.settings-state-saved{background:#eaf8f1;color:#176a46}.settings-save-bar{display:flex;justify-content:flex-end;margin-top:20px}.settings-empty{margin-top:20px}@media(max-width:900px){.school-settings-grid{grid-template-columns:1fr}}.summary-card span{display:block;font-size:13px;color:#667085}.summary-card strong{display:block;margin-top:7px;font-size:28px}.summary-card-warning{border-color:#fdb022;background:#fffaeb}.summary-card-warning strong{color:#b54708}.summary-card-link{appearance:none;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-style:solid;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.summary-card-link:hover,.summary-card-link:focus-visible{transform:translateY(-2px);border-color:#7dd3fc;box-shadow:0 12px 28px #0f172a1f}.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #fda29b;border-radius:10px;padding:9px 12px;color:#b42318;background:#fff5f4;cursor:pointer;font-weight:700}.danger-button:hover{background:#fee4e2}.risk-text{color:#b42318!important;font-weight:800}.appointment-import-card{margin-bottom:20px}.appointment-import-card p{color:#475467}.appointment-import-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.file-upload-button{cursor:pointer}.file-upload-button input{display:none}.dashboard-notifications{margin-top:18px}.dashboard-notification-list{display:grid;gap:9px}.dashboard-notification-list article{display:flex;justify-content:space-between;gap:18px;padding:12px 14px;border:1px solid #fedf89;background:#fffaeb;border-radius:9px}.dashboard-notification-list p{margin:5px 0 0;color:#667085}.dashboard-notification-list time{white-space:nowrap;color:#667085;font-size:12px}.dashboard-notification-list article.notification-read{border-color:#e5e9f0;background:#f8fafc;opacity:.78}.dashboard-notification-list article.notification-unread{box-shadow:inset 4px 0 #f79009}.dashboard-notification-list article.notification-critical{border-color:#fda29b;background:#fff5f4;box-shadow:inset 4px 0 #d92d20}.notification-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.notification-meta .secondary-button{padding:7px 9px;font-size:12px}.emergency-nav{color:#fda29b!important}.global-emergency-banner{width:100%;margin-bottom:18px;padding:13px 16px;border:0;border-radius:10px;background:#d92d20;color:#fff;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer}.global-emergency-banner span{display:grid;gap:2px;flex:1}.global-emergency-banner b{white-space:nowrap}.emergency-scope-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin-bottom:18px;border:1px solid #b2ddff;background:#eff8ff;border-radius:10px;color:#175cd3}.emergency-scope-note p{margin:0}.emergency-start-card label{display:block;margin:14px 0 8px;font-weight:700}.emergency-start-card textarea{width:100%;min-height:110px;resize:vertical;padding:12px;border:1px solid #d4d9e2;border-radius:9px;font:inherit}.emergency-start-button,.emergency-active-card button{border:0;border-radius:9px;background:#d92d20;color:#fff;padding:12px 16px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:800}.emergency-start-button{margin-top:14px}.emergency-active-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:25px;border:2px solid #f04438;border-radius:14px;background:#fff5f4;color:#b42318;animation:emergency-pulse 2s infinite}.emergency-active-card span{font-weight:900;letter-spacing:1px}.emergency-active-card h2{margin:7px 0;color:#7a271a}.emergency-active-card p{margin:0}@keyframes emergency-pulse{50%{box-shadow:0 0 0 6px #f044381a}}@media(max-width:900px){.emergency-active-card{grid-template-columns:1fr}}.two-column-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:20px;align-items:start}.panel-title{display:flex;align-items:center;gap:9px;margin-bottom:17px}.panel-title h2{margin:0;font-size:18px}.search-box{display:flex;align-items:center;gap:8px;padding:0 12px;margin-bottom:15px;border:1px solid #d0d5dd;border-radius:9px}.search-box input{width:100%;padding:11px 0;border:0;outline:0}.personnel-list{display:grid;gap:9px}.personnel-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px;border:1px solid #eaecf0;border-radius:10px}.personnel-row p{margin:5px 0 0;font-size:13px;color:#667085}.personnel-actions{display:flex;align-items:center;gap:9px}.status-active,.status-inactive{padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.status-active{color:#027a48;background:#ecfdf3}.status-inactive{color:#b42318;background:#fef3f2}.admin-form input{width:100%;padding:11px 12px;border:1px solid #d0d5dd;border-radius:9px}.admin-form .primary-button{width:100%;margin-top:20px}.error-box,.success-box{padding:11px 13px;border-radius:9px;margin-bottom:15px}.error-box{color:#b42318;background:#fef3f2}.success-box{color:#027a48;background:#ecfdf3}.top-message{margin-bottom:20px}.empty-state{padding:35px 15px;color:#667085;text-align:center}@media(max-width:1000px){.summary-grid{grid-template-columns:repeat(2,1fr)}.two-column-layout{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.content{padding:18px}.summary-grid{grid-template-columns:1fr}.personnel-row{align-items:flex-start;flex-direction:column}}.reason-list{display:grid;gap:9px}.reason-row{display:grid;grid-template-columns:45px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px;border:1px solid #eaecf0;border-radius:10px}.reason-edit-button{border:0;background:#eef4ff;color:#175cd3;border-radius:8px;padding:8px 10px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:700}.inline-checkbox{display:flex!important;align-items:center;gap:9px}.inline-checkbox input{width:auto!important}.full-width-button{width:100%;margin-top:9px}.device-code-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 20px;margin-bottom:20px;border-radius:12px;background:#ecfdf3;border:1px solid #abefc6}.device-code-banner span,.device-code-banner strong,.device-code-banner small{display:block}.device-code-banner strong{margin:4px 0;font-size:24px;letter-spacing:3px}.school-device-list{display:grid;gap:10px}.school-device-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid #e5e9f0;border-radius:10px}.school-device-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#eef4ff;color:#175cd3}.school-device-row p{margin:5px 0 0;color:#667085;font-size:13px}.school-device-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.school-device-actions .secondary-button{padding:8px 9px;font-size:12px}.school-device-info{min-width:0}.device-detail-toggle{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:0;border:0;background:transparent;color:#175cd3;font:inherit;font-size:12px;cursor:pointer}.device-forensic-details{display:grid;gap:5px;margin-top:10px;padding:11px 12px;border-radius:8px;background:#f8fafc;border:1px solid #e5e9f0;color:#344054;font-size:12px;overflow-wrap:anywhere}.device-forensic-details span,.device-forensic-details small{display:block}.device-forensic-details small{margin-top:3px;color:#667085}@media(max-width:760px){.school-device-row{grid-template-columns:44px minmax(0,1fr);align-items:start}.school-device-actions{grid-column:1 / -1;justify-content:flex-start}}.audit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.audit-toolbar .search-box{width:min(390px,100%)}.audit-count{color:#667085;font-size:13px}.audit-table{border:1px solid #e5e9f0;border-radius:10px;overflow:auto}.audit-row{min-width:850px;display:grid;grid-template-columns:160px 130px 170px minmax(240px,1fr) 70px;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid #eef1f5;font-size:13px}.audit-row:first-child{border-top:0}.audit-header{background:#f8fafc;color:#667085;font-weight:700}.audit-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-result-ok,.audit-result-error{width:max-content;padding:4px 8px;border-radius:999px;font-weight:700}.audit-result-ok{background:#ecfdf3;color:#027a48}.audit-result-error{background:#fef3f2;color:#b42318}.audit-note{color:#667085;font-size:13px;margin:14px 0 0}.school-report-controls{display:grid;grid-template-columns:1fr 1fr auto auto;gap:12px;align-items:end}.school-report-controls label{display:grid;gap:7px;font-weight:700}.school-report-controls input{padding:11px 12px;border:1px solid #d4d9e2;border-radius:9px}.school-report-controls .primary-button{width:auto;margin:0}.school-report-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:18px}.school-report-grid article{padding:18px;border-radius:12px;background:#fff;border:1px solid #e5e9f0}.school-report-grid span{display:block;color:#667085;font-size:13px}.school-report-grid strong{display:block;margin-top:8px;font-size:25px}.school-report-grid small{display:block;margin-top:8px;color:#667085;line-height:1.4}.school-report-detail-card ol{list-style-position:inside;margin:12px 0 0;padding:0;display:grid;gap:8px}.school-report-detail-card li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eef1f5;padding-bottom:7px}.school-report-detail-card li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-report-detail-card li em{flex:none;min-width:30px;border-radius:999px;background:#eef4ff;color:#175cd3;font-style:normal;font-weight:800;text-align:center;padding:2px 8px}.school-report-lines{display:grid;gap:5px;margin-top:12px}.school-report-lines b{font-size:16px}.school-report-lines small{margin-top:0}@media(max-width:1050px){.school-report-controls,.school-report-grid{grid-template-columns:1fr 1fr}}.visit-active-panel{margin-bottom:18px}.visit-count{background:#eef4ff;color:#175cd3;border-radius:999px;padding:3px 9px;font-size:13px;font-weight:700}.active-visit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.active-visit-grid article{border:1px solid #e5e9f0;border-radius:10px;padding:14px}.active-visit-grid span,.active-visit-grid small{display:block;margin-top:5px;color:#667085}.active-visit-grid div{display:flex;align-items:center;gap:5px;margin-top:10px;color:#b54708;font-weight:700;font-size:13px}.active-visit-grid article.visit-overdue{border-color:#fda29b;background:#fff5f4}.active-visit-grid b{display:block;width:max-content;margin-top:9px;padding:4px 8px;border-radius:999px;background:#fee4e2;color:#b42318;font-size:12px}.visit-history-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:16px}.visit-history-heading .search-box{width:min(430px,100%)}.visit-table{border:1px solid #e5e9f0;border-radius:10px;overflow:auto}.visit-row{min-width:1120px;display:grid;grid-template-columns:1.4fr 1.2fr 1fr 1fr .7fr .7fr 1fr;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid #eef1f5;font-size:13px}.active-visit-row{min-width:900px;display:grid;grid-template-columns:1.35fr 1.2fr 1fr 1fr .7fr 1fr;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid #eef1f5;font-size:13px}.active-visit-row:first-child{border-top:0}.active-visit-row strong small,.active-visit-row span small{display:block;color:#667085;margin-top:4px;font-weight:400}.active-visit-row.visit-overdue{background:#fff5f4}.risk-add-button,.risk-added-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;padding:8px 10px;font-weight:800}.risk-add-button{border:1px solid #f79009;color:#b54708;background:#fffaeb}.risk-add-button:hover:not(:disabled){background:#fef0c7}.risk-added-button{border:1px solid #fda29b;color:#b42318;background:#fef3f2}.visit-row:first-child{border-top:0}.visit-header{background:#f8fafc;color:#667085;font-weight:700}.visit-row strong small{display:block;color:#667085;margin-top:4px;font-weight:400}@media(max-width:1050px){.active-visit-grid{grid-template-columns:1fr}.visit-history-heading{align-items:stretch;flex-direction:column}}.reason-order{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#eff8ff;color:#175cd3;font-weight:700}.reason-row p{margin:5px 0 0;color:#667085;font-size:13px}.appointment-list{display:grid;gap:10px}.appointment-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px;border:1px solid #eaecf0;border-radius:10px}.appointment-row p{margin:5px 0 0;font-size:13px;color:#667085}.appointment-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-form select{width:100%;padding:11px 12px;border:1px solid #d0d5dd;border-radius:9px;background:#fff}@media(max-width:760px){.appointment-row{align-items:flex-start;flex-direction:column}.appointment-actions{justify-content:flex-start}}.risk-list{display:grid;gap:10px}.risk-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px;border:1px solid #eaecf0;border-radius:10px}.risk-main{display:flex;gap:12px;align-items:flex-start}.risk-main p{margin:5px 0 0;font-size:13px;color:#667085}.risk-icon-warning,.risk-icon-block{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:9px}.risk-icon-warning{background:#fffaeb;color:#b54708}.risk-icon-block{background:#fef3f2;color:#b42318}@media(max-width:760px){.risk-row{align-items:flex-start;flex-direction:column}}.user-list{display:grid;gap:10px}.school-user-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px;border:1px solid #eaecf0;border-radius:10px}.school-user-info{display:flex;align-items:center;gap:12px}.school-user-info p{margin:4px 0 7px;font-size:13px;color:#667085}.user-avatar{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;background:#eff8ff;color:#175cd3;font-weight:800}.user-badges{display:flex;flex-wrap:wrap;gap:6px}.role-badge,.password-badge{padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.role-badge{color:#344054;background:#f2f4f7}.password-badge{color:#b54708;background:#fffaeb}.school-user-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}@media(max-width:900px){.school-user-row{align-items:flex-start;flex-direction:column}.school-user-actions{justify-content:flex-start}}
