/* Apostle Hub re-skin (proposed design language, 16OCT2026).
   Loaded after styles.css. Tokens first, then components. One sans (42dot Sans) everywhere;
   Arapey only on page titles, the login hero and pop-up titles. Primary buttons are ink
   (coral on white fails small-text contrast); coral is an accent only. */
:root{
  --canvas:#ffffff; --surface:#ffffff; --subtle:#F7F4F0;
  --ink:#231F20; --ink-soft:#6B6667; --ink-faint:#9E999A;
  --line:#EDEAE6; --line-strong:#DDD8D4; --fill:#F7F4F0; --fill-hover:#EFEBE6;
  --accent:#231F20; --accent-ink:#ffffff; --wash:#FCEFEE;
  --coral:#F16364; --coral-deep:#C8363A;
  --good:#1F7A4D; --good-bg:#E7F4EC; --warn:#8A5A00; --warn-bg:#FDF3DC; --bad:#B42318; --bad-bg:#FDECEA;
  --info:#2F5D9E; --info-bg:#E8EFF9;
  --radius:8px; --r-btn:6px; --r-pill:999px;
  --shadow:none; --shadow-pop:0 8px 24px rgba(35,31,32,.12);
  --font:'42dot Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-display:'Arapey',Georgia,serif;
  --font-read:var(--font);
}
body{font-size:14px;line-height:1.5;background:var(--canvas);color:var(--ink)}
a{color:var(--coral-deep)}
h1,h2,h3{font-family:var(--font);font-weight:600;letter-spacing:0}
h2{font-size:18px} h3{font-size:16px}
.muted{color:var(--ink-soft)}

/* Display font: page titles, login hero, pop-up titles only */
.view-head h2,.login-card h1{font-family:var(--font-display);font-weight:400;line-height:1.1}
.view-head h2{font-size:32px}
.modal-head h3,.rm-sheet h3{font-family:var(--font-display);font-weight:400;font-size:24px}
.rm-sec h3,.rm-decide h3,.rm-undated h3{font-family:var(--font);font-size:16px;font-weight:600}
.balcard-name,.cp-name,.sm-node .t{font-family:var(--font);font-weight:600}
.avatar-fallback{font-family:var(--font) !important}
.sop-body{font-family:var(--font);font-size:14px;line-height:1.65}
.brand-tile{font-family:var(--font)}

/* Login */
.login-brand{background:transparent;padding:0;margin-bottom:8px}
.wordmark{display:flex;flex-direction:column;gap:2px;text-align:left}
.wordmark .wm-top{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.wordmark .wm{font-family:var(--font-display);font-size:30px;line-height:1;color:var(--ink)}
.login-card{box-shadow:none;border-radius:8px;border-color:var(--line)}
.login-card input{height:36px;padding:0 12px;border-radius:6px;font-size:14px}
.login-card button[type=submit]{border-radius:6px;height:36px;padding:0 16px;font-weight:500;background:var(--ink)}

/* Shell */
@media (min-width:821px){
  .app{grid-template-columns:232px 1fr;gap:0;padding:0}
  .sidebar{background:var(--subtle);border:0;border-right:1px solid var(--line);border-radius:0;padding:20px 12px 12px;
    top:0;height:100vh;box-shadow:none}
  .main-col{padding:0 32px 60px;max-width:1360px}
  .quickbar{top:0;padding:14px 0 6px;background:var(--canvas)}
}
.sidebar{box-shadow:none}
.brand{background:transparent;border:0;border-radius:0;padding:2px 12px 18px;margin:0;justify-content:flex-start;align-items:flex-start;width:100%;text-align:left}
.brand-logo{display:none}
.content{padding:8px 0 60px}
.view-head{align-items:flex-end;margin-bottom:18px}

/* Menu */
#nav{gap:2px}
#nav button,.nav-group{height:32px;padding:0 12px;border-radius:6px;font-size:14px;color:var(--ink-soft);font-weight:400;
  display:flex;align-items:center;gap:8px}
#nav button:hover,.nav-group:hover{background:var(--fill-hover);color:var(--ink)}
#nav button.active{background:var(--wash);color:var(--ink);font-weight:500}
#nav button.active::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--coral);flex:0 0 auto}
.nav-group{justify-content:space-between;color:var(--ink);font-weight:500;margin-top:8px}
.nav-group.active{background:transparent}
.nav-children{margin:0;padding-left:0;border-left:0;gap:2px}
.nav-children button{padding-left:24px;font-size:14px}
.nav-owner{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:2px}
.nav-owner-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:6px 12px 4px}
.sidebar-foot{border-top:0;padding:8px 4px 0}
.who-link{font-size:13px}

/* Quick actions */
.quickbar .qa{box-shadow:none;height:32px;padding:0 12px;font-size:13px}

/* Buttons */
.btn{background:var(--ink);color:#fff;border:1px solid var(--ink);height:36px;padding:0 16px;border-radius:6px;font-weight:500;
  font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:none}
.btn:hover{background:#5C5455;border-color:#5C5455}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line-strong)}
.btn.ghost:hover{background:var(--fill)}
.btn.sm{height:28px;padding:0 12px;font-size:13px}
.btn.accent{background:var(--coral);border-color:var(--coral);color:var(--ink)}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* One field style for every input, select and textarea */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea{
  font:inherit;font-size:14px;color:var(--ink);background-color:#fff;border:1px solid var(--line-strong);border-radius:6px;
  padding:0 12px;height:36px;box-shadow:none}
textarea{height:auto;padding:8px 12px;line-height:1.5}
select{appearance:none;-webkit-appearance:none;padding-right:30px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%236B6667' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 8px center}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ink);outline-offset:0;border-color:var(--ink)}
input::placeholder,textarea::placeholder{color:var(--ink-soft);opacity:.8}
input:disabled,select:disabled,textarea:disabled{background-color:var(--subtle);color:var(--ink-faint)}
.mini,select.mini,input.mini{height:28px;font-size:13px;padding:0 10px}
select.mini{padding-right:26px}
.field{font-size:12px;color:var(--ink-soft);gap:4px}

/* Cards and tables: hairlines, no shadows */
.card{border:1px solid var(--line);border-radius:8px;padding:16px 20px;box-shadow:none}
table{border:1px solid var(--line);border-radius:8px}
th{font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink-soft);background:var(--subtle);padding:10px 16px}
td{font-size:13px;padding:10px 16px;border-bottom:1px solid var(--line)}
.stat .n{font-size:28px;font-weight:600}
.stat .l{font-size:13px}

/* Pills and chips */
.pill{padding:3px 10px;font-size:12px;font-weight:500}
.chip{border-radius:999px}

/* Tabs: underline, coral indicator */
.tabs,.tt-tabs,.ah-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap;align-items:center}
.tab,.tt-tab{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:0 12px;height:36px;
  color:var(--ink-soft);font-weight:400;font-size:14px;margin-bottom:-1px;box-shadow:none}
.tab:hover,.tt-tab:hover{color:var(--ink);background:transparent}
.tab.active,.tt-tab.on{background:transparent;color:var(--ink);font-weight:500;border-bottom-color:var(--coral)}

/* Pop-ups keep a soft shadow */
.modal,.rm-sheet{box-shadow:var(--shadow-pop);border-radius:8px}
.modal-backdrop{background:rgba(35,31,32,.4)}

/* Toast and strips */
#toast,.toast{border-radius:6px}

/* Calendar: seven equal columns that never overflow; long lists stop at 8 */
.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-cell{min-width:0}
.off-list:not(.all) li.extra{display:none}
.off-list.all .off-more{display:none}
.off-more{padding-top:10px;list-style:none}

/* Banners: quiet, not pink */
.note{background:var(--subtle);border:1px solid var(--line);border-radius:8px;color:var(--ink-soft);font-size:13px;padding:10px 14px}

/* Fields inside tables stay compact */
td input:not([type=checkbox]):not([type=radio]),td select{height:28px !important;font-size:13px !important;padding:0 10px !important}
td select{padding-right:26px !important}
@media (max-width:820px){
  .view-head{flex-direction:column;align-items:flex-start;gap:4px}
  .view-head h2{font-size:28px}
}

/* Time: light timer card, client and work-type pills, side totals */
.tt-top{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start;margin-bottom:8px}
@media (max-width:1100px){.tt-top{grid-template-columns:1fr}}
.tt-timer{padding:20px 24px}
.tt-timer .tt-rec{display:flex;align-items:center;gap:8px}
.tt-timer .tt-pulse{background:var(--coral)}
.tt-timer .tt-reclbl{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.tt-timer.tt-off .tt-pulse{background:var(--line-strong);animation:none}
.tt-timer .tt-clock{font-size:44px;font-weight:600;line-height:1.1;margin:6px 0 14px;color:var(--ink);letter-spacing:-.01em}
.tt-timer .tt-clock .sec{color:var(--ink-faint);font-weight:400}
.tt-timer.tt-off .tt-clock{color:var(--ink-faint)}
.tt-field{margin-top:14px}
.tt-field .tt-plbl{display:block;width:auto;margin-bottom:8px;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--ink-soft)}
.tt-chips{gap:8px}
.tt-chip{font-size:13px;font-weight:400;padding:0 14px;height:32px;border-radius:999px;border:1px solid var(--line-strong);background:#fff;color:var(--ink)}
.tt-chip:hover{background:var(--fill)}
.tt-chip.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:500}
.tt-timer .tt-task{background:#fff;color:var(--ink);border:1px solid var(--line-strong);margin-top:16px}
.tt-timer .tt-task::placeholder{color:var(--ink-soft)}
.tt-timer .tt-actions{margin-top:18px;align-items:center}
.tt-idlehint{color:var(--ink-soft);font-size:12px;max-width:520px}
.tt-side{display:flex;flex-direction:column;gap:12px}
.tt-side .tt-stat{border:1px solid var(--line);border-left:1px solid var(--line);padding:16px 20px;margin:0;background:#fff}
.tt-side .tt-stat + .tt-stat{padding-left:20px}
.tt-side .tt-v{font-size:28px;margin-top:4px}
.tt-side .kicker{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.tt-samlist{max-width:none}

/* Pods: totals, three roles, collapsible detail */
.pods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;align-items:start}
.pod-card{display:flex;flex-direction:column;gap:14px;padding:16px 20px}
.pod-name{font-size:18px;font-weight:600}
.pod-totals{display:flex;gap:32px}
.pod-totals .k{display:block;font-size:12px;color:var(--ink-soft)}
.pod-totals b{font-size:15px;font-weight:600}
.pod-totals small{font-weight:400;color:var(--ink-soft);font-size:12px}
.pod-people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pod-people li{display:flex;align-items:center;gap:10px}
.pp-txt{display:flex;flex-direction:column;line-height:1.25}
.pn{font-size:13px;font-weight:500;color:var(--ink)}
.pr{font-size:12px;color:var(--ink-soft)}
.av{border-radius:50%;object-fit:cover;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}
.av-24{width:24px;height:24px}
.av-fb{background:var(--wash);color:var(--coral-deep);font-size:10px;font-weight:600}
.pod-sec{border-top:1px solid var(--line);padding-top:10px}
.pod-sec summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;padding:4px 0;color:var(--ink)}
.pod-sec summary::-webkit-details-marker{display:none}
.pod-sec .car{width:6px;height:6px;border:solid var(--ink-soft);border-width:0 1.5px 1.5px 0;transform:rotate(-45deg);transition:transform .15s;margin:0 4px 0 2px}
.pod-sec[open] .car{transform:rotate(45deg)}
.pod-sec .cnt{font-size:12px;font-weight:400;color:var(--ink-soft)}
.pod-clients,.pod-leave{display:flex;flex-direction:column;margin-top:6px}
.pc-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:transparent;border:0;border-bottom:1px solid var(--line);padding:8px 0;text-align:left;width:100%}
.pc-row:hover{background:var(--fill)}
.pc-name{font-size:13px;font-weight:500}
.pc-meta{display:flex;align-items:center;gap:10px}
.pc-val{font-size:12px;color:var(--ink-soft)}
.pl-row{display:flex;align-items:center;gap:8px;padding:6px 0 6px 18px;font-size:13px}
.pod-clients .pc-row{flex-direction:row;align-items:center;justify-content:space-between;border-radius:0;gap:10px;padding:8px 0;background:transparent;text-align:left}
.pod-clients .pc-row:hover{background:var(--fill)}
.pod-clients{gap:0}
.pc-name{font-weight:500}

.tt-more{height:32px;border-radius:999px;font-size:13px;padding:0 28px 0 14px;border-style:dashed;color:var(--ink-soft);background-color:#fff}

/* Client Pulse: summary and by pod */
.cps-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.cps-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.cps-tile .k{display:block;font-size:12px;color:var(--ink-soft)}
.cps-tile b{font-size:28px;font-weight:600}
.cps-h{margin:4px 0 10px;font-size:18px}
.cps-table td{vertical-align:middle}
.cps-client{background:none;border:0;padding:0;font:inherit;font-weight:500;color:var(--ink);text-align:left;cursor:pointer}
.cps-client:hover{text-decoration:underline}
.cps-pods{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;align-items:start}
.cps-pod-h{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.cps-pod-h h3{flex:1;font-size:18px}
.cps-sub{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:14px 0 6px}
.cps-iss{padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}
.cps-iss .muted{margin-top:2px}
.cps-live{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:4px 0}
@media (max-width:900px){.cps-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pill.cst-pod{background:var(--wash);color:var(--coral-deep)}


/* Onboard a new client */
.kb-chips { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.chk { display: inline-flex !important; grid-template-columns: none; align-items: center; gap: 6px; font-weight: 400 !important; }
.chk input { width: auto; height: auto; }

.sublinks { display: flex; gap: 16px; margin: -4px 0 14px; }

/* Potential hires add row: one field height */
#cand-name, #cand-role, #cand-role-custom { height: 36px; font-size: 14px; }
#cand-role { min-width: 200px; }
/* Training booking summary: quiet strip, not underlined fields */
#train-body .kvgrid { background: var(--subtle); border-radius: var(--r-btn, 6px); padding: 12px 16px; }
#train-body .kvgrid .kv { border-bottom: 0; }

/* Client Pulse: grouped per client */
.cps-groups { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 12px; }
.cps-group .cps-pod-h { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.cps-group .cps-iss { display: flex; gap: 8px; align-items: baseline; padding: 6px 0; border-top: 1px solid var(--line, #E9E4DE); font-size: 13px; }
.cps-own { margin-top: 8px; font-size: 12px; }
@media (max-width: 640px) { .cps-groups { grid-template-columns: 1fr; } }

/* Date picker (replaces the native browser popup) */
.dp-btn { height: 36px; padding: 0 12px; border: 1px solid var(--line, #E9E4DE); border-radius: var(--r-btn, 6px); background: #fff; font: inherit; font-size: 14px; color: var(--ink, #231F20); text-align: left; cursor: pointer; min-width: 140px; display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; }
.dp-btn::after { content: ""; width: 14px; height: 14px; background: currentColor; opacity: .55; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.4'%3E%3Crect x='2' y='3' width='12' height='11' rx='2'/%3E%3Cpath d='M2 6.5h12M5.5 1.5v3M10.5 1.5v3'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.4'%3E%3Crect x='2' y='3' width='12' height='11' rx='2'/%3E%3Cpath d='M2 6.5h12M5.5 1.5v3M10.5 1.5v3'/%3E%3C/svg%3E") center/contain no-repeat; }
.dp-btn:focus-visible { outline: 2px solid var(--ink, #231F20); outline-offset: 2px; }
td .dp-btn { height: 28px; }
.dp-pop { position: fixed; z-index: 1000; width: 272px; background: #fff; border: 1px solid var(--line, #E9E4DE); border-radius: 8px; padding: 12px; box-shadow: 0 8px 24px rgba(35,31,32,.12); font-size: 13px; }
.dp-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.dp-h b { font-weight: 500; font-size: 14px; }
.dp-nav { width: 28px; height: 28px; border: 0; background: transparent; border-radius: 6px; font-size: 18px; cursor: pointer; color: var(--ink, #231F20); }
.dp-nav:hover { background: var(--subtle, #F7F4F0); }
.dp-w, .dp-g { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; }
.dp-w span { font-size: 11px; color: var(--muted, #6b6560); padding: 4px 0; }
.dp-d { height: 32px; border: 0; background: transparent; border-radius: 6px; font: inherit; cursor: pointer; color: var(--ink, #231F20); }
.dp-d:hover { background: var(--subtle, #F7F4F0); }
.dp-d.today { box-shadow: inset 0 0 0 1px var(--coral, #F16364); }
.dp-d.sel { background: var(--ink, #231F20); color: #fff; }
.dp-f { display: flex; justify-content: space-between; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line, #E9E4DE); }

/* Client record: header, key strip, quarter-column roadmap */
.rec-crumb { font-size: 13px; color: var(--muted, #6b6560); margin-bottom: 4px; }
.rec-crumb .link { padding: 0; }
.rec-keys { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; background: var(--subtle, #F7F4F0); border-radius: 8px; padding: 12px 16px; margin: 4px 0 16px; }
.rec-key span { display: block; font-size: 11px; color: var(--muted, #6b6560); margin-bottom: 2px; }
.rec-key b { font-weight: 500; font-size: 13px; overflow-wrap: anywhere; }
@media (max-width: 1100px) { .rec-keys { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 640px) { .rec-keys { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rm2-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin: 8px 0 14px; flex-wrap: wrap; }
.rm2-head h3 { margin: 0; font-size: 18px; font-weight: 500; }
.rm2-head p { margin: 2px 0 0; font-size: 13px; max-width: 620px; }
.rm2-tools { display: flex; gap: 10px; align-items: center; }
.rm2-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; align-items: start; }
.rm2-col { background: var(--subtle, #F7F4F0); border-radius: 8px; padding: 14px; }
.rm2-col > h3 { margin: 0 0 10px; font-size: 14px; font-weight: 500; }
.rm2-m h4 { margin: 12px 0 6px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--muted, #6b6560); }
.rm2-m > .muted { font-size: 13px; }
.rm2-card { background: #fff; border: 1px solid var(--line, #E9E4DE); border-radius: 8px; padding: 10px 12px; margin-bottom: 8px; }
.rm2-top { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; font-size: 13px; font-weight: 500; }
.rm2-t a { color: inherit; text-decoration: none; }
.rm2-bar { height: 3px; background: var(--line, #E9E4DE); border-radius: 2px; margin: 8px 0; overflow: hidden; }
.rm2-bar i { display: block; height: 100%; background: var(--coral, #F16364); }
.rm2-foot { display: flex; justify-content: space-between; font-size: 12px; }
.rm2-foot a { color: var(--coral-deep, #C8363A); }

/* Onboard a new client window */
.ob-modal { max-width: 640px; width: calc(100% - 32px); }
.ob-intro { margin: 0 0 14px; font-size: 13px; }
.ob-steps { display: flex; gap: 8px; margin-bottom: 16px; }
.ob-step { padding: 5px 12px; border: 1px solid var(--line, #E9E4DE); border-radius: 999px; font-size: 12px; }
.ob-step.on { background: var(--ink, #231F20); color: #fff; border-color: var(--ink, #231F20); }
.ob-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.ob-wide { grid-column: 1 / -1; }
.ob-foot { display: flex; align-items: center; gap: 8px; margin-top: 18px; }
@media (max-width: 640px) { .ob-grid { grid-template-columns: 1fr; } }

.ob-grid select, .ob-grid input { height: 36px; line-height: normal; padding-top: 0; padding-bottom: 0; }

/* Roadmap: type pills, sub-tasks */
.rm-type { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11px; font-weight: 500; background: var(--subtle, #F7F4F0); border: 1px solid var(--line, #E9E4DE); color: var(--ink, #231F20); white-space: nowrap; }
.rm-type-automation { background: #EAF1FB; border-color: #D3E1F5; }
.rm-type-hub_feature { background: #FCEFEE; border-color: #F6D9D8; }
.rm-type-process { background: #EEF5EC; border-color: #D9E8D5; }
.rm-type-operations { background: #F3EFE8; border-color: #E4DCCD; }
.rm-type-training { background: #F5EEF8; border-color: #E5D6EC; }
.rm-type-ai_setup { background: #FDF3E3; border-color: #F3E0BC; }
.rm-sub { font-size: 12px; color: var(--muted, #6b6560); white-space: nowrap; }
.rm-subs { list-style: none; margin: 6px 0 10px; padding: 0; }
.rm-subrow { display: flex; align-items: center; gap: 8px; padding: 7px 4px; border-top: 1px solid var(--line, #E9E4DE); cursor: pointer; font-size: 13px; flex-wrap: wrap; }
.rm-subrow:hover { background: var(--subtle, #F7F4F0); }
.rm-subt { flex: 1; min-width: 160px; }
.rm-sub-s { font-size: 12px; }
.rm-subs-done { margin: 0 0 10px; }
.rm-subs-done > summary { cursor: pointer; font-size: 13px; color: var(--ink-soft, #6b665f); padding: 6px 4px; }
.rm-subs-done[open] > summary { margin-bottom: 2px; }
.rm-subform { display: flex; gap: 8px; margin-bottom: 12px; }
.rm-subform input { flex: 1; height: 36px; }
.rm-partof { font-size: 13px; margin: 0 0 10px; }
.rm-card.nest { outline: 2px dashed var(--coral, #F16364); outline-offset: 2px; }

/* Knowledge Base: SOP form */
.sop-form { display: grid; gap: 14px; max-width: 760px; }
.sop-form label { display: grid; gap: 6px; font-size: 13px; font-weight: 500; }
.sop-form textarea { height: auto; min-height: 280px; padding: 10px 12px; font: inherit; line-height: 1.5; }
.sop-form .row { display: flex; gap: 10px; align-items: center; }
/* Client record production strip (was picking up the dark Record bar style) */
.prod-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }

/* Roadmap: smaller, calmer cards */
.rm-card { padding: 10px 12px; }
.rm-card-t { font-size: 13px; line-height: 1.35; font-weight: 500; }
.rm-card-s { font-size: 12px; line-height: 1.45; margin-top: 6px; }
.rm-link { display: inline-flex; align-items: center; margin: 4px 0 0; text-decoration: none; vertical-align: middle; }
.rm-card-f { gap: 6px; margin-top: 8px; }
.rm-card .rm-type, .rm-card .rm-chip, .rm-card .rm-sub { font-size: 11px; }
.rm-card .rm-person { font-size: 11px; }
.rm-card-subs { list-style: none; margin: 8px 0 0; padding: 6px 0 0; border-top: 1px solid var(--line, #E9E4DE); }
.rm-card-subs li { display: flex; align-items: center; gap: 6px; padding: 4px 0; font-size: 12px; cursor: pointer; }
.rm-card-subs li:hover { color: var(--coral-deep, #C8363A); }
.rm-card-subs li { flex-wrap: wrap; }
.rm-card-subs .rm-subt { flex: 1 1 0; min-width: 96px; }
.rm-card-subs .rm-sub-d, .rm-card-subs .rm-test { margin-left: 14px; }
.rm-sub-d { color: var(--muted, #6b6560); font-size: 11px; white-space: nowrap; }
.rm-tracks { display: flex; gap: 6px; margin: 0 0 14px; }
.rm-track { height: 28px; padding: 0 12px; border: 1px solid var(--line, #E9E4DE); border-radius: 999px; background: #fff; font: inherit; font-size: 12px; cursor: pointer; }
.rm-track.on { background: var(--ink, #231F20); color: #fff; border-color: var(--ink, #231F20); }

/* Monday huddle */
.hd-week { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.hd-sec h3 { display: flex; align-items: center; gap: 10px; font-size: 18px; margin-bottom: 12px; }
.hd-num { display: inline-flex; width: 22px; height: 22px; align-items: center; justify-content: center; border-radius: 50%; background: var(--ink, #231F20); color: #fff; font-size: 12px; font-weight: 500; flex: none; }
.hd-sum { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.hd-sum .rm-bar { flex: 0 0 280px; }
.hd-sum p { margin: 0; font-size: 13px; }
.hd-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 16px; }
.hd-table th { text-align: left; font-weight: 500; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: var(--muted, #6b6560); padding: 6px 8px; background: var(--subtle, #F7F4F0); }
.hd-table td { padding: 9px 8px; border-top: 1px solid var(--line, #E9E4DE); vertical-align: middle; }
.hd-table tbody tr { cursor: pointer; }
.hd-table tbody tr:hover { background: var(--subtle, #F7F4F0); }
.hd-n { width: 24px; color: var(--muted, #6b6560); }
.hd-t { font-weight: 500; }
.hd-p { white-space: nowrap; }
.hd-bar { display: inline-block; width: 90px; height: 4px; background: var(--line, #E9E4DE); border-radius: 2px; vertical-align: middle; margin-right: 8px; overflow: hidden; }
.hd-bar i { display: block; height: 100%; background: var(--coral, #F16364); }
.hd-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.hd-cols3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.hd-cols h4 { margin: 0 0 6px; font-size: 13px; font-weight: 500; }
.hd-list { list-style: none; margin: 0; padding: 0; font-size: 13px; }
.hd-list li { display: flex; align-items: center; gap: 8px; padding: 6px 0; border-top: 1px solid var(--line, #E9E4DE); cursor: pointer; flex-wrap: wrap; }
.hd-list li.muted { cursor: default; }
.hd-hint { font-size: 13px; margin: 0 0 8px; }
.hd-sec textarea { width: 100%; min-height: 96px; }
.hd-prio { display: grid; grid-template-columns: 24px minmax(220px, 1fr) minmax(220px, 1.4fr) 100px; gap: 10px; align-items: center; margin-bottom: 8px; }
@media (max-width: 900px) { .hd-cols, .hd-cols3 { grid-template-columns: 1fr; } .hd-prio { grid-template-columns: 24px 1fr; } .hd-prio input, .hd-prio .hd-own { grid-column: 2; } }

.hd-list li { display: block; }
.hd-list .rm-dot { display: inline-block; margin-right: 8px; vertical-align: middle; }

/* Roadmap: testing and sign-off statuses, seven board columns */
.rm-board { grid-template-columns: repeat(7, minmax(150px, 1fr)); gap: 10px; }
.rm-col-testing .rm-col-h { border-top-color: #3E6FB0; }
.rm-col-signoff .rm-col-h { border-top-color: #7A5BA8; }
.rm-dot-testing, .rm-pill-testing { background: #3E6FB0; }
.rm-dot-signoff, .rm-pill-signoff { background: #7A5BA8; }
.rm-card-t { overflow-wrap: anywhere; min-width: 0; }
.rm-card { min-width: 0; }

/* Offboarding */
.off-who { display: flex; align-items: center; gap: 10px; }
.off-init { background: var(--wash, #FCEFEE); color: var(--ink, #231F20); font-weight: 500; }
.off-prog { white-space: nowrap; }
.off-sync { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; font-size: 13px; }
.off-hint { font-size: 13px; margin: 10px 0 0; }
.off-table td, .off-table th { vertical-align: middle; }
.off-cost { width: 90px; }
.off-head { align-items: center; gap: 14px; }
.off-head h2 { margin: 0; }
.off-sync .rm-chip { background: var(--good-bg, #E8F3EC); color: var(--good, #1F7A4D); }
.off-sync .rm-chip.late { background: var(--bad-bg, #FCEDEC); color: var(--bad, #B3261E); }

/* Monday huddle: "moved forward" grouped under each main item */
.hd-grps { border-top: 1px solid var(--line, #E9E4DE); }
.hd-grp { border-bottom: 1px solid var(--line, #E9E4DE); }
.hd-grp > summary { display: flex; align-items: center; gap: 8px; padding: 9px 0; cursor: pointer; list-style: none; font-size: 13px; }
.hd-grp > summary::-webkit-details-marker { display: none; }
.hd-grp > summary::before { content: "\25B8"; color: var(--ink-faint, #8a857e); font-size: 11px; width: 10px; transition: transform .15s; }
.hd-grp[open] > summary::before { transform: rotate(90deg); }
.hd-grp-t { font-weight: 500; flex: 1; min-width: 0; }
.hd-grp-n { color: var(--ink-soft, #6b665f); font-size: 12px; background: var(--fill, #f1eee9); border-radius: 999px; padding: 2px 9px; white-space: nowrap; }
.hd-grp-list { padding: 0 0 8px 18px; }
.hd-grp-list li:first-child { border-top: 0; }
.hd-grp-open { font-size: 12px; }
.hd-scope { font-size: 12px; margin: 8px 0 14px; }
.hd-scope .linkish { border: 0; background: none; padding: 0; margin-left: 6px; font: inherit; color: var(--accent, #b3262b); text-decoration: underline; cursor: pointer; }

/* Monday huddle: sign-off list (every item with status Ready for sign-off, edited in place) */
.hd-sos { display: grid; gap: 0; margin-bottom: 8px; }
.hd-so { display: grid; grid-template-columns: minmax(200px, 2fr) 96px minmax(120px, 1fr) 150px minmax(180px, 2fr); gap: 10px; align-items: center; padding: 8px 0; border-top: 1px solid var(--line, #E9E4DE); }
.hd-so input { min-width: 0; width: 100%; }
.hd-so-t { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; border: 0; background: none; padding: 0; font: inherit; font-size: 13px; color: var(--ink, #231F20); text-align: left; cursor: pointer; }
.hd-so-t:hover .hd-bl-t { text-decoration: underline; }
.hd-so-no_go .hd-so-t { color: var(--ink-soft, #6b665f); }
.hd-so-steps { display: flex; align-items: center; gap: 8px; margin: -2px 0 8px; font-size: 12px; }
.hd-so-steps .linkish { border: 0; background: none; padding: 0; font: inherit; color: var(--accent, #b3262b); text-decoration: underline; cursor: pointer; }
.hd-so-kids { margin: 0 0 8px 18px; padding: 0; list-style: none; font-size: 12px; display: grid; gap: 3px; }
.hd-so-kids[hidden] { display: none; }
.rm-chip.rm-test { background: var(--fill, #f1eee9); color: var(--ink-soft, #6b665f); font-weight: 500; }
.rm-card-subs .rm-test, .rm-subrow .rm-test { font-size: 11px; padding: 1px 8px; }
.hd-so-none { font-size: 13px; margin: 0 0 8px; }
.pill.hd-dec { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; height: 28px; padding: 0 10px; border: 0; font: inherit; font-size: 12px; font-weight: 600; cursor: default; }
button.pill.hd-dec { cursor: pointer; }
.pill.hd-dec i { width: 7px; height: 7px; border-right: 1.3px solid currentColor; border-bottom: 1.3px solid currentColor; transform: translateY(-2px) rotate(45deg); opacity: .7; }
.hd-dec-pending { background: var(--warn-bg, #fbefd9); color: var(--warn, #8a5a00); }
.hd-dec-go { background: var(--good-bg, #e3f1e7); color: var(--good, #1f6540); }
.hd-dec-no_go { background: var(--fill, #f1eee9); color: var(--ink-soft, #6b665f); }
.hd-so-own { font-size: 13px; }
.hd-so-own .tk-av { width: 22px; height: 22px; font-size: 9px; }
span.hd-so-own { display: inline-flex; align-items: center; gap: 6px; }
.rm-chip.rm-roll { background: var(--good-bg, #e3f1e7); color: var(--good, #1f6540); }
.rm-signoff { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 8px 0; font-size: 13px; }
.hd-other { margin-top: 10px; }
.hd-other textarea { min-height: 56px; }
@media (max-width: 1200px) {
  .hd-so { grid-template-columns: 96px minmax(0, 1fr) 150px; }
  .hd-so .hd-so-t { grid-area: 1 / 1 / 2 / 4; }
  .hd-so [data-so="decision"], .hd-so span.hd-dec { grid-area: 2 / 1; }
  .hd-so .hd-so-own { grid-area: 2 / 2; }
  .hd-so [data-so="date"], .hd-so [data-so="date"] + .dp-btn { grid-area: 2 / 3; }
  .hd-so [data-so="risks"] { grid-area: 3 / 1 / 4 / 4; }
}
@media (max-width: 640px) {
  .hd-so { grid-template-columns: 1fr 1fr; }
  .hd-so .hd-so-t { grid-area: 1 / 1 / 2 / 3; }
  .hd-so [data-so="decision"], .hd-so span.hd-dec { grid-area: 2 / 1; }
  .hd-so .hd-so-own { grid-area: 2 / 2; }
  .hd-so [data-so="date"], .hd-so [data-so="date"] + .dp-btn { grid-area: 3 / 1 / 4 / 3; }
  .hd-so [data-so="risks"] { grid-area: 4 / 1 / 5 / 3; }
}

/* Collapsible side menu (desktop widths) */
.side-collapse, .side-show { display: none; }
@media (min-width: 821px) {
  .side-collapse { display: grid; place-items: center; position: absolute; top: 16px; right: 10px; width: 28px; height: 28px; border: 0; border-radius: 8px; background: transparent; color: var(--ink-soft, #6b665f); font-size: 20px; line-height: 1; cursor: pointer; }
  .side-collapse:hover { background: var(--fill, #f1eee9); color: var(--ink, #141414); }
  .app.side-collapsed { grid-template-columns: minmax(0, 1fr); }
  .app.side-collapsed .sidebar { display: none; }
  .app.side-collapsed .main-col { max-width: none; padding-left: 64px; }
  .app.side-collapsed .side-show { display: grid; place-items: center; position: fixed; top: 14px; left: 14px; z-index: 40; width: 36px; height: 36px; border: 1px solid var(--line, #E9E4DE); border-radius: 10px; background: var(--surface, #fff); color: var(--ink, #141414); cursor: pointer; }
  .app.side-collapsed .side-show:hover { background: var(--fill, #f1eee9); }
}

/* Roadmap: several owners per item */
.rm-owner-edit { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.rm-ochip { display: inline-flex; align-items: center; gap: 4px; background: var(--fill, #f1eee9); border-radius: 999px; padding: 4px 4px 4px 11px; font-size: 13px; color: var(--ink, #141414); }
.rm-ochip button { border: 0; background: transparent; width: 20px; height: 20px; border-radius: 50%; line-height: 1; cursor: pointer; color: var(--ink-soft, #6b665f); font-size: 15px; }
.rm-ochip button:hover { background: rgba(0,0,0,.08); }
.rm-owner-edit select { flex: 1 1 150px; min-width: 0; }

/* Roadmap: Send to Asana */
.rm-asana { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 4px; font-size: 13px; }
.rm-asana a { color: var(--accent, #b3262b); }
.rm-asana-done { background: #e6f2ea; color: #1f6540; }

/* Hub confirmation dialog (replaces the browser pop-up) */
.hub-dialog-wrap { z-index: 80; align-items: center; padding-top: 0; padding-bottom: 0; }
.hub-dialog { max-width: 440px; padding: 24px 26px 22px; }
.hub-dialog h3 { margin: 0 0 4px; font-size: 24px; }
.hub-dialog-sub { margin: 0 0 14px; color: var(--ink-soft, #6b665f); font-size: 14px; overflow-wrap: anywhere; }
.hub-dialog-rows { margin: 0 0 16px; border-top: 1px solid var(--line, #E9E4DE); }
.hub-dialog-rows > div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--line, #E9E4DE); font-size: 14px; }
.hub-dialog-rows dt { color: var(--ink-soft, #6b665f); }
.hub-dialog-rows dd { margin: 0; text-align: right; font-weight: 500; }
.hub-dialog-warn { margin: 0 0 14px; font-size: 13px; color: #8a5a12; background: #fbf1dc; border-radius: 8px; padding: 8px 10px; }
.hub-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; }

/* Change-password dialog fields */
.hub-dialog .field { margin: 0 0 12px; }
.hub-dialog .field input { width: 100%; }
.hub-dialog .error { margin: 0 0 12px; font-size: 13px; }

/* Team tasks */
.tk2-seg { margin: 4px 0 18px; display: flex; flex-wrap: wrap; max-width: 100%; border-radius: 18px; }
.tk2-list { list-style: none; margin: 0 0 12px; padding: 0; border-top: 1px solid var(--line, #E9E4DE); }
.tk2-row { display: flex; align-items: center; gap: 10px; padding: 9px 4px; border-bottom: 1px solid var(--line, #E9E4DE); flex-wrap: wrap; }
.tk2-row:hover { background: var(--subtle, #F7F4F0); }
.tk2-tick { width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid var(--ink-soft, #6b665f); background: transparent; color: #fff; font-size: 13px; line-height: 1; cursor: pointer; padding: 0; flex: none; }
.tk2-tick:disabled { opacity: .35; cursor: default; }
.tk2-row.is-done .tk2-tick { background: #2f7a4f; border-color: #2f7a4f; }
.tk2-row.is-done .tk2-title { color: var(--ink-soft, #6b665f); text-decoration: line-through; }
.tk2-main { flex: 1 1 260px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; text-align: left; background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; }
.tk2-title { font-size: 14px; }
.tk2-who { font-size: 13px; color: var(--ink-soft, #6b665f); min-width: 90px; }
.tk2-st { font-size: 12px; color: var(--ink-soft, #6b665f); min-width: 52px; text-align: right; }
.tk2-st-doing { color: #8a5a12; } .tk2-st-blocked { color: #b3261e; }
.tk2-group { margin: 0 0 22px; } .tk2-group h3 { font-size: 18px; margin: 0 0 6px; }
.tk2-none, .tk2-empty { padding: 10px 4px; }
.tk2-dialog { max-width: 520px; max-height: 90vh; overflow-y: auto; }
.tk2-dialog .field textarea, .tk2-dialog .field select, .tk2-dialog .field input:not([type=checkbox]) { width: 100%; }
.tk2-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tk2-picks { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; margin-top: 6px; max-height: 170px; overflow-y: auto; }
.tk2-dialog label.tk2-pick, .tk2-dialog label.tk2-check-row { font-size: 14px; display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; text-align: left; margin: 0; padding: 2px 0; }
.tk2-dialog .tk2-pick input[type=checkbox], .tk2-dialog .tk2-check-row input[type=checkbox] { width: auto; height: auto; flex: none; margin: 0; }
.tk2-check-row { margin: 0 0 12px; }
.tk2-del { margin-right: auto; color: #b3261e; }

/* Maps gallery */
.mg-bar { display: flex; gap: 10px; flex-wrap: wrap; margin: 4px 0 12px; }
.mg-search { flex: 1 1 240px; max-width: 420px; }
.mg-sort { flex: 0 0 auto; }
.mg-chips { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 0 0 12px; }
.mg-tagrow { margin-bottom: 18px; }
.mg-lbl { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft, #6b665f); margin-right: 2px; }
.mg-chip { border: 1px solid var(--line, #E9E4DE); background: transparent; color: inherit; border-radius: 999px; padding: 5px 12px; font: inherit; font-size: 13px; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; }
.mg-chip:hover { background: var(--subtle, #F7F4F0); }
.mg-chip.on { background: var(--ink, #141414); color: #fff; border-color: var(--ink, #141414); }
.mg-n { font-size: 11px; opacity: .65; }
.map-grid.mg-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1100px) { .map-grid.mg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .map-grid.mg-grid { grid-template-columns: minmax(0, 1fr); } }
.mg-card { position: relative; padding: 0; overflow: visible; display: flex; flex-direction: column; }
.mg-card:focus-visible { outline: 2px solid var(--ink, #141414); outline-offset: 2px; }
.mg-card .map-thumb { height: auto; aspect-ratio: 16 / 10; margin: 0; border: 0; border-bottom: 1px solid var(--line, #E9E4DE); border-radius: 12px 12px 0 0; display: flex; align-items: center; justify-content: center; }
.mg-card .map-thumb svg { max-width: 100%; max-height: 100%; width: 100%; height: 100%; }
.mg-empty { color: var(--ink-soft, #6b665f); font-size: 13px; }
.mg-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; }
.mg-body .map-title { margin: 0; font-size: 17px; padding-right: 30px; overflow-wrap: anywhere; }
.mg-labels { display: flex; gap: 6px; flex-wrap: wrap; }
.mg-folder, .mg-tag { font-size: 12px; border-radius: 999px; padding: 2px 10px; line-height: 1.6; }
.mg-folder { background: var(--ink, #141414); color: #fff; }
.mg-tag { background: var(--subtle, #F7F4F0); border: 1px solid var(--line, #E9E4DE); }
.mg-meta { font-size: 13px; letter-spacing: 0; text-transform: none; color: var(--ink-soft, #6b665f); }
.mg-more { position: absolute; right: 10px; bottom: 12px; width: 32px; height: 32px; border-radius: 50%; border: 0; background: transparent; font-size: 20px; line-height: 1; cursor: pointer; color: var(--ink-soft, #6b665f); }
.mg-more:hover { background: var(--subtle, #F7F4F0); color: var(--ink, #141414); }
.mg-menu { position: absolute; right: 10px; bottom: 48px; z-index: 20; min-width: 190px; background: #fff; border: 1px solid var(--line, #E9E4DE); border-radius: 12px; box-shadow: 0 10px 30px rgba(38,36,31,.14); padding: 6px; display: flex; flex-direction: column; }
.mg-item { text-align: left; background: none; border: 0; padding: 9px 12px; border-radius: 8px; font: inherit; font-size: 14px; cursor: pointer; color: inherit; }
.mg-item:hover { background: var(--subtle, #F7F4F0); }
.mg-item.danger { color: #b3261e; }

/* SOP rich text */
.sop-body { line-height: 1.65; font-size: 15px; overflow-wrap: anywhere; }
.sop-body > :first-child { margin-top: 0; }
.sop-body h2 { font-size: 24px; margin: 28px 0 10px; line-height: 1.25; }
.sop-body h3 { font-size: 18px; margin: 22px 0 8px; }
.sop-body h4 { font-size: 15px; margin: 18px 0 6px; text-transform: uppercase; letter-spacing: .04em; }
.sop-body p { margin: 0 0 12px; }
.sop-body ul, .sop-body ol { margin: 0 0 14px; padding-left: 26px; }
.sop-body li { margin: 4px 0; }
.sop-body a { color: var(--ink, #141414); text-decoration: underline; text-underline-offset: 2px; }
.sop-body blockquote { margin: 0 0 14px; padding: 4px 0 4px 16px; border-left: 3px solid var(--line, #E9E4DE); color: var(--ink-soft, #6b665f); }
.sop-body code { background: var(--subtle, #F7F4F0); border-radius: 4px; padding: 1px 5px; font-size: 13px; }
.sop-body pre { background: var(--subtle, #F7F4F0); border-radius: 8px; padding: 12px 14px; overflow-x: auto; margin: 0 0 14px; }
.sop-body hr { border: 0; border-top: 1px solid var(--line, #E9E4DE); margin: 20px 0; }
.rt-label { font-size: 13px; color: var(--ink-soft, #6b665f); margin: 14px 0 6px; }
.rt-toolbar { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 8px; position: sticky; top: 0; background: #fff; z-index: 5; padding: 6px 0; }
.rt-toolbar button { border: 1px solid var(--line, #E9E4DE); background: #fff; border-radius: 8px; padding: 6px 12px; font: inherit; font-size: 13px; cursor: pointer; }
.rt-toolbar button:hover { background: var(--subtle, #F7F4F0); }
.rt-editor { min-height: 320px; border: 1px solid var(--line, #E9E4DE); border-radius: 10px; padding: 16px 20px; background: #fff; outline: none; margin-bottom: 16px; }
.rt-editor:focus { border-color: var(--ink, #141414); box-shadow: 0 0 0 3px rgba(20,20,20,.08); }
.kb-tabs { display: flex; flex-wrap: wrap; gap: 6px; }

/* Knowledge base category cards (single-line icons) */
.kb-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 4px 0 24px; }
@media (max-width: 1100px) { .kb-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .kb-cats { gap: 10px; } }
.kb-cat { display: flex; flex-direction: column; align-items: stretch; text-align: left; padding: 0; border: 1px solid var(--line, #EDEAE6); border-radius: 8px; background: #fff; overflow: hidden; cursor: pointer; font: inherit; color: inherit; transition: border-color .15s ease, box-shadow .15s ease; }
.kb-cat-art { display: flex; align-items: center; justify-content: center; height: 96px; background: var(--subtle, #F7F4F0); }
.kb-cat-art img { display: block; height: 44px; width: auto; max-width: 60%; }
.kb-cat-name { padding: 12px 14px 2px; font-weight: 600; font-size: 14px; }
.kb-cat-n { padding: 0 14px 12px; font-size: 12px; color: var(--ink-soft, #6B6667); }
.kb-cat:hover { border-color: var(--line-strong, #DDD8D4); box-shadow: 0 6px 18px rgba(35,31,32,.06); }
.kb-cat.active { border-color: var(--coral, #F16364); box-shadow: inset 0 0 0 1px var(--coral, #F16364); }
.kb-cat:focus-visible { outline: 2px solid var(--ink, #231F20); outline-offset: 2px; }

/* SOP "Step by step" view (proposal, shown next to Classic) */
.sv-switch { margin-right: 8px; }
.sv-crumb { font-size: 12px; margin: 4px 0 2px; }
.sv-meta { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: -4px 0 18px; font-size: 12px; }
.sv-info { background: #E8EFF9; color: #2F5D9E; }
.sv-strip { margin: 0 0 22px; }
.sv-strip-l { font-size: 14px; margin-bottom: 8px; }
.sv-segs { display: flex; gap: 8px; }
.sv-seg { flex: 1; height: 6px; border-radius: 999px; background: #EDEAE6; }
.sv-seg.done { background: var(--coral, #F16364); }
.sv-seg.current { background: rgba(241, 99, 100, .45); }
.sv-cols { display: grid; grid-template-columns: minmax(0, 1fr) 296px; gap: 32px; align-items: start; }
@media (max-width: 1100px) { .sv-cols { grid-template-columns: minmax(0, 1fr); } .sv-rail { order: -1; } }
.sv-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.sv-intro { padding: 0 2px; }
.sv-step { border: 1px solid var(--line, #EDEAE6); border-radius: 8px; padding: 20px; background: #fff; scroll-margin-top: 16px; }
.sv-step.current { border: 2px solid var(--coral, #F16364); padding: 19px; }
.sv-step-h { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.sv-step-h h3 { margin: 0; font-size: 18px; }
.sv-step .sop-body > :last-child { margin-bottom: 0; }
.sv-dot { flex: none; width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid #DDD8D4; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; }
.sv-dot.done { background: #1F7A4D; border-color: #1F7A4D; }
.sv-dot.done::after { content: ""; width: 9px; height: 5px; border: 2px solid #fff; border-top: 0; border-right: 0; transform: rotate(-45deg) translate(1px, -1px); }
.sv-dot.current { border: 2px solid var(--coral, #F16364); }
.sv-dot.current::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--coral, #F16364); }
.sv-check { background: var(--subtle, #F7F4F0); border: 1px solid var(--line, #EDEAE6); border-radius: 8px; padding: 24px; display: flex; flex-direction: column; gap: 16px; scroll-margin-top: 16px; }
.sv-check h3 { margin: 0; font-size: 18px; }
.sv-opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 640px) { .sv-opts { grid-template-columns: minmax(0, 1fr); } }
.sv-opt { display: flex; flex-direction: column; gap: 6px; text-align: left; padding: 16px; border: 1px solid #DDD8D4; border-radius: 8px; background: #fff; cursor: pointer; font: inherit; color: inherit; font-size: 13px; }
.sv-opt-h { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; }
.sv-opt-dot { width: 12px; height: 12px; border-radius: 50%; }
.sv-opt-confident .sv-opt-dot { background: #1F7A4D; } .sv-opt-unsure .sv-opt-dot { background: #8A5A00; } .sv-opt-training .sv-opt-dot { background: #2F5D9E; }
.sv-opt-confident.on { border: 2px solid #1F7A4D; padding: 15px; } .sv-opt-unsure.on { border: 2px solid #8A5A00; padding: 15px; } .sv-opt-training.on { border: 2px solid #2F5D9E; padding: 15px; }
.sv-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 12px; }
.sv-rail { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 16px; }
.sv-card { border: 1px solid var(--line, #EDEAE6); border-radius: 8px; background: #fff; padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.sv-center { align-items: center; }
.sv-k { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft, #6B6667); font-weight: 600; }
.sv-toc { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; font-size: 13px; }
.sv-toc.current { font-weight: 600; } .sv-toc.todo { color: var(--ink-soft, #6B6667); }
.sv-ring-l { display: flex; flex-direction: column; align-items: center; margin-top: -76px; margin-bottom: 30px; font-size: 22px; line-height: 1.1; }
.sv-ring-l .muted { font-size: 12px; }
.sv-full { width: 100%; }
.sv-rel { color: inherit; text-decoration: none; font-size: 14px; font-weight: 500; padding: 4px 0; }
.sv-rel:hover { text-decoration: underline; }

/* View-only login banner */
.ro-banner { margin: 12px 0 0; padding: 10px 14px; border-radius: 8px; background: #E8EFF9; color: #2F5D9E; font-size: 13px; }

/* Forgot password link and note on the sign-in card */
.login-forgot{align-self:center;font-weight:500;color:var(--ink-2,#6B6667)}
.login-forgot:hover{color:var(--ink);text-decoration:underline}
.login-note{font-size:13px;line-height:1.5}
.login-card[hidden]{display:none}

/* Maps: Klaviyo journey cards (event, flow, email, wait, split) */
.mpills{gap:6px;margin-top:12px}
.mpills .pill{font-size:11px;padding:2px 9px;font-weight:600;letter-spacing:0;text-transform:none}
.pill.mp-ready{background:var(--surface,#fff);border:1px solid var(--line);color:var(--ink)}
.pill.mp-proposed{background:transparent;border:1px dashed var(--ink-soft,#6B6667);color:var(--ink-soft,#6B6667)}
.pill.mp-link{background:transparent;border:1px solid var(--line);color:var(--ink);text-decoration:none;cursor:pointer}
.pill.mp-link:hover{border-color:var(--ink)}
.mbody.rich p.mpara{margin:0 0 4px}
.mbody .mlist{margin:4px 0 0;padding-left:16px}
.mbody .mlist li{margin:2px 0}
.mbody .mlist li::marker{color:var(--coral,#F16364)}
.mnode[data-kind="event"]{border-top:3px solid var(--ink)}
.mnode[data-kind="delay"]{background:var(--paper,#F7F4F0);border-style:dashed}
.mnode[data-kind="split"]{background:var(--wash,#FCEFEE);border-color:var(--coral,#F16364)}
.mnode[data-kind="delay"] .mtitle,.mnode[data-kind="split"] .mtitle{font-size:14px}

/* The map editor uses the full width of the window, not the 1360px page column. */
.main-col.map-full{max-width:none}

/* ===== v2 page layouts (Calendar, Team, Client Pulse), switched per page like the SOP views ===== */
#content{position:relative}
.quiet-build{position:absolute;left:0;right:0;top:0;visibility:hidden;pointer-events:none}
.layout-switch{margin-left:auto;flex:none}
.view-head .layout-switch{align-self:center}
.v2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.v2-title h2{margin:0}
.v2-title p{margin:6px 0 0;font-size:13px}
.v2-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.v2-actions .layout-switch{margin-left:0}
/* banner card: copy left, ceramic image right */
.v2-banner{display:flex;align-items:center;gap:24px;padding:16px 16px 16px 28px;margin-bottom:16px}
.v2-btext{flex:1;min-width:0}
.v2-kicker{display:block;font-size:10.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}
.v2-banner h3{font-family:var(--font-display);font-weight:400;font-size:24px;line-height:1.2;margin:0 0 8px}
.v2-banner p{margin:0;font-size:13px}
.v2-img{display:block;width:220px;max-width:40%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;flex:none;background:var(--subtle)}
/* calendar: hero row */
.v2-hero{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);gap:16px;margin-bottom:22px}
.v2-hero .v2-banner{margin:0}
.v2-leavecard{display:flex;flex-direction:column;gap:6px;padding:12px;margin:0}
.v2-leavecard .v2-img{width:100%;max-width:none;aspect-ratio:2.9/1;margin-bottom:6px}
.v2-leavecard b{font-weight:600;font-size:13px}
.v2-mini{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:12.5px}
.v2-mini li{display:flex;gap:8px;align-items:baseline}
.v2-mini b{font-weight:500}
/* calendar: grid left, compact side column right */
.v2-calgrid{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);gap:16px;align-items:start}
.v2-calmain{min-width:0}
.v2-calmain .cal-legend{margin:12px 0 0}
.v2-side{display:flex;flex-direction:column;gap:12px}
.v2-sidecard{padding:14px 16px;margin:0}
.v2-sidecard h4{margin:0 0 10px;font-size:13px;font-weight:600}
.v2-ms{list-style:none;margin:0;padding:0;font-size:12.5px}
.v2-ms li{display:flex;gap:12px;padding:5px 0;border-bottom:1px solid var(--line)}
.v2-ms li:last-child{border-bottom:0}
.v2-ms li.extra{display:none}.v2-ms.all li.extra{display:flex}
.v2-date{flex:none;width:44px;color:var(--ink-soft)}
.v2-more{margin-top:8px;font-size:12.5px}
.v2 .cal-bar .v2-hide{display:none}
.v2 .v2-addcard{margin-top:22px}
/* tables: lighter header band, pill-style dropdowns, status pills */
.v2-table thead th{background:var(--subtle);font-weight:500;color:var(--ink-soft);font-size:12px}
.v2-table td{vertical-align:middle}
.v2 .v2-table [data-open]{text-decoration:none!important;font-weight:500}
.v2 .v2-table select.mini,.v2 .v2-table input.mini{height:30px;border:1px solid var(--line-strong);border-radius:8px;background-color:var(--surface);padding:0 10px;font-size:13px}
.v2 .v2-table select.mini{appearance:none;-webkit-appearance:none;padding-right:28px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23231F20' stroke-width='1.3'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center}
.v2 select[data-f="status"]{border-radius:999px;border-color:transparent;font-weight:600;font-size:12px;height:26px}
.v2 select[data-f="status"][data-val="active"]{background-color:var(--good-bg);color:var(--good)}
.v2 select[data-f="status"][data-val="onboarding"]{background-color:var(--warn-bg);color:var(--warn)}
.v2 select[data-f="status"][data-val="offboarded"],.v2 select[data-f="status"][data-val="candidate"]{background-color:var(--fill);color:var(--ink-soft)}
.v2 .ns-panel{padding:14px 18px}
.v2 .ns-panel h3{font-size:14px;font-weight:600;font-family:var(--font)}
/* client pulse: most-urgent table */
.v2-urgent tr.extra{display:none}.v2-urgent.all tr.extra{display:table-row}
.v2-urgent .cps-client{background:none;border:0;padding:0;font:inherit;font-weight:500;color:var(--ink);cursor:pointer}
.v2-urgent .cps-client:hover{text-decoration:underline}
.v2-av{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--subtle);color:var(--ink);font-size:10.5px;font-weight:600}
@media (max-width:900px){
  .v2-hero,.v2-calgrid{grid-template-columns:1fr}
  .v2-head{flex-direction:column;align-items:flex-start}
  .v2-actions{justify-content:flex-start}
  .v2-banner{flex-direction:column-reverse;align-items:stretch;padding:12px}
  .v2-img{width:100%;max-width:none;aspect-ratio:2.4/1}
  .v2-leavecard .v2-img{aspect-ratio:2.6/1}
}

/* ===== Tasks (list, board, team, side panel), Figma section 13 Tasks proposals ===== */
.tk-flex{flex:1}
.tk-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.tk-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-align:left;cursor:pointer;font:inherit;color:var(--ink)}
.tk-tile span{font-size:12px;color:var(--ink-soft)}
.tk-tile b{font-size:26px;font-weight:500;line-height:1.1}
.tk-tile.hot b{color:var(--bad)}
.tk-tile.on{background:var(--subtle);border-color:var(--ink)}
.tk-tile:not(.static):hover{border-color:var(--line-strong)}
.tk-tile.static{cursor:default}
.tk-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.tk-views{flex:none}
.tk-dd{display:inline-flex;align-items:center;gap:10px;height:32px;padding:0 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);font:inherit;font-size:13px;color:var(--ink);cursor:pointer;white-space:nowrap}
.tk-dd i{width:8px;height:8px;border-right:1.3px solid var(--ink);border-bottom:1.3px solid var(--ink);transform:translateY(-2px) rotate(45deg)}
.tk-dd:disabled{opacity:.6;cursor:default}
.tk-search{height:32px;border:1px solid var(--line-strong);border-radius:8px;padding:0 12px;font:inherit;font-size:13px;width:180px;background:var(--surface)}
.tk-quick{display:flex;align-items:center;gap:10px;padding:0 16px;height:46px;border:1px dashed var(--line-strong);border-radius:8px;background:var(--surface);margin-bottom:18px}
.tk-quick:focus-within{border-style:solid;border-color:var(--ink)}
.tk-plus{color:var(--ink-soft);font-size:18px;line-height:1}
.tk-quick input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:14px;min-width:0}
.tk-qchips{display:flex;gap:6px}
.tk-person{display:flex;gap:12px;align-items:center;font-size:13px;margin:-4px 0 12px}
/* list: group headings share the rows' 12px inset so checkboxes and headings line up */
.tk-group{margin-bottom:18px}
.tk-gh{display:flex;align-items:center;gap:8px;margin:0;padding:6px 12px;font-family:var(--font);font-size:13px;font-weight:600;color:var(--ink)}
.tk-gh span{font-weight:400;color:var(--ink-soft)}
.tk-gh.late{color:var(--bad)}
details.tk-group>summary{cursor:pointer;list-style:none}
details.tk-group>summary::-webkit-details-marker{display:none}
.tk-list{list-style:none;margin:0;padding:0}
.tk-row{display:grid;grid-template-columns:18px minmax(0,1fr) 170px 28px 96px 84px;align-items:center;column-gap:14px;padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer}
.tk-row:hover{background:var(--subtle)}
.tk-row.sel{background:var(--subtle);box-shadow:inset 3px 0 0 var(--ink)}
.tk-row.is-done .tk-title{color:var(--ink-soft);text-decoration:line-through}
.tk-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.tk-title{font-weight:500;font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis}
.tk-sub{font-size:12px;color:var(--ink-soft)}
.tk-sub:empty{display:none}
.tk-client{display:flex;justify-content:flex-end;min-width:0}
.tk-client .pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-due{font-size:13px;color:var(--ink-soft);white-space:nowrap}
.tk-due.late,.tk-team td.late{color:var(--bad)}
.tk-tick{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line-strong);background:var(--surface);padding:0;cursor:pointer;position:relative}
.tk-tick.sm{width:16px;height:16px}
.tk-tick:hover{border-color:var(--ink)}
.tk-tick.on{background:var(--ink);border-color:var(--ink)}
.tk-tick.on::after{content:"";position:absolute;left:5px;top:1px;width:4px;height:9px;border:solid #fff;border-width:0 1.8px 1.8px 0;transform:rotate(45deg)}
.tk-tick.sm.on::after{left:4px;top:1px;height:8px}
.tk-av{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--wash);color:var(--coral-deep);font-size:10.5px;font-weight:600}
.tk-av.none{background:var(--fill);color:var(--ink-faint)}
.pill.tk-st-todo{background:var(--fill);color:var(--ink-soft)}
.pill.tk-st-doing{background:var(--info-bg);color:var(--info)}
.pill.tk-st-blocked{background:var(--bad-bg);color:var(--bad)}
.pill.tk-st-done{background:var(--good-bg);color:var(--good)}
.tk-empty{display:flex;align-items:center;gap:24px;padding:20px;border:1px solid var(--line);border-radius:8px}
.tk-empty img{width:180px;aspect-ratio:16/10;object-fit:cover;border-radius:6px}
.tk-empty p{margin:4px 0 0;font-size:13px}
/* board */
.tk-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.tk-col{background:var(--subtle);border-radius:10px;padding:12px 10px;display:flex;flex-direction:column;gap:10px;min-height:120px}
.tk-col.over{outline:2px dashed var(--line-strong);outline-offset:-2px}
.tk-col-h{display:flex;gap:8px;padding:0 4px;font-size:13px;font-weight:600}
.tk-col-h span{font-weight:400;color:var(--ink-soft)}
.tk-col-h.late{color:var(--bad)}
.tk-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;cursor:pointer}
.tk-card:hover{border-color:var(--line-strong)}
.tk-card.sel{border-color:var(--ink)}
.tk-card.dragging{opacity:.5}
.tk-card .tk-title{white-space:normal}
.tk-card-m{display:flex;align-items:center;gap:8px;margin-top:4px}
.tk-col-add{border:0;background:none;text-align:left;padding:0 4px;font:inherit;font-size:13px;color:var(--ink-soft);cursor:pointer}
.tk-col-add:hover{color:var(--ink)}
/* team */
.tk-team .tk-person-cell{display:inline-flex;align-items:center;gap:10px}
.tk-team .tk-person-cell b{font-weight:500}
.tk-load{display:inline-block;width:160px;height:8px;border-radius:4px;background:var(--subtle);vertical-align:middle;overflow:hidden}
.tk-load i{display:block;height:100%;border-radius:4px;background:var(--ink)}
.tk-load i.busy{background:var(--coral)}
.tk-un{margin-top:16px;padding:14px 18px}
.tk-un .tk-gh{padding:0 0 6px}
.tk-un-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line)}
.tk-un-row .tk-title{flex:1;text-align:left;font-weight:500;text-decoration:none}
/* side panel */
.tk-panel{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:100vw;z-index:60;background:var(--surface);border-left:1px solid var(--line);box-shadow:-12px 0 32px rgba(35,31,32,.10);padding:24px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}
.tk-p-top{display:flex;justify-content:space-between;align-items:center;font-size:12px}
.tk-p-title{border:0;resize:none;font-family:var(--font-display);font-size:22px;line-height:1.25;color:var(--ink);padding:0;outline:0;field-sizing:content;min-height:30px}
.tk-p-fields{display:grid;grid-template-columns:120px minmax(0,1fr);row-gap:8px;column-gap:12px;align-items:center;font-size:13px}
.tk-p-fields .k{color:var(--ink-soft)}
.tk-p-fields .tk-dd{height:30px}
.tk-p-in,.tk-p-date{height:30px;border:1px solid var(--line-strong);border-radius:8px;padding:0 10px;font:inherit;font-size:13px;width:100%;background:var(--surface)}
.tk-p-h{font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center;margin-top:4px}
.tk-p-h .muted{font-weight:400}
.tk-p-notes{border:1px solid var(--line-strong);border-radius:8px;padding:10px;font:inherit;font-size:13px;resize:vertical}
.tk-p-bar{height:6px;border-radius:3px;background:var(--subtle);overflow:hidden}
.tk-p-bar i{display:block;height:100%;background:var(--coral);border-radius:3px}
.tk-p-check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px}
.tk-p-check li{display:flex;align-items:center;gap:10px}
.tk-p-check li span{flex:1}
.tk-p-rm{font-size:12px;opacity:0}
.tk-p-check li:hover .tk-p-rm{opacity:1}
.tk-p-foot{display:flex;gap:8px;margin-top:auto;padding-top:12px}
/* in-app dropdown menu */
.ui-menu{position:absolute;z-index:95;max-height:320px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-pop);padding:6px;display:flex;flex-direction:column;gap:2px}
.ui-opt{border:0;background:none;text-align:left;padding:8px 10px;border-radius:6px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer;white-space:nowrap}
.ui-opt:hover{background:var(--subtle)}
.ui-opt.on{background:var(--fill);font-weight:600}
@media (max-width:900px){
  .tk-tiles,.tk-board{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tk-row{grid-template-columns:18px minmax(0,1fr) 84px;row-gap:6px}
  .tk-row .tk-client,.tk-row .tk-who{display:none}
  .tk-row .tk-due{grid-column:2}
  .tk-row .tk-stc{grid-column:3;grid-row:1}
  .tk-search{width:100%}
  .tk-panel{width:100vw}
}
.tk-quick input#tk-quick{border:0!important;box-shadow:none!important;background:transparent!important;height:auto!important;padding:0!important;border-radius:0!important}
@media (max-width:600px){.tk-empty{flex-direction:column;align-items:flex-start}.tk-empty img{width:100%}}

/* ---- Learning: profile tab + manager page (22OCT2026) ---- */
.lr-tiles { margin-bottom: 16px; }
.lr-tile .n small { font-size: 14px; color: var(--muted, #6B6667); font-weight: 400; }
.lr-tile .lr-bar { margin-top: 10px; }
.lr-tile.lr-alert .n { color: var(--bad); }
.lr-bar { display: inline-block; position: relative; width: 100%; max-width: 160px; height: 6px; border-radius: 3px; background: #EDEAE6; overflow: hidden; vertical-align: middle; }
.lr-bar > span { position: absolute; inset: 0 auto 0 0; background: #F16364; border-radius: 3px; }
.lr-cell { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.lr-cell .lr-bar { width: 96px; flex: none; }
.lr-pill { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 11px; font-size: 12px; font-weight: 500; white-space: nowrap; }
.lr-done { background: var(--good-bg); color: var(--good); }
.lr-warn { background: var(--warn-bg); color: var(--warn); }
.lr-prog { background: #F7F4F0; color: #231F20; border: 1px solid #DDD8D4; }
.lr-none { background: transparent; color: #9E999A; }
.lr-f-ok { background: var(--good-bg); color: var(--good); }
.lr-f-mid { background: var(--warn-bg); color: var(--warn); }
.lr-f-bad { background: var(--bad-bg); color: var(--bad); }
.lr-group { border-top: 1px solid #EDEAE6; }
.lr-group:first-of-type { border-top: 0; }
.lr-group-h { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 0; background: none; border: 0; cursor: pointer; text-align: left; font: inherit; color: inherit; }
.lr-group-n { font-weight: 600; flex: 1; }
.lr-group-h .lr-bar { width: 120px; flex: none; }
.lr-row { display: flex; align-items: center; gap: 10px; padding: 9px 4px 9px 2px; border-radius: 6px; color: inherit; text-decoration: none; }
.lr-row:hover { background: #F7F4F0; }
.lr-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; background: #DDD8D4; }
.lr-dot.lr-done { background: var(--good); } .lr-dot.lr-warn { background: var(--warn); } .lr-dot.lr-prog { background: #F16364; }
.lr-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lr-state { font-size: 12px; white-space: nowrap; }
.lr-state.lr-done, .lr-state.lr-warn, .lr-state.lr-prog { background: none; border: 0; }
.lr-state.lr-none { color: #9E999A; }
.lr-split { display: flex; gap: 4px; height: 30px; border-radius: 6px; overflow: hidden; }
.lr-seg { display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 500; white-space: nowrap; padding: 0 8px; border-radius: 0; }
.lr-foot { margin-top: 12px; }
.lr-soon { opacity: .75; }
.lr-card { padding: 0; overflow-x: auto; }
.lr-table { width: 100%; border-collapse: collapse; }
.lr-table th { text-align: left; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #6B6667; font-weight: 500; padding: 12px 16px; background: #F7F4F0; border-bottom: 1px solid #DDD8D4; }
.lr-table td { padding: 12px 16px; border-bottom: 1px solid #EDEAE6; vertical-align: middle; }
.lr-table tr:last-child td { border-bottom: 0; }
.lr-click { cursor: pointer; } .lr-click:hover td { background: #FCFAF8; }
.lr-who { display: inline-flex; align-items: center; gap: 10px; }
.lr-av { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; flex: none; }
.lr-av-f { display: inline-flex; align-items: center; justify-content: center; background: #EDEAE6; font-size: 12px; font-weight: 600; }
.lr-sub { font-size: 12px; margin-top: 2px; }
.lr-names { font-size: 13px; max-width: 260px; }
@media (max-width: 720px) { .lr-cell .lr-bar { display: none; } .lr-group-h .lr-bar { width: 64px; } }
.lr-tile .lr-none-n { color: #9E999A; }

/* ---- SOP in-place editing, change history, profile Activity (22OCT2026) ---- */
.sv-intro-wrap { position: relative; }
.sv-intro-edit { position: absolute; top: 0; right: 0; }
.sv-editing { border: 1px solid var(--line-strong, #DDD8D4); border-radius: 10px; padding: 14px; background: #fff; }
.sv-editing .rt-editor { min-height: 140px; margin-top: 6px; }
.sv-minor { display: flex; align-items: center; gap: 8px; font-size: 13px; margin: 10px 0 4px; color: var(--muted, #6B6667); }
.sv-e-actions { margin-top: 10px; gap: 8px; }
.sv-del[data-sure] { color: var(--bad, #B42318); border-color: var(--bad, #B42318); }
.sv-add { margin: 4px 0 18px; }
.sv-hist { display: flex; flex-direction: column; gap: 2px; padding: 8px 0; border-top: 1px solid #EDEAE6; color: inherit; text-decoration: none; font-size: 13px; }
.sv-hist:first-of-type { border-top: 0; }
.sv-hist:hover b { text-decoration: underline; }
.sd-sheet { max-width: 760px; width: calc(100vw - 32px); max-height: 86vh; overflow: auto; }
.sd-diff { font-size: 14px; line-height: 1.7; background: #FCFAF8; border: 1px solid #EDEAE6; border-radius: 8px; padding: 14px 16px; }
.sd-del { background: var(--bad-bg, #FDECEA); color: var(--bad, #B42318); text-decoration: line-through; border-radius: 3px; padding: 0 2px; }
.sd-ins { background: var(--good-bg, #E7F4EC); color: var(--good, #1F7A4D); border-radius: 3px; padding: 0 2px; }
.sd-key span { margin-right: 8px; }
.ac-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 12px; }
.ac-chips .chip { cursor: pointer; border: 1px solid #DDD8D4; background: #fff; }
.ac-chips .chip.on { background: #231F20; color: #fff; border-color: #231F20; }
.ac-day { border-top: 1px solid #EDEAE6; padding: 10px 0 4px; }
.ac-date { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #6B6667; margin-bottom: 6px; }
.ac-row { display: flex; align-items: baseline; gap: 12px; padding: 5px 0; font-size: 14px; }
.ac-time { width: 44px; flex: none; color: #9E999A; font-variant-numeric: tabular-nums; font-size: 12px; }
.ac-what { flex: 1; min-width: 0; }
.ac-area { flex: none; }
@media (max-width: 720px) { .ac-area { display: none; } }
.rv-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
/* Customer success check-ins: sign-off cards */
.ci-ask{margin-bottom:20px}
.ci-ask h3{margin:0 0 10px;font-size:18px}
.ci-card{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.ci-q{margin:0;font-size:15px}
.ci-meta{margin:0;font-size:13px;overflow-wrap:anywhere}
.ci-warn{color:var(--bad,#b42318);font-weight:500}
.ci-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.ci-who{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.tk-p-links { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 4px; }
.tk-p-links .rm-link { margin: 0; }
/* ---- Tasks panel: full notes, several assignees, comments with mentions (27OCT2026) ---- */
textarea.grow{overflow:hidden;resize:none}
.tk-panel>*{flex:none}   /* the panel is a column flex box: never squash a field to fit */
.tk-p-title{overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}
.tk-p-notes{min-height:calc(3 * 1.5em + 22px);line-height:1.5}
.tk-p-fields{align-items:start}
.tk-p-fields .k{line-height:30px}
.tk-p-people{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:30px}
.tk-p-people .muted{line-height:30px}
.tk-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px 0 3px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13px;color:var(--ink)}
.tk-chip .tk-av{width:22px;height:22px;font-size:9px}
.tk-chip button{border:0;background:none;padding:0 0 0 2px;font-size:15px;line-height:1;color:var(--ink-soft);cursor:pointer}
.tk-chip button:hover{color:var(--ink)}
.tk-chip.add{border-style:dashed;border-color:var(--line-strong);padding:0 10px;cursor:pointer;color:var(--ink-soft);font:inherit;font-size:13px}
.tk-chip.add:hover{border-color:var(--ink);color:var(--ink)}
img.tk-av{object-fit:cover}
.tk-avs{display:inline-flex;align-items:center}
.tk-avs .tk-av{box-shadow:0 0 0 2px var(--surface);margin-left:-8px}
.tk-avs .tk-av:first-child{margin-left:0}
.tk-av.more{background:var(--fill);color:var(--ink-soft);font-size:10px}
.tk-row{grid-template-columns:18px minmax(0,1fr) 170px 64px 96px 84px}
.tk-who{display:flex;justify-content:flex-end}
.tk-mention-flag{display:inline-flex;align-items:center;gap:5px;color:var(--coral-deep);font-size:12px;font-weight:500}
.tk-mention-flag i{width:7px;height:7px;border-radius:50%;background:var(--coral)}
.ui-people{width:300px;max-height:400px;padding:8px}
.ui-people-q{height:32px;border:1px solid var(--line-strong);border-radius:8px;padding:0 10px;font:inherit;font-size:13px;margin-bottom:6px;width:100%;background:var(--surface)}
.ui-people-q:focus{outline:0;border-color:var(--ink)}
.ui-people-list{overflow:auto;max-height:320px;display:flex;flex-direction:column;gap:2px}
.ui-person{display:flex;align-items:center;gap:10px;white-space:normal;width:100%}
.ui-person.on{font-weight:400;background:none}
.ui-person.on:hover,.ui-person.hi{background:var(--subtle)}
.ui-person-t{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.2;text-align:left}
.ui-person-t b{font-weight:500}
.ui-person-t small{color:var(--ink-soft);font-size:11px;margin-top:1px}
.ui-tick{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-strong);position:relative;flex:none}
.ui-person.on .ui-tick{background:var(--ink);border-color:var(--ink)}
.ui-person.on .ui-tick::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}
.ui-people-none{margin:8px;font-size:13px}
.tk-mention-menu{min-width:240px}
.tk-cm-list{display:flex;flex-direction:column;gap:14px}
.tk-cm{display:flex;gap:10px;align-items:flex-start}
.tk-cm .tk-av{flex:none;margin-top:1px}
.tk-cm-b{flex:1;min-width:0}
.tk-cm-h{display:flex;align-items:baseline;gap:8px;font-size:13px}
.tk-cm-h b{font-weight:600}
.tk-cm-h .muted{font-size:12px}
.tk-cm-h .link{font-size:12px;opacity:0}
.tk-cm:hover .tk-cm-h .link,.tk-cm-h .link:focus{opacity:1}
.tk-cm-t{font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px}
.tk-mention{background:var(--wash);color:var(--coral-deep);border-radius:4px;padding:0 4px;font-weight:500}
.tk-cm-new{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line-strong);border-radius:8px;padding:9px 10px;background:var(--surface)}
.tk-cm-new:focus-within{border-color:var(--ink)}
.tk-cm-in{border:0;outline:0;font:inherit;font-size:13px;line-height:1.5;padding:0;background:transparent;min-height:21px;width:100%}
.tk-cm-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tk-cm-hint{font-size:11px}
.tk-cm-empty{margin:0;font-size:13px}
.tk-cm-edit{margin-top:4px}
@media (max-width:900px){.tk-row{grid-template-columns:18px minmax(0,1fr) 84px}.ui-people{width:min(300px,calc(100vw - 16px))}}
.tk-cm-in,.tk-cm-in:focus{outline:0!important;box-shadow:none!important;border:0!important;border-radius:0!important}
/* ---- Notes as a read view with hyperlinks; Add a task dialog on Hub controls (27OCT2026) ---- */
.tk-p-notes-view{border:1px solid transparent;border-radius:8px;padding:10px;margin:0 -10px;font-size:13px;line-height:1.5;overflow-wrap:anywhere;cursor:text}
.tk-p-notes-view[role=button]:hover,.tk-p-notes-view[role=button]:focus-visible{border-color:var(--line);background:var(--subtle);outline:0}
.tk-p-notes-view p,.rm-summary p,.rm-card-s p{margin:0 0 8px}
.tk-p-notes-view ul,.rm-summary ul,.rm-card-s ul{margin:0 0 8px;padding-left:18px}
.tk-p-notes-view li,.rm-summary li,.rm-card-s li{margin:0 0 2px}
.tk-p-notes-view>:last-child,.rm-summary>:last-child,.rm-card-s>:last-child{margin-bottom:0}
.tk-p-edit{font-size:12px;font-weight:500;padding:0}
.tk-p-notes-done{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:-6px}
.tk-p-notes-done .muted{font-size:11px}
a.tk-url{color:var(--coral-deep);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
a.tk-url:hover{color:var(--ink)}
.tk-cm-t a.tk-url{font-weight:500}
.tk2-dialog .tk-dd,.tk2-dialog .dp-btn{width:100%;height:38px;justify-content:space-between;font-size:14px}
.tk2-dialog .tk-dd span,.tk2-dialog .tk-dd{overflow:hidden;text-overflow:ellipsis}
.tk2-dialog .field{gap:5px}
.tk2-dialog .tk-p-people{margin-top:2px}
.tk2-dialog .field,.tk2-dialog textarea.grow{flex:none}
.tk2-dialog textarea.grow{min-height:calc(3 * 1.5em + 20px);line-height:1.5}
.ci-kind{margin-right:6px;vertical-align:middle}
.ci-sep{width:1px;align-self:stretch;background:var(--line);margin:0 4px}
.ci-noend{margin:8px 0 0}
.ci-noend .cps-client{font-weight:600}

/* Roadmap: blocked status, seven-plus-one board columns */
.rm-board { grid-template-columns: repeat(8, minmax(150px, 1fr)); }
.rm-col-blocked .rm-col-h { border-top-color: var(--warn, #6d4a0f); color: var(--warn, #6d4a0f); }
.rm-dot-blocked, .rm-pill-blocked { background: var(--warn, #6d4a0f); }

/* Huddle: short blockers list */
.hd-bgrp { margin-bottom: 12px; }
.hd-bgrp h5 { margin: 0 0 2px; font-size: 12px; font-weight: 600; color: var(--ink-soft, #6b665f); }
.hd-bl, .hd-list li.hd-bl { display: block; }
.hd-bl .rm-dot { flex: none; margin-right: 0; }
.hd-bl-t { min-width: 0; overflow-wrap: anywhere; }
.hd-bl-p { font-size: 12px; min-width: 0; overflow-wrap: anywhere; }
.hd-bl-r { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; flex: none; font-size: 12px; white-space: nowrap; }
.hd-av { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; font-size: 10px; }
.hd-more, .hd-late .linkish { border: 0; background: none; padding: 0; font: inherit; font-size: 12px; color: var(--accent, #b3262b); text-decoration: underline; cursor: pointer; }
.hd-more { margin-top: 4px; }
.hd-late { font-size: 13px; margin: 8px 0 4px; }
.hd-late .linkish { margin-left: 6px; }
.hd-bmore[hidden], .hd-blate[hidden] { display: none; }
@media (max-width: 900px) { .hd-prio select, .hd-prio input, .hd-prio .hd-own { min-width: 0; max-width: 100%; } }

/* Roadmap: block reason as a grey subtitle */
.rm-reason { display: block; font-size: 12px; font-weight: 400; line-height: 1.35; margin-top: 2px; overflow-wrap: anywhere; }
.rm-card-reason { font-size: 12px; line-height: 1.35; margin-top: 4px; overflow-wrap: anywhere; }
.hd-bl-row { display: flex; align-items: center; flex-wrap: nowrap; gap: 8px; }
.hd-bl-why { display: block; font-size: 12px; line-height: 1.35; padding-left: 16px; margin-top: 2px; overflow-wrap: anywhere; }
.rm-reason-f input { width: 100%; }

/* ---- Add a new starter (27OCT2026) ---- */
.st-dialog{max-width:560px}
.st-dialog .tk2-two .field input{width:100%}
.st-note{margin:0 0 12px;font-size:13px;color:#8a5a12;background:#fbf1dc;border-radius:8px;padding:8px 10px}
.st-pw{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:10px 12px;border:1px solid var(--line,#E9E4DE);border-radius:10px;background:var(--fill,#f4f1ed)}
.st-pw code{flex:1;font-size:16px;letter-spacing:.04em;user-select:all}
.view-head-actions{margin-left:auto}
.pill.ob-starts{background:var(--wash,#eaefe9);color:var(--sage,#4a5d4f);margin-left:6px;white-space:nowrap}
.cand-start{margin-left:6px;vertical-align:middle}
.ob-access{border:1px solid var(--sage,#4a5d4f)}
.ob-access-sub{margin:0 0 6px;font-size:13px}
.ob-link{margin-left:auto;text-decoration:none;white-space:nowrap}
.ob-row .ob-link+.ob-date,.ob-row .ob-link+.ob-date-ro{margin-left:8px}
.ob-add .tk-dd{height:38px}

/* Figma directory (owner-only page) and the Figma card on a client record */
.fg-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:4px 0 8px}
.fg-search{width:320px;max-width:100%}
.fg-note{margin:0 0 16px;font-size:13px}
.fg-group{margin:0 0 24px}
.fg-group>h3{margin:0 0 8px}
.fg-group>h3 .muted{font-weight:400;font-size:13px;margin-left:4px}
.fg-folder{border:1px solid var(--line);border-radius:8px;margin:0 0 8px;background:var(--surface)}
.fg-head{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:0;background:transparent;font:inherit;color:var(--ink);text-align:left;cursor:pointer;border-radius:8px}
.fg-bare .fg-head{cursor:default}
button.fg-head:hover{background:var(--fill)}
.fg-name{font-weight:600}
.fg-last{margin-left:auto;font-size:13px}
.fg-chev{width:7px;height:7px;border-right:1.5px solid var(--ink-soft);border-bottom:1.5px solid var(--ink-soft);transform:rotate(-45deg);flex:none;transition:transform .12s}
.fg-folder.open .fg-chev{transform:rotate(45deg)}
.fg-chev.off{opacity:.25}
.fg-files{list-style:none;margin:0;padding:0 16px 8px 35px}
.fg-files li{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.fg-files li .muted{flex:none;font-size:13px}
.fg-files.fg-card{padding:0}
.fg-files.fg-card li:first-child{border-top:0}
@media (max-width:700px){.fg-head{flex-wrap:wrap}.fg-last{margin-left:0;width:100%}.fg-files{padding-left:16px}}
