/* ZiCabin 0.7.6 — NO decorative waves. Predictable, readable dashboard grid.
   This file deliberately overrides legacy v073/v074 wave styles without touching domain logic. */
:root{--zc-radius:16px}
/* Flat, slim top header: no waves, ribbons, oversized empty area or doubled title. */
.stage{min-width:0;overflow-x:clip}
.top{
  position:sticky;top:8px;z-index:8;overflow:visible;isolation:auto;
  display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;
  gap:16px;margin:10px 21px 0;padding:11px 22px;min-height:64px;max-height:86px;
  background:var(--zc-surface);color:var(--zc-ink);
  border:1px solid var(--zc-border);border-radius:15px;
  box-shadow:0 5px 18px #1321470e;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
.top::before,.top::after,.side::before,.side::after{content:none!important;display:none!important;background:none!important}
.zc-sidebar-waves,.zc-header-ribbon{display:none!important}
.top .top-heading,.top .top-right{position:relative;z-index:1}
.top .top-heading{flex:0 0 auto;min-width:0}
.top #heading{display:none!important}
.top .eyebrow{font-size:11px;letter-spacing:1.4px;font-weight:800;color:var(--zc-accent-dark);white-space:nowrap}
.top .top-right{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px;min-width:0}
.top .top-right .pill{box-shadow:none;white-space:nowrap;font-size:11px}
.top .top-right .user{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;direction:ltr}
.zc-header-identity{display:flex;gap:7px;align-items:center;min-width:0}
.zc-header-avatar{flex:0 0 31px;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--zc-accent-soft);color:var(--zc-accent-dark);font-weight:800}
.zc-header-chevron{color:var(--zc-secondary);font-size:18px}
.zc-header-bell{min-width:32px;min-height:32px;display:grid;place-items:center;color:var(--zc-accent-dark)}
.zc-header-bell::after{content:none}
.top #logout{padding:7px 10px;min-height:32px;font-size:11px;background:var(--zc-soft);border:1px solid var(--zc-border);white-space:nowrap}
/* Flat sidebar with original framed logo; no bottom wave or gradient ornament. */
.side{
  width:234px;flex:0 0 234px;height:calc(100vh - 34px);min-height:calc(100vh - 34px);
  position:sticky;top:0;overflow:hidden;isolation:auto;
  display:flex;flex-direction:column;gap:0;padding:18px 14px 15px;
  background:var(--zc-side)!important;border-left:1px solid #ffffff16;
  box-shadow:none;
}
.side>.brand,.side>.side-group,.side>nav,.side>.side-bottom{position:relative;z-index:1}
.side .brand{display:flex;flex-direction:column;align-items:center;gap:10px;justify-content:center;padding:8px 6px 18px;margin:0 0 16px;border-bottom:1px solid #ffffff2c}
.side .brand-logo{flex:0 0 94px;width:94px;height:94px;border:3px solid #bfc0c5;border-radius:4px;overflow:hidden;background:#10182a;box-shadow:none}
.side .brand-logo img{width:100%;height:100%;object-fit:contain;border:0;box-shadow:none}
.side .brand-desc{text-align:center}.side .brand-desc b{font-size:12.5px;font-weight:700;color:#fff}
.side .side-group{padding:4px 10px 12px;color:#9cabc8;text-align:right;font-size:11px}
.side .zc-main-nav{display:flex;flex-direction:column;gap:7px}
.side .nav{border:0;border-radius:11px;min-height:43px;padding:9px 12px;font-weight:650;background:transparent;color:#cbd4e7}
.side .nav.active{background:var(--zc-accent-dark)!important;color:#fff;border:0;box-shadow:none}
.side .nav.active .nav-ico{color:#fff}
.side .nav:not(.active):hover{background:#ffffff12;color:white}
.side .side-bottom{margin-top:auto;background:none;border-radius:0;backdrop-filter:none;border-top:1px solid #ffffff23;box-shadow:none;padding:15px 4px 5px;color:#b2bfd6}
.side .side-bottom small{color:#889ab9}
/* Fixed grid: explicit 12 tracks, with per-widget column spans and wrap to next row.
   CSS guards prevail over any legacy saved positioning and any accidental flex styling. */
.zc-custom-dashboard{min-width:0;width:100%}
.zc-widgets{
  display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-flow:row!important;grid-auto-columns:initial!important;
  align-items:stretch;gap:15px;min-width:0;width:100%;overflow:visible;
}
.zc-widgets>.zc-widget{min-width:0!important;width:auto!important;max-width:100%!important;overflow:hidden;align-self:stretch}
.zc-widgets>.zc-widget:not([data-widget-id]){grid-column:span 6}
.zc-widget .zc-widget-title h3{line-height:1.6;overflow-wrap:normal;word-break:normal}
.zc-widget .zc-small-card>strong{overflow-wrap:anywhere}
.zc-ads-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.zc-custom-dashboard .zc-layout-tip{padding:8px 12px}
.zc-custom-drawer{overflow-anchor:none;scrollbar-gutter:stable;overscroll-behavior:contain}
/* At medium widths, don't permit quarter-width cards to shrink into vertical slivers. */
@media(max-width:1450px){
 .side{width:220px;flex-basis:220px}
 .zc-widgets>.zc-widget.zc-span-3,
 .zc-widgets>.zc-widget.zc-span-4{grid-column:span 6 / span 6!important}
 .zc-widgets>.zc-widget.zc-span-8{grid-column:span 12 / span 12!important}
 .zc-ads-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1040px){
 .zc-widgets>.zc-widget{grid-column:span 6 / span 6!important}
 .zc-widgets>.zc-widget-ads,.zc-widgets>.zc-widget-followups,
 .zc-widgets>.zc-widget-weekly,.zc-widgets>.zc-widget-growth{grid-column:span 12 / span 12!important}
}
@media(max-width:790px){
 .side{width:100%;height:auto;min-height:0;max-height:none;position:relative;padding:10px 12px 12px}
 .side .brand{flex-direction:row;justify-content:flex-start;align-items:center;padding:4px 0 9px;margin:0 0 7px}
 .side .brand-logo{width:48px;height:48px;flex-basis:48px;border-width:2px}
 .side .brand-desc{text-align:right}
 .side .zc-main-nav{flex-direction:row;flex-wrap:wrap;gap:4px}
 .side .nav{min-height:38px;padding:8px 10px}
 .side .side-bottom{display:none}
 .top{margin:8px 10px 0;position:relative;top:0;padding:9px 13px;min-height:54px;max-height:none;gap:8px;border-radius:12px;flex-wrap:wrap}
 .top .eyebrow{font-size:10px;letter-spacing:.6px}
 .top .top-right{gap:6px}
 .top .top-right .user{max-width:145px}
 .zc-widgets>.zc-widget{grid-column:span 12 / span 12!important}
 .zc-ads-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:475px){
 .top .top-heading{width:100%;text-align:center}
 .top .top-right{width:100%;justify-content:center}
 .top .top-right .user{max-width:120px}
 .zc-header-bell{display:none}
 .zc-widgets>.zc-widget{grid-column:span 12 / span 12!important}
 .zc-widget{padding:15px 14px}
 .zc-ads-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
