@font-face{font-family:Inter;src:url(/fonts/inter-regular.woff2)}@font-face{font-family:Inter;src:url(/fonts/inter-semibold.woff2);font-weight:600 900}*{box-sizing:border-box}body{margin:0;color:#132c47;background:#f3f6fb;font:14px Inter,system-ui,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-1px;line-height:1.3;font-weight:650}h2{font-size:16px;letter-spacing:-.3px}h3{font-size:15px}small{font-size:11px;color:#74849a}strong,b{font-weight:650}button:focus-visible,a:focus-visible{outline:3px solid #61a8ed;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #a1c9ed;border-color:#4f8fc9}input,select{height:42px;border:1px solid #dce5ef;border-radius:8px;background:#fff;color:#1c3552;padding:9px 12px;min-width:0}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#42566f}input[type=checkbox]{height:18px;width:18px;accent-color:#12695d}select[multiple]{height:145px}code{font:12px ui-monospace,monospace;overflow-wrap:anywhere}.app{min-height:100vh}.sidebar{width:250px;background:linear-gradient(160deg,#0c2547,#071b36 80%);color:#abc0db;position:fixed;inset:0 auto 0 0;z-index:25;display:flex;flex-direction:column;padding:29px 18px 18px}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:24px;letter-spacing:-1px;text-decoration:none;padding:0 12px;white-space:nowrap}.brand b{color:#74d7bd}.brand small{display:block;color:#7e98b8;letter-spacing:2.3px;font-size:8px;margin-top:1px;font-weight:600}.brand-mark{display:grid;place-items:center;flex:none;width:43px;height:47px;border:1px solid #52749366;border-radius:12px;background:linear-gradient(140deg,#1e4b6c77,#102d4f);color:#8ce0c5}.school-sidebar{display:flex;align-items:flex-start;gap:10px;padding:25px 12px 23px;margin:8px 0 10px;border-bottom:1px solid #ffffff12;font-size:10px;color:#d0def0;letter-spacing:.5px;font-weight:600}.school-sidebar svg{flex:none;margin-top:2px;color:#7595b8}.school-sidebar small{display:block;margin-top:5px;letter-spacing:0;font-weight:400;color:#8399b6;font-size:10px}.nav-label{font-size:9px;letter-spacing:1.8px;color:#6986a8;padding:10px 14px;margin-bottom:10px}.nav{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;text-align:left;color:#afc2dc;padding:12px 14px;border-radius:8px;margin:3px 0;font-size:12px;position:relative;white-space:nowrap}.nav svg{color:#87a4c7}.nav:hover{color:#fff;background:#ffffff09}.nav.active{color:#fff;background:#1a3a62;box-shadow:inset 3px 0 #77cfb5}.nav.active svg{color:#9be6d0}.nav .pulse{margin-left:auto;width:6px;height:6px}.sidebar-bottom{margin-top:auto;padding-top:32px}.sidebar-bottom>small{display:block;font-size:9px;padding:10px 14px;color:#6e85a4}.mini-status{margin:0 12px 12px;padding:16px 0 17px;border-bottom:1px solid #ffffff12;font-size:10px;color:#bad3ce}.mini-status .pulse{margin-right:7px;display:inline-block;width:6px;height:6px}.mini-status small{display:block;margin:6px 0 0 16px;font-size:9px;color:#7895ae}.workspace{margin-left:250px}.topbar{height:82px;background:#ffffffed;border-bottom:1px solid #e0e8f1;display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:15;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.top-title{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600}.top-title small{display:block;font-size:10px;font-weight:400;margin-top:2px}.menu-toggle{display:none!important}.top-right{display:flex;align-items:center;gap:22px}.year-tag{display:flex;align-items:center;gap:8px;color:#4f6885;background:#f6f9fd;border:1px solid #e1e8f1;padding:7px 11px;border-radius:7px;font-size:10px}.clock{display:flex;align-items:center;gap:7px;color:#50617a;font-size:11px}.clock small{font-size:8px}.user{display:flex;align-items:center;gap:10px;border-left:1px solid #e7edf4;padding-left:22px;font-size:11px;font-weight:600}.user small{display:block;margin-top:1px;font-size:9px;font-weight:400}.avatar{width:35px;height:35px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#edf2f9;color:#47698a;border:1px solid #dfe8f3;flex:none;font-weight:600;font-size:10px}.avatar.navy{background:#143655;color:#b8e3d5;border:0}.avatar.blue{color:#376b98;background:#eff6ff}.avatar.amber{color:#a47923;background:#fff6e5}main{padding:32px 34px 0;max-width:1900px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:3px 0 27px}.eyebrow{font-size:9px;letter-spacing:1.4px;font-weight:600;color:#6d829e;margin-bottom:10px}.page-heading p{color:#718297;font-size:12px;margin-top:8px}.heading-actions{display:flex;align-items:center;gap:10px;flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border-radius:8px;font-size:11px;font-weight:600;text-decoration:none;border:1px solid transparent;white-space:nowrap;min-height:39px}.btn.primary{color:#fff;background:#153c62;box-shadow:0 3px 6px #133b5e0a}.btn.primary:hover{background:#20527d}.btn.secondary{border-color:#d9e3ee;background:#fff;color:#355576}.btn.secondary:hover{background:#f5f9ff}.btn.small{font-size:10px;min-height:32px;padding:7px 10px}.btn.full{width:100%}.icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:6px;border:1px solid #dde6ef;border-radius:7px;background:#fff;color:#617c9a;flex:none}.icon:hover{background:#edf5fd}.text-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:0;color:#357197;font-size:10px;font-weight:600;padding:5px 0}.text-btn.danger{color:#ac5053}.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;font-size:9px;font-weight:600;padding:4px 8px;border-radius:5px;background:#f0f4fa;color:#6b7e96;line-height:1.4;border:1px solid transparent}.badge.green{color:#137660;background:#e9f7f1;border-color:#d8eee5}.badge.amber{color:#a7781b;background:#fff6e5;border-color:#f3e8ca}.badge.blue{color:#396aa0;background:#edf4fd}.badge.gray{color:#7b8797;background:#f2f4f8}.badge.red{color:#b34c55;background:#fceff1}.badge.light{background:#ffffff10;color:#c1e9dd;border-color:#ffffff1c}.pulse{width:7px;height:7px;border-radius:50%;background:#75d5b2;display:inline-block;box-shadow:0 0 0 3px #76cfac18;flex:none}.overview-banner{display:flex;align-items:center;justify-content:space-between;overflow:hidden;border-radius:13px;padding:30px 33px;color:#fff;background:radial-gradient(ellipse at 80% 110%,#194c61,#102e4c 55%,#0d2544);position:relative;min-height:177px}.overview-banner:after{content:"";position:absolute;right:-130px;top:-220px;width:650px;height:650px;border:1px solid #ffffff08;border-radius:50%;box-shadow:0 0 0 70px #ffffff03,0 0 0 140px #ffffff02;pointer-events:none}.overview-banner .badge{font-size:8px;letter-spacing:1px;padding:5px 8px}.overview-banner h2{font-size:28px;font-weight:600;letter-spacing:-.7px;margin-top:13px}.overview-banner p{color:#9eb5cc;font-size:11px;margin-top:7px}.overview-banner p span{margin:0 8px}.banner-visual{display:flex;align-items:center;gap:23px;position:relative;z-index:1;margin-right:20px}.banner-visual>span{font-size:11px;color:#b1d2d2}.signal-ring{display:grid;place-items:center;color:#85d7ba;width:84px;height:84px;border-radius:50%;border:1px solid #78baa433;box-shadow:0 0 0 12px #73c9ac08,0 0 0 25px #73c9ac05}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:21px 0}.stat{background:#fff;border:1px solid #e0e7f1;border-radius:11px;padding:23px 21px;position:relative;min-height:146px;box-shadow:0 3px 8px #112a4514}.stat-icon{position:absolute;top:22px;right:20px;display:grid;place-items:center;width:36px;height:36px;border-radius:9px;color:#6584a2;background:#f1f5fa}.stat-label{color:#677d95;font-size:11px}.stat>strong{display:block;font-size:34px;font-weight:600;letter-spacing:-1px;margin-top:8px;line-height:1.25}.stat>small{display:block;font-size:9px;margin-top:9px;color:#8a98ab}.stat.green .stat-icon{background:#eaf7f2;color:#3f9b83}.stat.green>strong{color:#187563}.stat.amber .stat-icon{background:#fff5e2;color:#ba912f}.stat.amber>strong{color:#a27b25}.stat.blue .stat-icon{background:#edf4ff;color:#517fac}.panel{background:#fff;border:1px solid #dfe7f1;border-radius:12px;box-shadow:0 4px 16px #12305205;overflow:hidden;margin-bottom:21px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 25px 19px}.panel-heading h2{font-size:14px;font-weight:600}.panel-heading p{color:#8795a6;font-size:10px;margin-top:4px}.day-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:10px 25px 26px;gap:20px}.day-track article{display:flex;gap:13px;align-items:flex-start;position:relative}.day-track article+article:before{content:"";position:absolute;left:-12px;top:4px;bottom:0;border-left:1px solid #edf1f6}.day-track small{font-size:10px;display:block;color:#75889e;margin-top:1px}.day-track strong{font-size:15px;display:block;letter-spacing:-.3px;margin:5px 0 4px}.day-track p{font-size:8px;color:#91a0b0}.window-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#f2f5fa;color:#8090a6;flex:none}.window-icon.teal{background:#ecf6f2;color:#459783}.window-icon.blue{background:#eef5ff;color:#5d8abd}.window-icon.purple{background:#f3f0fc;color:#9480ba}.overview-columns{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.overview-columns .panel{margin:0}.empty{text-align:center;padding:39px 22px 43px}.empty-icon{display:grid;place-items:center;margin:0 auto 14px;width:59px;height:59px;background:#f2f6fb;border:1px solid #e6edf6;border-radius:16px;color:#91a8c0}.empty h3{font-size:13px;margin-bottom:8px;color:#465f7a}.empty p{max-width:340px;margin:0 auto;color:#8a99ab;font-size:11px;line-height:1.8}.empty .btn{margin-top:20px}.readiness-row{display:flex;align-items:center;gap:11px;border:0;border-top:1px solid #f0f3f7;background:#fff;width:calc(100% - 48px);margin:0 24px;text-align:left;padding:17px 0;color:#9cadbf}.readiness-row>span:nth-child(2){flex:1}.readiness-row strong{display:block;color:#4b627c;font-size:11px}.readiness-row small{display:block;font-size:9px;margin-top:4px}.check-icon,.pending-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#439d80;background:#e9f7f0}.pending-icon{background:#f2f5fa;border:1px solid #e4ebf3}.pending-icon span{width:5px;height:5px;border-radius:50%;background:#a5b6ca}.info-note{padding:17px 19px;border:1px solid #dce8f3;border-radius:9px;background:#edf5fc;display:flex;align-items:flex-start;gap:12px;color:#6c86a0;margin-top:20px;font-size:11px;line-height:1.8}.info-note svg{flex:none;color:#6c99b7;margin-top:2px}.readiness .info-note{margin:8px 23px 24px;font-size:10px;padding:14px;border:0}.page-footer{display:flex;justify-content:space-between;gap:20px;color:#91a0b1;font-size:9px;padding:30px 0 22px}.page-footer span:first-child{display:flex;align-items:center;gap:7px}.toolbar{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid #eaf0f6;flex-wrap:wrap}.search{position:relative;flex:1;min-width:200px;color:#91a4b8}.search svg{position:absolute;left:13px;top:12px}.search input{padding-left:38px;width:100%;font-size:11px;background:#fbfcfe}.toolbar select{font-size:10px;max-width:250px}.result-count{font-size:10px;color:#7e92a8;margin-left:auto}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px;white-space:nowrap}th{background:#f8fafd;color:#8293a9;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;padding:14px 20px;border-bottom:1px solid #e6edf5}td{padding:15px 20px;border-bottom:1px solid #edf1f6;color:#5c728c}td strong{color:#2c4867;font-size:11px}td small{display:block;font-size:9px;margin-top:4px;color:#8d9bb0}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdff}.identity{display:flex;align-items:center;gap:11px}.identity>span:nth-child(2){min-width:0}.identity small{font-size:9px;color:#8b9bb0;margin-top:4px}.actions{display:flex;align-items:center;gap:8px}.card-count{display:flex;align-items:center;gap:7px;color:#6c86a2;font-size:10px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:17px 24px;border-top:1px solid #eaf0f6;color:#8797aa;font-size:10px}.pagination>div{display:flex;align-items:center;gap:12px}.error{background:#fff2f2;color:#aa4654;border:1px solid #f5d8dc;border-radius:8px;padding:12px 15px;font-size:12px;display:flex;gap:8px;align-items:center;margin:15px 20px}.error button{border:0;background:none;color:inherit;text-decoration:underline;margin-left:auto}.loading{padding:50px;text-align:center;color:#8b9db2}.activity-list{padding:0 24px 8px}.activity-row{display:flex;align-items:center;gap:11px;padding:14px 0;border-top:1px solid #eef2f7}.event-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;flex:none}.event-icon.in{background:#e9f8f1;color:#438b72}.event-icon.out{background:#eef4fd;color:#6c8fbe}.activity-row>div{flex:1}.activity-row strong{display:block;font-size:10px}.activity-row small{display:block;font-size:9px;margin-top:3px}.activity-row time{font-size:9px;color:#9caaba}.health-dot{width:7px;height:7px;border-radius:50%;background:#c7d5e6}.live-top{display:flex;align-items:center;justify-content:space-between;margin:0 0 17px}.live-top>div{display:flex;align-items:center;gap:10px}.live-top b{font-size:12px}.live-top>div>span:last-child{font-size:10px;color:#8497ad}.reader-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;padding:2px 24px 24px}.reader-grid>.empty{grid-column:1/-1;width:100%}.reader-card{border:1px solid #dfe8f3;border-radius:10px;padding:20px;overflow:hidden}.reader-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.reader-icon{display:inline-grid;place-items:center;flex:none;width:43px;height:43px;background:#eef5fb;color:#698aaa;border-radius:12px}.reader-card h3{font-size:14px}.reader-card>p{font-size:11px;color:#8c9db1;margin-top:5px}.reader-tags{display:flex;gap:7px;margin:13px 0}.reader-meta{display:flex;flex-direction:column;gap:8px;border-top:1px solid #eaf0f7;padding-top:15px;margin-top:16px;font-size:9px}.reader-meta span{display:flex;justify-content:space-between;gap:10px;color:#899bb0}.reader-meta b{color:#5e7691;font-size:9px}.reader-card footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px}.setup-panel{padding:28px;display:flex;align-items:flex-start;gap:22px}.setup-panel h2{font-size:15px}.setup-panel p{font-size:11px;color:#8195aa;max-width:750px;margin:8px 0 19px}.setup-steps{display:flex;gap:26px;flex-wrap:wrap;margin:0 0 20px;font-size:10px;color:#5b7794}.setup-steps span{display:flex;align-items:center;gap:8px}.setup-steps b{display:grid;place-items:center;width:20px;height:20px;background:#eef4fa;color:#6c88a5;border-radius:50%;font-size:9px}.segmented{display:flex;background:#f1f5fa;padding:4px;border-radius:8px;gap:3px}.segmented button{background:none;border:0;color:#8a9bb0;padding:7px 10px;font-size:10px;border-radius:5px}.segmented .selected{background:#fff;color:#244c70;box-shadow:0 2px 4px #132e4812}.report-toolbar{gap:10px}.report-toolbar input{font-size:11px}.report-toolbar select{max-width:190px}.report-toolbar>.btn{margin-left:auto}.flag-list{display:flex;gap:4px;flex-wrap:wrap}.role-guide{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:25px;gap:20px;border-top:1px solid #e5ecf5}.role-guide div{display:flex;flex-direction:column;gap:9px}.role-guide svg{color:#84a3c0}.role-guide b{font-size:10px;color:#4c6682}.role-guide span{font-size:9px;color:#8b9eb4;line-height:1.8}.settings-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.settings-grid .panel>.form-grid,.settings-grid .panel>form>.form-grid{padding:5px 25px 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:25px}.form-grid .span2{grid-column:1/-1}.form-grid label small{font-size:10px;font-weight:400;color:#8b9caf;line-height:1.7}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 25px;border-top:1px solid #edf1f7}.import-content{padding:4px 25px 25px}.import-zone{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 20px;border:1px dashed #ceddea;border-radius:10px;background:#fafcfe;margin-bottom:20px;color:#8da6bf;gap:12px}.import-zone h3{font-size:12px;color:#496b8b}.import-zone p{font-size:10px;color:#849bb1;max-width:320px}.import-zone input{display:none}.import-zone .btn{cursor:pointer}.import-preview{background:#f0f9f5;padding:20px;border-radius:8px;margin-top:20px;font-size:11px;color:#547f70}.import-preview h3{margin-bottom:8px}.import-preview>div{margin:12px 0 18px}.muted{color:#91a0b1;font-size:10px;line-height:1.9;margin-top:19px}.audit-detail{font-size:9px;white-space:normal;display:block;max-width:450px}.overlay{position:fixed;inset:0;background:#0a1b35a8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;border-radius:14px;width:min(590px,100%);max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 20px 100px #03132955}.modal.wide{width:min(850px,100%)}.modal>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 25px;border-bottom:1px solid #edf2f7}.modal>header h2{font-size:16px}.modal-intro{padding:20px 25px 0;color:#7d92a7;font-size:11px;line-height:1.9}.person-strip{display:flex;align-items:center;justify-content:space-between;padding:22px 25px;background:#fbfdff;gap:15px}.registered-cards{padding:20px 25px;display:flex;gap:14px;flex-wrap:wrap}.registered-cards>.empty{width:100%;padding:15px}.rfid-card{padding:19px;border-radius:12px;background:linear-gradient(130deg,#143451,#204d68);color:#d8e6f0;min-width:230px;flex:1}.rfid-card>div:first-child{display:flex;align-items:center;justify-content:space-between;color:#76c3aa;margin-bottom:22px}.rfid-card>strong{display:block;font:15px ui-monospace,monospace;letter-spacing:1px}.rfid-card>small{display:block;color:#94b0c5;margin-top:8px;font-size:10px}.rfid-card.inactive{background:linear-gradient(130deg,#e8edf3,#f2f5f9);color:#9aabba}.rfid-card .button-row{border-top:1px solid #ffffff18;margin-top:18px;padding-top:12px}.rfid-card button{background:transparent;border:0;color:#acc5d5;font-size:9px}.rfid-card button:hover{color:#fff}.card-add{padding:5px 25px 10px}.card-add h3{font-size:13px}.card-add>p{color:#899db2;font-size:10px;margin-top:7px}.card-add .form-grid{padding:20px 0}.card-add .modal-footer{padding:15px 0}.card-add .modal-footer .secondary{display:none}.key-message{padding:27px;color:#6d8ba5}.key-message>svg{color:#679d88;margin-bottom:12px}.key-message h3{color:#2a4866;margin-bottom:10px}.key-message p{font-size:12px;line-height:1.8;margin-bottom:22px}.key-message code{display:block;background:#f2f6fa;padding:18px;border-radius:9px;-webkit-user-select:all;user-select:all;border:1px solid #e2eaf2;margin-bottom:20px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.modal-search{margin:20px 25px 12px}.person-picker{padding:0 25px;max-height:290px;overflow:auto}.person-picker>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 8px;background:#fff;border:0;border-bottom:1px solid #edf2f8;text-align:left;font-size:10px;color:#6e87a0;border-radius:6px}.person-picker .selected{background:#edf8f3;box-shadow:inset 0 0 0 1px #c5e6d6}.toast{position:fixed;bottom:26px;left:calc(50% + 100px);transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:10px;background:#123d37;color:#d1f2e5;border:1px solid #4a7c6e;border-radius:9px;padding:14px 22px;box-shadow:0 8px 30px #102b4133;font-size:12px;max-width:90vw}.boot,.password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#6f8daa}.password-page .panel{padding:30px;width:min(590px,94vw)}.password-page h2{margin:15px 0 10px}.password-page .form-grid{padding-left:0;padding-right:0}.password-page .modal-footer{padding-right:0}.password-page p{font-size:12px}.login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.login-story{background:radial-gradient(ellipse at 80% 100%,#1b515b,#102e4b 55%,#0b2240);color:#fff;padding:58px 12%;position:relative;display:flex;flex-direction:column;justify-content:center}.login-story .brand{position:absolute;top:50px;left:12%;padding:0}.login-story>.badge{align-self:flex-start;margin-top:70px;letter-spacing:1px;font-size:8px}.login-story h1{font-size:58px;line-height:1.12;letter-spacing:-2.5px;margin:28px 0}.login-story>p{color:#a1b9ca;line-height:1.9;font-size:14px}.login-flow{display:flex;align-items:center;gap:18px;margin-top:48px;color:#8cb7be}.login-flow>span{display:flex;flex-direction:column;gap:13px;color:#c9e0df;font-size:10px}.login-flow>span>svg{width:24px;height:24px}.login-flow>svg{width:17px;flex:none;opacity:.5}.login-foot{position:absolute;bottom:35px;color:#7d9eaf;font-size:9px}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px;background:#fff}.login-form{max-width:370px;width:100%}.login-form .eyebrow{color:#7e9bad;font-size:9px;letter-spacing:1.7px}.login-form h2{font-size:28px;letter-spacing:-1px;margin:15px 0 9px}.login-form>p{font-size:12px;color:#8a9aad;margin-bottom:34px}.login-form label{margin-bottom:20px;font-size:11px}.login-form input{height:46px;background:#fcfdff;font-size:12px}.login-form .full{margin-top:6px;height:46px;font-size:12px}.security-note{display:flex;gap:10px;align-items:center;border-top:1px solid #eaf0f6;margin-top:35px;padding-top:23px;font-size:10px;color:#91a4b6}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1650px){.sidebar{width:267px}.workspace{margin-left:267px}main{padding:37px 43px 0}.topbar{padding:0 43px}.page-heading{margin-bottom:31px}.overview-banner{padding:36px 38px}.stats{gap:20px;margin:24px 0}.stat{padding:26px;min-height:157px}.day-track{padding-bottom:32px;padding-top:17px}.panel-heading{padding-top:26px}.readiness-row{padding-top:20px;padding-bottom:20px}}@media(max-width:1200px){.sidebar{width:222px;padding:25px 12px}.workspace{margin-left:222px}main{padding:26px 24px 0}.topbar{padding:0 24px}.top-right{gap:12px}.user{padding-left:14px}.user>span:last-child{display:none}.day-track{gap:17px}.day-track article{gap:8px}.day-track p{font-size:8px}.day-track strong{font-size:13px}.window-icon{width:28px;height:28px}.reader-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{gap:12px}.stat{padding:20px 16px}.stat-icon{right:14px;width:30px;height:30px;top:17px}.stat-label{font-size:10px}.overview-columns{grid-template-columns:1.2fr 1fr;gap:16px}.banner-visual{margin-right:0}.role-guide{grid-template-columns:repeat(3,1fr)}}@media(max-width:950px){.sidebar{transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:none}.sidebar-shade{position:fixed;inset:0;background:#081a3280;z-index:24}.workspace{margin:0}.menu-toggle{display:inline-flex!important}.day-track{grid-template-columns:repeat(2,1fr);gap:25px}.day-track article+article:before{display:none}.overview-columns{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.topbar{height:74px}.login-story{padding-left:10%;padding-right:10%}.login-story h1{font-size:44px}.login-flow{gap:12px}.login-story .brand{left:10%}.login-flow span{font-size:8px}}@media(max-width:650px){body{font-size:13px}.topbar{height:66px;padding:0 17px}.top-title{font-size:11px;gap:9px}.top-title small{font-size:8px}.top-right{gap:10px}.year-tag{display:none}.clock{font-size:9px;gap:4px}.clock svg{width:12px}.user{padding-left:9px}.user .avatar{width:28px;height:28px;font-size:8px}main{padding:23px 16px 0}.page-heading{align-items:flex-start;flex-direction:column;gap:16px;margin:0 0 21px}.eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:8px}h1{font-size:24px}.page-heading p{font-size:11px;max-width:330px;line-height:1.8}.heading-actions{width:100%}.heading-actions>.primary{margin-left:auto}.btn{font-size:10px;min-height:37px;padding:9px 12px}.heading-actions>.secondary{min-height:35px}.overview-banner{min-height:166px;padding:23px 20px}.overview-banner h2{font-size:23px;max-width:190px;line-height:1.2}.overview-banner p{font-size:8px;max-width:210px;line-height:1.9}.overview-banner .badge{font-size:7px}.banner-visual{position:absolute;right:21px;top:48px;flex-direction:column;gap:15px}.signal-ring{width:51px;height:51px;box-shadow:0 0 0 8px #73c9ac08,0 0 0 17px #73c9ac05}.signal-ring svg{width:24px}.banner-visual>span{font-size:7px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:16px 0}.stat{min-height:134px;padding:17px 14px}.stat-label{font-size:9px}.stat>strong{font-size:29px;margin-top:13px}.stat>small{font-size:8px;max-width:120px;line-height:1.6;margin-top:6px}.stat-icon{width:26px;height:26px;right:11px;top:14px}.stat-icon svg{width:15px}.panel{border-radius:10px;margin-bottom:16px}.panel-heading{padding:19px 18px 15px;gap:10px}.panel-heading h2{font-size:13px}.panel-heading p{font-size:9px;line-height:1.7}.panel-heading .badge{font-size:7px;padding:4px 6px}.panel-heading .text-btn{font-size:8px}.day-track{padding:10px 18px 23px;gap:23px 15px}.day-track small{font-size:8px}.day-track strong{font-size:12px;line-height:1.6;margin:5px 0 2px}.day-track p{font-size:7px}.day-track article{gap:8px}.window-icon{width:25px;height:25px;border-radius:7px}.window-icon svg{width:14px}.overview-columns{grid-template-columns:1fr;gap:16px}.empty{padding:30px 20px}.empty p{font-size:10px}.empty h3{font-size:12px}.page-footer{font-size:8px;flex-direction:column;gap:7px;padding:25px 0 20px}.toolbar{padding:16px;gap:9px}.search{flex-basis:100%}.toolbar select{font-size:9px;flex:1;max-width:100%;width:130px}.result-count{font-size:9px}.pagination{padding:15px;font-size:9px}.table-wrap table{font-size:10px;min-width:640px}th{font-size:8px;padding:12px 14px}td{padding:13px 14px}td strong{font-size:10px}.identity .avatar{width:29px;height:29px;font-size:9px}.identity{gap:8px}.identity small{font-size:8px}.reader-grid{grid-template-columns:1fr;padding:0 17px 17px;gap:13px}.reader-card{padding:18px}.live-top{gap:7px}.live-top>div{gap:7px;flex-wrap:wrap}.live-top b{font-size:11px}.live-top>div>span:last-child{font-size:8px}.live-top>.badge{font-size:7px}.setup-panel{padding:20px;gap:13px}.setup-panel>.reader-icon{width:30px;height:30px;border-radius:8px}.setup-panel>.reader-icon svg{width:18px}.setup-panel h2{font-size:12px}.setup-panel p{font-size:10px}.setup-steps{flex-direction:column;gap:11px}.report-toolbar input{flex:1;min-width:140px}.report-toolbar .segmented{width:100%}.report-toolbar .segmented button{flex:1}.role-guide{grid-template-columns:1fr 1fr;padding:20px;gap:20px}.info-note{font-size:10px;padding:14px;margin-top:16px}.overlay{padding:12px}.modal{max-height:calc(100dvh - 24px)}.modal>header{padding:19px}.modal>header h2{font-size:14px}.form-grid{grid-template-columns:1fr;gap:17px;padding:20px}.form-grid .span2{grid-column:auto}.modal-footer{padding:16px 20px}.modal-intro{padding:17px 20px 0}.person-strip{padding:18px;flex-wrap:wrap}.registered-cards{padding:18px}.rfid-card{min-width:100%}.card-add{padding:0 18px}.modal-search{margin-left:20px;margin-right:20px}.person-picker{padding:0 20px}.person-picker>button{flex-wrap:wrap}.toast{left:50%;bottom:18px;width:max-content;max-width:92vw;font-size:11px;padding:12px 16px}.login{grid-template-columns:1fr}.login-story{padding:28px 28px 32px;min-height:240px;justify-content:flex-end}.login-story .brand{left:28px;top:25px;font-size:21px}.login-story .brand-mark{width:33px;height:36px}.login-story>.badge{margin-top:90px;font-size:6px}.login-story h1{font-size:32px;letter-spacing:-1px;margin:13px 0 0}.login-story h1 br{display:none}.login-story>p,.login-flow,.login-foot{display:none}.login-panel{padding:37px 28px}.login-form h2{font-size:24px}.login-form .eyebrow{font-size:8px}.security-note{font-size:9px}.key-message{padding:20px}.key-message .button-row>.btn{flex:1}.person-picker .avatar{width:30px;height:30px}.person-picker strong{font-size:10px}.reader-meta{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.user-menu{background:none;border:0;border-left:1px solid #e7edf4;text-align:left;cursor:pointer;color:inherit;font-family:inherit}.table-wrap{position:relative}.offline-dot{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#d5ab67}.registration-method{margin-top:20px;width:max-content;max-width:100%}.registration-method button{display:flex;align-items:center;justify-content:center;gap:7px}.scan-enrollment{padding:20px 0 0}.scan-stage{border:1px dashed #c9dbea;border-radius:11px;background:#f8fbfe;display:flex;flex-direction:column;align-items:center;text-align:center;padding:29px 20px;margin:18px 0;color:#7b9cb7}.scan-stage h3{color:#395c79;font-size:14px;margin:13px 0 7px}.scan-stage p{font-size:11px;max-width:390px;line-height:1.8;color:#7f94aa}.scan-stage .btn{margin-top:19px}.scan-stage>a{font-size:10px;color:#5687a6;margin-top:16px}.scan-stage .scan-note{color:#a87525;background:#fff5e2;padding:9px 12px;border-radius:7px;margin-top:12px}.captured-card{display:flex;align-items:center;gap:13px;background:#eef9f3;border:1px solid #cfebdd;border-radius:10px;margin-top:20px;padding:18px;color:#399375}.captured-card>div{flex:1;min-width:0}.captured-card strong{display:block;font-size:12px;color:#326855}.captured-card code{display:block;font-size:18px;letter-spacing:1px;margin-top:6px}.captured-card small{display:block;font-size:10px;margin-top:6px;color:#7a9e90}.scan-owner{font-size:12px;line-height:1.8;color:#6d859a;margin-top:17px}input[readonly]{background:#f0f5fa;color:#55718c}.scan-enrollment .form-grid{grid-template-columns:1fr}.scan-enrollment .error{margin:0 0 15px}@media(max-width:650px){.registration-method{width:100%}.registration-method button{font-size:9px;padding:8px}.captured-card{flex-wrap:wrap}.captured-card .text-btn{margin-left:37px}}
