/* Desktop bundle */
/* Constants: header=56px, sidebar=220px */

/* 0) Layout sanity */
html{box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}

html,body{
  margin:0;padding:0;
  font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial;
  font-size:16px;line-height:1.5;
  color:#0f172a;background:#ffffff;
}

a{color:#0f172a;text-decoration:none}
a:hover{text-decoration:underline}
.strong{font-weight:800}


.site-header{
  position:fixed;top:0;left:0;right:0;height:56px;
  background:#ffffff;border-bottom:1px solid #e5e7eb;z-index:1000;
}
.header-inner{
  margin:0 auto;height:56px;
  display:flex;align-items:center;justify-content:space-between;padding:0 16px;
}
.brand{font-weight:900;font-size:20px;color:#0f172a}
.nav-auth{font-size:14px}

/* 2) Fixed sidebar (box-sizing keeps width exact) */
.sidebar{
  position:fixed;left:0;top:56px;width:220px;bottom:0;
  background:#f3f4f6;border-right:1px solid #e5e7eb;
  display:flex;flex-direction:column;padding:12px;
  overflow-y:auto;z-index:999;
  /* Keep a neat, stable scrollbar so it never pushes content weirdly */
  scrollbar-gutter:stable;
  scrollbar-width:thin;                 /* Firefox */
  scrollbar-color:#cbd5e1 transparent;  /* Firefox */
}
.sidebar::-webkit-scrollbar{width:8px}  /* Chromium/WebKit */
.sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}
.sidebar::-webkit-scrollbar-track{background:transparent}

.sidebar-logo{font-weight:800;margin-bottom:10px}
.sidebar-nav{display:flex;flex-direction:column;gap:8px}
.sidebar-nav a{
  display:block;background:#0f0f10;color:#ffffff;
  padding:10px 12px;border-radius:8px;font-size:14px;text-decoration:none;
}
.sidebar-nav a.sidebar-title{background:#e5e7eb;color:#0f172a}
.sidebar-copy{
  margin-top:12px;font-size:12px;color:#6b7280;background:#ffffff;
  border:1px solid #e5e7eb;border-radius:8px;padding:8px;text-align:center;
}

/* 3) Ensure content never goes under the sidebar */
.site-main{margin-left:220px;padding:16px}
.site-footer{border-top:1px solid #e5e7eb;margin-left:220px}
.footer-inner{max-width:1180px;margin:0 auto;padding:16px}

/* 4) Landing + featured */
.lp-hero{padding:24px 0 4px}
.lp-title{font-size:38px;line-height:1.1;margin:0 0 6px 0;font-weight:800}
.lp-sub{margin:0 0 12px 0;font-size:18px;color:#334155}
.lp-kicker{margin:0 0 20px 0;font-size:18px;font-weight:600}
.lp-cta-row{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:8px}
.btn-primary{
  display:inline-block;background:#e11d28;color:#ffffff;
  padding:16px 22px;font-weight:700;border-radius:8px;border:1px solid #b91c1c;
  text-decoration:none;width:200px;
}
.btn-primary:active{transform:scale(0.99)}
.lp-featured{padding:12px 0 22px}
.lp-section-title{font-size:20px;margin:0 0 4px 0;display:flex;align-items:center;gap:6px}
.lp-section-sub{margin:0 0 10px 0;color:#475569}
.lp-featured-box{height:160px;background:#e5e7eb;border-radius:8px;border:1px solid #d1d5db}

/* 5) Admin bar offsets (when you’re logged in as owner) */
@media screen and (min-width:783px){
  body.admin-bar .site-header{top:32px}
  body.admin-bar .sidebar{top:88px}
  body.admin-bar{padding-top:88px}
}
@media screen and (max-width:782px){
  body.admin-bar .site-header{top:46px}
  body.admin-bar .sidebar{top:102px}
  body.admin-bar{padding-top:102px}
}
