:root{--ink:#12202a;--muted:#6b7d86;--line:#dfe8e8;--paper:#f4f7f6;--green:#0d796d;--green-dark:#07584f;--nav:#102d2b;--shadow:0 14px 35px rgba(22,52,48,.07)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:linear-gradient(180deg,#123735,#0d2827);color:#dceceb;padding:25px 18px;z-index:5}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#d7f2a4;color:#174b44;font-size:20px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.brand strong{display:block;font-size:16px;letter-spacing:.03em}.brand small{display:block;margin-top:3px;color:#82aaa6;font-size:9px;letter-spacing:.14em}.sidebar nav{margin-top:32px}.nav-section{margin:24px 12px 8px;color:#6f9995;font-size:10px;letter-spacing:.14em}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;margin:3px 0;border-radius:9px;color:#bcd1cf;text-decoration:none;font-size:14px}.sidebar nav a span{width:20px;text-align:center;color:#81a9a5}.sidebar nav a:hover,.sidebar nav a.active{background:#24514e;color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 #cbe993}.main-shell{min-height:100vh;margin-left:248px}.topbar{height:64px;padding:0 32px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.system-state{display:inline-block;width:7px;height:7px;border-radius:50%;background:#42b883;margin-right:7px;box-shadow:0 0 0 4px #e1f6ec}.user-chip{display:flex;gap:16px;align-items:center}.user-chip a{color:var(--green);text-decoration:none}.content{padding:34px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.page-heading.compact{align-items:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--green)}.page-heading h1{margin:6px 0 7px;font-family:Georgia,"Songti SC",serif;font-size:32px}.page-heading p{margin:0;color:var(--muted);font-size:14px}.date-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 18px;font-size:14px;box-shadow:var(--shadow)}.date-card small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.metric-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px;padding:21px 22px;box-shadow:var(--shadow)}.metric-card:after{content:"";position:absolute;right:-20px;bottom:-30px;width:100px;height:100px;border-radius:50%;background:currentColor;opacity:.06}.metric-card strong{display:block;margin:10px 0 4px;font:700 34px Georgia,serif}.metric-card small{color:var(--muted)}.metric-label{font-size:13px;color:var(--muted)}.metric-card.teal{color:#12766d}.metric-card.blue{color:#3178a8}.metric-card.amber{color:#a66b13}.metric-card.red{color:#a64444}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0 0 4px;font-size:17px}.panel-head p{margin:0;color:var(--muted);font-size:12px}.panel-head a,.link-btn{color:var(--green);text-decoration:none;font-size:13px}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:12px 18px;background:#f9fbfa;text-align:left;color:#71817f;font-size:11px;font-weight:700;letter-spacing:.04em}.data-table td{padding:15px 18px;border-top:1px solid #edf1f0;font-size:13px}.data-table tbody tr:hover{background:#fbfdfc}.data-table code{color:#356461}.table-sub{display:block;margin-top:3px;color:var(--muted);font-size:11px}.status{display:inline-block;padding:4px 9px;border-radius:20px;background:#eef2f1;color:#5f706e;font-size:11px}.status.completed{background:#e0f4e9;color:#267052}.status.pending{background:#fff0d7;color:#906019}.status.in_progress,.status.draft{background:#dceffa;color:#286987}.status.reviewing{background:#ede5fa;color:#63428b}.status.returned{background:#fae0e0;color:#923f3f}.empty{padding:36px!important;text-align:center;color:#84918f}.issue-list{padding:12px 22px}.issue-list article{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f0}.issue-list article:last-child{border:0}.issue-list b,.issue-list small{display:block}.issue-list b{font-size:13px}.issue-list small{margin-top:4px;color:var(--muted);font-size:11px}.level{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff0d7;color:#906019;font-size:11px;font-weight:800}.level-3,.level-4{background:#fae0e0;color:#923f3f}.empty-box{padding:48px 10px;text-align:center;color:#59716e}.empty-box small{display:block;margin-top:7px;color:#9aabaa}.primary-btn,.filter-bar button{border:0;border-radius:9px;background:var(--green);color:#fff;padding:10px 16px;font-weight:700;cursor:pointer}.filter-bar{display:flex;gap:8px;padding:16px 18px;border-bottom:1px solid var(--line)}.filter-bar input,.filter-bar select{min-width:280px;border:1px solid #d8e2e0;border-radius:8px;padding:9px 12px;outline:none}.filter-bar input:focus,.filter-bar select:focus{border-color:#65a69f;box-shadow:0 0 0 3px #e4f1ef}.pager{padding:16px 18px}.pagination{margin:0;display:flex;gap:5px;list-style:none}.pagination a,.pagination span{display:block;padding:5px 9px;border:1px solid var(--line);border-radius:6px;color:var(--green);text-decoration:none}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:#0d2c2a}.login-visual{position:relative;overflow:hidden;display:flex;align-items:center;padding:9vw;background:radial-gradient(circle at 75% 30%,#2a5e58 0,#173f3b 28%,#0c2c2a 70%);color:#fff}.login-copy{position:relative;z-index:2;max-width:570px;transform:translateY(2vh)}.login-copy .eyebrow{color:#cce995}.login-copy h1{margin:17px 0 20px;font:500 clamp(42px,5vw,72px)/1.12 Georgia,"Songti SC",serif;letter-spacing:.01em}.login-copy p{max-width:490px;color:#b9d0cd;line-height:1.9}.network-art{position:absolute;inset:0;opacity:.32;background-image:linear-gradient(30deg,transparent 48%,#70a69f 49%,#70a69f 50%,transparent 51%),linear-gradient(150deg,transparent 48%,#70a69f 49%,#70a69f 50%,transparent 51%);background-size:190px 110px}.network-art i{position:absolute;width:16px;height:16px;border:4px solid #d5efa3;border-radius:50%;background:#143b38;box-shadow:0 0 30px #cce995}.network-art i:nth-child(1){left:20%;top:28%}.network-art i:nth-child(2){left:54%;top:19%}.network-art i:nth-child(3){left:71%;top:48%}.network-art i:nth-child(4){left:38%;top:61%}.network-art i:nth-child(5){left:82%;top:72%}.login-panel{display:grid;place-items:center;background:#f5f8f6;padding:40px}.login-card{width:min(410px,100%)}.login-brand{margin-bottom:58px}.login-brand strong{color:#173b38}.login-card h2{margin:0 0 8px;font:600 31px Georgia,"Songti SC",serif}.muted{margin:0 0 30px;color:var(--muted)}.login-card label{display:block;margin:18px 0;color:#3f514f;font-size:13px;font-weight:700}.login-card input{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid #d3dedc;border-radius:9px;background:#fff;font-size:14px;outline:none}.login-card input:focus{border-color:#589890;box-shadow:0 0 0 3px #e0eeec}.login-card button{width:100%;display:flex;justify-content:space-between;border:0;border-radius:10px;background:var(--green);color:#fff;padding:14px 17px;font-size:15px;font-weight:700;cursor:pointer}.login-card button:hover{background:var(--green-dark)}.alert-error{padding:11px 13px;border-radius:8px;background:#fde5e5;color:#9a3535;font-size:13px}.login-note{margin-top:18px;color:#91a09e;text-align:center;font-size:11px}@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-visual{display:none}}@media(max-width:760px){.sidebar{width:72px;padding:20px 10px}.sidebar .brand div,.sidebar nav a:not(.active){font-size:0}.sidebar .nav-section{display:none}.sidebar nav a{justify-content:center}.main-shell{margin-left:72px}.content{padding:22px}.metric-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;gap:16px;flex-direction:column}.topbar{padding:0 18px}}
.user-chip form{display:inline;margin:0}.logout-link{border:0;background:none;color:inherit;font:inherit;cursor:pointer;padding:0}
.sidebar{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.sidebar>.brand{flex:0 0 auto}.sidebar>nav{flex:1 1 auto;min-height:0;margin-right:-8px;padding-right:8px;padding-bottom:28px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(203,233,147,.42) transparent;-webkit-overflow-scrolling:touch}.sidebar>nav::-webkit-scrollbar{width:6px}.sidebar>nav::-webkit-scrollbar-track{background:transparent}.sidebar>nav::-webkit-scrollbar-thumb{border-radius:6px;background:rgba(203,233,147,.35)}.sidebar>nav::-webkit-scrollbar-thumb:hover{background:rgba(203,233,147,.58)}
.area-tree{display:grid;gap:8px;padding:16px}.area-tree a{display:grid;grid-template-columns:24px minmax(120px,220px) 1fr;gap:10px;align-items:center;padding:10px 14px 10px calc(14px + var(--depth)*26px);border-radius:10px;color:inherit;text-decoration:none;background:#f7faf9}.area-tree a:hover{background:#e9f5f1}.area-tree small{color:#71827f}.area-tree span{color:#0d796d}
