:root{--blue:#0757c8;--navy:#071c50;--cyan:#06c9ee;--ink:#14233c;--muted:#6e7d91;--line:#dbe5f0;--bg:#f2f7fc}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--blue);text-decoration:none}button,input,select{font:inherit}.admin-login{height:100vh;height:100dvh;min-height:0;display:grid;place-items:center;overflow:hidden;padding:clamp(12px,3vh,24px);background:#eaf4fb url('/asset.php?platform=background') center/cover}.admin-login-card{width:min(440px,100%);max-height:calc(100dvh - 24px);padding:clamp(26px,5vh,42px);border:1px solid #fff;border-radius:26px;background:rgba(255,255,255,.92);box-shadow:0 25px 70px rgba(22,69,115,.2)}.admin-login-card>img{display:block;width:clamp(210px,32vh,270px);max-width:100%;margin:0 auto clamp(18px,4vh,30px)}.admin-kicker{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1{margin:7px 0 8px;font-size:36px;letter-spacing:-.04em}p{color:var(--muted)}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700}.admin-login form{display:grid;gap:17px;margin-top:27px}input,select{width:100%;height:48px;padding:0 14px;border:1px solid var(--line);border-radius:11px;outline:0;background:#fff}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(7,87,200,.1)}button,.primary-button{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 20px;border:0;border-radius:11px;color:#fff;background:linear-gradient(110deg,var(--navy),var(--blue));font-weight:750;cursor:pointer}.admin-login small{display:block;margin-top:20px;color:var(--muted);text-align:center}.topbar{height:72px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.topbar>img{width:210px}.top-actions{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:650}.top-actions form{margin:0}.link-button{height:auto;padding:0;color:var(--blue);background:none}.admin-wrap{width:min(1180px,calc(100% - 40px));margin:38px auto}.admin-wrap.narrow{width:min(900px,calc(100% - 40px))}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.page-head p{margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stats article{padding:21px;border:1px solid var(--line);border-radius:16px;background:#fff}.stats span{display:block;margin-bottom:8px;color:var(--muted);font-size:12px}.stats strong{font-size:25px}.panel{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 32px rgba(25,72,115,.06)}.panel-title{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.panel-title h2,.tenant-form h2{margin:0;font-size:18px}.panel-title span{color:var(--muted);font-size:12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:15px 18px;border-bottom:1px solid #edf2f7;text-align:left;font-size:12px}th{color:var(--muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.tenant-cell{display:flex;align-items:center;gap:11px}.tenant-cell img,.tenant-avatar{width:38px;height:38px;object-fit:contain;border-radius:10px}.tenant-avatar{display:grid;place-items:center;color:#fff;font-weight:800}.tenant-cell div{display:flex;flex-direction:column}.tenant-cell small{color:var(--muted)}.status,.connection{display:inline-block;padding:5px 8px;border-radius:99px;font-size:10px;font-weight:800}.status.active,.connection.ok{color:#087246;background:#e3f7ed}.status.suspended,.connection.off{color:#a33b3b;background:#fdecec}.status.provisioning{color:#956800;background:#fff5d8}.table-action{font-weight:700}.tenant-form{padding:28px}.tenant-form h2:not(:first-of-type){margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-top:20px}.form-grid small,.hint{font-size:11px;color:var(--muted)}input[type=color]{padding:5px}.logo-preview{width:150px;height:45px;object-fit:contain;object-position:left}.form-actions{margin-top:28px;display:flex;align-items:center;justify-content:flex-end;gap:18px}.alert{margin:16px 0;padding:12px 15px;border-radius:11px;font-size:13px}.alert.error{color:#9e3030;background:#ffeded}.alert.success{color:#087246;background:#e5f8ef}@media(max-height:720px){.admin-login-card{padding:24px 36px}.admin-login-card>img{width:220px;margin-bottom:16px}.admin-login-card p{margin:8px 0}.admin-login form{gap:11px;margin-top:16px}.admin-login small{margin-top:13px}.admin-login-card h1{font-size:32px}.admin-login input{height:46px}}@media(max-width:800px){.stats{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.topbar{padding:0 20px}.topbar>img{width:165px}}@media(max-width:460px){.stats{grid-template-columns:1fr}.admin-login-card{padding:24px 22px}.admin-wrap{width:calc(100% - 24px)}h1{font-size:30px}}
.connection.operational{color:#087246;background:#e3f7ed}.connection.degraded{color:#8a6100;background:#fff3cd}.connection.down{color:#a33b3b;background:#fdecec}.connection.unknown{color:#596575;background:#edf1f5}.health-detail{display:block;margin-top:6px;color:var(--muted);white-space:nowrap}.credentials-panel{margin-bottom:20px;padding:24px}.credentials-panel h2{margin:0}.credentials-panel dl{display:grid;grid-template-columns:130px 1fr;gap:8px;margin:18px 0}.credentials-panel dt{font-weight:750}.credentials-panel dd{margin:0}.credentials-panel code{padding:5px 8px;border-radius:6px;background:#edf4fb;font-size:15px}
.inline-retry{display:inline-block;margin-left:12px}.inline-retry button{height:34px}.alert.error .inline-retry button{background:#9e3030}
.primary-button.disabled{cursor:not-allowed;opacity:.58}.inline-retry{display:inline-block;margin-left:12px}
.table-action.disabled{color:#8a96a6;cursor:not-allowed}.tenant-form fieldset{min-width:0;margin:0;padding:0;border:0}.tenant-form fieldset:disabled{opacity:.58}.tenant-form fieldset:disabled a{pointer-events:auto;opacity:1}.form-locked{cursor:wait}
.upload-status{margin-top:3px}.upload-status.success{color:#087246}.upload-status.error{color:#a33b3b}.upload-status.processing{color:#0757c8}.tenant-form button:disabled{cursor:wait;opacity:.65}
