:root{--ink:#14211d;--muted:#66716c;--line:#d8ded9;--paper:#fff;--canvas:#f4f7f5;--green:#117a59;--green-dark:#0b5d44;--mint:#dff5eb;--amber:#fbefcf;--red:#bd3e38}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:15px/1.45 Inter,"Microsoft YaHei",Arial,sans-serif}button,input,select{font:inherit}.topbar{height:86px;padding:0 clamp(22px,6vw,108px);background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px}.brand{color:var(--ink);display:flex;align-items:center;gap:13px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:52px;height:52px;background:#202925;border-radius:7px;color:#fff;font-size:25px;font-weight:800}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:12px}.connection{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.connection span:first-child,.status-chip span{width:8px;height:8px;background:#e0aa22;border-radius:50%}.connection.online span:first-child,.status-chip.online span{background:#1ca66f}.icon-button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:6px;padding:9px 13px;cursor:pointer}.shell{max-width:1560px;margin:auto;padding:50px 22px}.auth-view{max-width:990px;margin:36px auto}.eyebrow{color:var(--green);font-size:12px;font-weight:800}.auth-view>h1{font-size:35px;margin:10px 0 4px}.lead{margin:0;color:var(--muted)}.auth-card{margin-top:34px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:30px;box-shadow:0 16px 44px rgba(24,46,36,.07)}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border:1px solid #c9d0cb;border-radius:7px;background:#f7f9f7}.tab{border:0;border-radius:5px;padding:13px 8px;background:transparent;color:#52615a;font-weight:700;cursor:pointer}.tab.active{background:#222b26;color:white}.auth-form{display:grid;gap:17px;margin-top:30px}.auth-form label,.form-grid label,.inline-form label{display:grid;gap:7px;font-weight:700}.auth-form input,.form-grid input,.form-grid select,.inline-form input,.compact-search input{height:48px;border:1px solid #c8d0ca;border-radius:7px;padding:0 13px;color:var(--ink);background:#fff}.auth-form input:focus,.form-grid input:focus,.form-grid select:focus,.inline-form input:focus,.compact-search input:focus{outline:2px solid #6be4bd;border-color:var(--green)}.button{border:0;border-radius:7px;min-height:45px;padding:0 18px;color:#fff;font-weight:800;cursor:pointer}.button.primary{background:var(--green)}.button.primary:hover{background:var(--green-dark)}.button.secondary{background:#26332d}.form-message{min-height:20px;margin:0;color:var(--muted)}.form-message.error{color:var(--red)}.app-view{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px}.sidebar{display:flex;flex-direction:column;gap:26px;border-right:1px solid var(--line);padding:12px 28px 12px 0;min-height:620px}.sidebar h2{font-size:23px;margin:6px 0}.sidebar p{color:var(--muted);margin:0}.nav-list{display:grid;gap:5px}.nav-item{text-align:left;border:0;background:transparent;padding:11px 12px;border-radius:6px;color:#52615a;font-weight:700;cursor:pointer}.nav-item.active,.nav-item:hover{background:#dff5eb;color:#0b5d44}.workspace{min-width:0}.page-head,.section-head{display:flex;align-items:start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}.page-head h2{margin:5px 0 0;font-size:30px}.status-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;padding:10px 13px;border-radius:8px;color:var(--muted);white-space:nowrap}.page{display:none;padding-top:30px}.page.active{display:block}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-grid article,.panel{background:#fff;border:1px solid var(--line);border-radius:8px}.stat-grid article{padding:19px}.stat-grid span{color:var(--muted);display:block;font-size:13px}.stat-grid strong{display:block;font-size:25px;margin-top:8px}.panel{padding:22px;margin-top:20px}.panel h3{font-size:19px;margin:0 0 8px}.panel p{color:var(--muted);margin:0}.grid-split,.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.key-value{display:grid;grid-template-columns:1fr auto;gap:8px;margin:13px 0 0}.key-value dt{color:var(--muted)}.key-value dd{margin:0;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.full{grid-column:1/-1}.form-actions{display:flex;align-items:center;gap:12px}.catalog-panel .section-head{padding-bottom:14px}.compact-search{display:flex;align-items:center;gap:8px;color:var(--muted)}.catalog-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:17px}.catalog-item{border:1px solid var(--line);border-radius:6px;padding:12px}.catalog-item strong,.catalog-item small{display:block}.catalog-item small{color:var(--muted);margin-top:3px}.catalog-item button{margin-top:9px;border:0;border-radius:5px;background:#e8f3ed;color:var(--green-dark);padding:6px 9px;font-weight:700;cursor:pointer}.inline-form{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.inline-form label{min-width:310px;flex:1}.cdk-output{min-height:100px;overflow:auto;padding:12px;background:#13221b;color:#dff5eb;border-radius:6px;white-space:pre-wrap}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:13px}.toast{position:fixed;right:22px;bottom:22px;z-index:10;max-width:360px;background:#202925;color:white;padding:13px 16px;border-radius:7px;box-shadow:0 12px 30px rgba(0,0,0,.2);opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{background:var(--red)}.hidden{display:none!important}@media(max-width:850px){.topbar{padding:0 18px}.shell{padding:26px 16px}.auth-view{margin:0}.auth-card{padding:18px}.tabs{grid-template-columns:1fr}.app-view{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:0 0 18px}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-split,.two-columns,.form-grid{grid-template-columns:1fr}.page-head,.section-head{align-items:start;flex-direction:column}.compact-search{width:100%}.compact-search input{flex:1}.auth-view>h1{font-size:29px}}
.notice-warning{color:var(--red)!important;font-weight:700}
