:root{
  --bg:#f4f1eb;
  --panel:#fffaf2;
  --ink:#162019;
  --muted:#6d7168;
  --line:#e6ded2;
  --dark:#162019;
  --accent:#d47b36;
  --accent-soft:#fff0df;
  --green:#517a48;
  --red:#b94e3e;
  --blue:#426a83;
  --shadow:0 18px 55px rgba(22,32,25,.10);
  --radius:22px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left,#fff7eb 0,#f6f0e7 42%,#eee9df 100%);color:var(--ink)}
a{color:inherit;text-decoration:none}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:280px;background:#151d17;color:#fff;padding:24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;box-shadow:10px 0 40px rgba(0,0,0,.12);z-index:2}
.brand{display:flex;gap:14px;align-items:center;margin-bottom:28px}
.brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#d47b36,#ffcf8f);display:grid;place-items:center;font-weight:900;color:#101711;font-size:26px;box-shadow:0 12px 30px rgba(212,123,54,.35)}
.brand strong{display:block;font-size:18px}.brand span{display:block;color:#b9c0b6;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.sidebar nav{display:grid;gap:7px}.sidebar nav a{padding:12px 14px;border-radius:14px;color:#dce2d8;font-weight:700;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#263229;color:#fff}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;display:grid;gap:4px}.sidebar-footer small{color:#aab3a8}.sidebar-footer a{color:#ffcf8f;font-weight:800;margin-top:7px}
.main{flex:1;padding:30px;min-width:0}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--accent);font-weight:900}.topbar h1{margin:0;font-size:34px;letter-spacing:-.04em}.subtitle{margin:8px 0 0;color:var(--muted)}.top-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn,button{border:0;border-radius:14px;padding:11px 16px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:14px}.btn-dark{background:var(--dark);color:#fff}.btn-light{background:#fff;color:var(--dark);box-shadow:0 8px 25px rgba(0,0,0,.08)}.btn-accent{background:var(--accent);color:#fff}.btn-danger{background:#ffe9e3;color:#9e3529}.btn-small{padding:8px 11px;border-radius:10px;font-size:12px}.btn-outline{border:1px solid var(--line);background:#fff;color:var(--dark)}
.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:rgba(255,250,242,.88);border:1px solid rgba(230,222,210,.85);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;backdrop-filter:blur(14px)}.card h2,.card h3{margin-top:0}.metric{padding:22px;border-radius:24px;background:linear-gradient(145deg,#fff,#fff3e3);border:1px solid #eadfce;box-shadow:var(--shadow)}.metric span{display:block;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.metric strong{font-size:32px;letter-spacing:-.05em}.metric small{display:block;color:var(--muted);margin-top:4px}
.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--line);background:#fff}table{border-collapse:collapse;width:100%;min-width:780px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #f0e9df;vertical-align:top}th{background:#fbf4ea;color:#61665d;text-transform:uppercase;letter-spacing:.08em;font-size:11px}td{font-size:14px}tr:last-child td{border-bottom:0}.muted{color:var(--muted)}.right{text-align:right}.nowrap{white-space:nowrap}
.form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-row-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#687064}input,select,textarea{width:100%;border:1px solid #ded4c5;background:#fff;border-radius:14px;padding:12px 13px;color:var(--ink);font:inherit}textarea{min-height:110px;resize:vertical}.field{display:grid;gap:7px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.inline-form{display:inline}.searchbar{display:flex;gap:10px;margin-bottom:16px}.searchbar input{max-width:360px}
.badge{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;background:#eee;color:#333;white-space:nowrap}.badge-new,.badge-new-enquiry,.badge-draft,.badge-awaiting-payment{background:#fff0df;color:#a25520}.badge-quote-sent,.badge-follow-up,.badge-in-production,.badge-packed{background:#eaf3ff;color:#315c83}.badge-approved,.badge-paid,.badge-delivered,.badge-qc-passed,.badge-completed,.badge-active,.badge-won{background:#e8f4df;color:#3d6736}.badge-lost,.badge-cancelled,.badge-overdue,.badge-failed,.badge-declined{background:#ffe9e3;color:#9e3529}.badge-pending,.badge-open,.badge-awaiting-courier{background:#f3eee8;color:#7a6552}
.kanban{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;overflow:auto}.lane{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;min-height:260px}.lane h3{font-size:14px;margin:0 0 12px;text-transform:uppercase;letter-spacing:.08em;color:#5d655b}.mini-card{border:1px solid #eee2d3;border-radius:16px;padding:13px;margin-bottom:12px;background:#fffaf2}.mini-card strong{display:block}.mini-card small{color:var(--muted)}
.alert{padding:13px 16px;border-radius:14px;margin-bottom:16px;font-weight:800}.alert-success{background:#e9f7e4;color:#345f2d}.alert-error{background:#ffe6df;color:#8e2e21}.alert-warning{background:#fff4d6;color:#7e5a0b}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#ffe6bf,#f4f1eb 45%,#142019 170%)}.login-card{width:min(480px,100%);background:#fffaf2;border:1px solid #eadfce;border-radius:30px;box-shadow:0 30px 90px rgba(22,32,25,.18);padding:34px}.login-card h1{margin:10px 0 8px;font-size:30px}.login-badge{display:inline-flex;background:#151d17;color:#fff;border-radius:999px;padding:8px 12px;font-weight:900;font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.hero-panel{position:relative;overflow:hidden;background:linear-gradient(140deg,#162019,#26372a);color:#fff;border-radius:30px;padding:28px;box-shadow:var(--shadow)}.hero-panel:after{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgba(212,123,54,.32)}.hero-panel h2{margin:0 0 6px;font-size:28px}.hero-panel p{max-width:700px;color:#d6ded0}.hero-panel>*{position:relative;z-index:1}

.phase-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.phase-strip span{display:block;border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px;color:var(--muted);font-weight:800}
.phase-strip strong{display:block;color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.phase-timeline{display:grid;gap:18px}
.phase-card{background:rgba(255,250,242,.92);border:1px solid rgba(230,222,210,.9);border-radius:28px;box-shadow:var(--shadow);padding:22px;position:relative;overflow:hidden}
.phase-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,var(--accent),#ffcf8f)}
.phase-header{display:grid;grid-template-columns:110px 1fr minmax(180px,240px);gap:18px;align-items:start}
.phase-number{height:76px;border-radius:22px;background:#162019;color:#fff;display:grid;place-items:center;text-transform:uppercase;font-weight:900;letter-spacing:.08em;text-align:center;box-shadow:0 14px 30px rgba(22,32,25,.18)}
.phase-header h2{margin:0 0 6px;font-size:26px;letter-spacing:-.03em}.phase-header p{margin:0;color:var(--muted)}
.phase-status{text-align:right}.phase-status select{margin-top:8px;padding:9px 10px;border-radius:12px;font-size:13px}
.phase-objective{margin:18px 0;padding:15px 16px;background:#fff;border:1px solid var(--line);border-radius:18px;color:var(--muted)}.phase-objective strong{color:var(--ink);margin-right:6px}
.phase-mini-metrics{margin-bottom:16px}.phase-mini-metrics div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.phase-mini-metrics strong{display:block;font-size:28px;letter-spacing:-.04em}.phase-mini-metrics span{display:block;color:var(--muted);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.phase-table table{min-width:900px}.proposal-quote{margin:0;border-left:5px solid var(--accent);background:#fff;padding:18px;border-radius:0 18px 18px 0;color:#343b35;font-size:17px;line-height:1.55}
.badge-demo-ready,.badge-included-in-demo{background:#e8f4df;color:#3d6736}.badge-in-planning,.badge-planned{background:#eaf3ff;color:#315c83}.badge-proposed,.badge-future-automation{background:#fff0df;color:#a25520}.badge-optional-upgrade{background:#f0e9ff;color:#5c4283}
@media(max-width:980px){.phase-strip{grid-template-columns:1fr}.phase-header{grid-template-columns:1fr}.phase-status{text-align:left}}

.print-header{display:none}
@media(max-width:980px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:18px}.grid-4,.grid-3,.grid-2,.form-row,.form-row-3{grid-template-columns:1fr}.topbar{display:block}.top-actions{margin-top:14px}.kanban{grid-template-columns:1fr}.searchbar{display:block}.searchbar input{max-width:100%;margin-bottom:10px}}
@media print{.sidebar,.topbar,.no-print,.alert{display:none!important}.main{padding:0}.card{box-shadow:none;border:0}.app-shell{display:block}.print-header{display:block}.table-wrap{border:0}body{background:#fff}}


/* Requirement coverage / spec pages */
.sidebar{overflow-y:auto}
.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.spec-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 35px rgba(22,32,25,.06)}
.spec-card h3{margin:0 0 10px}.spec-card ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.65}.spec-card .module-link{display:inline-flex;margin-top:12px;color:var(--accent);font-weight:900}
.checkline{display:flex;gap:10px;align-items:flex-start;margin:9px 0}.tick{width:24px;height:24px;border-radius:99px;background:#e8f4df;color:#3d6736;display:inline-grid;place-items:center;font-weight:900;flex:0 0 24px}.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.pill{display:inline-flex;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-weight:800;color:var(--muted);font-size:12px}.mini-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mini-metrics .mini{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.mini strong{font-size:24px;display:block}.mini span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:980px){.spec-grid,.mini-metrics{grid-template-columns:1fr}}


/* -------------------------------------------------------------------------
   Responsive polish patch - fixes dashboard kanban clipping and mobile/tablet
   layout issues. This sits at the end intentionally so it overrides older demo
   styles without changing page logic.
--------------------------------------------------------------------------- */
html{max-width:100%;overflow-x:hidden}
body{max-width:100%;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
.card,.metric,.hero-panel,.lane,.mini-card,.table-wrap,.main{min-width:0}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.section-head h2{margin:0 0 6px}.section-head p{margin:0}.section-head .btn{flex:0 0 auto}
.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;overflow:visible;width:100%}
.lane{min-height:auto;overflow:hidden}
.mini-card{display:block;width:100%;line-height:1.35;overflow:hidden;word-break:normal;overflow-wrap:anywhere;white-space:normal}
.mini-card strong{font-size:15px;line-height:1.28;margin-bottom:6px}.mini-card small{display:block;line-height:1.45}.mini-card-footer{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.mini-card .badge{white-space:normal}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{width:100%}
.sidebar nav a{line-height:1.25}.topbar h1{overflow-wrap:anywhere}
input,select,textarea{max-width:100%}.btn,button{max-width:100%;white-space:normal;text-align:center;justify-content:center}

@media(max-width:1200px){
  .main{padding:24px}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spec-grid{grid-template-columns:1fr}
}
@media(max-width:980px){
  .app-shell{display:block}
  .sidebar{position:relative;width:100%;height:auto;padding:18px;border-radius:0 0 24px 24px}
  .brand{margin-bottom:16px}
  .sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:none;overflow:visible}
  .sidebar nav a{padding:11px 12px;font-size:13px;background:rgba(255,255,255,.04)}
  .sidebar-footer{margin-top:16px}
  .main{padding:16px}
  .topbar{display:block;margin-bottom:18px}
  .topbar h1{font-size:28px;line-height:1.1}
  .top-actions{margin-top:12px;width:100%}.top-actions .btn{flex:1 1 180px}
  .grid,.grid-4,.grid-3,.grid-2,.form-row,.form-row-3,.phase-header,.phase-strip,.mini-metrics{grid-template-columns:1fr!important}
  .card{padding:18px;border-radius:20px}.hero-panel{padding:22px;border-radius:22px}.hero-panel h2{font-size:24px}
  .metric strong{font-size:28px}
  .kanban{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))!important}
  .searchbar{display:grid;grid-template-columns:1fr;gap:10px}.searchbar input,.searchbar select{max-width:100%;margin-bottom:0}
}
@media(max-width:560px){
  .login-page{padding:14px}.login-card{padding:22px;border-radius:22px}.login-card h1{font-size:24px}
  .sidebar{padding:14px}.brand-mark{width:42px;height:42px;font-size:22px}.brand strong{font-size:16px}
  .sidebar nav{grid-template-columns:1fr}
  .main{padding:12px}
  .topbar h1{font-size:24px}.subtitle{font-size:14px}
  .top-actions{display:grid;grid-template-columns:1fr}.top-actions .btn{width:100%}
  .card{padding:15px;border-radius:18px}.metric{padding:16px;border-radius:18px}
  .btn,button{width:100%;padding:11px 13px}.form-actions .btn,.form-actions button{width:100%}
  .phase-card{padding:18px;border-radius:20px}.phase-number{height:60px}.phase-header h2{font-size:22px}
  table{min-width:680px}th,td{padding:11px 12px;font-size:13px}
  .badge{font-size:11px;padding:6px 9px}
}

/* -------------------------------------------------------------------------
   Rack & Roll logo + proper mobile hamburger menu patch
   Added 2026-05-30
--------------------------------------------------------------------------- */
.brand.brand-logo{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  margin-bottom:24px;
  padding:8px 4px 14px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.brand.brand-logo img{
  display:block;
  width:min(220px,100%);
  max-height:118px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.28));
}
.brand-subtitle{
  color:#d8e0d5;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.18em;
}
.sidebar-close,
.mobile-shell-header,
.mobile-nav-overlay{display:none}
.login-logo-panel{
  background:#0d130f;
  border-radius:22px;
  padding:18px 18px 14px;
  margin-bottom:18px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 18px 45px rgba(22,32,25,.14);
}
.login-logo-panel img{
  display:block;
  width:100%;
  max-height:190px;
  object-fit:contain;
}

@media(max-width:980px){
  body{padding-top:78px}
  .mobile-shell-header{
    position:fixed;
    top:0;left:0;right:0;
    z-index:60;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:78px;
    padding:10px 16px;
    background:#111a14;
    box-shadow:0 12px 35px rgba(0,0,0,.22);
  }
  .mobile-menu-toggle{
    width:48px;
    height:48px;
    flex:0 0 48px;
    border-radius:16px;
    background:#d47b36;
    color:#fff;
    font-size:24px;
    line-height:1;
    padding:0;
    display:grid;
    place-items:center;
    box-shadow:0 10px 26px rgba(212,123,54,.34);
  }
  .mobile-brand{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    min-width:0;
    flex:1;
  }
  .mobile-brand img{
    display:block;
    width:min(210px,72vw);
    max-height:58px;
    object-fit:contain;
    object-position:right center;
  }
  .mobile-nav-overlay{
    position:fixed;
    inset:0;
    z-index:50;
    display:block;
    background:rgba(0,0,0,.55);
    opacity:0;
    visibility:hidden;
    transition:opacity .22s ease,visibility .22s ease;
  }
  .sidebar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    width:min(86vw,360px)!important;
    max-width:360px;
    height:100dvh!important;
    min-height:100dvh;
    z-index:70!important;
    padding:18px!important;
    border-radius:0 26px 26px 0!important;
    transform:translateX(-106%);
    transition:transform .24s ease;
    overflow-y:auto!important;
    box-shadow:18px 0 55px rgba(0,0,0,.32)!important;
  }
  body.sidebar-open{overflow:hidden}
  body.sidebar-open .sidebar{transform:translateX(0)}
  body.sidebar-open .mobile-nav-overlay{opacity:1;visibility:visible}
  .sidebar-close{
    display:grid;
    place-items:center;
    position:absolute;
    top:12px;
    right:12px;
    width:38px;
    height:38px;
    border-radius:13px;
    padding:0;
    background:rgba(255,255,255,.10);
    color:#fff;
    font-size:25px;
    line-height:1;
  }
  .brand.brand-logo{padding-right:42px;margin-bottom:18px}
  .brand.brand-logo img{width:min(210px,100%);max-height:110px}
  .sidebar nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .sidebar nav a{
    display:flex;
    align-items:center;
    min-height:48px;
    padding:13px 15px!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.045)!important;
    font-size:14px!important;
  }
  .sidebar nav a.active{background:#d47b36!important;color:#fff!important}
  .sidebar-footer{margin-top:18px!important}
  .app-shell{display:block!important;min-height:calc(100vh - 78px)}
  .main{padding:16px!important}
}

@media(max-width:560px){
  body{padding-top:72px}
  .mobile-shell-header{min-height:72px;padding:9px 12px}
  .mobile-menu-toggle{width:44px;height:44px;flex-basis:44px;border-radius:14px}
  .mobile-brand img{width:min(190px,70vw);max-height:52px}
  .sidebar{width:min(90vw,345px)!important;padding:15px!important;border-radius:0 22px 22px 0!important}
  .brand.brand-logo img{max-height:98px}
  .login-logo-panel{padding:14px;border-radius:18px}
  .login-logo-panel img{max-height:155px}
}
@media(max-width:980px){body.login-page{padding-top:24px!important}}
@media(max-width:560px){body.login-page{padding-top:14px!important}}

/* -------------------------------------------------------------------------
   Desktop sidebar layout fix - 2026-05-30
   Keeps the Rack & Roll logo and footer locked in place on desktop, while
   only the menu list scrolls. Also prevents the main content from sliding
   underneath the sidebar on wide screens.
--------------------------------------------------------------------------- */
@media (min-width:981px){
  body{
    padding-top:0!important;
  }
  .mobile-shell-header,
  .mobile-nav-overlay,
  .sidebar-close{
    display:none!important;
  }
  .app-shell{
    display:block!important;
    min-height:100vh;
  }
  .sidebar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:292px!important;
    height:100dvh!important;
    min-height:100dvh!important;
    padding:18px 16px!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    border-radius:0!important;
    transform:none!important;
    z-index:40!important;
  }
  .brand.brand-logo{
    flex:0 0 auto!important;
    margin:0 0 12px!important;
    padding:4px 4px 12px!important;
  }
  .brand.brand-logo img{
    width:220px!important;
    max-width:100%!important;
    max-height:108px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .brand-subtitle{
    font-size:11px!important;
    letter-spacing:.16em!important;
  }
  .sidebar nav{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    display:grid!important;
    align-content:start!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    padding:0 5px 4px 0!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.28) transparent;
  }
  .sidebar nav::-webkit-scrollbar{
    width:6px;
  }
  .sidebar nav::-webkit-scrollbar-track{
    background:transparent;
  }
  .sidebar nav::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.24);
    border-radius:999px;
  }
  .sidebar nav a{
    display:flex!important;
    align-items:center!important;
    min-height:38px!important;
    padding:9px 12px!important;
    border-radius:12px!important;
    font-size:13px!important;
    line-height:1.2!important;
    background:transparent!important;
  }
  .sidebar nav a:hover,
  .sidebar nav a.active{
    background:#263229!important;
    color:#fff!important;
  }
  .sidebar-footer{
    flex:0 0 auto!important;
    margin-top:12px!important;
    padding-top:12px!important;
    background:#151d17!important;
  }
  .sidebar-footer small,
  .sidebar-footer strong,
  .sidebar-footer a{
    display:block!important;
  }
  .main{
    width:calc(100vw - 292px)!important;
    max-width:calc(100vw - 292px)!important;
    margin-left:292px!important;
    padding:30px!important;
    min-width:0!important;
  }
}

@media (min-width:981px) and (max-height:760px){
  .sidebar{
    padding:12px 14px!important;
  }
  .brand.brand-logo img{
    max-height:78px!important;
    width:190px!important;
  }
  .brand.brand-logo{
    margin-bottom:8px!important;
    padding-bottom:8px!important;
  }
  .sidebar nav{
    gap:4px!important;
  }
  .sidebar nav a{
    min-height:32px!important;
    padding:7px 10px!important;
    font-size:12px!important;
  }
  .sidebar-footer{
    margin-top:8px!important;
    padding-top:8px!important;
  }
}

/* Finance & Xero module patch - 2026-05-30 */
.tabs{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tabs a{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #e2d8c9;border-radius:999px;background:#fff;color:#263229;text-decoration:none;font-weight:800;font-size:13px}
.tabs a.active,.tabs a:hover{background:#152016;color:#fff;border-color:#152016}
.feature-list{display:grid;gap:12px;margin:0;padding-left:0;list-style-position:inside}
.feature-list p,.feature-list li{margin:0;padding:12px 14px;border:1px solid #eee2d3;border-radius:16px;background:#fffaf2;line-height:1.45}
.metric-grid-expanded{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}
@media(max-width:720px){.tabs a{width:100%;justify-content:flex-start}.feature-list p,.feature-list li{font-size:14px}}

/* Marketing Command Centre update - 2026-05-30 */
.marketing-stack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.marketing-stack div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;min-height:120px}
.marketing-stack strong{display:block;font-size:16px;margin-bottom:8px;color:var(--ink)}
.marketing-stack span{display:block;color:var(--muted);line-height:1.45;font-size:14px}
.badge-idea{background:#f3eee8;color:#7a6552}.badge-copy-ready,.badge-images-ready,.badge-scheduled{background:#eaf3ff;color:#315c83}.badge-sent,.badge-reviewed,.badge-ready,.badge-live,.badge-opted-in,.badge-allowed{background:#e8f4df;color:#3d6736}.badge-paused,.badge-rejected,.badge-unsubscribed,.badge-blocked,.badge-no-consent{background:#ffe9e3;color:#9e3529}.badge-ready-for-approval{background:#fff0df;color:#a25520}
@media(max-width:1100px){.marketing-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.marketing-stack{grid-template-columns:1fr}}
