/* DueSmart Admin Control Center v2 — six operating lanes */
.shell{
  grid-template-columns:250px minmax(0,1fr);
}
.sidebar{
  padding:20px 14px;
  overflow:auto;
}
.admin-lane-nav{
  gap:4px;
}
.admin-lane-nav button{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:12px;
  color:var(--muted);
  background:transparent;
  font:800 .9rem/1.2 inherit;
  text-align:left;
  cursor:pointer;
}
.admin-lane-nav button > span:first-child{
  display:flex;
  align-items:center;
  gap:9px;
}
.admin-lane-nav button b{
  width:22px;
  color:var(--green);
  text-align:center;
}
.admin-lane-nav button:hover{
  color:var(--txt);
  border-color:var(--line);
  background:rgba(255,255,255,.035);
}
.admin-lane-nav button[aria-current="page"]{
  color:#071108;
  border-color:var(--gold);
  background:var(--gold);
}
.admin-lane-nav button[aria-current="page"] b{color:#071108}
.lane-pip{
  min-width:24px;
  padding:2px 7px;
  border-radius:999px;
  color:#fff;
  background:#c83d3d;
  font-size:.7rem;
  text-align:center;
}
.admin-lane-nav button[aria-current="page"] .lane-pip{
  color:var(--gold);
  background:#071108;
}

.admin-lane{
  display:none;
  min-width:0;
  animation:lane-in .18s ease;
}
.admin-lane.is-active{display:block}
@keyframes lane-in{
  from{opacity:.35;transform:translateY(4px)}
  to{opacity:1;transform:none}
}
.acc-v2-ready #overview,
.acc-v2-ready .kpi-grid,
.acc-v2-ready #ecosystem-dashboard{
  display:none !important;
}
.lane-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin:8px 0 22px;
}
.lane-head h1{
  margin:4px 0 5px;
  font-size:clamp(1.85rem,3vw,2.65rem);
  line-height:1.05;
  letter-spacing:-.045em;
}
.lane-head p{
  max-width:760px;
  margin:0;
  color:var(--muted);
  font-size:.94rem;
}
.lane-actions{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
.lane-section{
  margin:0 0 26px;
}
.lane-section-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 11px;
}
.lane-section-head h2{
  margin:0;
  color:var(--green);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}
.lane-section-head > span{
  height:1px;
  flex:1;
  background:rgba(0,196,79,.2);
}

.today-health{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:24px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-left:4px solid var(--green);
  border-radius:15px;
  background:linear-gradient(100deg,rgba(0,196,79,.08),rgba(255,255,255,.025));
}
.today-health.attention{border-left-color:var(--amber)}
.today-health > span:nth-child(2){
  display:grid;
  gap:2px;
  min-width:0;
}
.today-health b{font-size:1.03rem}
.today-health small{
  color:var(--muted);
  font-size:.78rem;
}
.today-health > strong{
  margin-left:auto;
  color:var(--gold);
  font-size:.78rem;
  white-space:nowrap;
}
.health-dot{
  width:11px;
  height:11px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 6px rgba(0,196,79,.1);
}
.health-dot.checking{
  background:var(--amber);
  box-shadow:0 0 0 6px rgba(255,188,66,.1);
}
.health-dot.attention{
  background:var(--red);
  box-shadow:0 0 0 6px rgba(255,106,106,.1);
}

.needs-list{display:grid;gap:8px}
.needs-row{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  min-height:68px;
  padding:11px 14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:rgba(255,255,255,.026);
}
.needs-row:hover{border-color:rgba(255,209,0,.4)}
.needs-row.money-row{
  border-color:rgba(255,209,0,.3);
  background:linear-gradient(100deg,rgba(255,209,0,.08),rgba(255,255,255,.025));
}
.needs-count{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:var(--gold);
  background:rgba(255,209,0,.13);
  font-size:1.05rem;
  font-weight:950;
}
.needs-row > span:nth-child(2){display:grid;gap:1px}
.needs-row b{font-size:.92rem}
.needs-row small{color:var(--muted);font-size:.77rem}
.needs-row > strong{color:var(--gold);font-size:.76rem;white-space:nowrap}

.today-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
  margin-bottom:24px;
}
.command-stat{
  min-width:0;
  display:flex;
  flex-direction:column;
  min-height:135px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
a.command-stat:hover{border-color:rgba(255,209,0,.4)}
.command-stat > span{
  color:var(--muted-2);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.command-stat > strong{
  margin:6px 0;
  color:var(--gold);
  font-size:2rem;
  line-height:1.05;
  letter-spacing:-.04em;
}
.command-stat > small{
  margin-top:auto;
  color:var(--muted);
  font-size:.75rem;
}
.command-stat.not-wired > strong{color:var(--muted-2)}

.product-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.product-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:11px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:17px;
  background:rgba(255,255,255,.025);
}
.money-card{
  border-color:rgba(255,209,0,.5);
  background:
    radial-gradient(420px 220px at 100% 0,rgba(255,209,0,.11),transparent 58%),
    rgba(255,255,255,.025);
}
.product-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.product-card h3{margin:0;font-size:1.08rem}
.product-card > p{
  min-height:68px;
  margin:0;
  color:var(--muted);
  font-size:.8rem;
}
.product-numbers{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:11px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.product-numbers div{min-width:0}
.product-numbers span,
.product-numbers small{
  display:block;
  color:var(--muted-2);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.product-numbers b{
  display:block;
  margin:2px 0;
  font-size:1.26rem;
}
.product-numbers small{
  color:var(--muted);
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}
.product-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:auto;
}
.product-actions .btn{
  justify-content:center;
  padding-inline:8px;
  text-align:center;
}

.unwired-note{
  margin-bottom:22px;
  padding:13px 15px;
  border:1px solid rgba(255,209,0,.32);
  border-left:4px solid var(--gold);
  border-radius:12px;
  color:#f5e9be;
  background:rgba(255,168,0,.08);
  font-size:.84rem;
}
.unwired-note b{color:var(--gold)}
.table-card{
  min-width:0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:17px;
  background:rgba(255,255,255,.024);
}
.price-table,
.voice-table{
  width:100%;
  min-width:840px;
  border-collapse:collapse;
}
.price-table th,
.price-table td,
.voice-table th,
.voice-table td{
  padding:12px 10px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:middle;
  font-size:.78rem;
}
.price-table th,
.voice-table th{
  color:var(--muted-2);
  font-size:.66rem;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.price-table td,
.voice-table td{color:var(--muted)}
.price-table td b,
.voice-table td b{color:var(--txt)}
.price-table a,
.voice-table a{color:var(--gold);font-weight:800}
.voice-table td small{
  display:block;
  color:var(--muted);
  font-size:.68rem;
}
.status-chip{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:900;
}
.status-chip.manual{
  color:var(--gold);
  background:rgba(255,209,0,.12);
  border:1px solid rgba(255,209,0,.25);
}

.voice-health-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
}
.voice-health-card{
  min-height:145px;
  display:flex;
  flex-direction:column;
  padding:16px;
  border:1px solid var(--line);
  border-top:3px solid var(--green);
  border-radius:15px;
  background:rgba(255,255,255,.026);
}
a.voice-health-card:hover{border-color:rgba(255,209,0,.4)}
.voice-health-card span{
  color:var(--muted-2);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.voice-health-card b{
  margin:8px 0;
  color:var(--green);
  font-size:1.15rem;
}
.voice-health-card small{
  margin-top:auto;
  color:var(--muted);
  font-size:.73rem;
}
.quick-link-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.quick-link-grid a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:66px;
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:13px;
  background:rgba(255,255,255,.025);
}
.quick-link-grid a:hover{border-color:rgba(255,209,0,.4)}
.quick-link-grid b{font-size:.86rem}
.quick-link-grid span{color:var(--gold);font-size:.72rem;text-align:right}
.library-search{
  width:min(300px,100%);
  min-height:42px;
  padding:9px 12px;
  color:var(--txt);
  border:1px solid var(--line-2);
  border-radius:11px;
  outline:none;
  background:#08100b;
}
.library-search:focus{border-color:var(--gold)}
.library-no-match{display:none !important}

/* Existing tools keep their IDs and behavior after moving into the six lanes. */
.admin-lane > .section,
.admin-lane [id$="Host"] > .section{
  margin-top:22px;
}
#productControlHost .platform-control-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
#productControlHost .platform-purpose{min-height:54px}
#productControlHost .platform-control{
  min-height:300px;
}
#peopleSignupHost .dashboard-split{
  display:block;
  margin-top:22px;
}
#peopleSignupHost .dashboard-split > aside{display:none}
#peopleStoriesHost .success-review-panel{margin-top:22px}
#todayCoverageHost .coverage-note{margin:0 0 24px}
.admin-lane .section-head{
  margin-top:0;
}

@media(max-width:1180px){
  .today-stats,
  .voice-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #productControlHost .platform-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .shell{
    display:block;
    min-height:100vh;
  }
  .sidebar{
    position:fixed;
    z-index:50;
    top:0;
    bottom:0;
    left:0;
    width:min(86vw,320px);
    height:100vh;
    overflow:auto;
    transform:translateX(-104%);
    transition:transform .2s ease;
    box-shadow:0 0 50px rgba(0,0,0,.55);
  }
  .shell.menu-open .sidebar{transform:none}
  .side-scrim{
    position:fixed;
    z-index:40;
    inset:0;
    display:none;
    background:rgba(0,0,0,.65);
  }
  .shell.menu-open .side-scrim{display:block}
  .main{
    width:100%;
    min-width:0;
    padding:14px 0 42px;
  }
  .wrap{
    width:100%;
    padding:0 14px;
  }
  .mobile-toggle{
    display:inline-flex;
    position:sticky;
    z-index:25;
    top:10px;
    margin-bottom:12px;
  }
  .lane-head{display:block}
  .lane-actions{justify-content:flex-start;margin-top:12px}
  .product-grid,
  #productControlHost .platform-control-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .wrap{padding:0 11px}
  .lane-head h1{font-size:1.8rem}
  .lane-head p{font-size:.84rem}
  .today-stats,
  .voice-health-grid,
  .quick-link-grid{grid-template-columns:1fr}
  .command-stat{min-height:116px}
  .needs-row{
    grid-template-columns:36px minmax(0,1fr);
    gap:10px;
  }
  .needs-row > strong{
    grid-column:2;
    margin-top:-4px;
  }
  .today-health{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .today-health > strong{
    width:100%;
    margin-left:24px;
  }
  .product-numbers{gap:5px}
  .product-numbers b{font-size:1.08rem}
  .product-actions{grid-template-columns:1fr}
  .people-stats{grid-template-columns:1fr}
  .lane-actions .btn{width:100%;justify-content:center}
  .library-search{width:100%}
}
