:root{--ink:#10253f;--muted:#63738a;--blue:#1369e8;--blue-dark:#084fb7;--line:#dce5f0;--surface:#f5f8fc}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);background:#f7f9fc;font-family:Arial,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}.welcome-shell{background:radial-gradient(circle at 76% 8%,#2479ec2b,#0000 31%),radial-gradient(circle at 12% 92%,#28aa961a,#0000 27%),linear-gradient(135deg,#f8fbff 0%,#f4f7fb 55%,#edf4fd 100%);min-height:100vh;padding:0 clamp(24px,6vw,96px)}.welcome-nav{border-bottom:1px solid #10253f17;align-items:center;height:94px;display:flex}.brand-mark{background:var(--blue);color:#fff;border-radius:13px;place-items:center;width:42px;height:42px;font:700 22px serif;display:grid;box-shadow:0 8px 20px #1369e838}.brand-copy{flex-direction:column;gap:3px;margin-left:12px;display:flex}.brand-copy strong{letter-spacing:.03em;font-size:17px}.brand-copy span{color:var(--muted);font-size:11px}.secure-pill{border:1px solid var(--line);color:var(--muted);background:#ffffffbf;border-radius:999px;margin-left:auto;padding:8px 12px;font-size:12px}.welcome-grid{grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);align-items:center;gap:clamp(40px,7vw,110px);min-height:calc(100vh - 166px);padding:56px 0 72px;display:grid}.eyebrow{color:var(--blue);letter-spacing:.2em;margin:0 0 18px;font-size:13px;font-weight:700}.welcome-copy h1{letter-spacing:-.035em;max-width:720px;margin:0;font-family:Georgia,Microsoft YaHei,serif;font-size:clamp(40px,5.1vw,70px);font-weight:700;line-height:1.18}.welcome-lead{max-width:620px;color:var(--muted);margin:28px 0 34px;font-size:17px;line-height:1.9}.sso-button{background:var(--blue);color:#fff;border-radius:12px;align-items:center;gap:18px;padding:15px 22px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex;box-shadow:0 14px 30px #1369e83d}.sso-button:hover{background:var(--blue-dark);transform:translateY(-2px)}.sso-button:focus-visible{outline-offset:3px;outline:3px solid #1369e859}.welcome-note{color:#7b899b;margin-top:15px;font-size:12px}.preview-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffdb;border:1px solid #fffc;border-radius:24px;padding:28px;box-shadow:0 30px 70px #2f486929}.preview-top{justify-content:space-between;align-items:center;font-size:14px;font-weight:700;display:flex}.preview-top>div{flex-direction:column;gap:5px;display:flex}.preview-top small{color:var(--muted);font-size:11px;font-weight:400}.current-label{color:var(--blue);white-space:nowrap;background:#edf5ff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700}.live-dot{color:#188b68;font-size:11px;font-weight:600}.live-dot:before{content:"";background:#27b487;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.metric-row{grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;display:grid}.metric-row div{background:var(--surface);border-radius:15px;padding:18px 15px}.metric-row strong{margin-bottom:6px;font-size:27px;display:block}.metric-row span{color:var(--muted);font-size:12px}.usage-card{overflow:hidden}.usage-metrics{grid-template-columns:repeat(2,1fr)}.usage-metrics div{background:#f8fafd;border:1px solid #e7edf5;padding:19px 17px;position:relative}.usage-metrics strong{color:var(--blue);margin:0;font-size:31px;display:inline}.usage-metrics span{color:#44566d;margin-top:7px;font-weight:700;display:block}.usage-metrics small{color:#8592a2;margin-left:5px;font-size:11px}.usage-flow{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:9px;padding:17px;display:flex}.usage-flow>div{align-items:center;gap:9px;min-width:0;display:flex}.usage-flow b{width:27px;height:27px;color:var(--blue);background:#eaf2ff;border-radius:50%;flex:none;place-items:center;font-size:11px;display:grid}.usage-flow span{flex-direction:column;gap:3px;display:flex}.usage-flow strong{white-space:nowrap;font-size:11px}.usage-flow small{color:var(--muted);white-space:nowrap;font-size:9px}.usage-flow i{color:#a8b4c3;font-size:12px;font-style:normal}.lesson-sample{border:1px solid var(--line);border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:17px;display:grid}.lesson-date{width:46px;color:var(--blue);background:#eaf2ff;border-radius:12px;flex-direction:column;align-items:center;padding:7px;display:flex}.lesson-date strong{font-size:19px}.lesson-date span{font-size:10px}.lesson-main{flex-direction:column;gap:6px;min-width:0;display:flex}.lesson-main strong{font-size:13px}.lesson-main span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.status-tag{color:#16815f;background:#e8f8f2;border-radius:999px;padding:6px 9px;font-size:10px}.progress-block{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.progress-block>div:first-child{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.progress-block strong{color:var(--ink)}.progress-track{background:#e6ebf1;border-radius:999px;height:7px;margin-top:10px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,var(--blue),#49b6a1);width:82%;height:100%;display:block}.welcome-footer{color:#8592a2;border-top:1px solid #10253f17;justify-content:center;align-items:center;gap:12px;height:72px;font-size:11px;display:flex}.welcome-footer a{color:inherit;text-decoration:none}.welcome-footer a:hover{color:var(--blue)}@media (width<=900px){.welcome-grid{grid-template-columns:1fr}.preview-card{max-width:680px}}@media (width<=560px){.welcome-shell{padding:0 20px}.welcome-nav{height:80px}.brand-copy span,.secure-pill{display:none}.welcome-grid{min-height:auto;padding:56px 0}.welcome-copy h1{font-size:38px}.welcome-lead{font-size:15px}.preview-card{padding:18px}.metric-row{gap:7px}.metric-row div{padding:14px 10px}.metric-row strong{font-size:22px}.usage-flow{flex-direction:column;align-items:stretch}.usage-flow i{display:none}.usage-flow>div{padding:5px 0}.lesson-sample{grid-template-columns:auto 1fr}.status-tag{display:none}.welcome-footer{flex-wrap:wrap;height:auto;padding:24px 0}}.auth-error,.global-error,.form-error{color:#a33131;background:#fff0f0;border:1px solid #ffd1d1;border-radius:10px;padding:10px 13px;font-size:13px}.loading-screen{min-height:100vh;color:var(--muted);background:#f5f8fc;place-content:center;justify-items:center;gap:14px;display:grid}.app-shell{background:#f5f7fa;grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:#10253f;flex-direction:column;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.side-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:11px;padding:0 6px 27px;display:flex}.side-brand .brand-mark{width:38px;height:38px;box-shadow:none}.side-brand>div:last-child{flex-direction:column;gap:3px;display:flex}.side-brand strong{font-size:15px}.side-brand span{color:#9fb0c6;font-size:10px}.sidebar nav{flex-direction:column;gap:7px;margin-top:28px;display:flex}.sidebar nav button{color:#aebcd0;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;padding:12px 14px;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff1a}.nav-dot{border:2px solid;border-radius:50%;width:7px;height:7px}.sidebar nav button.active .nav-dot{background:#55b4ff;border-color:#55b4ff;box-shadow:0 0 0 4px #55b4ff21}.permission-box{background:#ffffff0d;border:1px solid #ffffff17;border-radius:12px;flex-direction:column;gap:5px;margin-top:auto;padding:15px;display:flex}.permission-box span,.permission-box small{color:#9fb0c6;font-size:10px}.permission-box strong{font-size:13px}.app-main{min-width:0}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffdb;border-bottom:1px solid #e1e7ef;justify-content:space-between;align-items:center;height:94px;padding:0 clamp(24px,4vw,58px);display:flex}.app-header p{color:#8190a3;margin:0 0 4px;font-size:11px}.app-header h1{margin:0;font-size:21px}.account-area{align-items:center;gap:10px;display:flex}.account-area>div:nth-child(2){flex-direction:column;gap:2px;display:flex}.account-area strong{font-size:12px}.account-area span{color:#8a98aa;font-size:10px}.avatar,.growth-avatar{color:var(--blue);background:#e5efff;border-radius:50%;place-items:center;font-weight:700;display:grid}.avatar{width:37px;height:37px}.content-area{max-width:1160px;margin:0 auto;padding:36px clamp(24px,4vw,58px) 60px}.panel{background:#fff;border:1px solid #e1e7ef;border-radius:18px;padding:30px;box-shadow:0 9px 30px #2a405c0f}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.section-heading h2{margin:3px 0 0;font-size:23px}.section-kicker{color:var(--blue);letter-spacing:.14em;margin:0;font-size:10px;font-weight:700}.record-count{color:#7b899b;font-size:12px}.record-count strong{color:var(--blue);font-size:22px}.feedback-form,.growth-compose{flex-direction:column;gap:18px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.feedback-form label,.growth-compose label{color:#42556d;flex-direction:column;gap:8px;font-size:12px;font-weight:700;display:flex}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d5dee9;border-radius:9px;outline:none}input,select{height:42px;padding:0 12px}textarea{resize:vertical;min-height:98px;padding:12px;line-height:1.65}input:focus,select:focus,textarea:focus{border-color:#72a7f0;box-shadow:0 0 0 3px #1369e817}input:disabled,select:disabled{color:#9aa5b2;background:#f1f3f6}.teacher-picker{position:relative}.selected-teacher{color:#16815f;font-size:10px;font-weight:500}.teacher-options{z-index:20;background:#fff;border:1px solid #cdd9e8;border-radius:10px;max-height:240px;position:absolute;top:70px;left:0;right:0;overflow:auto;box-shadow:0 14px 32px #243a5629}.teacher-options button{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.teacher-options button:last-child{border-bottom:0}.teacher-options button:hover,.teacher-options button:focus{background:#edf5ff;outline:none}.teacher-options button strong{font-size:12px}.teacher-options button span{color:#7b899b;font-size:10px;font-weight:500}.teacher-options p{color:#8b98a8;margin:0;padding:13px;font-size:11px;font-weight:400}.form-actions{justify-content:flex-end;display:flex}.primary-btn,.ghost-btn{cursor:pointer;border:0;border-radius:9px;font-weight:700}.primary-btn{background:var(--blue);color:#fff;padding:12px 20px;box-shadow:0 8px 20px #1369e82e}.primary-btn:hover{background:var(--blue-dark)}.primary-btn:disabled{opacity:.55;cursor:not-allowed}.ghost-btn{color:#54677e;background:#fff;border:1px solid #d9e1eb;padding:9px 13px}.toolbar{gap:10px;margin-bottom:22px;display:flex}.toolbar input{flex:1}.record-list,.growth-list{flex-direction:column;gap:12px;display:flex}.record-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:54px minmax(0,1fr);gap:16px;padding:19px;transition:border-color .2s,transform .2s;display:grid}.record-card:hover{border-color:#b9cce5;transform:translateY(-1px)}.record-date{color:var(--blue);background:#edf4ff;border-radius:11px;flex-direction:column;align-self:start;align-items:center;padding:9px 5px;display:flex}.record-date strong{font-size:20px}.record-date span{font-size:10px}.record-title{justify-content:space-between;gap:15px;display:flex}.record-title h3{margin:1px 0 5px;font-size:15px}.record-title p{color:#7b899b;margin:0;font-size:11px}.record-summary{color:#43556c;margin:13px 0 10px;font-size:13px;line-height:1.7}details{border-top:1px solid #edf0f4;padding-top:9px}summary{color:var(--blue);cursor:pointer;font-size:11px}.detail-grid{grid-template-columns:1fr 1fr;gap:15px;margin-top:14px;display:grid}.detail-grid div{background:#f7f9fc;border-radius:10px;padding:13px}.detail-grid b{font-size:11px}.detail-grid p{color:#596a7f;white-space:pre-wrap;margin:7px 0 0;font-size:12px;line-height:1.65}details small{color:#93a0ae;margin-top:11px;display:block}.card-actions{gap:13px;margin-top:13px;display:flex}.card-actions button,.danger-link{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.danger-link{color:#b34a4a!important}.empty-state{color:#8b98a8;border:1px dashed #d6dfe9;border-radius:14px;flex-direction:column;align-items:center;gap:7px;padding:55px 20px;display:flex}.empty-state strong{color:#617187;font-size:14px}.empty-state span{font-size:11px}.growth-compose{background:#f5f8fc;border-radius:13px;margin-bottom:26px;padding:19px}.growth-compose .primary-btn{align-self:flex-end}.growth-card{border:1px solid #e1e7ef;border-radius:13px;grid-template-columns:42px minmax(0,1fr);gap:13px;padding:18px;display:grid}.growth-avatar{width:42px;height:42px}.growth-head{justify-content:space-between;gap:12px;display:flex}.growth-head strong{font-size:13px}.growth-head time{color:#8b98a8;font-size:10px}.growth-card p{color:#52647a;white-space:pre-wrap;margin:10px 0;font-size:13px;line-height:1.75}.global-error{justify-content:space-between;margin:18px clamp(24px,4vw,58px) 0;display:flex}.global-error button{color:inherit;cursor:pointer;background:0 0;border:0}.mobile-tabs{display:none}@media (width<=800px){.app-shell{display:block}.sidebar{display:none}.app-header{height:80px;padding:0 20px}.account-area>div:nth-child(2){display:none}.mobile-tabs{background:#fff;border-bottom:1px solid #e1e7ef;gap:7px;padding:12px 20px;display:flex;overflow:auto}.mobile-tabs button{white-space:nowrap;color:#607187;background:#edf1f6;border:0;border-radius:8px;padding:8px 11px}.mobile-tabs button.active{background:var(--blue);color:#fff}.content-area,.panel{padding:20px}.form-grid,.detail-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.toolbar{flex-direction:column}.record-card{grid-template-columns:45px minmax(0,1fr)}}
