:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#243143;background:#f5f7f9;font-size:14px;--green:#087c65;--line:#e5e9ed;--muted:#7b8794}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:3px}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}input,select,textarea{border:1px solid #dce2e8;border-radius:7px;padding:11px 12px;background:white;color:#243143}input:focus,textarea:focus,select:focus{outline:2px solid #85cbbb;outline-offset:1px}input{min-width:0}label{display:flex;flex-direction:column;gap:8px;font-weight:600;margin:20px 0}label small{font-weight:400;color:var(--muted);line-height:1.7}small{font-size:12px}.muted{color:var(--muted);line-height:1.8}.compact{margin:5px 0 0;font-size:12px}.error{color:#b33d3d}.eyebrow,.section-label{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#7a8c93}.eyebrow{margin-bottom:8px}h1,h2,h3,p{margin-top:0}h1{font-size:29px;font-weight:650;letter-spacing:-.8px;margin-bottom:9px}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:15px}.primary,.secondary,.quiet{border:0;border-radius:7px;padding:10px 15px;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;white-space:nowrap;font-weight:550}.primary{background:var(--green);color:#fff}.primary:hover{background:#066951}.secondary{background:white;color:#43515e;border:1px solid #dce2e8}.secondary:hover{background:#f0f5f3}.quiet{color:#657583;background:transparent}.danger{color:#b94c4c!important}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 20% 20%,#dcf2ea,transparent 50%),#f2f6f5;padding:24px}.login-card{width:440px;max-width:100%;background:white;border:1px solid #e3eae6;border-radius:18px;padding:42px;box-shadow:0 24px 70px #1d443312}.login-card h1{font-size:33px;line-height:1.45;margin-top:18px}.login-card>.brand-icon{margin-bottom:30px}.login-card .primary{width:100%;justify-content:space-between;margin:8px 0 16px}.login-card small{color:#94a098}.brand-icon{width:38px;height:38px;background:#0f9278;border-radius:11px;display:grid;place-items:center;color:white;font-size:25px;font-weight:750}.brand{display:flex;align-items:center;gap:12px;font-size:19px;color:white;font-weight:350;letter-spacing:-.5px}.brand b{font-weight:650}.brand small{display:block;font-size:10px;color:#94aaa7;margin-top:5px;letter-spacing:1px}aside{position:fixed;left:0;top:0;bottom:0;width:224px;background:#132a2a;padding:31px 22px;color:#a7bab7;display:flex;flex-direction:column}.nav-label{font-size:10px;letter-spacing:1px;margin:52px 14px 14px;color:#6d8985}nav{display:grid;gap:8px}.nav{border:0;border-radius:8px;background:transparent;color:#a7bab7;text-align:left;padding:13px 15px;display:flex;align-items:center;gap:13px}.nav span{font-size:18px}.nav.active{background:#254640;color:#b9f4db}.nav:hover{color:white;background:#22413c}.side-bottom{margin-top:auto;display:flex;align-items:center;gap:7px;font-size:10px}.side-bottom>span{margin-left:auto;color:#64847f}.pulse,.status-pill i{width:6px;height:6px;border-radius:50%;background:#49bd94;display:inline-block}main{margin-left:224px}header{height:77px;background:#ffffffc9;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{font-size:12px;color:#93a0aa}.breadcrumb span{margin:0 14px;color:#bec7cd}.breadcrumb b{color:#4c5b65;font-weight:500}.header-right{display:flex;align-items:center;gap:20px;font-size:12px}.content{padding:34px 38px;max-width:1800px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.page-heading p{font-size:13px;margin-bottom:0}.status-pill{border:1px solid #d5e9e0;border-radius:20px;padding:7px 11px;background:#edf7f2;color:#44806a;font-size:11px;display:flex;gap:7px;align-items:center}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px 23px;position:relative}.stat-label{color:#7b8794;font-size:12px}.stat-value{font-size:31px;font-weight:620;letter-spacing:-1px;margin:12px 0 7px}.stat-note{font-size:10px;color:#9ba5ae}.stat-icon{position:absolute;right:20px;top:20px;width:31px;height:31px;background:#f1f5f5;border-radius:9px;display:grid;place-items:center;color:#789088}.stat.green .stat-value{color:#168368}.stat.amber .stat-value{color:#b67b28}.stat.red .stat-value{color:#c16c6b}.toolbar{display:flex;gap:10px;align-items:center;margin:0 0 16px;flex-wrap:wrap}.search{position:relative;width:260px}.search input{width:100%;padding-left:35px;font-size:12px}.search>span{position:absolute;left:13px;top:8px;font-size:23px;color:#94a3aa}.spacer{flex:1}.toolbar select{font-size:12px}.toolbar button,.toolbar a{font-size:12px}.panel{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:11px;font-weight:500;background:#fafbfc;color:#8b97a0;padding:15px 18px;border-bottom:1px solid var(--line)}td{font-size:12px;padding:20px 18px;border-bottom:1px solid #f0f2f4;vertical-align:middle}tbody tr:hover{background:#fbfdfc}tbody tr.dragging{opacity:.4}.account-name{font-weight:650;font-size:13px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;margin-bottom:7px}.password-line{display:flex;align-items:center;gap:10px;font-family:ui-monospace,monospace;color:#8a989f;font-size:11px}.icon-btn{border:0;background:transparent;color:#a0acb3;padding:2px 4px;font-size:11px}.icon-btn:hover{color:#087c65}.note-cell{max-width:250px;white-space:normal;word-break:break-word;color:#7a8790;line-height:1.6}.date-cell{font-size:11px;color:#7a8790}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:4px;padding:5px 8px;font-size:10px;font-weight:500}.badge.active{background:#eaf5ef;color:#328565}.badge.soon{background:#fcf3e4;color:#b08233}.badge.expired,.badge.offline{background:#f4eeee;color:#b37b79}.badge.pending{background:#eef2f5;color:#7a8c9d}.badge i{width:4px;height:4px;border-radius:50%;background:currentColor}.align-right{text-align:right}.row-actions{display:flex;justify-content:flex-end;gap:11px}.row-actions button{font-size:11px;background:transparent;border:0;color:#558b7b;padding:4px}.order-controls{display:flex;gap:3px;align-items:center;color:#a5b1b7}.drag-handle{font-size:18px;cursor:grab;touch-action:auto}.arrow{font-size:11px;border:0;background:none;color:#acb7bd;padding:5px 2px}.table-footer{padding:16px 20px;display:flex;justify-content:space-between;color:#9da7ae;font-size:10px;gap:15px;min-width:600px}.empty{text-align:center;padding:60px 20px;color:#8b9a9f}.empty>div{font-size:36px;color:#89b8a8;margin-bottom:15px}.empty h3{color:#49655d}.empty p{font-size:12px}.footnote{font-size:11px;color:#96a2ab;line-height:1.9;margin-top:15px}.node-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}.node-card{padding:23px;background:white;border:1px solid var(--line);border-radius:11px}.node-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.node-card-head h3{margin:0;overflow-wrap:anywhere}.node-detail{display:flex;justify-content:space-between;font-size:11px;margin:13px 0;color:#87949d;gap:12px}.node-card .row-actions{border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.notice{background:#edf2f1;border:1px solid #e1e9e5;color:#71877e;padding:18px 20px;border-radius:9px;font-size:11px;line-height:1.9;margin-top:22px;overflow-wrap:anywhere}code{font-size:11px;background:#ffffff77;padding:2px 4px}.settings-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:23px;max-width:1100px}.form-panel{padding:28px}.form-panel h2{margin-top:10px;font-size:20px}.form-panel label{font-size:12px}.form-panel>.muted{font-size:11px}dialog{width:510px;max-width:calc(100% - 28px);border:1px solid #e1e8e3;border-radius:16px;padding:28px;color:#293f37;box-shadow:0 25px 100px #112d3722}dialog::backdrop{background:#172b2b75;backdrop-filter:blur(3px)}dialog label{font-size:12px}dialog p{font-size:12px}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{margin-bottom:8px}.close{background:none;border:0;color:#94a39c;font-size:25px;line-height:1;padding:0 2px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:27px}.input-action{display:flex;gap:8px}.input-action input{width:100%}.input-action button{font-size:11px}.input-action button{padding:8px}#install-command{width:100%;font:11px/1.7 ui-monospace,Consolas,monospace;background:#f5f8f6;resize:vertical;white-space:pre-wrap}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:90vw;background:#173e33;color:#fff;box-shadow:0 6px 30px #1d392c30;border-radius:8px;padding:14px 22px;z-index:10;font-size:13px}#toast.error{background:#833c3c}@media(min-width:1500px){td{padding-top:23px;padding-bottom:23px}}@media(max-width:1100px){aside{width:185px;padding:26px 16px}.brand{font-size:17px}.brand-icon{width:32px;height:32px;font-size:22px}main{margin-left:185px}.content{padding:28px 22px}header{padding:0 22px}.stat{padding:18px}.stat-icon{display:none}td,th{padding-left:13px;padding-right:13px}.settings-grid{grid-template-columns:1fr}}@media(max-width:760px){aside{position:static;width:100%;padding:16px 18px;display:block}.brand small,.nav-label,.side-bottom{display:none}.brand{font-size:18px}.brand-icon{width:29px;height:29px;font-size:20px}nav{display:flex;gap:7px;margin-top:17px}.nav{flex:1;justify-content:center;padding:10px 5px;font-size:12px;gap:6px}.nav span{font-size:15px}main{margin:0}header{height:53px;padding:0 18px}.header-right{gap:5px}#clock{display:none}.breadcrumb{font-size:10px}.content{padding:25px 16px}.page-heading{margin-bottom:23px;align-items:start}.page-heading h1{font-size:25px}.page-heading p{font-size:11px;max-width:230px}.status-pill{font-size:9px;padding:6px 8px;margin-top:24px}.summary{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.stat{padding:17px}.stat-value{font-size:27px;margin-top:10px}.stat-label{font-size:11px}.stat-note{font-size:9px}.search{flex:1;min-width:180px}.toolbar .spacer{display:none}.toolbar>.primary{margin-left:auto}.toolbar select{width:104px}.toolbar>a,.toolbar>button{font-size:11px;padding:9px 11px}.node-grid{grid-template-columns:1fr}.login-card{padding:32px 25px}.login-card h1{font-size:30px}.form-panel{padding:23px}dialog{padding:23px}.table-footer{font-size:9px}.section-label{font-size:9px}}

/* Compact account list and a collapsible navigation rail. */
aside,main{transition:width .18s ease,margin-left .18s ease}.brand-copy{white-space:nowrap}.nav .nav-text{font-size:14px}.sidebar-toggle{display:flex;align-items:center;gap:12px;width:100%;border:1px solid #35534d;background:#1c3732;color:#bed5cc;border-radius:7px;padding:7px 13px;margin-top:27px;text-align:left}.sidebar-toggle>span:first-child{font-size:21px;line-height:20px}.sidebar-toggle .nav-text{font-size:11px}.nav-label{margin-top:24px}.side-bottom .side-status{margin:0;color:#a7bab7}.side-bottom .side-version{margin-left:auto}.sidebar-collapsed aside{width:68px;padding:25px 10px}.sidebar-collapsed main{margin-left:68px}.sidebar-collapsed .brand{justify-content:center}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-text,.sidebar-collapsed .nav-label,.sidebar-collapsed .side-status,.sidebar-collapsed .side-version{display:none}.sidebar-collapsed .sidebar-toggle{padding:7px 0;justify-content:center;margin-top:26px}.sidebar-collapsed nav{margin-top:25px}.sidebar-collapsed .nav{justify-content:center;padding:12px 0}.sidebar-collapsed .side-bottom{justify-content:center}.content{padding-top:27px}.page-heading{margin-bottom:23px}.accounts-table th{padding:11px 12px;font-size:12px;font-weight:600;color:#516372}.accounts-table td{padding:8px 12px;height:46px;font-size:12px}.accounts-table .account-name{margin:0;font-size:13px}.accounts-table .date-cell{font-size:12px;color:#536572}.accounts-table .order-controls{gap:4px}.accounts-table .drag-handle{height:28px;min-width:26px;background:#7d8895;color:white;display:grid;place-items:center;border-radius:5px;font-size:19px}.accounts-table .arrow{font-size:10px;padding:2px}.accounts-table .order-controls>div{display:flex;flex-direction:column}.password-code,.stream-code{font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;background:#f0f3f6;color:#344752;border-radius:5px;padding:3px 7px;display:inline-block;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px;user-select:all}.stream-code{max-width:285px}.stream-key{display:flex;gap:8px;align-items:center}.copy-stream{background:#099574;color:white;border:0;padding:6px 12px;border-radius:5px;font-size:12px;line-height:1.4}.copy-stream:hover{background:#08795f}.accounts-table .note-cell{max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#51616e}.days-cell{color:#19935c;font-weight:600;white-space:nowrap}.days-cell.days-soon{color:#b67b28}.accounts-table .badge{padding:4px 6px;white-space:nowrap}.badge.disabled{background:#edf0f3;color:#75818b}.account-disabled{background:#fafbfc}.accounts-table .row-actions{gap:5px}.accounts-table .row-actions button{padding:5px 8px;border-radius:5px;font-size:11px;white-space:nowrap}.accounts-table .edit-action{background:#ecf1ff;color:#3565cf}.accounts-table .enable-action{background:#eaf6ee;color:#168458}.accounts-table .disable-action{background:#fff5e4;color:#a47a2b}.accounts-table .row-actions .danger{background:#fff0f0;color:#bc4d4d}.checkbox-label{display:grid;grid-template-columns:17px 1fr;align-items:center;gap:9px}.checkbox-label input{width:16px;height:16px;accent-color:#087c65}.checkbox-label small{grid-column:2}.accounts-table{min-width:1080px}.table-footer{padding:11px 14px}.footnote{margin-top:10px}.summary{margin-bottom:22px}.stat{padding:17px 20px}.stat-value{font-size:28px;margin:9px 0 5px}
@media(min-width:1700px){.stream-code{max-width:420px}.accounts-table td{height:46px;padding-top:8px;padding-bottom:8px}}
@media(max-width:760px){.sidebar-collapsed aside{width:100%;padding:13px 16px;position:relative}.sidebar-collapsed main{margin-left:0}.sidebar-collapsed .brand{justify-content:flex-start}.sidebar-collapsed nav{margin-top:12px}.sidebar-toggle{position:absolute;right:16px;top:12px;width:40px;padding:3px 0;justify-content:center;margin:0}.sidebar-toggle .nav-text{display:none}.sidebar-collapsed .sidebar-toggle{margin:0;padding:3px 0}.sidebar-collapsed .nav{padding:8px 0}.sidebar-collapsed .side-bottom{display:none}.sidebar-collapsed .nav-icon{font-size:17px}.accounts-table td{height:44px;padding:7px 10px}.content{padding-top:22px}.stat{padding:15px}.stat-value{font-size:25px}.accounts-table .stream-code{max-width:230px}}
@media(prefers-reduced-motion:reduce){aside,main{transition:none}}
.accounts-table .arrow{line-height:10px;padding:1px 2px}
.node-name-group{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.node-card-head{gap:10px;margin-bottom:14px}.node-name-group h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.rename-node{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;border:0;background:#eef4f1;border-radius:5px;color:#73988a;cursor:pointer}.rename-node:hover{color:#087c65;background:#dfeee6}.node-card-head>.badge{flex:none}.node-address{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-size:11px;color:#8a989e}.node-address code{font:13px/1.6 ui-monospace,Consolas,monospace;color:#466458;background:#f0f5f2;border-radius:5px;padding:3px 9px;user-select:all}
/* Smooth pointer sorting: the source stays as a gap; a compositor layer follows the pointer. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.accounts-table .drag-handle{border:1px solid transparent;min-width:28px;width:28px;padding:0;touch-action:none;user-select:none;-webkit-user-select:none;background:#edf2f0;color:#8d9e96;cursor:grab;transition:background .16s,color .16s,box-shadow .16s,transform .16s}.accounts-table .drag-handle:hover{background:#dceee4;color:#268064;box-shadow:0 0 0 3px #e8f4ed;transform:scale(1.05)}.accounts-table .drag-handle:focus-visible{outline:2px solid #329571;outline-offset:3px}.accounts-table .drag-handle:active{cursor:grabbing}.row-sorting,.row-sorting *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}.row-sorting .accounts-table button,.row-sort-saving .accounts-table button,.row-sorting .toolbar button,.row-sorting .toolbar a,.row-sorting .nav{pointer-events:none}.accounts-table .sort-placeholder>td{background:#edf7f1!important;color:transparent!important;border-top:1px dashed #a6cdbb;border-bottom:1px dashed #a6cdbb}.sort-placeholder>td>*{opacity:0}.row-sort-overlay{position:fixed;z-index:1000;pointer-events:none;background:white;border:1px solid #8fc4ac;border-radius:8px;box-shadow:0 12px 30px #1e513b26,0 2px 7px #1e513b19;overflow:hidden;transform-origin:left center;will-change:transform;contain:layout paint}.row-sort-overlay .accounts-table{table-layout:fixed;min-width:0;width:100%;border-collapse:collapse;margin:0}.row-sort-overlay .accounts-table td{border-bottom:0;background:#fbfefc}.row-sort-overlay .drag-handle{background:#138464;color:white;transform:none;box-shadow:none}.row-sort-overlay .arrow{opacity:.35}.row-sort-overlay .sort-floating-row{opacity:1}.keyboard-sort{transition:transform .16s cubic-bezier(.2,.75,.25,1)}.row-sort-saving .sort-placeholder>td{background:#f0f7f3!important}.row-sort-saving .nav{pointer-events:none}
@media(prefers-reduced-motion:reduce){.accounts-table .drag-handle,.keyboard-sort{transition:none}}
