:root { --navy:#1A365D; --blue:#1A365D; --ink:#1F2937; --muted:#6B7280; --line:#A2AAAD; --wash:#F7F8FA; --green:#27AE60; --orange:#F39C12; --red:#E53935; }
* { box-sizing:border-box; } body { margin:0; background:var(--wash); color:var(--ink); font:14px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; }
button,input,select { font:inherit; } button { cursor:pointer; border:0; } .shell { min-height:100vh; display:grid; grid-template-columns:244px 1fr; }
.side { background:var(--navy); color:#dce8f5; padding:22px 14px; } .brand { display:flex; align-items:center; gap:10px; font-weight:700; color:#fff; font-size:18px; margin:0 10px 30px; }.brand i{width:30px;height:30px;display:grid;place-items:center;background:#2586ff;border-radius:8px;font-style:normal}
.tenant { margin:0 6px 22px; padding:12px; background:#1b4269; border-radius:10px; font-size:12px; }.tenant strong{display:block;color:#fff;font-size:14px}.nav { display:grid; gap:4px }.nav button{color:#b9c9d9;background:transparent;text-align:left;padding:11px 12px;border-radius:8px}.nav button:hover,.nav button.active{background:#285579;color:#fff}.nav span{display:inline-block;width:24px}
.main { min-width:0; }.top { height:68px; background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 30px; }.crumb { font-size:16px;font-weight:650}.user { color:var(--muted); display:flex;align-items:center;gap:10px}.avatar{background:#dcecff;color:var(--blue);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700}
.page { padding:26px 30px 48px; max-width:1440px; margin:auto; }.heading {display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.heading h1{font-size:24px;margin:0}.heading p{color:var(--muted);margin:4px 0 0}.primary{background:var(--blue);color:#fff;padding:10px 14px;border-radius:7px;font-weight:600}.secondary{background:#edf4fe;color:#1768c9;padding:8px 11px;border-radius:6px}.danger{background:#fff0f0;color:var(--red);padding:8px 11px;border-radius:6px}
.cards {display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.card,.panel {background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 1px 2px #1231ff08}.card{padding:17px}.card small{color:var(--muted)}.card strong{font-size:27px;display:block;margin:6px 0}.card em{font-style:normal;color:var(--green);font-size:12px}.panel{padding:20px}.panel h2{font-size:16px;margin:0 0 15px}.grid-two{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.metric-list{display:grid;gap:13px}.metric{display:flex;justify-content:space-between}.bar{height:7px;background:#eaf0f6;border-radius:9px;margin-top:5px;overflow:hidden}.bar i{display:block;background:var(--blue);height:100%;border-radius:9px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.toolbar input,.toolbar select{border:1px solid #d6e1ed;padding:9px 10px;border-radius:7px;background:#fff;color:var(--ink)}.toolbar input{min-width:210px}.toolbar .primary{margin-left:auto}
table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-weight:500;background:#f8fafc}th,td{padding:12px 11px;border-bottom:1px solid var(--line);white-space:nowrap}td.name{font-weight:600}.tag{display:inline-block;padding:2px 7px;border-radius:12px;font-size:12px;background:#edf3fa;color:#486075}.tag.g{background:#eee8ff;color:#6941c6}.tag.b{background:#e6f2ff;color:#2674b9}.tag.c{background:#e8f8f1;color:#197654}.tag.public{background:#fff4e6;color:#ab6419}.stage{font-size:12px;color:#486075}.actions{display:flex;gap:6px}.empty{padding:36px;text-align:center;color:var(--muted)}
.notice{background:#eef6ff;color:#245b93;padding:11px 13px;border-radius:8px;margin:0 0 16px}.audit{display:grid;gap:0}.audit div{display:grid;grid-template-columns:100px 1fr 110px;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);color:var(--muted)}.audit b{color:var(--ink);font-weight:500}.modal-mask{position:fixed;inset:0;background:#09203a80;display:grid;place-items:center;padding:20px;z-index:9}.modal{background:#fff;width:min(540px,100%);border-radius:12px;padding:22px;box-shadow:0 16px 55px #00172e44}.modal h2{margin:0 0 16px}.form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form label{display:grid;gap:5px;color:#51657a;font-size:13px}.form input,.form select,.form textarea{border:1px solid #d6e1ed;border-radius:7px;padding:9px}.form .wide{grid-column:1/-1}.modal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.hidden{display:none!important}
@media(max-width:900px){.shell{grid-template-columns:66px 1fr}.side{padding:18px 8px}.brand{margin:0 7px 24px;font-size:0}.tenant{display:none}.nav button{font-size:0;text-align:center;padding:12px 5px}.nav span{font-size:18px;width:auto}.page{padding:18px}.cards{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.top{padding:0 18px}.toolbar .primary{margin-left:0}}@media(max-width:560px){.cards{grid-template-columns:1fr 1fr}.heading{align-items:flex-start;gap:10px}.heading h1{font-size:20px}.toolbar input{min-width:100%;width:100%}table{font-size:12px}.table-wrap{overflow:auto}.form{grid-template-columns:1fr}.modal{max-height:90vh;overflow:auto}}
