/* Shared visual system. Glass is limited to large surfaces; text stays opaque. */
:root,
html[data-theme="light"] {
  color-scheme: light;
  --ink: #202126;
  --muted: #626671;
  --paper: #f2f3f6;
  --white: #ffffff;
  --line: rgba(32, 33, 38, .1);
  --accent: #0063d8;
  --accent-soft: #e6effe;
  --glass: rgba(255, 255, 255, .78);
  --glass-nav: rgba(247, 248, 251, .76);
  --glass-edge: rgba(255, 255, 255, .92);
  --surface-soft: #f6f7fa;
  --surface-raised: #eceef3;
  --control: rgba(255, 255, 255, .8);
  --focus: rgba(0, 99, 216, .24);
  --green: var(--accent);
  --green-dark: var(--accent);
  --green-pale: var(--accent-soft);
  --positive: #247147;
  --positive-soft: #e8f3ed;
  --warning: #805117;
  --warning-soft: #faf0df;
  --danger: #b33434;
  --danger-soft: #fbecec;
  --shadow: 0 8px 32px rgba(25, 30, 50, .035), inset 0 1px 0 var(--glass-edge);
  --radius: 22px;
  --canvas: radial-gradient(ellipse at 10% 0%, rgba(164, 193, 239, .17), transparent 48%),
    radial-gradient(ellipse at 95% 25%, rgba(202, 191, 232, .13), transparent 50%);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --ink: #f0f1f5;
  --muted: #a5a8b3;
  --paper: #0b0c0f;
  --white: #191b20;
  --line: rgba(235, 238, 250, .1);
  --accent: #92bcff;
  --accent-soft: #23334c;
  --glass: rgba(27, 29, 35, .86);
  --glass-nav: rgba(23, 25, 30, .82);
  --glass-edge: rgba(255, 255, 255, .08);
  --surface-soft: #15171c;
  --surface-raised: #272a32;
  --control: rgba(48, 51, 60, .7);
  --focus: rgba(146, 188, 255, .3);
  --green: var(--accent);
  --green-dark: var(--accent);
  --green-pale: var(--accent-soft);
  --positive: #9bd6ae;
  --positive-soft: #203329;
  --warning: #e5c18a;
  --warning-soft: #342c20;
  --danger: #ffb4b4;
  --danger-soft: #3b2529;
  --shadow: 0 10px 36px rgba(0, 0, 0, .12), inset 0 1px 0 var(--glass-edge);
  --canvas: radial-gradient(ellipse at 0% 0%, rgba(79, 100, 137, .13), transparent 48%),
    radial-gradient(ellipse at 100% 15%, rgba(90, 88, 117, .08), transparent 50%);
}

html { background: var(--paper); }
body {
  background: var(--canvas), var(--paper);
  background-attachment: fixed;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  font-size: 14px;
  letter-spacing: -.012em;
  -webkit-font-smoothing: antialiased;
}
::selection { background: var(--focus); }
button, input, textarea, select { letter-spacing: inherit; }
a { color: var(--accent); }
button { touch-action: manipulation; }
button:focus-visible, a:focus-visible, summary:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
input[type="checkbox"] { accent-color: var(--accent); width:16px; height:16px; }

:root { --sidebar-width:224px; }
.app-shell { grid-template-columns: var(--sidebar-width) minmax(0, 1fr); }
html[data-theme] .sidebar {
  z-index: 100;
  overflow: visible;
  top: 14px;
  height: calc(100dvh - 28px);
  margin: 14px 0 14px 14px;
  padding: 23px 12px;
  color: var(--ink);
  background: var(--glass-nav);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(28px) saturate(130%);
  backdrop-filter: blur(28px) saturate(130%);
}
.brand { gap: 10px; padding: 0 9px 32px; }
.brand-logo { width: 34px; height: 34px; flex-basis: 34px; filter: none; }
.brand strong { font-size: 17px; font-weight: 650; }
html[data-theme] .brand small { color: var(--muted); font-size: 10px; letter-spacing: .13em; }
.workspace-switcher { position:relative; margin-bottom:22px; }
.brand.workspace-trigger { display:flex; align-items:center; width:100%; min-height:46px; padding:6px 9px; border:0; border-radius:12px; background:transparent; color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.workspace-trigger:hover,.workspace-trigger[aria-expanded="true"] { background:var(--control); }
.workspace-trigger > span { flex:1; min-width:0; }
html[data-theme] .workspace-trigger small { display:block; margin-top:3px; max-width:142px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; letter-spacing:0; font-size:11px; }
.workspace-chevron { flex:0 0 13px; width:13px; height:18px; fill:none; stroke:var(--muted); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.workspace-menu { position:absolute; z-index:4000; top:calc(100% + 8px); left:0; width:280px; max-width:calc(100vw - 40px); padding:7px; border:1px solid var(--line); border-radius:16px; background:var(--white); color:var(--ink); box-shadow:0 14px 44px rgba(18,22,35,.16); animation:workspace-menu-in .14s ease-out; }
.workspace-menu-heading { padding:9px 11px 8px; color:var(--muted); font-size:11px; font-weight:550; }
.workspace-menu-list { max-height:min(330px,55vh); overflow:auto; }
.workspace-option,.workspace-add { display:flex; align-items:center; gap:10px; width:100%; min-height:42px; padding:8px 10px; border:0; border-radius:9px; background:transparent; color:var(--ink); font:inherit; font-size:12px; text-align:left; cursor:pointer; }
.workspace-option:hover,.workspace-add:hover { background:var(--control); }
.workspace-monogram { display:grid; place-items:center; flex:0 0 28px; height:28px; border:1px solid var(--line); border-radius:8px; background:var(--surface-soft); font-size:12px; font-weight:600; }
.workspace-option-name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workspace-menu svg { flex:0 0 16px; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.workspace-option[aria-current="true"] > svg { color:var(--accent); }
.workspace-add { border-top:1px solid var(--line); border-radius:0 0 9px 9px; margin-top:6px; padding-top:12px; }
.workspace-menu-loading,.workspace-menu-error { padding:8px 11px; margin:0; font-size:11px; line-height:1.5; color:var(--muted); }
.workspace-menu-error:empty { display:none; }
.workspace-create { padding:3px; }
.workspace-menu .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
html[data-theme] .workspace-menu .workspace-create input,html[data-theme] .workspace-menu .workspace-create input:focus { display:block; width:calc(100% - 20px); margin:12px 10px 16px; padding:8px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; color:var(--ink); background:transparent; font:inherit; font-size:15px; box-shadow:none; outline:none; }
html[data-theme] .workspace-menu .workspace-create input:focus { border-bottom-color:var(--accent); }
.workspace-create-actions { display:flex; justify-content:flex-end; gap:6px; padding:6px; }
.workspace-create-actions button { padding:8px 12px; border:0; border-radius:8px; color:var(--ink); background:var(--control); font:inherit; font-size:12px; cursor:pointer; }
.workspace-create-actions .workspace-create-submit { background:var(--accent); color:white; }
html[data-theme="dark"] .workspace-menu { box-shadow:0 16px 48px rgba(0,0,0,.4); }
@keyframes workspace-menu-in { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1000px) { .brand.workspace-trigger { justify-content:center; padding-inline:0; gap:0; }.workspace-chevron { display:none; } }
@media(prefers-reduced-motion:reduce) { .workspace-menu { animation:none; } }
.sidebar nav { gap: 5px; }
.sidebar-integrations { margin-top:auto; padding:0 5px 10px; }
.sidebar-integrations-button { display:flex; align-items:center; gap:11px; width:100%; min-height:44px; padding:11px 13px; border:1px solid transparent; border-radius:13px; color:var(--muted); background:transparent; font:inherit; font-size:13px; font-weight:500; text-align:left; cursor:pointer; }
.sidebar-integrations-button:hover { color:var(--ink); background:var(--control); }
.sidebar-integrations-button svg { width:19px; height:19px; flex:0 0 19px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.sidebar-footer {
  display: grid;
  position: relative;
  gap: 7px;
  margin-top: 0;
  padding: 20px 5px 0;
  border-top: 1px solid var(--line);
}
html[data-theme] .sidebar-control {
  width: 100%;
  min-height: 40px;
  justify-content: flex-start;
  gap: 10px;
  padding: 8px 10px;
  color: var(--muted);
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  font-weight: 500;
}
html[data-theme] .sidebar-control:hover { color: var(--ink); background: var(--control); box-shadow: none; }
.theme-icon { width: 18px; text-align: center; font-size: 18px; line-height: 1; }
.sign-out-control svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-footer .account-trigger { width: 100%; min-height: 48px; padding: 7px; border: 1px solid transparent; border-radius: 14px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.sidebar-footer .account-trigger:hover, .sidebar-footer .account-trigger[aria-expanded="true"] { border-color: var(--line); background: var(--control); }
.sidebar-footer .account-trigger .avatar { flex: 0 0 34px; }
.sidebar-footer .account-trigger-copy { display: grid; min-width: 0; gap: 3px; }
.sidebar-footer .account-trigger-copy strong, .sidebar-footer .account-trigger-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-footer .account-trigger-copy strong { font-size: 12px; font-weight: 600; }
.sidebar-footer .account-trigger-copy small { color: var(--muted); font-size: 10px; }
.account-chevron { width: 15px; height: 15px; flex: 0 0 15px; margin-left: auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.account-menu { position: absolute; z-index: 3000; left: 5px; bottom: calc(100% + 10px); width: min(266px, calc(100vw - 28px)); padding: 7px; border: 1px solid var(--line); border-radius: 17px; color: var(--ink); background: var(--white); box-shadow: 0 16px 44px rgba(18, 22, 35, .17); }
html[data-theme="dark"] .account-menu { box-shadow: 0 18px 46px rgba(0, 0, 0, .42); }
.account-menu-identity { display: grid; gap: 3px; padding: 12px 13px 14px; margin-bottom: 5px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.account-menu-identity strong { font-size: 13px; }
.account-menu-identity small { color: var(--muted); font-size: 11px; }
.account-menu-action, html[data-theme] .account-menu .theme-toggle { display: flex; width: 100%; min-height: 40px; justify-content: flex-start; gap: 11px; padding: 8px 12px; border: 0; border-radius: 10px; color: var(--ink); background: transparent; box-shadow: none; font: inherit; font-size: 12px; font-weight: 500; cursor: pointer; }
.account-menu-action:hover, html[data-theme] .account-menu .theme-toggle:hover { background: var(--control); box-shadow: none; }
.account-menu .theme-label { display: inline; }
html[data-theme] .nav-item {
  min-height: 44px;
  padding: 11px 13px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
  gap: 11px;
}
.nav-item svg { width: 19px; height: 19px; flex-basis: 19px; stroke-width: 1.65; }
.nav-item[data-view="paradialer"] svg { width: 17px; height: 17px; flex-basis: 17px; }
html[data-theme] .nav-item:hover { background: var(--control); color: var(--ink); }
html[data-theme] .nav-item.active {
  color: var(--accent);
  background: var(--accent-soft);
  border-color: transparent;
  box-shadow: inset 0 1px 0 var(--glass-edge), 0 2px 5px rgba(0,0,0,.025);
}
main { padding: 0 32px 56px; }
.topbar { min-height: 100px; height: auto; gap: 20px; padding: 22px 0; }
.topbar h1 { font-family: inherit; font-size: 28px; font-weight: 650; letter-spacing: -.04em; }
.topbar-heading { min-width:0; display:grid; gap:13px; }
.topbar-title-row { display:flex; align-items:center; gap:11px; min-width:0; }
.overview-period-control { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.overview-period-control[hidden] { display:none; }
.overview-period-modes, .overview-period-navigation { display:flex; align-items:center; padding:3px; border:1px solid var(--line); border-radius:11px; background:var(--surface-soft); }
.overview-period-modes button, .overview-period-navigation > button { border:0; border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; transition:background-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; }
.overview-period-modes button:not(:disabled):active, .overview-period-navigation > button:not(:disabled):active { transform:scale(.96); }
.overview-period-modes button { min-height:29px; padding:5px 10px; font-size:11px; font-weight:600; }
.overview-period-modes button[aria-pressed="true"] { color:var(--ink); background:var(--white); box-shadow:0 1px 4px rgba(0,0,0,.09); }
.overview-period-navigation { position:relative; gap:5px; }
.overview-period-navigation > button:not(.overview-period-label) { width:28px; height:29px; font-size:21px; line-height:1; }
.overview-period-navigation > button:not(.overview-period-label):disabled { opacity:.3; cursor:default; }
.overview-period-navigation .overview-period-label { min-width:115px; height:29px; padding:0 8px; text-align:center; color:var(--ink); font-size:11px; font-weight:600; font-variant-numeric:tabular-nums; }
.overview-period-label:not(:disabled):hover, .overview-period-label[aria-expanded="true"] { background:var(--white); }
.overview-period-label:disabled { cursor:default; }
.overview-date-picker { position:absolute; z-index:80; top:calc(100% + 9px); left:50%; width:288px; padding:13px; transform:translateX(-50%); border:1px solid var(--line); border-radius:15px; background:var(--white); box-shadow:0 16px 42px rgba(18,22,35,.17); }
.overview-date-picker:not(.hidden) { animation:overviewPickerIn .18s cubic-bezier(.2,.7,.2,1) both; transform-origin:top center; }
@keyframes overviewPickerIn { from { opacity:0; transform:translate(-50%, -5px) scale(.985); } to { opacity:1; transform:translateX(-50%) scale(1); } }
.overview-period-control.overview-period-updated .overview-period-label { animation:overviewPeriodLabelIn .2s ease-out both; }
@keyframes overviewPeriodLabelIn { from { opacity:.55; translate:0 3px; } to { opacity:1; translate:0 0; } }
.overview-date-picker-head { display:flex; align-items:center; justify-content:space-between; gap:7px; margin-bottom:12px; }
.overview-date-picker-head strong { color:var(--ink); font-size:12px; font-weight:650; }
.overview-date-picker-head button { width:30px; height:30px; padding:0; border:0; border-radius:8px; color:var(--ink); background:transparent; font-size:21px; line-height:1; cursor:pointer; }
.overview-date-picker-head button:not(:disabled):hover { background:var(--surface-raised); }
.overview-date-picker-head button:disabled { opacity:.3; cursor:default; }
.overview-calendar-weekdays, .overview-calendar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; }
.overview-calendar-weekdays { margin-bottom:5px; color:var(--muted); text-align:center; font-size:10px; }
.overview-calendar-weekdays span { padding:5px 0; }
.overview-calendar-days button { width:100%; height:32px; padding:0; border:0; border-radius:8px; color:var(--ink); background:transparent; font:inherit; font-size:11px; font-variant-numeric:tabular-nums; cursor:pointer; }
.overview-calendar-days.overview-calendar-changing { animation:overviewCalendarDayIn .16s ease-out both; }
@keyframes overviewCalendarDayIn { from { opacity:.35; } to { opacity:1; } }
.overview-calendar-days button:not(:disabled):hover { background:var(--surface-raised); }
.overview-calendar-days button[aria-pressed="true"] { color:#fff; background:var(--accent); }
.overview-calendar-days button:disabled { color:var(--muted); opacity:.38; cursor:default; }
.overview-date-picker-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:9px; padding-top:10px; border-top:1px solid var(--line); }
.overview-date-picker-foot span { color:var(--muted); font-size:10px; }
.overview-date-picker-foot button { padding:5px 8px; border:0; border-radius:7px; color:var(--accent); background:var(--accent-soft); font-size:10px; font-weight:650; cursor:pointer; }
.top-actions { gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
#view-activity .view-toolbar { justify-content: flex-start; flex-wrap: wrap; gap: 12px; }
#view-activity .view-toolbar small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.account-chip { padding-inline: 8px; }
.account-chip strong { font-size: 12px; font-weight: 600; }
.account-chip small { font-size: 10px; }
html[data-theme] .avatar { color: var(--muted); background: var(--surface-raised); font-size: 12px; font-weight: 600; }

html[data-theme] :is(.panel, .metric, .auth-card, dialog) {
  color: var(--ink);
  background: var(--glass);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(20px) saturate(120%);
  backdrop-filter: blur(20px) saturate(120%);
}
.panel-head { padding: 24px 26px 20px; }
.panel h3, .dialog-head h3 { font-family: inherit; font-size: 18px; font-weight: 600; letter-spacing: -.025em; }
html[data-theme] :is(.button, .theme-toggle) {
  min-height: 38px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 550;
  border: 1px solid var(--line);
  box-shadow: inset 0 1px 0 var(--glass-edge), 0 2px 3px rgba(0,0,0,.025);
  transition: background .15s, box-shadow .15s, opacity .15s;
}
html[data-theme] :is(.button.secondary, .button.light, .button.google, .theme-toggle) {
  color: var(--ink);
  background: var(--control);
}
html[data-theme] .button.primary { color: white; background: #0069e8; border-color: rgba(0,0,0,.04); }
html[data-theme] .button.primary:hover { background: #005ccd; }
html[data-theme] .button.danger { color: var(--danger); background: var(--danger-soft); border-color: transparent; }
html[data-theme] :is(.button, .theme-toggle):hover { transform: none; box-shadow: inset 0 1px 0 var(--glass-edge), 0 3px 10px rgba(0,0,0,.07); }
html[data-theme] :is(.button, .theme-toggle):disabled { opacity: .45; box-shadow: none; cursor: not-allowed; }
.button.small { min-height: 34px; }
.text-button, .campaign-archive { font-size: 12px; font-weight: 500; padding: 5px 0; }
html[data-theme] .text-button { color: var(--accent); }
html[data-theme] .campaign-archive { color: var(--muted); margin-left: auto; }
html[data-theme] .campaign-archive:hover { color: var(--danger); }

html[data-theme] :is(input, textarea, select, .crm-toolbar input, .crm-toolbar select, .contact-toolbar select) {
  color: var(--ink);
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 12px;
  font-size: 13px;
  padding: 11px 13px;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.015);
}
input::placeholder, textarea::placeholder { color: var(--muted); opacity: .8; }
html[data-theme] :is(input, textarea, select, .crm-toolbar input, .crm-toolbar select):focus {
  background: var(--surface-soft);
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--focus);
  outline: none;
}
html[data-theme] :is(.form-panel > label, .dialog-form label, .instruction-grid label, .auth-card label) {
  color: var(--ink); font-size: 12px; font-weight: 500; gap: 9px;
}
.form-panel > label { margin: 0 26px 20px; }
.form-panel { padding-bottom: 26px; }
.form-panel > .button { margin-left: 26px; }
.form-hint { margin: 0 26px 16px; font-size: 11px; line-height: 1.6; }
html[data-theme] .form-hint { color: var(--muted); }
html[data-theme] .variable-problems { color: var(--danger); }
.variable-problems:empty { display: none; }
.editor-variable-section { margin: 0 26px 16px; }
.variable-section-head { font-size: 12px; margin-bottom: 12px; }
html[data-theme] .variable-editor { border-color: var(--line); background: var(--surface-soft); border-radius: 12px; }
/* The mirror and editing layer must have identical metrics for inline tag alignment. */
html[data-theme] .variable-editor :is(.variable-highlight, textarea) {
  font: 400 13px/1.8 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -.012em;
  padding: 13px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
html[data-theme] .variable-editor textarea,
html[data-theme] .variable-editor textarea:focus {
  background: transparent; color: transparent; caret-color: var(--ink); box-shadow: none;
}
html[data-theme] .variable-editor:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--focus); }
html[data-theme] .variable-token { color: var(--accent); background: var(--accent-soft); box-shadow: none; border-radius: 4px; }
html[data-theme] .variable-token.invalid { color: var(--danger); background: var(--danger-soft); }
.variable-definition .variable-token { font-size: 11px; padding: 4px 6px; border-radius: 6px; }
.variable-definition { font-size: 12px; margin: 14px 0; }
.variable-definition p { line-height: 1.6; margin-top: 9px; }
.variable-scope { font-size: 10px; }
.campaign-layout { gap: 22px; grid-template-columns: minmax(320px,.95fr) minmax(380px,1.05fr); }
.stack-list { padding: 0 26px 8px; }
.campaign-card { padding: 8px 0 24px; margin-top: 16px; border-color: var(--line); }
.campaign-card:first-child { margin-top: 0; }
.template-card-heading { gap: 18px; align-items: center; }
.template-card-heading h4 { font-size: 16px; font-weight: 600; letter-spacing: -.025em; }
.template-stats { gap: 18px; }
.template-stats strong { font-size: 19px; font-weight: 550; font-variant-numeric: tabular-nums; }
.template-stats span { font-size: 11px; }
.template-stats small { font-size: 10px; }
.template-subject { margin-top: 24px; }
.template-subject > small { font-size: 11px; margin-bottom: 8px; }
.template-subject > div { font-size: 16px; font-weight: 600; }
.campaign-card > .template-body { font-size: 13px; line-height: 1.85; margin: 16px 0 24px; }
.saved-template-variables { padding-top: 20px; }
.campaign-actions { gap: 9px; }

.metrics-grid { gap: 16px; margin-bottom: 24px; }
.metric { padding: 23px; }
.metric-head { font-size: 12px; font-weight: 500; }
.metric > strong { font: 550 34px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: -.04em; margin: 15px 0 6px; font-variant-numeric: tabular-nums; }
html[data-theme] .metric > small { color: var(--muted); font-size: 11px; }
.health-list { padding: 0 16px 14px; }
.health-row { padding: 15px 10px; border-color: var(--line); }
.health-row strong { font-size: 13px; font-weight: 500; }
html[data-theme] .health-row small { color: var(--muted); font-size: 11px; margin-top: 5px; }
.health-row b { font-size: 11px; font-weight: 500; }
html[data-theme] :is(.health-row.complete > span, .health-row.complete b, .open-state.opened, .tracking-config-status.ready, .status-badge.ready) { color: var(--positive); }
html[data-theme] :is(.health-row.complete > span, .open-state.opened, .tracking-config-status.ready, .status-badge.ready) { background: var(--positive-soft); }
html[data-theme] :is(.icon.blue, .icon.green, .icon.violet, .icon.amber) { color: var(--muted); background: var(--surface-raised); }
html[data-theme] :is(.health-row.attention > span, .status-badge.bounced, .status-badge.unsubscribed, .status-badge.suppressed, .status-badge.archived, .tracking-config-status.attention, .setup-banner, .tracking-note.attention) { color: var(--warning); background: var(--warning-soft); border-color: var(--line); }
html[data-theme] :is(.health-row.attention b, .tracking-note.attention span) { color: var(--warning); }
html[data-theme] :is(.status-badge, .open-state.unavailable, .open-state.unopened, .health-row.pending > span, .status-badge.sending) { color: var(--muted); background: var(--surface-raised); }
.status-badge, .open-state { font-size: 10px; font-weight: 550; }
.score { font-size: 11px; font-weight: 600; border-radius: 9px; }

.table-toolbar, .crm-toolbar { padding: 20px; gap: 12px; }
.table-toolbar input { min-width: 180px; }
html[data-theme] th { color: var(--muted); background: var(--surface-soft); font-weight: 500; text-transform: none; letter-spacing: 0; font-size: 12px; }
html[data-theme] :is(th, td, .linked-contact, .linked-contacts, .timeline-item) { border-color: var(--line); }
td { font-size: 12px; padding: 15px 16px; }
.lead-row td { padding-top: 20px; }
.lead-company strong { font-size: 14px; font-weight: 600; }
.lead-company small { font-size: 11px; line-height: 1.5; }
.lead-niche-cell { min-width: 220px; max-width: 300px; }
.contacts-load-more { display:block; width:calc(100% - 40px); margin:14px 20px 20px; padding:11px 12px; color:var(--accent); background:color-mix(in srgb, var(--accent) 6%, var(--glass)); border:1px solid color-mix(in srgb, var(--accent) 16%, var(--line)); border-radius:10px; font:600 11px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; cursor:pointer; }
.contacts-load-more:hover { background:color-mix(in srgb, var(--accent) 11%, var(--glass)); }
.contacts-load-more:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.niche-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; min-width: 0; }
.niche-tag { display: inline-flex; max-width: 100%; padding: 4px 8px; border: 1px solid color-mix(in srgb, var(--accent) 10%, var(--line)); border-radius: 999px; background: linear-gradient(150deg, color-mix(in srgb, var(--accent) 7%, var(--glass)), color-mix(in srgb, var(--accent) 3%, var(--glass))); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--glass-edge) 55%, transparent); color: color-mix(in srgb, var(--accent) 60%, var(--ink)); font-size: 11px; font-weight: 550; line-height: 1.2; overflow-wrap: anywhere; -webkit-backdrop-filter: blur(4px) saturate(105%); backdrop-filter: blur(4px) saturate(105%); }
html[data-theme] .lead-contacts-row > td { background: transparent; }
html[data-theme] .linked-contacts { background: var(--control); box-shadow: none; }
html[data-theme] .linked-contacts-title { background: var(--surface-soft); color: var(--muted); font-size: 10px; font-weight: 500; text-transform: none; letter-spacing: 0; padding: 10px 12px; }
.linked-contact { padding: 12px; }
.linked-contact-identity strong { font-size: 12px; font-weight: 550; }
.linked-contact-identity small { font-size: 11px; }
.contact-avatar { color: var(--muted); background: var(--surface-raised); font-weight: 500; }
.verified-filter { font-size: 12px; }
.contact-toolbar .verified-filter input { flex: 0 0 16px; width: 16px; min-width: 16px; padding: 0; }
.contact-toolbar select { min-width: 180px; }
.crm-subject small, .crm-state-cell small { font-size: 10px; }
.pipeline-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:0 0 18px; }
.pipeline-intro > div:first-child { display:grid; gap:6px; }
.pipeline-intro > div > strong { font-size:18px; font-weight:600; letter-spacing:-.025em; }
html[data-theme] .pipeline-intro small { color:var(--muted); font-size:12px; }
.pipeline-total { display:grid; justify-items:end; gap:4px; }
.pipeline-total small { font-size:11px; }
.pipeline-total strong { color:var(--accent); font-size:24px; font-weight:650; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.pipeline-toolbar { display:flex; justify-content:flex-start; margin-bottom:18px; padding:0; border:0; background:transparent; }
.pipeline-toolbar input { width:min(440px,100%); }
.pipeline-toolbar select { width:220px; }
.pipeline-top-scroll { width:100%; height:15px; margin:0 0 9px; overflow-x:auto; overflow-y:hidden; scrollbar-gutter:stable; }
.pipeline-top-scroll[hidden] { display:none; }
.pipeline-top-scroll > div { height:1px; }
.pipeline-top-scroll::-webkit-scrollbar { height:9px; }
.pipeline-top-scroll::-webkit-scrollbar-track { background:color-mix(in srgb, var(--line) 56%, transparent); border-radius:999px; }
.pipeline-top-scroll::-webkit-scrollbar-thumb { background:color-mix(in srgb, var(--ink) 28%, transparent); border:2px solid transparent; border-radius:999px; background-clip:padding-box; }
.pipeline-top-scroll::-webkit-scrollbar-thumb:hover { background:color-mix(in srgb, var(--ink) 44%, transparent); border:2px solid transparent; background-clip:padding-box; }
.pipeline-board { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(258px, 292px); align-items:start; gap:14px; overflow-x:auto; overscroll-behavior-inline:contain; padding:2px 2px 18px; }
.pipeline-column { min-height:480px; padding:15px; color:var(--ink); background:var(--glass); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
.pipeline-column[data-stage="new"],.calendar-status-picker[data-stage="new"],.calendar-status-picker .select-menu-option[data-value="new"] { --pipeline-stage:#d9dee5; }
.pipeline-column[data-stage="sent"],.calendar-status-picker[data-stage="sent"],.calendar-status-picker .select-menu-option[data-value="sent"] { --pipeline-stage:#2563eb; }
.pipeline-column[data-stage="not-interested"],.calendar-status-picker[data-stage="not-interested"],.calendar-status-picker .select-menu-option[data-value="not-interested"] { --pipeline-stage:#a55269; }
.pipeline-column[data-stage="unqualified"],.calendar-status-picker[data-stage="unqualified"],.calendar-status-picker .select-menu-option[data-value="unqualified"] { --pipeline-stage:#64748b; }
.pipeline-column[data-stage="wrong-contact"],.calendar-status-picker[data-stage="wrong-contact"],.calendar-status-picker .select-menu-option[data-value="wrong-contact"] { --pipeline-stage:#8b7365; }
.pipeline-column[data-stage="responded"],.calendar-status-picker[data-stage="responded"],.calendar-status-picker .select-menu-option[data-value="responded"] { --pipeline-stage:#0f766e; }
.pipeline-column[data-stage="call"],.calendar-status-picker[data-stage="call"],.calendar-status-picker .select-menu-option[data-value="call"] { --pipeline-stage:#6d4cc2; }
.pipeline-column[data-stage="booked"],.calendar-status-picker[data-stage="booked"],.calendar-status-picker .select-menu-option[data-value="booked"] { --pipeline-stage:#0e7490; }
.pipeline-column[data-stage="cancelled"],.calendar-status-picker[data-stage="cancelled"],.calendar-status-picker .select-menu-option[data-value="cancelled"] { --pipeline-stage:#b95745; }
.pipeline-column[data-stage="no-show"],.calendar-status-picker[data-stage="no-show"],.calendar-status-picker .select-menu-option[data-value="no-show"] { --pipeline-stage:#c2410c; }
.pipeline-column[data-stage="follow-up"],.calendar-status-picker[data-stage="follow-up"],.calendar-status-picker .select-menu-option[data-value="follow-up"] { --pipeline-stage:#c18a00; }
.pipeline-column[data-stage="free-trial"],.calendar-status-picker[data-stage="free-trial"],.calendar-status-picker .select-menu-option[data-value="free-trial"] { --pipeline-stage:#16835d; }
.pipeline-column[data-stage="lost"],.calendar-status-picker[data-stage="lost"],.calendar-status-picker .select-menu-option[data-value="lost"] { --pipeline-stage:#9f3548; }
.pipeline-column[data-stage="closed"],.calendar-status-picker[data-stage="closed"],.calendar-status-picker .select-menu-option[data-value="closed"] { --pipeline-stage:#166534; }
html[data-theme="dark"] .pipeline-column[data-stage="new"] { --pipeline-stage:#e0e5eb; }
.pipeline-column-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; min-height:47px; padding:0 2px 13px; border-bottom:1px solid var(--line); }
.pipeline-column-head > div { display:grid; gap:4px; }
.pipeline-column-head h2 { margin:0; font:600 15px/1.15 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing:-.02em; }
html[data-theme] .pipeline-column-head span { color:var(--muted); font-size:10px; }
.pipeline-column-head > strong { color:var(--pipeline-stage); font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; }
.pipeline-column[data-stage="new"] .pipeline-column-head > strong,
.pipeline-column[data-stage="new"] .pipeline-card-title > span { color:var(--ink); }
.pipeline-cards { display:grid; gap:10px; padding-top:13px; }
.pipeline-card { position:relative; display:grid; gap:8px; padding:13px; overflow:hidden; background:var(--control); border:1px solid var(--line); border-radius:13px; box-shadow:inset 0 1px 0 var(--glass-edge); }
.pipeline-card::before { position:absolute; inset:0 auto 0 0; width:3px; background:var(--pipeline-stage); content:""; }
.pipeline-card-title { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.pipeline-card-title strong { font-size:13px; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
.pipeline-company-name { display:flex; align-items:flex-start; gap:6px; min-width:0; }
.pipeline-company-name > span:last-child { min-width:0; }
.pipeline-company-name .verified-mark { margin-top:1px; }
.pipeline-card-title > span { flex:0 0 auto; color:var(--pipeline-stage); font-size:11px; font-weight:600; font-variant-numeric:tabular-nums; }
.pipeline-card .niche-tag { padding:4px 8px; font-size:10px; background:color-mix(in srgb, var(--accent) 8%, var(--control)); box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
html[data-theme] .pipeline-location { color:var(--muted); font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.pipeline-card-foot { display:flex; justify-content:space-between; gap:10px; padding-top:9px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
.pipeline-card-foot span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pipeline-card-foot span:last-child { flex:0 0 auto; }
.pipeline-empty { padding:22px 8px; color:var(--muted); font-size:11px; text-align:center; }
.pipeline-load-more { display:block; width:100%; margin-top:13px; padding:10px 12px; color:var(--accent); background:color-mix(in srgb, var(--accent) 6%, var(--glass)); border:1px solid color-mix(in srgb, var(--accent) 16%, var(--line)); border-radius:10px; font:600 11px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; cursor:pointer; }
.pipeline-load-more:hover { background:color-mix(in srgb, var(--accent) 11%, var(--glass)); }
.pipeline-load-more:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.timeline { padding-inline: 26px; }
.timeline-item { padding: 18px 0; }
.timeline-item strong { font-size: 13px; font-weight: 550; }
.timeline-item small { font-size: 11px; }
html[data-theme] .timeline-item time { color: var(--muted); font-size: 11px; }
html[data-theme] .empty-state { color: var(--muted); padding: 24px; }
html[data-theme] .empty-state strong { color: var(--ink); font-size: 14px; font-weight: 550; }
.empty-state p { font-size: 12px; max-width: 280px; }
html[data-theme] .empty-state > span { color: var(--muted); background: var(--surface-raised); }
.settings-grid { gap: 22px; }
.sender-accounts-panel { position:relative; z-index:5; margin-bottom:22px; overflow:visible; }
.sender-accounts-panel .panel-head { align-items:center; }
.sender-accounts-panel .panel-head p { margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.sender-account-list { display:grid; gap:10px; padding:0 22px 20px; }
.shared-signature-panel { margin-bottom:22px; }
.shared-signature-panel .panel-head p { margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.shared-signature-field { display:grid; gap:9px; padding:0 22px 22px; color:var(--ink); font-size:12px; font-weight:600; }
.shared-signature-editor-shell { overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }
.shared-signature-editor-shell:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.signature-format-toolbar { display:flex; gap:4px; padding:7px 9px; border-bottom:1px solid var(--line); }
.signature-format-toolbar button { display:grid; place-items:center; min-width:54px; height:30px; padding:0 10px; border:0; border-radius:7px; background:transparent; color:var(--ink); font-size:12px; cursor:pointer; }
.signature-format-toolbar button:hover,.signature-format-toolbar button[aria-pressed="true"] { background:var(--accent-soft); color:var(--accent); }
.shared-signature-editor { min-height:130px; padding:14px 16px; outline:none; color:var(--ink); font-size:13px; font-weight:400; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
.shared-signature-editor:empty::before { content:attr(data-placeholder); color:var(--muted); pointer-events:none; }
.shared-signature-field small { color:var(--muted); font-size:11px; font-weight:400; }
.shared-signature-field small.error { color:var(--danger); }
.sender-account-empty { margin:2px 0 0; color:var(--muted); font-size:12px; }
.sender-account-row { display:flex; align-items:center; gap:14px; padding:17px; border:1px solid var(--line); border-radius:16px; background:var(--surface-soft); }
.sender-account-avatar { display:grid; place-items:center; flex:0 0 38px; height:38px; border-radius:12px; color:var(--accent); background:var(--accent-soft); font-size:16px; font-weight:700; }
.sender-account-identity { min-width:0; flex:1; }
.sender-account-identity strong,.sender-account-identity small { display:block; overflow-wrap:anywhere; }
.sender-account-identity strong { font-size:13px; }
.sender-account-identity small { margin-top:4px; color:var(--muted); font-size:11px; }
.sender-account-controls { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.sender-unlink-button { display:grid; place-items:center; width:31px; height:31px; padding:6px; border:1px solid transparent; border-radius:9px; background:transparent; color:var(--muted); cursor:pointer; }
.sender-unlink-button:hover { color:var(--danger); background:var(--surface-soft); border-color:var(--line); }
.twilio-sdk-state {display:block;margin-top:5px;color:var(--muted);font-size:10px;}
#twilioAccountList .integration-account-row {flex-direction:column;align-items:stretch;gap:10px;}
#twilioAccountList .integration-account-row>div:first-child {display:flex;align-items:center;justify-content:space-between;gap:10px;}
#twilioAccountList .integration-account-row strong {font-size:12px;font-weight:500;overflow-wrap:anywhere;}
#twilioAccountList .twilio-sdk-state {margin:0;font-size:9px;text-align:right;}
#twilioAccountList .twilio-account-actions .button {min-height:30px;padding:0 10px;font-size:10px;}
.twilio-voice-dialog {width:min(440px,calc(100% - 32px));}
.twilio-voice-form .dialog-head h3 {font-family:inherit;font-size:19px;font-weight:600;letter-spacing:-.4px;}
.twilio-voice-form .dialog-head p {margin:6px 0 0;color:var(--muted);font-size:11px;}
.twilio-voice-guide {margin:0 0 20px;color:var(--muted);font-size:11px;line-height:1.6;}
.twilio-voice-guide summary {color:var(--ink);cursor:default;}
.twilio-voice-guide ol {padding-left:18px;margin:10px 0;}.twilio-voice-guide li {margin:7px 0;}
.twilio-voice-guide code {overflow-wrap:anywhere;}.twilio-voice-guide>div {display:flex;gap:14px;flex-wrap:wrap;}
.twilio-voice-note,.twilio-voice-existing {color:var(--muted);font-size:10px;line-height:1.6;}
.twilio-voice-error {color:var(--danger);font-size:11px;line-height:1.6;}
.twilio-voice-form .dialog-actions {gap:10px;flex-wrap:wrap;}
.sender-unlink-button:disabled { opacity:.4; cursor:not-allowed; }
.sender-unlink-button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sender-status-picker { position:relative; }
.sender-status-tag { display:flex; align-items:center; gap:9px; padding:7px 11px; border:1px solid var(--line); border-radius:100px; background:var(--surface-raised); color:var(--ink); font-size:11px; font-weight:650; cursor:pointer; list-style:none; white-space:nowrap; }
.sender-status-tag::-webkit-details-marker { display:none; }
.sender-status-tag span { color:var(--muted); font-size:15px; line-height:9px; }
.sender-status-tag.ready,.sender-status-tag.active { color:var(--accent); background:var(--accent-soft); }
.sender-status-tag.deactivated { color:var(--muted); }
.sender-status-tag.warming_up { color:#9c6515; background:rgba(235,177,65,.13); }
.sender-status-picker[open] .sender-status-tag { box-shadow:0 0 0 3px var(--accent-soft); }
.sender-status-menu { position:absolute; z-index:60; top:calc(100% + 7px); right:0; min-width:148px; padding:5px; border:1px solid var(--line); border-radius:12px; background:var(--surface-raised); box-shadow:0 12px 32px rgba(0,0,0,.15); }
.sender-status-option { display:block; width:100%; padding:9px 10px; border:0; border-radius:8px; background:transparent; color:var(--ink); text-align:left; font:inherit; font-size:11px; cursor:pointer; }
.sender-status-option:hover,.sender-status-option[aria-current="true"] { background:var(--accent-soft); }
.plan-choice.sender-disabled { opacity:.6; cursor:not-allowed; }
@media(max-width:800px) { .sender-account-row { align-items:flex-start; flex-wrap:wrap; }.sender-account-identity { flex:1 1 calc(100% - 60px); }.sender-account-controls { width:100%; } }
.email-workspace-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.campaign-index { max-width:1050px; margin:0 auto; }
.campaign-index-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; }
.campaign-index-head h2,.campaign-wizard-head h2 { margin:0; color:var(--ink); font-size:25px; font-weight:650; letter-spacing:-.04em; }
.campaign-index-head p { margin:6px 0 0; color:var(--muted); font-size:12px; }
.campaign-index-list { display:grid; gap:12px; }
.campaign-index-row { display:grid; grid-template-columns:minmax(190px,1fr) minmax(180px,270px); align-items:center; gap:22px; padding:21px 22px; border:1px solid var(--line); border-radius:17px; background:var(--glass); box-shadow:0 6px 22px rgba(25,30,50,.035), inset 0 1px 0 var(--glass-edge); cursor:pointer; transition:border-color .18s,box-shadow .18s,transform .18s; }
.campaign-index-row:hover { box-shadow:0 10px 28px rgba(25,30,50,.07), inset 0 1px 0 var(--glass-edge); transform:translateY(-1px); }
.campaign-index-row.saving { cursor:progress; }
.campaign-index-row.saving:hover { transform:none; box-shadow:0 6px 22px rgba(25,30,50,.035), inset 0 1px 0 var(--glass-edge); }
.campaign-index-row:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
html[data-theme="dark"] .campaign-index-row { box-shadow:0 8px 26px rgba(0,0,0,.13), inset 0 1px 0 var(--glass-edge); }
html[data-theme="dark"] .campaign-index-row:hover { box-shadow:0 12px 30px rgba(0,0,0,.22), inset 0 1px 0 var(--glass-edge); }
.campaign-index-main { display:flex; align-items:center; gap:9px; flex-wrap:wrap; min-width:0; }
.campaign-index-main strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:15px; font-weight:620; }
.campaign-index-main small { flex-basis:100%; color:var(--muted); font-size:11px; }
.campaign-index-progress { display:grid; gap:8px; color:var(--ink); font-size:11px; font-variant-numeric:tabular-nums; }
.campaign-index-progress-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.campaign-index-progress-head strong { color:var(--accent); font-size:13px; font-weight:680; }
.campaign-index-row.completed .campaign-index-progress-head strong { color:var(--positive); }
.campaign-index-progress small { color:var(--muted); font-size:10px; }
.campaign-index-progress-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.campaign-index-progress-foot .campaign-day-indicator { flex:none; color:var(--accent); font-size:10px; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.campaign-progress-track { height:8px; border-radius:99px; overflow:hidden; background:var(--accent-soft); }
.campaign-progress-track > span { display:block; height:100%; border-radius:inherit; background:var(--accent); transition:width .25s ease; }
.campaign-index-row.completed .campaign-progress-track { background:var(--positive-soft); }
.campaign-index-row.completed .campaign-progress-track > span { background:var(--positive); }
.campaign-index-empty { padding:75px 20px; text-align:center; color:var(--muted); }
.campaign-index-empty strong { display:block; color:var(--ink); font-size:17px; font-weight:600; }
.campaign-index-empty p { font-size:12px; }
.campaign-wizard-shell { max-width:1000px; margin:0 auto; }
.app-shell:has(#view-email.active #campaignWizard:not(.hidden)) .topbar { display:none; }
.app-shell:has(#view-email.active) #campaignWizard:not(.hidden) { padding-top:22px; }
.campaign-wizard-head { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:23px; }
.campaign-wizard-head h2 { flex:1; }
.campaign-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:4px; border-radius:13px; background:var(--surface-soft); margin-bottom:32px; }
.campaign-steps button { min-height:43px; border:0; border-radius:10px; color:var(--muted); background:transparent; font-size:12px; font-weight:600; cursor:pointer; transition:color .16s ease,background-color .16s ease,box-shadow .16s ease; }
.campaign-steps button span { margin-right:6px; opacity:.65; font-size:10px; }
.campaign-steps button.active { color:var(--ink); background:var(--white); box-shadow:0 2px 9px rgba(0,0,0,.07); }
.campaign-steps button:disabled { opacity:.5; cursor:not-allowed; }
.campaign-wizard-form { max-width:900px; }
.campaign-wizard-form .email-plan-fields { display:block; padding:0; }
.campaign-step { display:grid; gap:24px; padding:0 0 25px; }
.campaign-step:not(.hidden) { animation:campaignStepEnter .18s cubic-bezier(.2,.7,.2,1) both; }
@keyframes campaignStepEnter { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.campaign-wizard-form .email-plan-actions { justify-content:flex-end; padding:22px 0; border-top:1px solid var(--line); }
.campaign-wizard-form.lead-step-active .email-plan-actions { position:sticky; bottom:0; z-index:3; background:transparent; border-top:0; -webkit-backdrop-filter:none; backdrop-filter:none; }
.plan-name-field { display:grid; gap:4px; width:min(100%, 300px); margin:4px 0 10px; color:var(--muted); font-size:11px; font-weight:650; line-height:1.35; letter-spacing:normal; }
.plan-sequence-workspace { display:grid; grid-template-columns:minmax(250px,300px) minmax(0,1fr); gap:20px; align-items:start; }
.plan-sequence-left { display:grid; gap:18px; min-width:0; align-content:start; }
.plan-sequence-sidebar { display:grid; gap:12px; min-width:0; padding:15px; border:1px solid var(--line); border-radius:15px; background:var(--surface-soft); }
.plan-sequence-sidebar-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.plan-sequence-sidebar-head strong { color:var(--ink); font-size:12px; }
.plan-sequence-sidebar-head span { color:var(--muted); font-size:10px; }
.plan-sequence-stages { display:grid; gap:15px; max-height:min(88vh,850px); overflow:auto; padding-right:3px; }
.plan-stage { display:grid; gap:9px; padding-top:13px; border-top:1px solid var(--line); }
.plan-stage:first-child { padding-top:0; border-top:0; }
.plan-stage-head { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
.plan-stage-head strong { color:var(--ink); font-size:12px; font-weight:680; }
.plan-stage-head > span { color:var(--muted); font-size:10px; }
.plan-stage-selected { max-width:120px; overflow:hidden; border:0; background:transparent; color:var(--accent); font-size:10px; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.plan-stage-choices { display:grid; grid-template-columns:minmax(0,1fr); gap:7px; }
.plan-template-choice { position:relative; min-width:0; }
.plan-template-choice .plan-template-sidebar-item { width:100%; padding-right:29px; }
.plan-template-checkbox { position:absolute; top:7px; right:7px; display:grid; place-items:center; width:19px; height:19px; cursor:pointer; }
html[data-theme] .plan-template-checkbox input { width:16px; height:16px; margin:0; padding:0; accent-color:var(--accent); cursor:pointer; }
.plan-template-sidebar-item strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; font-weight:650; }
.plan-template-sidebar-item strong[data-rename-name] { width:max-content; max-width:100%; cursor:text; }
.plan-template-sidebar-item strong[data-rename-name]:hover { color:var(--accent); text-decoration:underline; text-underline-offset:2px; }
.plan-template-sidebar-item small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:10px; }
.plan-template-sidebar-item { display:grid; align-content:center; gap:3px; min-width:0; height:70px; box-sizing:border-box; padding:8px 10px; border:1px solid var(--line); border-radius:10px; background:var(--white); color:var(--ink); text-align:left; cursor:pointer; transition:border-color .16s ease,background-color .16s ease; }
.plan-template-metrics { display:inline-flex; align-items:center; gap:9px; min-width:0; color:var(--muted); font-size:10px; font-weight:500; white-space:nowrap; }
.plan-template-metrics > span { display:inline-flex; align-items:center; gap:3px; }
.plan-template-metrics strong { color:var(--ink); font-weight:700; }
.plan-template-sidebar-item .plan-template-metrics { font-size:9px; }
.plan-template-sidebar-item:hover,.plan-template-sidebar-item.active { border-color:var(--accent); }
.plan-template-new { display:grid; place-items:center; border-style:dashed; background:var(--white); color:var(--accent); }
.plan-template-new > span { font-size:32px; font-weight:350; line-height:1; }
.plan-sequence-list { min-width:0; }
#planSequenceVariables > .plan-sequence-variables,#planSequenceList > .plan-sequence,#planSequenceList > .plan-sequence-empty { animation:sequenceEditorEnter .17s cubic-bezier(.2,.7,.2,1) both; }
@keyframes sequenceEditorEnter { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
.plan-sequence-empty { display:grid; place-items:center; min-height:320px; padding:24px; border:1px dashed var(--line); border-radius:15px; color:var(--muted); font-size:13px; text-align:center; }
.plan-template-context-menu { position:fixed; z-index:1000; min-width:130px; padding:4px; border:1px solid var(--line); border-radius:10px; background:var(--white); box-shadow:var(--shadow); }
.plan-template-context-menu button { display:block; width:100%; padding:9px 12px; border:0; border-radius:7px; background:transparent; color:var(--ink); font-size:12px; text-align:left; cursor:pointer; }
.plan-template-context-menu button:hover,.plan-template-context-menu button:focus-visible { background:var(--accent-soft); color:var(--accent); outline:none; }
.plan-sequence-name-dialog { width:min(390px,calc(100vw - 32px)); padding:0; border:1px solid var(--line); border-radius:17px; }
.plan-sequence-name-dialog .dialog-form { display:grid; gap:22px; }
.plan-sequence-name-dialog .dialog-head h3 { margin:0; }
.plan-sequence-name-line { display:grid; gap:8px; color:var(--muted); font-size:11px; font-weight:600; }
html[data-theme] .plan-sequence-name-line input,html[data-theme] .plan-sequence-name-line input:focus { width:100%; box-sizing:border-box; min-height:36px; padding:3px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; outline:0; box-shadow:none; background:transparent; color:var(--ink); font-size:17px; font-weight:600; }
html[data-theme] .plan-sequence-name-line input:focus { border-bottom-color:var(--accent); }
.plan-sequence { display:grid; gap:17px; min-width:0; }
.plan-sequence-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; }
.plan-recipient-preview .plan-sequence-head { padding:15px 16px 0; }
.plan-sequence-head-label { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.plan-sequence-head-label small { color:var(--muted); font-size:10px; }
.plan-recipient-preview.follow-up .plan-sequence-head { display:grid; grid-template-columns:minmax(0,1fr) max-content; align-items:start; column-gap:8px; }
.plan-recipient-preview.follow-up .plan-sequence-head-label { min-width:0; }
.plan-recipient-preview.follow-up .plan-sequence-head-label small { min-width:0; overflow-wrap:anywhere; }
.sequence-eyebrow { display:inline-flex; align-items:center; width:max-content; min-height:23px; padding:0 9px; border:1px solid var(--accent-soft); border-radius:999px; background:var(--accent-soft); color:var(--accent); font-size:10px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; }
.sequence-eyebrow.follow-up { border-color:#e7dcff; background:#f1ebff; color:#6743ba; }
html[data-theme="dark"] .sequence-eyebrow.follow-up { border-color:#4c386d; background:#342748; color:#d3bcff; }
.plan-sequence > label { display:grid; gap:7px; color:var(--ink); font-size:12px; font-weight:600; }
.plan-followup-delay-inline { display:inline-flex; align-items:center; gap:6px; color:var(--muted); white-space:nowrap; }
.plan-followup-delay-stepper { display:grid; grid-template-columns:28px 55px 28px; align-items:center; height:29px; border:1px solid var(--line); border-radius:8px; background:var(--surface-soft); }
.plan-followup-delay-stepper:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px var(--focus); }
.plan-followup-delay-stepper button { display:grid; place-items:center; width:28px; height:27px; padding:0; border:0; border-radius:7px; background:transparent; color:var(--muted); cursor:pointer; }
.plan-followup-delay-stepper button:hover { background:var(--accent-soft); color:var(--accent); }
.plan-followup-delay-stepper button:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.plan-followup-delay-stepper svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.plan-followup-delay-value { display:flex; align-items:center; justify-content:center; gap:3px; min-width:0; }
html[data-theme] .plan-followup-delay-stepper input, html[data-theme] .plan-followup-delay-stepper input:focus { box-sizing:border-box; width:calc(var(--delay-digits,1) * 1ch + 2px); min-height:0; padding:0; border:0; border-radius:0; outline:0; box-shadow:none; background:transparent; color:var(--ink); font-size:11px; font-weight:700; text-align:center; appearance:textfield; }
.plan-followup-delay-stepper input::-webkit-inner-spin-button, .plan-followup-delay-stepper input::-webkit-outer-spin-button { margin:0; appearance:none; }
.plan-followup-delay-unit { color:var(--muted); font-size:10px; font-weight:600; }
.plan-followup-delay-help { position:relative; display:inline-flex; align-items:center; }
.plan-followup-delay-help > button { display:grid; place-items:center; width:24px; height:24px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--muted); cursor:help; }
.plan-followup-delay-help > button:hover,.plan-followup-delay-help > button:focus-visible { color:var(--accent); background:var(--accent-soft); outline:none; }
.plan-followup-delay-help svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.plan-followup-delay-tooltip { position:absolute; top:calc(100% + 5px); right:0; z-index:20; width:215px; padding:9px 11px; border:1px solid var(--line); border-radius:9px; background:var(--white); box-shadow:0 8px 24px rgba(0,0,0,.12); color:var(--ink); font-size:11px; font-weight:500; line-height:1.4; white-space:normal; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .15s ease; }
.plan-followup-delay-help:hover .plan-followup-delay-tooltip,.plan-followup-delay-help:focus-within .plan-followup-delay-tooltip { opacity:1; visibility:visible; }
.plan-sequence input,.plan-sequence textarea { color:var(--ink); background:var(--control); border:1px solid var(--line); border-radius:11px; }
.plan-recipient-preview { overflow:hidden; border:1px solid var(--line); border-radius:15px; background:var(--white); box-shadow:inset 0 1px 0 var(--glass-edge); }
.plan-recipient-subject > span:first-child,.plan-recipient-body > span:first-child { color:var(--muted); font-weight:550; }
.plan-recipient-subject,.plan-recipient-body { display:grid; gap:7px; padding:12px 16px; }
.plan-recipient-body { position:relative; }
.plan-editor-metrics { position:absolute; top:12px; right:16px; }
.plan-recipient-subject { gap:4px; padding-top:13px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.plan-recipient-preview.follow-up .plan-recipient-body { margin-top:12px; border-top:1px solid var(--line); }
.plan-recipient-subject > span:first-child,.plan-recipient-body > span:first-child { font-size:11px; }
html[data-theme] .plan-recipient-preview .variable-editor { border:0; border-radius:0; background:transparent; }
html[data-theme] .plan-recipient-preview .variable-editor:focus-within { border:0; box-shadow:none; }
html[data-theme] .plan-recipient-preview .variable-editor :is(.variable-highlight,textarea) { padding:8px 0; }
.plan-recipient-preview .subject-editor textarea { min-height:38px; }
.plan-recipient-preview .plan-recipient-body textarea { min-height:410px; }
.plan-sequence .variable-editor textarea { background:transparent; }
.plan-sequence-variables { display:grid; gap:12px; padding:15px 16px; border:1px solid var(--line); border-radius:15px; background:var(--white); box-shadow:inset 0 1px 0 var(--glass-edge); }
.plan-sequence-variables-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.plan-sequence-variables-head strong { color:var(--ink); font-size:11px; }
.plan-sequence-variables .variable-chip-list { display:flex; flex-wrap:wrap; gap:6px; }
.plan-sequence-error { color:var(--danger); font-size:11px; }
.plan-sequence-editor-column { display:grid; gap:12px; min-width:0; }
.plan-compose-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 14px; border-top:1px solid var(--line); background:var(--surface-soft); }
.plan-compose-actions { display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.plan-compose-action { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:0 9px; border:0; border-radius:8px; background:transparent; color:var(--accent); font-size:11px; font-weight:650; cursor:pointer; }
.plan-compose-action:hover,.plan-compose-action[aria-expanded="true"] { background:var(--accent-soft); }
.plan-compose-action:disabled { opacity:.45; cursor:default; }
.email-tools-dialog { width:min(680px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); overflow:auto; }
.email-tools-dialog .dialog-form { gap:18px; }
.email-tools-dialog .dialog-form label { margin:0; min-width:0; }
.email-tools-dialog select { width:100%; min-width:0; max-width:100%; }
.email-preview-controls { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.email-preview-controls { align-items:flex-end; }
.email-preview-controls > button { flex:none; }
.email-preview-controls label { flex:1; min-width:0; }
.email-preview-paper { padding:26px; border:1px solid var(--line); border-radius:14px; background:var(--white); color:var(--ink); }
.email-preview-envelope { color:var(--muted); font-size:12px; line-height:1.7; white-space:pre-line; overflow-wrap:anywhere; }
.email-preview-paper h2 { margin:18px 0; font-size:20px; line-height:1.35; letter-spacing:-.4px; }
.email-preview-body { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.65; }
.email-preview-signature { margin-top:24px; font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
@media (max-width:600px) { .email-preview-paper { padding:20px; } }
.plan-compose-action svg,.plan-compose-archive svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.plan-template-save-status { margin-left:auto; color:var(--muted); font-size:10px; text-align:right; }
.plan-compose-archive { display:grid; place-items:center; width:34px; height:34px; flex:none; border:0; border-radius:8px; background:transparent; color:var(--muted); opacity:.7; cursor:pointer; }
.plan-compose-archive:hover:not(:disabled) { background:var(--surface); color:var(--ink); opacity:1; }
.plan-compose-archive:disabled { opacity:.35; cursor:default; }
.plan-sequence .variable-token { cursor:pointer; }
.plan-mapping-coverage-note { margin:0; padding:11px 14px; border:1px solid var(--line); border-radius:10px; background:var(--accent-soft); color:var(--accent); font-size:11px; }
@media(max-width:760px) { .plan-sequence-workspace { grid-template-columns:1fr; }.plan-sequence-sidebar { padding:12px; }.plan-sequence-stages { max-height:min(80vh,650px); } }
.plan-template-picker-list { display:grid; gap:7px; max-height:50vh; overflow:auto; }
.plan-template-picker-item { display:grid; gap:4px; padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); color:var(--ink); text-align:left; cursor:pointer; }
.plan-template-picker-item small { color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.campaign-index-row .plan-pill { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; font-weight:650; }
.campaign-index-row .plan-pill::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.campaign-index-row .plan-pill.draft,.campaign-index-row .plan-pill.active { background:var(--accent-soft); color:var(--accent); }
.campaign-index-row .plan-pill.saving { background:var(--accent-soft); color:var(--accent); }
.campaign-index-row .plan-pill.completed { background:var(--positive-soft); color:var(--positive); }
@media(max-width:700px) { .campaign-index-head { align-items:flex-start; flex-direction:column; }.campaign-index-row { grid-template-columns:1fr; gap:14px; padding:18px; }.campaign-index-progress { grid-column:1; grid-row:2; }.campaign-steps button { font-size:11px; }.campaign-steps button span { display:none; } }
.email-workspace-intro strong { font-size: 20px; font-weight: 650; letter-spacing: -.03em; }
.email-workspace-intro p { margin:5px 0 0; max-width:760px; color:var(--muted); font-size:12px; line-height:1.5; }
.email-plan-layout { display:grid; grid-template-columns:minmax(440px,1.25fr) minmax(300px,.75fr); gap:18px; align-items:start; }
.email-plan-fields { padding:0 24px 24px; display:grid; gap:20px; }
.email-plan-fields > label, .plan-time-grid label { display:grid; gap:8px; font-size:12px; font-weight:600; }
.email-plan-fields input, .email-plan-fields select, .email-feed-toolbar select { min-height:39px; color:var(--ink); background:var(--control); border:1px solid var(--line); border-radius:11px; padding:8px 11px; }
html[data-theme] .email-plan-fields .plan-name-field input,
html[data-theme] .email-plan-fields .plan-name-field input:focus { display:block; width:100%; min-height:44px; padding:8px 0 10px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; outline:none; color:var(--ink); font-size:19px; font-weight:550; line-height:1.35; letter-spacing:-.02em; }
html[data-theme] .email-plan-fields .plan-name-field input:focus { border-bottom-color:var(--accent); }
.plan-status-note { padding:6px 10px; color:var(--muted); background:var(--surface-soft); border:1px solid var(--line); border-radius:100px; font-size:11px; white-space:nowrap; }
.plan-fieldset { min-width:0; margin:0; padding:0; border:0; }
.plan-fieldset legend { margin-bottom:10px; padding:0; color:var(--ink); font-size:12px; font-weight:700; }
.plan-fieldset > small { display:block; margin-top:9px; color:var(--muted); font-size:11px; line-height:1.5; }
.plan-choices { display:flex; flex-wrap:wrap; gap:8px; }
.plan-choice { display:inline-flex; align-items:center; gap:8px; padding:9px 11px; border:1px solid var(--line); border-radius:11px; background:var(--surface-soft); color:var(--ink); font-size:12px; cursor:pointer; }
.plan-choice input { width:16px; height:16px; min-height:0; margin:0; padding:0; }
.plan-empty-choice { margin:0; color:var(--muted); font-size:12px; }
.plan-mapping-dialog { width:min(920px,calc(100vw - 32px)); max-width:none; max-height:min(88vh,900px); padding:0; border:1px solid var(--line); border-radius:20px; color:var(--ink); }
.plan-mapping-dialog-shell { display:grid; gap:18px; padding:25px; }
.plan-mapping-dialog .dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.plan-mapping-dialog .dialog-head h3 { margin:7px 0 0; }
.plan-mapping-dialog .dialog-copy { margin:0; color:var(--muted); }
.plan-mapping-overview { display:grid; gap:8px; padding:14px 16px; border:1px solid var(--line); border-radius:13px; background:var(--surface-soft); }
.plan-mapping-overview > div:first-child { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; font-size:12px; }
.plan-mapping-overview span,.plan-mapping-overview small { color:var(--muted); }
.plan-mapping-progress { height:6px; overflow:hidden; border-radius:999px; background:var(--line); }
.plan-mapping-progress span { display:block; height:100%; border-radius:inherit; background:var(--accent); transition:width .2s ease; }
.plan-mapping-diagram { display:grid; grid-template-columns:minmax(0,1fr) 34px minmax(0,1.25fr) 34px minmax(0,1fr); align-items:stretch; gap:3px; }
.plan-map-node { display:grid; align-content:start; gap:8px; min-height:175px; min-width:0; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--white); }
.plan-map-node strong { overflow-wrap:anywhere; font-size:14px; }
.plan-map-node small,.plan-map-node p { margin:0; color:var(--muted); font-size:11px; line-height:1.45; overflow-wrap:anywhere; }
.plan-map-node-label { color:var(--accent); font-size:9px; font-weight:750; letter-spacing:.08em; }
.plan-map-node label { display:grid; gap:6px; color:var(--muted); font-size:10px; }
.plan-map-node select { min-width:0; width:100%; padding:8px 9px; border:1px solid var(--line); border-radius:9px; background:var(--surface-soft); color:var(--ink); font-size:11px; }
.plan-map-connector { display:flex; align-items:center; justify-content:center; color:var(--accent); font-size:22px; }
.plan-map-connector::before { content:""; width:10px; height:1px; background:var(--accent); }
.plan-map-connector::after { content:""; width:10px; height:1px; background:var(--accent); }
.plan-mapping-preview { display:grid; gap:7px; padding:0 2px; }
.plan-mapping-preview > div { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.plan-mapping-preview strong { font-size:12px; }
.plan-mapping-preview p,.plan-mapping-preview small { margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.plan-mapping-tabs { display:flex; align-items:stretch; gap:7px; overflow-x:auto; padding:10px 0 1px; border-top:1px solid var(--line); }
.plan-mapping-tab { display:grid; gap:3px; flex:0 0 auto; max-width:190px; min-width:110px; padding:9px 12px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); color:var(--ink); text-align:left; cursor:pointer; }
.plan-mapping-tab.active { border-color:var(--accent); background:var(--accent-soft); }
.plan-mapping-tab span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; font-weight:650; }
.plan-mapping-tab small { color:var(--muted); font-size:10px; }
.plan-mapping-add { display:grid; place-items:center; flex:0 0 48px; border:1px dashed var(--line); border-radius:10px; background:var(--white); color:var(--accent); font-size:27px; cursor:pointer; }
.plan-mapping-dialog-actions { display:flex; align-items:center; gap:9px; }
.plan-mapping-dialog-actions > span { flex:1; }
@media(max-width:720px) { .plan-mapping-dialog-shell { padding:18px; }.plan-mapping-diagram { grid-template-columns:1fr; }.plan-map-connector { min-height:18px; transform:rotate(90deg); }.plan-map-node { min-height:0; } }
.plan-time-grid { display:flex; align-items:start; flex-wrap:wrap; gap:14px 20px; }
.plan-range-field { display:grid; gap:8px; flex:none; min-width:0; }
.plan-range-title { color:var(--ink); font-size:12px; font-weight:600; }
.plan-range-inputs { display:flex; align-items:center; gap:8px; }
.plan-range-inputs > span { color:var(--muted); font-size:17px; line-height:1; }
.plan-interval-input { position:relative; width:91px; }
.plan-interval-input > span { position:absolute; top:50%; right:19px; color:var(--muted); font-size:11px; transform:translateY(-50%); pointer-events:none; }
html[data-theme] .plan-range-inputs .plan-interval-input input[type="number"] { box-sizing:border-box; width:91px; padding-right:40px; text-align:right; direction:rtl; appearance:auto; }
.plan-time-field, .plan-timezone { position:relative; }
.plan-time-field input[type="hidden"] { display:none; }
.plan-picker-trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; padding:8px 13px; border:1px solid var(--line); border-radius:11px; background:var(--control); color:var(--ink); font-size:12px; font-weight:600; cursor:pointer; text-align:left; }
.plan-picker-trigger:hover { border-color:var(--accent); }
.plan-picker-trigger:focus-visible, .plan-time-option:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.plan-picker-trigger[aria-expanded="true"] { border-color:var(--accent); box-shadow:0 0 0 3px var(--focus); }
.plan-time-trigger { width:112px; font-variant-numeric:tabular-nums; }
.plan-time-trigger svg { width:15px; height:15px; flex:none; color:var(--muted); }
.plan-timezone { display:grid; gap:8px; flex:0 1 230px; min-width:190px; }
.plan-chevron { width:8px; height:8px; flex:none; margin-right:2px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; color:var(--muted); transform:rotate(45deg) translateY(-2px); }
.plan-time-popover { position:absolute; top:calc(100% + 8px); left:0; z-index:30; box-sizing:border-box; border:1px solid var(--line); border-radius:15px; background:var(--white); box-shadow:0 18px 45px rgba(15,23,42,.18); }
.plan-time-popover { width:158px; padding:5px; border-radius:11px; box-shadow:0 8px 22px rgba(15,23,42,.09); }
.plan-range-inputs > .plan-time-field:last-child .plan-time-popover { right:0; left:auto; }
.plan-time-columns { display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.plan-time-options { height:176px; overflow-y:auto; display:grid; align-content:start; gap:2px; padding:2px; scrollbar-width:thin; }
.plan-time-options + .plan-time-options { border-left:1px solid var(--line); padding-left:5px; }
.plan-time-option { min-height:32px; border:0; border-radius:7px; background:transparent; color:var(--ink); font-size:12px; font-variant-numeric:tabular-nums; cursor:pointer; }
.plan-time-option:hover { background:var(--surface-raised); }
.plan-time-option.selected { background:var(--accent-soft); color:var(--accent); font-weight:700; }
.plan-weekdays { display:grid; gap:8px; margin-bottom:18px; }
.plan-weekdays > span { color:var(--ink); font-size:12px; font-weight:600; }
.plan-weekday-options { display:flex; flex-wrap:wrap; gap:8px; }
.plan-weekday-options label { position:relative; display:inline-flex; cursor:pointer; }
.plan-weekday-options input { position:absolute; inset:0; width:100%; height:100%; min-height:0; margin:0; opacity:0; cursor:pointer; }
.plan-weekday-options label span { box-sizing:border-box; display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--line); border-radius:11px; background:var(--glass); box-shadow:inset 0 1px 0 var(--glass-edge), 0 2px 5px rgba(0,0,0,.025); color:var(--muted); font-size:12px; font-weight:650; -webkit-backdrop-filter:blur(8px) saturate(110%); backdrop-filter:blur(8px) saturate(110%); transition:background .15s, border-color .15s; }
.plan-weekday-options input:checked + span { border-color:color-mix(in srgb, var(--accent) 45%, var(--line)); background:linear-gradient(145deg,color-mix(in srgb, var(--accent) 10%, var(--glass)),color-mix(in srgb, var(--accent) 5%, var(--glass))); color:var(--accent); }
.plan-weekday-options input:focus-visible + span { outline:3px solid var(--focus); outline-offset:2px; }
.plan-lead-picker { min-width:0; }
.plan-lead-picker-summary { display:flex; align-items:center; min-height:32px; padding:8px 0 10px; border-bottom:1px solid var(--line); }
.plan-lead-picker-summary strong { color:var(--ink); font-size:12px; font-weight:600; }
.plan-lead-picker-body { padding:12px 0 0; }
.plan-lead-filters { display:grid; grid-template-columns:minmax(150px,1.5fr) repeat(4,minmax(110px,1fr)); gap:7px; }
.plan-lead-filters > * { min-width:0; width:100%; }
.plan-size-filter { position:relative; }
.plan-size-filter > summary { display:flex; align-items:center; justify-content:space-between; gap:9px; box-sizing:border-box; min-height:40px; padding:10px 13px; border:1px solid var(--line); border-radius:10px; background:var(--control); color:var(--ink); font:400 12px/1.4 -apple-system,BlinkMacSystemFont,sans-serif; list-style:none; cursor:default; user-select:none; }
.plan-size-filter > summary::-webkit-details-marker { display:none; }
.plan-size-filter > summary > span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.plan-size-filter > summary svg { flex:none; width:12px; height:12px; color:var(--muted); transition:transform .14s ease; }
.plan-size-filter[open] > summary svg { transform:rotate(-90deg); }
.plan-size-filter > summary:focus-visible { outline:2px solid var(--muted); outline-offset:2px; }
.plan-size-filter-options { position:absolute; z-index:30; top:calc(100% + 5px); right:0; min-width:210px; padding:5px; border:1px solid var(--line); border-radius:10px; background:var(--white); box-shadow:0 8px 24px rgba(0,0,0,.12); }
.plan-size-filter-options label { display:flex; align-items:center; gap:9px; min-height:36px; padding:7px 9px; border-radius:6px; color:var(--ink); font-size:12px; cursor:default; }
.plan-size-filter-options label:hover,.plan-size-filter-options button:hover { background:var(--surface-soft); }
html[data-theme] .plan-size-filter-options input { flex:none; width:14px; height:14px; min-height:0; margin:0; padding:0; accent-color:var(--accent); }
.plan-size-filter-options button { display:block; width:100%; padding:8px 9px; margin-bottom:3px; border:0; border-radius:6px; background:transparent; color:var(--muted); font:inherit; font-size:11px; text-align:left; cursor:default; }
@media (prefers-reduced-motion:reduce) { .plan-size-filter > summary svg { transition:none; } }
.plan-lead-actions { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:11px 0 7px; }
.plan-lead-actions span { margin-right:auto; color:var(--muted); font-size:11px; }
.plan-lead-fade-shell { position:relative; }
.plan-lead-fade-shell::after { content:""; position:absolute; right:1px; bottom:1px; left:1px; height:34px; border-radius:0 0 10px 10px; background:linear-gradient(to bottom,transparent,var(--control)); pointer-events:none; opacity:1; transition:opacity .18s ease; }
.plan-lead-fade-shell.at-end::after { opacity:0; }
.plan-lead-list { height:min(235px,40dvh); overflow-y:auto; border:1px solid var(--line); border-radius:11px; background:var(--control); }
.plan-lead-row { display:flex; align-items:center; gap:10px; padding:9px 11px; border-bottom:1px solid var(--line); cursor:pointer; }
.plan-lead-row:last-child { border-bottom:0; }
.plan-lead-row input { flex:none; width:16px; height:16px; min-height:0; margin:0; padding:0; }
.plan-lead-info { display:grid; min-width:0; gap:3px; }
.plan-lead-info strong, .plan-lead-info small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.plan-lead-info strong { color:var(--ink); font-size:12px; }
.plan-lead-info small, .plan-lead-stage { color:var(--muted); font-size:10px; }
.plan-lead-stage { margin-left:auto; white-space:nowrap; }
.plan-lead-verified { color:var(--accent); }
.plan-lead-load-slot { min-height:44px; padding-top:8px; }
#planLeadLoadMore { display:inline-flex; align-items:center; gap:8px; animation:planLoadMoreAppear .18s ease-out; }
#planLeadLoadMore.loading { cursor:wait; }
#planLeadLoadMore.loading::before { content:""; width:12px; height:12px; border:2px solid var(--line); border-top-color:var(--accent); border-radius:50%; animation:planLoadSpin .6s linear infinite; }
@keyframes planLoadMoreAppear { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
@keyframes planLoadSpin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { #planLeadLoadMore,#planLeadLoadMore.loading::before { animation:none; } }
.plan-estimate { display:grid; gap:5px; max-width:780px; margin-top:16px; padding:14px 16px; color:var(--ink); background:var(--accent-soft); border-radius:12px; }
.plan-estimate .plan-estimate-kicker { color:var(--accent); font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.plan-estimate-metrics { display:flex; align-items:start; flex-wrap:wrap; gap:8px 28px; padding:5px 0; }
.plan-estimate-metrics > div { display:grid; gap:2px; min-width:145px; }
.plan-estimate-metrics > div > span { color:var(--muted); font-size:10px; font-weight:600; }
.plan-estimate-metrics strong { display:flex; align-items:baseline; gap:5px; color:var(--ink); font-size:24px; font-variant-numeric:tabular-nums; letter-spacing:-.035em; }
.plan-estimate .plan-estimate-metrics strong small { font-size:11px; font-weight:600; letter-spacing:normal; }
.plan-estimate .plan-estimate-revenue { color:var(--muted); font-size:11px; font-weight:600; font-variant-numeric:tabular-nums; }
.plan-estimate small { color:var(--muted); font-size:10px; line-height:1.45; }
.plan-estimate-campaign strong { white-space:nowrap; }
.email-plan-actions { display:flex; gap:8px; flex-wrap:wrap; }
.send-plan-card { display:grid; gap:9px; padding:18px 10px; border-top:1px solid var(--line); }
.send-plan-card:first-child { border-top:0; }
.send-plan-card > div { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.send-plan-card strong { font-size:14px; }
.send-plan-card p, .send-plan-card small { margin:0; color:var(--muted); font-size:11px; line-height:1.5; }
.send-plan-card button { justify-self:start; }
.plan-pill { padding:5px 8px; border-radius:100px; background:var(--surface-raised); color:var(--muted); font-size:10px; white-space:nowrap; }
.plan-pill.ready { background:var(--accent-soft); color:var(--accent); }
.app-shell:has(#view-activity.active) main { --inbox-inline-pad:32px; padding-inline:0; }
.app-shell:has(#view-activity.active) .topbar { padding-inline:var(--inbox-inline-pad); }
#view-activity .email-feed-toolbar, #view-activity .email-feed-status-row { padding-inline:var(--inbox-inline-pad); }
.email-feed-panel { margin:0; }
.email-feed-toolbar { display:flex; gap:10px; flex-wrap:wrap; align-items:center; padding:0 0 16px; border-bottom:1px solid var(--line); }
.email-feed-tabs { display:flex; gap:3px; padding:3px; background:var(--surface-soft); border:1px solid var(--line); border-radius:11px; }
.email-feed-tabs button { min-height:33px; padding:0 16px; border:0; border-radius:8px; color:var(--muted); background:transparent; cursor:pointer; font-size:12px; transition:background-color .16s ease,color .16s ease,box-shadow .16s ease; }
.email-feed-tabs button.active { color:var(--ink); background:var(--white); box-shadow:0 2px 8px rgba(0,0,0,.07); }
.email-feed-toolbar select { width:auto; min-width:160px; }
html[data-theme] .email-feed-toolbar select { --mail-filter-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238b96a8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E"); padding:8px 36px 8px 12px; border-radius:10px; font-size:12px; appearance:none; background-color:var(--control); background-image:var(--mail-filter-chevron); background-position:right 13px center; background-size:12px; background-repeat:no-repeat; }
html[data-theme] .email-feed-toolbar select:focus { background:var(--control) var(--mail-filter-chevron) right 13px center / 12px no-repeat; border-color:var(--line); box-shadow:none; outline:none; }
html[data-theme] .email-feed-toolbar select:focus-visible { outline:2px solid var(--muted); outline-offset:3px; }
@supports (appearance:base-select) {
  html[data-theme] .email-feed-toolbar select,.email-feed-toolbar select::picker(select) { appearance:base-select; }
  html[data-theme] .email-feed-toolbar select { display:flex; align-items:center; line-height:1.25; position:relative; background-image:none; }
  html[data-theme] .email-feed-toolbar select:focus { background-image:none; }
  .email-feed-toolbar select::picker-icon { content:""; display:block; position:absolute; right:13px; top:50%; width:12px; height:12px; background:var(--mail-filter-chevron) center / contain no-repeat; transform:translateY(-50%) rotate(0deg); transition:transform .14s ease; }
  .email-feed-toolbar select:open::picker-icon { transform:translateY(-50%) rotate(-90deg); }
  .email-feed-toolbar select::picker(select) { margin-top:5px; min-width:anchor-size(width); max-width:min(360px,calc(100vw - 32px)); max-height:280px; overflow:auto; padding:4px; border:1px solid var(--line); border-radius:10px; background:var(--white); box-shadow:0 8px 24px rgba(15,23,42,.12); }
  .email-feed-toolbar select:open::picker(select) { animation:mailFilterIn .14s ease-out both; }
  .email-feed-toolbar select option { min-height:32px; padding:8px 10px; border-radius:6px; color:var(--ink); background:transparent; font-size:12px; cursor:default; white-space:normal; overflow-wrap:anywhere; }
  .email-feed-toolbar select option:is(:hover,:focus-visible,:checked) { background:var(--surface-soft); }
  .email-feed-toolbar select option::checkmark { display:none; }
  .email-feed-toolbar select optgroup { padding:4px 0; color:var(--muted); font-size:11px; }
}
@keyframes mailFilterIn { from { opacity:0; translate:0 -3px; } to { opacity:1; translate:0 0; } }
@media (prefers-reduced-motion:reduce) { .email-feed-toolbar select::picker(select) { animation:none; } }
@media (prefers-reduced-motion:reduce) { .email-feed-toolbar select::picker-icon { transition:none; } }
.email-feed-status-row { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:50px; }
.email-feed-status { color:var(--muted); font-size:11px; }
.mail-feed-refresh { display:grid; place-items:center; flex:none; width:32px; height:32px; padding:7px; border:0; border-radius:8px; color:var(--muted); background:transparent; cursor:pointer; }
.mail-feed-refresh:hover { color:var(--ink); background:var(--surface-soft); }
.mail-feed-refresh svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mail-feed-refresh:disabled { opacity:.55; cursor:default; }
.mail-feed-refresh:disabled svg { animation:mailFeedRefresh 1s linear infinite; }
@keyframes mailFeedRefresh { to { transform:rotate(360deg); } }
.email-feed-list { overflow:visible; background:var(--white); }
.mail-feed-more { display:flex; justify-content:center; min-height:60px; align-items:center; }
.mail-feed-more button { padding:9px 15px; border:0; border-radius:9px; color:var(--muted); background:transparent; font:inherit; font-size:12px; cursor:pointer; }
.mail-feed-more button:hover { background:var(--surface-soft); }
.mail-feed-more button:disabled { cursor:default; }
.mail-feed-item { display:grid; grid-template-columns:34px minmax(0,1fr); gap:13px; padding:20px 22px; border-top:1px solid var(--line); cursor:default; animation:mailFeedRowIn .18s cubic-bezier(.2,.7,.2,1); }
@keyframes mailFeedRowIn { from { opacity:.55; transform:translateY(3px); } to { opacity:1; transform:translateY(0); } }
.mail-feed-item:hover { background:color-mix(in srgb,var(--ink) 2%,var(--white)); }
.mail-feed-item:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.mail-feed-avatar { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--accent-soft); color:var(--accent); font-size:11px; font-weight:600; letter-spacing:.02em; }
.mail-feed-content { min-width:0; }
.mail-feed-message-head { display:flex; align-items:baseline; justify-content:space-between; gap:18px; }
.mail-feed-sender { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); font-size:13px; font-weight:650; line-height:1.4; }
.mail-feed-item time { flex:none; color:var(--muted); font-size:10px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.mail-feed-envelope { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:2px; color:var(--muted); font-size:10px; line-height:1.5; overflow-wrap:anywhere; }
.mail-feed-campaign { padding-left:8px; border-left:1px solid var(--line); }
.mail-feed-subject { margin:10px 0 0; color:var(--ink); font-size:13px; font-weight:550; line-height:1.5; overflow-wrap:anywhere; }
.mail-feed-preview { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
@media(max-width:540px) { .mail-feed-item { padding:17px 14px; gap:10px; grid-template-columns:28px minmax(0,1fr); } .mail-feed-avatar { width:28px; height:28px; font-size:10px; } .mail-feed-message-head { gap:8px; } .mail-feed-item time { font-size:9px; } }
.mail-message-dialog { position:fixed; inset:0 0 0 auto; margin:0; z-index:150; width:calc(100% - var(--sidebar-width)); max-width:none; height:100dvh; max-height:none; padding:0; overflow:hidden; border:0; border-left:1px solid var(--line); border-radius:0; color:var(--ink); background:var(--white); box-shadow:-20px 0 60px rgba(0,0,0,.16); }
.mail-message-dialog[open] { animation:mailMessageOpen .2s cubic-bezier(.2,.7,.2,1); }
html:has(.mail-message-dialog[open]) { overflow:hidden; }
html[data-theme] dialog.mail-message-dialog { border:0; border-left:1px solid var(--line); border-radius:0; background:var(--white); box-shadow:-20px 0 60px rgba(0,0,0,.16); backdrop-filter:none; -webkit-backdrop-filter:none; }
.mail-message-dialog[open]::backdrop { animation:mailMessageBackdropIn .18s ease-out; }
@keyframes mailMessageOpen { from { transform:translateX(100%); } to { transform:translateX(0); } }
@keyframes mailMessageBackdropIn { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .mail-message-dialog[open]::backdrop { animation:none; } }
.mail-message-shell { display:flex; flex-direction:column; height:100%; min-height:0; }
.mail-message-header { flex:none; padding:0 32px 20px; border-bottom:1px solid var(--line); }
.mail-message-toolbar { display:flex; align-items:center; gap:16px; min-height:64px; }
.mail-message-toolbar > .icon-button { flex:none; margin-left:auto; width:30px; height:30px; border-radius:8px; font-size:20px; }
.mail-message-back { display:inline-flex; align-items:center; gap:6px; padding:7px 8px 7px 0; border:0; background:transparent; color:var(--muted); font:inherit; font-size:12px; cursor:pointer; }
.mail-message-back:hover { color:var(--ink); }
.mail-message-back svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.mail-message-heading { max-width:800px; margin:8px auto 0; }
.mail-message-heading h2 { margin:0; color:var(--ink); font-size:22px; line-height:1.4; font-weight:600; letter-spacing:-.03em; overflow-wrap:anywhere; }
.mail-message-meta { display:flex; align-items:flex-start; gap:12px; margin-top:22px; font-size:12px; line-height:1.6; }
.mail-message-avatar { display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:50%; background:var(--accent-soft); color:var(--accent); font-size:11px; font-weight:600; }
.mail-message-sender { flex:1; min-width:0; }
.mail-message-sender > strong { font-weight:600; overflow-wrap:anywhere; }
.mail-message-meta time { flex:none; padding-top:2px; color:var(--muted); font-size:11px; }
.mail-message-envelope summary { display:flex; align-items:center; gap:8px; width:fit-content; color:var(--muted); cursor:pointer; list-style:none; font-size:11px; overflow-wrap:anywhere; }
.mail-message-envelope summary::-webkit-details-marker { display:none; }
.mail-message-envelope[open] summary > span { transform:rotate(180deg); }
.mail-message-envelope > div { display:grid; gap:5px; max-height:120px; overflow:auto; margin-top:10px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface-soft); font-size:11px; }
.mail-message-envelope > div > div { display:grid; grid-template-columns:32px minmax(0,1fr); gap:10px; overflow-wrap:anywhere; }
.mail-message-envelope > div > div > span:first-child { color:var(--muted); }
.mail-message-lead { display:flex; align-items:center; justify-content:flex-end; gap:10px; min-width:0; margin-left:auto; font-size:11px; }
#mailMessageLeadName { max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); }
.mail-lead-status-label { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:10px; }
.mail-lead-status-label select { width:auto; max-width:160px; min-height:30px; padding:5px 8px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--surface-soft); font:inherit; font-size:11px; cursor:pointer; }
#mailMessageLeadNotice { color:var(--muted); font-size:10px; }
#mailMessageLeadNotice:empty { display:none; }
.mail-message-status-row { display:flex; align-items:center; gap:12px; width:100%; max-width:864px; margin-inline:auto; padding:0 32px; }
.mail-message-status-row p { margin:10px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.mail-message-status-row:has(p:empty) { display:none; }
.mail-message-body { display:block; flex:1; min-height:0; width:100%; border:0; background:var(--white); color-scheme:inherit; }
.mail-message-attachments { display:flex; flex-wrap:wrap; flex:none; max-height:90px; gap:8px; overflow:auto; padding:14px 24px; border-top:1px solid var(--line); }
.mail-message-attachment { display:flex; align-items:center; gap:8px; max-width:100%; padding:7px 10px; border:1px solid var(--line); border-radius:8px; font-size:11px; overflow-wrap:anywhere; }
.mail-message-attachment small { flex:none; color:var(--muted); font-size:10px; }
.mail-reply-form { flex:none; padding:14px 32px; border-top:1px solid var(--line); background:var(--white); }
#mailReplyComposer { max-width:800px; margin-inline:auto; }
.mail-reply-heading { display:flex; align-items:center; gap:10px; min-height:32px; font-size:12px; cursor:pointer; list-style:none; }
.mail-reply-heading::-webkit-details-marker { display:none; }
.mail-reply-heading > svg { flex:none; width:18px; height:18px; fill:none; stroke:var(--muted); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mail-reply-heading strong { font-weight:550; }
.mail-reply-heading span { color:var(--muted); font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mail-reply-expand { margin-left:auto; flex:none; }
#mailReplyComposer[open] .mail-reply-expand { transform:rotate(180deg); }
#mailReplyComposer[open] .mail-reply-heading { margin-bottom:10px; }
.mail-reply-editor { position:relative; }
.mail-reply-form textarea { display:block; width:100%; min-height:100px; max-height:25dvh; resize:vertical; padding:12px 54px 12px 14px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); color:var(--ink); font:inherit; font-size:13px; line-height:1.6; }
.mail-reply-send { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; box-sizing:border-box; width:36px; height:36px; aspect-ratio:1; padding:0; border:0; border-radius:10px; background:#0069e8; color:#fff; box-shadow:none; cursor:pointer; transition:background .15s,opacity .15s; }
.mail-reply-send:hover:not(:disabled) { background:#005ccd; }
.mail-reply-send:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.mail-reply-send:disabled { opacity:.4; cursor:default; }
.mail-reply-send.is-sending { opacity:.7; }
/* Center the rotated airplane's visible outline, not its square SVG viewport. */
.mail-reply-send-icon { display:block; width:14px; height:14px; transform:translate(1.85px,-1.85px) rotate(-45deg); transform-origin:center; }
.mail-reply-send-spinner { display:none; width:16px; height:16px; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation:mailReplySending .7s linear infinite; }
.mail-reply-send.is-sending .mail-reply-send-icon { display:none; }
.mail-reply-send.is-sending .mail-reply-send-spinner { display:block; }
.mail-reply-status { display:block; margin-top:10px; color:var(--muted); font-size:11px; }
.mail-reply-status:empty { display:none; }
@keyframes mailReplySending { to { transform:rotate(360deg); } }
@media(max-width:700px) { .mail-message-header { padding:0 20px 18px; }.mail-message-heading h2 { font-size:19px; }.mail-message-toolbar { flex-wrap:wrap; gap:8px; padding-block:10px; min-height:54px; }.mail-message-lead { order:3; flex-basis:100%; justify-content:flex-start; margin:0; }#mailMessageLeadName { max-width:40%; }.mail-message-meta { flex-wrap:wrap; gap:8px; margin-top:16px; }.mail-message-meta time { margin-left:44px; flex-basis:100%; font-size:10px; }.mail-message-status-row { padding-inline:20px; }.mail-reply-form { padding:12px 20px; } }
@media(prefers-reduced-motion:reduce) { .mail-message-dialog[open] { animation:none; } }
@media(max-width:1200px) { .email-plan-layout { grid-template-columns:1fr; } }
@media(max-width:700px) { .email-workspace-intro { align-items:flex-start; flex-direction:column; } .email-plan-fields { padding-inline:18px; } .email-feed-toolbar select { flex:1; min-width:0; } }
@media(max-width:700px) { .plan-lead-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .plan-lead-filters input { grid-column:1 / -1; } }
.instruction-grid { padding-inline: 26px; }
.instructions-panel > .button { margin-left: 26px; }
html[data-theme] .toggle-row { background: var(--surface-soft); }
.tracking-note, .tracking-config-status { font-size: 11px; line-height: 1.6; }
html[data-theme] .tracking-note:not(.attention) { color: var(--muted); background: var(--surface-soft); border-color: var(--line); }
html[data-theme] .tracking-note:not(.attention) span { color: var(--muted); }

html[data-theme] .auth-view { background: transparent; }
.auth-card { width: min(460px, 100%); padding: 38px; }
.auth-card h1 { font-family: inherit; font-size: 28px; font-weight: 650; letter-spacing: -.035em; }
.auth-card > p, .auth-confirm p { font-size: 13px; }
.auth-heading { color: var(--muted); font-size: 11px; }
.auth-card > img { filter: none; }
html[data-theme] .auth-status.error { color: var(--danger); }
.auth-status { font-size: 12px; }
.boot-view { font-size: 12px; }
.dialog-form { padding: 28px; }
.dialog-copy { font-size: 12px; line-height: 1.65; }
.dialog-actions { flex-wrap: wrap; }
html[data-theme] dialog::backdrop { background: rgba(12, 15, 25, .3); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }
html[data-theme="dark"] dialog::backdrop { background: rgba(0, 0, 0, .55); }
html[data-theme] .icon-button { color: var(--muted); background: var(--surface-raised); }
html[data-theme] :is(.send-warning, .dialog-form code) { color: var(--danger); background: var(--danger-soft); border-color: var(--line); }
html[data-theme] .toast:not(.error) { color: var(--ink); background: var(--glass); border: 1px solid var(--line); box-shadow: var(--shadow); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); border-radius: 16px; font-size: 13px; }
html[data-theme] .toast.error { color: var(--danger); background: var(--danger-soft); font-size: 13px; }
html[data-theme] .toast-action { color: var(--accent); background: var(--accent-soft); }

@media (max-width: 1100px) {
  main { padding-inline: 24px; }
  .app-shell:has(#view-activity.active) main { --inbox-inline-pad:24px; }
  .account-chip small { display: none; }
  .sidebar-footer .account-chip small { display: block; }
  .campaign-layout { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 1000px) {
  :root { --sidebar-width:82px; }
  html[data-theme] .sidebar { padding-inline: 8px; margin-left: 10px; border-radius: 20px; }
  .brand { padding-inline: 0; justify-content: center; gap: 0; }
  .brand > span { display: none; }
  html[data-theme] .nav-item { justify-content: center; gap: 0; font-size: 0; padding: 11px 0; }
  .sidebar-integrations { padding-inline:0; }
  .sidebar-integrations-button { position:relative; justify-content:center; gap:0; padding:11px 0; }
  .sidebar-integrations-button span { display:none; }
  .sidebar-integrations-button::after { position:absolute; z-index:1000; left:calc(100% + 10px); top:50%; width:max-content; padding:7px 9px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--white); box-shadow:var(--shadow); content:attr(data-sidebar-label); font-size:12px; font-weight:550; line-height:1.2; opacity:0; pointer-events:none; transform:translate(-5px,-50%); transition:opacity .15s ease,transform .15s ease; }
  .sidebar-integrations-button:hover::after,.sidebar-integrations-button:focus-visible::after { opacity:1; transform:translate(0,-50%); }
  html[data-theme] .nav-item { position: relative; overflow: visible; }
  html[data-theme] .nav-item::after {
    position: absolute;
    z-index: 1000;
    left: calc(100% + 10px);
    top: 50%;
    width: max-content;
    max-width: 180px;
    padding: 7px 9px;
    border: 1px solid var(--line);
    border-radius: 9px;
    color: var(--ink);
    background: var(--white);
    box-shadow: var(--shadow);
    content: attr(data-nav-label);
    font-size: 12px;
    font-weight: 550;
    line-height: 1.2;
    opacity: 0;
    pointer-events: none;
    transform: translate(-5px, -50%);
    transition: opacity .15s ease, transform .15s ease;
  }
  html[data-theme] .nav-item:hover::after,
  html[data-theme] .nav-item:focus-visible::after { opacity: 1; transform: translate(0, -50%); }
  html[data-theme] .sidebar-control { position: relative; justify-content: center; gap: 0; font-size: 0; padding: 11px 0; }
  .sidebar-control .sidebar-control-label, .sidebar-control .theme-label { display: none; }
  html[data-theme] .sidebar-control::after {
    position: absolute;
    z-index: 1000;
    left: calc(100% + 10px);
    top: 50%;
    width: max-content;
    padding: 7px 9px;
    border: 1px solid var(--line);
    border-radius: 9px;
    color: var(--ink);
    background: var(--white);
    box-shadow: var(--shadow);
    content: attr(data-sidebar-label);
    font-size: 12px;
    font-weight: 550;
    line-height: 1.2;
    opacity: 0;
    pointer-events: none;
    transform: translate(-5px, -50%);
    transition: opacity .15s ease, transform .15s ease;
  }
  html[data-theme] .sidebar-control:hover::after,
  html[data-theme] .sidebar-control:focus-visible::after { opacity: 1; transform: translate(0, -50%); }
  .sidebar-footer { padding-inline: 0; }
  .sidebar-footer .account-trigger { justify-content: center; padding: 7px 0; }
  .sidebar-footer .account-trigger-copy, .sidebar-footer .account-chevron { display: none; }
  .account-menu .theme-label { display: inline; }
  .topbar h1 { font-size: 25px; }
}
@media (max-width: 700px) {
  :root { --sidebar-width:0px; }
  .app-shell { display: block; }
  main { padding: 0 16px 110px; }
  .app-shell:has(#view-activity.active) main { --inbox-inline-pad:16px; }
  html[data-theme] .sidebar {
    position: fixed; top: auto; bottom: max(12px, env(safe-area-inset-bottom)); left: 12px; right: 12px;
    width: auto; height: 64px; margin: 0; padding: 8px; border-radius: 23px; z-index: 10;
  }
  .sidebar-footer { display: flex; flex: 0 0 44px; margin: 0; padding: 0; border: 0; align-items: center; }
  .sidebar-integrations { display:none; }
  .sidebar nav { display: flex; flex: 1; min-width: 0; height: 100%; justify-content: space-around; }
  html[data-theme] .nav-item { padding: 10px 13px; min-width: 42px; }
  .sidebar-footer .account-trigger { min-height: 42px; padding: 4px; }
  .account-menu { left: auto; right: 0; bottom: calc(100% + 18px); }
  html[data-theme] .nav-item::after {
    left: 50%;
    top: auto;
    bottom: calc(100% + 10px);
    transform: translate(-50%, 5px);
  }
  html[data-theme] .nav-item:hover::after,
  html[data-theme] .nav-item:focus-visible::after { transform: translate(-50%, 0); }
  html[data-theme] .nav-item.active { box-shadow: inset 0 1px 0 var(--glass-edge); }
  .topbar { min-height: 106px; padding: 22px 0; align-items: flex-start; flex-wrap: wrap; gap: 16px; }
  .topbar h1 { font-size: 26px; }
  .top-actions { width: 100%; justify-content: flex-start; gap: 8px; }
  .account-menu .theme-label { display: inline; }
  html[data-theme] .theme-toggle { width: 38px; padding: 0; }
  .theme-label { display: none; }
  .campaign-layout { grid-template-columns: minmax(0,1fr); }
  .pipeline-intro { align-items:flex-start; flex-direction:column; gap:12px; }
  .pipeline-total { justify-items:start; }
  .pipeline-toolbar { align-items:stretch; flex-direction:column; }
  .pipeline-toolbar input, .pipeline-toolbar select { width:100%; }
  .pipeline-board { grid-auto-columns:minmax(248px,80vw); }
  .metrics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .metric { padding: 18px; }
  .panel-head { padding: 22px 20px 18px; }
  .form-panel > label { margin-inline: 20px; }
  .form-panel > .button, .instructions-panel > .button { margin-left: 20px; }
  .form-hint, .editor-variable-section { margin-inline: 20px; }
  .stack-list { padding-inline: 20px; }
  .template-card-heading { align-items: flex-start; }
  .template-stats { gap: 20px; }
  html[data-theme] :is(input, textarea, select) { font-size: 16px; }
  html[data-theme] .variable-editor :is(.variable-highlight, textarea) { font-size: 16px; }
  .two-cols { grid-template-columns: 1fr; }
  .toast { bottom: 94px; left: 16px; right: 16px; max-width: none; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  html[data-theme] :is(.sidebar, .panel, .metric, .auth-card, dialog, .toast:not(.error)) { background: var(--white); }
}
@media (prefers-reduced-transparency: reduce) {
  html[data-theme] :is(.sidebar, .panel, .metric, .auth-card, dialog, .toast:not(.error)) { background: var(--white); backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  html[data-theme] .variable-editor textarea { color: CanvasText; }
  .variable-highlight { visibility: hidden; }
}

/* Overview: small, data-first widgets instead of the static domain-health checklist. */
.overview-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:8px 0 15px; }
.overview-metric, .overview-widget { min-width:0; border:1px solid var(--line); border-radius:20px; background:var(--white); box-shadow:var(--shadow); }
.overview-period-updated :is(.overview-metric > strong, .overview-metric > small, .overview-metric > .overview-trend, .overview-distribution, .overview-campaign-list, .overview-feed-list) { animation:overviewPeriodContentIn .22s cubic-bezier(.2,.7,.2,1) both; }
@keyframes overviewPeriodContentIn { from { opacity:.6; translate:0 4px; } to { opacity:1; translate:0 0; } }
.overview-metric { display:grid; grid-template-columns:minmax(0,1fr) minmax(112px,55%); grid-template-rows:auto 1fr auto; column-gap:8px; min-height:166px; padding:20px 29px 20px 21px; }
.overview-metric > span { grid-column:1; grid-row:1; color:var(--muted); font-size:12px; font-weight:550; }
.overview-metric > strong { grid-column:1; grid-row:2; align-self:center; min-width:0; font-size:30px; font-weight:650; letter-spacing:-.05em; line-height:1; font-variant-numeric:tabular-nums; }
.overview-metric > small { grid-column:1 / -1; grid-row:3; color:var(--muted); font-size:11px; line-height:1.4; }
.overview-metric > .overview-total-pipeline-note { font-size:10px; opacity:.82; }
.overview-metric[data-trend="revenue"], .overview-metric[data-trend="closed"] { --trend-color:#149b69; }
.overview-metric[data-trend="delivered"] { --trend-color:#4185df; }
.overview-metric[data-trend="appointments"] { --trend-color:#5a61df; }
html[data-theme="dark"] .overview-metric[data-trend="revenue"], html[data-theme="dark"] .overview-metric[data-trend="closed"] { --trend-color:#4bcf98; }
html[data-theme="dark"] .overview-metric[data-trend="delivered"] { --trend-color:#5b9cf1; }
html[data-theme="dark"] .overview-metric[data-trend="appointments"] { --trend-color:#858bff; }
.overview-trend { grid-column:2; grid-row:1 / 3; align-self:start; position:relative; min-width:0; margin-top:2px; color:var(--trend-color); cursor:default; outline:none; transform:translateY(-10px); }
.overview-trend-change { display:block; margin:0 2px 5px; text-align:right; font-size:11px; font-weight:650; font-variant-numeric:tabular-nums; }
.overview-trend-change[data-direction="down"] { color:#bc5b58; }
.overview-trend-change[data-direction="flat"] { color:var(--muted); }
.overview-trend svg { display:block; width:100%; height:78px; overflow:visible; }
.overview-trend-line { fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.overview-trend-active { position:absolute; z-index:1; width:8px; height:8px; border-radius:50%; background:currentColor; transform:translate(-50%,-50%); pointer-events:none; }
.overview-trend-tooltip { position:absolute; z-index:20; left:0; top:20px; width:max-content; max-width:180px; padding:8px 10px; border:1px solid var(--line); border-radius:9px; background:var(--white); box-shadow:0 8px 24px rgba(15,23,42,.13); color:var(--ink); font-size:11px; line-height:1.4; white-space:nowrap; pointer-events:none; }
.overview-trend-tooltip strong { display:block; font-size:12px; }
.overview-trend-tooltip[hidden], .overview-trend-active[hidden] { display:none; }
.overview-trend:focus-visible { border-radius:4px; outline:2px solid var(--trend-color); outline-offset:3px; }
.overview-content { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:15px; align-items:stretch; }
.overview-widget { padding:23px 24px; }
.overview-widget-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:19px; }
.overview-widget-head h3 { margin:0; font-size:18px; font-weight:650; letter-spacing:-.035em; }
.overview-link { border:0; padding:4px 0; color:var(--accent); background:transparent; font-size:11px; font-weight:650; white-space:nowrap; cursor:pointer; }
.overview-link:hover { text-decoration:underline; text-underline-offset:3px; }
.overview-pipeline { container-type:inline-size; --overview-new:#d9dee5; --overview-sent:#2563eb; --overview-not-interested:#a55269; --overview-responded:#0f766e; --overview-call:#6d4cc2; --overview-booked:#0e7490; --overview-cancelled:#b95745; --overview-no-show:#c2410c; --overview-follow-up:#c18a00; --overview-free-trial:#16835d; --overview-lost:#9f3548; --overview-closed:#166534; }
html[data-theme="dark"] .overview-pipeline { --overview-new:#e0e5eb; }
.overview-pipeline { --overview-unqualified:#64748b; --overview-wrong-contact:#8b7365; }
.overview-stage-dot.unqualified { background:var(--overview-unqualified); }
.overview-stage-dot.wrong-contact { background:var(--overview-wrong-contact); }
.overview-distribution { display:grid; grid-template-columns:minmax(220px,1fr) minmax(0,370px); align-items:center; gap:18px; min-height:220px; }
.overview-donut { position:relative; display:grid; place-items:center; justify-self:center; width:280px; max-width:100%; aspect-ratio:1; border-radius:50%; background:var(--surface-raised); cursor:default; }
.overview-donut:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.overview-donut-tooltip { position:absolute; z-index:5; display:grid; gap:2px; width:max-content; min-width:112px; max-width:170px; padding:9px 11px; border:1px solid var(--line); border-radius:11px; background:var(--white); box-shadow:0 10px 28px rgba(15,23,42,.16); color:var(--ink); font-size:11px; line-height:1.35; pointer-events:none; }
.overview-donut-tooltip[hidden] { display:none; }
.overview-donut-tooltip strong { display:flex; align-items:center; gap:6px; font-size:12px; font-weight:650; }
.overview-donut-tooltip small { color:var(--muted); font-size:10px; }
.overview-donut-tooltip-dot { flex:none; width:7px; height:7px; border-radius:50%; }
.overview-donut-hole { display:flex; flex-direction:column; align-items:center; justify-content:center; width:74%; aspect-ratio:1; border-radius:50%; background:var(--white); box-shadow:0 0 0 1px var(--line); }
.overview-donut-hole strong { font-size:34px; font-weight:650; line-height:1.1; letter-spacing:-.05em; font-variant-numeric:tabular-nums; }.overview-donut-hole span { margin-top:3px; color:var(--muted); font-size:11px; }
.overview-donut-hole small { margin-top:4px; color:var(--muted); font-size:10px; font-weight:600; font-variant-numeric:tabular-nums; }
.overview-donut-hole small + span { margin-top:3px; }
.overview-stage-list { display:grid; width:100%; max-width:370px; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(var(--overview-stage-rows,7),auto); grid-auto-flow:column; gap:9px 10px; }
.overview-stage { display:flex; align-items:center; min-width:0; gap:8px; padding:8px 7px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); }
.overview-stage-dot { width:8px; height:8px; flex:none; border-radius:50%; }.overview-stage-dot.new { background:var(--overview-new); box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 16%,transparent); }.overview-stage-dot.sent { background:var(--overview-sent); }.overview-stage-dot.not-interested { background:var(--overview-not-interested); }.overview-stage-dot.responded { background:var(--overview-responded); }.overview-stage-dot.call { background:var(--overview-call); }.overview-stage-dot.booked { background:var(--overview-booked); }.overview-stage-dot.free-trial { background:var(--overview-free-trial); }.overview-stage-dot.cancelled { background:var(--overview-cancelled); }.overview-stage-dot.no-show { background:var(--overview-no-show); }.overview-stage-dot.follow-up { background:var(--overview-follow-up); }.overview-stage-dot.lost { background:var(--overview-lost); }.overview-stage-dot.closed { background:var(--overview-closed); }
.overview-stage-info, .overview-stage-count { display:grid; gap:2px; min-width:0; }.overview-stage strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; font-weight:600; }.overview-stage small { color:var(--muted); font-size:10px; white-space:nowrap; }.overview-stage-count { margin-left:auto; text-align:right; }.overview-stage-count b { font-size:12px; font-weight:650; font-variant-numeric:tabular-nums; }
.overview-campaign-track { height:5px; margin:9px 0 6px; overflow:hidden; border-radius:99px; background:var(--surface-raised); }
.overview-campaign-track > span { display:block; height:100%; border-radius:inherit; background:var(--accent); }
.overview-campaign-list { display:grid; gap:13px; }
.overview-campaign { padding:14px 15px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); }
.overview-campaign-head, .overview-campaign-meta, .overview-campaign-rates { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.overview-campaign-head > strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.overview-active-pill { padding:4px 8px; border-radius:99px; color:var(--accent); background:var(--accent-soft); font-size:10px; font-weight:700; }
.overview-campaign-meta { margin-top:14px; color:var(--muted); font-size:11px; }.overview-campaign-meta > strong { color:var(--ink); font-size:12px; font-variant-numeric:tabular-nums; }
.overview-campaign-track { height:6px; margin:8px 0 12px; }.overview-campaign-rates { justify-content:flex-start; gap:17px; color:var(--muted); font-size:10px; }.overview-campaign-rates strong { color:var(--ink); font-size:11px; }
.overview-widget-foot { margin-top:15px; color:var(--muted); font-size:11px; }
.overview-empty { margin:0; padding:16px 0; color:var(--muted); font-size:12px; line-height:1.5; }
.overview-campaign-empty { display:grid; justify-items:start; padding:19px 0 10px; }.overview-campaign-empty strong { color:var(--ink); font-size:13px; }.overview-campaign-empty p { margin:5px 0 0; }.overview-empty-mark { display:grid; place-items:center; width:30px; height:30px; margin-bottom:12px; border-radius:9px; color:var(--accent); background:var(--accent-soft); font-size:17px; }
.overview-feed { min-height:230px; }.overview-feed-list { display:grid; }
.overview-mail-item { display:flex; gap:11px; min-width:0; padding:11px 0; border-top:1px solid var(--line); }.overview-mail-item:first-child { border-top:0; padding-top:0; }
.overview-mail-item[role="button"] { cursor:default; border-radius:6px; }
.overview-mail-item:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.overview-mail-avatar { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:10px; color:var(--accent); background:var(--accent-soft); font-size:12px; font-weight:700; }
.overview-mail-copy { min-width:0; flex:1; }.overview-mail-copy > div { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }.overview-mail-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:650; }.overview-mail-copy time { flex:none; color:var(--muted); font-size:10px; }.overview-mail-copy > span, .overview-mail-copy > p { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:4px 0 0; color:var(--muted); font-size:11px; }
.overview-footnote { display:flex; justify-content:space-between; gap:20px; margin:16px 1px 0; color:var(--muted); font-size:10px; line-height:1.5; }
@container (max-width:630px) { .overview-distribution { grid-template-columns:160px minmax(0,1fr); gap:20px; min-height:180px; }.overview-donut { width:158px; }.overview-donut-hole { width:117px; }.overview-donut-hole strong { font-size:29px; } }
@media (max-width:1100px) { .overview-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.overview-content { grid-template-columns:1fr; } }
@media (max-width:650px) { .overview-distribution { grid-template-columns:1fr; justify-items:center; gap:18px; }.overview-stage-list { width:100%; }.overview-metrics { gap:9px; }.overview-metric { grid-template-columns:minmax(0,1fr) minmax(75px,48%); min-height:150px; padding:16px 21px 16px 16px; }.overview-metric > strong { font-size:25px; }.overview-widget { padding:18px; }.overview-footnote { display:block; }.overview-footnote span + span { display:block; margin-top:5px; } }
#view-integrations [hidden] { display: none !important; }
.integrations-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 1000px; }
.stripe-integration-card { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; min-width: 0; min-height: 174px; padding: 23px 24px; border: 1px solid var(--line); border-radius: 21px; background: var(--glass); box-shadow: var(--shadow); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.stripe-identity { display: flex; align-items: center; min-width: 0; gap: 19px; }
.stripe-logo-tile { display: grid; place-items: center; flex: 0 0 96px; width: 96px; height: 69px; border: 1px solid rgba(83,58,253,.08); border-radius: 16px; background: #f2efff; }
.stripe-logo-tile img { display: block; width: 76px; height: auto; }
html[data-theme="dark"] .stripe-logo-tile { border-color: rgba(255,255,255,.08); background: #30265c; }
html[data-theme="dark"] .stripe-logo-tile img { filter: brightness(0) invert(1); }
.stripe-identity-copy { min-width: 0; }
.stripe-name-row { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.stripe-name-row h3 { margin: 0; color: var(--ink); font-size: 17px; font-weight: 650; letter-spacing: -.035em; }
.stripe-identity-copy p { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.stripe-connection-badge { display: inline-flex; align-items: center; min-height: 23px; padding: 2px 9px; border-radius: 999px; color: var(--muted); background: var(--surface-raised); font-size: 10px; font-weight: 650; white-space: nowrap; }
.stripe-connection-badge[data-status="connected"] { color: var(--positive); background: var(--positive-soft); }
.stripe-connect-button { flex: none; min-width: 132px; }
.integration-card-footer { display: flex; align-items: end; justify-content: space-between; gap: 14px; padding-top: 16px; border-top: 1px solid var(--line); }
.stripe-status { min-width: 0; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.stripe-billing-panel { grid-column: 1 / -1; padding: 23px 24px; border: 1px solid var(--line); border-radius: 20px; background: var(--glass); box-shadow: var(--shadow); }
.stripe-account-label { display: grid; gap: 7px; max-width: 340px; margin: 0 0 20px; color: var(--muted); font-size: 11px; font-weight: 600; }
.stripe-billing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.stripe-billing-form { display: grid; align-content: start; gap: 13px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-soft); }
.stripe-billing-form h4, .stripe-invoices-head h4 { margin: 0; color: var(--ink); font-size: 14px; font-weight: 650; }
.stripe-billing-form label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 600; }
.stripe-amount-row { display: grid; grid-template-columns: 1fr 110px; gap: 10px; }
.stripe-invoices-head, .stripe-invoice-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.stripe-invoices-head { margin: 25px 0 8px; }
.stripe-invoice-row { border-top: 1px solid var(--line); padding: 12px 0; font-size: 12px; }
.calendar-integration-card { margin-top: 0; }
.docusign-logo-tile { display:grid; place-items:center; flex:0 0 96px; width:96px; height:69px; border:1px solid rgba(76,0,255,.12); border-radius:16px; background:#fff; }
.docusign-logo-tile img { display:block; width:80px; height:auto; }
html[data-theme="dark"] .docusign-logo-tile { border-color:rgba(255,255,255,.18); }
.docusign-integration-card .integration-account-row > div:first-child { display:grid; gap:4px; min-width:0; }
.docusign-integration-card .integration-account-row strong { font-size:12px; overflow-wrap:anywhere; }
.docusign-integration-card .integration-account-row small { color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
.docusign-account-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.docusign-account-actions button { font-size:11px; }
.fortnox-logo-tile { display:grid; place-items:center; flex:0 0 96px; width:96px; height:69px; border:1px solid rgba(18,139,70,.14); border-radius:16px; background:#edf8f0; color:#168342; }
.fortnox-logo-tile span { font-size:22px; font-weight:750; letter-spacing:-1px; }
.fortnox-integration-card .integration-account-row > div:first-child { display:grid; gap:4px; min-width:0; }
.fortnox-integration-card .integration-account-row strong { font-size:12px; overflow-wrap:anywhere; }
.fortnox-integration-card .integration-account-row small { color:var(--muted); font-size:11px; }
.fortnox-account-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.fortnox-account-actions button { font-size:11px; }
html[data-theme="dark"] .fortnox-logo-tile { background:#153321; color:#67d990; border-color:rgba(103,217,144,.18); }
@media (max-width:480px) { .fortnox-logo-tile { flex-basis:76px; width:76px; height:62px; }.fortnox-logo-tile span { font-size:19px; } }
.calendar-logo-tile { display: grid; place-items: center; flex: 0 0 69px; width: 69px; height: 69px; border: 1px solid rgba(37,99,235,.13); border-radius: 16px; background: linear-gradient(140deg,#eaf3ff,#f7faff); }
.calendar-logo-tile span { display: grid; place-items: center; width: 39px; height: 43px; border: 3px solid #4285f4; border-top: 10px solid #4285f4; border-radius: 5px; background: #fff; color: #1a73e8; font-size: 18px; font-weight: 700; letter-spacing: -.07em; line-height: 1; }
html[data-theme="dark"] .calendar-logo-tile { background: #172941; border-color: rgba(96,165,250,.18); }
.integration-account-list { display: grid; gap: 2px; }
.integration-account-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; padding: 7px 0; border-top: 1px solid var(--line); }
.integration-account-email { overflow: hidden; color: var(--ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.integration-account-disconnect { flex: none; padding: 4px 0; border: 0; background: none; color: var(--muted); cursor: pointer; font: inherit; font-size: 10px; }
.integration-account-disconnect:hover { color: var(--ink); }
.integration-account-disconnect:disabled { opacity: .5; cursor: default; }
.integration-connected-footer { align-items: center; padding-top: 12px; }
.integration-connected-footer .integration-account-list { flex: 1; min-width: 0; gap: 0; }
.integration-connected-footer .integration-account-row { border-top: 0; padding: 2px 0; gap: 8px; }
.integration-account-tag { display:inline-flex; align-items:center; gap:3px; min-width:0; max-width:100%; margin-left:-7px; padding:3px 4px 3px 7px; border-radius:7px; background:transparent; cursor:default; transition:background .14s ease; }
.integration-account-tag .integration-account-email { cursor:default; }
.integration-account-name-loading { display:block; width:92px; height:10px; margin:6px 0; border-radius:4px; background:var(--surface-raised); }
.integration-account-tag:hover, .integration-account-tag:focus-within { background:var(--surface-raised); }
.integration-account-unlink { display:grid; place-items:center; flex:none; width:22px; height:22px; padding:0; border:0; border-radius:5px; background:none; color:var(--muted); opacity:0; pointer-events:none; cursor:default; transition:opacity .14s ease, color .14s ease; }
.integration-account-unlink svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; }
.integration-account-tag:hover .integration-account-unlink, .integration-account-tag:focus-within .integration-account-unlink { opacity:1; pointer-events:auto; }
.integration-account-unlink:hover { color:var(--ink); }
.integration-account-unlink:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.integration-account-unlink:disabled { opacity:.4; }
@media (hover:none) { .integration-account-unlink { opacity:1; pointer-events:auto; } }
@media (prefers-reduced-motion:reduce) { .integration-account-tag, .integration-account-unlink { transition:none; } }
@media (max-width: 480px) { .calendar-logo-tile { flex-basis: 62px; width: 62px; height: 62px; } }
@media (max-width: 760px) { .integrations-layout { grid-template-columns: 1fr; } .stripe-billing-grid { grid-template-columns: 1fr; } .stripe-integration-card { min-height: 150px; } }
@media (max-width: 480px) { .stripe-integration-card { padding: 18px; }.stripe-logo-tile { flex-basis: 76px; width: 76px; height: 62px; }.stripe-logo-tile img { width: 62px; }.stripe-identity { gap: 13px; }.integration-card-footer { align-items: stretch; flex-direction: column; }.stripe-connect-button { width: 100%; margin-left: 0; } }

/* Calendar */
.app-shell:has(#view-calendar.active) { height:100dvh; min-height:0; overflow:hidden; }
.app-shell:has(#view-calendar.active) main { --calendar-inline-pad:32px; display:flex; flex-direction:column; min-height:0; overflow:hidden; padding:0; }
.app-shell:has(#view-calendar.active) .topbar { flex:none; min-height:64px; padding:10px var(--calendar-inline-pad); gap:16px; }
.app-shell:has(#view-calendar.active) .topbar h1 { font-size:23px; }
.app-shell:has(#view-calendar.active) .top-actions { display:none; }
#view-calendar.active { display:flex; flex:1; min-height:0; flex-direction:column; overflow:hidden; }
.calendar-page-toolbar { display:flex; flex:none; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:0 var(--calendar-inline-pad) 10px; }
.calendar-date-navigation { display:flex; flex:1; align-items:center; gap:12px; min-width:0; }
.calendar-date-navigation h2 { flex:0 1 190px; width:190px; min-width:0; margin:0; overflow:hidden; color:var(--ink); font-size:18px; font-weight:650; letter-spacing:-.035em; text-overflow:ellipsis; white-space:nowrap; }
.calendar-period-controls { display:flex; flex:none; align-items:center; gap:2px; padding:2px; border:1px solid var(--line); border-radius:11px; background:var(--surface-soft); }
.calendar-period-controls button { display:grid; place-items:center; min-width:32px; height:31px; padding:0 7px; border:0; border-radius:8px; color:var(--ink); background:transparent; font:inherit; font-size:19px; cursor:pointer; transition:background .15s ease; }
.calendar-period-controls button:hover { background:var(--surface-raised); }
.calendar-period-controls #calendarToday { min-width:54px; background:var(--white); box-shadow:0 1px 4px rgba(0,0,0,.06); font-size:11px; font-weight:600; }
.calendar-view-switch { display:flex; width:max-content; padding:3px; border:1px solid var(--line); border-radius:11px; background:var(--surface-soft); }
.calendar-view-switch button { min-height:30px; padding:5px 10px; border:0; border-radius:8px; color:var(--muted); background:transparent; font:inherit; font-size:11px; font-weight:600; cursor:pointer; }
.calendar-view-switch button[aria-pressed="true"] { color:var(--ink); background:var(--white); box-shadow:0 1px 5px rgba(0,0,0,.09); }
.calendar-view-switch button:not([aria-pressed="true"]):hover { color:var(--ink); }
.calendar-source-controls { display:none; align-items:end; gap:10px; min-width:0; margin-left:auto; }
.app-shell:has(#view-calendar.active) .calendar-source-controls { display:flex; }
.calendar-source-controls label { position:relative; display:grid; gap:3px; min-width:0; color:var(--muted); font-size:10px; font-weight:600; }
.calendar-source-controls label::after { position:absolute; right:13px; bottom:12px; width:12px; height:12px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238b96a8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") center / contain no-repeat; content:""; pointer-events:none; }
.calendar-source-controls select { width:min(190px,24vw); min-height:36px; padding:6px 32px 6px 11px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--glass); font:inherit; font-size:11px; text-overflow:ellipsis; appearance:none; cursor:pointer; }
.calendar-source-controls select:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@supports (appearance:base-select) {
  .calendar-source-controls select,.calendar-source-controls select::picker(select) { appearance:base-select; }
  .calendar-source-controls select { display:flex; align-items:center; padding-right:32px; }
  .calendar-source-controls select::picker-icon { display:none; }
  .calendar-source-controls select::picker(select) { margin-top:5px; padding:4px; min-width:anchor-size(width); max-height:240px; overflow:auto; border:1px solid var(--line); border-radius:11px; background:var(--white); box-shadow:0 10px 28px rgba(15,23,42,.14); }
  .calendar-source-controls select option { min-height:32px; padding:8px 10px; border-radius:7px; color:var(--ink); background:transparent; font-size:11px; cursor:pointer; }
  .calendar-source-controls select option:is(:hover,:focus-visible,:checked) { background:var(--surface-soft); }
  .calendar-source-controls select option::checkmark { display:none; }
}
.calendar-toolbar-actions { display:flex; flex:none; align-items:center; justify-content:flex-end; gap:8px; }
.calendar-action-divider { width:1px; height:24px; margin:0 4px; background:var(--line); }
.calendar-toolbar-actions .button { min-height:36px; padding:8px 11px; font-size:11px; white-space:nowrap; }
.calendar-toolbar-actions .button:disabled { opacity:.45; cursor:not-allowed; }
.calendar-page-status { position:relative; display:none; flex:none; align-items:center; justify-content:center; gap:5px; min-width:78px; height:22px; padding:2px 8px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:var(--surface-soft); font-size:10px; font-weight:600; line-height:1; white-space:nowrap; outline-offset:3px; }
.app-shell:has(#view-calendar.active) .calendar-page-status { display:inline-flex; }
.calendar-page-status::before { flex:none; width:6px; height:6px; border-radius:50%; background:var(--positive); content:""; }
.calendar-page-status[data-state="syncing"]::before { background:var(--accent); animation:calendar-status-pulse 1.1s ease-in-out infinite; }
.calendar-page-status[data-state="error"] { color:var(--danger); background:var(--danger-soft); }
.calendar-page-status[data-state="error"]::before { background:var(--danger); }
.calendar-page-status[data-state="notice"]::before { background:var(--accent); }
.calendar-page-status[data-state="disconnected"]::before { background:var(--muted); }
.calendar-page-status[data-detail]:is(:hover,:focus-visible)::after { position:absolute; top:calc(100% + 8px); left:0; z-index:20; width:max-content; max-width:min(320px,80vw); padding:8px 10px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--white); box-shadow:var(--shadow); content:attr(data-detail); font-size:11px; font-weight:400; line-height:1.4; white-space:normal; }
@keyframes calendar-status-pulse { 50% { opacity:.45; } }
.calendar-workspace:not(.hidden) { display:flex; flex:1; flex-direction:column; width:100%; min-width:0; min-height:0; overflow:hidden; }
.calendar-month-view:not(.hidden) { display:flex; flex:1; flex-direction:column; width:100%; min-width:0; min-height:0; overflow:hidden; }
.calendar-time-view:not(.hidden) { flex:1; width:100%; min-width:0; min-height:0; height:auto; overflow-x:hidden; overflow-y:auto; overscroll-behavior-y:contain; scrollbar-width:thin; scrollbar-color:var(--surface-raised) transparent; }
.calendar-weekday-head, .calendar-month-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekday-head { border-bottom:1px solid var(--line); }
.calendar-weekday-head span { padding:13px 6px; color:var(--muted); text-align:center; font-size:11px; font-weight:600; }
.calendar-month-grid { flex:1; min-height:0; grid-auto-rows:minmax(0,1fr); overflow:hidden; border-left:1px solid var(--line); }
.calendar-day { position:relative; display:flex; flex-direction:column; align-items:stretch; min-width:0; min-height:0; padding:9px 8px; overflow:hidden; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink); background:transparent; text-align:left; font:inherit; transition:background .15s ease; }
.calendar-day:hover { background:var(--surface-soft); }
.calendar-day:focus-within { outline:2px solid var(--accent); outline-offset:-2px; }
.calendar-day-open { position:absolute; z-index:1; inset:0; width:100%; border:0; background:transparent; cursor:default; }
.calendar-day.outside-month { color:var(--muted); background:color-mix(in srgb,var(--surface-soft) 38%,transparent); }
.calendar-day-number { display:grid; place-items:center; width:27px; height:27px; margin:0 0 5px auto; border-radius:50%; font-size:12px; font-weight:650; pointer-events:none; }
.calendar-day.today .calendar-day-number { color:#fff; background:#0063d8; }
.calendar-event-chip { position:relative; z-index:2; display:block; min-width:0; margin-top:3px; padding:4px 6px; overflow:hidden; border:0; border-radius:5px; color:var(--accent); background:var(--accent-soft); text-align:left; font:inherit; font-size:10px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; cursor:default; }
.calendar-event-chip:hover { background:color-mix(in srgb,var(--accent-soft) 78%,var(--accent) 22%); }
.calendar-day-more { margin-top:5px; color:var(--muted); font-size:10px; pointer-events:none; }
.calendar-time-header, .calendar-all-day, .calendar-time-grid { display:grid; grid-template-columns:58px repeat(var(--calendar-day-count),minmax(0,1fr)); }
.calendar-time-header { position:sticky; z-index:5; top:0; min-height:63px; border-bottom:1px solid var(--line); background:var(--paper); }
.calendar-time-gutter, .calendar-all-day-label, .calendar-time-axis { border-right:1px solid var(--line); }
.calendar-time-gutter { display:grid; place-items:center; color:var(--muted); cursor:ns-resize; touch-action:none; user-select:none; }
.calendar-time-gutter::before { width:16px; height:12px; border-radius:3px; background:repeating-linear-gradient(to bottom,transparent 0 3px,var(--muted) 3px 4px,transparent 4px 6px); content:""; opacity:.45; }
.calendar-time-gutter:hover::before,.calendar-time-view.is-resizing .calendar-time-gutter::before { opacity:.85; }
.calendar-time-day-head { display:grid; justify-items:center; align-content:center; gap:2px; min-width:0; padding:7px 3px; border:0; border-right:1px solid var(--line); color:var(--ink); background:transparent; font:inherit; cursor:pointer; }
.calendar-time-day-head:hover { background:var(--surface-soft); }
.calendar-time-day-head span { color:var(--muted); font-size:10px; font-weight:550; }
.calendar-time-day-head strong { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; font-size:13px; font-weight:650; }
.calendar-time-day-head.today strong { color:#fff; background:#0063d8; }
.calendar-all-day { position:sticky; z-index:4; top:63px; min-height:34px; border-bottom:1px solid var(--line); background:var(--paper); }
.calendar-all-day-label { display:grid; place-items:center; color:var(--muted); font-size:9px; }
.calendar-all-day-cell { display:flex; flex-wrap:wrap; align-items:center; gap:3px; min-width:0; padding:4px; border-right:1px solid var(--line); }
.calendar-all-day-cell button { min-width:0; max-width:100%; padding:3px 6px; overflow:hidden; border:0; border-radius:5px; color:var(--accent); background:var(--accent-soft); font:inherit; font-size:10px; text-overflow:ellipsis; white-space:nowrap; cursor:default; }
.calendar-time-grid { overflow:visible; }
.calendar-time-axis { position:relative; height:var(--calendar-grid-height); cursor:ns-resize; touch-action:none; user-select:none; }
.calendar-time-axis:hover, .calendar-time-gutter:hover, .calendar-time-view.is-resizing .calendar-time-axis, .calendar-time-view.is-resizing .calendar-time-gutter { background:var(--surface-soft); }
.calendar-time-axis:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.calendar-time-axis span { position:absolute; right:9px; color:var(--muted); font-size:10px; white-space:nowrap; pointer-events:none; transform:translateY(-50%); }
.calendar-time-axis span:first-child { transform:translateY(5px); }
.calendar-time-lane { position:relative; min-width:0; border-right:1px solid var(--line); background-image:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px var(--calendar-hour-height)); cursor:default; }
.calendar-time-event { position:absolute; z-index:1; display:grid; align-content:start; gap:3px; min-width:0; padding:6px 8px; overflow:hidden; border:0; border-left:2px solid var(--accent); border-radius:5px; color:var(--ink); background:var(--accent-soft); text-align:left; font:inherit; font-size:11px; line-height:1.25; cursor:default; touch-action:none; user-select:none; }
.calendar-time-event.is-dragging { z-index:8; opacity:.78; box-shadow:0 8px 24px rgba(0,0,0,.18); cursor:default; pointer-events:none; }
.calendar-time-view.is-event-dragging,.calendar-time-view.is-event-dragging *,.calendar-month-grid.is-event-dragging,.calendar-month-grid.is-event-dragging *,.calendar-all-day.is-event-dragging,.calendar-all-day.is-event-dragging * { cursor:grabbing !important; }
.calendar-time-event.is-drag-source { opacity:.28; }
.calendar-time-event.is-sync-locked,.calendar-event-chip.is-sync-locked,.calendar-all-day-cell button.is-sync-locked { cursor:default !important; }
.calendar-time-event.is-sync-pending,.calendar-event-chip.is-sync-pending,.calendar-all-day-cell button.is-sync-pending { position:relative; padding-right:20px; opacity:.72; }
.calendar-time-event.is-sync-pending::after,.calendar-event-chip.is-sync-pending::after,.calendar-all-day-cell button.is-sync-pending::after { position:absolute; top:50%; right:6px; width:9px; height:9px; border:1.5px solid color-mix(in srgb,var(--accent) 30%,transparent); border-top-color:var(--accent); border-radius:50%; content:""; transform:translateY(-50%); animation:calendar-sync-spin .8s linear infinite; }
@keyframes calendar-sync-spin { to { transform:translateY(-50%) rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .calendar-time-event.is-sync-pending::after,.calendar-event-chip.is-sync-pending::after,.calendar-all-day-cell button.is-sync-pending::after { animation:none; border-color:var(--accent); } }
.calendar-drag-preview { position:absolute; z-index:9; left:2px; right:2px; display:grid; align-content:start; gap:3px; overflow:hidden; padding:6px 8px; border:1px solid var(--accent); border-radius:5px; color:var(--ink); background:var(--accent-soft); box-shadow:0 8px 24px rgba(0,0,0,.14); font-size:11px; line-height:1.25; pointer-events:none; }
.calendar-event-chip[draggable="true"],.calendar-all-day-cell button[draggable="true"] { cursor:default; }
:is(.calendar-time-event,.calendar-drag-preview) strong { overflow:hidden; font-size:11px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
:is(.calendar-time-event,.calendar-drag-preview) small { overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
:is(.calendar-time-event,.calendar-drag-preview).is-compact { display:flex; align-items:center; padding:1px 6px; }
:is(.calendar-time-event,.calendar-drag-preview).is-compact small { display:none; }
:is(.calendar-time-event,.calendar-drag-preview).is-tiny { padding:0; border-radius:2px; }
:is(.calendar-time-event,.calendar-drag-preview).is-tiny strong { display:none; }
.calendar-time-event:hover, .calendar-all-day-cell button:hover { background:color-mix(in srgb,var(--accent-soft) 78%,var(--accent) 22%); }
.calendar-event-chip.is-cancelled,.calendar-all-day-cell button.is-cancelled,.calendar-time-event.is-cancelled { border:1px solid var(--line); color:var(--muted); background:transparent; box-shadow:none; opacity:.75; cursor:default; }
.calendar-event-chip.is-cancelled,.calendar-all-day-cell button.is-cancelled { text-decoration:line-through; text-decoration-color:color-mix(in srgb,var(--muted) 55%,transparent); }
.calendar-time-event.is-cancelled strong { text-decoration:line-through; text-decoration-color:color-mix(in srgb,var(--muted) 55%,transparent); }
.calendar-event-chip.is-cancelled:hover,.calendar-all-day-cell button.is-cancelled:hover,.calendar-time-event.is-cancelled:hover { background:var(--surface-soft); opacity:1; }
.calendar-time-event:focus-visible, .calendar-all-day-cell button:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.calendar-now-line { position:absolute; z-index:2; right:0; left:0; height:1px; background:#ed5151; pointer-events:none; }
.calendar-now-line::before { position:absolute; top:-3px; left:-3px; width:7px; height:7px; border-radius:50%; background:#ed5151; content:""; }
.calendar-connect-prompt { display:grid; justify-items:center; max-width:560px; margin:36px auto; padding:42px 28px; border:1px solid var(--line); border-radius:20px; background:var(--glass); box-shadow:var(--shadow); text-align:center; }
.calendar-connect-mark { display:grid; place-items:center; width:50px; height:54px; margin-bottom:20px; border:3px solid #4285f4; border-top:11px solid #4285f4; border-radius:7px; color:#1a73e8; background:#fff; font-size:24px; font-weight:700; }
.calendar-connect-prompt h2 { margin:0; font-size:21px; letter-spacing:-.04em; }
.calendar-connect-prompt p { max-width:320px; margin:9px 0 20px; color:var(--muted); font-size:12px; line-height:1.5; }
.calendar-event-dialog { width:min(540px,calc(100% - 24px)); max-height:min(90dvh,760px); overflow:hidden; border:1px solid var(--line); border-radius:22px; }
.calendar-event-dialog .dialog-form { display:flex; flex-direction:column; max-height:min(90dvh,760px); padding:0; overflow:hidden; }
.calendar-event-form-head { padding:24px 26px 8px; }
.calendar-event-form-head .dialog-head { align-items:center; margin:0; }
.calendar-event-form-head h3 { color:var(--ink); font:650 22px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif; letter-spacing:-.04em; }
.calendar-event-form-head .dialog-copy { margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.45; }
.calendar-event-form-body { min-height:0; padding:12px 26px 22px; overflow-y:auto; scrollbar-width:thin; }
.calendar-event-dialog .dialog-form label { margin:0; color:var(--ink); font-size:12px; font-weight:550; }
.calendar-event-dialog .dialog-form label span { color:var(--muted); font-weight:400; }
.calendar-event-title-field { margin-bottom:18px !important; }
html[data-theme] .calendar-event-title-field input { min-height:43px; padding:6px 1px 9px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; font-size:18px; font-weight:550; letter-spacing:-.025em; }
html[data-theme] .calendar-event-title-field input:focus { border-color:var(--accent); background:transparent; box-shadow:0 1px 0 var(--accent); }
.calendar-schedule-card { padding:16px; border:1px solid var(--line); border-radius:16px; background:var(--surface-soft); }
.calendar-schedule-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; }
.calendar-schedule-heading strong { color:var(--ink); font-size:13px; font-weight:650; }
.calendar-event-dialog .calendar-all-day-toggle { display:flex; align-items:center; gap:7px; color:var(--muted); cursor:pointer; }
.calendar-event-dialog .calendar-all-day-toggle span { color:var(--muted); font-size:11px; font-weight:550; white-space:nowrap; }
.calendar-event-dialog .calendar-all-day-toggle input { width:15px; height:15px; margin:0; cursor:pointer; }
.calendar-event-dates,.calendar-form-times { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.calendar-event-dates:has(#calendarEndDateField.hidden) { grid-template-columns:1fr; }
.calendar-event-dates label,.calendar-form-times label { min-width:0; }
.calendar-form-times { margin-top:13px; }
html[data-theme] .calendar-event-dialog :is(input[type="date"],input[type="time"],input[type="email"],input[type="text"],textarea) { min-height:40px; }
.calendar-timezone-note { margin:14px 0 0; color:var(--muted); font-size:11px; }
.calendar-guest-field { margin-top:17px; }
.calendar-guest-field > label { display:block; margin-bottom:7px !important; }
.calendar-guest-input-wrap { display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-height:42px; padding:5px 8px; border:1px solid var(--line); border-radius:10px; background:var(--white); transition:border-color .15s ease,box-shadow .15s ease; }
.calendar-guest-input-wrap:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
html[data-theme] .calendar-guest-input-wrap input { flex:1 1 170px; width:100%; min-width:120px; min-height:30px; padding:2px 4px; border:0; background:transparent; box-shadow:none; }
html[data-theme] .calendar-guest-input-wrap input:focus { border:0; box-shadow:none; }
.calendar-guest-chips { display:contents; }
.calendar-guest-chip { display:inline-flex; align-items:center; gap:5px; max-width:100%; padding:4px 5px 4px 9px; border-radius:7px; color:var(--ink); background:var(--accent-soft); font-size:11px; overflow-wrap:anywhere; }
.calendar-guest-chip button { display:grid; place-items:center; width:18px; height:18px; padding:0; border:0; border-radius:5px; color:var(--muted); background:transparent; font-size:15px; line-height:1; cursor:pointer; }
.calendar-guest-chip button:hover { color:var(--ink); background:color-mix(in srgb,var(--accent) 12%,transparent); }
.calendar-guest-field > p { margin:5px 0 0; color:var(--muted); font-size:10px; }
.calendar-meet-note { display:flex; align-items:center; gap:8px; margin-top:15px; color:var(--muted); font-size:11px; }
.calendar-meet-icon { display:grid; place-items:center; width:21px; height:17px; border-radius:5px; color:#fff; background:#4285f4; font-size:12px; }
.calendar-event-extras { display:grid; gap:14px; margin-top:18px; }
.calendar-event-extras textarea { min-height:72px; resize:vertical; }
.calendar-event-form-footer { display:flex; justify-content:flex-end; gap:9px; padding:15px 26px 20px; border-top:1px solid var(--line); background:var(--white); }
.calendar-event-form-footer .button { min-height:38px; }
#calendarDetailsDialog { position:fixed; inset:0 0 0 auto; width:min(480px,100vw); height:100dvh; max-height:none; max-width:100vw; margin:0; padding:0; border:0; border-left:1px solid var(--line); border-radius:0; background:var(--white); color:var(--ink); box-shadow:-12px 0 40px rgba(0,0,0,.12); overflow:hidden; z-index:160; backdrop-filter:none; -webkit-backdrop-filter:none; }
#calendarDetailsDialog:focus-visible { outline:none; }
.calendar-details-dialog[open] { animation:calendarSidebarIn .18s ease-out; }
.calendar-details-dialog .calendar-details-shell { display:flex; flex-direction:column; height:100%; max-height:none; padding:0; }
.calendar-details-dialog .calendar-details-shell .dialog-head { flex:none; margin:0; padding:24px; border-bottom:1px solid var(--line); }
.calendar-details-dialog .calendar-details-shell .dialog-head h3 { font-size:18px; line-height:1.4; }
.calendar-details-dialog .icon-button { flex:none; border-radius:8px; background:transparent; }
.calendar-details-dialog .icon-button:hover { background:var(--surface-soft); }
.calendar-details-dialog .calendar-details-content { display:flex; flex-direction:column; flex:1; min-height:0; max-height:none; padding:0 24px; overflow:hidden; overscroll-behavior:contain; }
.calendar-details-dialog .calendar-details-content > :not(.calendar-meeting-notes) { flex:none; }
.calendar-details-dialog .calendar-details-actions { flex:none; margin:0; padding:16px 24px; border-top:1px solid var(--line); }
.calendar-details-dialog .calendar-details-row:first-child { border-top:0; }
@keyframes calendarSidebarIn { from { transform:translateX(36px); opacity:0; } to { transform:translateX(0); opacity:1; } }
@media(prefers-reduced-motion:reduce) { .calendar-details-dialog[open] { animation:none; } }
.calendar-details-shell { padding:24px; }
.calendar-details-shell .dialog-head { align-items:start; margin-bottom:17px; }
.calendar-details-shell .dialog-head h3 { max-width:calc(100% - 36px); margin:0; overflow-wrap:anywhere; font-size:21px; font-weight:650; letter-spacing:-.035em; }
.calendar-details-content { display:grid; gap:0; max-height:calc(88vh - 110px); overflow:auto; }
.calendar-details-row { display:grid; grid-template-columns:78px minmax(0,1fr); gap:15px; padding:12px 0; border-top:1px solid var(--line); font-size:12px; line-height:1.5; }
.calendar-details-row > span { color:var(--muted); font-size:11px; font-weight:600; }
.calendar-details-value { min-width:0; color:var(--ink); overflow-wrap:anywhere; }
.calendar-details-value.multiline { white-space:pre-wrap; }
.calendar-gemini-notes { border-top:1px solid var(--line); margin-top:12px; padding-top:16px; }
.calendar-gemini-notes h4 { margin:0 0 12px; font-size:14px; }
.calendar-gemini-notes h5 { margin:0 0 10px; font-size:12px; }
.calendar-gemini-notes p { color:var(--muted); margin:0 0 10px; }
.calendar-gemini-notes article { margin-bottom:16px; }
.calendar-gemini-notes small { display:block; margin:8px 0; color:var(--muted); }
.calendar-gemini-notes a { display:block; margin:8px 0; }
.calendar-gemini-notes details { margin:16px 0; font-size:12px; }
.calendar-gemini-notes summary { color:var(--muted); cursor:pointer; }
.calendar-gemini-notes details p { margin:10px 0; white-space:pre-wrap; }
.calendar-gemini-text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; margin-bottom:12px; }
.calendar-gemini-actions { display:flex; flex-wrap:wrap; gap:8px; }
.calendar-gemini-connection { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:20px; color:var(--muted); font-size:11px; }
.calendar-gemini-connection[hidden] { display:none; }
.calendar-gemini-connection > span:first-child { width:100%; color:var(--ink); font-size:12px; font-weight:600; }
.calendar-gemini-connection .button { font-size:11px; padding:6px 10px; }
.calendar-gemini-connection small { width:100%; line-height:1.5; }
.calendar-details-actions { display:flex; align-items:center; gap:9px; }
.calendar-action-spacer { flex:1; }
.calendar-remove-button { color:#b95745 !important; }
.calendar-remove-button:hover { background:color-mix(in srgb,#b95745 10%,var(--white)) !important; }
.calendar-delete-dialog { width:min(440px,calc(100% - 24px)); }
.calendar-delete-message { margin:0 0 17px; color:var(--muted); font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
.calendar-delete-scope { display:grid; gap:9px; margin:0 0 18px; padding:13px 15px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }
.calendar-delete-scope legend { padding:0 5px; color:var(--muted); font-size:11px; font-weight:600; }
.calendar-delete-scope label { display:flex; align-items:center; gap:9px; color:var(--ink); font-size:12px; cursor:pointer; }
.calendar-delete-scope input { accent-color:var(--accent); }
.calendar-delete-guest-note { margin:0 0 20px; color:var(--muted); font-size:11px; line-height:1.45; }
.calendar-delete-dialog .dialog-actions { display:flex; justify-content:flex-end; gap:9px; margin:0; }
.calendar-move-scope-dialog { width:min(460px,calc(100% - 24px)); }
.calendar-move-scope-dialog h3 { margin:0; color:var(--ink); font-size:20px; letter-spacing:-.035em; }
.calendar-move-scope-dialog p { margin:9px 0 20px; color:var(--muted); font-size:13px; }
.calendar-move-scope-actions { display:flex; flex-wrap:wrap; gap:9px; }
.calendar-move-scope-dialog small { display:block; margin-top:17px; color:var(--muted); font-size:11px; line-height:1.45; }
@media (max-width:480px) { .calendar-event-form-head { padding:20px 18px 6px; }.calendar-event-form-body { padding:10px 18px 18px; }.calendar-event-form-footer { padding:13px 18px 16px; }.calendar-schedule-card { padding:13px; }.calendar-event-dates,.calendar-form-times { gap:8px; } }
@media (max-width:1100px) { .app-shell:has(#view-calendar.active) main { --calendar-inline-pad:24px; } }
@media (max-width:900px) { .calendar-page-toolbar { flex-wrap:wrap; gap:8px 12px; }.calendar-date-navigation { flex:1 1 220px; }.calendar-toolbar-actions { margin-left:auto; } }
@media (max-width:700px) { .app-shell:has(#view-calendar.active) { height:calc(100dvh - 88px - env(safe-area-inset-bottom)); } }
@media (max-width:700px) { .app-shell:has(#view-calendar.active) main { --calendar-inline-pad:16px; } }
@media (max-width:650px) { .calendar-date-navigation { flex-basis:100%; justify-content:space-between; }.calendar-toolbar-actions { width:100%; justify-content:space-between; gap:6px; }.calendar-source-controls { gap:8px; }.calendar-source-controls select { width:min(150px,23vw); }.calendar-action-divider { margin:0; }.calendar-toolbar-actions .button { padding-inline:10px; }.calendar-day { padding:4px; }.calendar-day-number { width:22px; height:22px; }.calendar-event-chip { padding:3px; font-size:8px; }.calendar-day-more { font-size:8px; }.calendar-time-header,.calendar-all-day,.calendar-time-grid { grid-template-columns:43px repeat(var(--calendar-day-count),minmax(0,1fr)); }.calendar-time-axis span { right:5px; font-size:9px; }.calendar-time-event { padding:4px; } }
@media (max-width:480px) { .app-shell:has(#view-calendar.active) .topbar { flex-wrap:wrap; gap:8px; }.calendar-source-controls { width:100%; }.calendar-source-controls label { flex:1; }.calendar-source-controls select { width:100%; }.calendar-toolbar-actions { flex-wrap:wrap; }.calendar-view-switch { flex:1 1 100%; }.calendar-view-switch button { flex:1; padding-inline:8px; white-space:nowrap; }.calendar-action-divider { display:none; }.calendar-toolbar-actions .button { flex:1; padding-inline:8px; font-size:11px; } }

/* Twilio account connections and workspace phone-number activation. */
.twilio-logo-tile { display:grid; place-items:center; flex:0 0 70px; width:70px; height:70px; border-radius:18px; background:rgba(242,47,70,.1); color:#f22f46; }
.twilio-logo-tile svg { width:38px; height:38px; fill:currentColor; }
.phone-numbers-panel { margin-top:18px; }
.phone-numbers-status { margin:0; padding:0 22px 18px; color:var(--muted); font-size:12px; }
.phone-numbers-status:empty { display:none; }
.phone-number-toggle { display:flex; align-items:center; gap:8px; font-size:12px; cursor:pointer; }
.phone-number-toggle input { width:16px; height:16px; accent-color:var(--accent); }
.phone-number-toggle:has(input:disabled) { opacity:.55; cursor:default; }
.twilio-account-actions { display:flex; gap:8px; flex-wrap:wrap; }
.profile-timezone-picker { position:relative; display:flex; align-items:center; gap:10px; }
.profile-timezone-label { color:var(--muted); font-size:12px; }
.timezone-picker { position:relative; min-width:0; }
.timezone-picker-trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:40px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--control); font:inherit; font-size:12px; text-align:left; cursor:pointer; }
.timezone-picker-trigger > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.timezone-picker-trigger::after { content:""; flex:none; width:7px; height:7px; margin-right:3px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); color:var(--muted); }
.timezone-picker-trigger:is(:hover,[aria-expanded="true"]) { border-color:var(--accent); }
.timezone-picker-trigger:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.timezone-picker-trigger:disabled { opacity:.55; cursor:default; }
.timezone-picker-menu { position:absolute; z-index:80; top:calc(100% + 8px); left:0; width:min(360px,calc(100vw - 40px)); min-width:100%; box-sizing:border-box; padding:8px; border:1px solid var(--line); border-radius:13px; background:var(--white); box-shadow:0 10px 35px rgba(0,0,0,.18); }
.timezone-picker-menu[hidden] { display:none; }
.timezone-picker-menu[data-side="above"] { top:auto; bottom:calc(100% + 8px); }
.timezone-picker-menu[data-align="end"] { left:auto; right:0; }
.timezone-picker-search { width:100%; min-height:36px; margin-bottom:7px; font-size:12px; }
.timezone-picker-options { max-height:250px; overflow:auto; scrollbar-width:thin; }
.timezone-picker-option { display:block; width:100%; padding:9px 10px; border:0; border-radius:7px; background:transparent; color:var(--ink); text-align:left; font:inherit; font-size:12px; cursor:pointer; }
.timezone-picker-option:hover,.timezone-picker-option.highlighted { background:var(--accent-soft); color:var(--accent); }
.timezone-picker-option[aria-selected="true"] { font-weight:600; }
.timezone-picker-options p { padding:10px; color:var(--muted); font-size:12px; }
.profile-timezone-picker .timezone-picker { width:230px; }
.panel:has(.timezone-picker) { overflow:visible; }
.panel:has(.timezone-picker-menu:not([hidden])) { position:relative; z-index:80; }
/* Pipeline cards are picked up directly, with stage-level drop targets. */
.pipeline-card { padding:16px; gap:10px; border-radius:15px; background:var(--white); cursor:grab; user-select:none; touch-action:none; box-shadow:0 2px 5px rgba(0,0,0,.025); transition:border-color .15s,box-shadow .15s,transform .15s; }
.pipeline-card:hover { border-color:color-mix(in srgb,var(--pipeline-stage) 30%,var(--line)); box-shadow:0 5px 15px rgba(0,0,0,.07); transform:translateY(-1px); }
.pipeline-card::before { width:0; }
.pipeline-card-brand { display:flex; justify-content:space-between; align-items:center; }
.pipeline-company-avatar { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:color-mix(in srgb,var(--pipeline-stage) 10%,var(--surface-soft)); color:var(--pipeline-stage); font-size:12px; font-weight:650; }
.pipeline-card-grip { font-size:18px; color:var(--muted); opacity:.45; }.pipeline-card:hover .pipeline-card-grip { opacity:.9; }
.pipeline-card-title strong { font-size:14px; letter-spacing:-.025em; }
.pipeline-location { line-height:1.5; }.pipeline-card-foot { margin-top:3px; padding-top:11px; }
.pipeline-card:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.pipeline-column { transition:background .15s,box-shadow .15s; min-height:240px; }
.pipeline-column.pipeline-drop-target { background:color-mix(in srgb,var(--pipeline-stage) 9%,var(--surface-soft)); box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--pipeline-stage) 50%,transparent); }
.pipeline-dragging { opacity:.3; }
.pipeline-drag-ghost { position:fixed; z-index:300; pointer-events:none; opacity:.95; cursor:grabbing; transform:rotate(2deg); box-shadow:0 14px 35px rgba(0,0,0,.2); }
.pipeline-is-dragging,.pipeline-is-dragging * { cursor:grabbing !important; user-select:none; }
.pipeline-saving { opacity:.55; cursor:wait; }
@media(prefers-reduced-motion:reduce) { .pipeline-card,.pipeline-column { transition:none; } }

.app-shell:has(#view-calendar-schedules.active) .top-actions { display:none; }
.calendar-schedule-page-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.calendar-schedule-navigation { display:flex; align-items:center; gap:10px; min-width:0; }
.calendar-schedule-calendar-select { width:min(240px,30vw); min-height:38px; padding:8px 12px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--white); font:inherit; font-size:12px; cursor:pointer; }
.calendar-schedule-calendar-select:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media (max-width:650px) { .calendar-schedule-page-toolbar { flex-wrap:wrap; }.calendar-schedule-navigation { width:100%; }.calendar-schedule-calendar-select { flex:1; width:0; } }
.calendar-schedule-editor-page { --schedule-editor-columns:minmax(220px,.85fr) minmax(340px,1.15fr); margin-top:28px; padding:0; border:0; border-radius:0; background:transparent; }
.calendar-schedule-editor-page[hidden] { display:none; }
.calendar-schedule-config-grid { display:grid; grid-template-columns:var(--schedule-editor-columns); gap:32px; align-items:start; margin-top:20px; }
.calendar-schedule-details { min-width:0; }
@media (max-width:860px) { .calendar-schedule-editor-page { --schedule-editor-columns:1fr; }.calendar-schedule-config-grid { gap:8px; } }
.calendar-schedule-editor-page h3,.calendar-schedule-booking-dialog h3 { margin:0; }
.calendar-schedules-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.calendar-schedules-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.calendar-schedules-list[hidden] { display:none; }
.calendar-schedule-option { display:inline-flex; align-items:center; max-width:100%; border:1px solid var(--line); border-radius:9px; background:var(--surface-soft); transition:background .15s,border-color .15s; }
.calendar-schedule-option:hover { background:var(--surface-raised); }
.calendar-schedule-option.is-selected { background:var(--accent-soft); border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); }
.calendar-schedule-choice { min-width:0; padding:9px 10px 9px 13px; border:0; border-radius:8px; background:transparent; color:var(--muted); font:inherit; font-size:13px; text-align:left; overflow-wrap:anywhere; cursor:pointer; }
.calendar-schedule-choice:hover { color:var(--ink); }
.calendar-schedule-choice[aria-pressed="true"] { color:var(--accent); }
.calendar-schedule-choice:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.calendar-schedule-duplicate { flex:none; display:grid; place-items:center; width:28px; height:28px; margin-right:4px; padding:0; border:0; border-radius:6px; background:transparent; color:var(--muted); cursor:pointer; opacity:0; pointer-events:none; transition:opacity .15s; }
.calendar-schedule-option:hover .calendar-schedule-duplicate,.calendar-schedule-duplicate:focus-visible { opacity:1; pointer-events:auto; }
.calendar-schedule-duplicate:hover { color:var(--ink); background:color-mix(in srgb,var(--muted) 12%,transparent); }
.calendar-schedule-duplicate:disabled { cursor:default; }
.calendar-schedule-option:hover .calendar-schedule-duplicate:disabled { opacity:.4; }
.calendar-schedule-duplicate:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.calendar-schedule-duplicate svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
@media (hover:none) { .calendar-schedule-duplicate { opacity:1; pointer-events:auto; }.calendar-schedule-duplicate:disabled { opacity:.4; } }
#calendarScheduleSelectedActions[hidden] { display:none; }
.calendar-schedule-editor-page .dialog-head { display:grid; grid-template-columns:var(--schedule-editor-columns); align-items:center; gap:32px; min-height:40px; }
.calendar-schedule-editor-page .dialog-head .calendar-schedule-editor-actions { justify-self:end; }
.calendar-schedule-editor-actions[hidden] { display:none; }
.calendar-schedule-navigation .text-button { text-decoration:none; white-space:nowrap; }
#calendarScheduleEditorTitle { flex:1; min-width:0; }
.calendar-schedule-title-button { width:100%; max-width:100%; min-height:30px; padding:2px 0; border:0; border-bottom:1px solid color-mix(in srgb,var(--muted) 45%,var(--line)); border-radius:0; background:transparent; color:inherit; font:inherit; text-align:left; overflow-wrap:anywhere; cursor:text; }
.calendar-schedule-title-button:hover:not(:disabled) { border-bottom-color:var(--accent); }
.calendar-schedule-title-button:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:3px; }
.calendar-schedule-title-button:disabled { cursor:default; }
html[data-theme] #calendarScheduleEditorTitle .calendar-schedule-title-input { width:100%; min-height:30px; padding:2px 0; border:0; border-bottom:1px solid var(--accent); border-radius:0; background:transparent; color:var(--ink); font:inherit; box-shadow:none; }
html[data-theme] #calendarScheduleEditorTitle .calendar-schedule-title-input:focus { border:0; border-bottom:1px solid var(--accent); box-shadow:none; outline:none; }
.calendar-schedule-title-button[hidden],.calendar-schedule-title-input[hidden] { display:none; }
.calendar-schedule-delete { color:var(--muted); font-size:12px; }
.calendar-schedule-delete:hover { color:var(--ink); }
.calendar-schedule-booking-dialog { width:min(600px,calc(100% - 32px)); max-height:90vh; overflow:auto; padding:24px; }
.calendar-schedule-field-dialog { width:min(480px,calc(100% - 32px)); max-height:90vh; overflow:auto; padding:24px; }
.calendar-schedule-field-dialog h3 { margin:0; font-size:16px; }
.calendar-schedule-editor-page label,.calendar-schedule-booking-dialog label,.calendar-schedule-field-dialog label { display:grid; gap:7px; margin:12px 0; font-size:12px; }
.calendar-schedule-editor-page input,.calendar-schedule-editor-page textarea,.calendar-schedule-booking-dialog input,.calendar-schedule-booking-dialog select,.calendar-schedule-booking-dialog textarea,.calendar-schedule-field-dialog :is(input,textarea) { width:100%; }
.calendar-schedule-field-dialog .calendar-form-required { display:flex; align-items:center; gap:9px; margin:16px 0; }
.calendar-schedule-field-dialog .calendar-form-required input { width:16px; min-height:0; height:16px; margin:0; padding:0; }
.calendar-schedule-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.calendar-form-config { margin-top:24px; }
.calendar-note-instructions { display:flex; flex-direction:column; gap:8px; margin-top:24px; }
.calendar-note-instructions label { margin:0; }
.calendar-note-instructions textarea { width:100%; resize:vertical; }
.calendar-note-instructions small { color:var(--muted); font-size:12px; line-height:1.5; font-weight:400; }
.calendar-form-config-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.calendar-form-config-head h4,.calendar-note-instructions label { margin:0; color:var(--ink); font-size:13px; font-weight:600; }
.calendar-form-config-copy { margin:8px 0 12px; color:var(--muted); font-size:12px; line-height:1.5; }
.calendar-form-tags { display:flex; flex-wrap:wrap; gap:8px; }
.calendar-form-tag { display:inline-flex; align-items:center; max-width:100%; border:1px solid var(--line); border-radius:999px; background:var(--surface-soft); }
.calendar-form-tag-title { min-width:0; padding:8px 3px 8px 12px; border:0; border-radius:999px; color:var(--ink); background:transparent; font:inherit; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.calendar-form-tag-required { margin-left:4px; color:var(--accent); }
.calendar-form-tag-remove { display:grid; place-items:center; flex:none; width:22px; height:22px; margin:0 5px 0 3px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--muted); font:inherit; font-size:16px; cursor:pointer; opacity:0; pointer-events:none; }
.calendar-form-tag:is(:hover,:focus-within) .calendar-form-tag-remove { opacity:1; pointer-events:auto; }
.calendar-form-tag-title:hover { color:var(--accent); }
.calendar-form-tag-remove:hover { color:var(--ink); background:var(--surface-raised); }
@media (hover:none) { .calendar-form-tag-remove { opacity:1; pointer-events:auto; } }
.calendar-booking-field-instructions { margin:0; color:var(--muted); font-size:12px; font-weight:400; line-height:1.5; white-space:pre-wrap; }
.calendar-schedule-slots { border:0; margin:12px 0; padding:0; font-size:12px; }
.calendar-schedule-availability-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:7px 0 20px; }
.calendar-schedule-details > label:first-child input,.calendar-schedule-repeat,.calendar-schedule-editor-actions .button { height:40px; }
.calendar-schedule-editor-actions { display:flex; align-items:center; gap:8px; }
.calendar-schedule-editor-actions .button { white-space:nowrap; }
.calendar-schedule-repeat { display:inline-flex; align-items:center; padding:11px 16px; border-radius:8px; background:var(--surface-soft); font-size:14px; white-space:nowrap; }
#calendarScheduleEditorStatus:empty { display:none; }
@media (max-width:480px) { .calendar-schedule-availability-toolbar { gap:6px; }.calendar-schedule-repeat { padding:10px; font-size:12px; }.calendar-schedule-editor-actions { gap:6px; }.calendar-schedule-editor-actions .button { padding:10px 8px; font-size:11px; } }
#calendarScheduleSlotRows { display:grid; gap:14px; }
.calendar-week-hours { display:grid; grid-template-columns:42px minmax(0,1fr); gap:12px; align-items:start; }
.calendar-week-hours-day { padding-top:12px; font-size:13px; color:var(--ink); }
.calendar-week-hours-windows { display:grid; gap:8px; min-width:0; }
.calendar-week-hours-range { display:grid; grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 28px 28px 28px; gap:8px; align-items:center; min-height:40px; }
.calendar-week-hours-range input { min-width:0; background:var(--surface-soft); border:1px solid transparent; border-radius:8px; padding:10px 8px; }
.time-picker { position:relative; min-width:0; }
.time-picker input { width:100%; color:var(--ink); font-variant-numeric:tabular-nums; }
.time-picker-options { position:absolute; z-index:85; top:calc(100% + 4px); left:0; width:100%; min-width:80px; max-height:210px; overflow:auto; padding:4px; border:1px solid var(--line); border-radius:8px; background:var(--white); color:var(--ink); }
.time-picker-options[hidden] { display:none; }
.time-picker[data-side="above"] .time-picker-options { top:auto; bottom:calc(100% + 4px); }
.time-picker-option { display:block; width:100%; padding:8px 6px; border:0; border-radius:4px; background:transparent; color:var(--ink); font:inherit; font-size:13px; font-variant-numeric:tabular-nums; text-align:left; cursor:pointer; }
.time-picker-option:is(:hover,.highlighted) { background:var(--surface-raised); }
.time-picker-option[aria-selected="true"] { color:var(--accent); }
.calendar-week-hours-dash { text-align:center; color:var(--muted); }
.calendar-week-unavailable { grid-column:1 / 4; color:var(--muted); font-size:13px; padding:11px 8px; }
.calendar-week-hours-add { grid-column:5; }
.calendar-hours-icon { display:grid; place-items:center; width:28px; height:28px; padding:3px; border:0; background:transparent; color:var(--ink); border-radius:4px; cursor:pointer; position:relative; }
.calendar-hours-icon:hover { color:var(--accent); }
.calendar-hours-icon:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.calendar-hours-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.calendar-schedule-timezone { display:grid; gap:7px; margin:22px 0 12px; font-size:12px; color:var(--muted); }
.calendar-hours-icon[data-tooltip]:is(:hover,:focus-visible)::after { content:attr(data-tooltip); position:absolute; bottom:calc(100% + 7px); right:0; z-index:2; width:max-content; padding:6px 9px; border:1px solid var(--line); border-radius:6px; color:var(--ink); background:var(--white); box-shadow:var(--shadow); font-size:11px; font-weight:400; pointer-events:none; }
.calendar-schedule-date-preview p { display:grid; gap:4px; }
.calendar-schedule-date-preview strong { color:var(--ink); font-size:12px; }
#calendarSchedulesStatus,#calendarScheduleEditorStatus,#calendarScheduleBookingStatus { font-size:12px; color:var(--muted); overflow-wrap:anywhere; }
@media (max-width:480px) { .calendar-schedule-fields { grid-template-columns:1fr; gap:0; }.calendar-week-hours { grid-template-columns:30px minmax(0,1fr); gap:6px; }.calendar-week-hours-range { grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 22px 22px 22px; gap:3px; }.calendar-week-hours-range input { padding:9px 3px; font-size:12px; }.calendar-hours-icon { width:22px; height:22px; padding:2px; }.calendar-hours-icon svg { width:19px; height:19px; } }
.microsoft-logo-tile { flex:0 0 69px; width:69px; height:69px; display:grid; place-items:center; background:var(--surface-raised); border:1px solid var(--line); border-radius:16px; }
.microsoft-logo-tile svg { width:32px; height:32px; display:block; }
.calendar-config-panel form { display:grid; gap:10px; max-width:760px; }
.calendar-config-panel textarea { width:100%; min-height:140px; resize:vertical; }
.calendar-config-panel small,.calendar-config-panel form p { color:var(--muted); font-size:12px; line-height:1.6; }
.calendar-config-panel .calendar-recording-choice { display:flex; align-items:center; gap:10px; margin-top:14px; }
.calendar-recording-choice input { width:16px; min-height:16px; }
.calendar-config-actions { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.calendar-raw-transcript { margin:14px 0; max-height:320px; overflow:auto; font-size:12px; padding:12px; border:1px solid var(--line); border-radius:8px; }
/* Quiet event sidebar sections use the same opaque surfaces as the calendar. */
.calendar-event-timing { flex:1; min-width:0; margin:0; text-align:right; color:var(--ink); font-size:12px; line-height:1.6; }
.calendar-event-timing > strong { display:block; font-weight:550; }
.calendar-event-time-line { display:flex; justify-content:flex-end; align-items:baseline; flex-wrap:wrap; gap:4px 14px; margin-top:3px; }
.calendar-event-media { display:flex; align-items:center; gap:14px; padding:18px 0 22px; }
.calendar-playback-actions { display:contents; }
.calendar-media-button { display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 10px; border:1px solid var(--line); border-radius:7px; background:var(--surface-soft); color:var(--ink); font-size:11px; font-weight:500; text-decoration:none; }
.calendar-media-button:hover { background:var(--surface-raised); }
.calendar-appointment-summary { padding:0 0 24px; }
.calendar-lead-row { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding:0 0 18px; }
.calendar-linked-lead { min-width:0; display:grid; gap:6px; }
.calendar-section-eyebrow { color:var(--muted); font-size:11px; }
.calendar-lead-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:15px; font-weight:550; }
.calendar-lead-notes { display:block; margin:0 0 18px; }
.calendar-lead-notes > span { display:block; margin:0 0 6px; color:var(--muted); font-size:11px; }
.calendar-lead-status-notes { margin:0; color:var(--ink); font-size:12px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.calendar-lead-status-notes.empty { color:var(--muted); }
.calendar-sidebar-disclosure { border-top:1px solid var(--line); }
.calendar-sidebar-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 0; color:var(--ink); font-size:12px; font-weight:550; list-style:none; cursor:pointer; }
.calendar-notes-disclosure > summary { justify-content:flex-start; gap:8px; }
.calendar-sidebar-disclosure > summary::-webkit-details-marker { display:none; }
.calendar-sidebar-disclosure > summary::after { content:'›'; flex:none; color:var(--muted); font-size:17px; font-weight:400; transform:rotate(0); }
.calendar-sidebar-disclosure[open] > summary::after { transform:rotate(90deg); }
.calendar-count,.calendar-stat-value { margin-left:auto; color:var(--muted); font-size:11px; font-weight:400; }
.calendar-count { display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:6px; background:var(--surface-soft); }
.calendar-appointment-signals { display:flex; align-items:flex-start; flex-wrap:wrap; gap:14px 24px; }
.calendar-appointment-signal { min-width:0; }
.calendar-signal-heading { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:11px; }
.calendar-info-tag { display:inline-flex; align-items:center; min-height:24px; padding:3px 8px; border-radius:6px; background:var(--surface-soft); color:var(--ink); font-size:11px; font-weight:500; }
.calendar-info-tag[data-state="not-sent"] { color:var(--muted); }
.calendar-info-tag[data-state="watched"],.calendar-info-tag[data-state="completed"] { color:var(--accent); background:var(--accent-soft); }
.calendar-vsl-section progress { display:block; width:100%; max-width:160px; height:3px; margin:10px 0 5px; accent-color:var(--accent); border:0; border-radius:3px; overflow:hidden; }
.calendar-vsl-section > small { display:block; color:var(--muted); font-size:10px; }
.calendar-empty-copy { margin:0 0 16px; color:var(--muted); font-size:12px; line-height:1.6; }
.calendar-crm-error { color:var(--muted); font-size:12px; line-height:1.5; }
.calendar-reminder-message { margin:0 0 16px; padding:12px; background:var(--surface-soft); border-radius:10px; }
.calendar-reminder-message small { display:block; color:var(--muted); font-size:10px; margin-bottom:8px; }
.calendar-reminder-message strong { display:block; font-size:12px; font-weight:550; }
.calendar-reminder-message p { font-size:12px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; margin:6px 0 0; }
.calendar-notes-body { grid-area:1 / 1; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-gutter:stable; padding:calc(var(--notes-toolbar-height,56px) + 8px) 24px 20px; font-size:12px; }
.calendar-notes-body::-webkit-scrollbar { width:6px; }
.calendar-notes-body::-webkit-scrollbar-thumb { border-radius:8px; background:color-mix(in srgb,var(--muted) 40%,transparent); }
.calendar-notes-body .calendar-gemini-text { line-height:1.7; }
.calendar-media-button { font-family:inherit; }
.calendar-media-button:disabled { opacity:.4; cursor:default; }
.calendar-vsl-section progress { appearance:none; -webkit-appearance:none; background:var(--surface-raised); }
.calendar-vsl-section progress::-webkit-progress-bar { background:var(--surface-raised); border-radius:3px; }
.calendar-vsl-section progress::-webkit-progress-value { background:var(--accent); border-radius:3px; }
.calendar-vsl-section progress::-moz-progress-bar { background:var(--accent); border-radius:3px; }

.calendar-details-heading { min-width:0; flex:1; }
.calendar-details-dialog .calendar-details-heading h3 { max-width:none; }
.calendar-details-calendar { margin:6px 0 0; color:var(--muted); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }

html[data-theme] .calendar-join-meet { flex:none; display:inline-flex; align-items:center; justify-content:center; gap:8px; height:40px; min-height:40px; padding:0 15px; border-radius:9px; font-size:13px; text-decoration:none; }
.calendar-join-meet svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

.select-menu { position:relative; }
.number-stepper { position:relative; min-width:0; }
.number-stepper input[type="number"] { appearance:textfield; -moz-appearance:textfield; box-sizing:border-box; }
.number-stepper input::-webkit-inner-spin-button,.number-stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.number-stepper-actions { position:absolute; top:50%; right:18px; display:grid; gap:2px; transform:translateY(-50%); }
.number-stepper-button { appearance:none; display:grid; place-items:center; width:22px; height:18px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:var(--muted); cursor:pointer; }
.number-stepper-button::before { content:''; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.number-stepper-button[data-direction="up"]::before { transform:translateY(2px) rotate(225deg); }
.number-stepper-button:is(:hover,:active) { background:transparent; color:var(--ink); }
.number-stepper-button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.number-stepper-button:disabled { background:transparent; opacity:.3; cursor:default; }
.select-menu-trigger { display:inline-flex; align-items:center; justify-content:space-between; gap:16px; min-width:132px; height:34px; padding:0 11px; border:1px solid var(--line); border-radius:8px; background:var(--surface-soft); color:var(--ink); font:inherit; font-size:12px; cursor:pointer; }
.select-menu-trigger:hover,.select-menu-trigger[aria-expanded="true"] { background:var(--surface-raised); }
.select-menu-trigger:disabled { opacity:.55; cursor:default; }
.select-menu-chevron,.calendar-notes-chevron { display:inline-grid; place-items:center; flex:none; width:12px; height:12px; }
.select-menu-chevron::after,.calendar-notes-chevron::after { content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.select-menu-trigger[aria-expanded="true"] .select-menu-chevron { transform:rotate(180deg); }
.select-menu-popup { position:absolute; z-index:180; top:calc(100% + 6px); right:0; width:200px; max-width:calc(100vw - 40px); overflow:auto; scrollbar-width:thin; padding:5px; border:1px solid var(--line); border-radius:11px; background:var(--white); box-shadow:0 10px 35px rgba(0,0,0,.18); }
.select-menu-popup[hidden] { display:none; }
.select-menu-popup[data-side="above"] { top:auto; bottom:calc(100% + 6px); }
.select-menu-option { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:32px; padding:7px 9px; border:0; border-radius:6px; background:transparent; color:var(--ink); text-align:left; font:inherit; font-size:12px; cursor:pointer; }
.select-menu-option:hover,.select-menu-option:focus { background:var(--accent-soft); color:var(--accent); outline:none; }
.select-menu-option[aria-selected="true"] { font-weight:600; color:var(--accent); }
.select-menu-option[aria-selected="true"]::after { content:'✓'; }
.select-menu-value { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.select-menu-trigger:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.select-menu-option:disabled { color:var(--muted); opacity:.55; cursor:default; }
.select-menu-option:disabled:is(:hover,:focus) { background:transparent; color:var(--muted); }
.select-menu-option[data-action="true"] { color:var(--accent); }
.select-menu-option[data-action="true"]:not(:first-child) { margin-top:5px; padding-top:10px; border-top:1px solid var(--line); border-radius:0 0 6px 6px; }
.select-menu-option[data-action="true"]::before { content:'+'; font-size:17px; font-weight:400; line-height:1; }
.select-menu-field { min-width:0; width:100%; }
.select-menu-field .select-menu-trigger { width:100%; min-width:0; height:42px; padding:0 12px; border-radius:9px; background:var(--white); font-size:13px; text-align:left; }
.select-menu-field .select-menu-trigger:is(:hover,[aria-expanded="true"]) { background:var(--surface-soft); }
.select-menu-field .select-menu-popup { left:0; right:auto; width:100%; box-sizing:border-box; padding:6px; border-radius:10px; box-shadow:0 12px 32px rgba(0,0,0,.12); }
.select-menu-field .select-menu-option { min-height:36px; padding:8px 10px; font-size:13px; }
.select-menu-field .select-menu-option-label { min-width:0; overflow-wrap:anywhere; }
.select-menu-field .select-menu-popup:not([hidden]) { animation:select-menu-appear .12s ease-out; }
@keyframes select-menu-appear { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .select-menu-field .select-menu-popup:not([hidden]) { animation:none; } }
.calendar-meeting-notes { flex:1 1 0; min-height:0; display:grid; grid-template-rows:minmax(0,1fr); position:relative; isolation:isolate; overflow:hidden; margin:0 -24px; border-top:1px solid var(--line); }
.calendar-notes-toolbar { grid-area:1 / 1; align-self:start; position:relative; z-index:2; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:14px 24px; }
.calendar-meeting-notes.expanded::before { content:''; position:absolute; z-index:1; inset:0 0 auto; height:calc(var(--notes-toolbar-height,56px) + 28px); background:color-mix(in srgb,var(--white) 92%,transparent); backdrop-filter:blur(16px) saturate(1.25); -webkit-backdrop-filter:blur(16px) saturate(1.25); mask-image:linear-gradient(to bottom,#000,rgba(0,0,0,.9) 25%,rgba(0,0,0,.5) 65%,transparent); -webkit-mask-image:linear-gradient(to bottom,#000,rgba(0,0,0,.9) 25%,rgba(0,0,0,.5) 65%,transparent); pointer-events:none; }
.calendar-notes-toggle { display:inline-flex; align-items:center; gap:8px; min-height:28px; padding:0; border:0; background:transparent; color:var(--ink); font:inherit; font-size:12px; font-weight:550; cursor:pointer; }
.calendar-notes-chevron::after { transform:rotate(-45deg); }
.calendar-notes-toggle[aria-expanded="true"] .calendar-notes-chevron::after { transform:translateY(-2px) rotate(45deg); }
.calendar-notes-toolbar .calendar-playback-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.calendar-notes-body[hidden] { display:none; }

.select-menu-option-label { flex:1; }
.calendar-status-picker { --pipeline-stage:var(--muted); flex:none; width:max-content; max-width:100%; }
.calendar-status-picker .select-menu-trigger { min-width:0; height:28px; padding:0 10px; gap:7px; border-radius:999px; font-size:11px; border-color:transparent; background:color-mix(in srgb,var(--pipeline-stage) 14%,var(--white)); }
.calendar-status-picker .select-menu-trigger::before,.calendar-status-picker .select-menu-option::before { content:''; flex:none; width:7px; height:7px; border-radius:50%; background:var(--pipeline-stage); }
.calendar-status-picker .select-menu-trigger:hover,.calendar-status-picker .select-menu-trigger[aria-expanded="true"] { background:color-mix(in srgb,var(--pipeline-stage) 22%,var(--white)); }
.calendar-status-picker .select-menu-popup { right:0; left:auto; }
.calendar-status-picker .select-menu-option { gap:9px; color:var(--ink); }
.calendar-status-picker .select-menu-option:is(:hover,:focus) { background:color-mix(in srgb,var(--pipeline-stage) 15%,var(--white)); color:var(--ink); }
.calendar-status-picker .select-menu-option[aria-selected="true"]::after { color:var(--pipeline-stage); }
.docusign-manual-dialog { width:min(650px,calc(100vw - 32px)); max-height:90vh; overflow:auto; padding:26px; border:1px solid var(--line); border-radius:20px; background:var(--white); color:var(--ink); box-shadow:0 20px 90px #0005; }
.docusign-manual-dialog::backdrop { background:#0008; backdrop-filter:blur(3px); }
.docusign-manual-head { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.docusign-manual-head h2 { font-size:21px; margin:0 0 7px; letter-spacing:-.035em; }
.docusign-manual-head p,.docusign-manual-note { font-size:12px; line-height:1.6; color:var(--muted); margin:0; }
.docusign-manual-head > button { border:0; background:none; color:var(--muted); font-size:25px; cursor:pointer; }
.docusign-setup-steps { padding-left:19px; font-size:12px; line-height:1.65; margin:22px 0 14px; }
.docusign-setup-steps li { padding-left:3px; margin:7px 0; }
.docusign-setup-steps a { color:var(--accent); }
.docusign-setup-steps code { display:block; padding:9px 10px; margin-top:7px; background:var(--surface-soft); border-radius:8px; overflow-wrap:anywhere; user-select:all; }
.docusign-manual-note { padding:12px; background:var(--surface-soft); border-radius:10px; }
.docusign-manual-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0 16px; }
.docusign-manual-dialog label { display:grid; gap:7px; font-size:12px; }
.docusign-manual-dialog :is(input,select,textarea) { box-sizing:border-box; width:100%; padding:10px; border:1px solid var(--line); border-radius:9px; background:var(--white); color:var(--ink); font:inherit; font-size:12px; margin:0; }
.docusign-manual-dialog textarea { font-family:ui-monospace,monospace; resize:vertical; }
.docusign-private-field small { color:var(--muted); font-size:11px; line-height:1.6; }
#docusignManualMessage { font-size:12px; line-height:1.6; color:var(--warning); }
.docusign-manual-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
#docusignManualConsent[aria-disabled="true"] { opacity:.45; pointer-events:none; }
@media(max-width:600px) { .docusign-manual-fields { grid-template-columns:1fr; } }
