*{box-sizing:border-box}body{margin:0;background:#f5f7f6;color:#203a33;font:14px/1.5 "Segoe UI","Microsoft YaHei UI",sans-serif}button,input,select{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #7eaf9c;outline-offset:3px}a{text-decoration:none;color:inherit}[hidden]{display:none!important}.app-shell{display:flex;min-height:100vh}.sidebar{background:#123d33;color:#c2d4cb;width:228px;position:fixed;inset:0 auto 0 0;padding:30px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:white;padding:0 7px;margin-bottom:53px;font-size:22px;font-weight:700;white-space:nowrap}.brand small{display:block;font-size:10px;font-weight:400;color:#a9c4b7;letter-spacing:.4px;margin-top:4px}.brand-mark{display:grid;place-items:center;width:40px;height:42px;background:#c8e6ba;color:#244b34;border-radius:12px;font-size:23px;font-weight:700;flex-shrink:0}.sidebar-label{font-size:11px;letter-spacing:1px;color:#87a79a;margin:0 16px 13px}.side-link{display:flex;align-items:center;gap:13px;padding:13px 16px;border-radius:9px}.side-link.selected{background:#2c5a49;color:#fff}.side-link span{font-size:20px}.side-link b{margin-left:auto;font-size:11px;padding:2px 7px;background:#51725f;border-radius:5px;font-weight:500}.server-card{margin:auto 7px 25px;border:1px solid #416151;border-radius:10px;padding:15px;font-size:12px}.small-dot{display:inline-block;width:6px;height:6px;vertical-align:middle;border-radius:50%;background:#79b88c;margin-right:7px}.server-card strong{display:block;font:14px Consolas,monospace;color:#edf4ed;margin-top:9px}.server-card small{display:block;color:#96b1a2;font-size:11px;margin-top:8px}.sidebar-footer{display:flex;align-items:center;gap:9px;border-top:1px solid #34594a;padding-top:21px;font-size:10px;overflow:hidden}.avatar{background:#355d4d;padding:8px 10px;border-radius:9px;color:white}.sidebar-footer button{margin-left:auto;background:none;border:0;color:#c4d5c9;font-size:22px}.app-shell main{margin-left:228px;width:calc(100% - 228px)}.topbar{height:75px;display:flex;justify-content:space-between;align-items:center;padding:0 38px;border-bottom:1px solid #e4e9e5;background:#fff;color:#83928a;font-size:12px}.topbar i{font-style:normal;margin:0 16px;color:#cbd4ce}.topbar b{color:#40594b;font-weight:500}.secure-badge{color:#708679;font-size:11px}.workspace{max-width:1620px;margin:0 auto;padding:33px 34px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#819388;font-weight:600}.page-heading h1{font-size:29px;letter-spacing:-1px;margin:6px 0;color:#1c392d;font-weight:650}.page-heading p{color:#7b8d81;margin:5px 0;font-size:12px}.primary{background:#225d46;color:white;border:1px solid #225d46;border-radius:7px;padding:11px 18px;box-shadow:0 3px 6px #17442b10;font-size:12px;font-weight:600}.primary span{font-size:17px;margin-right:4px}.primary:hover{background:#194a37}.secondary{background:white;color:#607567;border:1px solid #dce4de;border-radius:6px;padding:9px 12px;font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:28px}.stat-grid article{border:1px solid #e1e8e1;background:white;border-radius:10px;padding:20px 22px}.stat-grid article>span{color:#728779;font-size:12px}.stat-grid strong{display:block;font-size:29px;color:#264e38;margin:7px 0;letter-spacing:-.5px;font-weight:600}.stat-grid small{font-size:10px;color:#9aa69d}.table-card{background:white;border:1px solid #dfe7df;border-radius:10px;overflow:hidden;box-shadow:0 2px 4px #2e4e3403}.table-toolbar{padding:23px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px}.table-toolbar h2{font-size:16px;margin:0;display:flex;gap:10px;align-items:center;font-weight:600}.table-toolbar h2 span{color:#6c8474;background:#eef3ec;font-size:10px;padding:2px 7px;border-radius:4px}.table-toolbar p{font-size:10px;color:#95a096;margin:6px 0 0}.table-tools{display:flex;gap:10px;align-items:center}.search{border:1px solid #e0e6df;background:#fcfdfb;border-radius:6px;display:flex;gap:7px;align-items:center;padding:7px 10px}.search>span{font-size:21px;color:#94a098;line-height:1}.search input{outline:0;border:0;background:transparent;width:205px;min-width:0;font-size:11px;color:#375b44}.search input::placeholder{color:#a0aaa2}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:11px}thead{background:#f6f8f5;text-align:left;color:#859488;font-size:10px;font-weight:400}th{font-weight:500;height:43px;padding:8px 15px;border-block:1px solid #e9eee8}td{height:57px;padding:10px 15px;border-bottom:1px solid #edf1eb;color:#647b6a}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcf8}.number-col{padding-left:24px;width:65px}td:first-child{padding-left:24px;font:11px Consolas,monospace;color:#91a093}.key-cell{display:flex;align-items:center;gap:7px}.key-value{font:10px Consolas,monospace;color:#35533f;letter-spacing:.1px}.copy{color:#9ca99e;border:0;background:transparent;font-size:16px;padding:1px 3px;line-height:1}.copy:hover{color:#225d46}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:5px;font-size:10px}.badge:before{content:'';height:4px;width:4px;border-radius:50%;background:currentColor}.badge.used{background:#eaf4e9;color:#52865a}.badge.unused{background:#f1f3ef;color:#a0aba0}.ip-value{font:10px Consolas,monospace;color:#7b8b7f}.employee{min-width:95px;cursor:text;outline:0}.employee.unset{color:#b2bbb1}.employee:focus{box-shadow:inset 0 0 0 1px #6e9a7d;background:#f5faf2}.employee-input{width:128px;padding:5px 7px;border:1px solid #82a58c;border-radius:4px;outline:0;font-size:12px;color:#234a35}.employee.saving{color:#9aab9a}.hint-icon{font-size:12px;color:#9daa9d;margin-left:3px}.traffic-col{text-align:right}.traffic-value{text-align:right;font:11px Consolas,monospace;font-variant-numeric:tabular-nums}.delete-button{background:none;border:0;color:#b28075;font-size:10px;padding:3px 0}.delete-button:hover{color:#c0503f}.operation-col{width:55px;text-align:center}td:last-child{text-align:center}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:17px 24px;border-top:1px solid #edf1eb;color:#9aa79a;font-size:10px}.table-footer>div{display:flex;align-items:center;gap:12px}.table-footer select{font-size:10px;color:#748672;padding:3px 5px;border:1px solid #e5ebe1;border-radius:4px;background:#fff}.table-footer button{border:1px solid #e1e9dc;background:white;border-radius:4px;color:#718469;width:24px;height:25px}.bottom-note{display:flex;justify-content:space-between;margin:17px 2px;font-size:10px;color:#9aa99b}.bottom-note .small-dot{width:5px;height:5px}.empty{text-align:center;padding:55px;color:#9aad9a}.load-error{padding:13px 24px;background:#fff1eb;color:#ad5f43}.toast{position:fixed;right:26px;top:23px;background:#214b38;color:#fff;border-radius:8px;padding:13px 20px;box-shadow:0 8px 30px #152c252b;z-index:100;font-size:13px}.toast.error{background:#8d473d}dialog{border:1px solid #e1e6df;border-radius:14px;padding:30px;width:440px;max-width:calc(100% - 30px);color:#35513e;box-shadow:0 20px 80px #122a2b26}dialog::backdrop{background:#152c294d}dialog h2{font-size:21px}.danger-icon{background:#fff0e9;color:#b47058;border-radius:12px;width:43px;height:43px;display:grid;place-items:center;font-size:24px;font-weight:700}.muted{color:#90a08f;font-size:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.danger{border:1px solid #a45342;background:#a45342;color:white;border-radius:6px;padding:9px 15px;font-size:12px}.login-view{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{padding:12vh 11vw;background:#173f33;color:white;display:flex;flex-direction:column;justify-content:center}.login-brand .brand-mark{width:60px;height:62px;font-size:32px}.login-brand h1{font-size:46px;line-height:1.4;margin:35px 0 15px}.login-brand h1 span{font-weight:400;color:#cce0c5}.login-brand p{color:#a4bfae;font-size:15px}.login-points{display:flex;gap:20px;font-size:11px;color:#bfd3be;margin-top:40px}.login-form{width:360px;max-width:90%;align-self:center;justify-self:center}.login-form h2{font-size:29px;margin:12px 0}.login-form p{color:#8b9c8e;font-size:12px;margin-bottom:32px}.login-form label{display:block;margin:20px 0;color:#4d6955;font-size:12px}.login-form input{display:block;width:100%;border:1px solid #d8e2d4;border-radius:7px;padding:12px 13px;margin-top:9px;font-size:13px;color:#285139;background:#fff;outline:0}.login-form input:focus{border-color:#779c7c;box-shadow:0 0 0 3px #86aa7d12}.login-form .primary{width:100%;margin-top:10px;padding:13px}.login-form small{display:block;text-align:center;color:#a1afa0;font-size:10px;margin-top:20px}.login-form #login-error{color:#b16550;margin:0;min-height:20px}@media(min-width:1500px){.key-value{font-size:12px}table{font-size:12px}}@media(max-width:1100px){.sidebar{width:190px}.brand{font-size:19px}.brand small{font-size:9px}.app-shell main{margin-left:190px;width:calc(100% - 190px)}.workspace{padding:26px 22px}.table-toolbar{align-items:flex-start;flex-direction:column}.table-tools{width:100%}.search{flex:1}.search input{width:100%}.key-value{font-size:11px}.stat-grid{gap:10px}.stat-grid article{padding:16px}.stat-grid strong{font-size:26px}}@media(max-width:700px){.sidebar{display:none}.app-shell main{margin:0;width:100%}.topbar{padding:0 20px;height:60px}.workspace{padding:22px 14px}.page-heading h1{font-size:26px}.page-heading p{font-size:11px;max-width:200px}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-grid article{padding:16px}.bottom-note{flex-direction:column;gap:7px}.table-footer{padding:15px 14px;gap:14px}.table-footer>div{gap:7px}.table-toolbar{padding:20px 16px}.login-view{display:flex;flex-direction:column}.login-brand{padding:35px;min-height:240px}.login-brand h1{font-size:29px;margin:20px 0 5px}.login-brand h1 br{display:none}.login-points{margin-top:10px}.login-brand .brand-mark{width:42px;height:44px;font-size:24px}.login-form{margin:36px 0 50px}.toast{right:15px;left:15px;top:15px;text-align:center}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.operation-col{min-width:92px}td:last-child{white-space:nowrap}.toggle-button{border:0;background:none;color:#607f6b;font-size:10px;padding:3px 0;margin-left:12px}.toggle-button:hover{color:#225d46}
