:root{--bg:#f3f5f9;--ink:#17243a;--muted:#758196;--line:#e6eaf1;--blue:#4769ee}*{box-sizing:border-box}body{margin:0;font:14px/1.6 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:var(--blue)}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#111d32;color:#a4afc5;display:flex;flex-direction:column}.brand{padding:28px 26px;border-bottom:1px solid #ffffff12;color:white;font-size:25px;font-weight:750;letter-spacing:-1px}.brand span{color:#86a1ff}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#91a0bc;margin-top:1px}.nav{flex:1;overflow-y:auto;padding:25px 16px}.nav small{display:block;padding:12px;color:#637491;letter-spacing:1.6px;font-size:10px}.nav a{display:flex;gap:13px;align-items:center;color:#a4afc5;padding:12px 16px;border-radius:9px;margin:4px 0}.nav a.active{color:white;background:#4769ee}.nav a:hover{background:#ffffff0b}.nav a.active:hover{background:#4769ee}.nav i{font-style:normal;width:18px}.sidefoot{padding:20px;border-top:1px solid #ffffff12;font-size:12px}.statusdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#36c599;margin-right:7px}.topbar{height:78px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 38px;margin-left:250px}.topbar strong{font-size:14px}.topbar small{color:var(--muted)}.avatar{background:#eaf0ff;color:#4769ee;width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;font-weight:bold;margin-left:15px}.main{margin-left:250px;padding:35px 38px;max-width:1800px}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:1.7px;font-size:10px;font-weight:700}h1{font-size:29px;letter-spacing:-.8px;margin:3px 0 4px}h2{font-size:16px;margin:0 0 18px}p{color:var(--muted);margin:0 0 22px}.heading{margin-bottom:28px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:24px 0}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 2px 3px #17243a02;margin-bottom:22px}.metric span{color:var(--muted);font-size:12px}.metric strong{display:block;font-size:32px;margin-top:9px;letter-spacing:-1px}.metric em{font-style:normal;font-size:11px;color:#8391a6}.row{display:flex;justify-content:space-between;align-items:center;gap:15px}.two{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.6px;padding:12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid #f0f2f7;font-size:13px}tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:3px 9px;border-radius:6px;background:#edf1ff;color:#4d67bd;font-size:11px}.badge.warn{background:#fff4e1;color:#a76a0e}.badge.good{background:#e6f7ef;color:#218459}.badge.off{background:#f0f1f5;color:#7e899c}button,.button{display:inline-block;border:0;border-radius:7px;background:var(--blue);color:white;padding:10px 17px;font:600 12px system-ui;cursor:pointer}.secondary{background:#edf1fa;color:#496080}.danger{background:#fff0ee;color:#bb4c42}.small{padding:7px 11px;font-size:11px}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #dce2ed;border-radius:7px;background:white;color:var(--ink);font:13px system-ui}input:focus,select:focus{outline:2px solid #c3d0ff;border-color:var(--blue)}label{display:block;font-size:12px;font-weight:600;margin:12px 0 6px}input[type=checkbox]{width:auto;margin-right:7px}.fields{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.fields .full{grid-column:1/-1}.note{padding:14px 18px;background:#edf2ff;border:1px solid #dbe5ff;color:#4260a2;border-radius:8px;margin-bottom:22px;font-size:13px}.error{background:#fff0ef;color:#ac453c;border-color:#f5d3cf}.success{background:#eaf7ef;color:#267b4a;border-color:#ccebd8}details{margin:12px 0}summary{cursor:pointer;font-weight:600;padding:10px 0}.auth{max-width:470px;margin:10vh auto;padding:0 20px}.auth .brand{background:#111d32;border-radius:12px 12px 0 0}.auth .card{border-radius:0 0 12px 12px}code,pre{font:12px/1.7 ui-monospace,monospace;background:#f0f3f9;padding:3px 6px;border-radius:4px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.empty{text-align:center;padding:35px;color:var(--muted)}.menu{display:none}.flow{display:grid;gap:12px}.flow div{padding:15px;background:#f8faff;border:1px solid var(--line);border-radius:8px}.flow small{display:block;color:var(--muted)}.pagination{display:flex;gap:20px;margin-top:18px}footer{color:var(--muted);font-size:11px;margin-top:30px}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.sidebar{width:215px}.main,.topbar{margin-left:215px;padding-left:22px;padding-right:22px}}@media(max-width:700px){.sidebar{transform:translateX(-100%);z-index:10;width:250px}.sidebar.open{transform:none}.main,.topbar{margin-left:0}.topbar{height:65px;padding:0 18px}.main{padding:25px 18px}.fields{grid-template-columns:1fr}.menu{display:inline-block;background:#edf1fa;color:#263858}.grid{gap:12px}.card{padding:18px}.topbar small{display:none}.metric strong{font-size:27px}}

.action-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.action-group form{margin:0;display:flex}.action-group button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;white-space:nowrap;line-height:1.2}.iccid{font:600 13px ui-monospace,monospace;letter-spacing:.15px}.muted{color:var(--muted)}body.dialog-open{overflow:hidden}dialog{border:0;padding:0;color:var(--ink);box-shadow:0 24px 80px #101e3840;border-radius:16px;max-height:90vh;max-height:90dvh;overflow:auto}dialog::backdrop{background:#101e3888;backdrop-filter:blur(3px)}.sim-dialog{width:min(860px,calc(100vw - 32px))}.confirm-dialog{width:min(480px,calc(100vw - 32px))}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}.dialog-head h2{margin:4px 0 6px;font-size:22px}.dialog-close{display:grid;place-items:center;width:36px;height:36px;min-width:36px;padding:0;border-radius:9px;background:#f1f4fa;color:#59687e;font:26px/1 system-ui}.dialog-close:hover{background:#e6ebf5}.dialog-body{padding:25px 28px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px;border-top:1px solid var(--line);background:#fafbfe}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.detail-meta small,.usage-card small{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.detail-meta strong{font-size:13px;display:block}.detail-section{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.detail-section h2{margin-bottom:12px}.detail-section p{font-size:12px;margin-bottom:12px}.usage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.usage-card{padding:16px;background:#f4f7fc;border:1px solid #e9edf5;border-radius:10px}.usage-card strong{font-size:18px;letter-spacing:-.3px}.usage-foot{font-size:12px;color:var(--muted);margin-top:15px}.setup-card{display:grid;grid-template-columns:1fr 1fr;gap:35px}.qr-box{background:white;padding:12px;display:inline-block;border:1px solid var(--line);border-radius:10px;margin-bottom:18px}.qr-box svg{display:block;width:220px;height:220px}.setup-secret{display:block;overflow-wrap:anywhere;letter-spacing:1px;padding:12px}.recovery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.backlink{display:block;text-align:center;margin-top:20px}@media(max-width:650px){.usage-grid,.detail-meta{grid-template-columns:repeat(2,1fr)}.setup-card{grid-template-columns:1fr}.dialog-head,.dialog-body,.dialog-footer{padding:18px}.usage-card strong{font-size:16px}.detail-meta>div:last-child{grid-column:1/-1}}

.system-logo{display:block;max-width:190px;max-height:72px;object-fit:contain;margin-bottom:12px}.branding-preview{display:block;max-width:240px;max-height:100px;object-fit:contain;margin:12px 0}.favicon-preview{display:block;width:32px;height:32px;margin:12px 0}input[type=file]{padding:10px}hr{border:0;border-top:1px solid #e2e8f0;margin:24px 0}
