:root{color:#1f2937;background:#f3f4f6;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:#fff;background:#2563eb;border:0;border-radius:8px;padding:9px 16px}button.secondary{color:#374151;background:#e5e7eb}button.danger-button{background:#dc2626}.layout{grid-template-columns:220px 1fr;min-height:100vh;display:grid}aside{color:#fff;background:#111827;padding:28px 20px}aside h1{margin:0 0 30px;font-size:21px}aside a{color:#cbd5e1;border-radius:8px;margin-bottom:8px;padding:11px;text-decoration:none;display:block}aside a.router-link-active{color:#fff;background:#263247}aside button{width:100%;margin-top:25px}main{min-width:0;padding:36px}.page-title{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}h2{margin:0 0 5px}p{color:#6b7280}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000012}.login{place-items:center;min-height:100vh;display:grid}.login form{width:min(400px,90vw)}label{margin:16px 0 7px;font-weight:600;display:block}input,textarea{border:1px solid #d1d5db;border-radius:8px;width:100%;padding:11px}select{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:11px}.login button{width:100%;margin-top:18px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:13px 10px}th{color:#6b7280;font-size:13px}small{color:#6b7280}.success{color:#15803d}.danger,.error{color:#dc2626}.settings{max-width:700px}.settings button{margin-top:18px}.search-bar{gap:10px;max-width:520px;margin-bottom:18px;display:flex}.link-button{color:#2563eb;background:0 0;padding:0}.pagination{justify-content:center;align-items:center;gap:15px;margin-top:18px;display:flex}button:disabled{cursor:not-allowed;opacity:.45}.modal-backdrop{z-index:10;background:#11182799;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(1000px,95vw);max-height:90vh;overflow:auto}.balance-form{grid-template-columns:1fr 100px auto;gap:10px;margin:20px 0;display:grid}.agent-form{background:#f8fafc;border-radius:10px;grid-template-columns:auto minmax(220px,1fr) auto;align-items:end;gap:12px;margin:20px 0;padding:16px;display:grid}.agent-form .checkbox{align-self:center}.agent-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.agent-summary span{background:#f8fafc;border-radius:8px;padding:12px}.node-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-bottom:20px;display:grid}.node-form .wide{grid-column:1/-1}.duration-input{grid-template-columns:minmax(0,1fr) 110px;gap:8px;display:grid}.install-card{margin-bottom:20px}.install-card h3{margin:0}.install-card p{margin:7px 0}.install-card code{overflow-wrap:anywhere;color:#1e3a8a;background:#eff6ff;border-radius:6px;width:100%;padding:10px 12px;line-height:1.5;display:block}.command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.command-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:14px}.command-item strong,.command-item small{display:block}.command-item small{margin:5px 0 10px}.checkbox{align-items:center;gap:8px;display:flex}.checkbox input{width:auto}.actions{align-items:center;gap:8px;display:flex}.notice{background:#fff;border-radius:8px;padding:12px 16px}.voucher-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px;margin-bottom:20px;display:grid}.voucher-form .wide{grid-column:1/-1}.generated-card{margin-bottom:20px}.generated-card textarea{font-family:Consolas,monospace;line-height:1.6}.expiry-shortcuts{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.expiry-shortcuts button{padding:5px 8px;font-size:12px}.voucher-filters{grid-template-columns:repeat(3,auto) minmax(220px,1fr) auto auto;gap:10px;margin:20px 0;display:grid}table input[type=checkbox]{width:auto}@media (width<=700px){.layout{grid-template-columns:1fr}aside{padding:16px}aside h1{margin-bottom:12px}aside a{display:inline-block}aside button{float:right;width:auto;margin:0}main{padding:20px}.balance-form,.agent-form,.agent-summary,.node-form{grid-template-columns:1fr}.node-form .wide{grid-column:auto}.command-grid,.voucher-form,.voucher-filters{grid-template-columns:1fr}.voucher-form .wide{grid-column:auto}}
