.help-body{flex:1;grid-template-columns:240px 1fr;gap:0;width:100%;max-width:none;min-height:0;margin:0 auto;display:grid;overflow-y:auto}.help-body a{color:var(--accent);text-decoration:none}.help-body a:hover{text-decoration:underline}.help-sidebar{border-right:1px solid var(--border-mid);background:var(--bg-surface);height:calc(100vh - 54px);padding:28px 0 40px;position:sticky;top:0;overflow-y:auto}.help-sidebar-section{margin-bottom:6px}.help-sidebar-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:8px 20px 4px;font-size:10px;font-weight:700}.help-nav-link{color:var(--text-secondary);border-left:3px solid #0000;border-radius:0;align-items:center;gap:8px;padding:7px 20px;font-size:13px;font-weight:500;text-decoration:none;transition:color .12s,background .12s,border-color .12s;display:flex}.help-nav-link:hover{background:var(--bg-raised);color:var(--text-primary)}.help-nav-link.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim);font-weight:600}.help-nav-dot{border-radius:var(--radius-circle);opacity:.6;background:currentColor;flex-shrink:0;width:6px;height:6px}.help-main{min-width:0;padding:48px 56px 80px}.help-hero{margin-bottom:56px}.help-hero h1{color:var(--text-primary);margin:0 0 14px;font-size:36px;font-weight:800;line-height:1.15}.help-hero p{color:var(--text-secondary);max-width:600px;margin:0;font-size:16px;line-height:1.7}.help-hero-lead{color:var(--text-primary)!important;margin-bottom:10px!important;font-size:17px!important;font-weight:500!important}.help-section-tagline{color:var(--accent);letter-spacing:-.01em;margin:4px 0 18px;font-size:18px;font-style:italic;font-weight:700;line-height:1.3}.help-steps-row{grid-template-columns:repeat(4,1fr);gap:16px;margin:40px 0;display:grid}.help-step{background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-md);padding:20px 18px;position:relative}.help-step:after{content:"→";color:var(--border-hi);pointer-events:none;font-size:18px;position:absolute;top:50%;right:-14px;transform:translateY(-50%)}.help-step:last-child:after{display:none}.help-step-num{border-radius:var(--radius-circle);background:var(--accent);width:28px;height:28px;color:var(--accent-contrast);justify-content:center;align-items:center;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.help-step h3{color:var(--text-primary);margin:0 0 6px;font-size:14px;font-weight:700}.help-step p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.help-section{margin-bottom:64px;scroll-margin-top:80px}.help-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:8px;font-size:10px;font-weight:700;display:inline-flex}.help-section h2{color:var(--text-primary);margin:0 0 10px;font-size:24px;font-weight:800;line-height:1.25}.help-section .help-section-intro{color:var(--text-secondary);max-width:680px;margin:0 0 28px;font-size:14px;line-height:1.7}.help-zones{grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:28px;display:grid}.help-feature-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0;display:grid}.help-feature-card{background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:10px;padding:18px 16px}.help-feature-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:12px;font-size:18px;display:flex}.help-feature-card h3,.help-feature-card h4{color:var(--text-primary);margin:0 0 6px;font-size:13px;font-weight:700}.help-feature-card p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.help-instruction-list{flex-direction:column;gap:14px;margin:20px 0;display:flex}.help-instruction{align-items:flex-start;gap:16px;display:flex}.help-instruction-num{border-radius:var(--radius-circle);background:var(--bg-raised);border:2px solid var(--border-mid);width:26px;height:26px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:12px;font-weight:700;display:flex}.help-instruction-body h3,.help-instruction-body h4{color:var(--text-primary);margin:0 0 4px;font-size:14px;font-weight:600}.help-instruction-body p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.help-instruction-body code{background:var(--bg-raised);border:1px solid var(--border-mid);color:var(--text-primary);border-radius:4px;padding:1px 5px;font-family:monospace;font-size:12px}.help-table{border-collapse:collapse;border:1px solid var(--border-mid);border-radius:var(--radius-sm);width:100%;margin:20px 0;font-size:13px;overflow:hidden}.help-table th{background:var(--bg-base);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border-mid);padding:10px 14px;font-size:11px;font-weight:600}.help-table td{border-bottom:1px solid var(--bg-raised);color:var(--text-primary);vertical-align:top;padding:9px 14px}.help-table tr:last-child td{border-bottom:none}.help-table tr:hover td{background:var(--bg-base)}.help-table td:first-child{color:var(--text-primary);font-weight:600}.help-table code{background:var(--bg-raised);border-radius:3px;padding:1px 4px;font-family:monospace;font-size:11px}.help-tip,.help-note,.help-warning{border-radius:var(--radius-sm);align-items:flex-start;gap:12px;margin:16px 0;padding:14px 16px;font-size:13px;line-height:1.6;display:flex}.help-tip{background:var(--accent-dim);border:1px solid var(--accent-border);color:var(--accent-strong)}.help-note{background:var(--info-dim);border:1px solid var(--info-border);color:var(--info)}.help-warning{background:var(--warning-dim);border:1px solid var(--warning);color:var(--warning)}.help-callout-icon{flex-shrink:0;margin-top:1px;font-size:16px}.help-tip strong,.help-note strong,.help-warning strong{font-weight:700}.help-tip a,.help-note a,.help-warning a{text-decoration:underline}.help-roles{flex-direction:column;gap:10px;margin:20px 0;display:flex}.role-sysadmin{background:var(--error-dim);color:var(--error)}.role-schooladmin{background:var(--info-dim);color:var(--info)}.role-teacher{background:var(--accent-dim);color:var(--accent-strong)}.role-user{background:var(--bg-base);color:var(--text-secondary)}.help-shortcuts{grid-template-columns:1fr 1fr;gap:10px;margin:20px 0;display:grid}.help-shortcut{background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 14px;display:flex}.help-shortcut kbd{background:var(--bg-raised);border:1px solid var(--border-hi);border-bottom:3px solid var(--text-muted);color:var(--text-primary);white-space:nowrap;border-radius:5px;flex-shrink:0;padding:2px 7px;font-family:monospace;font-size:11px;font-weight:700}.help-shortcut span{color:var(--text-secondary);font-size:12px}.help-diagram{background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-md);margin:20px 0;overflow:hidden}.hd-corner{background:var(--bg-base);border-right:1px solid var(--border-mid);border-bottom:1px solid var(--border-mid)}.hd-cols{color:#1f497d;letter-spacing:.05em;text-transform:uppercase;background:#c9daf8;border-bottom:1px solid #9fc5e8;justify-content:center;align-items:center;display:flex}.hd-rows{color:#274e13;letter-spacing:.05em;text-transform:uppercase;writing-mode:vertical-lr;background:#d9ead3;border-right:1px solid #b6d7a8;justify-content:center;align-items:center;display:flex;transform:rotate(180deg)}.hd-vals{background:var(--accent-dim);color:var(--accent-strong);letter-spacing:.03em;justify-content:center;align-items:center;display:flex}.help-divider{border:none;border-top:1px solid var(--border-mid);margin:48px 0}.help-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-mid);margin-top:40px;padding:40px 0;font-size:12px}.help-footer a{color:var(--accent);text-decoration:underline}.help-flow{flex-direction:column;margin:20px 0 28px;display:flex;position:relative}.help-flow:before{content:"";background:var(--border-mid);z-index:0;width:2px;position:absolute;top:26px;bottom:26px;left:12px}.help-td-check{text-align:center;color:var(--accent-strong);font-size:15px;font-weight:700}.help-td-dash{text-align:center;color:var(--border-hi);font-size:15px}@media (max-width:900px){.help-body{grid-template-columns:1fr}.help-sidebar{border-right:none;border-bottom:1px solid var(--border-mid);flex-wrap:wrap;gap:4px;height:auto;padding:16px 0;display:flex;position:static}.help-nav-link{border-bottom:2px solid #0000;border-left:none;padding:6px 12px}.help-main{padding:28px 20px 60px}.help-steps-row,.help-feature-grid{grid-template-columns:repeat(2,1fr)}.help-shortcuts,.help-zones{grid-template-columns:1fr}}.help-section-tagline{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;margin:-8px 0 16px;font-size:13px;font-style:normal;font-weight:600}.help-subsection-title{color:var(--text-primary);margin:24px 0 10px;font-size:15px;font-weight:700}.help-subsection-title--lg{margin:28px 0 14px}.help-feature-icon--bin{background:var(--violet-dim);color:var(--violet)}.help-feature-icon--derived{background:var(--info-dim);color:var(--info);font-size:20px}#dashboard h3{color:var(--text-primary);margin:28px 0 10px;font-size:15px;font-weight:700}#dashboard>p{color:var(--text-secondary);max-width:680px;margin:0 0 16px;font-size:14px;line-height:1.7}.help-list{max-width:680px;margin:0 0 20px;padding-left:20px}.help-list li{color:var(--text-secondary);margin-bottom:6px;font-size:14px;line-height:1.7}.help-anim{max-width:460px;margin:8px 0 32px}.ha-stage{background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-md);padding:18px;position:relative;overflow:hidden}.ha-cap{color:var(--text-secondary);margin-top:10px;font-size:12.5px;line-height:1.5}.ha-cap strong{color:var(--text-primary);font-weight:700}.ha-zones-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.ha-zone{border:1.5px dashed var(--border-hi);border-radius:var(--radius-sm);flex-direction:column;gap:6px;min-height:52px;padding:7px 8px 8px;display:flex}.ha-zone--rows{background:var(--info-dim)}.ha-zone--cols{background:var(--violet-dim)}.ha-zone--vals{background:var(--accent-dim)}.ha-zlabel{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-size:9px;font-weight:800}.ha-pill{color:#fff;border-radius:6px;align-self:flex-start;padding:3px 8px;font-size:11px;font-weight:700;box-shadow:0 1px 2px #00000026}.ha-pill--rows{background:#1a73e8;animation:7s ease-in-out infinite haDrop1}.ha-pill--cols{background:#7b2ff7;animation:7s ease-in-out infinite haDrop2}.ha-pill--vals{background:var(--accent);color:var(--accent-contrast);animation:7s ease-in-out infinite haDrop3}.ha-table{border-collapse:collapse;width:100%;font-size:11px}.ha-table--build{animation:7s ease-in-out infinite haBuild}.ha-table th,.ha-table td{border:1px solid var(--border-mid);text-align:center;color:var(--text-secondary);padding:4px 6px}.ha-table thead th{background:var(--bg-raised);color:var(--text-primary);font-weight:700}.ha-table tbody th{text-align:left;color:var(--text-primary);background:var(--bg-raised);font-weight:600}@keyframes haDrop1{0%,8%{opacity:0;transform:translateY(-7px)scale(.9)}13%,90%{opacity:1;transform:translateY(0)scale(1)}96%,to{opacity:0;transform:translateY(-7px)scale(.9)}}@keyframes haDrop2{0%,18%{opacity:0;transform:translateY(-7px)scale(.9)}23%,90%{opacity:1;transform:translateY(0)scale(1)}96%,to{opacity:0;transform:translateY(-7px)scale(.9)}}@keyframes haDrop3{0%,28%{opacity:0;transform:translateY(-7px)scale(.9)}33%,90%{opacity:1;transform:translateY(0)scale(1)}96%,to{opacity:0;transform:translateY(-7px)scale(.9)}}@keyframes haBuild{0%,40%{opacity:0;transform:translateY(10px)scale(.98)}48%,90%{opacity:1;transform:translateY(0)scale(1)}96%,to{opacity:0;transform:translateY(10px)scale(.98)}}.ha-selectors{flex-wrap:wrap;gap:7px;margin-bottom:16px;display:flex}.ha-sel{color:var(--text-secondary);background:var(--bg-raised);border:1px solid var(--border-mid);border-radius:6px;padding:4px 9px;font-size:10.5px;font-weight:700}.ha-sel:after{content:" ▾";opacity:.6}.ha-sel--on{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent);animation:7s ease-in-out infinite haSel}.ha-bars{border-bottom:2px solid var(--border-mid);align-items:flex-end;gap:12px;height:120px;padding:0 6px;display:flex}.ha-bar{background:var(--accent);transform-origin:bottom;border-radius:4px 4px 0 0;flex:1;animation:7s ease-in-out infinite haGrow;transform:scaleY(0)}.ha-bar--1{height:55%}.ha-bar--2{height:80%}.ha-bar--3{height:42%}.ha-bar--4{height:68%}.ha-bar--5{height:92%}@keyframes haGrow{0%,14%{transform:scaleY(0)}32%,88%{transform:scaleY(1)}96%,to{transform:scaleY(0)}}@keyframes haSel{0%,14%{opacity:.45}32%,to{opacity:1}}.ha-compare{text-align:center}.ha-cmp-sources{justify-content:center;gap:10px;margin-bottom:4px;display:flex}.ha-ds{border:1px solid var(--border-mid);background:var(--bg-raised);color:var(--text-primary);border-radius:7px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-block}.ha-ds--a,.ha-ds--b{animation:7s ease-in-out infinite haCmpSource}.ha-cmp-arrow{color:var(--accent);font-size:15px;animation:7s ease-in-out infinite haMergeArrow;display:block}.ha-ds--combined{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);margin:2px 0 22px;animation:7s ease-in-out infinite haCmpCombined}.ha-cmp-bars{justify-content:center;align-items:flex-end;gap:20px;height:84px;display:flex}.ha-cmp-bar{background:var(--accent);transform-origin:bottom;border-radius:4px 4px 0 0;width:46px;animation:7s ease-in-out infinite haCmpBar;position:relative;transform:scaleY(0)}.ha-cmp-bar i{color:var(--text-secondary);font-size:10px;font-style:normal;position:absolute;bottom:-17px;left:0;right:0}.ha-cmp-bar--25{opacity:.5;height:55%}.ha-cmp-bar--26{height:84%}@keyframes haCmpSource{0%,35%{opacity:1;transform:translateY(0)}45%,to{opacity:0;transform:translateY(6px)}}@keyframes haMergeArrow{0%,30%{opacity:0}40%,52%{opacity:1}62%,to{opacity:0}}@keyframes haCmpCombined{0%,40%{opacity:0;transform:translateY(-6px)scale(.95)}50%,92%{opacity:1;transform:translateY(0)scale(1)}98%,to{opacity:0}}@keyframes haCmpBar{0%,55%{transform:scaleY(0)}73%,90%{transform:scaleY(1)}98%,to{transform:scaleY(0)}}.ha-export{text-align:center}.ha-export .ha-table{margin-bottom:12px}.ha-xbtns{justify-content:center;gap:8px;margin-bottom:14px;display:flex}.ha-xbtn{color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border-mid);border-radius:7px;padding:4px 11px;font-size:11px;font-weight:700}.ha-xbtn--csv{animation:7s ease-in-out infinite haXbtn1}.ha-xbtn--doc{animation:7s ease-in-out infinite haXbtn2}.ha-files{justify-content:center;gap:12px;display:flex}.ha-file{border:1px solid var(--border-mid);background:var(--bg-raised);color:var(--text-primary);border-radius:7px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:inline-flex}.ha-file:before{content:"";border-radius:1.5px;width:8px;height:10px;display:inline-block}.ha-file--csv:before{background:#1a7f4b}.ha-file--doc:before{background:#1a73e8}.ha-file--csv{animation:7s ease-in-out infinite haFile1}.ha-file--doc{animation:7s ease-in-out infinite haFile2}@keyframes haXbtn1{0%,34%{background:var(--bg-raised);color:var(--text-primary)}40%,48%{background:var(--accent);color:var(--accent-contrast)}54%,to{background:var(--bg-raised);color:var(--text-primary)}}@keyframes haXbtn2{0%,46%{background:var(--bg-raised);color:var(--text-primary)}52%,60%{background:var(--accent);color:var(--accent-contrast)}66%,to{background:var(--bg-raised);color:var(--text-primary)}}@keyframes haFile1{0%,40%{opacity:0;transform:translateY(10px)scale(.92)}50%,90%{opacity:1;transform:translateY(0)scale(1)}97%,to{opacity:0;transform:translateY(10px)scale(.92)}}@keyframes haFile2{0%,52%{opacity:0;transform:translateY(10px)scale(.92)}62%,90%{opacity:1;transform:translateY(0)scale(1)}97%,to{opacity:0;transform:translateY(10px)scale(.92)}}@media (prefers-reduced-motion:reduce){.ha-pill,.ha-table--build,.ha-bar,.ha-sel--on,.ha-ds--a,.ha-ds--b,.ha-ds--combined,.ha-cmp-arrow,.ha-cmp-bar,.ha-xbtn,.ha-file,.ha-cell-hot,.ha-cursor,.ha-drawer,.ha-row-drop,.ha-row-keep{animation:none}.ha-pill,.ha-table--build,.ha-ds--combined,.ha-cmp-arrow,.ha-file,.ha-drawer{opacity:1;transform:none}.ha-cursor{opacity:0}.ha-row-drop{opacity:.14}.ha-bar,.ha-cmp-bar{transform:scaleY(1)}}.ha-drill{min-height:168px}.ha-cell-hot{border-radius:4px;animation:6s ease-in-out infinite ha-hot;position:relative}@keyframes ha-hot{0%,22%{background:0 0}30%,88%{background:color-mix(in srgb, var(--accent) 18%, transparent)}to{background:0 0}}.ha-cursor{border:2px solid var(--text-primary);border-radius:var(--radius-circle);opacity:0;width:12px;height:12px;animation:6s ease-in-out infinite ha-cursor;position:absolute;top:34%;left:30%}@keyframes ha-cursor{0%{opacity:0;transform:translate(14px,14px)}14%{opacity:1;transform:translate(14px,14px)}26%{opacity:1;transform:translate(0)}32%{opacity:1;transform:translate(0)scale(.65)}40%,to{opacity:0;transform:translate(0)}}.ha-drawer{background:var(--bg-raised);border:1px solid var(--border-mid);opacity:0;border-radius:9px;flex-direction:column;gap:4px;padding:9px 11px;animation:6s ease-in-out infinite ha-drawer;display:flex;position:absolute;bottom:12px;left:12px;right:12px;transform:translateY(10px)}@keyframes ha-drawer{0%,34%{opacity:0;transform:translateY(10px)}44%,88%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.ha-drawer-title{color:var(--text-primary);font-size:11.5px;font-weight:700}.ha-drawer-row{color:var(--text-secondary);font-size:11px}.ha-filter{min-height:168px}.ha-filter-chip{background:var(--bg-raised);border:1px solid var(--border-mid);border-radius:var(--radius-pill);align-items:center;gap:6px;margin-bottom:12px;padding:4px 10px;display:inline-flex}.ha-filter-field{color:var(--text-secondary);font-size:11px}.ha-filter-val{color:var(--accent);font-size:11px;font-weight:700}.ha-row-drop{animation:6s ease-in-out infinite ha-drop}@keyframes ha-drop{0%,26%{opacity:1}40%,88%{opacity:.14}to{opacity:1}}.ha-row-keep{animation:6s ease-in-out infinite ha-keep}@keyframes ha-keep{0%,26%{background:0 0}40%,88%{background:color-mix(in srgb, var(--accent) 14%, transparent)}to{background:0 0}}
