:root{--green:#167b64;--dark:#153d35;--muted:#7b8882;--line:#e3e9e4;--bg:#f5f7f3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#253a32;font:15px/1.65 'Segoe UI','Microsoft YaHei',sans-serif}button,input,select,textarea{font:inherit}button,a,select{cursor:pointer}button{border:1px solid var(--line);background:white;border-radius:9px;padding:10px 18px;color:inherit}button:hover{border-color:var(--green)}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}aside{position:fixed;width:238px;height:100vh;background:#fff;border-right:1px solid var(--line);padding:38px 24px;display:flex;flex-direction:column}.brand{font-size:25px;font-weight:700}.brand b{display:inline-grid;place-items:center;background:var(--green);color:#fff;width:40px;height:40px;border-radius:12px;font-size:24px;margin-right:8px}.brand span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin:12px 0 36px}nav a{display:flex;gap:15px;padding:13px 17px;margin:7px 0;border-radius:9px;color:#6b7b72}nav a.active{background:#eaf4ed;color:var(--green);font-weight:600}.side-note{margin-top:auto;padding:24px 12px;font-size:13px;color:var(--muted)}.side-note strong{font-weight:500;color:#465e50}.lines{font-size:42px;color:#a0b8a6}aside small{font-size:10px;color:#9ca69f}.workspace{margin-left:238px}header{height:84px;padding:0 5%;background:#fff;display:flex;align-items:center;justify-content:space-between;font-size:13px;border-bottom:1px solid var(--line)}header i{color:#b7c0ba;margin:0 16px}.identity{font-size:12px;color:var(--muted)}select{border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff;color:#344d40}.notice{background:#f1f2e7;color:#7b7850;padding:9px 5%;font-size:12px}main{max-width:1190px;margin:auto;padding:36px 5%;min-height:77vh}h1{font-size:29px;letter-spacing:-1px;margin:3px 0 6px}h2{font-size:19px;margin:0}h3{font-size:17px;margin:0 0 8px}p{margin:8px 0}.muted{color:var(--muted);font-size:13px}.eyebrow{color:var(--green);font-size:11px;letter-spacing:2px;font-weight:600}.topline,.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.hero{margin-top:26px;background:var(--dark);border-radius:16px;color:#fff;padding:32px 36px;position:relative;overflow:hidden}.hero p{color:#b5d0c5;max-width:500px}.hero h2{font-size:26px}.hero .eyebrow{color:#a8cbb5}.hero:after{content:'◎';position:absolute;right:25px;top:-65px;font-size:260px;color:#ffffff09;pointer-events:none}.hero button{margin-top:17px;background:#d5edb9;border:0;color:#274638;font-weight:600}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:23px 0 32px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.stat strong{font-size:30px;font-weight:600;display:block}.stat small{color:var(--muted)}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:24px;margin-top:17px}.badge{display:inline-block;font-size:11px;border-radius:5px;background:#edf5ee;color:var(--green);padding:3px 9px}.badge.amber{background:#fff4df;color:#927435}.bank-icon{width:48px;height:48px;border-radius:12px;background:#e9f3ee;display:grid;place-items:center;color:var(--green);font-size:24px}.bank-title{flex:1}.progress{height:6px;background:#edf1ec;border-radius:5px;margin:20px 0 10px;overflow:hidden}.progress div{height:100%;background:#68a88d}.primary{background:var(--green);color:white;border-color:var(--green)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.shortcut{display:flex;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}.shortcut:last-child{border:0}.shortcut b{font-size:21px;color:var(--green)}.shortcut span{flex:1}.question{font-size:22px;font-weight:600;margin:23px 0}.option{display:flex;align-items:center;gap:15px;width:100%;text-align:left;margin:12px 0;padding:16px}.option em{font-style:normal;width:29px;height:29px;background:#f1f4f1;border-radius:7px;display:grid;place-items:center}.option.selected{border-color:var(--green);background:#eef7f0}.option.correct{border-color:#49a478;background:#eaf7ef}.option.wrong{border-color:#d28e81;background:#fff0ed}.feedback{padding:18px;border-radius:9px;background:#eef5ef;margin-top:22px}.feedback.bad{background:#fff1eb}.empty{text-align:center;padding:55px 20px;color:var(--muted)}.empty b{font-size:34px;display:block;color:#91ae9c}.field{display:block;margin:18px 0 6px;font-size:13px}input,textarea{width:100%;padding:11px 13px;border:1px solid #dce4dc;border-radius:8px;background:#fff;color:#294336}textarea{min-height:100px}input[type=file]{padding:20px;background:#f6f8f4;border-style:dashed}.list-question{padding:18px 0;border-bottom:1px solid var(--line)}.list-question:last-child{border:0}.list-question h3{margin-top:8px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:12px}footer{padding:20px 5%;color:#98a49b;font-size:10px;letter-spacing:1px;display:flex;justify-content:space-between}#toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);background:#243f33;color:#fff;padding:12px 24px;border-radius:10px;display:none;z-index:20}.practice{max-width:820px;margin:auto}.danger{color:#a75443}.result{text-align:center;padding:25px}.result strong{font-size:64px;color:var(--green)}@media(max-width:850px){aside{width:190px;padding:28px 16px}.workspace{margin-left:190px}.grid{grid-template-columns:1fr}.stats{gap:9px}.stat{padding:14px}.hero{padding:25px}}@media(max-width:600px){aside{height:auto;bottom:0;top:auto;width:100%;padding:0;border:0;border-top:1px solid var(--line);z-index:10}.brand,.side-note,aside small{display:none}nav{display:flex;justify-content:space-around}nav a{flex:1;flex-direction:column;gap:0;align-items:center;padding:9px 2px;margin:0;font-size:10px;border-radius:0}nav a span{font-size:19px}.workspace{margin:0;padding-bottom:74px}header{height:65px;padding:0 18px}.identity{font-size:0}.identity select{font-size:12px}.notice{padding:9px 18px;font-size:10px}main{padding:25px 18px}h1{font-size:25px}.stats{grid-template-columns:repeat(2,1fr);margin-bottom:26px}.stat strong{font-size:27px}.hero h2{font-size:23px}.hero{padding:24px}.card{padding:19px}.question{font-size:19px}.topline{align-items:flex-start}.topline button{font-size:12px;padding:8px 12px}footer span{display:none}.row{gap:10px}.row button{padding:8px 12px}.grid{gap:10px}}

.brand strong{display:block;font-size:21px;white-space:nowrap}.company-logo{width:180px;height:100px;object-fit:contain;display:block}.company-logo[hidden]{display:none}.logo-button{font-size:11px;padding:5px 8px;margin:-22px 0 15px;align-self:flex-start}.mobile-brand,.mobile-logo-button{display:none}@media(max-width:850px){.brand strong{font-size:17px}.company-logo{width:150px}}@media(max-width:600px){.mobile-brand{display:inline;font-size:14px;font-weight:700}.desktop-crumb{display:none}.mobile-logo-button{display:inline;font-size:10px;padding:5px;margin-left:auto;margin-right:8px}.logo-button{display:none}}
header .mobile-logo{display:none}@media(max-width:600px){header .mobile-logo:not([hidden]){display:block;width:62px;height:40px;object-fit:contain;margin-right:6px}header:has(.mobile-logo:not([hidden])) .mobile-brand{font-size:12px}.mobile-logo-button{flex-shrink:0}header{gap:4px}.identity select{max-width:97px}}
.brand{text-align:center}.brand strong{text-align:center}.brand .company-logo{margin-left:auto;margin-right:auto}.mobile-brand{text-align:center;flex:1}

aside{transition:width .2s ease,padding .2s ease}.workspace{transition:margin-left .2s ease}.sidebar-toggle{flex-shrink:0;width:38px;height:38px;padding:0;font-size:21px;display:grid;place-items:center;border:1px solid var(--line);background:#fff}.sidebar-toggle:focus-visible{outline:2px solid var(--green);outline-offset:3px}header{gap:16px}header .identity{margin-left:auto}header .desktop-crumb{flex:1}
@media(min-width:601px){body.sidebar-collapsed aside{width:80px;padding:30px 10px}body.sidebar-collapsed .workspace{margin-left:80px}body.sidebar-collapsed .brand strong,body.sidebar-collapsed .brand span,body.sidebar-collapsed .side-note,body.sidebar-collapsed aside>small{display:none}body.sidebar-collapsed .brand{margin-bottom:22px}body.sidebar-collapsed .company-logo{width:60px;height:48px}body.sidebar-collapsed nav a{font-size:0;justify-content:center;gap:0;padding:13px 8px}body.sidebar-collapsed nav a span{font-size:22px;line-height:1.5}}
@media(max-width:600px){header{gap:6px;padding-left:12px;padding-right:12px}.sidebar-toggle{width:32px;height:32px;font-size:18px}body.sidebar-collapsed aside{display:none}body.sidebar-collapsed .workspace{padding-bottom:0}.mobile-brand{font-size:12px}header .mobile-logo:not([hidden]){width:46px}.identity select{max-width:88px}}
@media(prefers-reduced-motion:reduce){aside,.workspace{transition:none}}
.signed-out aside,.signed-out header,.signed-out footer{display:none}.signed-out .workspace{margin-left:0!important}.signed-out main{max-width:1050px;min-height:100vh;display:grid;place-items:center}.auth-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;width:100%;align-items:center}.auth-brand{text-align:center}.auth-brand img{width:230px;height:145px;object-fit:contain}.auth-brand h1{margin-top:25px}.auth-brand>p{color:var(--green)}.auth-card{padding:32px}.auth-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.auth-links button{padding:5px 8px;font-size:12px}.full{width:100%;margin-top:12px}.narrow{max-width:440px}.identity button{padding:4px 9px;font-size:12px;margin-left:8px}.identity{display:flex;align-items:center;gap:4px}.card details{margin:14px 0}#admin-content table button{padding:5px 9px;font-size:12px;white-space:nowrap}.card>h3{margin-top:3px}@media(max-width:600px){.auth-wrap{grid-template-columns:1fr;gap:8px}.auth-brand img{width:150px;height:85px}.auth-brand h1{margin-top:8px}.auth-brand p.muted{display:none}.auth-card{padding:22px}.signed-out main{display:block;padding-top:20px}.identity{font-size:10px}.identity span{max-width:65px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity button{margin-left:0}.workspace{padding-bottom:80px}nav a{font-size:9px}#admin-content .row{flex-wrap:wrap}header .mobile-logo:not([hidden]){width:32px}.mobile-brand{font-size:11px}}

