:root{--brand-primary: #e8b4e0;--brand-secondary: #b8a8e8;--brand-pink: #ffc0e8;--brand-blue: #a8c8e8;--bg: #fff5fd;--neutral: #f8f5ff;--action: #9b84de;--action-hover: #8b72d2;--action-soft: #ede7ff;--surface: #ffffff;--border: #eee6f8;--text: #1a1a1a;--text-secondary: #4a4a4a;--text-muted: #6f6878;--danger: #f7193d;--warning: #ffb84d;--success: #55c7a6;--info: #6aa8d8;--shadow-card: 0 8px 24px rgba(155, 132, 222, .1)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#fff5fd,#f8f5ff);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.login-shell{align-items:center;background:linear-gradient(135deg,#fff5fd,#f8f5ff);display:flex;min-height:100vh;padding:32px}.login-panel{align-items:stretch;display:grid;gap:24px;grid-template-columns:minmax(320px,1fr) 380px;margin:0 auto;max-width:980px;width:100%}.login-copy{align-content:center;background:linear-gradient(135deg,#e8b4e0,#b8a8e8);border-radius:20px;color:#fff;display:grid;min-height:420px;padding:44px}.login-copy .eyebrow{color:#ffffffdb}.login-copy h1{font-size:34px;margin-bottom:14px}.login-copy p:last-child{font-size:15px;line-height:1.7;max-width:460px}.login-card{align-content:center;background:#fffffff0;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-card);display:grid;gap:14px;padding:30px}.login-card label{display:grid;gap:8px}.login-card label span{color:var(--text-muted);font-size:13px}.login-card input{background:var(--neutral);border:1px solid var(--border);border-radius:12px;color:var(--text);height:44px;padding:0 12px}.login-error{background:#fff5df;border:1px solid rgba(255,184,77,.45);border-radius:12px;color:#9b6500;font-size:13px;padding:10px 12px}.login-submit{height:44px;margin-top:4px}.side-nav{background:#ffffffe0;border-right:1px solid var(--border);padding:20px 14px}.brand-mark{border-bottom:1px solid var(--border);display:grid;gap:4px;margin-bottom:16px;padding:0 8px 18px}.brand-mark span{font-size:21px;font-weight:850}.brand-mark small{color:var(--text-muted);font-size:12px}.side-nav nav{display:grid;gap:6px}.nav-item{align-items:center;background:transparent;border:0;border-radius:12px;color:var(--text-secondary);display:flex;gap:9px;height:38px;padding:0 12px;text-align:left}.nav-item.active,.nav-item:hover{background:var(--action-soft);color:var(--action);font-weight:750}.workbench{min-width:0;padding:24px}.toolbar,.panel-header,.task-card.split{align-items:center;display:flex;justify-content:space-between}.toolbar{margin-bottom:18px}.eyebrow{color:var(--action);font-size:12px;font-weight:800;letter-spacing:0;margin:0 0 5px}h1,h2,p{margin:0}h1{font-size:24px;letter-spacing:0}h2{font-size:17px;letter-spacing:0}.staff-line{color:var(--text-muted);font-size:13px;margin-top:7px}.toolbar-actions{display:flex;gap:8px}.icon-button{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);display:inline-flex;height:38px;justify-content:center;width:38px}.metric-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(150px,1fr));margin-bottom:14px}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-card);min-height:100px;padding:16px}.metric-card span,.task-card p,.review-row p{color:var(--text-muted);font-size:12px}.metric-card strong{display:block;font-size:30px;letter-spacing:0;line-height:1.1;margin:8px 0 5px}.metric-card small{font-size:13px;margin-left:3px}.metric-card.action strong{color:var(--action)}.metric-card.success strong{color:var(--success)}.metric-card.warning strong{color:var(--warning)}.metric-card.danger strong{color:var(--danger)}.metric-card.info strong{color:var(--info)}.filter-band{align-items:end;background:#ffffffdb;border:1px solid var(--border);border-radius:14px;display:grid;gap:12px;grid-template-columns:1.4fr .9fr .9fr .9fr auto;margin-bottom:14px;padding:14px}.filter-band label{display:grid;gap:6px}.filter-band label span{color:var(--text-muted);font-size:12px}.filter-band input,.filter-band select{background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);height:38px;min-width:0;padding:0 11px}.primary-button,.secondary-button{align-items:center;border:0;border-radius:10px;display:inline-flex;gap:7px;height:38px;justify-content:center;padding:0 14px;white-space:nowrap}.primary-button{background:var(--action);color:#fff}.primary-button:hover{background:var(--action-hover)}.secondary-button{background:var(--action-soft);color:var(--action);margin-top:12px;width:100%}.secondary-inline{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--action);display:inline-flex;gap:7px;height:38px;justify-content:center;padding:0 14px}.secondary-inline.danger{color:var(--danger)}.block-action{margin-top:14px;width:100%}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.result-line{align-items:center;background:#eefbf7;border:1px solid rgba(85,199,166,.32);border-radius:12px;color:#217d67;display:flex;font-size:13px;gap:8px;margin-bottom:14px;padding:11px 14px}.section-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:#fffffff0;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-card);min-width:0;padding:16px}.panel-copy{color:var(--text-muted);font-size:13px;line-height:1.6}.panel.wide{grid-column:1 / -1}.panel-header span{background:var(--action-soft);border-radius:999px;color:var(--action);font-size:12px;font-weight:750;padding:6px 10px}.panel-title{align-items:center;display:flex;gap:10px;margin-bottom:12px}.panel-title>span{align-items:center;background:var(--action-soft);border-radius:10px;color:var(--action);display:inline-flex;height:36px;justify-content:center;width:36px}.review-table{display:grid;gap:8px;margin-top:12px}.review-row{align-items:center;border:1px solid var(--border);border-radius:12px;display:grid;gap:12px;grid-template-columns:minmax(210px,1.4fr) minmax(120px,.8fr) minmax(100px,.6fr) minmax(150px,.9fr);min-height:70px;padding:12px}.review-row strong,.review-row span,.task-card strong{color:var(--text);font-size:14px}.risk-cell em,.task-card em{border-radius:999px;font-size:12px;font-style:normal;font-weight:750;padding:5px 8px}.risk-cell em.pass{background:#eefbf7;color:#217d67}.risk-cell em.warn,.task-card em{background:#fff5df;color:#9b6500}.risk-cell p{margin-top:6px}.task-list{display:grid;gap:8px}.task-card{border:1px solid var(--border);border-radius:12px;min-height:66px;padding:12px}.task-card span{color:var(--text-secondary);display:block;font-size:12px;margin-top:7px}.danger-note{color:var(--danger)!important}.mini-kpi{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mini-kpi span{background:var(--neutral);border-radius:999px;color:var(--text-secondary);font-size:12px;font-weight:700;padding:7px 10px}.archive-table{display:grid;gap:8px;margin-top:12px}.archive-row{align-items:center;border:1px solid var(--border);border-radius:12px;display:grid;gap:10px;grid-template-columns:1.3fr .8fr 1.2fr .5fr .6fr .8fr;min-height:58px;padding:10px 12px}.archive-row strong,.archive-row span{font-size:13px}.archive-row em{background:#eefbf7;border-radius:999px;color:#217d67;font-size:12px;font-style:normal;font-weight:750;justify-self:start;padding:5px 8px}.archive-row small{color:var(--text-muted);font-size:12px}.pos-grid{grid-template-columns:minmax(300px,.8fr) minmax(360px,1fr)}.scan-box{align-items:center;background:var(--neutral);border:1px dashed var(--brand-secondary);border-radius:14px;color:var(--action);display:grid;gap:8px;justify-items:center;min-height:220px;padding:24px;text-align:center}.scan-box strong{color:var(--text);font-size:18px}.scan-box p{color:var(--text-muted);font-size:13px}.exception-flow{display:grid;gap:8px}.exception-flow span{align-items:center;background:var(--neutral);border-radius:12px;color:var(--text-secondary);display:flex;font-size:13px;gap:8px;min-height:42px;padding:0 12px}@media (max-width: 1100px){.app-shell{grid-template-columns:1fr}.side-nav{display:none}.metric-grid,.section-grid{grid-template-columns:1fr 1fr}.filter-band,.review-row,.archive-row,.login-panel,.pos-grid{grid-template-columns:1fr}.login-shell{padding:18px}.login-copy{min-height:auto;padding:30px}}
