/* JNT: neutral working surfaces, Tiffany for an action or selection, never decoration. */
:root { --ink:#202124; --muted:#65676d; --paper:#fff; --surface-soft:#f4f5f6; --line:#e8e9ec; --green:#08776f; --green-dark:#075d57; --tiffany:#2ec9bc; --tiffany-light:#82ecda; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:15px; }
body { background:#fff; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid #08776f; outline-offset:3px; }
button:disabled { cursor:wait; opacity:.55; }
svg { fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.app-shell { padding:0 36px 30px 260px; max-width:none; }
.topbar { min-height:66px; max-width:none; border-bottom:0; }
.topbar .brand-lockup { display:none; }
.workspace-name { color:var(--muted); font-size:13px; display:flex; align-items:center; gap:8px; }
.workspace-name .demo-label { font-size:11px; background:#f0f0f2; padding:3px 7px; border-radius:5px; color:#63656a; }
.top-actions { gap:6px; }
.avatar { background:#e8eaed; color:#45484e; font-weight:600; }
.profile-static { display:flex; align-items:center; padding:6px; }
.main { max-width:none; padding:21px 0; }
.page-head h1 { font-size:30px; line-height:1.2; font-weight:650; letter-spacing:-.8px; }
.bottom-nav { width:220px; background:#f5f5f7; border-right:1px solid #eeeef0; padding:31px 14px 20px; gap:4px; }
.bottom-nav::before { display:none; }
.nav-brand { display:flex; align-items:center; gap:10px; padding:0 14px 33px; }
.jnt-wordmark { font-size:24px; line-height:1; letter-spacing:-1.5px; font-weight:800; color:#1d2424; }
.jnt-wordmark::after { content:'.'; color:#139c91; }
.nav-brand > span:last-child { font-size:14px; color:#575b5d; border-left:1px solid #d7d9dc; padding-left:10px; }
.nav-item { display:flex; align-items:center; width:100%; min-height:46px; border-radius:8px; gap:11px; padding:10px 13px; color:#55585e; }
.nav-icon { flex:none; width:23px; height:23px; }
.nav-icon svg { width:22px; height:22px; stroke-width:1.65; }
.nav-item small { font-size:14px; font-weight:500; }
.nav-item:hover { background:#ececee; }
.nav-item.active { background:#dcefeb; color:#185c57; }
.nav-item.active small { font-weight:650; }
.nav-item.active .nav-icon { color:#08776f; }
.nav-footer { margin-top:auto; padding:20px 14px 0; color:#71747a; font-size:11px; line-height:1.6; }
.nav-footer strong { display:block; color:#505359; font-size:12px; font-weight:500; }
.toast { max-width:calc(100vw - 32px); white-space:normal; text-align:center; border-radius:12px; transition:opacity .15s,transform .15s; z-index:50; }
/* New Prospects screen. Four lanes contain movable requests, with details on demand. */
.p-screen { padding-top:7px; }
.p-screen svg,.p-dialog svg { width:20px; height:20px; flex-shrink:0; }
.p-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:31px; }
.p-heading h1 { margin:0 0 8px; font-size:30px; line-height:1.15; letter-spacing:-.85px; font-weight:650; }
.p-heading p { display:flex; align-items:center; gap:9px; margin:0; font-size:13px; color:var(--muted); font-variant-numeric:tabular-nums; }
.p-primary { display:inline-flex; justify-content:center; align-items:center; gap:7px; min-height:42px; padding:0 17px; border:0; border-radius:9px; background:var(--tiffany); color:#102e2b; font-size:14px; font-weight:600; white-space:nowrap; transition:background .12s; }
.p-primary:hover { background:#51d5c9; }
.p-primary:active { background:#21b7ab; }
.p-viewbar { display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid var(--line); }
.p-tabs { display:flex; gap:22px; }
.p-tabs button { display:flex; align-items:center; gap:7px; color:var(--muted); min-height:46px; padding:0 0 13px; position:relative; background:none; border:0; font-size:14px; }
.p-tabs button span { font-size:11px; line-height:18px; min-width:18px; text-align:center; border-radius:5px; background:#f0f1f3; color:#5a5f65; }
.p-tabs .selected { font-weight:600; color:var(--ink); }
.p-tabs .selected::after { content:''; position:absolute; height:2px; background:var(--ink); bottom:-1px; left:0; right:0; border-radius:2px; }
.p-tabs .selected span { color:#136159; background:#e3f3ef; }
.p-view-switch { display:flex; padding:3px; background:#f2f2f4; border-radius:8px; margin-bottom:10px; }
.p-view-switch button { border:0; background:none; display:grid; place-items:center; color:#73767b; width:36px; min-height:32px; border-radius:5px; }
.p-view-switch button[aria-pressed=true] { background:#fff; color:#33373d; box-shadow:0 1px 3px #00000016; }
.p-view-switch svg { width:18px; height:18px; }
.p-tools { display:flex; gap:18px; align-items:center; justify-content:space-between; padding:20px 0 24px; }
.p-search { display:flex; align-items:center; gap:9px; color:#74777e; flex:1; max-width:360px; }
.p-search svg { width:18px; height:18px; }
.p-search input { width:100%; min-height:36px; border:0; background:transparent; padding:4px; outline-offset:3px; color:var(--ink); font-size:13px; }
.p-search input::placeholder { color:#6a6f77; }
.p-board-hint { color:#71747a; font-size:12px; }
.p-mobile-filter { display:none; }
.p-board { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:start; }
.p-lane { min-width:0; background:#f6f6f8; border-radius:12px; padding:0 9px 10px; min-height:330px; transition:background .12s; }
.p-lane-head { height:53px; display:flex; align-items:center; gap:6px; padding:0 5px; }
.p-lane-head h2 { font-size:13px; font-weight:600; margin:0; letter-spacing:-.1px; white-space:nowrap; }
.p-stage-symbol { display:grid; place-items:center; color:#858991; }
.p-stage-symbol svg { width:16px; height:16px; }
.p-lane-follow .p-stage-symbol { color:#ad7c33; }
.p-lane-meeting .p-stage-symbol { color:#687bb4; }
.p-lane-offer .p-stage-symbol { color:#7e73ad; }
.p-count { color:#686c73; font-size:12px; padding-left:1px; }
.p-lane-add { margin-left:auto; border:0; background:none; color:#81848a; min-width:28px; height:32px; display:grid; place-items:center; padding:0; border-radius:6px; }
.p-lane-add:hover { background:#e7e8ec; color:var(--ink); }
.p-lane-add svg { width:16px; height:16px; }
.p-deal { margin-bottom:9px; border-radius:9px; background:#fff; box-shadow:0 1px 3px #1d263010,0 0 0 1px #1d263008; cursor:grab; transition:box-shadow .12s; }
.p-deal:last-child { margin-bottom:0; }
.p-deal:hover { box-shadow:0 2px 7px #1d263017,0 0 0 1px #1d26300e; }
.p-open { display:grid; grid-template-columns:32px minmax(0,1fr); width:100%; gap:0 9px; text-align:left; color:var(--ink); border:0; border-radius:inherit; background:transparent; padding:15px 13px 12px; }
.p-avatar { width:32px; height:32px; border-radius:50%; display:grid; place-items:center; font-size:10px; font-weight:650; letter-spacing:.2px; }
.p-tone-0 { background:#e9eef9; color:#4e5c82; }.p-tone-1 { background:#f2eae1; color:#80664d; }.p-tone-2 { background:#eee9f4; color:#766385; }.p-tone-3 { background:#e6efea; color:#506b5d; }
.p-person { min-width:0; }
.p-person strong { display:block; font-size:14px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.p-person > span { display:block; font-size:13px; line-height:1.5; color:#686b72; margin-top:3px; overflow-wrap:anywhere; }
.p-deal-value { grid-column:2; font-size:12px; color:#4a4e55; font-variant-numeric:tabular-nums; margin-top:12px; }
.p-follow { display:flex; align-items:flex-start; gap:6px; grid-column:1/-1; margin-top:16px; padding-top:10px; border-top:1px solid #f0f0f2; color:#6d7077; font-size:11px; line-height:1.5; }
.p-follow svg { width:14px; height:14px; margin-top:1px; }
.p-follow > span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.p-row-chevron { display:none; }
.p-lane-empty { color:#6d7178; font-size:12px; text-align:center; padding-top:28px; }
.p-dragging { opacity:.4; }.p-drop { background:#e3f3ef; outline:2px solid #87c6ba; outline-offset:-2px; }
.p-empty { padding:70px 20px; text-align:center; color:var(--muted); }
.p-empty > span { display:inline-flex; margin-bottom:12px; color:#82868c; }.p-empty > span svg { width:30px; height:30px; }
.p-empty h2 { color:var(--ink); font-size:18px; margin:0 0 8px; }.p-empty p { font-size:14px; }
.p-text-button { min-height:44px; border:0; color:var(--green); background:transparent; font-weight:500; }
.p-list { display:block; max-width:1000px; }
.p-list .p-lane { padding:0; background:none; min-height:0; border-radius:0; margin-bottom:20px; }
.p-list .p-lane-head { padding-inline:0; height:42px; }
.p-list .p-deal { box-shadow:none; border-radius:0; margin:0; border-bottom:1px solid var(--line); }
.p-list .p-open { grid-template-columns:36px minmax(150px,1.2fr) minmax(100px,.55fr) minmax(160px,1fr) 16px; align-items:center; gap:12px; padding:16px 8px; }
.p-list .p-open:hover { background:#fafafa; }
.p-list .p-person strong { font-size:14px; }.p-list .p-person > span { font-size:13px; }
.p-list .p-deal-value { grid-column:auto; margin:0; }
.p-list .p-follow { grid-column:auto; margin:0; padding:0; border:0; font-size:12px; }
.p-list .p-row-chevron { display:flex; color:#b4b6bb; }.p-row-chevron svg { width:15px; height:15px; }
.p-list .p-lane-empty { text-align:left; padding:8px 0; }
/* Native dialog handles focus containment and Escape; sheet keeps the list in context. */
.p-dialog { border:0; color:var(--ink); padding:28px; width:460px; max-width:calc(100vw - 32px); border-radius:17px; box-shadow:0 15px 80px #18212626; max-height:calc(100dvh - 40px); overflow:auto; }
.p-dialog::backdrop { background:rgba(30,34,40,.18); }
.p-detail { margin:12px 12px 12px auto; width:430px; height:calc(100dvh - 24px); max-height:none; }
.p-dialog-bar { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; color:var(--muted); font-size:12px; }
.p-close { display:grid; place-items:center; width:36px; height:36px; border:0; border-radius:50%; background:#f2f2f4; color:#63666d; }
.p-close:hover { background:#e8e9ec; }.p-close svg { width:17px; height:17px; }
.p-dialog h2 { font-size:23px; font-weight:650; letter-spacing:-.5px; margin:0 0 26px; }
.p-identity { display:flex; flex-direction:column; align-items:center; text-align:center; }
.p-avatar-large { width:64px; height:64px; font-size:19px; margin-bottom:15px; }
.p-identity h2 { margin:0 0 5px; }.p-identity p { margin:0; font-size:13px; color:var(--muted); }
.p-contact-info { display:flex; flex-direction:column; gap:6px; text-align:center; font-size:13px; color:#646971; margin:15px 0 22px; overflow-wrap:anywhere; }
.p-message-link { display:flex; align-items:center; gap:9px; width:100%; background:#f4f5f6; border:0; border-radius:9px; color:var(--green); padding:12px; text-align:left; font-size:13px; margin-bottom:25px; }.p-message-link span { flex:1; }.p-message-link > svg:last-child { width:15px; }
.p-field { display:block; position:relative; font-size:12px; font-weight:550; color:#50555c; margin:0 0 21px; }
.p-optional { color:#6a6f77; font-weight:400; font-size:11px; }
.p-field input,.p-field select,.p-field textarea { display:block; width:100%; min-height:44px; border:1px solid #e1e3e7; border-radius:8px; background:#fff; color:var(--ink); padding:10px 11px; margin-top:8px; font-size:14px; font-weight:400; }
.p-field textarea { line-height:1.5; resize:vertical; min-height:82px; }
.p-field input::placeholder,.p-field textarea::placeholder { color:#6a6f77; }
.p-field-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.p-action-field > svg { vertical-align:-3px; margin-right:4px; width:15px; height:15px; }
.p-form-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:12px; }
.p-cancel { border:0; color:var(--muted); background:none; min-height:44px; padding:0 10px; font-size:14px; }
.p-form-error { color:#a12f32; background:#fff3f2; border-radius:8px; padding:12px; font-size:13px; line-height:1.5; }
@media (min-width:1600px) { .p-person strong { font-size:15px; }.p-person > span { font-size:13px; }.p-deal-value { font-size:13px; }.p-follow { font-size:12px; }.p-open { padding:18px; }.p-lane { min-height:380px; } }
@media (min-width:801px) and (max-width:1100px) { .app-shell { padding-left:220px; padding-right:24px; }.bottom-nav { width:196px; }.p-board { grid-template-columns:repeat(2,minmax(0,1fr)); }.p-list { display:block; }.p-lane { min-height:220px; }.p-board-hint { display:none; }.p-list .p-open { grid-template-columns:32px minmax(100px,1fr) 100px 16px; }.p-list .p-follow { display:none; } }
@media (max-width:800px) {
  .app-shell { padding:0 24px 100px; }.main { padding-top:16px; }.topbar { min-height:62px; }.topbar .brand-lockup { display:flex; gap:8px; }.brand-lockup strong { font-size:15px; font-weight:600; letter-spacing:-.2px; }.brand-lockup small,.workspace-name { display:none; }.brand-mark { display:inline-flex; align-items:center; background:none; color:#15988e; width:auto; font-size:22px; }.brand-mark::after { content:'.'; }
  .bottom-nav { position:fixed; inset:auto 0 0; height:auto; width:100%; transform:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); background:#fbfbfc; border:0; border-top:1px solid #e9eaed; padding:7px 8px max(8px,env(safe-area-inset-bottom)); gap:0; }
  .nav-brand,.nav-footer { display:none; }.nav-item { display:flex; flex-direction:column; gap:5px; padding:5px 0; min-height:49px; border-radius:0; }.nav-item.active { background:none; color:#08776f; }.nav-item.active .nav-icon { color:#08776f; }.nav-item small { font-size:10px; font-weight:500; }.nav-icon svg { width:23px; height:23px; }.nav-item:hover { background:transparent; }.toast { bottom:88px; }
  .p-screen { padding-top:0; }.p-heading { margin-bottom:23px; }.p-heading h1 { font-size:31px; letter-spacing:-.9px; margin-bottom:8px; }.p-heading p { font-size:12px; gap:6px; }.p-primary { min-height:44px; padding-inline:14px; }.p-primary svg { width:18px; height:18px; }
  .p-tabs { gap:23px; }.p-tabs button { min-height:46px; padding-bottom:13px; font-size:14px; }.p-tabs button span { font-size:11px; }.p-view-switch { display:none; }
  .p-tools { padding:18px 0 12px; flex-wrap:wrap; gap:12px; }.p-search { flex:1 1 100%; max-width:none; border-radius:10px; background:#f2f2f5; padding:0 12px; }.p-search input { min-height:44px; font-size:14px; }.p-board-hint { display:none; }.p-mobile-filter { display:block; }.p-mobile-filter select { min-height:44px; border:0; background:transparent; color:#686c73; font-size:12px; padding:0 5px 0 0; max-width:100%; }
  .p-board { display:block; }.p-lane,.p-list .p-lane { min-height:0; background:none; padding:0; border-radius:0; margin-bottom:25px; }.p-lane.p-mobile-hidden { display:none; }
  .p-lane-head,.p-list .p-lane-head { height:38px; padding:0 0 7px; gap:7px; }.p-lane-head h2 { font-size:13px; }.p-lane-add { width:44px; height:44px; }.p-lane-add svg { width:18px; height:18px; }.p-lane-content { border-top:1px solid #ededf0; }.p-stage-symbol svg { width:16px; height:16px; }
  .p-deal,.p-list .p-deal { box-shadow:none; background:none; margin:0; border-radius:0; border-bottom:1px solid #ededf0; }.p-deal:hover { box-shadow:none; }
  .p-open,.p-list .p-open { grid-template-columns:40px minmax(0,1fr) 14px; align-items:start; padding:17px 0; gap:0 12px; }
  .p-avatar { width:40px; height:40px; font-size:12px; }.p-person strong,.p-list .p-person strong { font-size:15px; font-weight:600; line-height:1.4; }.p-person > span,.p-list .p-person > span { font-size:13px; line-height:1.5; margin-top:3px; }
  .p-deal-value,.p-list .p-deal-value { grid-column:2; margin:9px 0 0; font-size:12px; }.p-follow,.p-list .p-follow { grid-column:2; margin:7px 0 0; padding:0; border:0; font-size:12px; }.p-follow svg { display:none; }.p-follow > span { -webkit-line-clamp:1; }.p-row-chevron,.p-list .p-row-chevron { display:flex; grid-column:3; grid-row:1; align-self:center; color:#a1a5ab; }.p-lane-empty,.p-list .p-lane-empty { text-align:left; padding:5px 0; font-size:12px; }
  .p-dialog { width:100%; max-width:none; margin:0; padding:20px 24px max(28px,env(safe-area-inset-bottom)); border-radius:0; height:100dvh; max-height:100dvh; }.p-dialog-bar { margin-bottom:20px; }.p-close { width:44px; height:44px; }.p-avatar-large { width:64px; height:64px; font-size:19px; }.p-field input,.p-field select,.p-field textarea { font-size:16px; }.p-form-footer { padding-top:8px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

@media (max-width:800px) {
 .p-open,.p-list .p-open { grid-template-columns:40px minmax(0,1fr) auto; padding-block:17px; }
 .p-deal-value,.p-list .p-deal-value { grid-column:3; grid-row:1; font-size:12px; margin:3px 0 0; white-space:nowrap; }
 .p-follow,.p-list .p-follow { grid-column:2 / -1; grid-row:2; margin-top:7px; }
 .p-row-chevron,.p-list .p-row-chevron { display:none; }
}

body:has(dialog[open]) { overflow:hidden; }
.p-mobile-filter[hidden] { display:none; }
.app-loading { color:var(--muted); padding:28px 0; }

@media (min-width:1101px) { .p-screen[data-layout="board"] .p-open { cursor:grab; }.p-screen[data-layout="board"] .p-open:active { cursor:grabbing; } }

/* A bounded workspace: steps stay visible while only the relevant names scroll. */
body[data-view="prospects"] { min-height:100dvh; }
body[data-view="prospects"] .app-shell { height:100dvh; display:flex; flex-direction:column; padding-bottom:20px; }
body[data-view="prospects"] .topbar { flex:none; width:100%; }
body[data-view="prospects"] .main { display:flex; flex:1; flex-direction:column; width:100%; min-height:0; padding:12px 0 0; }
.p-screen { display:flex; flex-direction:column; flex:1; min-height:0; }
.p-heading,.p-viewbar,.p-tools,.p-stage-picker { flex:none; }
.p-heading { margin-bottom:20px; }
.p-tools { padding-block:12px 16px; }
#prospect-results { flex:1; min-height:0; overflow:hidden; }
.p-board { height:100%; align-items:stretch; }
.p-lane { display:flex; flex-direction:column; min-height:0; margin-bottom:0; padding-bottom:6px; }
.p-lane-head { flex:none; }
.p-lane-content { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#bdc2c5 transparent; padding:3px; scroll-padding:6px; }
.p-stage-picker { display:none; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; margin:0 0 12px; border-bottom:1px solid var(--line); }
.p-stage-picker[hidden] { display:none!important; }
.p-stage-picker button { position:relative; min-height:62px; padding:5px 2px 12px; border:0; background:none; color:#636970; text-align:center; border-radius:0; }
.p-stage-picker strong { display:block; font-size:18px; font-weight:600; line-height:1.2; font-variant-numeric:tabular-nums; margin-bottom:6px; }
.p-stage-picker span { display:block; font-size:12px; line-height:1.3; }
.p-stage-picker button[aria-pressed="true"] { color:var(--green); }
.p-stage-picker button[aria-pressed="true"]::after { content:''; position:absolute; left:8px; right:8px; bottom:-1px; height:3px; border-radius:3px; background:var(--tiffany); }
.p-stage-picker button:hover { background:#f5f8f7; }
.p-screen[data-layout="list"] .p-stage-picker { display:grid; }
.p-list { height:100%; max-width:none; }
.p-list .p-lane { display:none; height:100%; margin-bottom:0; }
.p-list .p-lane.p-selected-lane { display:flex; }
.p-closed { overflow:auto; overscroll-behavior:contain; }
.p-empty { padding:30px 16px; height:100%; overflow:auto; }
@media (max-width:1100px) {
  .p-stage-picker { display:grid; }
  .p-view-switch { display:none; }
  .p-board { display:block; }
  .p-board .p-lane { display:none; height:100%; min-height:0; margin:0; background:none; padding:0; border-radius:0; }
  .p-board .p-lane.p-selected-lane { display:flex; }
  .p-lane-head,.p-list .p-lane-head { height:40px; padding:0 3px 5px; }
  .p-lane-content { padding:2px 3px 8px; }
  .p-lane-content .p-deal { box-shadow:none; background:none; margin:0; border-radius:0; border-bottom:1px solid var(--line); }
  .p-board-hint { display:none; }
}
@media (min-width:801px) and (max-width:1100px) {
  .p-open { grid-template-columns:36px minmax(0,1fr) auto; padding:14px 4px; align-items:start; }
  .p-deal-value { grid-column:3; grid-row:1; margin:3px 0 0; }
  .p-follow { grid-column:2/-1; margin-top:6px; border:0; padding:0; }
}
@media (max-width:800px) {
  body[data-view="prospects"] .app-shell { padding:0 20px calc(76px + env(safe-area-inset-bottom)); }
  body[data-view="prospects"] .topbar { min-height:52px; }
  body[data-view="prospects"] .main { padding-top:8px; }
  .p-heading { margin-bottom:14px; }
  .p-heading h1 { font-size:28px; }
  .p-tools { padding:12px 0; }
  .p-stage-picker { margin-bottom:6px; }
  .p-stage-picker span { font-size:11px; }
  .p-open,.p-list .p-open { padding-block:13px; }
  .p-person > span,.p-list .p-person > span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .p-follow,.p-list .p-follow { margin-top:4px; }
}
@media (max-height:550px) {
  body[data-view="prospects"] .app-shell { height:auto; min-height:100dvh; }
  #prospect-results { min-height:210px; flex:none; height:45dvh; }
}

/* Authentification et navigation de l’espace connecté. */
[hidden] { display: none !important; }
.auth-locked { background: var(--paper); }
.auth-locked .app-shell { display: none; }
#login-root { min-height: 100dvh; }
.login-screen { width:min(100% - 40px,420px); min-height:100dvh; margin:0 auto; display:flex; flex-direction:column; justify-content:center; padding:48px 0; }
.login-brand { display:flex; align-items:center; gap:11px; color:var(--ink); font-size:18px; font-weight:650; letter-spacing:-.03em; }
.login-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:var(--tiffany); color:var(--ink); font-size:12px; font-weight:800; letter-spacing:-.02em; }
.login-copy { margin:74px 0 36px; }
.login-kicker { margin:0 0 13px; color:var(--green); font-size:11px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.login-copy h1 { margin:0; color:var(--ink); font-size:clamp(38px,7vw,54px); font-weight:650; letter-spacing:-.075em; line-height:.98; }
.login-copy p:last-child { max-width:320px; margin:20px 0 0; color:var(--muted); font-size:15px; line-height:1.55; }
.login-form { display:grid; gap:14px; }
.login-field { display:grid; gap:8px; }
.login-field span { color:var(--muted); font-size:12px; font-weight:650; }
.login-field input { width:100%; min-height:50px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); padding:0 15px; font-size:16px; box-shadow:0 1px 2px rgba(20,45,40,.03); }
.login-field input::placeholder { color:#91a09d; }
.login-field input:focus { border-color:var(--green); box-shadow:0 0 0 4px rgba(46,201,188,.14); outline:0; }
.login-error { margin:0; color:var(--red); font-size:13px; line-height:1.45; }
.login-submit { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; min-height:52px; border:0; border-radius:12px; background:var(--green); color:#fff; padding:0 16px 0 18px; font-size:14px; font-weight:700; transition:background .15s ease,transform .15s ease; }
.login-submit:hover:not(:disabled) { background:var(--green-dark); transform:translateY(-1px); }
.login-submit:disabled { cursor:wait; opacity:.65; }
.login-submit svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.login-footnote { margin:17px 0 0; color:#82928e; font-size:12px; line-height:1.5; }
.login-account-link { display:block; margin:3px auto 0; padding:4px 8px; border:0; background:transparent; color:var(--green); font-size:12px; font-weight:600; }
.login-account-link:hover { color:var(--green-dark); text-decoration:underline; text-underline-offset:3px; }
.t-action-list { display:grid; border-block:1px solid var(--line); margin:0 0 24px; }
.t-action-row { display:grid; grid-template-columns:30px minmax(0,1fr) 24px; align-items:center; gap:10px; min-height:52px; padding:0; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); text-align:left; }
.t-action-row:last-child { border-bottom:0; }
.t-action-row:hover { color:var(--green-dark); }
.t-action-count { color:var(--green); font-size:19px; font-weight:700; font-variant-numeric:tabular-nums; }
.t-action-row > svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; color:#9aa19f; }

@media (min-width:801px) {
  .app-shell { max-width:none; margin:0; padding:0 0 0 232px; }
  .workspace-shell { min-width:0; }
  .bottom-nav { position:fixed; inset:0 auto 0 0; z-index:20; width:232px; height:100dvh; transform:none; display:flex; flex-direction:column; align-items:stretch; gap:4px; margin:0; padding:27px 16px 21px; background:var(--surface); border-right:1px solid var(--line); }
  .nav-brand { display:flex; align-items:center; gap:10px; margin:0 10px 38px; color:var(--ink); letter-spacing:-.03em; }
  .nav-brand .brand-mark { width:36px; height:36px; border-radius:11px; font-size:11px; }
  .nav-brand strong,.nav-brand small { display:block; }
  .nav-brand strong { font-size:16px; }
  .nav-brand small { margin-top:3px; color:var(--muted); font-size:10px; font-weight:500; }
  .nav-item { width:100%; min-width:0; min-height:44px; display:grid; grid-template-columns:26px 1fr; align-items:center; justify-items:start; gap:10px; border:0; border-radius:10px; padding:0 12px; color:var(--muted); text-align:left; }
  .nav-item:hover { background:var(--surface-soft); color:var(--ink); }
  .nav-item.active { background:var(--surface-soft); color:var(--green); }
  .nav-item small { font-size:13px; font-weight:650; }
  .nav-icon { width:26px; height:26px; }
  .nav-icon svg { width:19px; height:19px; }
  .nav-footer { display:grid; gap:4px; margin:auto 10px 0; padding-top:18px; border-top:1px solid var(--line); }
  .nav-footer strong { color:var(--ink); font-size:12px; font-weight:650; }
  .nav-footer span { color:var(--muted); font-size:11px; }
  .nav-logout { display:flex; align-items:center; gap:9px; width:100%; margin-top:13px; padding:8px 0; border:0; background:transparent; color:var(--muted); font-size:11px; text-align:left; }
  .nav-logout:hover { color:var(--ink); }
  .nav-logout .avatar { width:25px; height:25px; font-size:10px; }
  .topbar { min-height:72px; padding:0 34px; }
  .workspace-name { color:var(--ink); font-size:14px; font-weight:650; }
  .main { max-width:1080px; margin-inline:auto; }
}

@media (max-width:800px) {
  .login-screen { width:min(100% - 34px,420px); }
  .login-copy { margin-top:66px; }
  .app-shell { padding-inline:17px; }
  .bottom-nav { width:100%; }
  .nav-brand,.nav-footer { display:none; }
  .topbar { padding-inline:0; }
}

@media (min-width:801px) {
  body:not(.auth-locked)[data-view] .app-shell { padding-left:232px; }
  body[data-view="prospects"] .app-shell { display:block; height:auto; padding-bottom:0; }
  body[data-view="prospects"] .workspace-shell { min-height:100dvh; display:flex; flex-direction:column; }
  body[data-view="prospects"] .workspace-shell .main { display:flex; flex:1; flex-direction:column; min-height:0; }
}
