/* Shared visual language: slate surfaces, mint accents, quiet borders. */
html:root{--card-bg:var(--card);--accent-soft:#e1f5ee;--accent-ink:#063e30;--surface-inset:#eef4f5;--surface-hover:#e7eff0;--text:#172d38;--muted:#5b7182;--faint:#718697;--bg:#f2f6f7;--card:#fff;--border:#d7e2e7;--teal:#148364;--cyan:#148364;--emerald:#148364;--grad-btn:linear-gradient(100deg,#65dfbb,#65dfbb);--grad-main:linear-gradient(100deg,#65dfbb,#82e8ca);--shadow-sm:0 3px 12px #172d3805;--shadow-md:0 12px 36px #172d3810;--shadow-lg:0 26px 80px #172d381f}
html[data-theme="dark"]{color-scheme:dark;--bg:#0b121d;--card:#101925;--card-bg:#101925;--text:#eaf0f7;--muted:#92a3b8;--faint:#70859e;--border:#293647;--teal:#65dfbb;--cyan:#65dfbb;--emerald:#65dfbb;--amber:#eebf6a;--red:#f18d99;--accent-soft:#17382f;--accent-ink:#79edce;--surface-inset:#0c1420;--surface-hover:#172332;--d-surface:#101925;--d-surface-2:#141f2d;--d-surface-3:#1c2a3a;--d-inset:#0c1420;--d-muted:#92a3b8;--d-border-lume:#293647;--d-border-strong:#50766e;--d-focus:0 0 0 3px #65dfbb20;--d-glow:0 15px 40px #0003;--shadow-sm:0 3px 12px #0001;--shadow-md:0 12px 36px #0003;--shadow-lg:0 26px 80px #0006}
html[data-theme] body{background:radial-gradient(ellipse at 20% 0%,#65dfbb04,transparent 55%),var(--bg);color:var(--text)}
html[data-theme] body::before{display:none}
html[data-theme] .topbar{background:var(--card);border-bottom:1px solid var(--border);box-shadow:none;backdrop-filter:blur(12px)}
html[data-theme] .sidebar{background:var(--card);border-right:1px solid var(--border);box-shadow:none}
html[data-theme] .sidebar-nav{padding:20px 12px}
html[data-theme] .nav-group-label{font-size:9px;letter-spacing:1.7px;font-weight:700;color:var(--faint);padding-top:20px;padding-bottom:10px}
html[data-theme] .nav-btn{border:1px solid transparent;border-radius:11px;padding:11px 12px;color:var(--muted);font-size:12px;margin-bottom:4px;font-weight:500}
html[data-theme] .nav-btn:hover{background:var(--surface-hover);color:var(--text)}
html[data-theme] .nav-btn.active{background:var(--accent-soft);color:var(--accent-ink);border-color:color-mix(in srgb,var(--teal) 25%,transparent);font-weight:600;box-shadow:none}
html[data-theme] .nav-icon{font-size:15px;opacity:.85}
html[data-theme] :is(.brand-mark,.logo-mark,.sidebar-user-avatar){background:var(--accent-soft);color:var(--teal);border:1px solid color-mix(in srgb,var(--teal) 25%,transparent);box-shadow:none;border-radius:12px}
html[data-theme] .topbar-brand b{color:var(--teal)}
html[data-theme] :is(.nav-balance,.nav-plan){border:1px solid var(--border);background:var(--surface-inset);color:var(--teal);border-radius:9px;padding:7px 11px;font-size:11px}
html[data-theme] .nav-user{color:var(--muted);font-size:12px}
html[data-theme] :is(.theme-toggle,.btn-logout){border:1px solid var(--border);background:var(--surface-inset);color:var(--muted);border-radius:9px}
html[data-theme] .sidebar-footer{border-color:var(--border);padding:18px 16px}
html[data-theme] .page{padding-top:32px}
html[data-theme] .page-header{margin-bottom:25px;gap:16px}
html[data-theme] .page-header h2{font-size:27px;font-weight:700;letter-spacing:-.9px;line-height:1.3;color:var(--text)}
html[data-theme] .page-header p{color:var(--muted);font-size:12px;margin-top:9px;line-height:1.7}
html[data-theme] :is(.card,.stat-tile,.seo-workspace,.seo-stats button,.favicon-card,.favicon-upload,.routing-section){background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm)}
html[data-theme] .card{padding:24px}
html[data-theme] .stat-tile{padding:22px}
html[data-theme] .stat-icon{border-radius:12px;background:var(--accent-soft);color:var(--teal);border:1px solid color-mix(in srgb,var(--teal) 18%,transparent)}
html[data-theme] .stat-val{font-size:29px;letter-spacing:-1px;font-weight:700}
html[data-theme] .stat-lbl{color:var(--muted);font-size:11px;margin-top:9px}
html[data-theme] :is(.btn-primary,.btn-login){background:#65dfbb;color:#09281f;border:1px solid #7de6c8;border-radius:11px;font-weight:700;box-shadow:0 5px 20px #37b88c10;padding:11px 18px}
html[data-theme] :is(.btn-primary,.btn-login):hover{background:#83edcd;opacity:1;transform:none}
html[data-theme] .btn-login::before{display:none}
html[data-theme] :is(.btn-sm,.btn-outline){border:1px solid var(--border);border-radius:9px;background:var(--surface-inset);color:var(--muted);font-weight:500;box-shadow:none}
html[data-theme] :is(.btn-sm,.btn-outline):hover{border-color:color-mix(in srgb,var(--teal) 55%,var(--border));color:var(--teal);background:var(--accent-soft)}
html[data-theme] :is(.btn-sm.danger,.btn-danger){color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,var(--border));background:color-mix(in srgb,var(--red) 6%,var(--card))}
html[data-theme] button:disabled{cursor:not-allowed;opacity:.45}
html[data-theme] :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--teal);outline-offset:3px}
html[data-theme] :is(.field-input,.field input,.seo-controls input,.seo-controls select){border:1px solid var(--border);border-radius:11px;background:var(--surface-inset);color:var(--text);box-shadow:none;min-height:43px}
html[data-theme] :is(.field-input,.field input):focus{border-color:var(--teal);box-shadow:0 0 0 3px #65dfbb15}
html[data-theme] input::placeholder,html[data-theme] textarea::placeholder{color:var(--faint);opacity:1}
html[data-theme] :is(.lbl,.field label){color:var(--muted);font-weight:600;font-size:12px}
html[data-theme] .table-wrap{background:var(--card);border-radius:16px;border:1px solid var(--border)}
html[data-theme] table{font-size:12px}
html[data-theme] thead tr{background:var(--surface-inset)}
html[data-theme] th{color:var(--muted);font-size:10px;letter-spacing:.7px;padding:15px 18px;font-weight:600}
html[data-theme] td{border-color:var(--border);padding:17px 18px;color:var(--text);line-height:1.5}
html[data-theme] tbody tr:hover{background:var(--surface-hover)}
html[data-theme] :is(.badge,.status-badge){border-radius:7px;font-size:10px;font-weight:600;padding:4px 9px}
html[data-theme] :is(.badge-green,.badge-cyan){background:var(--accent-soft);color:var(--accent-ink)}
html[data-theme] .empty-state{padding:45px 22px;color:var(--muted)}
html[data-theme] .empty-state strong{color:var(--text);font-weight:600}
html[data-theme] .empty-state p{font-size:12px;margin-top:8px}
html[data-theme] .modal-overlay{background:rgba(3,8,17,.76);backdrop-filter:blur(9px);padding:20px}
html[data-theme] .modal-box{background:radial-gradient(ellipse at 5% 0%,#65dfbb07,transparent 45%),var(--card);border:1px solid var(--border);border-radius:24px;box-shadow:0 32px 100px #0007;padding:30px;max-height:calc(100dvh - 40px);overflow-y:auto}
html[data-theme] .modal-head{gap:18px;margin-bottom:26px;align-items:flex-start}
html[data-theme] .modal-head h3{font-size:22px;letter-spacing:-.6px;line-height:1.4;color:var(--text)}
html[data-theme] .modal-close{width:32px;height:32px;flex-shrink:0;background:var(--surface-hover);border:1px solid var(--border);color:var(--muted);border-radius:50%;font-size:23px;line-height:1;display:grid;place-items:center;cursor:pointer}
html[data-theme] #domainModal .domain-dialog{background:var(--card);border-color:var(--border);border-radius:24px}
html[data-theme] :is(.domain-header,#page-seolar .seo-heading){background:radial-gradient(ellipse at 0% 0%,#65dfbb09,transparent 65%),var(--card);border-color:var(--border)}
html[data-theme] #page-seolar .seo-heading{padding:28px;border-radius:20px}
html[data-theme] :is(.seo-eyebrow,.domain-nav-label){color:var(--teal);letter-spacing:1.7px;font-size:9px;font-weight:700}
html[data-theme] :is(.domain-brand,.domain-tabs button[aria-selected=true]){background:var(--accent-soft);color:var(--accent-ink);border-color:color-mix(in srgb,var(--teal) 25%,transparent)}
html[data-theme] .domain-sidebar{background:var(--surface-inset);border-color:var(--border)}
html[data-theme] :is(.domain-tool,.domain-fact,.domain-info,.seo-controls){background:var(--surface-inset);border-color:var(--border);border-radius:13px}
html[data-theme] .domain-tool:hover{border-color:var(--teal);transform:none}
html[data-theme] :is(.domain-section-heading h4,.seo-heading h2){color:var(--text)}
html[data-theme] .seo-stats button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--teal)}
html[data-theme] .seo-menu-options{background:var(--card);border-color:var(--border);box-shadow:var(--shadow-lg);border-radius:12px}
html[data-theme] .login-card{background:var(--card);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-lg)}
html[data-theme] .login-inner{padding:36px}
html[data-theme] .login-topbar{background:var(--teal);height:3px;animation:none}
html[data-theme] .login-blob{opacity:.35;animation:none}
html[data-theme] .login-logo h1{letter-spacing:-1px;color:var(--text)}
html[data-theme] .login-logo span{color:var(--teal)}
html[data-theme] :is(.login-sub,.login-foot){color:var(--muted)}
html[data-theme] .toast{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);color:var(--text)}
html[data-theme] ::-webkit-scrollbar{height:7px;width:7px}
html[data-theme] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}
html[data-theme] ::selection{background:#65dfbb40}
@media(max-width:768px){html[data-theme] .page{padding:22px 16px 36px}html[data-theme] .page-header{flex-wrap:wrap}html[data-theme] .page-header h2{font-size:24px}html[data-theme] .card{padding:18px}html[data-theme] .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}html[data-theme] .stat-tile{padding:16px}html[data-theme] .stat-val{font-size:24px}html[data-theme] #page-seolar .seo-heading{padding:20px}html[data-theme] .modal-overlay{padding:12px}html[data-theme] .modal-box{padding:22px 18px;border-radius:20px;max-height:calc(100dvh - 24px)}html[data-theme] .topbar-right{gap:7px}html[data-theme] .nav-user{max-width:65px;overflow:hidden;text-overflow:ellipsis}html[data-theme] .nav-plan{display:none!important}html[data-theme] .login-inner{padding:28px}}
@media(prefers-reduced-motion:reduce){html[data-theme] *,html[data-theme] *::before{animation:none!important;transition:none!important}}
/* Empty tables remain centered even when the populated table scrolls. */
html[data-theme] .table-wrap:has(tbody .empty-state) table{min-width:0!important;width:100%}
html[data-theme] .table-wrap:has(tbody .empty-state) thead{display:none}
html[data-theme] .table-wrap:has(tbody .empty-state) :is(tbody,tr,td){display:block;width:100%;border:0}
html[data-theme] .table-wrap:has(tbody .empty-state) .empty-state{text-align:center;white-space:normal}
.ys-domain-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.ys-domain-modes button{font:inherit;text-align:left;padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--surface-inset);color:var(--text);cursor:pointer}.ys-domain-modes strong{display:block;font-size:12px;margin-bottom:7px}.ys-domain-modes small{font-size:10px;color:var(--muted);line-height:1.5}.ys-domain-modes [aria-pressed=true]{border-color:var(--teal);background:var(--accent-soft)}
