/* Shared dashboard chrome — top nav, layout, cards. Imported on every page. */
:root{--bg:#ffffff;--s1:#f9fafb;--s2:#f3f4f6;--s3:#e5e7eb;--border:#e5e7eb;--gbp:#0891b2;--gbp2:#0e7490;--ok:#059669;--warn:#d97706;--bad:#dc2626;--text:#111827;--muted:#6b7280;--dim:#374151;}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{max-width:100%;overflow-x:hidden;}
body{background:var(--s1);color:var(--text);font-family:'Inter',sans-serif;font-size:14px;line-height:1.55;min-height:100vh;}
a{color:var(--gbp2);}
code{font-family:'DM Mono',monospace;font-size:0.92em;}

/* Top nav bar */
.appbar{background:var(--bg);border-bottom:1px solid var(--border);padding:0 28px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;position:sticky;top:0;z-index:50;}
.appbar-brand{display:flex;align-items:center;gap:12px;padding:16px 0;font-family:'Lexend Deca',sans-serif;font-weight:800;font-size:15px;color:var(--gbp2);white-space:nowrap;}
.appbar-brand::before{content:"";width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--gbp),var(--gbp2));display:inline-block;}
.appbar-tabs{display:flex;gap:2px;flex:1;overflow-x:auto;}
.appbar-tabs a{font-family:'Lexend Deca',sans-serif;font-weight:700;font-size:12px;padding:20px 14px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;transition:all .15s;}
.appbar-tabs a:hover{color:var(--text);}
.appbar-tabs a.active{color:var(--gbp2);border-bottom-color:var(--gbp);}
.appbar-meta{font-family:'DM Mono',monospace;font-size:10px;color:var(--muted);padding:4px 10px;border:1px solid var(--border);border-radius:4px;white-space:nowrap;}
.appbar-user{display:flex;align-items:center;gap:10px;}
.appbar-user button{font-family:'Inter',sans-serif;font-size:11px;color:var(--muted);background:none;border:1px solid var(--border);padding:6px 10px;border-radius:4px;cursor:pointer;}
.appbar-user button:hover{color:var(--bad);border-color:var(--bad);}

/* Main layout */
main{max-width:1100px;margin:0 auto;padding:32px 24px;}
.page-head{margin-bottom:24px;}
.page-head h1{font-family:'Lexend Deca',sans-serif;font-weight:800;font-size:26px;line-height:1.25;margin-bottom:6px;}
.page-head p{color:var(--muted);font-size:14px;max-width:640px;}

/* KPI grid */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:28px;}
.kpi{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px 18px;min-width:0;}
.kpi-label{font-family:'DM Mono',monospace;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px;}
.kpi-value{font-family:'Lexend Deca',sans-serif;font-weight:800;font-size:24px;line-height:1.1;color:var(--text);}
.kpi-sub{font-size:11px;color:var(--muted);margin-top:4px;}
.kpi.accent{background:linear-gradient(135deg,#f0f9ff,#ecfeff);border-color:#bae6fd;}
.kpi.accent .kpi-value{color:var(--gbp2);}

/* Cards & panels */
.panel{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:20px 22px;margin-bottom:16px;}
.panel h2{font-family:'Lexend Deca',sans-serif;font-weight:800;font-size:15px;margin-bottom:4px;}
.panel .sub{color:var(--muted);font-size:12px;margin-bottom:16px;}

/* Buttons */
.btn{font-family:'Lexend Deca',sans-serif;font-weight:700;font-size:12px;padding:10px 18px;border-radius:8px;border:1px solid var(--gbp);background:var(--gbp);color:#fff;cursor:pointer;text-decoration:none;display:inline-block;transition:all .15s;}
.btn:hover{background:var(--gbp2);border-color:var(--gbp2);}
.btn.secondary{background:var(--bg);color:var(--gbp2);}
.btn.secondary:hover{background:var(--s2);}
.btn.ghost{background:none;border-color:var(--border);color:var(--text);}
.btn.ghost:hover{background:var(--s2);}
.btn.lg{padding:14px 22px;font-size:13px;}

/* Recent activity rows */
.row{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:8px;display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;}
.row:hover{border-color:var(--gbp);}
.row-main{min-width:0;}
.row-biz{font-family:'Lexend Deca',sans-serif;font-weight:700;font-size:14px;margin-bottom:3px;word-break:break-word;}
.row-meta{font-size:12px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;}
.row-meta code{color:var(--gbp2);}

/* Status pills */
.pill{font-family:'DM Mono',monospace;font-size:10px;padding:3px 8px;border-radius:3px;border:1px solid;text-transform:uppercase;letter-spacing:0.04em;white-space:nowrap;}
.pill.done{color:var(--ok);border-color:rgba(5,150,105,.3);background:rgba(5,150,105,.06);}
.pill.pending{color:var(--warn);border-color:rgba(217,119,6,.3);background:rgba(217,119,6,.06);}
.pill.error{color:var(--bad);border-color:rgba(220,38,38,.3);background:rgba(220,38,38,.06);}

/* Client chips */
.clients{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;}
.client{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px;text-decoration:none;color:inherit;min-width:0;transition:all .15s;}
.client:hover{border-color:var(--gbp);background:var(--s1);}
.client-biz{font-family:'Lexend Deca',sans-serif;font-weight:700;font-size:13px;margin-bottom:4px;word-break:break-word;}
.client-slug{font-family:'DM Mono',monospace;font-size:11px;color:var(--gbp2);margin-bottom:6px;}
.client-runs{font-size:11px;color:var(--muted);}

/* Utility */
.row-actions{display:flex;gap:6px;align-items:center;}
.empty{text-align:center;padding:50px 20px;color:var(--muted);}
.hidden{display:none;}

/* Responsive */
@media(max-width:640px){
  .appbar{padding:0 14px;gap:14px;}
  .appbar-meta{display:none;}
  main{padding:20px 14px;}
  .page-head h1{font-size:20px;}
  .kpi-value{font-size:20px;}
  .row{grid-template-columns:1fr;gap:8px;}
  .row-actions{justify-content:flex-start;}
}
