:root{--ink:#181b1a;--muted:#727877;--gold:#a78543;--gold-light:#eee5d3;--line:#e1e4e6;--green:#198754;--sidebar:#171b18;--bg:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans CJK TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.65}*{box-sizing:border-box}body{margin:0}a{color:#305976;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--sidebar);color:#fff;display:flex;flex-direction:column;z-index:10}.brand{display:block;padding:28px 30px;color:#e2cda4;text-decoration:none!important}.brand span{font-family:Georgia,serif;font-size:38px;letter-spacing:.14em;line-height:1.2}.brand small{display:block;font-size:10px;letter-spacing:.24em;margin-top:6px}.sidebar nav{margin-top:15px}.nav-link{display:flex;align-items:center;gap:15px;padding:16px 28px;color:#e9eeea;border-left:3px solid transparent;font-weight:500}.nav-link:hover{background:#252b25;text-decoration:none}.nav-link.active{background:#88733f;color:white;border-color:#ddc486}.icon{width:22px;height:22px;flex-shrink:0}.sidebar-bottom{margin:auto 28px 22px;padding-top:20px;border-top:1px solid #464b46}.sidebar-bottom small{display:block;color:#a9b3ac}.logout{color:#e3e8e4;background:none;border:0;padding:16px 0 0;display:flex;gap:14px}.workspace{margin-left:238px}.topbar{height:62px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 34px;font-size:13px;color:#444c49}.topbar b{padding:0 16px;font-weight:400}.top-note{color:var(--muted)}main{padding:32px;max-width:1650px;margin:auto}h1,h2,h3,p{margin-top:0}h1{font-size:36px;line-height:1.3;letter-spacing:-.035em;margin-bottom:10px}h2{font-size:22px;line-height:1.35;margin-bottom:8px}h3{font-size:18px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.heading p,.muted{color:var(--muted);margin-bottom:16px}.heading p{margin-bottom:0}.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:24px}.toolbar .field{margin:0;min-width:160px}.toolbar input{max-width:320px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.metric{border:1px solid var(--line);padding:19px 22px;border-radius:4px}.metric strong{font-size:34px;line-height:1.5;display:block}.metric span{color:#424a46}.panel{border:1px solid var(--line);border-radius:4px;padding:22px;margin-bottom:24px;background:#fff}.panel>p{font-size:14px}.split{display:grid;grid-template-columns:minmax(0,3fr) minmax(230px,1fr);gap:22px}.split-even{display:grid;grid-template-columns:1fr 1fr;gap:24px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}th{font-weight:600;background:#f6f7f8;color:#414845}th,td{padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted)}.badge{display:inline-block;padding:3px 9px;border-radius:4px;white-space:nowrap;font-size:12px;background:#eef0f2;color:#626a67}.badge.active,.badge.confirmed,.badge.approved,.badge.available,.badge.sent{background:#e4f3e9;color:#197a47}.badge.pending,.badge.review,.badge.reserved{background:#fff0d7;color:#98600e}.badge.suspended,.badge.cancelled,.badge.expired,.badge.error,.badge.rejected{background:#fce9e7;color:#ae483b}.badge.waitlist{background:#efebf8;color:#72579b}.button{display:inline-flex;gap:9px;justify-content:center;align-items:center;min-height:42px;padding:9px 19px;border:1px solid var(--line);border-radius:4px;background:#fff;color:#242b27;font-weight:600;text-decoration:none!important}.button:hover{filter:brightness(.96)}.button.primary{background:var(--gold);border-color:var(--gold);color:#fff}.button.danger{color:#ad4537;border-color:#eac9c4}.button.small{font-size:12px;min-height:32px;padding:5px 10px}.quick .button{display:flex;width:100%;margin-bottom:12px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;font-size:13px;font-weight:550;color:#4b5350}.field input,.field select,.field textarea,input.cell{background:#fff;border:1px solid #ced3d1;border-radius:4px;padding:10px 12px;color:#202723;min-height:43px;width:100%}.field textarea{min-height:90px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.check{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:14px}.check input{width:18px;height:18px;accent-color:var(--gold)}.notice{padding:14px 18px;border:1px solid #e0d2b0;background:#faf5ea;border-radius:4px;margin-bottom:22px;font-size:14px}.notice.success{background:#edf7f0;border-color:#c6e4cf;color:#286644}.notice.error{background:#fff0ee;border-color:#eacac6;color:#a44032}.empty{padding:35px;color:var(--muted);text-align:center;background:#fafbfa}.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline form{display:inline-flex;align-items:center;gap:8px;margin:0}.inline select{max-width:180px;padding:5px;border:1px solid var(--line)}.inline .field{margin-bottom:0}.course-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.course-card{border:1px solid var(--line);border-radius:5px;padding:24px}.course-card .course-top{display:flex;justify-content:space-between;gap:12px}.course-card h2{margin:14px 0 8px}.course-card p{color:var(--muted);font-size:14px}.price{font-size:23px;font-weight:650}.course-card:has(input:checked){border-color:var(--gold);background:#fcfaf5}.subject-tag{font-size:12px;color:#806526;font-weight:650;letter-spacing:.1em}.catalog-footer{padding:24px 0;position:relative}.point-balance{background:#181c19;color:white;padding:30px;border-radius:5px;margin-bottom:24px}.point-balance strong{font-size:44px;color:#ddc286}.point-balance p{color:#bdc5bf;margin:0}.permissions{background:#fcfaf5;border-left:3px solid var(--gold);padding:18px;margin:20px 0}.auth-main{padding:0;max-width:none}.auth-layout{min-height:100vh;display:grid;grid-template-columns:40% 60%}.auth-brand{background:var(--sidebar);color:#e1cca3;display:flex;flex-direction:column;justify-content:space-between;padding:45px 55px}.auth-brand .brand{padding:0}.auth-brand h1{font-size:48px}.auth-brand p{color:#b8b9ac}.auth-form{padding:70px 8vw;align-self:center}.auth-form .button{width:100%}.auth-form h1{font-size:30px}.auth-form form{margin-top:25px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:14px}.tabs a{padding:8px 16px}.tabs .active{background:var(--gold-light);color:#78602e;border-radius:4px}.player{width:100%;aspect-ratio:16/9;background:#151b18;border-radius:5px}.lesson-list{list-style:none;padding:0}.lesson-list a{display:block;padding:14px;border-bottom:1px solid var(--line)}.ranking-self{background:#faf2df}.hint{font-size:12px;color:var(--muted)}.gold{color:var(--gold)}#menu-toggle{display:none}details{border:1px solid var(--line);border-radius:4px;padding:14px;margin:12px 0}summary{cursor:pointer;font-weight:600}details form{margin-top:16px}code{font-family:ui-monospace,monospace;background:#f2f3f1;padding:2px 5px;font-size:13px}.full{grid-column:1/-1}footer{color:var(--muted);padding:20px 0;font-size:12px}
@media(min-width:1400px){main{padding:34px}.heading h1{font-size:40px}.panel{padding:24px}.topbar{height:66px}.metric{padding:22px}.nav-link{padding:18px 28px}}
@media(max-width:1050px){.sidebar{width:200px}.workspace{margin-left:200px}.brand{padding:25px 20px}.brand span{font-size:32px}.nav-link{padding:14px 20px}.split{grid-template-columns:1fr}.metrics{gap:10px}.metric{padding:15px}.split-even{grid-template-columns:1fr}.auth-brand{padding:35px}.auth-form{padding:45px}}
@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 40px #0003}.workspace{margin:0}.topbar{padding:0 18px;gap:12px;height:58px}.top-note{font-size:10px}#menu-toggle{display:block;border:0;background:none;font-size:22px}main{padding:22px 16px}h1{font-size:27px}.heading{margin-bottom:20px}.metrics{grid-template-columns:1fr 1fr;gap:12px}.metric strong{font-size:28px}.panel{padding:16px}.course-list,.form-grid{grid-template-columns:1fr}.toolbar .field{flex:1}.auth-layout{grid-template-columns:1fr}.auth-brand{padding:28px;min-height:190px}.auth-brand>p,.auth-brand div:nth-child(2){display:none}.auth-form{padding:30px 22px}.auth-brand .brand{margin:auto 0}.course-card{padding:20px}.button{min-height:44px}.split{gap:0}th,td{padding:11px;white-space:nowrap}.topbar b{padding:0 8px}}
.button.disabled{opacity:.45;pointer-events:none}.referral-code{font-size:1.5rem;font-weight:700;letter-spacing:.05em;overflow-wrap:anywhere}details{margin:12px 0;padding:12px;border:1px solid #e3e4df;border-radius:8px}summary{cursor:pointer;font-weight:600}.copy-status{font-size:.9rem;color:#4a704b}input[type=checkbox]{min-width:18px;min-height:18px}td{overflow-wrap:anywhere}
/* V3: wide amounts and long class labels remain readable on mobile. */
.metric strong{overflow-wrap:anywhere}.panel details summary{overflow-wrap:anywhere}.panel .check{margin-block:10px}.panel form+form{margin-top:12px}
