:root{
    --bg:#0f1724; /* page background */
    --surface:#0b1220; /* card/background surface */
    --muted:#9aa4b2;
    --accent:#4f46e5;
    --accent-2:#06b6d4;
    --success:#10b981;
    --danger:#ef4444;
    --glass: rgba(255,255,255,0.03);
    --card-border: rgba(255,255,255,0.04);
    --radius: 12px;
    --max-width: 1100px;
}

/* Basic reset */
*{box-sizing:border-box}
html,body{height:100%}
body{
    margin:0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    background: linear-gradient(180deg, #081023 0%, #071028 40%);
    color: #e6eef8;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    padding:32px 20px;
}

.container{
    width:100%;
}

header.app-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:20px;
}

.brand{
    display:flex;align-items:center;gap:.75rem;
}
.brand .logo{
    width:44px;height:44px;border-radius:10px;
    background: linear-gradient(135deg,var(--accent),var(--accent-2));
    box-shadow: 0 6px 18px rgba(79,70,229,0.18), inset 0 -6px 20px rgba(6,182,212,0.06);
    display:flex;align-items:center;justify-content:center;font-weight:700;color:white;
}
.brand h1{font-size:1.15rem;margin:0}
.brand p{margin:0;color:var(--muted);font-size:0.9rem}

.top-actions{display:flex;gap:.5rem;align-items:center}
.top-actions .badge{background:rgba(255,255,255,0.04);padding:.4rem .6rem;border-radius:999px;font-size:.85rem;color:var(--muted)}

/* Grid layout */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.card{grid-column: span 6;background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);border:1px solid var(--card-border);padding:18px;border-radius:var(--radius);box-shadow: 0 6px 20px rgba(2,6,23,0.6)}
.card.full{grid-column: 1 / -1}
.card h3{margin:0 0 8px 0;font-size:1rem}
.muted{color:var(--muted);font-size:0.92rem}

/* Forms */
label{display:block;margin-top:10px;margin-bottom:6px;font-weight:600;color:#dce7ff;font-size:.92rem}
input[type="text"], input[type="number"], input[type="file"], select, textarea{
    width:100%;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,0.06);background:rgba(255,255,255,0.02);color:inherit;font-size:.95rem;outline:none;transition:box-shadow .15s, border-color .15s;
}
input:focus, textarea:focus, select:focus{box-shadow:0 6px 18px rgba(79,70,229,0.12);border-color:rgba(79,70,229,0.9)}

.row{display:flex;gap:.6rem;align-items:center}
.row .flex{flex:1}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem .9rem;border-radius:9px;border:0;cursor:pointer;font-weight:600}
.btn.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:white;box-shadow:0 8px 26px rgba(79,70,229,0.18)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.04);color:var(--muted)}
.btn.warn{background:linear-gradient(90deg,#f59e0b,#ef4444);color:white}
.btn:disabled{opacity:.5;cursor:not-allowed}

.controls{margin-top:12px;display:flex;gap:.6rem;flex-wrap:wrap}

/* Domain list */
.domain-list{margin-top:12px;padding:10px;border-radius:10px;background:linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.00));border:1px solid rgba(255,255,255,0.02);max-height:320px;overflow:auto}
.domain-option{display:flex;gap:.75rem;align-items:center;padding:.5rem;border-radius:8px;border-bottom:1px dashed rgba(255,255,255,0.02)}
.domain-option:last-child{border-bottom:0}
.domain-option input{width:18px;height:18px}
.domain-option strong{display:block;color:#fff}
.domain-option small{color:var(--muted)}

/* Output pre blocks */
pre{background:linear-gradient(180deg,#041029,#07122a);color:#cfe8ff;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,0.03);overflow:auto;margin-top:10px;white-space:pre-wrap}

/* Helpers */
.muted-light{color:var(--muted)}
.status-ok{color:var(--success);font-weight:700}
.status-fail{color:var(--danger);font-weight:700}

/* Responsive */
@media (max-width:900px){
    .card{grid-column: 1 / -1}
    .grid{gap:14px}
}

@media (prefers-color-scheme: light){
    :root{--bg:#f7fbff;--surface:#ffffff;--muted:#556075;--card-border: rgba(10,20,40,0.04);}
    body{color:#0b1320;background:linear-gradient(180deg,#f8fbff,#eef6ff)}
    pre{background:#f3f7ff;color:#0b1320}
}

/* small tweaks for existing inline uses */
.card button{margin:0}

/* Quick override to ensure no sidebar layout remains — keeps header at top */
.layout{display:block !important;grid-template-columns:none !important;gap:0 !important}
.sidebar{display:none !important}
.main{width:100% !important}
.main .container{max-width:var(--max-width);padding:0}
