*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Tahoma,Arial,sans-serif;font-size:14px;line-height:1.9}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit}button{border:0}.shell{min-height:100vh;display:flex}.sidebar{border-left:1px solid var(--line);background:#fff;flex-direction:column;width:256px;padding:36px 24px;display:flex;position:fixed;inset:0 0 0 auto}.brand{align-items:center;gap:14px;display:flex}.brand-icon{color:var(--green);background:#eef2e7;border-radius:16px;padding:12px;display:flex}.brand strong{font-size:32px;line-height:1.3;display:block}.brand small{color:var(--muted);font-size:10px}.school{color:var(--muted);margin:22px 0 40px;font-size:11px}nav{gap:10px;display:grid}nav button{color:#6b7b74;text-align:right;background:0 0;border-radius:10px;align-items:center;gap:11px;padding:13px 14px;font-size:12px;display:flex}nav button.active{color:var(--green);background:#eaf0e8;font-weight:700}nav button:hover{background:#f3f5f0}.side-note{color:#8a9a8e;margin-top:auto;padding-top:70px;font-size:12px}.profile{border-top:1px solid var(--line);margin-top:30px;padding-top:18px}.profile small{color:var(--muted);font-size:11px;display:block}.profile a{align-items:center;gap:7px;margin-top:14px;font-size:11px;text-decoration:none;display:flex}main{width:calc(100% - 256px);max-width:1600px;margin-right:256px;padding:0 5%}header{border-bottom:1px solid var(--line);height:85px;color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.badge{background:#edf2e7;border-radius:20px;align-items:center;gap:7px;padding:5px 13px;font-size:10px;display:flex}.badge span{background:#8a9e70;border-radius:100%;width:6px;height:6px}.hero{justify-content:space-between;align-items:center;padding:38px 0 32px;display:flex}.eyebrow{color:var(--gold);margin:0 0 12px;font-size:11px}.hero h1{letter-spacing:-1px;margin:0 0 10px;font-size:28px;font-weight:600}.hero p:last-child{color:var(--muted);margin:0;font-size:12px}.hero-emblem{color:#81977b;background:#edf1e6;border:1px solid #dce4d3;border-radius:70px 70px 16px 16px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:126px;height:136px;margin-right:20px;display:flex}.hero-emblem span{font-size:17px}.journey{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:repeat(5,1fr);margin-bottom:30px;display:grid;overflow:hidden}.journey>div{border-left:1px solid var(--line);flex-direction:column;align-items:center;gap:7px;padding:23px 4px 17px;display:flex;position:relative}.journey>div:last-child{border-left:0}.journey b{font-size:12px;font-weight:500}.journey small{color:var(--muted);font-size:10px}.stage-num{color:#c6cec0;font-size:9px;position:absolute;top:6px;left:10px}.card{border:1px solid var(--line);background:#fff;border-radius:15px;margin-bottom:24px;padding:28px}.title-row{align-items:center;gap:10px;margin-bottom:18px;display:flex}.title-row svg{color:#8c9c7e;width:21px}.title-row h2{margin:0;font-size:17px}.title-row select{width:auto;max-width:50%;margin-right:auto}.muted{color:var(--muted);margin:0 0 22px;font-size:12px}.login-grid{grid-template-columns:1.1fr 1fr;gap:26px;display:grid}.welcome{color:#718273;padding:28px 16px;font-size:13px}.welcome h2{color:var(--ink);margin-top:5px;font-size:20px;font-weight:500}.welcome ul{margin-top:25px;padding-right:20px;line-height:2.8}label{color:#4a6259;margin-bottom:18px;font-size:12px;display:block}input:not([type=checkbox]),textarea,select{width:100%;color:var(--ink);background:#fbfcf9;border:1px solid #dce3da;border-radius:8px;margin-top:7px;padding:11px 13px;display:block}textarea{resize:vertical;min-height:90px}textarea.large{min-height:290px}.primary{background:var(--green);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:14px;padding:11px 22px;font-size:12px;display:inline-flex}.login-grid .primary{width:100%}.secondary{color:var(--green);white-space:nowrap;background:#eff3eb;border:1px solid #dce5d5;border-radius:7px;padding:8px 15px;font-size:11px}.fine{color:#8b958c;align-items:center;gap:7px;margin:17px 0 0;font-size:10px;display:flex}.empty{text-align:center;color:var(--muted);padding:40px 20px;font-size:13px}.empty svg{color:#9aaa8f;margin:0 auto 10px}.empty h3{color:var(--ink);font-size:17px}.empty p{max-width:510px;margin:12px auto 24px}.two{grid-template-columns:1fr 1fr;gap:20px;display:grid}.check{align-items:center;gap:10px;display:flex}.check input{width:16px;height:16px}blockquote{text-align:center;background:#f4f6ef;border-right:3px solid #b49e6c;border-radius:8px;margin:20px 0;padding:25px;font-family:Tahoma,serif;font-size:24px;line-height:2.2}cite{color:var(--muted);font-family:Tahoma,sans-serif;font-size:11px;font-style:normal;display:block}.plan{white-space:pre-wrap;overflow-wrap:anywhere;padding:20px 0;font-size:14px;line-height:2.3}.count{color:#74896d;background:#f0f4eb;border-radius:20px;margin-right:auto;padding:3px 10px;font-size:10px}.staff-row{border-top:1px solid #edf0e9;align-items:center;gap:15px;padding:17px 0;display:flex}.staff-row b{font-size:13px}.staff-row small{color:var(--muted);font-size:10px;display:block}.avatar{color:#7d906a;background:#f0f3e9;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:11px;display:flex}.status{color:#8b988a;margin-right:auto;font-size:10px}.code-box{background:#eef4e8;border-radius:10px;flex-direction:column;gap:7px;margin-bottom:20px;padding:20px;display:flex}.code-box code{letter-spacing:2px;text-align:center;font-size:22px}.code-box small{color:var(--muted);font-size:11px}details{border-top:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-size:13px}summary small{color:var(--muted);float:left;font-size:10px}details p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.message{border-radius:9px;padding:13px 20px;font-size:12px}.error{color:#975739;background:#fff0e9}.success{color:#496e42;background:#e8f2e3}footer{color:#9da799;justify-content:space-between;padding:28px 0 35px;font-size:10px;display:flex}.spin{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1500px){main{padding:0 80px}}@media (width<=1000px){.sidebar{width:210px;padding:30px 15px}main{width:calc(100% - 210px);margin-right:210px;padding:0 4%}.hero h1{font-size:23px}.hero-emblem{width:90px;height:110px}.login-grid{grid-template-columns:1fr}.welcome{padding:0 15px 25px}.journey b{font-size:10px}.card{padding:20px}}@media (width<=700px){.shell{display:block}.sidebar{border-left:0;border-bottom:1px solid var(--line);width:100%;padding:16px 18px;position:static}.brand strong{font-size:25px}.brand-icon{padding:9px}.school{margin:9px 0 12px;font-size:10px}.side-note{display:none}nav{gap:6px;display:flex;overflow:auto}nav button{white-space:nowrap;padding:9px 10px;font-size:10px}nav svg{width:15px}.profile{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;padding-top:12px;font-size:11px;display:flex}.profile a{margin:0 auto 0 0}.profile small{font-size:10px}main{width:100%;margin:0;padding:0 17px}header{height:56px;font-size:10px}.badge{padding:4px 9px;font-size:8px}.hero{padding:26px 0}.hero h1{font-size:20px;line-height:1.8}.hero p:last-child{font-size:11px}.hero-emblem{display:none}.journey{margin-bottom:20px}.journey>div{gap:7px;padding:25px 3px 12px}.journey svg{width:18px}.journey b{white-space:nowrap;font-size:9px}.journey small{font-size:9px}.stage-num{left:5px}.card{padding:19px 15px}.two{grid-template-columns:1fr;gap:0}.title-row h2{font-size:15px}.staff-row{flex-wrap:wrap;gap:9px}.staff-row b{font-size:11px}.avatar{width:36px;height:38px}.status{font-size:9px}.staff-row button{padding:6px 10px;font-size:10px}.code-box code{font-size:18px}.title-row select{font-size:10px}footer{gap:12px;font-size:8px}blockquote{padding:16px;font-size:20px}summary small{float:none;margin:5px 20px 0;display:block}.primary{font-size:11px}.plan{font-size:12px}}@media print{.sidebar,header,.hero,.journey,footer,button,.message{display:none!important}main{width:100%;margin:0;padding:0}.card{border:0;padding:0}.plan{font-size:12px}body{background:#fff}}.public-roles{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.role-card{text-align:right;color:var(--ink);background:#f5f7ef;border:1px solid #e0e7d9;border-radius:12px;flex-direction:column;gap:13px;padding:24px 18px;display:flex}.role-card b{font-size:14px}.role-card span{color:var(--muted);font-size:12px}.role-card small{color:var(--green);margin-top:auto;font-size:11px}.day-card{border-bottom:1px solid var(--line);padding:24px 0}.day-card p{font-size:13px}.public-plan{margin-top:30px}.side-note a{font-size:10px}@media (width<=850px){.public-roles{grid-template-columns:1fr}.role-card{padding:18px}.role-card b{font-size:13px}}@media print{.public-plan{display:block}form,.public-plan .check,.public-plan .fine{display:none}.day-card{break-inside:avoid}}.brand-logo{object-fit:contain;background:#090909;border-radius:10px;width:64px;height:64px}.hero-logo{object-fit:contain;background:#090909;border-radius:14px;width:160px;height:160px;margin-right:18px}.school-admin{width:100%;max-width:900px;margin:0 auto;padding:0 24px 40px}.delete-button{color:#a04232;background:#fff0e9;border:1px solid #edc8bd;border-radius:8px;padding:10px 18px}@media (width<=700px){.hero-logo{width:90px;height:90px}.brand-logo{width:48px;height:48px}.school-admin{padding:0 16px 25px}.title-row{flex-wrap:wrap}}@media print{.brand-logo{display:none}.hero-logo{width:80px;height:80px}}:root{--ink:#243e61;--green:#245b90;--muted:#7e807f;--line:#e7dfd0;--paper:#faf7ef;--gold:#b18a3f}body{background:var(--paper);position:relative}.school-watermark{pointer-events:none;z-index:0;opacity:.045;mix-blend-mode:multiply;background:url(/boshra-transparent.png) 50%/min(85vw,950px) no-repeat;position:fixed;inset:0}.shell,.school-admin{z-index:1;position:relative}.sidebar{background:#fffdf7f0}.card{background:#fffefae6}.journey{background:#fffefae0}.brand-logo,.hero-logo{mix-blend-mode:multiply;background:0 0;border-radius:0}.hero-logo{object-fit:contain;width:190px;height:145px}.brand-logo{object-fit:contain;width:72px;height:62px}.role-card{background:#f5f1e5e0}.role-card:hover{background:#f1eadb;border-color:#c7ad7a}nav button.active{color:#245b90;background:#edf1f6}.badge,.count,.secondary{background:#f1ebdd}.primary{background:#245b90}.hero-emblem{background:#f6efdf}.ai-panel{background:#f9f4e9;border:1px solid #d4c39f;border-radius:12px;margin-bottom:25px;padding:22px}.ai-panel h3{margin-top:0}.ai-actions{flex-wrap:wrap;gap:12px;display:flex}.ai-preview{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:20px;padding:20px}.ai-preview pre{white-space:pre-wrap;font:inherit;max-height:350px;overflow:auto}.editor-actions{flex-wrap:wrap;gap:12px;display:flex}@media (width<=700px){.hero-logo{width:105px;height:95px}.brand-logo{width:64px;height:48px}.school-watermark{background-size:100vw}.ai-panel{padding:16px}}body{background:radial-gradient(at 85% 0,#f3ead5 0%,#0000 50%),linear-gradient(155deg,#fcfaf5,#f6f3eb);padding-bottom:112px}.school-watermark{opacity:.035}.brand-logo,.hero-logo{mix-blend-mode:normal;filter:drop-shadow(0 4px 5px #5e441114)}.hero-logo{width:240px;height:175px}.sidebar{border-left-color:#e6dcc8;box-shadow:-5px 0 30px #1d355708}.brand{border-bottom:1px solid #e9dec9;padding-bottom:15px}.brand strong{color:#21496f}.school{margin-top:15px}header{border-color:#dfd4be}.hero{padding:38px 0}.hero h1{color:#173e64;font-weight:700;line-height:1.75}.eyebrow{letter-spacing:0;color:#9c772f}.card{border:1px solid #e8dfce;border-radius:20px;box-shadow:0 9px 32px #5e492207}.journey{border-radius:17px;box-shadow:0 7px 22px #60491f06}.journey>div{background:linear-gradient(#0000,#f8f3e780)}.journey svg{color:#ad893f}.journey b{color:#294766}.primary{background:linear-gradient(115deg,#285d90,#163e69);transition:transform .2s,box-shadow .2s;box-shadow:0 5px 14px #183f691c}.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #183f6929}.secondary{color:#795a26;border-color:#d9c89f}.role-card{background:linear-gradient(145deg,#fffdf7,#f4efe2);border-color:#e5d8bf;border-radius:17px;padding:28px 21px;transition:transform .2s,box-shadow .2s;position:relative}.role-card:hover{background:linear-gradient(145deg,#fffdf9,#f0e8d7);transform:translateY(-3px);box-shadow:0 12px 20px #3d4d5a10}.role-card svg{color:#a27a30}.role-card b{color:#173e64}.role-card small{border-top:1px solid #e9dfcd;padding-top:14px}.welcome{border-right:2px solid #c9aa6f;margin:12px 0 24px;padding:12px 24px}.slogan-ribbon{z-index:30;color:#fff6dd;background:linear-gradient(110deg,#163554,#24527d);border:1px solid #c3a263;border-radius:18px;align-items:center;gap:15px;min-height:83px;padding:16px 22px;display:flex;position:fixed;bottom:16px;left:28px;right:284px;box-shadow:0 10px 35px #1738592b}.slogan-content{text-align:center;flex:1;min-width:0}.slogan-content p{min-height:27px;margin:0;font-size:14px;font-weight:500;line-height:1.9}.ribbon-star{color:#e3c57e;font-size:25px}.slogan-pause{color:#f5dfaf;background:#ffffff10;border:1px solid #ffffff25;border-radius:50%;flex-shrink:0;width:31px;height:31px;font-size:12px}.slogan-dots{justify-content:center;gap:7px;margin-top:9px;display:flex}.slogan-dots button{background:#ffffff45;border-radius:8px;width:5px;height:5px;padding:0;transition:width .3s}.slogan-dots button.selected{background:#e7c984;width:19px}.slogan-animated{animation:6.5s ease-in-out both sloganCycle}@keyframes sloganCycle{0%{opacity:0;transform:translateY(7px)}10%,88%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}body:has(.school-admin) .slogan-ribbon{max-width:850px;margin:auto;left:24px;right:24px}.school-admin{padding-bottom:45px}.slogan-ribbon:focus-within{outline-offset:2px;outline:2px solid #c8a557}@media (width<=1000px){.slogan-ribbon{left:20px;right:230px}.hero-logo{width:180px;height:140px}.hero h1{font-size:24px}}@media (width<=700px){body{padding-bottom:130px}.sidebar{background:#fffcf5eb;padding:17px 18px}.brand{padding-bottom:10px}.brand-logo{width:80px;height:58px}.brand strong{font-size:28px}.hero{gap:10px;padding:26px 0}.hero h1{font-size:20px}.hero-logo{flex-shrink:0;width:115px;height:105px;margin-right:0}.hero p:last-child{line-height:2}.slogan-ribbon{border-radius:14px;gap:8px;min-height:92px;padding:13px 12px;bottom:10px;left:12px;right:12px}body:has(.school-admin) .slogan-ribbon{border-radius:14px;gap:8px;min-height:92px;padding:13px 12px;bottom:10px;left:12px;right:12px}.slogan-content p{justify-content:center;align-items:center;min-height:44px;font-size:11px;line-height:2;display:flex}.ribbon-star{font-size:19px}.slogan-pause{width:27px;height:27px}.role-card{padding:22px}.card{border-radius:16px}.welcome{padding:9px 16px}.journey>div{padding-top:24px}.school-admin .hero h1{font-size:22px}}@media (prefers-reduced-motion:reduce){.slogan-animated{animation:none}.primary,.role-card,.slogan-dots button{transition:none}}@media print{.slogan-ribbon,.school-watermark{display:none!important}body{background:#fff;padding-bottom:0}.card{box-shadow:none}}.ribbon-logo{perspective:500px;flex:0 0 76px;width:76px;height:72px;animation:6.5s ease-in-out infinite samaFloat;display:block;position:relative}.ribbon-logo img{object-fit:contain;filter:drop-shadow(0 3px 4px #080e2245)drop-shadow(0 0 5px #f4cd6d25);background:0 0;width:100%;height:100%;display:block}.logo-shine{pointer-events:none;mix-blend-mode:screen;background:linear-gradient(112deg,#0000 37%,#fff6c9a6 49%,#0000 61%) 130% 0/320% 100%;animation:6.5s ease-in-out infinite samaShine;position:absolute;inset:0;-webkit-mask:url(/sama-gold-transparent.png) 50%/contain no-repeat;mask:url(/sama-gold-transparent.png) 50%/contain no-repeat}.slogan-ribbon{min-height:94px;padding-top:10px;padding-bottom:10px}@keyframes samaFloat{0%,to{transform:translateY(1px)rotate(-2deg)scale(.98)}45%,55%{transform:translateY(-3px)rotate(2deg)scale(1.035)}}@keyframes samaShine{0%,22%{opacity:0;background-position:130% 0}30%{opacity:.8}58%{opacity:.8;background-position:-35% 0}65%,to{opacity:0;background-position:-35% 0}}.ribbon-logo.motion-paused,.ribbon-logo.motion-paused .logo-shine{animation-play-state:paused}@media (width<=700px){.ribbon-logo{flex-basis:59px;width:59px;height:59px}.slogan-ribbon{gap:9px;min-height:94px}.slogan-content p{font-size:10.5px}}@media (prefers-reduced-motion:reduce){.ribbon-logo,.logo-shine{animation:none}.logo-shine{display:none}}.install-app{background:#fffdf7;border:1px solid #dfcc98;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:20px 0;padding:22px;display:flex}.install-app strong{color:#123554;font-size:19px}.install-app p{margin:7px 0;line-height:1.9}.install-actions{flex-wrap:wrap;gap:10px;display:flex}.install-note{color:#385370;flex-basis:100%}.install-app button:disabled{opacity:.6;cursor:wait}@media (width<=600px){.install-app{padding:16px}.install-actions{width:100%}.install-actions button{flex:1}}@media print{.install-app{display:none}}.experience-card{background:#fffdf8;border:1px solid #dacda8;border-radius:16px;margin:20px 0;padding:24px}.experience-body,.reference-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2;font:inherit}.reference-text{max-height:360px;overflow:auto}.experience-comments{border-top:1px solid #ddd;margin-top:20px;padding-top:16px}.reference-item{border-bottom:1px solid #ddd;padding:16px}.reference-item summary{cursor:pointer;font-weight:700}.reference-item button{margin:8px}.school-admin fieldset{border:0;min-width:0;padding:0}
