:root{--bg:#f4f3ee;--panel:#fbfaf6;--ink:#191a18;--muted:#77776f;--line:#deddd5;--green:#236849;--gb:#e9f3ed;--amber:#885a12;--ab:#fbf0d9;--red:#963d36;--rb:#fae9e6;--blue:#4f5e85;--bb:#edf0f8}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft Yahei",sans-serif;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.side{position:sticky;top:0;height:100vh;padding:24px 17px;background:#eeede7;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{font-weight:800;font-size:18px;letter-spacing:-.04em}.sub{font-size:10px;color:var(--muted);margin-top:5px}.nav{display:grid;gap:5px;margin-top:30px}.nav button{border:0;background:transparent;border-radius:10px;padding:11px 12px;text-align:left;color:#55564f}.nav button.on{background:var(--ink);color:#fff}.sidefoot{margin-top:auto;font-size:10px;color:var(--muted);line-height:1.6;border-top:1px solid var(--line);padding-top:15px}.main{padding:28px 32px 60px;min-width:0}.head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.eyebrow{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:800;margin-bottom:7px}h1{font-size:29px;letter-spacing:-.045em;margin:0}h2{font-size:17px;margin:0}.lede{font-size:12px;color:var(--muted);line-height:1.6;margin-top:7px;max-width:720px}.btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;font-size:11px;font-weight:700}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.danger{background:var(--rb);color:var(--red)}.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 26px rgba(20,20,10,.04)}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;margin-bottom:15px}.kpi{padding:16px}.klabel{font-size:10px;color:var(--muted)}.knum{font-size:28px;font-weight:800;letter-spacing:-.05em;margin-top:7px}.khint{font-size:9px;color:var(--muted);margin-top:4px}.grid2{display:grid;grid-template-columns:1.25fr .75fr;gap:13px}.panel{padding:17px}.panelhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.badge{display:inline-flex;gap:5px;align-items:center;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:800}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.ok{color:var(--green);background:var(--gb)}.warn{color:var(--amber);background:var(--ab)}.bad{color:var(--red);background:var(--rb)}.info{color:var(--blue);background:var(--bb)}.neutral{color:#666;background:#ecebe5}.matrix{display:grid;grid-template-columns:150px repeat(5,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line);font-size:10px;overflow:auto}.matrix>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px;min-height:40px;display:flex;align-items:center}.matrix .mh{background:#efeee8;font-weight:800}.cellok{background:#f2f8f4;color:var(--green)}.cellpending{background:#fff9ee;color:var(--amber)}.ease{display:grid;grid-template-columns:50px 1fr 38px;gap:8px;align-items:center;font-size:10px;margin:12px 0}.bar{height:6px;background:#e5e4dd;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--ink)}.event{display:grid;grid-template-columns:74px 1fr auto;gap:10px;padding:10px 0;border-top:1px solid #ecebe5;font-size:10px}.event:first-child{border-top:0}.small{font-size:9px;color:var(--muted)}.form{padding:17px;margin-bottom:13px}.formgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.field label{display:block;font-size:9px;color:var(--muted);font-weight:800;margin-bottom:5px}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:13px 0}.stage{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:11px;min-height:92px}.stage.done{background:#f2f8f4;border-color:#c9dbcf}.stage.active{box-shadow:inset 0 0 0 1px #94948b}.stage .n{font-size:8px;color:var(--muted)}.stage .t{font-size:11px;font-weight:800;margin-top:5px}.stage .r{font-size:9px;color:var(--muted);line-height:1.45;margin-top:7px}.batchlist,.reviewlist{display:grid;gap:7px}.row{padding:11px;border:1px solid var(--line);background:#fff;border-radius:10px}.rowtop{display:flex;justify-content:space-between;gap:10px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.rowq{font-size:11px;font-weight:700;margin-top:6px}.reviewgrid{display:grid;grid-template-columns:350px minmax(0,1fr);gap:12px;min-height:540px}.list,.detail{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.list .row{border:0;border-bottom:1px solid #ecebe5;border-radius:0;cursor:pointer}.list .row.sel{background:#e9e8e1}.detail{padding:18px}.material{white-space:pre-wrap;background:#f0efe9;border-radius:11px;padding:13px;font-size:12px;line-height:1.55;margin:12px 0}.question{font-size:14px;font-weight:800;margin:12px 0}.options{display:grid;gap:6px}.option{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px;font-size:11px}.option.correct{background:var(--gb);border-color:#bdd4c5}.checks{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.check{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px}.check .ct{font-size:8px;color:var(--muted)}.check .cv{font-size:11px;font-weight:800;margin-top:4px}.reason{padding:11px;border-radius:10px;background:var(--ab);margin-top:12px;font-size:10px;line-height:1.5}.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.tablecard{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:11px;border-bottom:1px solid var(--line)}.toolbar input,.toolbar select{border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff;font-size:10px}.tablewrap{overflow:auto;max-height:650px}table{border-collapse:collapse;width:100%;min-width:950px;font-size:10px}th{position:sticky;top:0;background:#efeee8;padding:9px;text-align:left;border-bottom:1px solid var(--line)}td{padding:9px;border-bottom:1px solid #ecebe5;vertical-align:top}tr:hover td{background:#f5f4ef}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.loginbox{width:min(420px,100%);padding:25px}.loginbox input{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;margin:14px 0 9px}.error{color:var(--red);font-size:10px;margin-top:8px}#toast{position:fixed;right:20px;bottom:20px;background:#1d1e1b;color:#fff;border-radius:9px;padding:10px 12px;font-size:10px;opacity:0;transform:translateY(7px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}@media(max-width:1000px){.shell{grid-template-columns:76px 1fr}.brand{font-size:12px}.sub,.sidefoot,.nav span{display:none}.kpis{grid-template-columns:repeat(3,1fr)}.grid2{grid-template-columns:1fr}.reviewgrid{grid-template-columns:1fr}.formgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.main{padding:18px 12px}.kpis{grid-template-columns:repeat(2,1fr)}.formgrid,.pipeline{grid-template-columns:1fr}.checks{grid-template-columns:1fr}}
