@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.2-i4fw5gbtlb7.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
:root{--bg:#f5f7f6;--surface:#fff;--surface-2:#eef2f0;--text:#17211d;--muted:#68736e;--line:#e1e6e3;--accent:#176b4d;--accent-soft:#e4f1eb;--danger:#ae3e32;--radius:12px}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-size:14px}button,input{font:inherit}button{color:inherit}.app-shell{min-height:100dvh}.sidebar{border-right:1px solid var(--line);z-index:3;background:#fbfcfb;flex-direction:column;width:244px;padding:18px 16px 16px;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{justify-content:center;align-items:center;gap:11px;margin:0 0 14px;display:flex}.brand-logo{justify-content:center;align-items:center;width:160px;height:62px;display:flex}.brand-logo img{object-fit:contain;width:110px;height:60px}.brand strong,.brand span,.user-card strong,.user-card small{display:block}.brand strong{font-size:14px}.brand span,.user-card small{color:var(--muted);margin-top:3px;font-size:11px}.nav-group{margin-bottom:18px}.nav-group p{color:#7c8782;margin:0 12px 7px;font-size:11px;font-weight:600}.nav-group a{color:#55615b;text-align:left;background:0 0;border-radius:9px;align-items:center;gap:11px;width:100%;margin-bottom:3px;padding:9px 11px;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-group a:hover,.nav-group .nav-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-group a:active,.primary-button:active,.period-button:active{transform:translateY(1px)}.account-control{border-top:1px solid var(--line);margin-top:auto;padding-top:10px;position:relative}.user-card{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;width:100%;padding:7px 8px;display:grid}.user-card:hover{background:var(--surface-2)}.user-card>span:nth-child(2){min-width:0}.user-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-card>svg{transition:transform .15s}.user-card .caret-open{transform:rotate(180deg)}.account-menu{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:5px;position:absolute;bottom:calc(100% + 8px);left:0;right:0;overflow:hidden}.account-menu a,.account-menu button{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;width:100%;padding:9px 10px;font-size:13px;text-decoration:none;display:flex}.account-menu a:hover,.account-menu button:hover{background:var(--surface-2)}.profile-panel{max-width:680px;padding:22px}.profile-panel form{gap:15px;display:grid}.profile-panel label{gap:7px;font-size:12px;font-weight:600;display:grid}.profile-panel input{background:var(--surface);border:1px solid #cbd3cf;border-radius:8px;outline:0;min-height:42px;padding:0 12px}.profile-panel input:focus{border-color:#59645f}.profile-panel button{cursor:pointer;border-radius:8px;justify-self:start;min-height:42px;padding:0 16px}.profile-years{grid-template-columns:1fr 1fr;gap:12px;display:grid}.avatar{color:var(--accent);background:#d7e7e0;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:flex}.close-menu,.mobile-menu{display:none}main{min-width:0;margin-left:244px}.topbar{border-bottom:1px solid var(--line);z-index:2;background:#ffffffe0;justify-content:flex-end;align-items:center;height:64px;padding:0 38px;display:flex;position:sticky;top:0}.search{color:#7a8580;align-items:center;width:100%;max-width:390px;margin-right:auto;display:flex}.search input{color:var(--text);background:0 0;border:0;outline:0;width:100%;padding:10px}.search input::placeholder{color:#7a8580}.icon-button{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.icon-button:focus-visible,button:focus-visible,input:focus-visible,.nav-group a:focus-visible{outline-offset:2px;outline:3px solid #176b4d47}.content{max-width:1440px;margin:0 auto;padding:34px 38px 60px}.page-heading{justify-content:space-between;align-items:flex-end;margin-bottom:26px;display:flex}.page-heading p{color:var(--muted);margin:0 0 9px;font-size:12px;font-weight:500}.page-heading h1{letter-spacing:-.03em;margin:0 0 7px;font-size:clamp(27px,3vw,30px);line-height:1.15}.page-heading span{color:var(--muted)}.heading-actions{gap:10px;display:flex}.heading-actions button{cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:8px;height:40px;padding:0 14px;display:flex}.period-button{background:var(--surface);border:1px solid var(--line)}.primary-button{background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.primary-button:hover{background:#125f43;border-color:#125f43}.primary-button:disabled{cursor:wait;opacity:.68}.metrics{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:22px;display:grid;overflow:hidden}.metric{background:var(--surface);min-height:166px;padding:20px 22px}.metric-top{justify-content:space-between;align-items:center;display:flex}.metric-top span{background:var(--accent-soft);color:var(--accent);border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.metric-top small{color:#7c8782;font-size:11px}.metric>strong{letter-spacing:-.03em;margin-top:18px;font-size:28px;display:block}.metric h2{margin:2px 0 8px;font-size:13px}.metric p{color:var(--muted);margin:0;font-size:12px}.metric p.alert{color:var(--danger)}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:22px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.panel-heading{justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.panel-heading h2{margin:0 0 4px;font-size:15px}.panel-heading p{color:var(--muted);margin:0;font-size:12px}.panel-heading button{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:600}.program-list{padding:0 22px 8px}.program-row{border-top:1px solid var(--line);grid-template-columns:auto minmax(120px,1fr) minmax(150px,.8fr) auto;align-items:center;gap:14px;padding:17px 0;display:grid}.program-icon{background:var(--surface-2);color:var(--accent);border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.program-copy strong,.program-copy span{display:block}.program-copy strong{margin-bottom:5px;font-size:13px}.program-copy span,.progress-cell span{color:var(--muted);font-size:11px;line-height:1.4}.progress-cell>div:first-child{justify-content:space-between;margin-bottom:8px;display:flex}.progress-cell strong{font-size:11px}.progress-track{background:#e5ebe8;border-radius:6px;height:5px;overflow:hidden}.progress-track i{background:var(--accent);border-radius:inherit;height:100%;display:block}.due{flex-direction:column;align-items:flex-end;gap:8px;min-width:78px;display:flex}.due span{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:flex}.due em{background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:5px 7px;font-size:11px;font-style:normal;font-weight:700}.attention-panel{padding-bottom:8px}.attention-item{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin:0 22px;padding:15px 0;display:grid}.attention-icon{color:var(--danger);background:#f8ece9;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.attention-item strong{font-size:13px}.attention-item p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.4}.attention-item b{color:var(--danger);background:#f8ece9;border-radius:50%;justify-content:center;align-items:center;width:23px;height:23px;font-size:11px;display:flex}.agenda-list{grid-template-columns:repeat(3,1fr);gap:0;padding:0 22px 18px;display:grid}.agenda-list article{border-top:1px solid var(--line);align-items:center;gap:12px;padding:15px 8px 4px 0;display:flex}.date-box{background:var(--surface-2);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.date-box strong{font-size:15px;line-height:1}.date-box span{color:var(--accent);margin-top:4px;font-size:11px;font-weight:700}.agenda-list article>div:last-child>strong{font-size:12px}.agenda-list p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.4}.activity-panel{padding-bottom:8px}.activity-item{border-top:1px solid var(--line);align-items:flex-start;gap:10px;margin:0 22px;padding:14px 0;display:flex}.avatar.small{flex:none;width:30px;height:30px}.activity-item p{margin:0 0 4px;font-size:12px;line-height:1.45}.activity-item span{color:var(--muted);font-size:11px}.mobile-menu,.scrim{display:none}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;margin:0;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:410px;padding:30px}.login-logo{justify-content:center;height:94px;margin-bottom:22px;display:flex}.login-logo img{object-fit:contain;width:169px;height:94px}.login-heading{align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.login-heading>span{background:var(--accent-soft);color:var(--accent);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.login-heading h1{letter-spacing:-.025em;margin:0 0 6px;font-size:22px}.login-heading p{color:var(--muted);margin:0;line-height:1.45}.login-card form{gap:8px;display:grid}.login-card label{margin-top:5px;font-size:12px;font-weight:700}.login-card input{background:var(--surface);color:var(--text);border:1px solid #cbd3cf;border-radius:8px;outline:0;min-height:42px;padding:0 12px}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #176b4d24}.login-card form button{background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;margin-top:10px;font-weight:700;display:flex}.login-card form button:active{transform:translateY(1px)}.login-card form button:disabled{cursor:wait;opacity:.72}.form-error{color:var(--danger);background:#f8ece9;border-radius:8px;margin:4px 0 0;padding:10px 12px;font-size:12px}.form-success{background:var(--accent-soft);color:var(--accent);border-radius:8px;padding:12px;font-size:12px;line-height:1.5}.forgot-link{color:var(--accent);text-align:center;margin-top:16px;font-size:12px;font-weight:600;display:block}.login-help{color:var(--muted);text-align:center;margin:18px 0 0;font-size:11px}.auth-page{background:#f2faf8 url(/kse-auth-background.png) 50%/cover no-repeat;padding:clamp(26px,4vw,58px);position:relative;overflow:hidden}.auth-layout{z-index:1;grid-template-columns:minmax(340px,1fr) 430px;width:min(1240px,100%);min-height:min(720px,100dvh - clamp(52px,8vw,116px));display:grid;position:relative}.auth-brand{color:var(--text);flex-direction:column;padding:6px 54px 8px 4px;display:flex}.auth-logo{justify-content:center;align-items:center;width:150px;height:74px;display:flex}.auth-logo img{object-fit:contain;width:126px;height:66px}.auth-brand-copy{margin:auto 0;transform:translateY(-2vh)}.auth-brand-copy h1{color:#12352a;letter-spacing:-.04em;max-width:620px;margin:0 0 22px;font-size:clamp(40px,4.5vw,56px);font-weight:600;line-height:1.02}.auth-brand-copy span{color:#48645b;max-width:480px;font-size:14px;line-height:1.65;display:block}.auth-brand small{color:#526d64;font-size:11px}.auth-form-panel{justify-content:center;align-items:center;display:flex}.auth-form-wrap{background:#fff;border:1px solid #d8e0dc;border-radius:12px;width:100%;max-width:430px;padding:40px}.auth-form-wrap .login-heading{margin-bottom:30px}.auth-form-wrap .login-heading h2{letter-spacing:-.03em;margin:0 0 7px;font-size:25px;font-weight:600}.auth-form-wrap form{gap:18px;display:grid}.field{gap:8px;display:grid}.field-label{justify-content:space-between;align-items:center;display:flex}.field-label a{color:var(--accent);font-size:11px;font-weight:600}.auth-form-wrap label{font-size:12px;font-weight:700}.auth-form-wrap input{color:var(--text);background:#fff;border:1px solid #bdc9c3;border-radius:8px;outline:0;min-height:48px;padding:0 14px;transition:border-color .15s}.auth-form-wrap input:hover{border-color:#8fa097}.auth-form-wrap input:focus{border:2px solid #59645f;outline:0}.auth-form-wrap form>button{background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:48px;margin-top:2px;font-weight:700;transition:background .15s,transform .15s;display:flex}.auth-form-wrap form>button:hover{background:#115f43}.auth-form-wrap form>button:disabled{cursor:wait;opacity:.72}.standalone{cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:8px;height:40px;padding:0 14px;display:flex}.document-summary{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:22px;display:grid;overflow:hidden}.document-summary>div{background:var(--surface);padding:20px 22px}.document-summary span,.document-summary small{color:var(--muted);font-size:11px;display:block}.document-summary strong{letter-spacing:-.03em;margin:12px 0 5px;font-size:25px;display:block}.document-summary .drive-state strong{color:var(--accent);margin-top:18px;font-size:16px}.document-summary .drive-state small{color:var(--accent)}.document-library{margin-bottom:22px}.document-toolbar{gap:20px}.document-actions{gap:9px;display:flex}.table-search{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;padding:0 10px;display:flex}.table-search input{color:var(--text);border:0;outline:0;width:180px;padding:8px}.document-actions select{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:0 30px 0 10px}.document-table-wrap{overflow-x:auto}.document-table{border-collapse:collapse;width:100%;min-width:850px}.document-table th{border-top:1px solid var(--line);color:var(--muted);text-align:left;background:#f8faf9;padding:11px 18px;font-size:11px;font-weight:600}.document-table td{border-top:1px solid var(--line);color:#59645f;padding:13px 18px;font-size:12px}.document-table td:first-child{color:var(--text);align-items:center;gap:10px;min-width:220px;display:flex}.file-icon{background:var(--accent-soft);color:var(--accent);border-radius:7px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.document-table em{white-space:nowrap;border-radius:6px;padding:5px 7px;font-size:11px;font-style:normal;font-weight:700}.document-table .complete{background:var(--accent-soft);color:var(--accent)}.document-table .review{color:#895b17;background:#fff1dd}.empty-table{color:var(--muted)!important;text-align:left!important;padding:0!important}.empty-state{justify-content:center;align-items:center;gap:13px;min-height:126px;padding:24px;display:flex}.empty-state>span{background:var(--accent-soft);color:var(--accent);border-radius:9px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.empty-state strong{color:var(--text);font-size:12px}.empty-state p{color:var(--muted);margin:5px 0 0;font-size:11px}.folder-grid{grid-template-columns:repeat(3,1fr);gap:12px;padding:0 22px 22px;display:grid}.folder-grid article{background:var(--surface-2);border-radius:9px;align-items:center;gap:12px;padding:16px;display:flex}.folder-grid article>span{color:var(--accent)}.folder-grid strong{font-size:12px}.folder-grid p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.4}.module-stats{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:22px;display:grid;overflow:hidden}.module-stats article{background:var(--surface);padding:20px 22px}.module-stats span,.module-stats small{color:var(--muted);font-size:11px;display:block}.module-stats strong{letter-spacing:-.03em;margin:12px 0 5px;font-size:25px;display:block}.module-table-panel{margin-bottom:22px}.module-toolbar{gap:20px}.module-table td:first-child{min-width:190px;display:table-cell}.module-table .empty-table{color:var(--muted);text-align:center;padding:38px}.calendar-note{color:var(--accent);align-items:center;gap:13px;padding:18px 22px;display:flex}.calendar-note strong{color:var(--text);font-size:12px}.calendar-note p{color:var(--muted);margin:4px 0 0;font-size:11px}.pagination{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:13px 18px;font-size:11px;display:flex}.pagination div{align-items:center;gap:10px;display:flex}.pagination strong{color:var(--text);font-size:11px}.pagination button{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:7px;padding:7px 10px;font-size:11px}.pagination button:disabled{cursor:default;opacity:.45}.attendance-forms{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px;margin-bottom:22px;display:grid}.attendance-form{align-self:start;overflow:hidden}.attendance-form summary{cursor:pointer;align-items:center;gap:8px;padding:17px 20px;font-size:13px;font-weight:600;list-style:none;display:flex}.attendance-form summary::-webkit-details-marker{display:none}.attendance-form summary svg{color:var(--accent)}.attendance-form[open] summary{border-bottom:1px solid var(--line)}.attendance-form form{gap:14px;padding:18px 20px 20px;display:grid}.attendance-form label{gap:7px;font-size:12px;font-weight:600;display:grid}.attendance-form input,.attendance-form select{background:var(--surface);color:var(--text);border:1px solid #cbd3cf;border-radius:8px;outline:0;width:100%;min-height:40px;padding:0 11px}.attendance-form input:focus,.attendance-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #176b4d1f}.attendance-form input:hover,.attendance-form select:hover{border-color:#adb8b3}.attendance-form input,.attendance-form select{font:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.attendance-form button{cursor:pointer;border-radius:8px;min-height:40px}.attendance-form button:disabled{cursor:default;opacity:.5}.point-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.attendance-table td:first-child{display:table-cell}.attendance-count{color:var(--accent);align-items:center;gap:6px;display:inline-flex}.attendance-count.absent,.negative-points{color:var(--danger)}.leaderboard-table{min-width:1120px}.leaderboard-table td:first-child{min-width:76px}.standing{white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:11px;font-style:normal;font-weight:600;display:inline-block}.standing.high,.standing.safe{background:var(--accent-soft);color:var(--accent)}.standing.warning{color:#8a5a0a;background:#fff1db}.standing.neutral{background:var(--surface-2);color:var(--muted)}.session-form{grid-column:1/-1}.session-fields{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.location-button{background:var(--surface);border:1px solid var(--line);color:var(--text);justify-content:center;align-items:center;gap:7px;display:flex}.session-result{background:var(--surface-2);border-radius:8px;grid-template-columns:1fr 160px auto;align-items:center;gap:14px;padding:13px;display:grid}.session-result span{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.session-result strong{overflow-wrap:anywhere;font-size:12px}.session-result button{background:var(--surface);border:1px solid var(--line);justify-content:center;align-items:center;gap:6px;padding:0 12px;display:flex}.verification-table{min-width:980px}.verify-actions{align-items:center;gap:7px;display:flex}.verify-actions select,.verify-actions button{background:var(--surface);border:1px solid var(--line);border-radius:7px;min-height:34px;padding:0 9px;font-size:11px}.verify-actions button{background:var(--accent);color:#fff;cursor:pointer}.verify-actions .reject-button{background:var(--surface);color:var(--danger)}.self-attendance-page{background:var(--page);justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.self-attendance-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:430px;padding:28px}.self-attendance-card header>span{color:var(--accent);font-size:12px;font-weight:600}.self-attendance-card h1{letter-spacing:-.03em;margin:8px 0 6px;font-size:25px}.self-attendance-card header p,.self-attendance-card>small{color:var(--muted);font-size:12px;line-height:1.5}.self-member{border-bottom:1px solid var(--line);border-top:1px solid var(--line);align-items:center;gap:11px;margin:22px 0;padding:16px 0;display:flex}.self-member svg{color:var(--accent)}.self-member strong,.self-member span{display:block}.self-member strong{font-size:13px}.self-member span{color:var(--muted);margin-top:3px;font-size:11px}.attendance-state{background:var(--surface-2);border-radius:8px;grid-template-columns:repeat(2,1fr);gap:1px;margin:0 0 18px;display:grid;overflow:hidden}.attendance-state div{background:var(--surface);padding:11px}.attendance-state dt{color:var(--muted);font-size:11px}.attendance-state dd{margin:4px 0 0;font-size:12px;font-weight:600}.self-attendance-card form{gap:13px;margin-bottom:16px;display:grid}.self-attendance-card form label{gap:7px;font-size:12px;font-weight:600;display:grid}.self-attendance-card form input{border:1px solid #cbd3cf;border-radius:8px;outline:0;min-height:44px;padding:0 11px;font-size:16px}.self-attendance-card form input:focus{border-color:#59645f}.self-attendance-card form button{cursor:pointer;border-radius:8px;min-height:44px}.self-attendance-card form button:disabled{cursor:default;opacity:.5}.account-create{margin-bottom:22px}.account-create label{gap:7px;font-size:12px;font-weight:600;display:grid}.account-submit{display:flex}.account-submit .primary-button{white-space:nowrap;min-width:132px;min-height:40px;padding-inline:16px}.accounts-table{min-width:940px}.accounts-table th,.accounts-table td{vertical-align:middle}.account-actions{align-items:center;gap:7px;display:flex}.account-actions form{margin:0}.account-actions button{background:var(--surface);border:1px solid var(--line);color:var(--text);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;min-width:34px;min-height:34px;padding:0 8px;display:flex}.account-actions .delete-account{color:var(--danger)}.account-self{color:var(--muted);white-space:nowrap;font-size:11px}.account-dialog-backdrop{z-index:20;background:#151f1b47;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.account-dialog{background:var(--surface);border:1px solid var(--line);border-radius:12px;width:100%;max-width:390px;padding:24px;position:relative}.account-dialog h2{letter-spacing:-.02em;margin:0;font-size:18px}.account-dialog>p{color:var(--muted);margin:8px 0 20px;font-size:12px;line-height:1.5}.account-dialog input{border:1px solid #cbd3cf;border-radius:8px;outline:0;min-height:42px;padding:0 11px;font-size:14px}.dialog-close{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;padding:4px;display:flex;position:absolute;top:14px;right:14px}.danger-button{color:#fff;cursor:pointer;background:#b9382f;border:0;border-radius:8px;min-height:42px}.inline-message{border-radius:7px;margin:0;padding:9px 11px;font-size:12px;line-height:1.4}.inline-message.success{background:var(--accent-soft);color:var(--accent)}.inline-message.error{color:var(--danger);background:#f8ece9}.setup-notice{border-radius:var(--radius);background:#fff7e8;border:1px solid #ead6ac;margin-bottom:22px;padding:16px 18px}.setup-notice strong{font-size:13px}.setup-notice p{color:#6f6041;margin:5px 0 0;font-size:12px;line-height:1.5}.setup-notice code{overflow-wrap:anywhere}.point-rule{background:var(--surface-2);color:var(--muted);border-radius:7px;margin:0;padding:10px 11px;font-size:12px;line-height:1.5}.member-link{color:var(--text);font-weight:600;text-decoration:none}.member-link:hover,.proof-link:hover{color:var(--accent);text-decoration:underline}.back-link{color:var(--muted);align-items:center;gap:6px;margin-bottom:18px;font-size:12px;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--accent)}.share-link{cursor:pointer;align-items:center;gap:7px;min-height:40px;padding:0 13px;display:flex}.points-summary{grid-template-columns:repeat(4,1fr)}.proof-link{color:var(--accent);align-items:center;gap:5px;text-decoration:none;display:inline-flex}@media (max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:760px){.sidebar{transition:transform .2s;transform:translate(-105%);box-shadow:16px 0 50px #14281f24}.sidebar-open{transform:translate(0)}.close-menu{background:0 0;border:0;margin-left:auto;padding:5px;display:flex}.scrim{z-index:2;background:#121c1859;border:0;display:block;position:fixed;inset:0}main{margin-left:0}.mobile-menu{background:var(--surface);border:1px solid var(--line);z-index:3;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:fixed;top:13px;left:16px}.topbar{height:64px;padding:0 16px 0 64px}.search{max-width:none}.content{padding:24px 16px 40px}.page-heading{flex-direction:column;align-items:flex-start;gap:18px}.heading-actions{width:100%}.heading-actions button{justify-content:center}.period-button{flex:1}.metrics{grid-template-columns:repeat(2,1fr)}.metric{min-height:132px;padding:15px}.metric-top small{display:none}.program-row{grid-template-columns:auto 1fr}.progress-cell{grid-column:2}.due{grid-column:2;align-items:flex-start}.agenda-list{grid-template-columns:1fr}.document-summary{grid-template-columns:repeat(2,1fr)}.document-toolbar{flex-direction:column;align-items:stretch}.document-actions{width:100%}.table-search{flex:1}.table-search input{width:100%}.folder-grid{grid-template-columns:1fr}.module-stats,.points-summary{grid-template-columns:repeat(2,1fr)}.module-stats article:last-child:nth-child(odd){grid-column:1/-1}.module-toolbar{flex-direction:column;align-items:stretch}.attendance-forms,.session-fields,.session-result,.account-create form{grid-template-columns:1fr}.account-submit,.account-submit .primary-button{width:100%}.profile-panel{padding:18px}.auth-page{padding:max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));background-position:58%;align-items:stretch;overflow:auto}.auth-layout{grid-template-rows:auto 1fr;grid-template-columns:1fr;min-height:calc(100dvh - 36px)}.auth-brand{min-height:0;padding:0}.auth-logo{justify-content:flex-start;width:116px;height:54px}.auth-logo img{width:100px;height:50px}.auth-brand-copy,.auth-brand>small{display:none}.auth-form-panel{align-items:center;padding:18px 0 34px}.auth-form-wrap{border-radius:11px;max-width:340px;padding:24px 22px 20px}.auth-form-wrap form{gap:14px}.auth-form-wrap input{min-height:44px;font-size:16px}.auth-form-wrap form>button{min-height:44px}.auth-form-wrap .login-heading{margin-bottom:22px}.auth-form-wrap .login-heading h2{font-size:22px}.login-help{margin-top:14px;font-size:11px;line-height:1.4}}@media (max-width:430px){.search input::placeholder{color:#0000}.content{padding:22px 14px 36px}.page-heading h1{letter-spacing:-.02em;font-size:22px}.heading-actions{grid-template-columns:1.35fr 1fr;gap:8px;display:grid}.heading-actions button{width:100%}.period-button svg:first-child{display:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.metric{min-height:126px;padding:14px}.metric-top span{width:32px;height:32px}.metric>strong{margin-top:13px;font-size:24px}.metric h2{margin-bottom:5px;line-height:1.3}.dashboard-grid{gap:14px}.panel-heading{padding:17px 18px}.program-list{padding:0 18px 6px}.attention-item,.activity-item{margin-left:18px;margin-right:18px}.agenda-list{padding-left:18px;padding-right:18px}.page-heading>.standalone{justify-content:center;width:100%}.document-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.document-actions{flex-direction:column;align-items:stretch}.table-search,.document-actions select{min-height:40px}.pagination{flex-direction:column;align-items:flex-start;gap:10px}.profile-years{grid-template-columns:1fr}.auth-page{padding-left:14px;padding-right:14px}.auth-form-panel{padding-bottom:24px}.auth-form-wrap{max-width:330px;padding:22px 20px 18px}}@media (max-width:340px){.metrics,.document-summary,.module-stats{grid-template-columns:1fr}.module-stats article:last-child:nth-child(odd){grid-column:auto}.heading-actions{grid-template-columns:1fr}}@media (max-width:760px) and (max-height:680px){.auth-form-panel{align-items:flex-start;padding-top:18px}}.document-table,.module-stats strong,.document-summary strong,.metric strong,.progress-cell strong,.pagination,.date-box strong,.attention-item b{font-variant-numeric:tabular-nums}h1,h2,h3,.empty-state strong,.page-heading span{text-wrap:balance}.empty-state p,.panel-heading p,.inline-message{text-wrap:pretty}a:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.table-search input:focus-visible,label:focus-within>input{outline-offset:2px;outline:3px solid #176b4d47}.account-actions button:active,.account-actions a:active,.danger-button:active,.delete-account:active,.module-toolbar button:active,.pagination button:active{transform:translateY(1px)}.account-actions button,.account-actions a,.danger-button,.pagination button{transition:background .15s,border-color .15s,color .15s,transform .15s}.skip-link{background:var(--accent);border-radius:0 0 var(--radius) 0;color:#fff;z-index:30;padding:10px 16px;font-size:12px;font-weight:600;transition:transform .15s;position:fixed;top:0;left:0;transform:translateY(-120%)}.skip-link:focus-visible{transform:translateY(0)}.notice-page{justify-content:center;align-items:center;min-height:100dvh;padding:32px;display:flex}.notice-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:left;width:100%;max-width:460px;padding:36px;box-shadow:0 18px 40px #14281f14}.notice-card>span{background:var(--accent-soft);color:var(--accent);border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:20px;display:flex}.notice-card h1{letter-spacing:-.02em;margin:0 0 8px;font-size:22px}.notice-card p{color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.6}.notice-card code{background:var(--surface-2);border-radius:5px;padding:2px 6px;font-size:11px}.notice-actions{flex-wrap:wrap;gap:10px;display:flex}.legal-page{max-width:68ch;margin:0 auto;padding:56px 24px 80px}.legal-page h1{letter-spacing:-.02em;margin:0 0 6px;font-size:26px}.legal-page>p:first-of-type{color:var(--muted);margin:0 0 32px;font-size:12px}.legal-page h2{margin:32px 0 8px;font-size:15px}.legal-page p,.legal-page li{color:var(--text);font-size:13px;line-height:1.7}.legal-page ul{margin:8px 0;padding-left:20px}.legal-page a{color:var(--accent)}.quick-jump{width:100%;position:relative}.quick-jump-list{background:var(--surface);border:1px solid var(--line);z-index:25;border-radius:10px;margin:6px 0 0;padding:5px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 18px 40px #14281f1f}.quick-jump-list button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:baseline;gap:10px;width:100%;padding:9px 10px;font-size:12.5px;transition:background .15s;display:flex}.quick-jump-list button:hover{background:var(--surface-2)}.quick-jump-list button span{color:var(--muted);font-size:11px}.quick-jump-empty{color:var(--muted);padding:9px 10px;font-size:12px}.sidebar-legal{border-top:1px solid var(--line);flex-wrap:wrap;gap:4px 10px;margin:0 18px;padding:12px 0 4px;display:flex}.sidebar-legal a{color:var(--muted);font-size:11px}.sidebar-legal a:hover{color:var(--accent)}.account-create input,.account-create select,.account-create textarea,.account-dialog input,.account-dialog select,.account-dialog textarea,.account-actions input{background:var(--surface);color:var(--text);font:inherit;border:1px solid #cbd3cf;border-radius:8px;outline:0;width:100%;min-height:40px;padding:0 11px;font-size:13px;transition:border-color .15s,box-shadow .15s}.account-create textarea,.account-dialog textarea{resize:vertical;padding:10px 11px}.account-create input:hover,.account-create select:hover,.account-dialog input:hover,.account-dialog select:hover{border-color:#adb8b3}.account-create input:focus,.account-create select:focus,.account-create textarea:focus,.account-dialog input:focus,.account-dialog select:focus,.account-dialog textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #176b4d1f}.account-create input::placeholder,.account-dialog input::placeholder{color:#98a29e}.account-create select,.account-dialog select,.attendance-form select,.module-toolbar select,.document-actions select,.table-search select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 256 256' fill='%2368736e'%3E%3Cpath d='M213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80A8 8 0 0 1 53.66 90.34L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32z'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:32px}.account-create select:disabled,.account-dialog select:disabled{background-color:var(--surface-2);color:var(--muted);cursor:not-allowed}.account-create input[type=date],.account-create input[type=datetime-local],.account-dialog input[type=date],.account-dialog input[type=datetime-local]{cursor:text}.account-create input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55;transition:opacity .15s}.account-create input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55;transition:opacity .15s}.account-dialog input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55;transition:opacity .15s}.account-dialog input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55;transition:opacity .15s}.account-create input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.account-dialog input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.account-create input[type=file]{align-items:center;padding:0 0 0 4px;display:flex}.account-create input[type=file]::file-selector-button{background:var(--surface-2);color:var(--text);cursor:pointer;font:inherit;border:0;border-radius:6px;margin-right:10px;padding:8px 12px;font-size:12px;font-weight:600;transition:background .15s}.account-create input[type=file]::file-selector-button:hover{background:var(--accent-soft);color:var(--accent)}.account-create form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:14px 16px;padding:0 20px 20px;display:grid}.account-create .account-submit{grid-column:1/-1;justify-content:flex-end;margin-top:2px}.account-create .inline-message{grid-column:1/-1;margin:0}.account-dialog form{gap:13px;display:grid}.account-dialog label{gap:7px;font-size:12px;font-weight:600;display:grid}.document-table td form{margin:0;display:inline-flex}.document-table td button:not(.delete-account):not(.primary-button):not(.danger-button){background:var(--surface);border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;border-radius:7px;min-height:32px;padding:0 10px;transition:background .15s,border-color .15s,transform .15s}.document-table td button:hover{background:var(--surface-2);border-color:#cbd3cf}.document-table td button:active{transform:translateY(1px)}.document-table td button em{font-size:11px}.account-actions a{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:7px;justify-content:center;align-items:center;min-width:34px;min-height:34px;display:flex}.account-actions a:hover,.account-actions button:hover{background:var(--surface-2)}.quick-jump{max-width:390px;margin-right:auto}.module-toolbar select,.document-actions select{background-color:var(--surface);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:8px;min-height:36px;padding:0 32px 0 11px;font-size:12.5px;transition:border-color .15s}.module-toolbar select:hover,.document-actions select:hover{border-color:#cbd3cf}.table-search select{color:var(--text);font:inherit;background-color:#0000;background-position:right 2px center;border:0;min-height:34px;padding:0 26px 0 2px;font-size:12.5px}a.primary-button,a.period-button,a.danger-button,.notice-actions a,.account-actions a,.sidebar-legal a{text-decoration:none}a.primary-button,a.period-button,a.danger-button{justify-content:center;align-items:center;gap:8px;display:inline-flex}a.primary-button{color:#fff}a.period-button{color:var(--text)}a.primary-button:visited{color:#fff}a.period-button:visited,.account-actions a:visited{color:var(--text)}.sidebar-legal a:visited{color:var(--muted)}.account-create select[multiple]{background-image:none;height:auto;min-height:0;padding:8px 10px}.account-create select[multiple] option{padding:4px 2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (prefers-reduced-transparency:reduce){.auth-form-wrap{background:#fff}}
