/* ============================================================
   YOKE BUILDER — DASHBOARD STYLESHEET
   Light-yellow theme — clean, premium, uncluttered.
   Page background #f2f2ed, white surfaces, gold accent.
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --gold:#f5c400; --gold-dk:#d4a900; --gold-text:#a67c00;
  --ink:#141414;         /* strong text + text on gold surfaces */
  --page:#f2f2ed;        /* page background (light yellow) */
  --ink-2:#ffffff;       /* raised surfaces: cards, sidebar, topbar */
  --ink-3:#f4f4ee;       /* subtle fills: inputs, hovers */
  --border:#e4e4dc; --border-2:#d9d9d0;
  --text:#2a2a26;  --text-dim:#6c6c65;  --text-muted:#9a9a90;
  --white:#141414;       /* repurposed: strong heading text (dark) */
  --success:#1c7c4a; --danger:#c0392b; --info:#2e6fb0; --warn:#b07d10;
  --sidebar-w:240px; --header-h:58px;
  --radius:6px;
}
html,body{height:100%;}
body{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.5;background:var(--page);color:var(--text);}
a{color:var(--gold-text);text-decoration:none;}
a:hover{text-decoration:underline;}
code,pre{font-family:'Fira Code',monospace;font-size:12px;}

/* LAYOUT */
.yb-wrap{display:flex;min-height:100vh;}
.yb-main{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0;}
.yb-page-body{padding:28px;flex:1;}

/* SIDEBAR */
.yb-sidebar{
  width:var(--sidebar-w);background:var(--ink-2);border-right:1px solid var(--border);
  display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;
  z-index:300;overflow-y:auto;transition:transform .28s ease;
}
.yb-sidebar-brand{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;min-height:var(--header-h);}
.yb-brand-logo{display:flex;align-items:center;gap:8px;text-decoration:none;}
.yb-brand-mark{font-size:20px;font-weight:700;color:var(--gold-dk);line-height:1;}
.yb-brand-text{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:0.06em;color:var(--ink);}
.yb-sidebar-close{display:none;align-items:center;justify-content:center;background:none;border:none;color:var(--text-dim);cursor:pointer;width:32px;height:32px;border-radius:var(--radius);margin-left:auto;}
.yb-sidebar-close:hover{color:var(--ink);background:var(--ink-3);}

/* SITE SWITCHER */
.yb-site-switcher{padding:12px 16px;border-bottom:1px solid var(--border);background:rgba(245,196,0,0.08);}
.yb-site-current{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.yb-site-badge{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex-shrink:0;}
.yb-site-badge.live{background:var(--success);}
.yb-site-badge.building{background:var(--warn);}
.yb-site-badge.draft{background:var(--text-muted);}
.yb-site-name{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;}
.yb-site-type{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.08em;}
.yb-site-switch-link{font-size:11px;color:var(--text-dim);}
.yb-site-switch-link:hover{color:var(--gold-dk);text-decoration:none;}

/* NAV */
.yb-nav{flex:1;padding:8px 0;}
.yb-nav-section{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:12px 18px 4px;}
.yb-nav-link{display:flex;align-items:center;gap:9px;padding:9px 18px;color:var(--text-dim);font-size:13px;border-left:3px solid transparent;transition:background .15s,color .15s,border-color .15s;text-decoration:none;}
.yb-nav-link:hover{background:var(--ink-3);color:var(--ink);text-decoration:none;}
.yb-nav-link.active{color:var(--gold-dk);background:rgba(245,196,0,.12);border-left-color:var(--gold);font-weight:600;}
.yb-nav-link svg{width:15px;height:15px;flex-shrink:0;opacity:.7;}

/* SIDEBAR FOOTER */
.yb-sidebar-footer{padding:14px 16px;border-top:1px solid var(--border);}
.yb-user-info{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.yb-user-avatar{width:32px;height:32px;background:var(--gold);color:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;}
.yb-user-name{font-size:13px;font-weight:600;color:var(--ink);}
.yb-user-plan{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;}
.yb-logout-link{font-size:12px;color:var(--text-dim);}
.yb-logout-link:hover{color:var(--danger);text-decoration:none;}

/* TOPBAR */
.yb-topbar{height:var(--header-h);background:var(--ink-2);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:12px;position:sticky;top:0;z-index:100;}
.yb-menu-btn{display:none;align-items:center;justify-content:center;background:var(--ink-3);border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);cursor:pointer;width:38px;height:38px;flex-shrink:0;transition:background .15s;}
.yb-menu-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.yb-topbar-title{font-size:15px;font-weight:600;color:var(--ink);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.yb-topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.yb-topbar-btn{font-size:12px;color:var(--text-dim);padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius);transition:background .15s,color .15s;}
.yb-topbar-btn:hover{background:var(--ink-3);color:var(--ink);text-decoration:none;}
.yb-topbar-status{font-size:11px;padding:4px 10px;border-radius:var(--radius);border:1px solid var(--border);color:var(--text-dim);text-transform:capitalize;}
.yb-topbar-status.live{color:var(--success);border-color:var(--success);}
.yb-topbar-status.building{color:var(--warn);border-color:var(--warn);}

/* PLAN BADGES */
.yb-plan-badge{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius);}
.yb-plan-badge.starter{background:rgba(0,0,0,.05);color:var(--text-dim);}
.yb-plan-badge.executive{background:rgba(245,196,0,.16);color:var(--gold-dk);}
.yb-plan-badge.enterprise{background:rgba(245,196,0,.24);color:var(--gold-dk);border:1px solid rgba(245,196,0,.4);}

/* STAT CARDS */
.yb-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:24px;}
.yb-stat{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:transform .15s,box-shadow .15s,border-color .15s;}
a.yb-stat:hover{transform:translateY(-2px);box-shadow:0 6px 22px rgba(0,0,0,.08);border-color:var(--gold);text-decoration:none;color:inherit;}
.yb-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:7px;}
.yb-stat-value{font-size:28px;font-weight:700;color:var(--ink);line-height:1;}
.yb-stat-sub{font-size:11px;color:var(--text-dim);margin-top:5px;}
.yb-stat.gold{border-top:3px solid var(--gold);}
.yb-stat.success{border-top:3px solid var(--success);}
.yb-stat.info{border-top:3px solid var(--info);}
.yb-stat.warn{border-top:3px solid var(--warn);}

/* COMMUNITY SCORE WIDGET */
.yb-score-widget{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;align-items:center;gap:24px;margin-bottom:24px;}
.yb-score-ring{position:relative;width:80px;height:80px;flex-shrink:0;}
.yb-score-ring svg{transform:rotate(-90deg);}
.yb-score-ring .track{fill:none;stroke:var(--border-2);stroke-width:6;}
.yb-score-ring .fill{fill:none;stroke:var(--gold);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .6s ease;}
.yb-score-number{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--gold-dk);}
.yb-score-info h3{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.yb-score-info p{font-size:12px;color:var(--text-dim);line-height:1.6;}

/* CARDS */
.yb-card{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;overflow:hidden;}
.yb-card-header{padding:12px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.yb-card-header h2{font-size:13px;font-weight:600;color:var(--ink);}
.yb-card-body{padding:18px;}

/* TABLES */
.yb-table{width:100%;border-collapse:collapse;}
.yb-table th{text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);padding:9px 12px;border-bottom:1px solid var(--border);white-space:nowrap;}
.yb-table td{padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.06);font-size:13px;color:var(--text);vertical-align:middle;}
.yb-table tr:last-child td{border-bottom:none;}
.yb-table tr:hover td{background:rgba(0,0,0,.02);}
.yb-table .empty td{text-align:center;padding:40px;color:var(--text-dim);}

/* BUTTONS */
.yb-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s;text-decoration:none;white-space:nowrap;line-height:1;}
.yb-btn-primary{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.yb-btn-primary:hover{background:var(--gold-dk);border-color:var(--gold-dk);text-decoration:none;color:var(--ink);}
.yb-btn-ghost{background:transparent;color:var(--text-dim);border-color:var(--border);}
.yb-btn-ghost:hover{background:var(--ink-3);color:var(--ink);text-decoration:none;}
.yb-btn-danger{background:transparent;color:var(--danger);border-color:var(--danger);}
.yb-btn-danger:hover{background:var(--danger);color:#fff;text-decoration:none;}
.yb-btn-success{background:var(--success);color:#fff;border-color:var(--success);}
.yb-btn-sm{padding:4px 10px;font-size:11px;}

/* FORMS */
.yb-field{display:flex;flex-direction:column;gap:5px;margin-bottom:16px;}
.yb-field label{font-size:11px;font-weight:600;color:var(--text-dim);letter-spacing:.04em;}
.yb-field input,.yb-field select,.yb-field textarea{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:9px 12px;font-size:13px;font-family:inherit;transition:border-color .15s,box-shadow .15s;width:100%;}
.yb-field input:focus,.yb-field select:focus,.yb-field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(245,196,0,.18);}
.yb-field textarea{resize:vertical;min-height:90px;}
.yb-field-note{font-size:11px;color:var(--text-dim);}
.yb-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* SEARCH & FILTER */
.search-bar{flex:1;min-width:200px;}
.search-bar input{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:8px 12px;font-size:13px;width:100%;}
.search-bar input:focus{outline:none;border-color:var(--gold);}
.filter-select{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:8px 12px;font-size:13px;min-width:140px;}
.filter-select:focus{outline:none;border-color:var(--gold);}

/* DETAIL ROWS */
.detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06);}
.detail-row:last-child{border-bottom:none;}
.detail-row .lbl{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;}
.detail-row .val{font-size:13px;color:var(--text);text-align:right;}
.detail-row .mono{font-family:'Fira Code',monospace;font-size:12px;}

/* TABLE UTILITIES */
.action-cell{white-space:nowrap;}
.empty-row td{text-align:center;padding:40px!important;color:var(--text-dim);font-style:italic;}

/* ALERTS */
.yb-alert{padding:11px 15px;border-radius:var(--radius);font-size:13px;margin-bottom:18px;}
.yb-alert-success{background:rgba(28,124,74,.1);border:1px solid rgba(28,124,74,.3);color:#155f39;}
.yb-alert-error{background:rgba(192,57,43,.1);border:1px solid rgba(192,57,43,.3);color:#8f1e18;}
.yb-alert-info{background:rgba(46,111,176,.1);border:1px solid rgba(46,111,176,.3);color:#1f4f80;}
.yb-alert-warn{background:rgba(176,125,16,.12);border:1px solid rgba(176,125,16,.3);color:#7a5600;}

/* BADGES */
.yb-badge-status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:capitalize;}
.yb-badge-status.draft{background:rgba(0,0,0,.05);color:var(--text-dim);}
.yb-badge-status.building{background:rgba(176,125,16,.15);color:var(--warn);}
.yb-badge-status.live{background:rgba(28,124,74,.15);color:var(--success);}
.yb-badge-status.suspended{background:rgba(192,57,43,.15);color:var(--danger);}

/* PAGINATION */
.yb-pagination{display:flex;gap:5px;align-items:center;margin-top:14px;flex-wrap:wrap;}
.yb-pagination a,.yb-pagination span{padding:4px 9px;border-radius:var(--radius);font-size:12px;border:1px solid var(--border);color:var(--text-dim);text-decoration:none;}
.yb-pagination a:hover{background:var(--ink-3);color:var(--ink);}
.yb-pagination .current,.yb-pagination .current-page{background:var(--gold);border-color:var(--gold);color:var(--ink);}

/* OVERLAY */
.yb-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:250;opacity:0;visibility:hidden;transition:opacity .28s,visibility .28s;}
.yb-overlay.active{opacity:1;visibility:visible;}

/* LOGIN PAGE */
.yb-auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page);padding:24px;}
.yb-auth-card{width:420px;max-width:100%;background:var(--ink-2);border:1px solid var(--border);border-radius:14px;padding:40px;box-shadow:0 12px 40px rgba(0,0,0,.06);}
.yb-auth-brand{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.06em;color:var(--ink);display:flex;align-items:center;gap:8px;margin-bottom:24px;}
.yb-auth-brand span{color:var(--gold-dk);}
.yb-auth-card h1{font-size:20px;font-weight:700;color:var(--ink);margin-bottom:4px;}
.yb-auth-card p{font-size:13px;color:var(--text-dim);margin-bottom:24px;line-height:1.5;}
.yb-auth-card .yb-btn{width:100%;justify-content:center;padding:12px;font-size:14px;margin-top:4px;}
.yb-auth-switch{margin-top:20px;text-align:center;font-size:13px;color:var(--text-dim);}

/* ONBOARDING */
.yb-onboard-wrap{min-height:100vh;background:var(--page);display:flex;align-items:stretch;}
.yb-onboard-left{width:480px;flex-shrink:0;background:var(--ink-2);border-right:1px solid var(--border);padding:48px 40px;display:flex;flex-direction:column;}
.yb-onboard-right{flex:1;display:flex;align-items:center;justify-content:center;padding:48px;background:var(--ink-3);position:relative;overflow:hidden;}
.yb-onboard-step{display:none;}
.yb-onboard-step.active{display:block;}
.yb-step-num{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dk);margin-bottom:12px;}
.yb-step-title{font-family:'Bebas Neue',sans-serif;font-size:36px;letter-spacing:.03em;color:var(--ink);line-height:1;margin-bottom:12px;}
.yb-step-sub{font-size:14px;color:var(--text-dim);line-height:1.7;margin-bottom:28px;}
.yb-progress-bar{width:100%;height:3px;background:var(--border-2);border-radius:2px;margin-bottom:36px;}
.yb-progress-fill{height:100%;background:var(--gold);border-radius:2px;transition:width .4s ease;}
.yb-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.yb-type-card{border:1px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer;transition:border-color .15s,background .15s;text-align:left;}
.yb-type-card:hover{border-color:var(--gold);background:rgba(245,196,0,.06);}
.yb-type-card.selected{border-color:var(--gold);background:rgba(245,196,0,.12);}
.yb-type-card-icon{font-size:20px;margin-bottom:8px;}
.yb-type-card-name{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:3px;}
.yb-type-card-desc{font-size:11px;color:var(--text-dim);line-height:1.4;}
.yb-color-swatches{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}
.yb-swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s;}
.yb-swatch:hover,.yb-swatch.selected{border-color:var(--ink);transform:scale(1.15);}

/* RESPONSIVE */
@media(max-width:900px){
  .yb-sidebar{transform:translateX(-100%);}
  .yb-sidebar.open{transform:translateX(0);box-shadow:8px 0 40px rgba(0,0,0,.18);}
  .yb-sidebar-close{display:flex;}
  .yb-main{margin-left:0;}
  .main-content{margin-left:0;}
  .yb-topbar{padding:0 14px;}
  .yb-menu-btn{display:flex;}
  .yb-page-body{padding:16px;}
  .yb-stats-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .yb-form-row{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .yb-onboard-left{width:100%;border-right:none;}
  .yb-onboard-right{display:none;}
  .yb-type-grid{grid-template-columns:1fr;}

  /* Cards & tables scroll */
  .yb-card{overflow-x:auto;}
  .yb-table{min-width:500px;}

  /* Plan grid on billing page */
  .plan-grid{grid-template-columns:1fr !important;}

  /* Topbar title */
  .yb-topbar-title{font-size:14px;}
  .yb-topbar-right{gap:6px;}
  .yb-topbar-btn{font-size:11px;padding:4px 8px;}

  /* General layout helpers */
  .detail-row{flex-direction:column;gap:4px;}
  .detail-row .lbl{width:auto;}
}
@media(max-width:480px){
  .yb-stats-grid{grid-template-columns:1fr;}
  .yb-auth-card{padding:28px 20px;width:100%;}
  .yb-page-body{padding:12px;}
  .yb-topbar{height:50px;padding:0 12px;}
  .yb-topbar-title{font-size:13px;}
  .yb-stat-value{font-size:22px;}

  /* Billing specifics */
  .plan-grid{gap:12px !important;}
  .source-card{flex-direction:column;align-items:flex-start;padding:16px;}
  .source-card-price{font-size:24px;}

  /* Auth pages full width */
  .yb-auth-wrap{padding:16px;}
}


/* BACKWARD COMPATIBILITY — Aliases without yb- prefix */
.admin-wrap{display:flex;min-height:100vh;}
.main-content{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0;}
.page-body{padding:28px;flex:1;}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:24px;}
.stat-card{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:transform .15s,box-shadow .15s,border-color .15s;}
.stat-card.gold{border-top:3px solid var(--gold);}
.stat-card.success{border-top:3px solid var(--success);}
.stat-card.info{border-top:3px solid var(--info);}
.stat-card.warn{border-top:3px solid var(--warn);}
.stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:7px;}
.stat-value{font-size:28px;font-weight:700;color:var(--ink);line-height:1;}
.stat-sub{font-size:11px;color:var(--text-dim);margin-top:5px;}
.stat-link{display:block;text-decoration:none;color:inherit;}
a.stat-link:hover{transform:translateY(-2px);box-shadow:0 6px 22px rgba(0,0,0,.08);border-color:var(--gold);text-decoration:none;color:inherit;}
.card{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;overflow:hidden;}
.card-header{padding:12px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.card-header h2{font-size:13px;font-weight:600;color:var(--ink);}
.card-body{padding:18px;}
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s;text-decoration:none;white-space:nowrap;line-height:1;}
.btn-primary{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.btn-primary:hover{background:var(--gold-dk);border-color:var(--gold-dk);text-decoration:none;color:var(--ink);}
.btn-ghost{background:transparent;color:var(--text-dim);border-color:var(--border);}
.btn-ghost:hover{background:var(--ink-3);color:var(--ink);text-decoration:none;}
.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger);}
.btn-danger:hover{background:var(--danger);color:#fff;text-decoration:none;}
.btn-success{background:var(--success);color:#fff;border-color:var(--success);}
.btn-sm{padding:4px 10px;font-size:11px;}
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:16px;}
.field label{font-size:11px;font-weight:600;color:var(--text-dim);letter-spacing:.04em;}
.field input,.field select,.field textarea{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:9px 12px;font-size:13px;font-family:inherit;transition:border-color .15s,box-shadow .15s;width:100%;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(245,196,0,.18);}
.field textarea{resize:vertical;min-height:90px;}
.field-note{font-size:11px;color:var(--text-dim);}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:capitalize;}
.badge-draft{background:rgba(0,0,0,.05);color:var(--text-dim);}
.badge-building{background:rgba(176,125,16,.15);color:var(--warn);}
.badge-live{background:rgba(28,124,74,.15);color:var(--success);}
.badge-suspended{background:rgba(192,57,43,.15);color:var(--danger);}
.badge-success{background:rgba(28,124,74,.15);color:var(--success);}
.upgrade-banner{background:rgba(245,196,0,.1);border:1px solid rgba(245,196,0,.3);border-radius:var(--radius);padding:14px 18px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.upgrade-banner p{font-size:13px;color:var(--text);line-height:1.5;flex:1;}
.site-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:32px;}
.site-card{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s,border-color .15s;}
.site-card:hover{transform:translateY(-2px);box-shadow:0 6px 22px rgba(0,0,0,.08);border-color:var(--gold);text-decoration:none;}
.site-card-thumb{height:100px;background:linear-gradient(135deg,var(--ink-3),var(--border));position:relative;display:flex;align-items:center;justify-content:center;}
.site-card-thumb-label{font-size:32px;font-weight:700;color:rgba(0,0,0,.12);letter-spacing:.1em;}
.site-card-type-badge{position:absolute;top:8px;right:8px;background:var(--ink-2);border:1px solid var(--border);padding:3px 8px;border-radius:var(--radius);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-weight:700;}
.site-card-body{padding:14px;display:flex;flex-direction:column;gap:6px;flex:1;}
.site-card-name{font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.site-card-domain{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.site-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;}
.site-card-new{align-items:center;justify-content:center;text-align:center;padding:28px;border-style:dashed;cursor:pointer;}
.site-card-new:hover{border-color:var(--gold);background:rgba(245,196,0,.06);}
.site-card-new-icon{font-size:40px;color:var(--text-dim);margin-bottom:8px;}
.site-card-new p{font-size:12px;color:var(--text-dim);margin-top:4px;}
.source-card{background:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.source-card-left{flex:1;}
.source-card-left h3{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.source-card-left p{font-size:13px;color:var(--text-dim);line-height:1.6;}
.source-card-price{font-size:28px;font-weight:700;color:var(--gold-dk);margin-bottom:4px;}

/* ============================================================
   MOBILE — BACKWARD COMPAT CLASSES
   Ensures billing, settings, and other dashboard pages
   using the old class names also work properly on mobile.
   ============================================================ */
@media(max-width:900px){
  .main-content{margin-left:0;}
  .page-body{padding:16px;}
  .stats-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .card{overflow-x:auto;}
  .form-grid{grid-template-columns:1fr !important;}
  .site-cards{grid-template-columns:1fr;}
  .source-card{flex-direction:column;align-items:stretch;}
  .upgrade-banner{flex-direction:column;align-items:stretch;text-align:center;}
}
@media(max-width:480px){
  .page-body{padding:12px;}
  .stats-grid{grid-template-columns:1fr;gap:8px;}
  .stat-value{font-size:22px;}
  .card-header{padding:10px 14px;}
  .card-header h2{font-size:12px;}
  .card-body{padding:14px;}
  .field input,.field select,.field textarea{font-size:16px;padding:12px 14px;}
  .btn{padding:10px 16px;font-size:14px;}
  .btn-primary{width:100%;justify-content:center;}
  .source-card{padding:16px;}
  .source-card-price{font-size:22px;}
}
