:root{color:#1d2939;background:#f7f7f4;font-family:Inter,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.login-screen{align-items:center;background:#eff3f4;display:flex;min-height:100vh;justify-content:center;padding:24px}.login-panel{background:#fff;border:1px solid #d9dee2;border-radius:8px;box-shadow:0 18px 40px #192a3e14;display:grid;gap:18px;max-width:380px;padding:28px;width:100%}.login-panel h1,.admin-shell h1{font-size:24px;line-height:1.2;margin:0}.login-panel p,header p{color:#667085;margin:6px 0 0}label{color:#344054;display:grid;gap:6px;font-size:14px}input,select,textarea{border:1px solid #cbd5df;border-radius:6px;min-height:40px;padding:8px 10px}textarea{resize:vertical}button{align-items:center;background:#245b5b;border:0;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;gap:8px;justify-content:center;min-height:38px;padding:8px 12px}button:disabled{cursor:not-allowed;opacity:.55}button.secondary{background:#fff;border:1px solid #cbd5df;color:#344054}.link-button{background:transparent;color:#245b5b;display:inline;min-height:auto;padding:0;text-align:left}.form-error{background:#fff1f0;border:1px solid #ffccc7;border-radius:6px;color:#9f1f17;padding:10px 12px}.admin-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}aside{background:#1f2a37;color:#f9fafb;padding:20px 14px}.brand{font-size:18px;font-weight:700;padding:8px 10px 18px}nav{display:grid;gap:14px}.nav-group{display:grid;gap:5px}.nav-group-title{color:#98a2b3;font-size:12px;font-weight:700;padding:3px 10px}nav button{background:transparent;color:#d0d5dd;justify-content:flex-start;width:100%}nav button.active,nav button:hover{background:#344054;color:#fff}.admin-shell main{min-width:0;padding:24px}header{align-items:center;display:flex;justify-content:space-between;margin-bottom:22px}.icon-text{background:#475467}.summary-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-grid div{background:#fff;border:1px solid #d9dee2;border-radius:8px;display:grid;gap:8px;padding:18px}.summary-grid strong{font-size:13px;color:#667085}.summary-grid span{font-size:22px;font-weight:700}.dashboard-sections{display:grid;gap:16px}.dashboard-section{background:#fff;border:1px solid #d9dee2;border-radius:8px;overflow:hidden}.dashboard-section-head{border-bottom:1px solid #eaecf0;padding:14px 16px}.dashboard-section-head h2{font-size:16px;margin:0}.dashboard-section-head p{color:#667085;font-size:13px;margin:6px 0 0}.dashboard-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:14px}.metric-card{background:#f8fafc;border:1px solid #e4e7ec;border-radius:8px;display:grid;gap:8px;min-height:82px;padding:14px}.metric-card span{color:#667085;font-size:13px}.metric-card strong{color:#101828;font-size:24px;line-height:1.2}.data-panel,.table-wrap{background:#fff;border:1px solid #d9dee2;border-radius:8px}.data-panel{overflow:hidden}.filter-bar{align-items:end;border-bottom:1px solid #eaecf0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:14px}.panel-actions{border-bottom:1px solid #eaecf0;display:flex;justify-content:flex-end;padding:12px 14px}.filter-bar label{min-width:0}.filter-bar label span{color:#667085;font-size:12px}.filter-bar button{min-width:88px}.table-wrap{border:0;border-radius:0;overflow:auto}table{border-collapse:collapse;min-width:760px;width:100%}th,td{border-bottom:1px solid #eaecf0;padding:12px 14px;text-align:left;vertical-align:top;white-space:nowrap}th{background:#f2f4f7;color:#475467;font-size:13px}.status-pill{background:#eef4ff;border:1px solid #c7d7fe;border-radius:999px;color:#3538cd;display:inline-flex;font-size:12px;line-height:1;padding:5px 8px}.legacy-menu-map{display:grid;gap:16px}.legacy-menu-section{background:#fff;border:1px solid #d9dee2;border-radius:8px;overflow:hidden}.legacy-menu-section h2{border-bottom:1px solid #eaecf0;font-size:16px;margin:0;padding:14px 16px}.legacy-menu-section table{min-width:1120px}.legacy-menu-section td:last-child{min-width:260px;white-space:normal}.legacy-status-implemented{background:#ecfdf3;border-color:#abefc6;color:#067647}.legacy-status-planned-readonly{background:#eff8ff;border-color:#b2ddff;color:#175cd3}.legacy-status-high-risk-write{background:#fff1f0;border-color:#ffccc7;color:#9f1f17}.legacy-status-deprecated-or-confirm{background:#fffaeb;border-color:#fedf89;color:#b54708}.table-footer{align-items:center;color:#667085;display:flex;font-size:13px;justify-content:space-between;padding:12px 14px}.table-footer div{display:flex;gap:8px}.row-actions{display:inline-flex;gap:8px}button.danger{border-color:#fecdca;color:#b42318}.panel-actions.action-note{align-items:center;color:#667085;flex-wrap:wrap;font-size:13px}.modal-backdrop{align-items:center;background:#0f172a6b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:20}.modal-panel{background:#fff;border-radius:8px;box-shadow:0 24px 60px #0f172a3d;display:grid;gap:16px;max-width:620px;padding:18px;width:min(100%,620px)}.modal-panel header{margin:0}.modal-panel h2{font-size:18px;margin:0}.operation-form{display:grid;gap:12px}.operation-form label{display:grid;gap:6px}.form-info{background:#eff8ff;border:1px solid #b2ddff;border-radius:6px;color:#175cd3;font-size:13px;line-height:1.5;padding:10px 12px}.modal-url{background:#f8fafc;border:1px solid #e4e7ec;border-radius:6px;margin:0;overflow-wrap:anywhere;padding:12px;white-space:pre-wrap}.qr-preview{align-self:center;background:#fff;border:8px solid #ffffff;display:grid;gap:3px;grid-template-columns:repeat(7,18px);justify-self:center}.qr-preview span{background:#f2f4f7;display:block;height:18px;width:18px}.qr-preview span.active{background:#1f2937}.task-form{display:grid;gap:14px}.task-form section{background:#fff;border:1px solid #d9dee2;border-radius:8px;display:grid;gap:14px;padding:16px}.task-form h2{font-size:16px;margin:0}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-field{grid-column:span 2}.check-field{align-items:center;display:flex;flex-direction:row;gap:8px;min-height:40px}.check-field input{min-height:auto}.form-actions{display:flex;gap:10px}.detail-view{display:grid;gap:14px}.detail-view>button{justify-self:start}.detail-section{background:#fff;border:1px solid #d9dee2;border-radius:8px;overflow:hidden}.detail-section h2{border-bottom:1px solid #eaecf0;font-size:16px;margin:0;padding:14px 16px}.detail-section dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.detail-section dl div{border-bottom:1px solid #f2f4f7;display:grid;gap:5px;min-width:0;padding:12px 16px}.detail-section dt{color:#667085;font-size:12px}.detail-section dd{margin:0;overflow-wrap:anywhere}.empty-state{align-items:center;background:#fff;border:1px solid #d9dee2;border-radius:8px;color:#667085;display:flex;gap:8px;padding:28px}.empty-state.inside-panel{border:0;border-radius:0}@media (max-width: 760px){.admin-shell{grid-template-columns:1fr}aside{position:static}.summary-grid{grid-template-columns:1fr}header{align-items:flex-start;gap:12px}.detail-section dl,.form-grid,.form-grid.two{grid-template-columns:1fr}.wide-field{grid-column:auto}}
