:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#172033;background:#f5f7fb;line-height:1.5}
*{box-sizing:border-box}body{margin:0}a{color:#3759d7;text-decoration:none}h1{margin:.2rem 0;font-size:1.75rem}
.topbar{height:64px;background:#fff;border-bottom:1px solid #e6e9f0;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1120px)/2))}
.brand{font-weight:800;color:#172033}.topbar nav{display:flex;align-items:center;gap:20px;font-size:14px}.container{max-width:1120px;margin:42px auto;padding:0 24px}
.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.muted{color:#667085;margin:.3rem 0}.card{background:#fff;border:1px solid #e5e8ef;border-radius:14px;box-shadow:0 6px 24px rgba(31,41,55,.04);padding:24px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats strong{display:block;font-size:1.8rem;margin-bottom:8px}.stats span{color:#667085}.button,button{display:inline-block;border:0;border-radius:8px;background:#3759d7;color:#fff;padding:10px 16px;font:inherit;font-weight:650;cursor:pointer}
button.secondary{background:#edf0fb;color:#2947ba;padding:7px 12px}.link-button{background:none;color:#3759d7;padding:0}.inline{display:inline}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%)}form label{display:block;font-weight:650;margin:18px 0}
input,select,textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid #cfd5e1;border-radius:8px;background:#fff;font:inherit}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #dfe5ff;border-color:#3759d7}
small{display:block;color:#667085;margin-top:6px}.auth-card button{width:100%;margin-top:4px}.alert{padding:12px 14px;background:#fff0f0;color:#a02727;border:1px solid #facccc;border-radius:8px;margin:18px 0}.alert ul{margin:0;padding-left:20px}
.table-wrap{padding:0;overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;padding:15px 18px;border-bottom:1px solid #eceef3}th{font-size:13px;color:#667085;background:#fafbfc}.badge{display:inline-block;padding:3px 9px;border-radius:99px;font-size:13px}.badge.active{background:#e6f8ee;color:#137445}.badge.disabled{background:#f1f2f4;color:#596273}.empty{text-align:center;color:#667085}.form-card{max-width:650px}.actions{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-top:24px}.error-card{text-align:center;max-width:560px;margin:15vh auto}.error-card>strong{font-size:4rem;color:#3759d7}.error-card .button{margin-top:16px}
@media(max-width:720px){.topbar{padding:0 16px}.topbar nav>a{display:none}.container{margin:24px auto;padding:0 16px}.stats{grid-template-columns:1fr}.heading{align-items:flex-start;gap:16px}.heading h1{font-size:1.45rem}}
.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.section-gap{margin-top:20px}.assignment{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eceef3;padding:9px 0}.inline-flex{display:flex;align-items:center;gap:8px}.inline-flex select{margin:0;min-width:150px}.inline-flex button{white-space:nowrap}fieldset{border:1px solid #e5e8ef;border-radius:10px;margin:20px 0;padding:0 18px 16px}legend{font-weight:700;padding:0 6px}code{font-size:12px;word-break:break-all}.badge.pending,.badge.draft{background:#fff4dd;color:#925b00}.badge.dns_ready,.badge.published{background:#e6f2ff;color:#175ea8}
@media(max-width:720px){.grid-two{grid-template-columns:1fr}.topbar{height:auto;min-height:64px}.topbar nav{gap:10px}}
.domain-table{min-width:1180px}.domain-table td{vertical-align:top}.domain-table td:first-child{max-width:270px}.domain-table code{display:block;margin:3px 0 8px}.domain-actions form{margin-bottom:7px}.domain-error{max-width:300px;margin-top:8px;color:#a02727;font-size:13px;white-space:normal}.badge.verified{background:#e6f8ee;color:#137445}.badge.failed{background:#fff0f0;color:#a02727}.badge.proxy_pending,.badge.provisioning,.badge.issuing,.badge.queued,.badge.running{background:#fff4dd;color:#925b00}
.badge.critical{background:#fff0f0;color:#a02727}.badge.warning{background:#fff4dd;color:#925b00}.badge.completed{background:#e6f8ee;color:#137445}
