/* PlanFlow Internal — SHARED app shell (FROZEN 2026-06-16).
   Top bar + global product switcher + sidebar nav + module frame.
   Shared chrome for every module. Locked from the approved prototype. */

.app{display:grid;grid-template-columns:212px 1fr;grid-template-rows:auto 1fr;min-height:100vh;}

.topbar{grid-column:1/3;display:flex;align-items:center;justify-content:space-between;
  padding:14px var(--pad);border-bottom:2px solid var(--ink);}
.brand{display:flex;align-items:baseline;gap:11px;}
.brand b{font-size:18px;font-weight:800;letter-spacing:.02em;}
.brand .sub{font-size:12px;font-weight:700;color:var(--teal);letter-spacing:.14em;text-transform:uppercase;}

.switch{display:inline-flex;border:2px solid var(--ink);border-radius:999px;overflow:hidden;}
.switch button{appearance:none;border:0;background:#fff;color:var(--ink);font:700 13px system-ui;
  padding:7px 22px;cursor:pointer;}
.switch button.active{background:var(--teal);color:#fff;}

.whoami{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;}
.whoami .lock{background:var(--teal-wash);color:var(--teal);border:1px solid var(--teal);
  border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;}

.sidebar{border-right:1px solid var(--line);padding:16px 12px;background:var(--bg);}
.nav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;appearance:none;
  border:0;background:none;color:var(--ink);font:700 14px system-ui;padding:10px 12px;border-radius:var(--r);
  cursor:pointer;margin-bottom:2px;}
.nav button:hover{background:var(--strip);}
.nav button.active{background:var(--teal);color:#fff;}
.nav .tick{width:8px;height:8px;border-radius:50%;background:var(--idle);flex:0 0 auto;}
.nav button.active .tick{background:#fff;}
.nav .grouplabel{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--teal);padding:14px 12px 6px;}

main{padding:8px var(--pad) 40px;max-width:100%;}
.module{display:none;}
.module.active{display:block;}
.mhead{display:flex;align-items:baseline;justify-content:space-between;padding:18px 0 6px;}
.mhead h1{margin:0;font-size:22px;font-weight:800;}
.mhead .scope{font-size:13px;font-weight:700;color:var(--teal);}

section{padding:12px 0 22px;}
h2{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  border-bottom:1px solid var(--line);padding-bottom:7px;}
h2 .hint{float:right;font-weight:700;letter-spacing:0;text-transform:none;color:var(--teal);font-size:12px;}

/* placeholder panel for modules not yet built */
.stub{border:1px dashed var(--line);border-radius:var(--r);padding:22px;font-weight:600;}
.stub b{color:var(--teal);}

/* utility: a section flush to the one above it (replaces inline padding-top:0) */
section.flush{padding-top:0;}
