@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f3ef;--card:#fff;--ink:#25272b;--muted:#767773;--line:#e6e4df;--brand:#651d32;--soft:#f4e9ed;--input:#faf9f6;--yellow:#dce8ab;color-scheme:light;font-family:Manrope,system-ui,sans-serif;font-size:14px;color:var(--ink);background:var(--bg)}
:root[data-theme=dark]{--bg:#17191b;--card:#222528;--ink:#f2f0ec;--muted:#b2b2aa;--line:#3a3c3e;--brand:#e9a2b5;--soft:#3c2931;--input:#292c2f;color-scheme:dark}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}[hidden]{display:none!important}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible{outline:3px solid #b59546;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3vw,38px);letter-spacing:-1.3px;margin-bottom:10px;font-weight:800}h2{font-size:19px;letter-spacing:-.5px;margin-bottom:18px}h3{font-size:17px}p{line-height:1.8}small,.small{font-size:12px;line-height:1.6}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px;color:var(--muted);display:block;margin-bottom:12px}.brand-icon{display:inline-flex;align-items:center;justify-content:center;background:#651d32;color:white;font-size:24px;font-weight:800;width:47px;height:47px;border-radius:14px;letter-spacing:-2px}.logo{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:17px;line-height:1.15;letter-spacing:-.4px}.logo:hover{text-decoration:none}.logo b{font-weight:800}.boot{min-height:100vh;display:grid;place-content:center;text-align:center;gap:16px;justify-items:center}aside{position:fixed;inset:0 auto 0 0;width:238px;background:var(--card);padding:34px 24px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.nav-caption{margin:54px 12px 12px;font-size:10px;font-weight:800;color:var(--muted);letter-spacing:1.8px}nav{display:grid;gap:5px}nav a{padding:13px 12px;color:var(--muted);font-weight:600;font-size:13px;border-radius:9px;display:flex;gap:13px;align-items:center}nav a span{width:18px;font-size:20px;font-weight:400}nav a:hover{background:var(--bg);text-decoration:none}nav a[aria-current]{color:var(--brand);background:var(--soft)}.aside-bottom{margin-top:auto;padding-top:30px;overflow-wrap:anywhere}.pill{border:1px solid var(--line);border-radius:20px;padding:7px 10px;font-size:10px;color:var(--muted)}#account{margin:15px 0 4px;color:var(--muted)}.main-wrap{margin-left:238px}header{height:77px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:12px}#sync{font-size:11px}main{padding:39px 42px;max-width:1500px;min-height:calc(100vh - 145px);margin:auto}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-title p{margin-bottom:0}.actions{display:flex;gap:8px;flex-wrap:wrap}.primary,.quiet,.danger{border-radius:8px;padding:11px 16px;border:1px solid var(--line);background:var(--card);font-size:12px;font-weight:700;color:var(--ink)}.primary{background:var(--brand);border-color:var(--brand);color:var(--card)}:root[data-theme=dark] .primary{color:#23151a}.quiet:hover{background:var(--soft)}.danger{color:#ba3346;border-color:#e9b5bf}.hero{background:#651d32;color:#fff5f3;border-radius:18px;padding:36px 40px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;overflow:hidden;position:relative}.hero:after{content:'';position:absolute;width:350px;height:350px;border:1px solid #ffffff17;border-radius:50%;right:-100px;top:-190px;pointer-events:none}.hero .eyebrow{color:#dfacb8}.hero h2{font-size:clamp(29px,3vw,40px);line-height:1.2;letter-spacing:-1.4px}.hero p{color:#ebcbd2;font-size:12px}.hero-link{color:#e1edb8;font-size:12px;font-weight:700}.hero-score{display:grid;text-align:center;gap:12px;padding:30px}.hero-score strong{font-size:80px;font-weight:500;letter-spacing:-5px;line-height:1;color:#e1edb8}.hero-score strong small{font-size:30px}.hero-score span,.hero-score>small{font-size:11px;color:#ebcbd2}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:22px;min-width:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat{display:grid;gap:10px;color:var(--ink)}.stat:hover{text-decoration:none;border-color:var(--brand)}.stat>span{font-size:12px;color:var(--muted)}.stat strong{font-size:35px;line-height:1.1}.stat small{color:var(--muted)}.columns{display:grid;grid-template-columns:1.55fr 1fr;gap:22px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-head h2{margin-bottom:16px}.section-head a{font-size:11px;flex-shrink:0}.section-head .eyebrow{margin:0}.list-row{display:flex;gap:13px;align-items:center;padding:17px 0;border-top:1px solid var(--line)}.grow{flex:1;min-width:0}.check{width:23px;height:23px;border-radius:7px;border:1px solid var(--line);flex-shrink:0;background:var(--card);color:var(--brand)}.check.checked{background:var(--soft);border-color:var(--brand)}.text-btn{background:none;border:none;color:var(--ink);padding:0;text-align:left;font-weight:600;line-height:1.5;margin-bottom:5px;overflow-wrap:anywhere}.text-btn:hover{color:var(--brand)}.badge{display:inline-flex;padding:5px 9px;border-radius:20px;background:var(--bg);font-size:9px;white-space:nowrap;color:var(--muted)}.badge.s1{background:#faf0d9;color:#8b6527}.badge.s2{background:#eaf0db;color:#456130}.badge.s3{background:#e9e4f4;color:#645080}.progress-item{margin:24px 0}.progress-item>div:first-child{display:flex;justify-content:space-between;font-size:11px;margin-bottom:9px}.meter{height:6px;background:var(--bg);border-radius:5px;overflow:hidden}.meter i{display:block;height:100%;background:var(--brand);border-radius:5px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid .card{margin:0}.uni h2{margin:20px 0 8px}.uni>p{font-size:12px}.tag{display:inline-block;padding:6px 9px;background:var(--bg);border-radius:5px;font-size:10px}.filters{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:13px;margin-bottom:24px}.filters label{font-size:10px}.filters input,.filters select{font-size:12px}label{display:grid;gap:8px;font-size:12px;font-weight:600;margin-bottom:18px}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--input);color:var(--ink);border-radius:8px;padding:12px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px}textarea{resize:vertical}.checkbox-label{display:flex;align-items:center;line-height:1.5}.checkbox-label input{width:18px;height:18px;accent-color:var(--brand)}dl{display:grid;grid-template-columns:125px minmax(0,1fr);font-size:12px;gap:12px;margin:24px 0}dt{color:var(--muted)}dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.empty{padding:55px 25px;text-align:center;background:var(--card);border:1px dashed var(--line);border-radius:14px;grid-column:1/-1}.empty>span{font-size:40px;color:var(--brand);display:block;margin-bottom:15px}.empty p{font-size:12px}.preline{white-space:pre-wrap;overflow-wrap:anywhere}.file{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0;padding:10px;background:var(--bg);border-radius:8px;font-size:11px}.file span{overflow-wrap:anywhere;min-width:0}.card-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;margin-top:20px;padding-top:15px}.overdue{color:#b74950}.calendar{padding:24px 20px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays span{padding:15px;font-size:11px;color:var(--muted)}.day{min-height:110px;padding:10px;border-top:1px solid var(--line);border-right:1px solid var(--line);font-size:12px}.day.today{background:var(--soft)}.outside{background:var(--bg)}.event{display:block;width:100%;text-align:left;border:0;padding:5px 4px;border-radius:4px;font-size:9px;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--soft);color:var(--brand)}.event.official{background:#eaf0db;color:#456130}.score-history{display:flex;gap:22px;align-items:end;overflow-x:auto;padding:20px 0}.score-point{display:flex;align-items:center;justify-content:end;flex-direction:column;gap:8px;background:none;border:0;color:var(--ink);min-width:78px}.score-bar{display:block;width:36px;border-radius:6px 6px 0 0;background:var(--brand);min-height:2px}.score-point small{font-size:9px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}td,th{padding:15px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:10px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}footer{padding:20px 42px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:var(--muted)}footer span{letter-spacing:0}dialog{border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);width:600px;max-width:calc(100vw - 24px);padding:28px;max-height:90vh}dialog::backdrop{background:#1118;backdrop-filter:blur(3px)}.modal-head,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:15px}.modal-head{margin-bottom:20px}.modal-head h2{margin:0}.modal-actions{margin-top:24px}.modal-actions .primary{margin-left:auto}#form-error,#login-error{color:#b74950;font-size:12px;white-space:pre-wrap}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--card);padding:14px 24px;border-radius:10px;box-shadow:0 5px 30px #0003;z-index:100;max-width:90vw;font-size:12px}.auth{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-story{background:#651d32;color:#fff;padding:70px;display:flex;flex-direction:column;justify-content:center}.auth-story .eyebrow{color:#dba7b6}.auth-story h1{font-size:clamp(34px,4vw,57px);line-height:1.15;letter-spacing:-2px}.auth-story p{color:#e2bdc7;max-width:420px}.auth-story>small{color:#dba7b6;font-size:9px;letter-spacing:1.5px}.orbit{border:1px solid #ffffff35;border-radius:50%;width:260px;height:190px;transform:rotate(-12deg);display:flex;align-items:center;justify-content:space-around;margin:40px 0;color:#e1edb8}.orbit b{font-size:13px;transform:rotate(12deg)}.orbit span{font-size:12px}.auth-panel{display:grid;place-items:center;padding:50px 30px}.auth-box{max-width:350px;width:100%}.auth-box .brand-icon{margin-bottom:30px}.auth-box h2{font-size:28px;margin-bottom:10px}.auth-box form{margin:30px 0}.auth-box .primary{width:100%}
@media(min-width:1600px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){aside{width:200px;padding:28px 16px}.main-wrap{margin-left:200px}main{padding:30px 24px}header{padding:0 24px}.columns{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.hero{padding:28px}.hero-score{padding:10px}.hero-score strong{font-size:65px}.auth-story{padding:40px}}
@media(max-width:740px){aside{position:static;width:auto;padding:16px;border-right:0;border-bottom:1px solid var(--line)}.logo{font-size:15px}.brand-icon{width:36px;height:36px;font-size:21px;border-radius:10px}.nav-caption,.aside-bottom{display:none}nav{display:flex;overflow-x:auto;margin-top:18px;gap:4px;padding-bottom:4px}nav a{white-space:nowrap;font-size:11px;padding:8px 10px}nav a span{font-size:16px;width:auto}.main-wrap{margin-left:0}header{height:55px;padding:0 18px}#sync{max-width:130px;font-size:9px}main{padding:25px 18px}.page-title{align-items:flex-start;flex-direction:column;gap:15px}.page-title h1{font-size:29px}.page-title p{font-size:12px}.hero{padding:26px;gap:10px}.hero h2{font-size:28px}.hero-score{padding:0;max-width:130px}.hero-score strong{font-size:48px}.hero-score span,.hero-score>small{font-size:9px}.hero p{font-size:10px}.hero .eyebrow{font-size:8px}.stats{gap:9px}.stat{padding:14px 11px;gap:10px}.stat strong{font-size:26px}.stat>span{font-size:10px}.stat small{font-size:9px}.grid{grid-template-columns:1fr}.card{padding:20px}.list-row{gap:9px}.list-row .badge{font-size:8px;padding:4px 6px}.text-btn{font-size:12px}.list-row .small{font-size:10px}.day{min-height:80px;padding:7px 2px;font-size:10px}.weekdays span{padding:10px 3px}.event{font-size:8px}.calendar{padding:15px 7px}.calendar .section-head{padding:0 10px}.calendar h2{font-size:14px}.calendar .quiet{padding:8px}.auth{grid-template-columns:1fr}.auth-story{padding:30px;min-height:220px}.auth-story h1{font-size:34px}.auth-story p{font-size:12px;margin-bottom:0}.auth-story .orbit,.auth-story>small{display:none}.auth-panel{padding:30px}.auth-box .brand-icon{display:none}.auth-box h2{font-size:22px}footer{padding:18px;font-size:8px}footer span{max-width:170px;text-align:right}dialog{padding:20px}.filters{gap:10px}dl{grid-template-columns:100px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
