@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700;800&display=swap');
:root{--purple:#4846bd;--purple-dark:#3734a6;--ink:#25282d;--muted:#737983;--line:#e5e8eb;--wash:#f6f8f9;--teal:#529c96;--red:#d96b77;--sidebar:184px}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px 'Nunito Sans',Arial,sans-serif;background:#fff}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-color:var(--purple)}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--purple);text-decoration:none}a:hover{text-decoration:underline}button{color:inherit}button:disabled{opacity:.5;cursor:default}button svg{vertical-align:middle}svg{flex-shrink:0}button:focus-visible,a:focus-visible{outline:3px solid #b9b5ff;outline-offset:2px}h1,h2,h3,p{margin:0}h1{font-size:30px;font-weight:800;letter-spacing:-.7px}h2{font-size:19px;font-weight:800;letter-spacing:-.25px}h3{font-size:15px;font-weight:800}small,.muted{color:var(--muted)}small{font-size:12px}strong{font-weight:800}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(155deg,#4a48ca 0%,#3d3bab 100%);color:white;display:flex;flex-direction:column;padding:20px 11px 12px;z-index:30}.brand{display:flex;align-items:center;gap:5px;padding:3px 9px 25px;font-size:23px;letter-spacing:-1px;font-weight:800;color:white}.brand svg{width:23px;height:23px}.nav-scroll{overflow-y:auto;scrollbar-width:thin;flex:1}.nav-link{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;color:#eeeeff;padding:9px 11px;border-radius:5px;text-align:left;margin:2px 0;font-size:13px;font-weight:700;min-height:35px}.nav-link:hover{background:#ffffff13;text-decoration:none}.nav-link.active{background:white;color:#45438a;box-shadow:0 1px 5px #211e5020}.nav-link.parent-open{background:#ffffff0c}.nav-link.sub{padding:6px 12px 6px 39px;min-height:29px;font-size:12px;font-weight:600}.nav-link.sub.active{background:transparent;color:white;border-left:2px solid #fff;border-radius:0;padding-left:37px}.nav-link .count{background:#61a89d;color:#fff;padding:0 6px;border-radius:4px;font-size:11px;margin-left:auto}.nav-chevron{margin-left:auto;font-size:10px}.sidebar-bottom{border-top:1px solid #ffffff20;padding-top:10px}.school-switch{font-size:11px;line-height:1.5;background:#26258b35;padding:10px;border-radius:5px;margin:7px 0}.school-switch strong{font-size:12px;display:block}.user-button{display:flex;align-items:center;gap:9px;color:white;background:#ffffff08;border:0;border-radius:5px;width:100%;padding:8px;text-align:left;font-size:12px}.avatar{width:33px;height:33px;object-fit:cover;border-radius:50%;background:#e7e3f5;display:inline-flex;align-items:center;justify-content:center;color:#666083;font-weight:800;flex-shrink:0;font-size:11px;border:1px solid #00000006}.avatar.large{width:65px;height:65px;font-size:20px}.avatar.staff{background:#c8deda;color:#3b7066}.app-main{margin-left:var(--sidebar);min-height:100vh}.demo-bar{height:43px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 38px;color:#747b86;font-size:11px;background:#fcfcfe;gap:20px}.demo-bar .role-picker{border:1px solid #dddfea;border-radius:4px;background:#fff;color:#48437d;font-size:11px;padding:4px 8px;cursor:pointer}.demo-bar .live-dot{width:5px;height:5px;background:#9c98cb;border-radius:50%;display:inline-block;margin-right:6px}.demo-links{display:flex;align-items:center;gap:16px}.top-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 38px;gap:28px;height:61px;align-items:stretch}.top-tabs a{display:flex;align-items:center;border-bottom:3px solid transparent;color:#646773;font-size:14px;white-space:nowrap}.top-tabs a.active{color:#494384;border-color:#504a99;font-weight:800}.top-tabs a:hover{text-decoration:none;color:var(--purple)}.page{padding:37px 42px 60px;max-width:1440px;margin:auto}.page.wide{max-width:none}.page-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.page-header .subtitle{font-size:13px;color:var(--muted);margin-top:6px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #9294ad;color:#504b86;border-radius:4px;background:#fff;min-height:35px;padding:7px 13px;font-size:12px;font-weight:800;white-space:nowrap;text-decoration:none}.btn:hover{background:#f6f5fe;text-decoration:none;border-color:#615da6}.btn.primary{background:var(--purple);border-color:var(--purple);color:white}.btn.primary:hover{background:var(--purple-dark)}.btn.teal{background:#62aaa0;color:#fff;border-color:#62aaa0}.btn.danger{color:#bd5265;border-color:#d3a8b1}.btn.ghost{border-color:transparent;background:transparent;padding:7px 8px}.btn.small{padding:4px 9px;min-height:29px;font-size:11px}.link-button{background:none;border:0;color:var(--purple);font-size:12px;font-weight:800;padding:7px 3px;cursor:pointer}.icon-btn{background:white;border:1px solid var(--line);border-radius:5px;padding:7px;display:inline-flex;align-items:center;justify-content:center}.filter-row{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.field{border:1px solid #dfe2e6;background:#fff;border-radius:4px;padding:9px 12px;font-size:12px;min-height:37px;color:#626976;width:100%}.field:focus{border-color:var(--purple);box-shadow:0 0 0 2px #4846bd10}.field-group{position:relative;min-width:160px}.field-group label{position:absolute;top:-7px;left:9px;background:#fff;padding:0 4px;color:#787d86;font-size:10px}.field-group input,.field-group select{padding-top:11px}.search{max-width:225px;border-radius:20px;padding-left:34px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23939aa3' stroke-width='1.4'%3E%3Ccircle cx='6.5' cy='6.5' r='4.7'/%3E%3Cpath d='m10 10 4 4'/%3E%3C/svg%3E") 11px center no-repeat}.select{min-width:160px;width:auto}.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:24px;min-height:43px;align-items:stretch}.tabs a,.tabs button{border:0;background:none;display:flex;align-items:center;padding:0 1px 12px;color:#6d6c76;border-bottom:3px solid transparent;font-size:13px;white-space:nowrap}.tabs .active{color:#514c8c;border-color:#514c8c;font-weight:800}.tabs a:hover{text-decoration:none}.table-meta{display:flex;justify-content:space-between;color:#7b8089;align-items:center;font-size:11px;margin:8px 0 10px}.table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:640px;font-size:12px}.data-table th{text-align:left;font-weight:800;padding:12px 13px;background:#edf1f3;color:#3f4650;border-bottom:1px solid #e4e9ed;white-space:nowrap;font-size:11px}.data-table td{padding:13px;border-bottom:1px solid #edf0f2;vertical-align:middle}.data-table tbody tr:hover{background:#fcfcff}.data-table .person-cell{display:flex;align-items:center;gap:10px;min-width:170px}.person-cell .name{font-size:12px;font-weight:800;color:#514d89}.person-cell small{display:block;font-size:11px;margin-top:2px}.data-table .row-actions{text-align:right;white-space:nowrap}.data-table input[type=checkbox]{accent-color:var(--purple);width:14px;height:14px}.data-table .check-col{width:32px;padding-right:0}.data-table.compact td{padding:10px 13px}.status{display:inline-flex;align-items:center;padding:3px 7px;border-radius:4px;background:#eaf5f0;color:#4d8f7d;font-size:10px;font-weight:700;white-space:nowrap}.status.purple{background:#f0eef9;color:#7b6d9a}.status.red{background:#fbecee;color:#bb6272}.status.gray{background:#f0f2f3;color:#737b85}.status.yellow{background:#fcf5dd;color:#9c8a40}.pill{display:inline-flex;padding:4px 9px;border:1px solid #dedfe7;border-radius:14px;font-size:11px;color:#6f7482;background:#fff;gap:5px}.panel{border:1px solid #e4e7eb;border-radius:4px;background:#fff;box-shadow:0 1px 3px #242f4310}.panel-title{display:flex;justify-content:space-between;align-items:center;padding:19px 20px;border-bottom:1px solid var(--line)}.panel-body{padding:21px}.panel h2{font-size:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.home-grid{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(400px,1.65fr);gap:25px}.home-stack{display:flex;flex-direction:column;gap:25px}.date-heading{display:flex;align-items:center;gap:13px;margin-bottom:30px}.date-heading h1{font-size:25px;letter-spacing:-.3px}.date-heading small{font-size:11px;color:#525763}.date-mark{width:45px;height:45px;display:flex;align-items:center;justify-content:center;border:1px solid #e4e6e9;border-radius:50%;background:white;box-shadow:0 1px 3px #00000008}.room-ratio{padding:13px 20px}.ratio-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0f2;padding:16px 0;gap:13px;font-size:12px}.ratio-row:last-child{border:0}.ratio-row>a{font-weight:800;min-width:130px}.room-letter{width:26px;height:26px;border-radius:4px;display:inline-flex;background:#e4e3f5;align-items:center;justify-content:center;color:#66628d;margin-right:9px}.stat-band{background:#e6e7fb;padding:16px 18px;display:flex;align-items:center;gap:18px;border-radius:3px}.stat-band strong{font-size:28px;display:block;color:#161e2f;line-height:1.2}.stat-band small{font-size:11px}.feed-list{display:flex;flex-direction:column}.feed-item{display:flex;gap:13px;padding:17px 0;border-bottom:1px solid #edf0f2}.feed-item:last-child{border:0}.activity-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e4f4f1;color:#4aaba2;flex-shrink:0}.feed-item p{font-size:12px;line-height:1.7}.feed-item small{display:block;margin-top:3px;font-size:10px}.helper{font-size:12px;line-height:1.7;color:#707985}.birthday{padding:18px 0;display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line)}.birthday time{margin-left:auto;font-size:11px;font-weight:800}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.quick-actions .btn{font-size:11px;min-height:34px}.room-card{padding:22px}.room-card-header{display:flex;align-items:center;gap:13px;margin-bottom:25px}.room-card h2{font-size:19px}.metric{padding:16px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px}.metric strong{font-size:17px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.metric-card{padding:19px;border:1px solid var(--line);border-radius:4px}.metric-card small{display:block;font-size:11px;margin-bottom:8px}.metric-card strong{font-size:25px}.metric-line{height:5px;border-radius:5px;background:#e65f79;margin:10px 0 13px}.metric-line.green{background:#5caa9b}.metric-line.gray{background:#c1c6ce}.metric-detail{font-size:11px;display:flex;justify-content:space-between;margin-top:10px;color:#707883}.profile-head{display:flex;align-items:center;gap:15px;margin:2px 0 25px}.profile-head h1{font-size:27px}.profile-head .actions{margin-left:auto}.profile-layout{display:grid;grid-template-columns:1fr 280px;gap:26px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.detail-card{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.detail-card:first-child{margin-top:0}.detail-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.detail-row{display:grid;grid-template-columns:42% 58%;font-size:12px;line-height:1.7;margin:6px 0}.detail-row span:first-child{color:#7a818a}.alert{padding:13px 17px;background:#edf7f3;color:#528273;border:1px solid #d4ebe2;border-radius:4px;font-size:12px;display:flex;gap:11px;align-items:center;margin-bottom:24px}.alert.info{background:#f2f1fc;border-color:#e1dff4;color:#77709a}.alert.warning{background:#fff9e9;border-color:#f0e4bf;color:#998246}.alert .link-button{margin-left:auto;white-space:nowrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field label{font-size:12px;font-weight:800}.form-field small{line-height:1.5}.form-field.full{grid-column:1/-1}.form-field textarea{min-height:95px;resize:vertical}.form-section{padding:22px;border:1px solid var(--line);border-radius:4px;margin-bottom:22px}.form-section h2{font-size:16px;margin-bottom:20px}.form-footer{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--line);margin-top:20px}.toggle{border:0;background:#cbd0d6;width:32px;height:17px;border-radius:15px;padding:2px;position:relative;flex-shrink:0}.toggle:before{content:'';position:absolute;width:13px;height:13px;background:white;border-radius:50%;left:2px;top:2px;box-shadow:0 1px 2px #0002;transition:left .15s}.toggle.on{background:#625b9b}.toggle.on:before{left:17px}.setting{display:flex;gap:20px;align-items:start;justify-content:space-between;margin:19px 0}.setting strong{display:block;font-size:12px;margin-bottom:6px}.setting p{color:#7c838d;font-size:11px;line-height:1.7;max-width:350px}.dropzone{border:1px dashed #c4c9d2;border-radius:4px;padding:48px 24px;text-align:center;background:#fafbfc;cursor:pointer}.dropzone h3{margin-top:15px}.dropzone p{font-size:12px;color:#87909a;margin-top:8px}.dropzone:hover{border-color:var(--purple);background:#f8f7ff}.activity-types{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:8px 0}.activity-type{border:1px solid var(--line);border-radius:6px;background:white;padding:22px 10px;display:flex;flex-direction:column;align-items:center;gap:10px;font-weight:700;font-size:12px}.activity-type:hover{border-color:var(--purple);background:#faf9ff}.activity-type i{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--activity);color:white;font-style:normal}.student-select{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.student-tile{background:#fff;border:1px solid var(--line);border-radius:5px;padding:16px 8px;text-align:center;cursor:pointer}.student-tile.selected{border-color:#6963b5;background:#f4f3fd;box-shadow:0 0 0 1px #6963b5}.student-tile .avatar{width:44px;height:44px}.student-tile strong{display:block;font-size:11px;margin-top:9px}.student-tile small{font-size:10px}.toolbar-band{display:flex;gap:12px;align-items:center;padding:15px;background:#f0f3f4;border-radius:4px;margin-bottom:24px}.split{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:25px}.aside-card{padding:20px;background:#fafbfc;border:1px solid var(--line);border-radius:4px;align-self:start}.aside-card h3{margin-bottom:15px}.aside-card p{font-size:12px;line-height:1.8;color:#757d86}.steps{display:flex;gap:25px;margin-bottom:28px;border-bottom:1px solid var(--line);padding-bottom:20px}.step{display:flex;gap:7px;align-items:center;color:#aaaeb7;font-size:11px}.step i{background:#e6e8eb;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-style:normal;color:#fff}.step.active{color:#548d88;font-weight:800}.step.active i{background:#5b9e95}.message-layout{display:grid;grid-template-columns:320px 1fr;border:1px solid var(--line);border-radius:4px;min-height:560px}.message-list{border-right:1px solid var(--line)}.message-search{padding:16px;border-bottom:1px solid var(--line)}.message-row{display:flex;gap:10px;padding:17px 16px;border-bottom:1px solid #edf0f2;background:white;cursor:pointer}.message-row.active{background:#f3f2fb;border-left:3px solid var(--purple);padding-left:13px}.message-row h3{font-size:12px}.message-row p{font-size:11px;color:#888e97;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.message-thread{display:flex;flex-direction:column}.thread-title{padding:19px 23px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.thread-body{flex:1;padding:28px;display:flex;flex-direction:column;gap:22px;background:#fdfdfe}.bubble{background:#f0f2f4;border-radius:7px 7px 7px 0;max-width:78%;padding:12px 15px;font-size:12px;line-height:1.7;align-self:flex-start}.bubble.me{background:#e6f4ef;align-self:flex-end;border-radius:7px 7px 0 7px}.bubble small{display:block;font-size:9px;margin-top:7px}.thread-compose{border-top:1px solid var(--line);padding:17px;display:flex;align-items:end;gap:12px}.thread-compose textarea{min-height:52px;max-height:140px;resize:vertical}.attachment-link{padding:10px 12px;background:#fff;border:1px solid #dddfe5;border-radius:5px;margin-top:8px}.kiosk{background:var(--purple);min-height:650px;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:6px;text-align:center}.kiosk h1{color:white;font-size:32px}.kiosk p{margin:12px 0 24px;color:#dfddec}.keypad{display:grid;grid-template-columns:repeat(3,60px);gap:15px;margin:20px 0}.keypad button{border:0;border-radius:50%;width:60px;height:60px;background:white;color:#504b89;font-size:22px}.pin-dots{letter-spacing:18px;font-size:29px;height:40px}.calendar{border:1px solid var(--line);display:grid;grid-template-columns:repeat(7,1fr)}.calendar-header{background:#eff2f4;padding:13px;text-align:center;font-size:11px;font-weight:800}.calendar-cell{min-height:105px;padding:12px;border-top:1px solid var(--line);border-right:1px solid var(--line);font-size:11px}.calendar-cell:nth-child(7n){border-right:0}.calendar-event{display:block;background:#eeeaf9;color:#75668d;margin-top:10px;padding:5px;border-radius:3px;font-size:10px}.calendar-event.teal{background:#e4f3ed;color:#548c79}.progress{height:7px;border-radius:5px;background:#e8ebed;overflow:hidden;margin:8px 0}.progress span{display:block;height:100%;background:#79aaa0}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kanban-col{background:#f5f7f8;border-radius:4px;padding:14px;min-height:420px}.kanban-col h3{font-size:12px;margin-bottom:17px;display:flex;justify-content:space-between}.kanban-card{background:#fff;border:1px solid var(--line);padding:16px;border-radius:4px;margin-bottom:13px;cursor:pointer;box-shadow:0 1px 2px #00000006}.kanban-card h3{font-size:12px;margin:0 0 7px}.kanban-card p{font-size:10px;color:#8c929b;line-height:1.7}.kanban-card .status{margin-top:12px}.chart{height:175px;display:flex;align-items:end;gap:20px;padding:20px 15px 0;border-bottom:1px solid var(--line)}.chart-col{height:100%;flex:1;display:flex;gap:4px;align-items:end;justify-content:center;position:relative}.chart-col span{width:18px;background:#77aaa0;border-radius:2px 2px 0 0}.chart-col span.alt{background:#b3a9da}.chart-col small{position:absolute;bottom:-22px;font-size:9px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.report-category{padding:20px 0}.report-category h2{margin-bottom:20px;font-size:17px}.report-link{display:block;margin-bottom:22px;font-size:13px}.report-link small{display:block;color:#9a9fa7;font-size:11px;margin-top:4px}.popup-menu{position:absolute;right:0;top:calc(100% + 5px);background:white;box-shadow:0 4px 20px #21214120;border:1px solid #e2e4e9;border-radius:5px;z-index:50;min-width:210px;padding:6px}.popup-menu button{width:100%;background:none;border:0;padding:10px 13px;color:#5a577a;font-size:12px;text-align:left}.popup-menu button:hover{background:#f3f1fb}.dropdown{position:relative;display:inline-flex}.modal-backdrop{position:fixed;inset:0;background:#1c203866;display:flex;align-items:center;justify-content:center;z-index:100;padding:35px}.modal{background:white;border-radius:6px;box-shadow:0 12px 70px #14122735;width:540px;max-width:100%;max-height:90vh;display:flex;flex-direction:column}.modal.wide{width:760px}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:22px 25px;border-bottom:1px solid var(--line);gap:20px}.modal-head h2{font-size:19px}.modal-head button{border:0;background:none;font-size:23px;color:#8b9099}.modal-body{padding:25px;overflow:auto}.modal-footer{padding:17px 25px;display:flex;justify-content:end;gap:12px;border-top:1px solid var(--line)}.modal .form-field{margin-bottom:16px}.modal .form-grid .form-field{margin:0}.modal p{font-size:13px;line-height:1.8;color:#737a86}.modal .choice{display:flex;align-items:center;padding:18px;border:1px solid var(--line);border-radius:5px;margin:10px 0;gap:12px;cursor:pointer;background:#fff;width:100%;text-align:left}.modal .choice:hover{border-color:var(--purple);background:#fcfbff}.choice strong{display:block;font-size:13px}.choice small{display:block;margin-top:5px}.signature{height:170px;display:flex;align-items:center;justify-content:center;border:1px dashed #b7bbc9;color:#373946;font-family:cursive;font-style:italic;font-size:40px;margin:20px 0}.help-bubble{position:fixed;right:24px;bottom:20px;background:var(--purple);border:4px solid white;box-shadow:0 2px 9px #0002;border-radius:50%;width:47px;height:47px;display:flex;align-items:center;justify-content:center;color:white;z-index:40;cursor:pointer}#toast{position:fixed;left:calc(50% + 70px);bottom:28px;transform:translateX(-50%) translateY(100px);padding:13px 21px;border:1px solid #d8e9df;background:#f4fcf7;color:#477b60;border-radius:6px;box-shadow:0 3px 15px #0001;font-size:12px;z-index:200;transition:transform .2s;max-width:650px}#toast.visible{transform:translateX(-50%) translateY(0)}.empty-state{text-align:center;padding:65px 30px}.empty-state h2{font-size:18px;margin:15px 0 10px}.empty-state p{color:#89919b;font-size:12px;max-width:420px;line-height:1.8;margin:0 auto 22px}.back{display:inline-flex;gap:6px;font-size:12px;color:#817d96;margin-bottom:22px}.money{font-variant-numeric:tabular-nums}.photo-preview{width:100%;max-height:270px;object-fit:cover;border-radius:4px}.feed-photo{max-width:500px;width:100%;border-radius:4px;margin:12px 0}.teacher-note{padding:14px 17px;background:#faf9ff;border:1px solid #e8e6f2;font-size:12px;border-radius:4px;line-height:1.8;color:#827a95;margin-bottom:23px}.screen-index{display:grid;grid-template-columns:1fr 1fr;gap:12px}.screen-index a{border:1px solid var(--line);padding:16px;border-radius:4px;font-weight:800;font-size:12px}.screen-index small{display:block;font-weight:400;margin-top:6px;line-height:1.6}.checklist{padding-left:18px;color:#707984;font-size:12px;line-height:2.1}.color-dot{width:8px;height:8px;display:inline-block;border-radius:50%;margin-right:6px;background:#77aa9a}.view-all{padding:13px 20px;border-top:1px solid var(--line);font-size:11px;font-weight:800}.report-number{font-size:31px;margin:15px 0}.separator{border:0;border-top:1px solid var(--line);margin:23px 0}.flex{display:flex;align-items:center;gap:12px}.spacer{flex:1}.hide{display:none!important}.inline-check{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#747b85}.inline-check input{accent-color:var(--purple)}.route-content{animation:appear .14s ease}@keyframes appear{from{opacity:.45}to{opacity:1}}@media(min-width:1500px){.page{padding-top:44px}.home-grid{gap:32px}.panel-body{padding:24px}.data-table td{padding-top:16px;padding-bottom:16px}}@media(max-width:1150px){:root{--sidebar:168px}.page{padding:28px 25px 45px}.demo-bar{padding:0 25px}.top-tabs{padding:0 25px;gap:22px}.home-grid{grid-template-columns:270px 1fr}.split{grid-template-columns:1fr 250px}.profile-layout{grid-template-columns:1fr 230px}.grid-3{gap:12px}.student-select{grid-template-columns:repeat(3,1fr)}.message-layout{grid-template-columns:270px 1fr}.page-header{gap:15px}h1{font-size:27px}}@media(max-width:850px){:root{--sidebar:150px}.brand{font-size:19px;padding-left:3px}.nav-link{font-size:11px;padding-left:7px}.nav-link.sub{padding-left:32px}.page{padding:23px 18px}.home-grid,.profile-layout,.split,.grid-2,.profile-grid{grid-template-columns:1fr}.top-tabs{overflow-x:auto;padding:0 18px;gap:20px}.demo-bar{padding:0 18px}.demo-bar .demo-copy{display:none}.metrics{grid-template-columns:1fr 1fr}.page-header{align-items:start;flex-wrap:wrap}.message-layout{grid-template-columns:235px 1fr}.kanban{grid-template-columns:1fr 1fr}.data-table{min-width:650px}.screen-index{grid-template-columns:1fr}.form-grid{gap:16px}.grid-3{grid-template-columns:1fr}.home-stack{gap:20px}}

/* Compact navigation retains the full school menu at laptop heights. */
.sidebar{padding-top:16px}.brand{padding-bottom:20px}.nav-link{min-height:31px;padding-top:7px;padding-bottom:7px;margin:1px 0}.nav-link.sub{min-height:25px;padding-top:4px;padding-bottom:4px}.school-switch{padding:8px;margin:5px 0}.nav-scroll{scrollbar-width:thin;scrollbar-color:#8581d6 transparent}.sidebar-bottom{padding-top:6px}.user-button{padding:6px}.sidebar-bottom .nav-link{padding-top:5px;padding-bottom:5px}

/* Critic pass: readable records and distinct schedule states. */
.route-content{animation:none}.data-table{font-size:13px}.data-table th{font-size:12px}.person-cell .name{font-size:13px}.person-cell small{font-size:11px}.roster-page{max-width:850px;margin:0 auto}.week-calendar{display:grid;grid-template-columns:75px repeat(5,1fr);border:1px solid var(--line)}.week-heading{padding:15px;text-align:center;background:#f0f3f4;border-left:1px solid var(--line);font-weight:800;font-size:12px}.week-corner{background:#f0f3f4}.week-time{padding:10px;font-size:10px;color:#87909a;border-top:1px solid var(--line);min-height:65px}.week-cell{border-left:1px solid var(--line);border-top:1px solid var(--line);padding:5px;min-height:65px}.week-event{border:0;border-left:3px solid #9186c5;background:#eeebf7;text-align:left;width:100%;padding:9px 7px;color:#776b9b;border-radius:3px;font-size:10px}.week-event.teal{background:#e7f3ed;border-color:#75ab9b;color:#538976}.week-event strong,.week-event small{display:block;font-size:10px}.week-event small{margin-top:5px;color:inherit}.recipient-list{padding:8px 0;margin-bottom:10px}

