:root{
  --ink:#21312f;--muted:#61716d;--line:#c8d3cd;--cream:#eee6dc;--paper:#f6f1ea;--sage:#7f9b8e;--deep:#16322f;--gold:#b8914b;--danger:#a64e49;--ok:#4f8d6a;--warn:#bf8735;--shadow:0 18px 40px rgba(40,50,45,.12);
  --soft-bg:#eee6dc;--soft-panel:#f6f1ea;--soft-panel-2:#e5ddd2;--soft-field:#fffaf2;--soft-hover:#dce8e1;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:linear-gradient(135deg,#eee6dc,#e1d8cc 54%,#d5e2dc);line-height:1.55}a{color:inherit}.wrap{max-width:1180px;margin:0 auto;padding:0 22px}.top{position:sticky;top:0;z-index:10;background:rgba(246,241,234,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:.12em}.brand img{width:54px;height:54px;object-fit:contain;border-radius:12px}.links{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.links a,.btn{border:1px solid var(--line);background:#e5ddd2;color:var(--ink);text-decoration:none;padding:10px 14px;border-radius:999px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.links a:hover,.btn:hover{box-shadow:var(--shadow);transform:translateY(-1px);background:var(--soft-hover)}.btn.primary{background:#1f6f68;color:white;border-color:#1f6f68}.btn.gold{background:var(--gold);border-color:var(--gold);color:#1f1608}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.ok{background:var(--ok);color:#102117;border-color:var(--ok)}.hero{padding:70px 0 44px}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}.card,.panel{background:rgba(246,241,234,.96);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow)}h1{font-size:clamp(38px,6vw,72px);line-height:1.02;margin:0 0 18px}h2{font-size:clamp(26px,4vw,42px);line-height:1.1;margin:0 0 14px}h3{margin:0 0 10px;font-size:22px}p{margin:0 0 14px}.muted{color:var(--muted)}.badge{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:7px 12px;background:#dce8e1;margin:0 8px 8px 0;font-weight:700;color:#21312f}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.section{padding:34px 0}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.field label{font-weight:800}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:14px;padding:13px;background:var(--soft-field);color:var(--ink);font-size:16px}.field textarea{min-height:100px}.field input::placeholder,.field textarea::placeholder{color:#93a29e}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.notice{border-left:5px solid var(--gold);background:#f0dfbd;padding:14px;border-radius:14px;margin:14px 0}.success{border-left-color:var(--ok);background:#dfeee4}.danger-note{border-left-color:var(--danger);background:#edd7d5}.status{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:13px;font-weight:800;border:1px solid var(--line);background:#fffaf2}.table{width:100%;border-collapse:separate;border-spacing:0 10px}.table th{text-align:left;color:var(--muted);font-size:13px}.table td,.table th{padding:10px}.table tr.data{background:#fffaf2;box-shadow:0 8px 25px rgba(0,0,0,.12)}.table tr.data td:first-child{border-radius:14px 0 0 14px}.table tr.data td:last-child{border-radius:0 14px 14px 0}.dash{display:grid;grid-template-columns:250px 1fr;gap:20px}.side{position:sticky;top:92px;align-self:start}.side a{display:block;text-decoration:none;border:1px solid var(--line);border-radius:16px;padding:12px;margin:8px 0;background:#fffaf2;font-weight:800}.side a:hover{background:#1f6f68;color:white}.hidden{display:none!important}.mini{font-size:13px}.footer{padding:30px 0;border-top:1px solid var(--line);margin-top:40px}.logo-large{width:160px;max-width:70%;display:block;margin:auto}.kpi{font-size:30px;font-weight:900}.doc{white-space:pre-wrap;background:#fffaf2;border:1px solid var(--line);border-radius:18px;padding:18px}.pillbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:99}.modal .box{background:#f6f1ea;max-width:760px;width:100%;border-radius:24px;padding:24px;box-shadow:var(--shadow);max-height:88vh;overflow:auto}.pointer,button,a,.clickable{cursor:pointer}
.policy-hero{border-left:6px solid var(--gold)}.policy-index{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.policy-index a{background:#fffaf2;border:1px solid var(--line);border-radius:16px;text-decoration:none;padding:14px;font-weight:800}.policy-doc{margin:18px 0}.policy-doc h3{color:#f4dfac}.policy-doc ul,.policy-doc ol{margin-top:6px}.policy-doc li{margin:7px 0}.policy-tag{display:inline-flex;padding:4px 9px;border-radius:999px;background:#dce8e1;color:#21312f;border:1px solid var(--line);font-size:12px;font-weight:800;margin:0 5px 8px 0}.policy-warning{border-left:5px solid var(--danger);background:#edd7d5;padding:14px;border-radius:14px;margin:14px 0}.policy-safe{border-left:5px solid var(--ok);background:#dfeee4;padding:14px;border-radius:14px;margin:14px 0}
@media(max-width:850px){.hero-grid,.grid,.grid.two,.grid.four,.dash,.row,.policy-index{grid-template-columns:1fr}.links{display:none}.side{position:static}.table{font-size:14px}.table td,.table th{padding:8px}}

.brand{letter-spacing:.04em}.brand span{display:flex;flex-direction:column;line-height:1.05}.brand span b{font-size:16px;letter-spacing:.12em}.brand span small{font-size:10px;letter-spacing:.02em;color:var(--muted);font-weight:700;text-transform:none}.brand img{background:transparent;border-radius:50%;width:62px;height:62px}.logo-large{width:230px}.logo-lockup{text-align:center}.logo-lockup img{width:220px;max-width:70%;display:block;margin:0 auto 12px}.logo-lockup .name{font-size:26px;font-weight:900;letter-spacing:.12em;color:#062856}.logo-lockup .strap{font-size:13px;font-weight:800;letter-spacing:.08em;color:#1f6f68}.private-note{font-size:13px;color:var(--muted);margin-top:8px}.links a[href*="private-system"]{background:#d7e4de;border-color:#b9ccc5}.top .links a[href*="staff"],.top .links a[href*="founder"]{font-size:13px}
.check{display:flex;gap:10px;align-items:flex-start;background:#fffaf2;border:1px solid var(--line);border-radius:14px;padding:14px;margin:14px 0;font-weight:700}.check input{margin-top:4px}.policy-doc h3{color:var(--deep)}
#founderLock{max-width:760px;margin:40px auto}.locked-note{border-left:5px solid var(--danger);background:#edd7d5;padding:14px;border-radius:14px;margin:14px 0}
/* compact booking actions for cancellation + safeguarding buttons */
.btn.compact,.table .btn{padding:6px 9px;font-size:12px;margin:2px;border-radius:999px;min-width:auto;line-height:1.1}.btn.warn{background:var(--warn);color:#fff;border-color:var(--warn)}.table td:last-child{min-width:210px}.table td .btn{white-space:nowrap}.actions-grid{display:flex;flex-wrap:wrap;gap:4px}.notice.danger-note{border-left-color:var(--danger)}

/* Founder record-management upgrade */
.record-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:18px;align-items:start}.record-list{display:flex;flex-direction:column;gap:10px;max-height:520px;overflow:auto;padding-right:6px}.record-card,.record-line{width:100%;text-align:left;border:1px solid var(--line);background:#fffaf2;color:var(--ink);border-radius:16px;padding:13px 14px;cursor:pointer;display:block;margin:8px 0;box-shadow:0 8px 20px rgba(0,0,0,.06)}.record-card:hover,.record-line:hover{background:#dce8e1;transform:translateY(-1px);box-shadow:var(--shadow)}.record-card b{display:block;margin-bottom:6px}.record-card span{display:block;color:var(--muted);font-size:14px;line-height:1.45}.record-card em{display:block;margin-top:8px;font-size:12px;font-style:normal;font-weight:800;color:#1f6f68}.danger-record{border-left:5px solid var(--danger);background:#edd7d5}.record-card-wrap{border:1px solid var(--line);border-radius:18px;margin:10px 0;background:#fffaf2;overflow:hidden}.record-card-wrap .record-card{box-shadow:none;border:none;border-radius:0;margin:0}.record-actions{padding:0 12px 12px}.detail-panel{background:#fffaf2;border:1px solid var(--line);border-radius:18px;padding:18px;min-height:240px;position:sticky;top:110px}.detail-table th{width:190px;vertical-align:top;color:var(--muted)}.mini-list{margin-top:8px}.mini-list .record-line{font-size:13px;padding:9px 10px;margin:6px 0}.side a[href="#overview"]{background:#dce8e1}@media(max-width:850px){.record-layout{grid-template-columns:1fr}.detail-panel{position:static}.record-list{max-height:none}}


/* Audit Centre + scroll fixes */
.side{max-height:calc(100vh - 120px);overflow-y:auto;overscroll-behavior:contain;padding-right:14px}.side::-webkit-scrollbar,.record-list::-webkit-scrollbar{width:8px}.side::-webkit-scrollbar-thumb,.record-list::-webkit-scrollbar-thumb{background:#b8c5bf;border-radius:999px}.dash>div{min-width:0}.audit-card{min-height:130px;text-align:left;align-items:flex-start;border-radius:22px;flex-direction:column}.audit-card .kpi{font-size:34px}.audit-card small{color:var(--muted);font-weight:700}.wage-row{border-left:5px solid var(--ok)}.staff-panel-flow section{scroll-margin-top:110px}@media(max-width:850px){.side{max-height:none;overflow:visible}}

/* === Staff area hard fix: menu no longer overlays opened sections === */
.dash.staff-panel-flow{
  display:block !important;
}
.dash.staff-panel-flow .side{
  position:static !important;
  top:auto !important;
  max-height:none !important;
  overflow:visible !important;
  width:100% !important;
  margin-bottom:24px !important;
  padding:18px !important;
}
.dash.staff-panel-flow .side h3{margin-bottom:14px;}
.dash.staff-panel-flow .side a{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  margin:6px !important;
  padding:10px 14px !important;
  min-width:190px;
  text-align:center;
}
.dash.staff-panel-flow > div:last-child{
  width:100% !important;
  max-width:100% !important;
}
.dash.staff-panel-flow section.card,
.dash.staff-panel-flow section.danger-note{
  display:block !important;
  position:relative !important;
  margin:26px 0 !important;
  clear:both !important;
  scroll-margin-top:115px !important;
  z-index:1 !important;
}
.dash.staff-panel-flow .card form{max-width:100%;}
.audit-summary-line{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 16px;}
.audit-summary-line .notice{margin:4px 0;min-width:180px;}


/* Final operational polish additions */
.booking-card h2{margin-top:26px;border-top:1px solid rgba(90,110,130,.18);padding-top:18px}.booking-card h2:first-child{border-top:0;margin-top:0;padding-top:0}.representative-fields{display:none}.visit-flow-panel{border-left:5px solid #2e8b7d}.gps-field .row{align-items:flex-end}.timeline-feed{display:grid;gap:10px}.timeline-item{text-align:left}.record-line{width:100%;display:block;text-align:left;background:#fff;border:1px solid rgba(80,100,120,.18);border-radius:14px;padding:12px;margin:8px 0;cursor:pointer}.record-line:hover{box-shadow:0 8px 22px rgba(0,0,0,.08);transform:translateY(-1px)}.staff-panel-flow{align-items:flex-start}.staff-panel-flow .side{position:sticky;top:90px;max-height:calc(100vh - 110px);overflow:auto}.detail-table th{width:190px}@media(max-width:900px){.staff-panel-flow{display:block}.staff-panel-flow .side{position:relative;top:0;max-height:none}.gps-field .row{display:block}}
