@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=DM+Mono:wght@400;500;600&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,500;0,9..144,700;1,9..144,300;1,9..144,500;1,9..144,700&display=swap');
:root {
  /* ── Brand Core ── */
  --sky:    #38BDF8;
  --ocean:  #0EA5E9;
  --navy:   #0C4A6E;
  --jade:   #2ECC7A;
  --amber:  #F59E0B;
  --rose:   #F43F5E;
  --ink:    #050D1A;
  --ink2:   #0F172A;
  --slate:  #334155;
  --muted-txt: #64748B;
  --mist:   #94A3B8;
  --frost:  #F0F9FF;

  /* ── Semantic aliases shared by both modes ── */
  --accent: #38BDF8;
  --warn:   #F59E0B;
  --danger: #BE123C;
  --violet: #A78BFA;

  /* ── Fonts ── */
  --mono: 'DM Mono', monospace;
  --sans: 'DM Sans', sans-serif;
  --f-display: 'Fraunces', Georgia, serif;
  --ease: cubic-bezier(0.16,1,0.3,1);
}

/* ════════════════════════════════════════
   LIGHT MODE — brand Frost/Mist palette
   All values from brand_system.html
════════════════════════════════════════ */
body {
  /* App surfaces */
  --bg:         #F4F7FB;
  --bg2:        #EAF1F8;
  --surface:    #FFFFFF;
  --surface2:   #EEF5FC;
  --surface3:   #F8FBFE;
  /* Borders — Navy-tinted */
  --border:     rgba(12,74,110,0.09);
  --border-mid: rgba(12,74,110,0.16);
  /* Text */
  --text:       #0D1E30;
  --text2:      #4E6A84;
  --muted:      #64748B;
  --txt3:       #92AEC4;
  /* Sidebar — light mode uses Frost/Navy surfaces */
  --sb-bg:      #EAF1F8;
  --sb-bg2:     #F4F7FB;
  --sb-border:  rgba(12,74,110,0.09);
  --sb-text:    #4E6A84;
  --sb-text3:   #92AEC4;
  /* Shadow */
  --shad:       0 4px 20px rgba(12,74,110,0.08);
  /* Semantic dim/border tokens */
  --sky-dim:    rgba(14,165,233,0.10);
  --sky-bdr:    rgba(14,165,233,0.22);
  --jade-dim:   rgba(46,204,122,0.10);
  --jade-bdr:   rgba(46,204,122,0.20);
  --amber-dim:  rgba(245,158,11,0.10);
  --amber-bdr:  rgba(245,158,11,0.20);
  --rose-dim:   rgba(244,63,94,0.10);
  --rose-bdr:   rgba(244,63,94,0.20);
  --ocean-dim:  rgba(14,165,233,0.10);
  --violet-dim: rgba(167,139,250,0.10);
  --violet-bdr: rgba(167,139,250,0.20);
}

/* ════════════════════════════════════════
   DARK MODE (.v2-dark on body)
   Ink/Ink-soft palette from brand system
════════════════════════════════════════ */
body.v2-dark {
  /* App surfaces — Ink family */
  --bg:         #050D1A;
  --bg2:        #09111F;
  --surface:    #0F172A;
  --surface2:   #13203A;
  --surface3:   #0B1528;
  /* Borders */
  --border:     rgba(255,255,255,0.07);
  --border-mid: rgba(255,255,255,0.13);
  /* Text */
  --text:       #EEF4FB;
  --text2:      #AAC0D6;
  --muted:      #94A3B8;
  --txt3:       #536878;
  /* Sidebar same as app in dark — slightly offset */
  --sb-bg:      #060E1C;
  --sb-bg2:     #0A1628;
  /* Shadow */
  --shad:       0 24px 64px rgba(0,0,0,0.42);
  /* Dim tokens — slightly brighter in dark */
  --sky-dim:    rgba(56,189,248,0.12);
  --sky-bdr:    rgba(56,189,248,0.24);
  --jade-dim:   rgba(46,204,122,0.12);
  --jade-bdr:   rgba(46,204,122,0.24);
  --amber-dim:  rgba(245,158,11,0.12);
  --amber-bdr:  rgba(245,158,11,0.24);
  --rose-dim:   rgba(244,63,94,0.12);
  --rose-bdr:   rgba(244,63,94,0.24);
  --ocean-dim:  rgba(14,165,233,0.12);
  --violet-dim: rgba(167,139,250,0.12);
  --violet-bdr: rgba(167,139,250,0.24);
}
/* ── Theme switching handled by ripple overlay — no universal transition needed ── */
body:not(.v2-dark) .v2-nav-item{color:#4E6A84;}
body:not(.v2-dark) .v2-nav-item svg{color:#4E6A84;}
body.v2-dark .v2-nav-item{color:#AAC0D6;}
body.v2-dark .v2-nav-item svg{color:#AAC0D6;}
body:not(.v2-dark) .v2-nav-item.active, body.v2-dark .v2-nav-item.active{color:var(--sky);}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;min-height:100vh;}

/* ── v2 APP SHELL LAYOUT ────────────────────────────────────── */
#appShell{display:none;}
#appShell.visible{display:grid;grid-template-columns:236px minmax(0,1fr);height:100vh;overflow:hidden;}

/* ── v2 SIDEBAR ─────────────────────────────────────────────── */
.v2-sidebar{
  background:var(--sb-bg);border-right:1px solid var(--sb-border);
  display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;overflow:hidden;
}
.v2-sidebar-scroll{
  flex:1;overflow-y:auto;padding:18px 14px 12px;
  display:flex;flex-direction:column;gap:2px;
  background:var(--sb-bg);
}
.v2-sidebar-scroll::-webkit-scrollbar{display:none}
.v2-brand{display:flex;align-items:center;gap:10px;padding:2px 6px 18px;}
.v2-brand-word{font-size:16px;font-weight:800;letter-spacing:-0.02em;color:var(--text);}
.v2-brand-word span{color:var(--sky);}
.v2-brand-icon{display:block;flex-shrink:0;}
.v2-bi-bg{fill:#050D1A;}
.v2-bi-top{fill:var(--sky);}
.v2-bi-mid{fill:var(--ocean);}
.v2-bi-low{fill:var(--jade);}
.v2-bi-tail{fill:var(--jade);opacity:.32;}
.v2-nav-lbl{
  font-size:9px;font-weight:800;letter-spacing:0.15em;
  text-transform:uppercase;color:var(--sb-text3);padding:8px 8px 4px;
}
.v2-nav-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 11px;border-radius:12px;
  font-size:13px;font-weight:600;color:var(--sb-text);
  text-decoration:none;border:1px solid transparent;
  transition:background .13s,color .13s,border-color .13s;
  margin-bottom:1px;cursor:pointer;background:none;
  font-family:var(--sans);text-align:left;width:100%;
}
.v2-nav-item:hover{background:var(--surface);color:var(--text);} 
body.v2-dark .v2-nav-item:hover{background:rgba(255,255,255,0.06);color:#D4E6F6;}
.v2-nav-item.active{background:rgba(56,189,248,0.14);border-color:rgba(56,189,248,0.28);color:var(--sky);}
.v2-nav-item svg{width:15px;height:15px;flex-shrink:0;opacity:.88;color:currentColor;}
.v2-nav-item.active svg{opacity:1;}
.v2-nav-tag{
  margin-left:auto;font-size:10px;font-weight:800;
  padding:2px 7px;border-radius:99px;font-family:var(--mono);
}
.v2-nt-sky{background:rgba(56,189,248,0.14);color:var(--sky);}
.v2-nt-rose{background:rgba(244,63,94,0.16);color:#F43F5E;}
.v2-nt-amber{background:rgba(245,158,11,0.16);color:var(--warn);font-size:9px;letter-spacing:.05em;text-transform:uppercase;}

.v2-trial-banner{
  margin-top:10px;
  background:linear-gradient(135deg,rgba(56,189,248,0.12),rgba(46,204,122,0.08));
  border:1px solid rgba(56,189,248,0.22);border-radius:14px;padding:13px 14px;
}
.v2-tb-title{font-size:12px;font-weight:800;color:var(--sky);margin-bottom:4px;}
.v2-tb-body{font-size:12px;color:var(--sb-text);line-height:1.55;}
.v2-tb-days{font-weight:800;color:var(--warn);}

.v2-usage-block{padding:12px 14px 10px;border-top:1px solid var(--sb-border);background:var(--sb-bg);}
.v2-usage-row{margin-bottom:9px;}
.v2-usage-row:last-child{margin-bottom:0;}
.v2-usage-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;}
.v2-usage-label{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--muted);}
.v2-usage-count{font-family:var(--mono);font-size:10px;color:var(--muted);}
.v2-usage-count strong{color:var(--text);font-weight:700;}
.v2-usage-track{height:5px;border-radius:99px;background:var(--surface2);overflow:hidden;}
.v2-usage-fill{height:100%;border-radius:99px;transition:width .4s var(--ease);}
.v2-usage-fill.apps{background:linear-gradient(90deg,var(--ocean),var(--sky));}
.v2-usage-fill.contacts{background:linear-gradient(90deg,var(--jade),#6CF1AB);}
.v2-usage-fill.warn{background:linear-gradient(90deg,#F59E0B,#FCD34D);}
.v2-usage-fill.full{background:linear-gradient(90deg,#F43F5E,#FB7185);}
.v2-usage-cta{margin-top:8px;text-align:center;}
.v2-usage-cta a{font-family:var(--mono);font-size:10px;color:var(--sky);text-decoration:none;opacity:.8;}
.v2-usage-cta a:hover{opacity:1;text-decoration:underline;}
.v2-sidebar-foot{padding:10px 14px 14px;border-top:1px solid var(--sb-border);flex-shrink:0;background:var(--sb-bg);}
.v2-signout-btn{
  display:flex;align-items:center;gap:8px;width:100%;
  padding:9px 11px;border-radius:11px;border:none;background:none;
  font:600 13px var(--sans);color:var(--sb-text3);cursor:pointer;
  transition:background .13s,color .13s;text-align:left;
}
.v2-signout-btn:hover{background:var(--rose-dim);color:#F43F5E;}

/* ── v2 MAIN COLUMN ─────────────────────────────────────────── */
.v2-main{display:flex;flex-direction:column;min-width:0;overflow-y:auto;height:100vh;}

/* ── v2 TOPBAR ──────────────────────────────────────────────── */
.v2-topbar{
  display:flex;align-items:center;gap:14px;
  padding:14px 26px;border-bottom:1px solid var(--border);
  background:var(--bg);
  position:sticky;top:0;z-index:50;flex-shrink:0;
}

/* Large search input */
.v2-search-shell{position:relative;flex:1;max-width:920px;}
.v2-search-input{
  width:100%;height:64px;border-radius:22px;
  border:1.5px solid var(--border-mid);background:var(--surface);
  color:var(--text);font-family:var(--sans);
  font-size:24px;font-weight:700;letter-spacing:-0.03em;
  padding:0 56px 0 62px;outline:none;
  box-shadow:0 2px 12px rgba(12,74,110,0.06);
  transition:border-color .15s,box-shadow .15s;
}
.v2-search-input::placeholder{color:var(--muted);font-weight:600;}
.v2-search-input:focus{
  border-color:var(--sky-bdr);
  box-shadow:0 0 0 4px var(--sky-dim),0 4px 20px rgba(12,74,110,0.08);
}
.v2-search-icon{
  position:absolute;left:22px;top:50%;transform:translateY(-50%);
  color:var(--muted);pointer-events:none;
}
.v2-search-clear{
  position:absolute;right:18px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;border-radius:99px;border:none;
  background:var(--surface2);color:var(--muted);
  font-size:14px;line-height:1;cursor:pointer;
  display:none;align-items:center;justify-content:center;
  transition:background .12s,color .12s;
}
.v2-search-clear:hover{background:var(--rose-dim);color:#F43F5E;}
.v2-search-clear.visible{display:flex;}
/* Search dropdown */
.v2-search-drop{
  display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;
  background:var(--surface);border:1px solid var(--border-mid);
  border-radius:22px;box-shadow:var(--shad);
  padding:8px;z-index:100;
}
.v2-search-shell:focus-within .v2-search-drop{display:block;}
.v2-drop-pills{
  display:flex;gap:7px;padding:6px 8px 10px;
  border-bottom:1px solid var(--border);margin-bottom:4px;flex-wrap:wrap;
}
.v2-dp{
  padding:6px 12px;border-radius:99px;
  border:1px solid var(--border-mid);font-size:12px;font-weight:700;
  color:var(--muted);background:var(--surface2);cursor:pointer;transition:all .12s;
}
.v2-dp.on,.v2-dp:hover{background:var(--sky-dim);border-color:var(--sky-bdr);color:var(--sky);}
.v2-dp-count{
  display:inline-block;background:rgba(0,0,0,0.18);
  border-radius:99px;font-size:10px;font-weight:700;
  padding:0 6px;margin-left:4px;min-width:18px;text-align:center;
  line-height:1.7;vertical-align:middle;
}
.v2-dp.on .v2-dp-count{background:rgba(56,189,248,0.25);}
/* Responsive table: hide non-essential columns below 1100px */
@media(max-width:1100px){
  #appTableEl th:nth-child(3),#appTableEl td:nth-child(3),
  #appTableEl th:nth-child(5),#appTableEl td:nth-child(5),
  #appTableEl th:nth-child(6),#appTableEl td:nth-child(6){display:none;}
}
@media(max-width:820px){
  #appTableEl th:nth-child(7),#appTableEl td:nth-child(7){display:none;}
}
/* COMM progress bar */
.comm-bar{display:flex;gap:2px;align-items:center;width:80px;}
.comm-seg{flex:1;height:8px;border-radius:2px;background:var(--border);}
.comm-seg.on{background:var(--sky);}
.comm-seg.on.referral{background:var(--jade);}
/* App modal company contacts panel */
.app-company-contacts{
  border-top:1px solid var(--border);margin-top:12px;padding-top:12px;
}
.app-company-contacts-hdr{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:8px;
}
.app-company-contacts-title{
  font-family:var(--mono);font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);
}
.app-company-contacts-list{display:flex;flex-direction:column;gap:2px;}
.acc-contact-row{
  display:flex;align-items:center;gap:10px;
  padding:7px 8px;border-radius:8px;cursor:pointer;
  transition:background .1s, border-color .1s;
  border:1px solid var(--border);
  background:transparent !important;
}
.acc-contact-row:hover{background:var(--surface2) !important;border:1px solid var(--sky-bdr);}
.acc-contact-row .v2-drop-type{flex-shrink:0;}
.acc-contact-row-info{flex:1;min-width:0;}
.acc-contact-row-name{font-size:13px;font-weight:600;color:var(--text);}
.acc-contact-row-sub{font-size:11px;color:var(--muted);margin-top:1px;}
.acc-add-contact-btn{
  display:block;width:100%;margin-top:8px;
  padding:9px 14px;border-radius:8px;
  border:1px dashed var(--border-mid);background:transparent;
  font-family:var(--sans);font-size:12px;font-weight:600;
  color:var(--muted);cursor:pointer;text-align:center;
  transition:all .15s;
}
.acc-add-contact-btn:hover{border-color:var(--sky);color:var(--sky);background:var(--sky-dim);}
.v2-drop-lbl{
  font-size:9px;font-weight:800;letter-spacing:0.13em;
  text-transform:uppercase;color:var(--muted);padding:6px 10px 3px;
}
.v2-drop-row{
  display:flex;align-items:center;gap:10px;
  padding:9px 10px;border-radius:10px;cursor:pointer;transition:background .1s;
}
.v2-drop-row:hover{background:var(--surface2);}
.v2-drop-row-btn{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;border-radius:10px;}
.v2-drop-row-btn:hover .v2-drop-row,.v2-drop-row-btn:focus-visible .v2-drop-row{background:var(--surface2);}
.v2-drop-row-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--sky-bdr);}
.v2-drop-row-btn + .v2-drop-row-btn{margin-top:2px;}
.v2-drop-type{
  font-size:9px;font-weight:800;padding:3px 8px;border-radius:99px;
  text-transform:uppercase;letter-spacing:.07em;flex-shrink:0;
}
.v2-dt-app{background:var(--sky-dim);color:var(--sky);}
.v2-dt-con{background:var(--jade-dim);color:var(--jade);}
.v2-dt-co{background:var(--amber-dim);color:var(--warn);}
.v2-drop-main{font-size:13px;font-weight:600;color:var(--text);}
.v2-drop-sub{font-size:11px;color:var(--muted);margin-top:1px;}
.v2-topbar-right{display:flex;align-items:center;gap:8px;margin-left:auto;}
.v2-theme-btn{width:38px;height:38px;padding:0;justify-content:center;font-size:15px;background:var(--surface);border:1px solid var(--border-mid);color:var(--text2);border-radius:10px;cursor:pointer;transition:all .14s;display:flex;align-items:center;line-height:1;}
.v2-theme-btn:hover{border-color:var(--sky);color:var(--sky);}



/* ── v2 TODAY PANEL ─────────────────────────────────────────── */
.v2-today-content{padding:24px 26px 80px;}
.v2-page-header{margin-bottom:20px;}
.v2-eyebrow{
  font-size:10px;font-weight:800;letter-spacing:0.15em;
  text-transform:uppercase;color:var(--muted);margin-bottom:5px;
}
.v2-page-title{
  font-family:var(--f-display);font-size:36px;font-weight:500;
  letter-spacing:-0.025em;line-height:1.12;color:var(--ink);
}
body.v2-dark .v2-page-title{color:var(--text);}
.v2-page-title em{font-style:italic;color:var(--ocean);}
/* Alert strip */
/* Auto-rejection banner */
.ar-banner{
  display:flex; align-items:flex-start; gap:12px;
  padding:12px 16px; border-radius:10px; margin-bottom:12px;
  background:rgba(244,63,94,0.08); border:1px solid rgba(244,63,94,0.2);
  font-size:13px; line-height:1.5;
}
body:not(.v2-dark) .ar-banner{background:#FFF1F2; border-color:#FECDD3;}
.ar-banner-icon{font-size:16px; flex-shrink:0; margin-top:1px;}
.ar-banner-body{flex:1;}
.ar-banner-title{font-weight:600; color:#F43F5E; margin-bottom:4px;}
body:not(.v2-dark) .ar-banner-title{color:#BE123C;}
.ar-banner-list{color:var(--muted); margin:0; padding:0; list-style:none;}
body:not(.v2-dark) .ar-banner-list{color:#64748B;}
.ar-banner-list li{padding:1px 0;}
.ar-banner-actions{display:flex; gap:8px; margin-top:10px;}
.ar-banner-btn{font-size:12px; font-weight:500; padding:5px 12px; border-radius:6px;
  border:none; cursor:pointer; font-family:var(--mono);}
.ar-banner-btn-review{background:rgba(244,63,94,0.12); color:#F43F5E;}
body:not(.v2-dark) .ar-banner-btn-review{background:#FFF1F2; color:#BE123C; border:1px solid #FECDD3;}
.ar-banner-btn-review:hover{background:rgba(244,63,94,0.2);}
.ar-banner-btn-dismiss{background:transparent; color:var(--muted);}
.ar-banner-btn-dismiss:hover{color:var(--text);}
.v2-alert-strip{
  display:flex;align-items:flex-start;gap:11px;
  padding:13px 17px;
  background:var(--navy);
  border:1px solid var(--sky-bdr);border-left:3px solid var(--sky);
  border-radius:12px;margin-bottom:20px;
  font-size:13px;color:#D4ECFB;line-height:1.6;
}
body.v2-dark .v2-alert-strip { background:var(--surface2); color:#C8DAEA; }
body:not(.v2-dark) .v2-alert-strip{background:#0C4A6E;color:#D4ECFB;}
.v2-alert-strip strong{color:var(--sky);font-weight:700;}
.v2-alert-icon{font-size:16px;flex-shrink:0;margin-top:1px;}
/* Hero grid */
.v2-hero{
  display:grid;grid-template-columns:1fr 316px;
  gap:14px;margin-bottom:20px;align-items:start;
}
/* v2 Cards */
.v2-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:18px;overflow:hidden;
  transition:background .2s,border-color .2s;
}
.v2-card-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:15px 20px 13px;border-bottom:1px solid var(--border);
}
.v2-card-title{font-size:15px;font-weight:800;letter-spacing:-0.02em;color:var(--text);}
.v2-quiet-count{
  font-size:11px;font-weight:700;font-family:var(--mono);
  padding:3px 9px;border-radius:99px;
  background:var(--surface2);color:var(--muted);border:1px solid var(--border);
}
/* Today action list sections */
.v2-list-div{
  display:flex;align-items:center;gap:8px;
  padding:6px 20px;background:var(--surface2);border-bottom:1px solid var(--border);
}
.v2-ld-lbl{font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;}
.v2-ld-line{flex:1;height:1px;background:var(--border);}
.v2-ld-overdue{color:#F43F5E;} .v2-ld-today{color:var(--sky);} .v2-ld-ai{color:var(--violet);}
.v2-section-count{margin-left:auto;font-size:10px;font-weight:800;font-family:var(--mono);padding:2px 8px;border-radius:99px;background:var(--surface3);color:var(--muted);border:1px solid var(--border);}
.v2-section-scroll{max-height:238px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--txt3) transparent;}
.v2-section-scroll::-webkit-scrollbar{width:10px;}
.v2-section-scroll::-webkit-scrollbar-track{background:transparent;}
.v2-section-scroll::-webkit-scrollbar-thumb{background:var(--surface3);border:2px solid transparent;background-clip:padding-box;border-radius:99px;}
body.v2-dark .v2-section-scroll::-webkit-scrollbar-thumb{background:#18243D;border:2px solid transparent;background-clip:padding-box;}

/* Today action rows */
.v2-action-row{
  display:grid;grid-template-columns:28px minmax(0,1fr) auto;
  gap:12px;align-items:start;padding:15px 20px;
  border-bottom:1px solid var(--border);cursor:pointer;
  transition:background .12s;
}
.v2-action-row:last-child{border-bottom:none;}
.v2-action-row:hover{background:var(--surface2);}
.v2-action-row.hot{border-left:3px solid #F43F5E;padding-left:17px;}
.v2-action-row.ai{border-left:3px solid var(--violet);padding-left:17px;}
.v2-action-row.apply{border-left:3px solid var(--ocean);padding-left:17px;}
.v2-action-row.grow{border-left:3px solid var(--jade);padding-left:17px;}
.v2-rank{
  width:26px;height:26px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;font-family:var(--mono);
  flex-shrink:0;margin-top:2px;
}
.v2-rk-hot{background:var(--rose-dim);color:#F43F5E;}
.v2-rk-today{background:var(--sky-dim);color:var(--sky);}
.v2-rk-jade{background:var(--jade-dim);color:var(--jade);}
.v2-rk-ai{background:var(--violet-dim);color:var(--violet);}
.v2-a-body{min-width:0;}
.v2-a-kicker{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:3px;}
.v2-k-rose{color:#F43F5E;} .v2-k-sky{color:var(--sky);} .v2-k-jade{color:var(--jade);}
.v2-k-ocean{color:var(--ocean);} .v2-k-violet{color:var(--violet);} .v2-k-amber{color:var(--warn);}
.v2-a-title{font-size:14px;font-weight:700;letter-spacing:-0.01em;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);}
.v2-a-sub strong{color:var(--text);font-weight:700;}
.v2-a-sub{font-size:12px;color:var(--muted);line-height:1.55;}
.v2-a-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px;}
.v2-mini-chip{font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;background:var(--surface2);color:var(--muted);border:1px solid var(--border);}
.v2-a-cta{
  padding:7px 13px;border-radius:9px;font:700 11px var(--sans);
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
  flex-shrink:0;margin-top:2px;transition:all .13s;
}
.v2-cta-rose{background:var(--rose-dim);color:#F43F5E;border-color:var(--rose-bdr);}
.v2-cta-rose:hover{background:#F43F5E;color:#fff;}
.v2-cta-sky{background:var(--sky-dim);color:var(--sky);border-color:var(--sky-bdr);}
.v2-cta-sky:hover{background:var(--sky);color:#fff;}
.v2-cta-jade{background:var(--jade-dim);color:var(--jade);border-color:var(--jade-bdr);}
.v2-cta-jade:hover{background:var(--jade);color:#fff;}
.v2-cta-violet{background:var(--violet-dim);color:var(--violet);border-color:var(--violet-bdr);}
.v2-cta-violet:hover{background:var(--violet);color:#fff;}

/* ── v2 MOMENTUM PANEL ──────────────────────────────────────── */
.v2-momentum-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:18px;overflow:hidden;display:flex;flex-direction:column;
  transition:background .2s,border-color .2s;
}
.v2-m-section{padding:16px 18px;border-bottom:1px solid var(--border);}
.v2-m-section:last-child{border-bottom:none;}
.v2-m-kicker-row{display:flex;align-items:center;gap:4px;margin-bottom:12px;}
.v2-m-kicker{font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);}
.v2-info-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:15px;height:15px;border-radius:50%;
  background:var(--surface2);border:1px solid var(--border-mid);
  font-size:8px;font-weight:800;color:var(--muted);
  cursor:default;flex-shrink:0;position:relative;
}
.v2-info-btn::after{
  content:attr(data-tip);
  position:absolute;bottom:calc(100% + 6px);left:50%;
  transform:translateX(-50%);
  background:var(--ink2);border:1px solid rgba(255,255,255,0.12);
  color:#C8DAEA;font-size:11px;font-weight:400;font-family:var(--sans);
  padding:7px 10px;border-radius:8px;white-space:nowrap;
  pointer-events:none;opacity:0;transition:opacity .15s;
  box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:60;
}
.v2-info-btn:hover::after{opacity:1;}
.v2-m-stats{display:flex;gap:22px;margin-bottom:14px;}
.v2-m-stat-lbl{font-size:11px;color:var(--muted);margin-bottom:3px;}
.v2-m-stat-val{font-size:28px;font-weight:800;font-family:var(--mono);line-height:1;color:var(--text);}
.v2-m-stat-val .den{font-size:17px;color:var(--muted);font-weight:500;}
.v2-m-prog{margin-bottom:10px;}
.v2-m-prog:last-of-type{margin-bottom:0;}
.v2-m-prog-top{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:5px;}
.v2-m-track{height:7px;border-radius:99px;background:var(--surface2);overflow:hidden;}
.v2-m-fill{height:100%;border-radius:99px;transition:width .5s var(--ease);}
.v2-mf-sky{background:linear-gradient(90deg,var(--ocean),var(--sky));width:50%;}
.v2-mf-jade{background:linear-gradient(90deg,var(--jade),#6CF1AB);width:60%;}
.v2-mf-act{background:linear-gradient(90deg,var(--jade),var(--sky));width:56%;}
/* Week squares */
.v2-week-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:14px;}
.v2-day-box{
  border-radius:13px;border:1px solid var(--border-mid);background:var(--surface2);
  min-height:76px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:3px;padding:8px 0 6px;
}
.v2-day-box.done{background:var(--jade-dim);border-color:var(--jade-bdr);}
.v2-day-box.partial{background:var(--amber-dim);border-color:var(--amber-bdr);}
.v2-day-box.today{background:var(--sky-dim);border-color:var(--sky-bdr);}
.v2-day-fire{font-size:15px;line-height:1;}
.v2-day-count{font-size:17px;font-family:var(--mono);font-weight:800;color:var(--muted);}
.v2-day-name{font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.v2-day-box.done .v2-day-count{color:var(--jade);}
.v2-day-box.partial .v2-day-count{color:var(--warn);}
.v2-day-box.today .v2-day-count{color:var(--sky);}
.v2-week-note{font-size:11px;color:var(--muted);margin-top:10px;font-weight:600;line-height:1.5;}
/* Activity */
.v2-act-row{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;}
.v2-act-time{font-size:28px;font-weight:800;font-family:var(--mono);line-height:1;color:var(--text);}
.v2-act-goal{font-size:12px;color:var(--muted);}
/* Focus timer */
.v2-focus-card{
  background:var(--surface2);border:1px solid var(--border);
  border-radius:14px;padding:18px;
}
.v2-focus-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.v2-focus-lbl{font-size:12px;font-weight:800;color:var(--text);}
.v2-focus-state{font-size:11px;color:var(--muted);font-weight:600;}
.v2-focus-presets{display:flex;gap:6px;margin-bottom:14px;}
.v2-fp{
  flex:1;text-align:center;padding:7px 0;border-radius:9px;
  border:1px solid var(--border);background:var(--surface);
  color:var(--muted);font-size:11px;font-family:var(--mono);font-weight:700;
  cursor:pointer;transition:all .12s;
}
.v2-fp:hover,.v2-fp.sel{background:var(--sky-dim);border-color:var(--sky-bdr);color:var(--sky);}
.v2-focus-main{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.v2-focus-time{font-size:42px;font-weight:800;font-family:var(--mono);letter-spacing:-0.04em;line-height:1;color:var(--text);}
.v2-focus-go{
  padding:11px 18px;border-radius:11px;background:var(--ocean);color:#fff;
  font:700 12px var(--sans);border:none;cursor:pointer;transition:all .14s;white-space:nowrap;
}
.v2-focus-go:hover{background:var(--sky);}
/* v2 Tiles strip */
.v2-strip-hdr{display:flex;align-items:center;justify-content:space-between;margin:20px 0 11px;}
.v2-strip-title{font-size:15px;font-weight:800;letter-spacing:-0.02em;color:var(--text);}
.v2-strip-right{display:flex;align-items:center;gap:14px;}
.v2-strip-meta{font-size:12px;color:var(--muted);}
.v2-strip-meta strong{color:var(--text);}
.v2-strip-link{font-size:12px;color:var(--sky);font-weight:700;text-decoration:none;cursor:pointer;}
.v2-strip-link:hover{text-decoration:underline;}
.v2-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.v2-tile{
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:14px 15px;cursor:pointer;transition:all .15s;
}
.v2-tile:hover{border-color:var(--border-mid);transform:translateY(-2px);box-shadow:0 8px 24px rgba(12,74,110,0.1);}
.v2-tile-co{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:2px;}
.v2-tile-role{font-size:13px;font-weight:700;letter-spacing:-0.01em;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);}
.v2-tile-chips{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px;}
.v2-tc{font-size:9px;font-weight:800;padding:3px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.04em;}
.v2-tc-sky{background:var(--sky-dim);color:var(--sky);}
.v2-tc-jade{background:var(--jade-dim);color:var(--jade);}
.v2-tc-amber{background:var(--amber-dim);color:var(--warn);}
.v2-tc-rose{background:var(--rose-dim);color:#F43F5E;}
.v2-tc-ocean{background:var(--ocean-dim);color:var(--ocean);}
.v2-tc-muted{background:var(--surface2);color:var(--muted);border:1px solid var(--border);}
.v2-tile-next{font-size:11px;color:var(--muted);line-height:1.5;margin-bottom:10px;min-height:32px;}
.v2-tile-btn{
  width:100%;padding:7px;border-radius:8px;background:var(--surface2);
  border:1px solid var(--border);font-size:11px;font-weight:600;color:var(--muted);
  cursor:pointer;font-family:var(--sans);transition:all .13s;text-align:center;
}
.v2-tile-btn:hover{border-color:var(--sky-bdr);color:var(--sky);background:var(--sky-dim);}
/* Trial footer */
.v2-trial-footer{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:14px;padding:14px 17px;
  background:var(--sky-dim);border:1px solid var(--sky-bdr);border-radius:16px;
  font-size:12px;color:var(--muted);
}
.v2-trial-footer strong{color:var(--text);}
.v2-trial-link{color:var(--sky);font-weight:800;text-decoration:none;}
.v2-trial-link:hover{text-decoration:underline;}
/* Animations */
@keyframes v2fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.v2-today-content>*{animation:v2fadeUp .4s var(--ease) both;}
.v2-today-content>*:nth-child(1){animation-delay:.04s;}
.v2-today-content>*:nth-child(2){animation-delay:.09s;}
.v2-today-content>*:nth-child(3){animation-delay:.14s;}
.v2-today-content>*:nth-child(4){animation-delay:.19s;}
.v2-today-content>*:nth-child(5){animation-delay:.24s;}
@media(max-width:1320px){.v2-tiles{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:1100px){.v2-hero{grid-template-columns:1fr;}}
@media(max-width:920px){#appShell.visible{grid-template-columns:1fr;}.v2-sidebar{position:relative;height:auto;}}
.app-content{padding:20px 28px;}
.app-content.no-bottom{padding-bottom:0;}

/* LOAD SCREEN */
#loadScreen{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#050D1A 0%,#0C4A6E 60%,#050D1A 100%);}
#loadScreen.hidden{display:none;}
#loadScreen::before{content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(56,189,248,0.06) 1px,transparent 1px);
  background-size:32px 32px;pointer-events:none;}
.load-box{background:rgba(255,255,255,0.04);border:1px solid rgba(56,189,248,0.2);
  border-radius:20px;padding:48px 44px 40px;width:100%;max-width:420px;
  backdrop-filter:blur(20px);position:relative;z-index:1;
  min-height:460px;display:flex;flex-direction:column;height:auto;}
.load-box h2{font-family:var(--sans);font-size:14px;color:var(--navy);margin-bottom:8px;letter-spacing:1px;display:none;}
.load-restore{background:rgba(255,255,255,0.04);border:1px solid rgba(245,158,11,0.4);border-radius:8px;padding:14px 18px;margin-bottom:18px;text-align:left;}
.load-restore p{font-size:12px;color:#F59E0B;font-family:var(--mono);margin-bottom:10px;}
.load-restore-info{font-size:11px;color:rgba(255,255,255,0.45);margin-bottom:12px;line-height:1.5;}
.load-restore-btns{display:flex;gap:8px;}
.load-btn{display:block;width:100%;font-family:var(--mono);font-size:13px;padding:13px 24px;
  background:var(--sky);color:var(--ink);border:none;border-radius:8px;cursor:pointer;font-weight:700;letter-spacing:.5px;
  transition:opacity .15s,box-shadow .2s;text-align:center;}
.load-btn:hover{box-shadow:0 0 0 4px rgba(56,189,248,0.25),0 4px 20px rgba(56,189,248,0.3);opacity:.92;}
/* OAuth divider */
.oauth-divider{display:flex;align-items:center;gap:10px;margin:16px 0;}
.oauth-divider span{font-family:var(--mono);font-size:10px;color:rgba(255,255,255,0.25);letter-spacing:1px;white-space:nowrap;}
.oauth-divider::before,.oauth-divider::after{content:'';flex:1;height:1px;background:rgba(255,255,255,0.1);}
/* Google OAuth button */
.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:11px 24px;background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.15);border-radius:8px;cursor:pointer;
  font-family:var(--sans);font-size:14px;font-weight:500;color:#fff;
  transition:background .15s,border-color .15s;}
.btn-google:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.3);}
.btn-google svg{flex-shrink:0;}
.load-btn-secondary{display:inline-block;font-family:var(--mono);font-size:12px;padding:10px 16px;
  background:transparent;color:rgba(255,255,255,0.45);border:1px solid rgba(255,255,255,0.15);border-radius:8px;cursor:pointer;
  transition:all .15s;}
.load-btn-secondary:hover{border-color:rgba(56,189,248,0.4);color:rgba(255,255,255,0.8);}
.load-note{font-family:var(--mono);font-size:10px;color:rgba(255,255,255,0.2);margin-top:14px;line-height:1.7;}
.load-err{color:#FECDD3;font-family:var(--mono);font-size:11px;margin-top:10px;display:none;}
/* Login form fields */
#loginBlock p{font-size:13px;color:rgba(255,255,255,0.45);margin-bottom:20px;line-height:1.6;}
#loginBlock .form-row{margin-bottom:14px;}
#loginBlock label{display:block;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,0.4);margin-bottom:6px;font-family:var(--mono);}
#loginBlock input{width:100%;padding:11px 14px;background:rgba(255,255,255,0.06);
  border:1px solid rgba(56,189,248,0.2);border-radius:8px;color:#fff;
  font-family:var(--sans);font-size:14px;outline:none;
  transition:border-color .2s,box-shadow .2s,background .2s;}
#loginBlock input:hover{border-color:rgba(56,189,248,0.45);background:rgba(255,255,255,0.09);}
#loginBlock input:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(56,189,248,0.18);background:rgba(255,255,255,0.1);}
#loginBlock input::placeholder{color:rgba(255,255,255,0.2);}
/* Login logo area */
.login-logo-wrap{display:flex;justify-content:center;margin-bottom:28px;}
.login-divider{height:1px;background:rgba(255,255,255,0.08);margin-bottom:24px;}
/* ── WELCOME GATE ───────────────────────────────────────── */
#welcomeGate{
  position:fixed;inset:0;z-index:300;
  background:linear-gradient(135deg,#050D1A 0%,#0C4A6E 60%,#050D1A 100%);
  display:flex;align-items:center;justify-content:center;
  padding:40px 20px;
}
#welcomeGate::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(56,189,248,0.06) 1px,transparent 1px);
  background-size:32px 32px;pointer-events:none;
}
#welcomeGate.hidden{display:none;}
.wg-card{
  background:rgba(255,255,255,0.04);border:1px solid rgba(56,189,248,0.2);
  border-radius:20px;padding:48px 44px 40px;width:100%;max-width:420px;
  backdrop-filter:blur(20px);position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;
}
.wg-logo{margin-bottom:28px;}
.wg-divider{height:1px;background:rgba(255,255,255,0.08);width:100%;margin-bottom:28px;}
.wg-btn-google{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:13px 24px;background:var(--sky);color:var(--ink);
  border:none;border-radius:8px;cursor:pointer;
  font-family:var(--sans);font-size:14px;font-weight:700;
  transition:opacity .15s,box-shadow .2s;margin-bottom:10px;
}
.wg-btn-google:hover{box-shadow:0 0 0 4px rgba(56,189,248,0.25);opacity:.92;}
.wg-btn-guest{
  display:block;width:100%;padding:13px 24px;
  background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.85);
  border:1px solid rgba(255,255,255,0.15);border-radius:8px;cursor:pointer;
  font-family:var(--sans);font-size:14px;font-weight:500;
  transition:background .15s,border-color .15s;margin-bottom:20px;
}
.wg-btn-guest:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.3);}
.wg-signin{
  font-family:var(--mono);font-size:11px;color:rgba(255,255,255,0.35);
  margin-bottom:20px;
}
.wg-signin a{
  color:var(--sky);text-decoration:none;cursor:pointer;
  transition:opacity .15s;
}
.wg-signin a:hover{opacity:.75;}
.wg-legal{
  font-family:var(--mono);font-size:10px;color:rgba(255,255,255,0.25);
  text-align:center;line-height:1.7;
}
.wg-legal a{
  color:rgba(255,255,255,0.45);text-decoration:underline;
  text-underline-offset:2px;transition:color .15s;
}
.wg-legal a:hover{color:rgba(255,255,255,0.75);}
/* Preloader */
#preloader{position:fixed;inset:0;z-index:999;background:#050D1A;
  display:none;flex-direction:column;align-items:center;justify-content:center;gap:28px;}
.preloader-logo{animation:pl-breathe 2s ease-in-out infinite;}
@keyframes pl-breathe{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.7;transform:scale(0.97);}}
.dot-sky-1{animation:pl-pulse 1.4s ease-in-out infinite 0s;}
.dot-sky-2{animation:pl-pulse 1.4s ease-in-out infinite .1s;}
.dot-sky-3{animation:pl-pulse 1.4s ease-in-out infinite .2s;}
.dot-sky-4{animation:pl-pulse 1.4s ease-in-out infinite .3s;}
.dot-sky-5{animation:pl-pulse 1.4s ease-in-out infinite .4s;}
.dot-ocean{animation:pl-pulse 1.4s ease-in-out infinite .6s;}
.dot-jade1{animation:pl-pulse 1.4s ease-in-out infinite .8s;}
.dot-jade2{animation:pl-pulse 1.4s ease-in-out infinite 1s;}
@keyframes pl-pulse{0%,100%{opacity:1;}50%{opacity:0.2;}}
.preloader-text{font-family:var(--mono);font-size:12px;letter-spacing:3px;text-transform:uppercase;
  color:rgba(56,189,248,0.5);animation:pl-blink 1.4s ease-in-out infinite;}
@keyframes pl-blink{0%,100%{opacity:.5;}50%{opacity:1;}}


/* HEADER */
header{display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;height:56px;background:var(--surface);
  border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;
  box-shadow:0 1px 3px rgba(0,0,0,0.06);}
header h1{display:none;}
.header-logo{display:flex;align-items:center;gap:10px;}
.header-wordmark{font-size:18px;font-weight:700;color:var(--navy);}
.header-wordmark span{color:var(--sky);}
.header-right{display:flex;gap:8px;align-items:center;}
.date-label{font-family:var(--mono);font-size:11px;color:var(--muted);}

/* SYNC PILL */
@keyframes sync-spin{to{transform:rotate(360deg);}}
.sync-pill{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  width:96px;height:28px;border-radius:99px;
  font-size:11px;font-weight:600;
  cursor:pointer;border:none;font-family:var(--sans);
  transition:background .5s ease,color .5s ease,border-color .5s ease,opacity .4s ease;
  flex-shrink:0;
}
.sync-pill.sp-synced{background:var(--jade-dim);color:var(--jade);border:1px solid var(--jade-bdr);cursor:default;}
.sync-pill.sp-error{background:rgba(148,163,184,0.08);color:var(--muted);border:1px solid var(--border-mid);}
.sync-pill.sp-error:hover{background:var(--surface2);color:var(--text);}
.sync-pill.sp-syncing{background:var(--sky-dim);color:var(--sky);border:1px solid var(--sky-bdr);cursor:default;}
.sync-pill svg .spin-icon{animation:sync-spin 1s linear infinite;transform-origin:center;display:inline-block;}


/* EXPORT BUTTON */
.btn-export{font-family:var(--mono);font-size:11px;padding:5px 12px;border-radius:6px;cursor:pointer;
  transition:all .2s;border:1px solid var(--border);background:transparent;color:var(--muted);letter-spacing:.3px;}
.btn-export:hover{border-color:var(--sky);color:var(--navy);}
.btn-export.dirty{border-color:var(--warn);background:var(--warn);color:var(--ink);font-weight:600;}
.btn-export.dirty:hover{opacity:.85;}



/* ── IMPORT PANEL ──────────────────────────────────────────── */
.import-shell { max-width: 860px; padding: 8px 0 40px; }
.imp-steps { display: flex; flex-direction: column; gap: 14px; }
.imp-step-card { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 20px 24px; display: flex; gap: 16px; align-items: flex-start; transition: all 0.2s; }
.imp-step-card.imp-active { border-color: rgba(14,165,233,0.3); background: #f0f9ff; }
.imp-step-card.imp-done   { border-color: #A7F3D0; opacity: 0.7; }
.imp-step-card.imp-locked { opacity: 0.35; pointer-events: none; }
.imp-step-num { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; flex-shrink: 0; margin-top: 2px; }
.imp-s-active { background: #DBEAFE; border: 1px solid #93C5FD; color: #1D4ED8; }
.imp-s-done   { background: #D1FAE5; border: 1px solid #6EE7B7; color: #065F46; }
.imp-s-locked { background: var(--surface2); border: 1px solid var(--border); color: var(--muted); }
.imp-step-body { flex: 1; min-width: 0; }
.imp-step-title { font-size: 14px; font-weight: 600; margin-bottom: 5px; color: var(--text); }
.imp-step-desc  { font-size: 12px; color: var(--muted); line-height: 1.7; }
.imp-timeline { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.imp-tl-pill { display: flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 8px; font-size: 11px; font-weight: 500; }
.imp-tl-fast { background: #D1FAE5; color: #065F46; border: 1px solid #A7F3D0; }
.imp-tl-slow { background: var(--surface2); color: var(--muted); border: 1px solid var(--border); }
/* ZIP drop zone */
.imp-zip-zone { border: 2px dashed var(--border); border-radius: 12px; padding: 32px 24px; text-align: center; cursor: pointer; transition: all 0.2s; background: var(--surface2); position: relative; margin-top: 12px; }
.imp-zip-zone input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.imp-zip-zone:hover { border-color: var(--sky); background: #F0F9FF; }
.imp-zip-zone.imp-dragover { border-color: var(--ocean); background: #E0F2FE; transform: scale(1.01); }
.imp-zip-zone.imp-dragover .imp-dz-icon { animation: imp-bounce 0.5s ease infinite alternate; }
.imp-zip-zone.imp-loaded { border-color: #6EE7B7; border-style: solid; background: #F0FDF9; }
.imp-zip-zone.imp-locked-zone { opacity: 0.4; cursor: not-allowed; pointer-events: none; }
@keyframes imp-bounce { from { transform: translateY(0); } to { transform: translateY(-5px); } }
.imp-dz-icon { font-size: 32px; margin-bottom: 10px; }
.imp-dz-main { font-size: 14px; font-weight: 600; margin-bottom: 4px; color: var(--text); }
.imp-dz-sub  { font-size: 11px; color: var(--muted); font-family: var(--mono); }
.imp-dz-found { display: flex; gap: 7px; justify-content: center; flex-wrap: wrap; margin-top: 12px; }
.imp-found-ok  { background: #D1FAE5; color: #065F46; border: 1px solid #A7F3D0; padding: 3px 10px; border-radius: 99px; font-size: 11px; font-weight: 500; }
.imp-found-miss{ background: var(--surface2); color: var(--muted); border: 1px solid var(--border); padding: 3px 10px; border-radius: 99px; font-size: 11px; }
/* Options */
.imp-options-panel { background: var(--surface2); border: 1px solid var(--border); border-radius: 10px; padding: 16px 20px; margin: 14px 0; }
.imp-options-title { font-size: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; }
.imp-option-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.imp-option-row:last-child { border-bottom: none; padding-bottom: 0; }
.imp-option-label { font-size: 13px; font-weight: 500; color: var(--text); }
.imp-option-desc  { font-size: 11px; color: var(--muted); margin-top: 2px; }
.imp-locked-pill  { font-size: 11px; font-weight: 500; color: var(--sky); background: #E0F2FE; border: 1px solid #BAE6FD; padding: 4px 10px; border-radius: 99px; white-space: nowrap; flex-shrink: 0; }
.imp-toggle { position: relative; width: 34px; height: 19px; flex-shrink: 0; margin-top: 2px; }
.imp-toggle input { opacity: 0; width: 0; height: 0; }
.imp-toggle-track { position: absolute; inset: 0; background: var(--border-mid); border-radius: 99px; cursor: pointer; transition: background 0.2s; }
.imp-toggle input:checked + .imp-toggle-track { background: var(--sky); }
.imp-toggle-track::after { content: ''; position: absolute; top: 2px; left: 2px; width: 15px; height: 15px; border-radius: 50%; background: white; transition: transform 0.2s; }
.imp-toggle input:checked + .imp-toggle-track::after { transform: translateX(15px); }
/* Preview table */
.imp-preview-section { margin: 14px 0; }
.imp-preview-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.imp-filter-search { padding: 5px 10px; border-radius: 7px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font-size: 11px; font-family: var(--sans); outline: none; width: 180px; }
.imp-filter-search:focus { border-color: var(--sky); }
.imp-table-wrap { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.imp-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 12px; }
.imp-table th { background: var(--surface2); padding: 9px 12px; text-align: left; font-size: 10px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--border); white-space: nowrap; }
.imp-table td { padding: 0 12px; height: 46px; max-height: 46px; overflow: hidden; border-bottom: 1px solid var(--border); color: var(--muted); vertical-align: middle; white-space: nowrap; font-size: 12px; }
.imp-table tr:last-child td { border-bottom: none; }
.imp-table td.imp-name-cell { color: var(--text); font-weight: 500; }
.imp-table td.imp-url-cell { font-family: var(--mono); font-size: 10px; color: var(--sky); overflow: hidden; text-overflow: ellipsis; }
.imp-table td.imp-src-td, .imp-table td.imp-annot-td { white-space: normal; padding: 0 12px; height: 46px; max-height: 46px; overflow: hidden; }
.imp-table tr.ghost-row td { height: 46px; border-bottom: 1px solid var(--border); pointer-events: none; }
.imp-table tr.ghost-row:last-child td { border-bottom: none; }
/* Source + status chips */
.imp-src-chip { display: inline-flex; align-items: center; padding: 2px 7px; border-radius: 99px; font-size: 10px; font-weight: 500; white-space: nowrap; }
.imp-src-conn   { background: #DBEAFE; color: #1D4ED8; }
.imp-src-invite { background: #FEF3C7; color: #92400E; }
.imp-src-follow { background: #EDE9FE; color: #5B21B6; }
.imp-src-cell   { display: flex; flex-direction: column; gap: 3px; overflow: hidden; max-height: 46px; }
.imp-status-chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 99px; font-size: 10px; font-weight: 500; }
.imp-sc-connected { background: #DBEAFE; color: #1D4ED8; }
.imp-sc-invited   { background: #FEF3C7; color: #92400E; }
.imp-sc-following { background: #EDE9FE; color: #5B21B6; }
.imp-sc-dot { width: 5px; height: 5px; border-radius: 50%; }
/* Annotation chips */
.imp-annot { display: inline-flex; align-items: center; gap: 4px; padding: 2px 7px; border-radius: 6px; font-size: 10px; font-weight: 600; white-space: nowrap; }
.imp-annot-col { display: flex; flex-direction: row; flex-wrap: nowrap; gap: 4px; overflow: hidden; max-width: 100%; align-items: center; }
.imp-annot-new      { background: #D1FAE5; color: #065F46; }
.imp-annot-enriched { background: #DBEAFE; color: #1D4ED8; }
.imp-annot-conflict { background: #FEE2E2; color: #991B1B; }
.imp-annot-message  { background: #EDE9FE; color: #5B21B6; }
.imp-count-chip { border: 1px solid transparent; transition: all 0.15s; cursor: pointer; border-radius: 6px; padding: 2px 7px; font-size: 10px; font-weight: 600; }
.imp-count-all  { font-size: 11px; color: var(--muted); font-family: var(--mono); padding: 2px 7px; border-radius: 6px; border: 1px solid transparent; cursor: pointer; }
.imp-count-all.active, .imp-count-all:hover { background: var(--surface2); border-color: var(--border); color: var(--text); }
/* Pagination */
.imp-pagination { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-top: 1px solid var(--border); background: var(--surface2); }
.imp-pg-info { font-size: 11px; color: var(--muted); font-family: var(--mono); }
.imp-pg-btn { width: 26px; height: 26px; border-radius: 6px; border: 1px solid var(--border); background: var(--surface); color: var(--muted); font-size: 15px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.imp-pg-btn:hover:not(:disabled) { border-color: var(--sky); color: var(--navy); }
.imp-pg-btn:disabled { opacity: 0.3; cursor: not-allowed; }
.imp-pg-input { width: 40px; height: 26px; text-align: center; border-radius: 6px; border: 1px solid var(--sky); background: #EFF6FF; color: var(--navy); font-size: 12px; font-weight: 600; font-family: var(--mono); outline: none; }
.imp-pg-total { font-size: 12px; color: var(--muted); font-family: var(--mono); }
/* Action bar */
.imp-action-bar { display: flex; align-items: center; justify-content: space-between; padding: 16px 0 0; border-top: 1px solid var(--border); margin-top: 8px; }
/* Result banner */
.imp-result-banner { display: none; background: #F0FDF9; border: 1px solid #A7F3D0; border-radius: 12px; padding: 20px 24px; margin-bottom: 20px; align-items: center; gap: 16px; }
.imp-result-banner.show { display: flex; }
.imp-result-icon { width: 40px; height: 40px; background: #D1FAE5; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
.imp-result-stats { display: flex; gap: 28px; margin-top: 10px; }
.imp-stat-num { font-size: 22px; font-weight: 700; color: var(--text); }
.imp-stat-label { font-size: 11px; color: var(--muted); margin-top: 2px; }
/* Conflict modal */
.imp-conflict-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.5); backdrop-filter: blur(4px); z-index: 300; align-items: center; justify-content: center; }
.imp-conflict-overlay.show { display: flex; }
.imp-conflict-card { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 28px 32px; width: 500px; max-width: 90vw; box-shadow: 0 20px 60px rgba(0,0,0,0.15); }
.imp-conflict-title { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.imp-conflict-sub   { font-size: 12px; color: var(--muted); }
.imp-conflict-badge { font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 6px; background: #FEE2E2; color: #991B1B; border: 1px solid #FECACA; }
.imp-conflict-name  { font-size: 17px; font-weight: 700; margin: 16px 0; color: var(--text); }
.imp-conflict-grid  { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.imp-conflict-col   { flex: 1; }
.imp-conflict-col-label { font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.imp-conflict-field { background: var(--surface2); border: 1px solid var(--border); border-radius: 7px; padding: 9px 12px; font-size: 13px; color: var(--muted); }
.imp-conflict-field.imp-highlight { background: #EFF6FF; border-color: #93C5FD; color: var(--text); }
.imp-conflict-arrow { font-size: 16px; color: var(--muted); flex-shrink: 0; margin-top: 22px; }
.imp-conflict-note-wrap { background: var(--surface2); border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; margin-bottom: 20px; }
.imp-conflict-note-label { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 4px; }
.imp-conflict-note-text { font-size: 11px; color: var(--sky); font-family: var(--mono); }
.imp-conflict-actions { display: flex; gap: 10px; justify-content: flex-end; }
/* Processing overlay */
.imp-processing-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.4); backdrop-filter: blur(3px); z-index: 200; align-items: center; justify-content: center; }
.imp-processing-overlay.show { display: flex; }
.imp-processing-card { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 36px 44px; text-align: center; max-width: 340px; box-shadow: 0 20px 60px rgba(0,0,0,0.1); }
.imp-spinner { width: 44px; height: 44px; border: 3px solid var(--border); border-top-color: var(--sky); border-radius: 50%; animation: imp-spin 0.9s linear infinite; margin: 0 auto 16px; }
@keyframes imp-spin { to { transform: rotate(360deg); } }

/* TOOLTIP */
[data-tip]{position:relative;cursor:default;}
@keyframes tipfade{from{opacity:0}to{opacity:1}}
[data-tip]:hover::after{animation:tipfade 0.1s ease 1s both;content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);background:#1e1e1e;border:1px solid var(--border);color:var(--text);font-family:var(--sans);font-size:12px;padding:7px 11px;border-radius:5px;white-space:pre-line;z-index:999;min-width:180px;max-width:300px;line-height:1.5;box-shadow:0 4px 16px rgba(0,0,0,.6);}
[data-tip]:hover::before{animation:tipfade 0.1s ease 1s both;content:'';position:absolute;bottom:calc(100% + 1px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--border);z-index:1000;}

/* TODAY PANEL */
.today-row{display:flex;gap:16px;align-items:stretch;margin-bottom:20px;}
.today-panel{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);
  border-radius:12px;padding:14px 18px;border-left:3px solid var(--sky);}
.today-panel-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.today-panel h2{font-family:var(--mono);font-size:10px;color:var(--navy);letter-spacing:2px;text-transform:uppercase;}
.today-count-pill{font-family:var(--mono);font-size:10px;padding:2px 8px;border-radius:99px;
  background:#EFF6FF;border:1px solid #BFDBFE;color:var(--sky);font-weight:600;}
.today-help{font-family:var(--mono);font-size:10px;color:var(--muted);cursor:help;
  border:1px solid var(--border);border-radius:3px;padding:1px 6px;margin-left:auto;}
#todayActions{}
.action-item{display:flex;align-items:center;gap:8px;padding:5px 0;
  border-bottom:1px solid var(--border);font-size:12px;cursor:pointer;
  border-radius:3px;transition:background .1s;color:var(--text);}
.action-item:last-child{border-bottom:none;}
.action-item:hover{background:var(--surface2);padding-left:4px;}
.action-kind{font-family:var(--mono);font-size:9px;padding:2px 6px;border-radius:3px;
  font-weight:600;letter-spacing:.5px;white-space:nowrap;}
.kind-app{background:#EFF6FF;color:#1D4ED8;border:1px solid #BFDBFE;}
.kind-contact{background:#FAF5FF;color:#7C3AED;border:1px solid #DDD6FE;}


/* POMODORO TIMER */
.pomo-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;flex-shrink:0;}
.pomo-wrap{display:flex;gap:10px;align-items:center;}
.pomo-btns{display:flex;flex-direction:column;gap:6px;}
.pomo-btn{font-family:var(--mono);font-size:11px;padding:4px 12px;border-radius:6px;cursor:pointer;
  min-width:46px;text-align:center;border:1px solid var(--border);
  background:transparent;color:var(--muted);transition:all .2s;}
.pomo-btn:hover{border-color:var(--sky);color:var(--navy);}
.pomo-btn.sel{border-color:var(--sky);background:#EFF6FF;color:var(--navy);font-weight:600;}
.pomo-btn.dim{opacity:.3;pointer-events:none;}
.pomo-btn.go-on{border-color:var(--sky);background:var(--sky);color:var(--ink);font-weight:bold;}
.pomo-btn.go-pause{border-color:var(--warn);background:var(--warn);color:var(--ink);font-weight:bold;}
.pomo-bezel{width:130px;height:130px;background:var(--slate);border-radius:14px;padding:6px;flex-shrink:0;}
.pomo-screen{width:100%;height:100%;background:#000;border-radius:10px;position:relative;overflow:hidden;}
.pomo-screen canvas{position:absolute;top:0;left:0;width:100%;height:100%;}
.pomo-msg{position:absolute;bottom:5px;left:0;right:0;text-align:center;font-size:9px;
  color:var(--warn);opacity:0;transition:opacity .3s;cursor:pointer;letter-spacing:.5px;}
.pomo-msg.show{opacity:1;}

/* TABS */
.tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--border);}
.tab{font-family:var(--sans);font-size:14px;font-weight:500;padding:12px 20px;cursor:pointer;
  color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-2px;
  transition:color .15s,border-color .15s;background:none;border-top:none;border-left:none;border-right:none;}
.tab:hover{color:var(--text);}
.tab.active{color:var(--navy);border-bottom-color:var(--sky);font-weight:600;}
.panel{display:none;}.panel.active{display:block;}

/* TOOLBAR */
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px;}
.toolbar-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.stat-row{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap;}
.stat-chip{font-family:var(--mono);font-size:11px;padding:5px 12px;border-radius:6px;
  border:1px solid var(--border);background:var(--surface2);color:var(--muted);
  cursor:pointer;transition:all .15s;user-select:none;}
.stat-chip span{color:var(--text);font-weight:600;margin-left:5px;}
.stat-chip.highlight span{color:var(--sky);}
.stat-chip:hover{border-color:var(--sky);color:var(--navy);}
.stat-chip.active-filter{border-color:var(--sky);background:#EFF6FF;color:var(--navy);}
.stat-chip.active-filter span{color:var(--sky);}
.row-count{font-family:var(--mono);font-size:11px;color:var(--muted);margin-left:4px;}
.row-count span{color:var(--text);}
.btn{display:inline-flex;align-items:center;gap:5px;padding:9px 16px;border-radius:10px;font:700 12px var(--sans);border:none;cursor:pointer;transition:all .14s;white-space:nowrap;}
.btn-accent{background:var(--ocean);color:#fff;}
.btn-accent:hover{background:var(--sky);transform:translateY(-1px);}
.btn-muted{background:var(--surface);border:1px solid var(--border-mid);color:var(--text2);}
.btn-muted:hover{border-color:var(--sky);color:var(--sky);}
.btn-danger{background:transparent;border:1px solid #FECDD3;color:var(--danger);}
.btn-danger:hover{background:#FFF1F2;}
.toggle-btn{font-family:var(--mono);font-size:10px;padding:5px 10px;border-radius:6px;cursor:pointer;
  border:1px solid var(--border);background:transparent;color:var(--text);transition:all .15s;}
.toggle-btn.active{border-color:#FECDD3;color:var(--danger);background:#FFF1F2;}
.group-toggle{font-family:var(--mono);font-size:10px;padding:5px 10px;border-radius:6px;cursor:pointer;
  border:1px solid var(--border);background:transparent;color:var(--text);transition:all .15s;}
.group-toggle:hover{border-color:var(--sky);color:var(--navy);}
.group-toggle.active{border-color:var(--sky);background:#EFF6FF;color:var(--navy);}
tr.group-header td{background:#EFF6FF;color:var(--navy);font-family:var(--mono);font-size:11px;
  font-weight:600;letter-spacing:.5px;padding:6px 14px;border-bottom:1px solid #BFDBFE;border-top:2px solid #BFDBFE;}
tr.group-header td .grp-count{background:#DBEAFE;color:var(--navy);border:1px solid #BFDBFE;
  border-radius:20px;padding:1px 8px;font-size:10px;margin-left:8px;}
.search-wrap{position:relative;display:inline-flex;align-items:center;}
.search-input{font-family:var(--mono);font-size:12px;padding:6px 28px 6px 10px;
  background:var(--surface);border:1px solid var(--border);color:var(--text);
  border-radius:6px;width:200px;outline:none;transition:border-color .15s;}
.search-input:focus{border-color:var(--sky);}
.search-clear{position:absolute;right:7px;cursor:pointer;color:var(--muted);font-size:13px;
  line-height:1;background:none;border:none;padding:0;}
.search-clear:hover{color:var(--text);}

/* TABLE */
.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;
  box-shadow:0 1px 3px rgba(0,0,0,0.04);margin-bottom:20px;}
table{width:100%;border-collapse:collapse;font-size:13px;}
th{font-family:var(--mono);font-size:10px;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--muted);text-align:left;padding:10px 14px;border-bottom:2px solid var(--border);
  white-space:nowrap;cursor:pointer;user-select:none;background:var(--surface2);}
th:hover{color:var(--navy);}
th.sorted .sort-arrow{opacity:1;color:var(--sky);}
.sort-arrow{margin-left:4px;opacity:.3;}
td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text);}
tr:hover td{background:var(--surface2);}
tr:last-child td{border-bottom:none;}

/* PILLS */
.pill{font-family:var(--mono);font-size:10px;padding:3px 9px;border-radius:99px;font-weight:500;
  display:inline-block;white-space:nowrap;}
.s-applied  {background:#EFF6FF;color:#1D4ED8;border:1px solid #BFDBFE;}
.s-waiting  {background:#FAF5FF;color:#7C3AED;border:1px solid #DDD6FE;}
.s-interview{background:#F0FDF9;color:#065F46;border:1px solid #A7F3D0;}
.s-offer    {background:#FFFBEB;color:#92400E;border:1px solid #FDE68A;}
.s-rejected {background:#FFF1F2;color:#BE123C;border:1px solid #FECDD3;}
.s-withdrawn{background:#F8FAFC;color:#64748B;border:1px solid #E2E8F0;}
.p-1{background:#F0FDF9;color:#065F46;border:1px solid #A7F3D0;}
.p-2{background:#EFF6FF;color:#1E40AF;border:1px solid #BFDBFE;}
.p-3{background:#FFF7ED;color:#9A3412;border:1px solid #FED7AA;}
.p-4{background:#F8FAFC;color:#64748B;border:1px solid #E2E8F0;}
.c-pending  {background:#FFFBEB;color:#92400E;border:1px solid #FDE68A;}
.c-connected{background:#F0FDF9;color:#065F46;border:1px solid #A7F3D0;}
.c-following{background:#EFF6FF;color:#1E40AF;border:1px solid #BFDBFE;}
.c-rejected {background:#FFF1F2;color:#BE123C;border:1px solid #FECDD3;}
.c-withdrawn{background:#F8FAFC;color:#64748B;border:1px solid #E2E8F0;}
.pr-hot  {background:#FFF1F2;color:#BE123C;border:1px solid #FECDD3;}
.pr-warm {background:#FFFBEB;color:#92400E;border:1px solid #FDE68A;}
.pr-cold {background:#EFF6FF;color:#1E40AF;border:1px solid #BFDBFE;}
.pr-dead {background:#F8FAFC;color:#64748B;border:1px solid #E2E8F0;}
.pr-paused{background:#FAF5FF;color:#7C3AED;border:1px solid #DDD6FE;}
.followup-due{color:#BE123C;font-family:var(--mono);font-size:11px;font-weight:600;}
.followup-today{color:#92400E;font-family:var(--mono);font-size:11px;font-weight:600;}
.followup-ok{color:var(--muted);font-family:var(--mono);font-size:11px;}
.followup-none{color:#CBD5E1;font-family:var(--mono);font-size:11px;}
.badge{font-family:var(--mono);font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;white-space:nowrap;}
.badge-overdue{background:#FFF1F2;color:#BE123C;border:1px solid #FECDD3;}
.badge-today{background:#FFFBEB;color:#92400E;border:1px solid #FDE68A;}
.badge-upcoming{background:var(--surface2);color:var(--muted);border:1px solid var(--border);}
.rej-warn{font-size:10px;color:#BE123C;font-family:var(--mono);margin-left:6px;}
.row-rejected td{opacity:.5;}
.row-rejected td:first-child{border-left:3px solid #FECDD3;}

/* ════════════════════════════════════════════════════
   DARK MODE OVERRIDES — applications, contacts, import
   All hardcoded light colors remapped to dark equivalents
════════════════════════════════════════════════════ */

/* Status pills */
body.v2-dark .s-applied  {background:rgba(56,189,248,0.12);color:#38BDF8;border-color:rgba(56,189,248,0.25);}
body.v2-dark .s-waiting  {background:rgba(167,139,250,0.12);color:#A78BFA;border-color:rgba(167,139,250,0.25);}
body.v2-dark .s-interview{background:rgba(46,204,122,0.12);color:#2ECC7A;border-color:rgba(46,204,122,0.25);}
body.v2-dark .s-offer    {background:rgba(245,158,11,0.12);color:#F59E0B;border-color:rgba(245,158,11,0.25);}
body.v2-dark .s-rejected {background:rgba(244,63,94,0.12);color:#F43F5E;border-color:rgba(244,63,94,0.25);}
body.v2-dark .s-withdrawn{background:rgba(148,163,184,0.10);color:#94A3B8;border-color:rgba(148,163,184,0.20);}

/* Priority pills */
body.v2-dark .p-1{background:rgba(46,204,122,0.12);color:#2ECC7A;border-color:rgba(46,204,122,0.25);}
body.v2-dark .p-2{background:rgba(56,189,248,0.12);color:#38BDF8;border-color:rgba(56,189,248,0.25);}
body.v2-dark .p-3{background:rgba(245,158,11,0.12);color:#F59E0B;border-color:rgba(245,158,11,0.25);}
body.v2-dark .p-4{background:rgba(148,163,184,0.10);color:#94A3B8;border-color:rgba(148,163,184,0.20);}

/* Contact status pills */
body.v2-dark .c-pending  {background:rgba(245,158,11,0.12);color:#F59E0B;border-color:rgba(245,158,11,0.25);}
body.v2-dark .c-connected{background:rgba(46,204,122,0.12);color:#2ECC7A;border-color:rgba(46,204,122,0.25);}
body.v2-dark .c-following{background:rgba(56,189,248,0.12);color:#38BDF8;border-color:rgba(56,189,248,0.25);}
body.v2-dark .c-rejected {background:rgba(244,63,94,0.12);color:#F43F5E;border-color:rgba(244,63,94,0.25);}
body.v2-dark .c-withdrawn{background:rgba(148,163,184,0.10);color:#94A3B8;border-color:rgba(148,163,184,0.20);}

/* Priority labels */
body.v2-dark .pr-hot  {background:rgba(244,63,94,0.12);color:#F43F5E;border-color:rgba(244,63,94,0.25);}
body.v2-dark .pr-warm {background:rgba(245,158,11,0.12);color:#F59E0B;border-color:rgba(245,158,11,0.25);}
body.v2-dark .pr-cold {background:rgba(56,189,248,0.12);color:#38BDF8;border-color:rgba(56,189,248,0.25);}
body.v2-dark .pr-dead {background:rgba(148,163,184,0.10);color:#94A3B8;border-color:rgba(148,163,184,0.20);}
body.v2-dark .pr-paused{background:rgba(167,139,250,0.12);color:#A78BFA;border-color:rgba(167,139,250,0.25);}

/* Active filter chips */
body.v2-dark .stat-chip.active-filter{background:rgba(56,189,248,0.14);color:var(--sky);border-color:rgba(56,189,248,0.28);}
body.v2-dark .group-toggle.active{background:rgba(56,189,248,0.14);color:var(--sky);border-color:rgba(56,189,248,0.28);}
body.v2-dark .toggle-btn.active{background:rgba(244,63,94,0.12);color:#F43F5E;border-color:rgba(244,63,94,0.25);}
body.v2-dark .kind-app{background:rgba(56,189,248,0.12);color:#38BDF8;border-color:rgba(56,189,248,0.25);}

/* Table group headers */
body.v2-dark tr.group-header td{background:rgba(56,189,248,0.08);color:var(--sky);}
body.v2-dark tr.group-header td .grp-count{background:rgba(56,189,248,0.14);color:var(--sky);border-color:rgba(56,189,248,0.25);}

/* Overdue/today badges */
body.v2-dark .badge-overdue{background:rgba(244,63,94,0.12);color:#F43F5E;border-color:rgba(244,63,94,0.25);}
body.v2-dark .badge-today{background:rgba(245,158,11,0.12);color:#F59E0B;border-color:rgba(245,158,11,0.25);}
body.v2-dark .followup-due{color:#F43F5E;}
body.v2-dark .followup-today{color:#F59E0B;}
body.v2-dark .row-rejected td:first-child{border-left-color:rgba(244,63,94,0.3);}

/* Pomo selected button */
body.v2-dark .pomo-btn.sel{background:rgba(56,189,248,0.14);border-color:rgba(56,189,248,0.28);color:var(--sky);}

/* Mismatch banner */
body.v2-dark .mismatch-banner{background:rgba(244,63,94,0.10);border-color:rgba(244,63,94,0.25);}
body.v2-dark .mismatch-banner span{color:#F43F5E;}

/* ── Import panel dark overrides ── */
body.v2-dark .imp-step-card{background:var(--surface);}
body.v2-dark .imp-step-card.imp-active{background:rgba(14,165,233,0.08);border-color:rgba(14,165,233,0.25);}
body.v2-dark .imp-step-card.imp-done{background:rgba(46,204,122,0.06);border-color:rgba(46,204,122,0.20);}
body.v2-dark .imp-s-active{background:rgba(56,189,248,0.14);border-color:rgba(56,189,248,0.28);color:var(--sky);}
body.v2-dark .imp-s-done{background:rgba(46,204,122,0.12);border-color:rgba(46,204,122,0.25);color:#2ECC7A;}
body.v2-dark .imp-tl-fast{background:rgba(46,204,122,0.12);color:#2ECC7A;border-color:rgba(46,204,122,0.25);}
body.v2-dark .imp-tl-slow{background:rgba(255,255,255,0.05);color:var(--muted);border-color:var(--border);}
body.v2-dark .imp-zip-zone{background:var(--surface2);}
body.v2-dark .imp-zip-zone:hover{background:rgba(14,165,233,0.08);}
body.v2-dark .imp-zip-zone.imp-loaded{background:rgba(46,204,122,0.08);border-color:rgba(46,204,122,0.25);}
body.v2-dark .imp-src-conn  {background:rgba(56,189,248,0.12);color:#38BDF8;}
body.v2-dark .imp-src-invite{background:rgba(245,158,11,0.12);color:#F59E0B;}
body.v2-dark .imp-src-follow{background:rgba(167,139,250,0.12);color:#A78BFA;}
body.v2-dark .imp-sc-connected{background:rgba(56,189,248,0.12);color:#38BDF8;}
body.v2-dark .imp-sc-invited{background:rgba(245,158,11,0.12);color:#F59E0B;}
body.v2-dark .imp-annot-new{background:rgba(46,204,122,0.12);color:#2ECC7A;}
body.v2-dark .imp-annot-enriched{background:rgba(56,189,248,0.12);color:#38BDF8;}
body.v2-dark .imp-annot-conflict{background:rgba(244,63,94,0.12);color:#F43F5E;}
body.v2-dark .imp-annot-message{background:rgba(167,139,250,0.12);color:#A78BFA;}
body.v2-dark .imp-pg-input{background:rgba(56,189,248,0.10);border-color:rgba(56,189,248,0.28);color:var(--sky);}
body.v2-dark .imp-result-banner{background:rgba(46,204,122,0.08);border-color:rgba(46,204,122,0.25);}
body.v2-dark .imp-conflict-field.imp-highlight{background:rgba(56,189,248,0.10);border-color:rgba(56,189,248,0.25);color:var(--text);}
body.v2-dark .imp-conflict-badge{background:rgba(244,63,94,0.12);color:#F43F5E;border-color:rgba(244,63,94,0.25);}

/* th hover */
body.v2-dark th:hover{color:var(--sky);}

/* confirm card */
body.v2-dark .confirm-card{background:rgba(46,204,122,0.08);border-color:rgba(46,204,122,0.25);}
body.v2-dark .confirm-card-name{color:#2ECC7A;}

/* ── Today panel legacy items ── */
body.v2-dark .today-panel{background:var(--surface);border-color:var(--border);}
body.v2-dark .today-action-item{border-color:var(--border);}

/* ── app-content background ── */
body.v2-dark .app-content{background:var(--bg);}
body.v2-dark #v2-panel-applications{background:var(--bg);}

/* ── Search bar in panels ── */
body.v2-dark .search-input{background:var(--surface);border-color:var(--border);color:var(--text);}
body.v2-dark .search-input::placeholder{color:var(--muted);}

/* ── Filter chips ── */
body.v2-dark .filter-chip{background:var(--surface);border-color:var(--border);color:var(--muted);}
body.v2-dark .filter-chip.active{background:rgba(56,189,248,0.14);border-color:rgba(56,189,248,0.28);color:var(--sky);}

/* ── Action buttons in tables ── */
body.v2-dark .action-btn{background:var(--surface2);border-color:var(--border);color:var(--muted);}
body.v2-dark .action-btn:hover{border-color:var(--sky);color:var(--sky);}

/* ── Modal ── */
body.v2-dark .modal{background:var(--surface);border-color:var(--border);}
body.v2-dark .modal-header{border-color:var(--border);}
body.v2-dark .modal-footer{background:var(--surface);border-color:var(--border);}
body.v2-dark .form-row input,
body.v2-dark .form-row select,
body.v2-dark .form-row textarea{background:var(--surface2);border-color:var(--border);color:var(--text);}
body.v2-dark .form-row label{color:var(--muted);}
body.v2-dark #c-company{color-scheme:dark;}

/* ═══════════════════════════════════════════════════════ */

/* MISMATCH BANNER */
.mismatch-banner{display:none;background:#FFF1F2;border:1px solid #FECDD3;border-radius:8px;
  padding:10px 16px;margin-bottom:12px;display:flex;align-items:center;gap:12px;font-size:13px;}
.mismatch-banner.hidden{display:none;}
.mismatch-banner span{flex:1;color:#BE123C;}
.btn-fix{font-family:var(--mono);font-size:11px;padding:5px 14px;background:var(--danger);
  border:none;color:#fff;border-radius:4px;cursor:pointer;font-weight:600;}
.btn-fix:hover{opacity:.85;}
.btn-dismiss-banner{font-family:var(--mono);font-size:11px;padding:5px 10px;
  background:transparent;border:1px solid #FECDD3;color:#BE123C;border-radius:4px;cursor:pointer;}

/* ACTION BUTTONS */
.action-btn{font-family:var(--mono);font-size:10px;padding:3px 8px;background:transparent;
  border:1px solid var(--border);color:var(--muted);border-radius:4px;cursor:pointer;
  transition:all .15s;margin-right:3px;white-space:nowrap;}
.action-btn:hover{border-color:var(--sky);color:var(--navy);}
.action-btn.danger:hover{border-color:#FECDD3;color:#BE123C;}
.action-btn.li:hover{border-color:var(--ocean);color:var(--ocean);}

/* ICON ACTION BUTTONS */
.action-icon-row{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;}
.icon-action-btn{
  width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;
  padding:0;border:1px solid var(--border);border-radius:6px;background:transparent;
  color:var(--muted);cursor:pointer;transition:all .15s;vertical-align:middle;
}
.icon-action-btn:hover{border-color:var(--sky);color:var(--navy);background:var(--surface2);}
.icon-action-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.icon-action-btn svg .accent-rose{stroke:var(--rose);}
.icon-action-btn.edit:hover{border-color:var(--sky);color:var(--navy);}
.icon-action-btn.contacts:hover,.icon-action-btn.apps:hover{border-color:var(--ocean);color:var(--ocean);}
.icon-action-btn.reject:hover,.icon-action-btn.delete:hover{border-color:#FECDD3;color:#BE123C;background:#FFF1F2;}
.icon-action-btn.count-btn{
  width:58px;padding:0 6px;gap:5px;font-family:var(--mono);font-size:10px;font-weight:600;
}
.icon-action-btn.count-btn .count{min-width:10px;text-align:center;line-height:1;color:inherit;}
body.v2-dark .icon-action-btn{background:var(--surface2);border-color:var(--border);color:var(--muted);}
body.v2-dark .icon-action-btn:hover{background:rgba(56,189,248,0.10);border-color:rgba(56,189,248,0.28);color:var(--sky);}
body.v2-dark .icon-action-btn.contacts:hover,body.v2-dark .icon-action-btn.apps:hover{background:rgba(14,165,233,0.12);border-color:rgba(14,165,233,0.28);color:var(--ocean);}
body.v2-dark .icon-action-btn.reject:hover,body.v2-dark .icon-action-btn.delete:hover{background:rgba(244,63,94,0.12);border-color:rgba(244,63,94,0.25);color:#F43F5E;}
/* Stacked undo toasts */
.action-toast-stack{
  position:fixed;right:22px;bottom:22px;z-index:450;
  display:flex;flex-direction:column;align-items:flex-end;gap:10px;
  pointer-events:none;max-width:min(420px,calc(100vw - 24px));
}
.action-toast{
  display:flex;align-items:center;gap:14px;max-width:420px;width:max-content;
  min-width:min(320px,calc(100vw - 24px));pointer-events:auto;
  background:var(--surface);border:1px solid var(--border-mid);border-radius:12px;
  box-shadow:0 14px 44px rgba(0,0,0,.18);padding:12px 14px;
  opacity:0;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease;
}
.action-toast.show{opacity:1;transform:translateY(0);}
.action-toast-msg{font-size:12px;color:var(--text);line-height:1.45;flex:1;min-width:0;}
.action-toast-undo{
  border:none;background:transparent;color:var(--sky);cursor:pointer;
  font:700 11px var(--mono);padding:0;white-space:nowrap;
}
.action-toast-undo:hover{text-decoration:underline;}
body.v2-dark .action-toast{box-shadow:0 20px 60px rgba(0,0,0,.42);}

.no-wrap{white-space:nowrap;}
.empty-state{text-align:center;padding:40px;color:var(--muted);font-family:var(--mono);font-size:12px;}

/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,0.6);
  z-index:100;align-items:center;justify-content:center;overflow:hidden;}
.modal-overlay.open{display:flex;}
.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;
  width:600px;max-width:calc(100vw - 40px);max-height:calc(100vh - 60px);
  display:flex;flex-direction:column;overscroll-behavior:contain;
  box-shadow:0 20px 60px rgba(0,0,0,0.15);}
.modal-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px 16px;border-bottom:1px solid var(--border);}
.modal-header h3{font-family:var(--mono);font-size:12px;color:var(--navy);
  letter-spacing:1px;text-transform:uppercase;display:flex;align-items:center;gap:6px;}
.modal-body{flex:1;overflow-y:auto;padding:18px 24px;overscroll-behavior:contain;}
.modal-footer{flex-shrink:0;display:flex;gap:8px;justify-content:flex-end;
  padding:14px 24px;border-top:1px solid var(--border);background:var(--surface);}
.nav-arrows{display:flex;align-items:center;gap:6px;}
.nav-btn{font-family:var(--mono);font-size:11px;padding:4px 10px;background:transparent;
  border:1px solid var(--border);color:var(--muted);border-radius:4px;cursor:pointer;transition:all .15s;}
.nav-btn:hover:not(:disabled){border-color:var(--sky);color:var(--navy);}
.nav-btn:disabled{opacity:.3;cursor:not-allowed;}
.nav-label{font-family:var(--mono);font-size:10px;color:var(--muted);min-width:60px;text-align:center;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-grid .full{grid-column:1/-1;}
.form-row{display:flex;flex-direction:column;}
.form-row label{font-family:var(--mono);font-size:10px;color:var(--muted);
  letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
.form-row input,.form-row select,.form-row textarea{background:var(--surface2);
  border:1px solid var(--border);color:var(--text);font-family:var(--sans);
  font-size:13px;padding:7px 10px;border-radius:6px;outline:none;transition:border-color .15s;}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--sky);}
.form-row select option{background:var(--surface);}
.form-row textarea{resize:vertical;min-height:70px;max-height:160px;}
.notes-counter{
  font-family:var(--mono);font-size:10px;color:var(--muted);
  text-align:right;margin-top:4px;display:none;
}
.notes-counter.visible{display:block;}
.notes-counter.warn{color:var(--warn);}
.notes-counter.full{color:#F43F5E;}
.form-row input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;}
.section-divider{grid-column:1/-1;border:none;border-top:1px solid var(--border);margin:2px 0;}
.cred-toggle{grid-column:1/-1;display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;padding:4px 0;}
.cred-toggle-label{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;}
.cred-toggle-arrow{font-family:var(--mono);font-size:10px;color:var(--muted);transition:transform .2s;}
.cred-toggle-arrow.open{transform:rotate(90deg);}
.cred-fields{grid-column:1/-1;display:none;}
.cred-fields.open{display:contents;}
.btn-cancel{font-family:var(--mono);font-size:11px;padding:7px 16px;background:transparent;
  border:1px solid var(--border);color:var(--muted);border-radius:6px;cursor:pointer;}
.btn-cancel:hover{border-color:var(--sky);color:var(--navy);}
.btn-save{font-family:var(--mono);font-size:11px;padding:7px 16px;background:var(--sky);
  border:1px solid var(--sky);color:var(--ink);border-radius:6px;cursor:pointer;font-weight:700;}
.unsaved-dot{width:7px;height:7px;border-radius:50%;background:var(--warn);
  display:inline-block;opacity:0;transition:opacity .2s;}
.unsaved-dot.visible{opacity:1;}

/* URL + DATE FIELD BUTTONS */
.url-field-wrap{display:flex;align-items:stretch;}
.url-open-btn{flex-shrink:0;width:30px;display:flex;align-items:center;justify-content:center;
  background:var(--surface2);border:1px solid var(--border);border-right:none;
  border-radius:6px 0 0 6px;cursor:pointer;color:var(--muted);font-size:13px;
  transition:all .15s;text-decoration:none;}
.url-open-btn:hover{background:#EFF6FF;border-color:var(--sky);color:var(--navy);}
.url-open-btn.disabled{opacity:.3;pointer-events:none;}
.url-field-wrap input,.url-field-wrap select{border-radius:0 6px 6px 0;flex:1;min-width:0;}
.today-btn{flex-shrink:0;width:30px;display:flex;align-items:center;justify-content:center;
  background:var(--surface2);border:1px solid var(--border);border-right:none;
  border-radius:6px 0 0 6px;cursor:pointer;color:var(--muted);font-family:var(--mono);
  font-size:10px;font-weight:600;transition:all .15s;user-select:none;}
.today-btn:hover{background:#EFF6FF;border-color:var(--sky);color:var(--navy);}
.skull-btn{flex-shrink:0;width:30px;display:flex;align-items:center;justify-content:center;
  background:var(--surface2);border:1px solid var(--border);border-right:none;
  border-radius:6px 0 0 6px;cursor:pointer;font-size:13px;transition:all .15s;}
.skull-btn:hover{background:#FFF1F2;border-color:#FECDD3;}

/* CONFIRM CARD */
.confirm-card{background:#F0FDF9;border:1px solid #A7F3D0;border-radius:8px;
  padding:14px 16px;margin-bottom:16px;display:none;}
.confirm-card.visible{display:block;}
.confirm-card-name{font-weight:500;font-size:14px;color:#065F46;margin-bottom:2px;}
.confirm-card-meta{font-size:12px;color:var(--muted);font-family:var(--mono);}
.confirm-card-actions{display:flex;gap:8px;margin-top:12px;}
.confirm-tally{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:8px;}
.confirm-tally span{color:#065F46;font-weight:600;}


/* ── Theme ripple overlay ─────────────────────────────────────
   Expands from toggle button, covers screen, theme switches,
   then collapses back to button while shifting color to Sky.
──────────────────────────────────────────────────────────────── */
#v2-theme-ripple {
  position: fixed;
  border-radius: 50%;
  pointer-events: none;
  z-index: 99999;
  transform: scale(0);
  opacity: 0.08;
  will-change: transform, opacity, background-color;
}

/* ── FORGOT PASSWORD ─────────────────────────────────────── */
.load-box{min-height:480px;display:flex;flex-direction:column;}
.login-label-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px;}
.login-label-row label{margin-bottom:0;}
.forgot-inline{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,0.3);text-decoration:none;
  transition:color .15s;cursor:pointer;}
.forgot-inline:hover{color:var(--sky);}
/* Login/Forgot — stack in same card space, no layout shift */
.load-card-inner{position:relative;flex:1;min-height:260px;}
#loginBlock,#forgotBlock{
  position:absolute;top:0;left:0;right:0;
  transition:opacity .25s ease;}
#loginBlock{opacity:1;pointer-events:auto;}
#loginBlock.hidden-fade{opacity:0;pointer-events:none;}
#forgotBlock{opacity:0;pointer-events:none;display:block;}
#forgotBlock.visible{opacity:1;pointer-events:auto;}
#forgotBlock .forgot-back{font-family:var(--mono);font-size:11px;color:rgba(255,255,255,0.35);
  cursor:pointer;margin-bottom:20px;display:inline-flex;align-items:center;gap:6px;
  transition:color .15s;border:none;background:none;padding:0;}
#forgotBlock .forgot-back:hover{color:var(--sky);}
#forgotBlock h3{font-family:var(--sans);font-size:18px;font-weight:700;color:#fff;margin-bottom:6px;}
#forgotBlock p{font-size:12px;color:rgba(255,255,255,0.4);margin-bottom:20px;line-height:1.6;font-family:var(--mono);}
#forgotBlock .form-row{margin-bottom:16px;}
#forgotBlock label{display:block;font-size:11px;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,0.4);margin-bottom:6px;font-family:var(--mono);}
#forgotBlock input{width:100%;padding:11px 14px;background:rgba(255,255,255,0.06);
  border:1px solid rgba(56,189,248,0.2);border-radius:8px;color:#fff;
  font-family:var(--sans);font-size:14px;outline:none;
  transition:border-color .2s,box-shadow .2s,background .2s;}
#forgotBlock input:hover{border-color:rgba(56,189,248,0.45);background:rgba(255,255,255,0.09);}
#forgotBlock input:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(56,189,248,0.18);background:rgba(255,255,255,0.1);}
#forgotBlock input::placeholder{color:rgba(255,255,255,0.2);}
.forgot-success{background:rgba(46,204,122,0.1);border:1px solid rgba(46,204,122,0.3);
  border-radius:8px;padding:16px;text-align:center;display:none;margin-top:16px;}
.forgot-success p{font-size:12px;color:#2ECC7A;font-family:var(--mono);line-height:1.7;}

/* ── PROFILE PAGE ────────────────────────────────────────── */
#profilePage{display:none;position:fixed;inset:0;z-index:150;background:var(--bg);overflow-y:auto;}
.profile-header{background:var(--surface);border-bottom:1px solid var(--border);
  padding:0 28px;height:56px;display:flex;align-items:center;
  justify-content:space-between;position:sticky;top:0;z-index:10;
  box-shadow:0 1px 3px rgba(0,0,0,0.06);}
.profile-header-left{display:flex;align-items:center;gap:12px;}
.profile-back{font-family:var(--mono);font-size:11px;padding:5px 12px;
  border-radius:6px;border:1px solid var(--border);background:transparent;
  color:var(--muted);cursor:pointer;transition:all .15s;}
.profile-back:hover{border-color:var(--sky);color:var(--navy);}
.profile-title{font-size:15px;font-weight:600;color:var(--navy);}
.profile-version{font-family:var(--mono);font-size:10px;color:var(--muted);opacity:0.55;letter-spacing:0.04em;user-select:none;}
.profile-body{max-width:560px;margin:40px auto;padding:0 28px 80px;}
.profile-section{background:var(--surface);border:1px solid var(--border);
  border-radius:12px;padding:24px;margin-bottom:16px;}
.profile-section-title{font-family:var(--mono);font-size:10px;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:16px;}
.profile-row{display:flex;align-items:center;justify-content:space-between;
  padding:10px 0;border-bottom:1px solid var(--border);}
.profile-row:last-child{border-bottom:none;padding-bottom:0;}
.profile-row-label{font-family:var(--mono);font-size:11px;color:var(--muted);}
.profile-row-value{font-size:13px;font-weight:500;color:var(--text);}
.profile-plan-badge{font-family:var(--mono);font-size:11px;padding:4px 12px;
  border-radius:99px;background:#EFF6FF;border:1px solid #BFDBFE;color:var(--navy);font-weight:600;}
.profile-plan-badge.pro{background:#F0FDF9;border-color:#A7F3D0;color:#065F46;}
.profile-danger-section{background:#FFF1F2;border:1px solid #FECDD3;
  border-radius:12px;padding:24px;margin-bottom:16px;}
.profile-danger-title{font-family:var(--mono);font-size:10px;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;color:#BE123C;margin-bottom:12px;}
.profile-danger-text{font-size:12px;color:#BE123C;margin-bottom:16px;line-height:1.6;font-family:var(--mono);}
.btn-delete-account{font-family:var(--mono);font-size:12px;padding:10px 20px;
  background:transparent;border:1px solid #FECDD3;color:#BE123C;
  border-radius:6px;cursor:pointer;font-weight:600;transition:all .15s;}
.btn-delete-account:hover{background:#BE123C;color:#fff;border-color:#BE123C;}
.profile-legal-links{
  text-align:center;padding:20px 0 8px;
  font-family:var(--mono);font-size:10px;color:var(--muted);opacity:0.55;
}
.profile-legal-links a{color:var(--muted);text-decoration:none;}
.profile-legal-links a:hover{color:var(--sky);opacity:1;}
.profile-legal-links span{margin:0 6px;}
.profile-input{width:100%;padding:9px 12px;background:var(--surface2);
  border:1px solid var(--border);border-radius:6px;color:var(--text);
  font-family:var(--sans);font-size:13px;outline:none;transition:border-color .15s;}
.profile-input:focus{border-color:var(--sky);}
.btn-save-profile{font-family:var(--mono);font-size:11px;padding:7px 16px;
  background:var(--sky);border:none;color:var(--ink);border-radius:6px;
  cursor:pointer;font-weight:700;transition:all .15s;}
.btn-save-profile:hover{opacity:.88;}

/* ── SYNC PILL — GUEST STATE ─────────────────────────────── */
.sync-pill.sp-guest{
  background:var(--rose-dim);color:#F43F5E;
  border:1px solid var(--rose-bdr);cursor:pointer;
}
.sync-pill.sp-guest:hover{background:#F43F5E;color:#fff;}

/* ── GUEST NUDGE BANNERS ─────────────────────────────────── */
.guest-nudge{
  display:flex;align-items:center;gap:12px;
  padding:11px 18px;border-radius:12px;margin-bottom:12px;
  background:var(--amber-dim);border:1px solid var(--amber-bdr);
  font-size:13px;color:var(--text);line-height:1.5;
  animation:v2fadeUp .3s var(--ease) both;
}
.guest-nudge-txt{flex:1;}
.guest-nudge-cta{
  padding:6px 14px;border-radius:8px;font:700 11px var(--mono);
  border:1px solid var(--amber-bdr);background:rgba(245,158,11,0.18);
  color:var(--warn);cursor:pointer;white-space:nowrap;transition:all .13s;flex-shrink:0;
}
.guest-nudge-cta:hover{background:var(--warn);color:var(--ink);}
.guest-nudge-dismiss{
  background:none;border:none;color:var(--muted);font-size:16px;
  cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0;
}
.guest-nudge-dismiss:hover{color:var(--text);}
#guestNudgeArea{margin-bottom:4px;}
#freeNudgeArea{margin-bottom:4px;}
.upgrade-nudge{
  display:flex;align-items:center;gap:12px;
  padding:11px 18px;border-radius:12px;margin-bottom:12px;
  background:var(--amber-dim);border:1px solid var(--amber-bdr);
  font-size:13px;color:var(--text);line-height:1.5;
  animation:v2fadeUp .3s var(--ease) both;
}
.upgrade-nudge-txt{flex:1;}
.upgrade-nudge-cta{
  padding:6px 14px;border-radius:8px;font:700 11px var(--mono);
  border:1px solid var(--amber-bdr);background:rgba(245,158,11,0.18);
  color:var(--warn);cursor:pointer;white-space:nowrap;transition:all .13s;flex-shrink:0;
}
.upgrade-nudge-cta:hover{background:var(--warn);color:var(--ink);}
.upgrade-nudge-dismiss{
  background:none;border:none;color:var(--muted);font-size:16px;
  cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0;
}
.upgrade-nudge-dismiss:hover{color:var(--text);}

/* ── GUEST GATE CARD ─────────────────────────────────────── */
.guest-gate-card{
  background:var(--surface);border:1px solid var(--amber-bdr);
  border-radius:16px;padding:32px 28px;text-align:center;
  max-width:480px;margin:40px auto;
}
.guest-gate-title{font-size:17px;font-weight:700;color:var(--text);margin-bottom:8px;letter-spacing:-0.01em;}
.guest-gate-sub{font-size:13px;color:var(--muted);margin-bottom:22px;line-height:1.6;}
.guest-gate-actions{display:flex;gap:10px;justify-content:center;margin-bottom:16px;}
.guest-gate-fine{font-size:11px;color:var(--muted);font-family:var(--mono);}

/* ── ACCOUNT PAGE — GUEST STATE ──────────────────────────── */
.acc-guest-section{
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:28px;margin-bottom:16px;
}
.acc-guest-title{
  font-family:var(--mono);font-size:10px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:20px;
}
.acc-form-row{display:flex;flex-direction:column;margin-bottom:14px;}
.acc-form-row label{
  font-family:var(--mono);font-size:10px;font-weight:600;
  letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:5px;
}
.acc-form-row input{
  padding:10px 13px;background:var(--surface2);border:1px solid var(--border);
  border-radius:8px;color:var(--text);font-family:var(--sans);font-size:14px;
  outline:none;transition:border-color .15s;
}
.acc-form-row input:focus{border-color:var(--sky);}
.acc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.btn-create-account{
  display:block;width:100%;padding:13px;border-radius:10px;
  background:var(--ocean);color:#fff;border:none;
  font:700 14px var(--sans);cursor:pointer;transition:all .14s;text-align:center;margin-bottom:10px;
}
.btn-create-account:hover{background:var(--sky);}
.btn-signin-secondary{
  display:block;width:100%;padding:11px;border-radius:10px;
  background:transparent;color:var(--text2);
  border:1px solid var(--border-mid);
  font:600 13px var(--sans);cursor:pointer;transition:all .14s;text-align:center;
}
.btn-signin-secondary:hover{border-color:var(--sky);color:var(--sky);}
.acc-trial-note{font-family:var(--mono);font-size:10px;color:var(--muted);text-align:center;margin-top:10px;line-height:1.6;}
.acc-data-warn{
  display:flex;align-items:flex-start;gap:10px;
  background:var(--amber-dim);border:1px solid var(--amber-bdr);
  border-radius:10px;padding:13px 16px;margin-top:14px;
  font-size:12px;color:var(--text);line-height:1.6;
}
.acc-data-warn-icon{font-size:14px;flex-shrink:0;margin-top:1px;}
.acc-err{color:#F43F5E;font-family:var(--mono);font-size:11px;margin-top:8px;display:none;}
/* Password strength meter — signup form */
.acc-pw-wrap{position:relative;display:block;width:100%;}
.acc-pw-wrap input{width:100%;}
.acc-pw-toggle{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:26px;height:26px;border:0;border-radius:6px;cursor:pointer;
  background:transparent;color:var(--muted);font-size:14px;
  line-height:1;transition:color .15s;
}
.acc-pw-toggle:hover{color:var(--text);}
.acc-strength{margin-top:8px;}
.acc-strength-bar{height:3px;border-radius:99px;background:var(--border);overflow:hidden;}
.acc-strength-fill{height:100%;width:0%;background:transparent;transition:width .22s,background .22s;}
.acc-strength-meta{display:flex;justify-content:space-between;margin-top:5px;}
.acc-strength-label{font-family:var(--mono);font-size:10px;color:var(--muted);}
.acc-checklist{
  margin-top:8px;padding:10px 12px;border-radius:10px;
  background:var(--surface2,rgba(0,0,0,0.04));border:1px solid var(--border);
}
.acc-check-item{
  display:flex;align-items:center;gap:7px;
  font-family:var(--mono);font-size:10px;line-height:1.7;color:var(--muted);
}
.acc-check-icon{width:12px;text-align:center;color:var(--muted);opacity:0.5;}
.acc-check-item.ok{color:var(--text);}
.acc-check-item.ok .acc-check-icon{color:var(--jade);opacity:1;}
.acc-success{
  background:var(--jade-dim);border:1px solid var(--jade-bdr);border-radius:10px;
  padding:16px;text-align:center;font-size:13px;color:var(--jade);
  font-family:var(--mono);line-height:1.7;display:none;
}
.acc-back-link{
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--mono);font-size:11px;color:var(--muted);
  cursor:pointer;border:none;background:none;padding:0;margin-bottom:18px;transition:color .14s;
}
.acc-back-link:hover{color:var(--sky);}

/* ── LINKEDIN IMPORT LOCK ────────────────────────────────── */
.import-lock-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:40px 32px;text-align:center;
  max-width:460px;margin:60px auto;
}
.import-lock-icon{font-size:32px;margin-bottom:16px;}
.import-lock-title{font-size:17px;font-weight:700;color:var(--text);margin-bottom:8px;}
.import-lock-sub{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:24px;}
.import-lock-actions{display:flex;gap:10px;justify-content:center;}

/* ── BRANDED DIALOG MODAL ───────────────────────────────────── */
#taDialogOverlay{
  position:fixed;inset:0;background:rgba(5,13,26,0.7);
  display:none;align-items:center;justify-content:center;
  z-index:500;backdrop-filter:blur(4px);padding:20px;
}
#taDialogOverlay.show{display:flex;}
.ta-dialog{
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:28px 32px;max-width:400px;width:100%;
  box-shadow:0 20px 60px rgba(0,0,0,0.3);
}
.ta-dialog-icon{font-size:24px;margin-bottom:12px;text-align:center;}
.ta-dialog-title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:8px;}
.ta-dialog-msg{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:22px;white-space:pre-line;}
.ta-dialog-btns{display:flex;gap:10px;justify-content:flex-end;}
.ta-dialog-btn{
  font-family:var(--mono);font-size:12px;padding:8px 20px;
  border-radius:7px;cursor:pointer;border:1px solid;transition:all .15s;
}
.ta-dialog-btn-primary{background:var(--sky);color:var(--ink);border-color:var(--sky);font-weight:700;}
.ta-dialog-btn-primary:hover{opacity:.88;}
.ta-dialog-btn-danger{background:var(--danger);color:#fff;border-color:var(--danger);font-weight:700;}
.ta-dialog-btn-danger:hover{opacity:.88;}
.ta-dialog-btn-ghost{background:transparent;color:var(--muted);border-color:var(--border);}
.ta-dialog-btn-ghost:hover{border-color:var(--muted);}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE SHELL — Phase 1
   Desktop:  ≥1024px — sidebar visible, bottom-nav hidden
   Tablet:   768–1023px — existing 920px rule stacks the sidebar;
                          bottom-nav stays hidden
   Mobile:   <768px — sidebar hidden, bottom-nav visible
   (Coexists with the existing @media(max-width:920px) rule above.)
   ════════════════════════════════════════════════════════════ */

/* ── Utility classes ── */
.desktop-only{}
.hidden-mobile{}
@media (max-width:767px){
  .desktop-only{display:none !important;}
  .hidden-mobile{display:none !important;}
}

/* ── Mobile layout: single column, hide sidebar, pad for bottom nav ── */
@media (max-width:767px){
  #appShell.visible{grid-template-columns:1fr;}
  .v2-sidebar{display:none;}
  .v2-main{padding-bottom:72px;}
}

/* ── Topbar: collapse action cluster on mobile ── */
@media (max-width:767px){
  .v2-topbar{padding:12px 16px;gap:12px;}
  .v2-search-shell{max-width:100%;}
  .v2-topbar-right{display:none !important;}
}

/* ── BOTTOM NAV ──────────────────────────────────────────── */
.bottom-nav{
  display:none;
  position:fixed;bottom:0;left:0;right:0;
  height:64px;background:var(--sb-bg);
  border-top:1px solid var(--sb-border);z-index:200;
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (max-width:767px){
  .bottom-nav{display:flex;align-items:center;justify-content:space-around;}
}
.bn-item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;flex:1;height:100%;cursor:pointer;
  color:var(--muted);transition:color .15s;
  font-size:10px;font-weight:500;font-family:var(--sans);
  background:none;border:0;padding:0;
  -webkit-tap-highlight-color:transparent;
}
.bn-item.active{color:var(--sky);}
.bn-item svg{width:22px;height:22px;stroke-width:2;}
.bn-add-btn{
  width:48px;height:48px;border-radius:50%;background:var(--sky);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(56,189,248,0.35);
  transition:transform .15s,box-shadow .15s;
}
.bn-add-btn:active{transform:scale(0.93);box-shadow:0 2px 8px rgba(56,189,248,0.25);}
.bn-add-btn svg{stroke:var(--ink);stroke-width:2.5;}

/* ── MOBILE ADD SELECTOR (bottom sheet) ───────────────────── */
#mobileAddSelectorModal{
  display:none;position:fixed;inset:0;z-index:400;
  background:rgba(5,13,26,0.7);backdrop-filter:blur(4px);
  align-items:flex-end;justify-content:center;
}
#mobileAddSelectorModal.open{display:flex;}
.mas-sheet{
  width:100%;max-width:520px;background:var(--surface);
  border:1px solid var(--border);border-bottom:none;
  border-radius:20px 20px 0 0;
  padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -12px 32px rgba(0,0,0,.35);
}
.mas-title{
  font-size:15px;font-weight:600;color:var(--text);
  text-align:center;margin-bottom:18px;
}
.mas-options{display:flex;flex-direction:column;gap:10px;}
.mas-btn{
  width:100%;padding:14px 16px;border-radius:12px;
  font-family:var(--sans);font-size:15px;font-weight:600;
  cursor:pointer;text-align:center;border:1px solid;
  transition:background .13s,border-color .13s,color .13s;
}
.mas-btn-primary{
  background:var(--sky);color:var(--ink);border-color:var(--sky);
}
.mas-btn-primary:hover{opacity:.92;}
.mas-btn-ghost{
  background:transparent;color:var(--text);
  border-color:var(--border-mid);
}
.mas-btn-ghost:hover{border-color:var(--sky);color:var(--sky);}
.mas-btn-cancel{
  width:100%;margin-top:14px;padding:12px;
  background:none;border:none;color:var(--muted);
  font-family:var(--sans);font-size:14px;cursor:pointer;
}
.mas-btn-cancel:hover{color:var(--text);}

/* ── SETTINGS PANEL ───────────────────────────────────────── */
#v2-panel-settings{flex:1;overflow-y:auto;}
.settings-wrap{
  max-width:680px;margin:0 auto;padding:24px 28px 48px;
}
.settings-title{
  font-size:22px;font-weight:700;color:var(--text);
  margin-bottom:20px;letter-spacing:-0.01em;
}
.settings-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:24px;margin-bottom:16px;
}
.settings-card-title{
  font-size:14px;font-weight:600;color:var(--text);
  margin-bottom:16px;letter-spacing:.01em;
}
.settings-row{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.settings-label{font-size:14px;color:var(--muted);}
.settings-sub{font-size:13px;color:var(--muted);line-height:1.5;}
.settings-divider{
  height:1px;background:var(--border);
  margin:16px 0;border:0;
}
.pro-badge{
  display:inline-block;font-size:10px;font-weight:700;color:var(--violet);
  background:var(--violet-dim);border-radius:4px;padding:2px 6px;
  font-family:var(--mono);letter-spacing:.05em;
}
.tier-badge{
  padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;
  font-family:var(--mono);letter-spacing:.04em;
}
.settings-avatar{
  width:48px;height:48px;border-radius:12px;flex-shrink:0;
  background:var(--sky-dim);color:var(--sky);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:700;font-family:var(--sans);
}
.settings-link{
  font-size:13px;color:var(--sky);
  text-decoration:none;font-weight:500;
}
.settings-link:hover{text-decoration:underline;}
.settings-toggle{
  accent-color:var(--sky);width:18px;height:18px;cursor:pointer;
}

/* Segment control (Dark / Light / System) */
.segment-control{
  display:inline-flex;background:var(--surface2);
  border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px;
}
.segment-btn{
  font-family:var(--sans);font-size:12px;font-weight:600;
  padding:7px 14px;border-radius:7px;border:none;background:transparent;
  color:var(--muted);cursor:pointer;
  transition:background .15s,color .15s;
}
.segment-btn:hover{color:var(--text);}
.segment-btn.active{background:var(--sky);color:var(--ink);}

/* Danger zone */
.settings-danger-title{
  font-size:13px;font-weight:600;color:var(--rose);margin-bottom:8px;
}
.settings-btn-danger{
  padding:10px 14px;border-radius:8px;cursor:pointer;
  font-family:var(--sans);font-size:13px;font-weight:600;
  background:transparent;color:var(--rose);
  border:1px solid var(--rose-bdr);
  transition:background .13s;
}
.settings-btn-danger:hover{background:var(--rose-dim);}

/* Responsive */
@media (max-width:767px){
  .settings-wrap{padding:8px 16px 80px;}
  .settings-card{border-radius:12px;padding:20px;}
  .settings-row{flex-wrap:wrap;gap:12px;}
}
