:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#182331;background:#eef2f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.brand{display:flex;align-items:center;gap:10px}.brand>span{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:#158267;border-radius:7px;font-weight:800}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{margin-top:2px;color:#7c8a96;font-size:10px}.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(430px,560px) minmax(360px,1fr);background:#13212a}.login-panel{padding:clamp(34px,6vw,76px);display:flex;flex-direction:column;justify-content:center;background:#f8fafb}.login-copy{margin-top:clamp(55px,10vh,100px)}.login-copy p,.topbar small,dialog header small{margin:0;color:#16866c;font-size:10px;font-weight:800;letter-spacing:0}.login-copy h1{margin:8px 0 10px;font-size:34px;letter-spacing:0}.login-copy>span{color:#6c7b87;font-size:13px}.login-form{margin-top:30px;display:grid;gap:15px}.login-form label,.form-grid label,.security-panel label,.upload-panel label{display:grid;gap:6px}.login-form label>span,.form-grid label>span,.security-panel label>span,.upload-panel label>span{color:#526370;font-size:11px;font-weight:700}input,select{height:40px;padding:0 11px;color:#182331;background:#fff;border:1px solid #d5dde2;border-radius:5px;outline:0}input:focus,select:focus{border-color:#16866c;box-shadow:0 0 0 3px rgba(22,134,108,.12)}.login-form button,.primary{height:40px;padding:0 15px;color:#fff;background:#16866c;border:1px solid #16866c;border-radius:5px;font-weight:700}.login-form button:hover,.primary:hover{background:#116d58}.login-panel>footer{margin-top:50px;padding-top:16px;color:#8c99a3;border-top:1px solid #e0e6e9;font-size:10px}.login-aside{padding:clamp(50px,8vw,110px);display:flex;flex-direction:column;justify-content:center;color:#e7f0f2;background:#13212a}.status-mark{display:flex;align-items:center;gap:9px;color:#69d9b7;font-size:10px}.status-mark span{width:8px;height:8px;background:#4bd1a8;border-radius:50%;box-shadow:0 0 0 5px rgba(75,209,168,.12)}.login-aside h2{margin:26px 0 9px;font-size:26px}.login-aside>p{max-width:480px;margin:0;color:#99aab2;font-size:13px;line-height:1.8}.login-aside dl{max-width:530px;margin:34px 0 0;border-top:1px solid #2c3d46}.login-aside dl div{min-height:55px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2c3d46}.login-aside dt{color:#83969f;font-size:11px}.login-aside dd{margin:0;color:#dce8eb;font-size:12px}.form-error,.global-message{padding:9px 11px;color:#a43e3e;background:#fff0f0;border:1px solid #f0c8c8;border-radius:5px;font-size:11px}.app-view{min-height:100vh;display:grid;grid-template-columns:210px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:18px 13px;display:flex;flex-direction:column;color:#dce8e8;background:#17282d}.sidebar .brand{padding:0 8px 17px;border-bottom:1px solid #2c3c41}.sidebar .brand small{color:#809499}.sidebar nav{margin-top:14px;display:grid;gap:3px}.sidebar nav button{height:42px;padding:0 11px;display:flex;align-items:center;gap:10px;color:#aebdc0;background:transparent;border:0;border-radius:5px;text-align:left}.sidebar nav button span{color:#63777c;font:700 9px ui-monospace,monospace}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#254039}.sidebar nav button.active span{color:#63d1ad}.sidebar footer{margin-top:auto;padding:13px 7px 0;display:grid;gap:7px;border-top:1px solid #2c3c41}.sidebar footer a,.sidebar footer button{height:32px;display:flex;align-items:center;color:#aebdc0;background:transparent;border:0;font-size:11px;text-decoration:none}.workspace{min-width:0;padding:22px 26px 38px}.topbar{min-height:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8e0e4}.topbar h1{margin:4px 0 0;font-size:23px;letter-spacing:0}.server-state{display:flex;align-items:center;gap:7px;color:#687882;font-size:10px}.server-state i{width:7px;height:7px;background:#24a77e;border-radius:50%}.server-state time{padding-left:7px;border-left:1px solid #ced8dd}.global-message{margin:12px 0 0;color:#286f5d;background:#e9f8f3;border-color:#bce6d9}.view{display:none;padding-top:17px}.view.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.metric{min-height:93px;padding:14px;background:#fff;border:1px solid #d9e1e5;border-radius:6px}.metric span,.metric strong,.metric small{display:block}.metric span{color:#6e7e88;font-size:10px}.metric strong{margin-top:10px;font-size:24px}.metric small{margin-top:5px;color:#94a0a7;font-size:9px}.dashboard-grid,.release-layout{margin-top:10px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:10px}.panel,.table-panel{background:#fff;border:1px solid #d9e1e5;border-radius:6px}.panel{padding:14px}.panel>header{min-height:38px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.panel h2{margin:0;font-size:14px}.panel header p{margin:4px 0 0;color:#84929a;font-size:9px}.panel header button,.panel header a{padding:0;color:#16866c;background:transparent;border:0;font-size:10px;font-weight:700;text-decoration:none}.compact-list,.audit-list,.release-summary,.release-list{display:grid}.compact-list>article,.audit-list>article,.release-summary>article,.release-list>article{min-height:53px;padding:9px 0;display:grid;align-items:center;gap:8px;border-top:1px solid #edf1f3}.compact-list>article{grid-template-columns:minmax(130px,1fr) 90px 100px}.compact-list strong,.compact-list small,.release-summary strong,.release-summary small,.release-list strong,.release-list small{display:block}.compact-list strong,.release-summary strong,.release-list strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.compact-list small,.release-summary small,.release-list small{margin-top:3px;color:#89969e;font-size:9px}.tag{display:inline-flex;width:max-content;padding:3px 6px;color:#266d5b;background:#e5f5f0;border-radius:3px;font-size:9px;font-weight:700}.tag.expired,.tag.revoked{color:#a64747;background:#ffeded}.audit-list>article{grid-template-columns:120px minmax(0,1fr) 120px;font-size:10px}.audit-list time,.audit-list small{color:#87949b}.release-summary>article,.release-list>article{grid-template-columns:minmax(0,1fr) auto}.release-summary a,.release-list a{height:28px;padding:0 9px;display:flex;align-items:center;color:#16866c;background:#e9f7f2;border:1px solid #c7e8dc;border-radius:4px;font-size:10px;font-weight:700;text-decoration:none}.actionbar{margin-bottom:9px;display:flex;align-items:center;justify-content:space-between;gap:10px}.filters{display:flex;gap:7px}.filters input{width:min(340px,36vw)}.filters select{width:120px}.actionbar .primary{height:40px}.table-panel{overflow:auto}table{width:100%;border-collapse:collapse;font-size:10px}th{height:35px;padding:0 11px;color:#73828a;background:#f5f7f8;text-align:left;white-space:nowrap}td{height:58px;padding:8px 11px;border-top:1px solid #edf1f3;vertical-align:middle}td strong,td small{display:block}td strong{font-size:11px}td small{margin-top:3px;color:#89969e;font-size:9px}td code{font:700 9px ui-monospace,monospace}td .actions{display:flex;gap:5px}td button{height:26px;padding:0 7px;color:#52646e;background:#fff;border:1px solid #d6dfe3;border-radius:4px;font-size:9px}td button.danger{color:#ac4747}.empty{padding:35px;color:#87949b;text-align:center}.upload-panel form,.security-panel form{display:grid;gap:13px}.upload-panel progress{width:100%;height:7px}.file-field input{height:auto;padding:9px}.file-field em{color:#839098;font-size:9px;font-style:normal}.security-panel{max-width:620px}.security-panel form{margin-top:10px}.security-panel button{width:max-content}.release-layout{margin-top:0}.release-list>article code{color:#687780;font:9px ui-monospace,monospace}dialog{width:min(620px,calc(100vw - 28px));padding:0;border:0;border-radius:7px;box-shadow:0 24px 70px rgba(15,31,37,.28)}dialog::backdrop{background:rgba(12,25,30,.48);backdrop-filter:blur(2px)}dialog form,dialog>section{padding:20px}dialog header{display:flex;align-items:flex-start;justify-content:space-between}dialog h2{margin:4px 0 0;font-size:18px}dialog header>button{width:28px;height:28px;color:#6f7d85;background:#f2f5f6;border:0;border-radius:4px;font-size:20px}dialog .form-grid{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}dialog .wide{grid-column:1/-1}dialog form>p,dialog section>p{color:#7e8c94;font-size:10px}dialog footer{margin-top:18px;display:flex;justify-content:flex-end;gap:7px}dialog footer button{height:34px;padding:0 12px;border:1px solid #d4dde1;border-radius:4px}.generated-keys{margin-top:14px;display:grid;gap:7px}.generated-keys article{padding:10px;background:#f5f8f8;border:1px solid #dce4e7;border-radius:5px}.generated-keys code{display:block;margin-top:5px;color:#106b56;font:700 12px ui-monospace,monospace}.generated-keys small{color:#77858d;font-size:9px}@media(max-width:950px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.release-layout{grid-template-columns:1fr}.app-view{grid-template-columns:176px}.workspace{padding-inline:15px}.compact-list>article{grid-template-columns:1fr 80px}}@media(max-width:700px){.login-view{grid-template-columns:1fr}.login-aside{display:none}.login-panel{min-height:100vh}.app-view{display:block}.sidebar{position:static;width:100%;height:auto}.sidebar nav{grid-template-columns:repeat(5,1fr);overflow:auto}.sidebar nav button{justify-content:center;padding:0 7px;font-size:10px}.sidebar nav button span,.sidebar footer{display:none}.workspace{padding:13px 9px 30px}.topbar{align-items:flex-start}.server-state{margin-top:5px}.server-state time{display:none}.filters{width:100%;display:grid;grid-template-columns:1fr 1fr}.filters input{width:100%;grid-column:1/-1}.actionbar{align-items:flex-end;flex-wrap:wrap}.table-panel{max-width:calc(100vw - 18px)}.metric-grid{gap:6px}.metric{min-height:82px;padding:11px}dialog .form-grid{grid-template-columns:1fr}dialog .wide{grid-column:auto}}
