:root{--ink:#15353a;--ink-2:#234c50;--muted:#678186;--line:rgba(72,126,128,.2);--primary:#0c8272;--primary-2:#39aa7c;--teal-dark:#075f5a;--success:#169875;--warning:#d78a18;--danger:#d14e60;--bg:#edf7f5;--glass:rgba(255,255,255,.7);--shadow:0 18px 46px rgba(26,78,73,.12)}*{box-sizing:border-box}body{min-height:100vh;margin:0;background:linear-gradient(135deg,#f8fcfb 0%,#eaf7f4 47%,#f5faf7 100%);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;font-size:.94rem}.app-orb{position:fixed;border-radius:50%;filter:blur(5px);pointer-events:none;z-index:-1;opacity:.48}.orb-one{width:300px;height:300px;top:-110px;left:12%;background:#bfeedd;animation:float 14s ease-in-out infinite}.orb-two{width:390px;height:390px;right:-110px;top:28%;background:#ccebe5;animation:float 17s ease-in-out infinite reverse}.orb-three{width:260px;height:260px;left:30%;bottom:-130px;background:#d8f2bd;animation:float 19s ease-in-out infinite}@keyframes float{50%{transform:translateY(18px) translateX(-9px)}}.glass-panel{background:var(--glass);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:22px}.app-shell{display:flex;max-width:1580px;min-height:100vh;margin:auto;padding:20px;gap:22px}.sidebar{display:flex;flex-direction:column;position:sticky;top:20px;width:267px;align-self:flex-start;min-height:calc(100vh - 40px);padding:20px 14px;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:1px 8px 18px;color:var(--ink);text-decoration:none}.brand-mark,.auth-brand-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 7px 16px rgba(12,130,114,.25);font-size:1.25rem}.brand span:not(.brand-mark){letter-spacing:.09em;line-height:1.05;font-family:"Plus Jakarta Sans",sans-serif}.brand strong{font-size:1.02rem;display:block}.brand small{font-size:.62rem;font-weight:800;color:var(--primary)}.profile-chip{display:flex;gap:10px;align-items:center;margin:0 4px 21px;padding:11px;border:1px solid var(--line);background:rgba(255,255,255,.55);border-radius:15px}.profile-initial{display:grid;place-items:center;flex:none;width:34px;height:34px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));border-radius:11px;font-weight:700}.profile-chip strong,.profile-chip small{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-chip strong{font-size:.8rem}.profile-chip small{font-size:.68rem;color:var(--muted)}.app-nav{gap:4px}.app-nav a,.logout-link{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;color:#486b70;text-decoration:none;font-weight:600;font-size:.86rem;transition:.22s ease}.app-nav a i{width:17px;text-align:center;font-size:1rem}.app-nav a:hover{color:var(--primary);background:rgba(230,249,244,.78);transform:translateX(2px)}.app-nav a.active{color:#fff;background:linear-gradient(105deg,#0d8272,#3ba97b);box-shadow:0 8px 18px rgba(12,130,114,.22)}.sidebar-note{display:flex;gap:8px;align-items:center;margin:18px 5px 10px;padding:10px;color:#467173;border-top:1px solid var(--line);font-size:.68rem;line-height:1.3}.sidebar-note i{font-size:1rem;color:var(--primary)}.sidebar-note strong{font-size:.72rem}.logout-link{margin-top:auto;color:#ad4552}.logout-link:hover{color:#963541;background:#fff0f2}.main-content{min-width:0;flex:1;padding:7px 3px 32px}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:73px;margin-bottom:21px}.topbar h1{margin:0;font:800 1.55rem/1.25 "Plus Jakarta Sans",sans-serif;letter-spacing:-.045em}.eyebrow{margin:0;color:#498c82;font-size:.67rem;font-weight:800;letter-spacing:.13em}.topbar-date{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:.8rem;background:rgba(255,255,255,.46)}.topbar-date i{color:var(--primary)}.sidebar-toggle{border:0;background:transparent;color:var(--primary);font-size:1.5rem}.app-alert{display:flex;align-items:center;gap:9px;border:0;border-radius:14px;box-shadow:0 9px 22px rgba(33,64,97,.08);padding:13px 16px}.app-alert .btn-close{margin-left:auto}.page-intro{max-width:850px}.page-intro h2{margin:4px 0 8px;font:800 1.55rem "Plus Jakarta Sans",sans-serif;letter-spacing:-.045em}.page-intro p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.7}.hero-panel{display:flex;align-items:center;justify-content:space-between;padding:29px 33px;overflow:hidden;background:linear-gradient(115deg,rgba(255,255,255,.8),rgba(226,248,240,.78))}.hero-panel h2{margin:4px 0 7px;font:800 1.55rem "Plus Jakarta Sans",sans-serif;letter-spacing:-.045em}.hero-panel p:not(.eyebrow){margin:0;color:var(--muted)}.hero-actions{display:flex;gap:9px;margin-top:18px}.hero-leaf{display:grid;place-items:center;position:relative;width:119px;height:119px;margin-right:17px;border-radius:33px;color:#238f71;background:radial-gradient(circle at 32% 30%,#f8fffb,#d6f5e7);border:1px solid rgba(255,255,255,.9);box-shadow:inset 0 0 25px rgba(36,157,113,.12)}.hero-leaf i{font-size:3.2rem}.hero-leaf span{position:absolute;bottom:19px;color:#398069;font:800 .61rem "Plus Jakarta Sans",sans-serif;letter-spacing:.15em}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card{display:flex;align-items:center;gap:12px;padding:17px}.metric-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:14px;font-size:1.2rem}.metric-icon.blue{color:#286eaa;background:#e2f2ff}.metric-icon.violet{color:#6555ce;background:#eeeaff}.metric-icon.teal{color:#11886b;background:#dcf7ed}.metric-icon.amber{color:#be7418;background:#fff1da}.metric-card small{display:block;color:var(--muted);font-size:.69rem;font-weight:600}.metric-card strong{display:block;font:800 1.24rem "Plus Jakarta Sans",sans-serif;letter-spacing:-.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.metric-card em{font:500 .7rem "DM Sans",sans-serif;color:var(--muted);letter-spacing:0}.content-card{padding:22px}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:19px}.section-heading h3{margin:3px 0 0;font:800 1.12rem "Plus Jakarta Sans",sans-serif;letter-spacing:-.035em}.section-icon{font-size:1.9rem;color:var(--primary)}.section-link,.back-link{color:var(--primary);text-decoration:none;font-size:.78rem;font-weight:700;white-space:nowrap}.section-link i{transition:.2s}.section-link:hover i{transform:translateX(3px)}.winner-history{display:grid;gap:1px}.winner-week{display:flex;align-items:center;gap:12px;padding:11px 5px;border-bottom:1px solid var(--line)}.winner-week:last-child{border-bottom:0}.week-calendar{display:grid;place-items:center;width:40px;height:42px;border:1px solid #d8ece6;border-radius:11px;background:#fbfffe;line-height:1}.week-calendar span{font:800 1.05rem "Plus Jakarta Sans",sans-serif}.week-calendar small{font-size:.59rem;color:var(--primary);font-weight:700;text-transform:uppercase}.winner-week-copy{flex:1;min-width:0}.winner-week-copy small,.winner-week-copy strong,.winner-week-copy span{display:block}.winner-week-copy small{font-size:.61rem;color:var(--muted);font-weight:700}.winner-week-copy strong{font-size:.9rem;margin:2px 0}.winner-week-copy span{font-size:.68rem;color:var(--muted)}.winner-week>i{color:#d69a1c;font-size:1.15rem}.rank-list{list-style:none;margin:0;padding:0}.rank-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.rank-list li:last-child{border-bottom:0}.rank-list li>div{flex:1;min-width:0}.rank-list strong,.rank-list small{display:block}.rank-list strong{font-size:.84rem}.rank-list small{color:var(--muted);font-size:.66rem}.rank-list b{font:800 .94rem "Plus Jakarta Sans",sans-serif}.rank-badge{display:grid;place-items:center;width:27px;height:27px;flex:none;border-radius:9px;color:#467277;background:#e7f3f0;font-size:.74rem;font-weight:800}.rank-1{color:#996810;background:#ffefbd}.rank-2{color:#566b74;background:#e8eef1}.rank-3{color:#9c5c30;background:#f9e4d4}.app-table{--bs-table-bg:transparent;--bs-table-hover-bg:rgba(222,246,238,.42);margin:0}.app-table thead th{padding:0 11px 10px;border-bottom:1px solid #cde3dc;color:#638087;font-size:.65rem;font-weight:800;letter-spacing:.06em;white-space:nowrap}.app-table tbody td{padding:12px 11px;border-color:rgba(96,143,137,.14);color:#3c5d62;font-size:.81rem}.app-table td strong,.app-table td small{display:block}.app-table td strong{color:var(--ink);font-size:.84rem}.app-table td small{color:var(--muted);font-size:.67rem;margin-top:2px}.status-pill,.role-pill,.evidence-count,.week-range{display:inline-flex;align-items:center;gap:4px;max-width:max-content;padding:4px 8px;border-radius:999px;font-size:.67rem;font-weight:700;white-space:nowrap}.status-pill.excellent{color:#08745a;background:#d8f5eb}.status-pill.good{color:#16754e;background:#e1f6dd}.status-pill.fair{color:#9d6814;background:#fff0d0}.status-pill.poor,.status-pill.critical{color:#a94b54;background:#ffe6e9}.status-pill.info{color:#276e9d;background:#e1f2fb}.status-pill.neutral{color:#687b81;background:#eef2f2}.evidence-count{color:#497c74;background:#e7f4ef}.btn{border-radius:10px;font-weight:700;font-size:.81rem;padding:.6rem .85rem}.btn-primary{border:0;background:linear-gradient(105deg,#0d8272,#30a677);box-shadow:0 7px 15px rgba(12,130,114,.2)}.btn-primary:hover,.btn-primary:focus{background:linear-gradient(105deg,#096e61,#258f68)}.btn-soft-primary{color:#08796a;background:#def6ed;border:1px solid #ccefe3}.btn-soft-primary:hover{color:#076457;background:#c8eddf}.btn-soft-danger{color:#af4552;background:#ffe7ea;border:1px solid #f9d5da}.btn-light{border-color:#dae9e5;background:#f9fdfc;color:#47676b}.empty-state{display:grid;place-items:center;gap:8px;min-height:190px;padding:28px;text-align:center;color:var(--muted)}.empty-state i{font-size:1.7rem;color:#9dbbb3}.empty-state p{max-width:320px;margin:0;line-height:1.55}.empty-state.compact{min-height:120px;padding:16px}.app-footer{display:flex;justify-content:space-between;gap:12px;padding:22px 3px 0;color:#76928f;font-size:.68rem}.filter-card{padding:18px 20px}.form-label{margin-bottom:6px;color:#3e6465;font-size:.75rem;font-weight:700}.form-control,.form-select{min-height:42px;border-color:#cfe2dc;border-radius:10px;color:var(--ink);font-size:.83rem}.form-control:focus,.form-select:focus{border-color:#5fb79d;box-shadow:0 0 0 .2rem rgba(71,171,137,.13)}textarea.form-control{min-height:auto}.field-note{display:block;margin-top:5px;color:#718a8a;font-size:.66rem}.evaluator-line{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #d8eee7;border-radius:10px;background:#f3fbf8;color:#52736f;font-size:.78rem}.evaluator-line i{color:var(--primary)}.evaluator-line strong{color:var(--ink)}.evaluator-line small{margin-left:auto;color:#78918d;font-size:.67rem}.assessment-aspect{padding:0;overflow:hidden}.assessment-aspect .section-heading{align-items:center;margin:0;padding:18px 22px 14px}.aspect-total{padding:7px 10px;border-radius:9px;color:#117762;background:#e0f6ee;font-size:.76rem;font-weight:800}.assessment-table{--bs-table-bg:transparent;margin:0}.assessment-table thead{background:#f4fbf8}.assessment-table thead th{padding:11px;border-color:#d8ebe5;color:#5e7c7b;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.assessment-table td{padding:12px 11px;border-color:#e0eee9;color:#426468;font-size:.78rem}.assessment-table .number-column{width:55px;text-align:center}.assessment-table .number-column span{display:grid;place-items:center;width:25px;height:25px;margin:auto;border-radius:8px;color:#157b69;background:#e4f6f0;font-size:.7rem;font-weight:800}.assessment-table .score-column{width:155px}.assessment-table .value-column{width:76px;text-align:right}.assessment-table .weighted-value{color:#08776a;font-weight:800;text-align:right}.score-select{min-height:35px;padding-top:.35rem;padding-bottom:.35rem;font-size:.71rem}.check-grid{display:grid;grid-template-columns:1fr;gap:7px}.check-tile{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:35px;padding:8px 10px;border:1px solid #d7e9e4;border-radius:9px;background:#fbfefd;color:#486a69;font-size:.75rem;transition:.18s}.check-tile:hover{border-color:#9bd5c4;background:#f0faf6}.check-tile input{width:15px;height:15px;accent-color:var(--primary)}.score-sticky{position:sticky;top:25px}.score-summary{padding:25px;text-align:center}.score-number{margin-top:5px;color:#0b796a;font:800 3.55rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:-.08em}.score-out-of{margin:3px 0 10px;color:var(--muted);font-size:.7rem}.score-summary .status-pill{margin:0 auto}.score-progress{height:8px;overflow:hidden;margin:18px 0;border-radius:999px;background:#e8f2ef}.score-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0c8272,#65c573);transition:width .2s}.score-summary dl{margin:16px 0 12px;text-align:left}.score-summary dl>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}.score-summary dt,.score-summary dd{margin:0;font-size:.74rem}.score-summary dt{color:var(--muted);font-weight:500}.score-summary dd{color:var(--ink);font-weight:800}.scale-guide{padding:10px;text-align:left;border-radius:10px;background:#f1faf7}.scale-guide strong,.scale-guide span{display:block}.scale-guide strong{font-size:.7rem}.scale-guide span{margin-top:3px;color:var(--muted);font-size:.64rem;line-height:1.4}.submit-note{display:flex;gap:5px;margin:12px 0 0;text-align:left;color:#708b87;font-size:.66rem;line-height:1.45}.submit-note i{color:#22856f}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 30px;background:linear-gradient(115deg,rgba(255,255,255,.82),rgba(225,247,239,.75))}.detail-header h2{margin:4px 0;font:800 1.7rem "Plus Jakarta Sans",sans-serif}.detail-header p:not(.eyebrow){margin:0;color:var(--muted);font-size:.84rem}.detail-score{display:grid;justify-items:center;gap:7px;min-width:150px;padding:10px}.detail-score>strong{color:#0a7b69;font:800 2.7rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:-.07em}.detail-score small{color:var(--muted);font-size:.68rem}.detail-items .aspect-label td{padding:8px 11px;color:#177b6a;background:#eff9f5;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.mini-score{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;color:#0a7665;background:#e0f4ed;font-size:.73rem;font-weight:800}.detail-list>div{padding:11px 0;border-bottom:1px solid var(--line)}.detail-list>div:last-child{border:0}.detail-list small{display:block;margin-bottom:4px;color:#6e8987;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.detail-list p{margin:0;color:#3f6263;font-size:.78rem;line-height:1.55}.finding-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}.finding-list li{display:flex;gap:6px;color:#506d6e;font-size:.75rem}.finding-list i{color:#ce7449}.evidence-list{display:grid;gap:8px}.evidence-item{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #d9eae5;border-radius:10px;color:var(--ink);text-decoration:none}.evidence-item:hover{border-color:#9acdbf;background:#f4fcf9}.evidence-item>span{display:grid;place-items:center;flex:none;width:29px;height:29px;color:#e34836;background:#fff3f1;border-radius:8px}.evidence-item>div{min-width:0;flex:1}.evidence-item strong,.evidence-item small{display:block}.evidence-item strong{font-size:.72rem}.evidence-item small{overflow:hidden;color:var(--muted);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.evidence-item>i{color:#7d9792;font-size:.8rem}.drive-instruction{display:flex;align-items:center;gap:12px}.drive-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:13px;color:#e2493f;background:#fff2ef;font-size:1.2rem}.drive-instruction>div{flex:1}.drive-instruction strong{display:block;font-size:.88rem}.drive-instruction p{margin:3px 0 0;color:var(--muted);font-size:.74rem;line-height:1.45}.soft-rule{margin:20px 0;border-color:#dcece7}.process-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}.process-list li{display:flex;gap:10px;align-items:center}.process-list li>span{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:10px;color:#0c7e6c;background:#e1f5ed;font-size:.75rem;font-weight:800}.process-list strong,.process-list small{display:block}.process-list strong{font-size:.78rem}.process-list small{color:var(--muted);font-size:.68rem}.privacy-note{display:flex;gap:8px;margin-top:20px;padding:11px;border-radius:10px;color:#587774;background:#eff9f6;font-size:.7rem;line-height:1.5}.privacy-note i{color:#168571}.privacy-note p{margin:0}.week-range{padding:8px 10px;color:#3b746a;background:#e5f6ef;font-size:.72rem}.winner-card{position:relative;overflow:hidden;padding:26px;text-align:center;color:#fff;background:linear-gradient(135deg,#087b6c,#2aa66f)}.winner-card:after{position:absolute;right:-30px;bottom:-48px;width:150px;height:150px;border:25px solid rgba(255,255,255,.09);border-radius:50%;content:""}.winner-card-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.winner-card .eyebrow{color:#c8ffdc}.winner-card-top i{color:#fff1a1;font-size:1.3rem}.winner-medallion{display:grid;place-items:center;position:relative;z-index:1;width:54px;height:54px;margin:12px auto;border:1px solid rgba(255,255,255,.4);border-radius:18px;color:#fbe68d;background:rgba(255,255,255,.13);font-size:1.6rem}.winner-card h3,.winner-card>strong,.winner-card>span{position:relative;z-index:1;display:block}.winner-card h3{margin:0;font:800 1.45rem "Plus Jakarta Sans",sans-serif}.winner-card>strong{margin:6px 0 2px;font:800 2.5rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:-.07em}.winner-card>span{font-size:.7rem;color:#d8fff1}.winner-card .empty-state{position:relative;z-index:1;color:#d5fff0}.winner-card .empty-state i{color:#e5fbb6}.rank-table .winner-row td{background:rgba(241,255,207,.47)}.rank-table td:nth-child(2) small{color:#c58c15}.flyer-toolbar{display:flex;justify-content:space-between;align-items:center;max-width:820px;margin:0 auto 15px}.flyer-page{position:relative;overflow:hidden;max-width:820px;margin:0 auto;border-radius:28px;color:#fff;background:linear-gradient(145deg,#075d57 0%,#0e8a74 51%,#2bb278 100%);box-shadow:0 26px 65px rgba(9,83,69,.24)}.flyer-watermark{position:absolute;top:-70px;right:-52px;opacity:.08;font-size:19rem;line-height:1}.flyer-header{display:flex;justify-content:space-between;align-items:center;position:relative;padding:25px 32px;border-bottom:1px solid rgba(255,255,255,.17)}.flyer-school{display:flex;align-items:center;gap:10px}.flyer-mark{display:grid;place-items:center;width:33px;height:33px;border:1px solid rgba(255,255,255,.4);border-radius:10px;font-size:1rem}.flyer-school strong,.flyer-school small{display:block}.flyer-school strong{font:800 .78rem "Plus Jakarta Sans",sans-serif;letter-spacing:.08em}.flyer-school small{margin-top:2px;color:#bff4d9;font-size:.55rem;letter-spacing:.09em}.flyer-pill{padding:6px 10px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.1);font-size:.61rem;font-weight:800;letter-spacing:.08em}.flyer-hero{position:relative;min-height:280px;padding:38px 250px 32px 43px}.flyer-hero>p:first-child{margin:0;color:#d7ffe8;font-size:.67rem;font-weight:800;letter-spacing:.13em}.flyer-hero h1{max-width:450px;margin:11px 0 8px;font:800 clamp(2rem,5vw,3.35rem)/1 "Plus Jakarta Sans",sans-serif;letter-spacing:-.07em}.flyer-score{display:flex;align-items:end;gap:7px}.flyer-score span{font:800 2.3rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:-.07em}.flyer-score small{padding-bottom:4px;color:#d5fae6;font-size:.61rem;font-weight:800;letter-spacing:.09em}.flyer-date{margin:13px 0 0!important;color:#d0fae3!important;font-size:.7rem!important}.flyer-trophy{display:grid;place-items:center;position:absolute;right:64px;top:53px;width:139px;height:139px;border:1px solid rgba(255,255,255,.35);border-radius:42px;color:#fae384;background:rgba(255,255,255,.11);box-shadow:inset 0 0 32px rgba(255,255,255,.08);font-size:4.2rem;transform:rotate(8deg)}.flyer-message{position:relative;margin:0 32px;padding:18px 23px;border:1px solid rgba(255,255,255,.19);border-radius:17px;background:rgba(0,66,59,.18)}.flyer-message>i{position:absolute;left:12px;top:7px;opacity:.18;font-size:2.7rem}.flyer-message p{margin:0;font:700 1rem "Plus Jakarta Sans",sans-serif}.flyer-message span{display:block;margin-top:5px;color:#cff9e2;font-size:.68rem}.flyer-ranking{position:relative;padding:28px 32px}.flyer-section-title{display:flex;justify-content:space-between;margin-bottom:13px;color:#d4fae3;font-size:.65rem;font-weight:800;letter-spacing:.12em}.flyer-ranking-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.flyer-rank{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 10px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(0,72,62,.17)}.flyer-rank-first{border-color:#ffe889;background:rgba(255,234,140,.16)}.flyer-position{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:8px;color:#0b7664;background:#c8fae0;font-size:.67rem;font-weight:800}.flyer-rank-first .flyer-position{color:#876112;background:#ffed98}.flyer-rank div{flex:1;min-width:0}.flyer-rank strong,.flyer-rank small{display:block}.flyer-rank strong{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.flyer-rank small{color:#c9f1dc;font-size:.59rem}.flyer-rank b{font:800 .85rem "Plus Jakarta Sans",sans-serif}.flyer-footer{display:flex;justify-content:space-between;padding:16px 32px;border-top:1px solid rgba(255,255,255,.17);color:#d0f9e2;font-size:.61rem}.report-sheet{padding:28px}.report-heading{display:flex;align-items:start;justify-content:space-between;gap:15px;padding-bottom:20px;border-bottom:1px solid var(--line)}.report-heading h3{margin:4px 0;color:var(--ink);font:800 1.25rem "Plus Jakarta Sans",sans-serif}.report-heading p:not(.eyebrow){margin:0;color:var(--muted);font-size:.75rem}.report-actions{display:flex;gap:7px}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:20px 0;background:#d7eae4;border:1px solid #d7eae4;border-radius:13px;overflow:hidden}.report-metrics>div{padding:15px;background:rgba(255,255,255,.76)}.report-metrics small,.report-metrics strong{display:block}.report-metrics small{color:#6d8989;font-size:.6rem;font-weight:800;letter-spacing:.06em}.report-metrics strong{margin-top:3px;color:#0b7768;font:800 1.3rem "Plus Jakarta Sans",sans-serif;letter-spacing:-.05em}.report-section{padding:17px;border:1px solid #daeae5;border-radius:14px;background:rgba(255,255,255,.42)}.report-section h4{margin:0 0 14px;font:800 .92rem "Plus Jakarta Sans",sans-serif}.aspect-report-list{display:grid;gap:13px}.aspect-report-list>div>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px}.aspect-report-list strong{font-size:.72rem}.aspect-report-list span{color:var(--muted);font-size:.66rem}.aspect-bar{height:7px;overflow:hidden;border-radius:999px;background:#e2eeea}.aspect-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d8573,#7acb82)}.report-footnote{margin:19px 0 0;color:#7b9290;font-size:.64rem;line-height:1.5}.role-pill{color:#1c7668;background:#e0f5ed}.role-pill.admin{color:#5d50ad;background:#eeeaff}.error-page{max-width:620px;margin:8vh auto;padding:45px;text-align:center}.error-symbol{display:grid;place-items:center;width:58px;height:58px;margin:auto auto 15px;border-radius:19px;color:#c57428;background:#fff0d9;font-size:1.7rem}.error-page h2{margin:7px 0;font:800 1.5rem "Plus Jakarta Sans",sans-serif}.error-page p:not(.eyebrow){margin:0 auto 20px;max-width:430px;color:var(--muted)}.auth-page{display:grid;min-height:100vh;overflow:hidden;background:linear-gradient(135deg,#f1fbf7,#e2f3ee)}.auth-orb{position:fixed;border-radius:50%;filter:blur(2px);opacity:.65}.auth-orb-one{width:350px;height:350px;top:-140px;left:4%;background:#b9edcf}.auth-orb-two{width:440px;height:440px;right:-150px;bottom:-150px;background:#ccebe4}.auth-wrap{display:grid;grid-template-columns:1.1fr .85fr;align-items:center;gap:70px;max-width:1030px;width:100%;margin:auto;padding:35px}.auth-brand{max-width:485px}.auth-brand-icon{width:57px;height:57px;border-radius:18px;font-size:1.7rem}.auth-brand h1{margin:15px 0 10px;font:800 clamp(3rem,7vw,5rem)/.85 "Plus Jakarta Sans",sans-serif;letter-spacing:-.09em}.auth-brand>p:not(.eyebrow){max-width:370px;color:#5e7c7d;line-height:1.65}.auth-points{display:grid;gap:8px;margin-top:25px;color:#337367;font-size:.78rem;font-weight:600}.auth-points i{color:#139a72}.auth-card{padding:33px}.auth-card-heading h2{margin:4px 0;font:800 1.45rem "Plus Jakarta Sans",sans-serif}.auth-card-heading p:not(.eyebrow){margin:0 0 25px;color:var(--muted);font-size:.78rem}.input-icon{position:relative}.input-icon>i{position:absolute;top:13px;left:12px;color:#6c9990}.input-icon .form-control{padding-left:36px}.auth-help{margin:20px 0 0;color:#758f8e;font-size:.68rem;text-align:center}.setup-wrap{display:grid;place-items:center;padding:25px}.setup-card{width:min(100%,560px);padding:38px}.setup-card h1{margin:10px 0 5px;font:800 1.65rem "Plus Jakarta Sans",sans-serif}.setup-card>p:not(.eyebrow){line-height:1.6;font-size:.82rem}
@media(max-width:1199px){.metric-grid{grid-template-columns:repeat(2,1fr)}.score-sticky{position:static}.score-summary{position:sticky;bottom:10px;padding:17px;text-align:left}.score-number{font-size:2.4rem}.score-summary dl,.score-summary .scale-guide,.score-summary .submit-note{display:none}.score-summary .status-pill{margin:0}.score-progress{margin:9px 0}.score-summary .btn{margin-top:9px!important}.score-summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.score-summary>.eyebrow{grid-column:1/-1}.score-out-of{display:none}.score-summary .status-pill{justify-self:end}.score-summary .score-progress{grid-column:2}.score-summary>.btn{grid-column:3;grid-row:2}}
@media(max-width:991px){.app-shell{padding:12px}.sidebar{position:fixed;top:12px;bottom:12px;left:12px;min-height:0;transform:translateX(-115%);transition:transform .25s;width:275px}.sidebar.open{transform:translateX(0)}.main-content{padding:4px 0 25px}.topbar{min-height:60px}.topbar h1{font-size:1.3rem}.auth-wrap{gap:35px}.flyer-page{border-radius:20px}}
@media(max-width:767px){body{font-size:.9rem}.app-shell{padding:10px}.topbar-date{display:none}.topbar{gap:8px}.topbar h1{font-size:1.17rem}.hero-panel{align-items:start;padding:24px}.hero-leaf{display:none}.hero-actions{flex-wrap:wrap}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{padding:13px;gap:9px}.metric-icon{width:36px;height:36px;font-size:1rem}.metric-card strong{font-size:1.04rem;max-width:88px}.content-card{padding:16px}.section-heading{margin-bottom:14px}.app-footer{display:block;line-height:1.7}.app-footer span{display:block}.assessment-aspect .section-heading{padding:15px 16px}.assessment-table{min-width:610px}.score-summary{grid-template-columns:auto 1fr}.score-summary>.btn{grid-column:1/-1;grid-row:auto}.score-summary .score-progress{grid-column:2}.detail-header{display:block;padding:22px}.detail-score{justify-items:start;margin-top:15px;padding:0}.drive-instruction{align-items:start;flex-wrap:wrap}.drive-instruction .btn{margin-left:54px}.report-sheet{padding:17px}.report-heading{display:block}.report-actions{margin-top:12px}.report-metrics{grid-template-columns:1fr 1fr}.flyer-toolbar{padding:0 5px}.flyer-header{padding:19px}.flyer-hero{min-height:245px;padding:30px 24px}.flyer-hero h1{max-width:235px}.flyer-trophy{right:20px;top:73px;width:92px;height:92px;border-radius:29px;font-size:2.8rem}.flyer-message{margin:0 18px}.flyer-ranking{padding:24px 18px}.flyer-ranking-grid{grid-template-columns:1fr}.flyer-footer{padding:15px 18px;gap:7px;flex-direction:column}.auth-wrap{grid-template-columns:1fr;padding:28px;gap:20px}.auth-brand h1{font-size:3.3rem}.auth-card{padding:25px}.auth-brand>p:not(.eyebrow),.auth-points{display:none}.setup-card{padding:28px 23px}.rank-table{min-width:660px}}
@media(max-width:420px){.metric-grid{grid-template-columns:1fr}.metric-card strong{max-width:190px}.hero-actions .btn{width:100%;text-align:left}.drive-instruction .btn{width:100%;margin-left:0}.report-actions .btn{flex:1}.flyer-school small{display:none}.flyer-hero h1{font-size:1.75rem}.flyer-score span{font-size:1.8rem}.flyer-trophy{opacity:.7}}
@media print{@page{size:A4 portrait;margin:10mm}body{background:#fff!important}.app-shell{display:block;padding:0}.sidebar,.topbar,.app-footer,.app-alert,.no-print,.filter-card,.page-intro,.report-actions{display:none!important}.main-content{padding:0}.glass-panel{border:0;box-shadow:none;background:#fff}.report-sheet{padding:0}.report-section{break-inside:avoid}.flyer-page{width:100%;max-width:none;min-height:277mm;border-radius:0;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}.flyer-toolbar{display:none!important}.flyer-hero{min-height:82mm;padding:13mm 60mm 10mm 15mm}.flyer-header{padding:9mm 12mm}.flyer-message{margin:0 12mm}.flyer-ranking{padding:10mm 12mm}.flyer-footer{padding:6mm 12mm}.flyer-watermark{opacity:.08}.app-table th,.app-table td{font-size:8pt!important;padding:6px!important}.report-metrics strong{font-size:14pt}.report-metrics small{font-size:7pt}}
