:root{
  --bg:#0c0d10;
  --sidebar:#121317;
  --panel:#17191e;
  --panel-2:#1d2026;
  --line:#2a2f38;
  --line-soft:#22262d;
  --text:#f3f5f7;
  --muted:#9aa3b1;
  --accent:#4ea3ff;
  --accent-2:#7b7fff;
  --green:#2ecc71;
  --green-bg:rgba(46,204,113,.14);
  --red:#ff5f57;
  --red-bg:rgba(255,95,87,.14);
  --yellow:#e7b45a;
  --neutral-bg:#2a2f38;
  --radius:16px;
  --radius-sm:12px;
  --shadow:0 10px 30px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,Segoe UI,Arial,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}

.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#1a1b22 0,#0c0d10 60%)}
.login-card{width:min(420px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}
.login-logo{font-size:24px;font-weight:700;letter-spacing:.01em}
.login-subtitle{margin:6px 0 18px;color:var(--muted)}
.login-note{margin-top:16px;color:var(--muted);font-size:13px}

.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.sidebar{background:linear-gradient(180deg,#111216 0,#0e0f13 100%);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.02);border:1px solid var(--line-soft)}
.brand-icon{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 8px 20px rgba(78,163,255,.25)}
.brand-text{font-size:16px;font-weight:700}
.nav{display:flex;flex-direction:column;gap:8px}
.nav-link{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;color:#d5dbe5;border:1px solid transparent;transition:.18s ease}
.nav-link:hover{background:#17191e;border-color:var(--line)}
.nav-link.active{background:linear-gradient(180deg,#1f2229,#171a1f);border-color:#323844;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.nav-dot{width:8px;height:8px;border-radius:99px;background:#5d6777;flex:none}
.nav-link.active .nav-dot{background:var(--accent)}
.sidebar-spacer{flex:1}
.logout-link{padding:12px 14px;border:1px solid var(--line);border-radius:12px;color:#d9dee7;background:#16181d}

.main{min-width:0;padding:24px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.page-title{font-size:28px;font-weight:700;letter-spacing:.01em}
.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.page-subtitle,.muted{color:var(--muted)}
.small{font-size:12px}

.flash-stack{display:grid;gap:10px;margin-bottom:18px}
.flash{padding:12px 14px;border-radius:12px;border:1px solid var(--line)}
.flash-success{background:rgba(46,204,113,.08);border-color:rgba(46,204,113,.28)}
.flash-error{background:rgba(255,95,87,.08);border-color:rgba(255,95,87,.28)}
.flash-info{background:rgba(78,163,255,.08);border-color:rgba(78,163,255,.28)}

.panel{background:linear-gradient(180deg,var(--panel) 0,var(--panel-2) 100%);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);min-width:0}
.panel + .panel{margin-top:18px}
.panel-title{font-size:16px;font-weight:700;margin-bottom:14px}
.danger-panel{border-color:rgba(255,95,87,.28)}
.danger-row{padding:10px 12px;background:rgba(255,95,87,.08);border:1px solid rgba(255,95,87,.15);border-radius:10px}
.danger-row + .danger-row{margin-top:10px}

.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:18px 0}
.metric-card{background:linear-gradient(180deg,#14171c,#181b21);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}
.metric-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.metric-value{font-size:32px;font-weight:700;margin:8px 0 10px}
.metric-delta{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}
.badge-positive{color:var(--green);background:var(--green-bg)}
.badge-negative{color:var(--red);background:var(--red-bg)}
.badge-neutral{color:#d0d6df;background:var(--neutral-bg)}
.metric-spark{margin-top:12px;color:#6ea9ff}
.sparkline{display:block;width:100%;height:40px;overflow:visible}
.spark-line{stroke-linecap:round;stroke-linejoin:round}
.spark-group{cursor:crosshair}
.spark-point-hit{fill:transparent;pointer-events:all}
.spark-point{fill:currentColor;opacity:.18;transition:opacity .15s ease, r .15s ease}
.spark-group:hover .spark-point{opacity:1;r:3.8}

.filters{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
.filter-group{display:flex;flex-direction:column;gap:8px;min-width:0}
.filter-submit{justify-content:flex-end}
.label{display:block;margin:0 0 8px;color:#d9dee7;font-weight:600}
.input,.select,.textarea{width:100%;background:#101216;color:var(--text);border:1px solid #303540;border-radius:12px;padding:11px 13px;outline:none;transition:.15s ease}
.textarea{min-height:110px;resize:vertical}
.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(78,163,255,.12)}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;margin:10px 0;color:#dce2eb}
.checkbox-row input{margin-top:2px}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.button{appearance:none;border:none;border-radius:12px;padding:11px 16px;cursor:pointer;font-weight:700;transition:.18s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.button:hover{transform:translateY(-1px)}
.button-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:white;box-shadow:0 12px 24px rgba(78,163,255,.2)}
.button-secondary{background:#20242b;color:#eef3fa;border:1px solid #353a45}
.button-danger{background:#2a1717;color:#ffd5d2;border:1px solid rgba(255,95,87,.26)}
.button-block{width:100%}

.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#121418}
.table{width:100%;border-collapse:collapse;min-width:760px}
.table th,.table td{padding:12px 14px;border-bottom:1px solid #252932;text-align:left;vertical-align:top}
.table th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#a7b0bd;background:#15181e;position:sticky;top:0;z-index:1}
.table tbody tr:hover{background:rgba(255,255,255,.02)}
.empty-cell{text-align:center;color:var(--muted);padding:24px !important}
.truncate{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}
.status-ok{background:var(--green-bg);color:var(--green)}
.status-error{background:var(--red-bg);color:var(--red)}
.status-pending{background:rgba(231,180,90,.12);color:var(--yellow)}

.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#20242b;border:1px solid #323844;color:#dce2ea}
.code-block{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#101216;color:#bfe1ff;border:1px solid #303540;border-radius:12px;padding:12px 14px;overflow:auto;word-break:break-all}
.note-list{margin:12px 0 0 18px;padding:0;color:#dce2eb}
.note-list li+li{margin-top:8px}
.spacer{height:16px}

.footer-space{height:12px}
.top-inline{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kv-item{background:#121418;border:1px solid var(--line);border-radius:14px;padding:12px}
.kv-key{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.kv-value{font-size:18px;font-weight:700;margin-top:6px}

@media (max-width: 1180px){
  .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 960px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto;border-right:none;border-bottom:1px solid var(--line)}
  .two-col,.three-col{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .main{padding:16px}
  .page-title{font-size:22px}
  .cards-grid{grid-template-columns:1fr}
  .metric-value{font-size:28px}
  .filters{grid-template-columns:1fr}
  .table{min-width:640px}
}


/* Compatibility layer for current markup */
.app-shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:100vh;background:var(--bg)}
.sidebar{background:linear-gradient(180deg,#111216 0,#0e0f13 100%);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:16px;background:rgba(255,255,255,.02);border:1px solid var(--line-soft)}
.brand-badge{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:grid;place-items:center;font-weight:800;color:#fff;letter-spacing:.06em;flex:none;box-shadow:0 10px 24px rgba(78,163,255,.22)}
.brand-copy{min-width:0}
.brand-title{font-size:16px;font-weight:700;line-height:1.25;word-break:break-word}
.brand-sub{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}
.menu{display:flex;flex-direction:column;gap:8px;min-width:0}
.menu-section{padding:8px 10px 2px;color:#8f98a6;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.menu-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;color:#d5dbe5;border:1px solid transparent;background:transparent;transition:.18s ease;width:100%;min-width:0;white-space:normal;line-height:1.35;word-break:break-word}
.menu-item:hover{background:#17191e;border-color:var(--line)}
.menu-item.is-active{background:linear-gradient(180deg,#1f2229,#171a1f);border-color:#323844;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.menu-icon{width:18px;display:inline-flex;align-items:center;justify-content:center;flex:none;opacity:.95}
.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:8px}
.sidebar-meta{padding:0 10px;color:var(--muted);font-size:12px;line-height:1.4;word-break:break-word}
.menu-item-logout{border-color:var(--line);background:#16181d}
.content{min-width:0;padding:24px}
.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.topbar h1{margin:0;font-size:28px;font-weight:700;letter-spacing:.01em;line-height:1.2}
.topbar-actions{color:var(--muted);font-size:13px}
.inline-actions{display:flex;gap:8px;flex-wrap:wrap}
.button-small{padding:9px 12px;font-size:12px}
.form-actions.stacked{flex-direction:column;align-items:stretch}
.form-actions.stacked .button{width:100%}
.empty-cell{display:table-cell}
@media (max-width: 1180px){
  .app-shell{grid-template-columns:260px minmax(0,1fr)}
}
@media (max-width: 960px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto;border-right:none;border-bottom:1px solid var(--line)}
  .content{padding:18px}
}
@media (max-width: 640px){
  .menu-item{padding:11px 12px}
  .brand-title{font-size:15px}
  .topbar h1{font-size:22px}
}

.filters-dashboard{grid-template-columns:1.35fr 1.8fr 1.2fr 1fr 1fr 1fr auto}
.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.inline-form-category{margin-top:2px}
.select-compact{min-width:180px;padding:9px 11px}
.chips-categories{margin-bottom:12px}
@media (max-width: 1400px){
  .filters-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 1180px){
  .filters-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  .filters-dashboard{grid-template-columns:1fr}
  .select-compact{min-width:100%}
}

/* Analytics v2 */
.badge-neutral{color:var(--yellow);background:rgba(231,180,90,.14);border:1px solid rgba(231,180,90,.2)}
.panel-title-inline{display:flex;align-items:center;justify-content:space-between;gap:12px}
.text-link{color:#9bc7ff;font-size:13px;font-weight:600}
.alerts-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.alert-card{padding:14px;border-radius:14px;border:1px solid var(--line);background:#12151a}
.alert-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.alert-copy{font-weight:600;line-height:1.45}
.alert-meta{margin-top:8px;color:var(--muted);font-size:12px}
.metric-pair{display:flex;flex-direction:column;gap:6px;min-width:90px}
.metric-cell-value{font-weight:700;white-space:nowrap}
.metric-inline-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700;width:max-content}
.table-analytics td{vertical-align:middle}
.cards-grid-backlinks{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}
.filters-backlinks{grid-template-columns:2fr 1.4fr auto}
@media (max-width: 1180px){
  .alerts-list{grid-template-columns:1fr 1fr}
  .cards-grid-backlinks{grid-template-columns:1fr}
  .filters-backlinks{grid-template-columns:1fr 1fr auto}
}
@media (max-width: 720px){
  .alerts-list{grid-template-columns:1fr}
  .filters-backlinks{grid-template-columns:1fr}
}


.sort-link{display:inline-flex;align-items:center;gap:6px;color:#dce3ec;font-weight:700;text-decoration:none}
.sort-link:hover{color:#fff}
.sort-link.is-active{color:#9bc7ff}
.sort-indicator{font-size:11px;opacity:.9}
.pagination{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:14px}
.pagination-link,.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#14171c;color:#dce3ec}
.pagination-link:hover{border-color:#3a4250;background:#1a1e25}
.pagination-link.is-active{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:transparent;color:#fff;font-weight:700}
.panel-warning{border-color:rgba(231,180,90,.22);background:rgba(231,180,90,.06)}
.site-title-with-badge{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.status-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width: 1100px){.status-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 640px){.status-summary-grid{grid-template-columns:1fr;}}

.two-col-indexer{align-items:start}
.ordered-list{padding-left:18px}
.url-stack div+div{margin-top:4px}


select optgroup{background:#10131b;color:#9fb1d9;font-style:normal;font-weight:700}
select option{background:#0d1118;color:#eef3ff}

.site-filter-note{margin-top:6px}
select option[hidden]{display:none}


.sync-all-toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.sync-all-status { margin:0 0 18px; padding:16px; border:1px solid rgba(255,255,255,.08); border-radius:16px; background:rgba(255,255,255,.02); }
.sync-all-status.is-hidden { display:none; }
.sync-all-status__meta { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.sync-all-status__title { font-weight:700; color:#f5f7fb; }
.sync-all-status__summary, .sync-all-status__current { color:#aeb7c6; font-size:13px; }
.sync-all-progress { height:10px; border-radius:999px; background:rgba(255,255,255,.08); overflow:hidden; margin-bottom:10px; }
.sync-all-progress__bar { height:100%; width:0; border-radius:999px; background:linear-gradient(90deg,#4f8cff 0%, #67e8f9 100%); transition:width .25s ease; }
.sync-all-status__current { margin-bottom:10px; }
.sync-all-status__log { max-height:180px; overflow:auto; display:flex; flex-direction:column; gap:8px; }
.sync-all-log__item { font-size:13px; padding:8px 10px; border-radius:10px; background:rgba(255,255,255,.04); color:#dbe4f0; }
.sync-all-log__item.is-success { border:1px solid rgba(0,200,120,.25); }
.sync-all-log__item.is-error { border:1px solid rgba(255,90,90,.25); }
