:root{color:#233e39;font-synthesis:none;background:#f4f7f6;font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;white-space:nowrap;border:0;border-radius:7px;padding:10px 16px;font-weight:600}button:disabled{opacity:.5;cursor:default}input,select{color:#233e39;background:#fff;border:1px solid #d9e2df;border-radius:7px;max-width:100%;min-height:40px;padding:8px 12px}label{color:#647c76;flex-direction:column;gap:6px;font-size:12px;display:flex}a{color:#167566}.primary{color:#fff;background:#166b5d}.primary:hover:enabled{background:#105447}.secondary{color:#31584e;background:#fff;border:1px solid #d6e1dd}.plain{color:#627b73;background:0 0}.text-button{color:#167566;background:0 0;padding:6px 0}.logo{color:#155f50;background:#d7f1e6;border-radius:11px;flex-shrink:0;place-items:center;width:39px;height:39px;font-size:22px;font-weight:700;display:grid}.eyebrow{letter-spacing:2px;color:#6b9185;font-size:11px;font-weight:700}h1,h2,p{margin:0}h1{letter-spacing:-.8px;font-size:30px;line-height:1.4}h2{font-size:17px}small{font-size:11px}.login-page{background:radial-gradient(at 20% 15%,#dcefe5,#0000 60%),#f4f7f6;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:30px;display:flex}.login-brand{align-items:center;gap:12px;margin-bottom:34px;font-size:17px;font-weight:700;display:flex}.login-brand small{letter-spacing:2px;color:#7f958c;font-size:9px;display:block}.login-card{background:#fff;border:1px solid #dce7e1;border-radius:18px;width:100%;max-width:460px;padding:42px;box-shadow:0 18px 70px #294e3b0c}.login-card h1{margin:12px 0;font-size:26px}.login-card p{color:#768b83;margin-bottom:28px}.login-card input{letter-spacing:5px;width:100%;margin:8px 0 7px;font-size:18px}.login-card small{color:#7f938a}.login-card .primary{width:100%;margin-top:25px;padding:13px}.login-card footer{text-align:center;letter-spacing:1.5px;color:#9cac9f;margin-top:30px;font-size:10px}.workspace{min-height:100dvh}.sidebar{color:#e4eee9;z-index:1;background:#123b33;flex-direction:column;width:222px;padding:30px 19px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;font-size:15px;font-weight:700;display:flex}.brand small{color:#9cb9ae;margin-top:2px;font-weight:400;display:block}.nav-label{letter-spacing:2px;color:#8aa79d;margin:48px 12px 14px;font-size:10px}.sidebar nav{flex-direction:column;gap:7px;display:flex}.sidebar nav button{text-align:left;color:#aec5bc;background:0 0;padding:13px 14px;font-weight:500}.sidebar nav button.active{color:#fff;background:#2a584b}.sidebar nav button span{margin-right:10px}.sidebar-bottom{color:#9bb5a7;margin-top:auto;padding:20px 10px 0;font-size:10px}.status-dot{background:#97cba0;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.sidebar-bottom button{color:#dfebe4;background:0 0;padding:15px 0 0;font-size:12px;display:block}.content{max-width:1800px;margin-left:222px;padding:0 42px 40px}.topline{color:#8a9a91;border-bottom:1px solid #dfe7e2;justify-content:space-between;align-items:center;height:76px;font-size:12px;display:flex}.read-only{color:#5c796d;background:#fafcfb;border:1px solid #dce6df;border-radius:20px;padding:4px 12px}.heading{justify-content:space-between;align-items:center;gap:20px;padding:33px 0 28px;display:flex}.heading h1{margin:7px 0 8px}.heading p{color:#798d83;font-size:13px}.metrics{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px;display:grid}.metrics article{background:#fff;border:1px solid #dde7e1;border-radius:10px;padding:22px 25px}.metrics article>span{color:#7c9085;font-size:12px}.metrics strong{letter-spacing:-1px;margin:6px 0;font-size:33px;font-weight:650;display:block}.metrics strong small{letter-spacing:0;font-size:14px;font-weight:400}.metrics p{color:#8a9c91;font-size:11px}.metrics .accent{background:#e9f1e9}.metrics .model{letter-spacing:-.8px;margin:13px 0;font-size:25px}.export-bar{background:#eef3ef;border:1px solid #dbe4db;border-radius:9px;align-items:center;gap:14px;margin-bottom:25px;padding:18px 21px;display:flex}.export-bar>div{flex:1}.export-bar strong{font-size:14px;display:block}.export-bar span{color:#819285;font-size:11px}.export-bar label{flex-direction:row;align-items:center}.data-panel{background:#fff;border:1px solid #dde6e0;border-radius:10px;overflow:hidden}.filters{border-bottom:1px solid #edf1ed;flex-wrap:wrap;align-items:end;gap:12px;padding:22px;display:flex}.filters input{width:190px}.filters select{min-width:130px;max-width:250px}.table-heading{justify-content:space-between;align-items:center;padding:22px;display:flex}.table-heading span{color:#91a096;font-size:11px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;text-align:left;font-variant-numeric:tabular-nums;width:100%;font-size:12px}th{color:#7d9185;background:#f7f9f7;padding:13px 18px;font-size:11px;font-weight:500}td{color:#496555;border-bottom:1px solid #edf2ed;padding:19px 18px}td:first-child,th:first-child{padding-left:22px}td small{color:#9baa9f;margin-top:4px;font-size:10px;display:block}td strong{color:#284b39;font-size:13px;font-weight:600}.total{color:#315e46;font-weight:650}.money{font-size:11px}.tag{color:#798d80;background:#eef3ef;border-radius:4px;margin-left:7px;padding:2px 6px;font-size:9px}.warning{color:#a87931!important}.title-cell{text-overflow:ellipsis;max-width:280px;overflow:hidden}.pagination{color:#9aaa9e;justify-content:space-between;align-items:center;padding:18px 22px;font-size:11px;display:flex}.pagination div{gap:8px;display:flex}.pagination button{padding:7px 12px;font-size:11px}.empty{text-align:center;color:#92a195;padding:65px 20px}.empty>span{color:#b3c2b6;font-size:32px;display:block}.empty strong{color:#78917e;margin:9px;font-weight:500;display:block}.empty p{font-size:12px}.alert{color:#966329;background:#fcf2e8;border:1px solid #ecdac1;border-radius:7px;margin:14px 22px;padding:14px 20px;font-size:12px}.login-card .alert{margin:15px 0 0}.pricing-note{color:#8b9b8e;max-width:1100px;margin:23px 3px;font-size:11px}.pricing-note strong{color:#687f6b}.pricing-note p{margin:7px 0;line-height:1.9}.pricing-note a{margin-left:8px}.overlay{z-index:5;background:#102a2290;justify-content:flex-end;display:flex;position:fixed;inset:0}.detail{background:#fff;outline:0;width:min(1080px,95vw);height:100dvh;overflow-y:auto;box-shadow:-10px 0 50px #0002}.detail>header{z-index:2;background:#fcfdfb;border-bottom:1px solid #e3ece4;justify-content:space-between;padding:27px 30px;display:flex;position:sticky;top:0}.detail h2{overflow-wrap:anywhere;max-width:850px;margin:6px 0;font-size:21px}.detail header p{color:#90a292;font-size:12px}.close{background:#fff;border:1px solid #dce5dc;height:35px;padding:5px 11px;font-size:22px;line-height:1}.detail-summary{align-items:center;gap:35px;padding:24px 30px;display:flex}.detail-summary span{color:#91a293;font-size:12px}.detail-summary strong{margin-top:8px;font-size:20px;display:block}.detail-summary small{color:#a38658;display:block}.detail-summary button{margin-left:auto;font-size:11px}.chart{color:#7d917f;background:#f3f7f2;border:1px solid #e0e9df;border-radius:9px;margin:0 30px 25px;padding:20px;font-size:11px}.bars{align-items:end;gap:5px;height:100px;margin:15px 0 10px;display:flex}.bars div{background:#61a48a;border-radius:3px 3px 0 0;flex:1;min-height:2px}.bars div:hover{background:#1a725a}.chart small{color:#9a9;justify-content:space-between;display:flex}.daily-table{min-height:240px;max-height:calc(100dvh - 390px);overflow:auto}.daily-table thead{position:sticky;top:0}.daily-table td{padding:13px 18px}.chat{background:#f5f8f4;min-height:calc(100dvh - 133px);padding:30px}.message{max-width:85%;margin:0 0 25px}.message.student{margin-left:auto}.message-meta{color:#9cae9e;align-items:center;gap:12px;margin-bottom:8px;font-size:11px;display:flex}.message.student .message-meta{justify-content:flex-end}.message-meta strong{color:#59795f;font-weight:500}.message-meta time{font-size:10px}.bubble{background:#fff;border:1px solid #e0e9de;border-radius:0 12px 12px;padding:16px 20px}.student .bubble{background:#dfeee2;border-color:#d1e5d6;border-radius:12px 0 12px 12px}.markdown{color:#37543d;overflow-wrap:anywhere;font-size:14px;line-height:1.8}.markdown p{margin:0 0 10px}.markdown p:last-child{margin-bottom:0}.markdown pre{white-space:pre-wrap;background:#eef2eb;border-radius:6px;padding:14px;overflow:auto}.markdown code{background:#ecf0e7;border-radius:3px;padding:2px 4px;font-family:Consolas,monospace}.markdown pre code{padding:0}.markdown table{white-space:normal}.markdown th,.markdown td{border:1px solid #cfddcc;padding:8px}.markdown blockquote{color:#6a896d;border-left:3px solid #94b596;margin:10px 0;padding-left:12px}.attachments{border-top:1px solid #c5d9c8;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:10px;display:flex}.attachments span{color:#6e8c6f;font-size:11px}.older{margin:0 auto 25px;display:block}.chat-note{text-align:center;color:#9cac9b;padding-top:25px;font-size:11px}@media (width>=1600px){.content{padding-left:60px;padding-right:60px}}@media (width<=1100px){.sidebar{width:185px;padding:25px 13px}.brand{font-size:13px}.content{margin-left:185px;padding-left:22px;padding-right:22px}h1{font-size:25px}.metrics article{padding:18px}.filters{gap:8px}.filters input{width:150px}.export-bar{flex-wrap:wrap}.export-bar>div{min-width:220px}}@media (width<=720px){.sidebar{flex-flow:wrap;align-items:center;gap:12px;width:100%;padding:15px;position:static}.sidebar .brand{flex:1}.nav-label{display:none}.sidebar nav{flex-direction:row}.sidebar nav button{padding:9px;font-size:12px}.sidebar-bottom{margin:0;padding:0;font-size:0}.sidebar-bottom .status-dot{display:none}.sidebar-bottom button{padding:5px;font-size:11px}.content{margin-left:0;padding:0 15px 25px}.topline{height:50px}.heading{align-items:start;padding:23px 0}.heading .secondary{padding:8px;font-size:10px}h1{font-size:22px}.heading p{font-size:11px}.metrics{grid-template-columns:1fr 1fr;gap:8px}.metrics article{padding:15px}.metrics .accent{grid-column:1/-1}.metrics strong{font-size:28px}.metrics .model{margin:6px 0;font-size:22px}.export-bar{gap:10px;padding:15px}.export-bar>div{min-width:100%}.export-bar input{width:145px}.export-bar button{font-size:11px}.filters{gap:9px;padding:15px}.filters label:first-child,.filters input{width:100%}.filters select{min-width:100px;max-width:200px}.table-heading{padding:17px}.table-heading h2{font-size:14px}.table-heading span{font-size:10px}.detail{width:100vw}.detail>header{padding:20px}.detail h2{font-size:18px}.detail-summary{flex-wrap:wrap;gap:15px;padding:20px}.detail-summary strong{font-size:16px}.detail-summary button{margin-left:0}.chart{margin:0 20px 20px}.chat{padding:20px 15px}.message{max-width:93%}.message-meta{flex-wrap:wrap;gap:5px}.bubble{padding:13px}.login-card{padding:30px 25px}.login-card h1{font-size:23px}}
