@font-face { font-family: Manrope; src: url("../fonts/Manrope-Regular.b14c3069e3f7.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: Manrope; src: url("../fonts/Manrope-Medium.9efdb4161ece.ttf") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: Manrope; src: url("../fonts/Manrope-SemiBold.9c61a253b039.ttf") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: Manrope; src: url("../fonts/Manrope-Bold.ad56d0ba69e7.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }

:root {
  --bg: #070809;
  --surface: #0d0f12;
  --surface-raised: #12151a;
  --surface-soft: #171a20;
  --line: #2b2f36;
  --line-soft: #20242a;
  --text: #f7f5f0;
  --muted: #a4a9b2;
  --dim: #747a84;
  --accent: #f19e4b;
  --accent-strong: #ffad59;
  --accent-soft: rgba(241, 158, 75, .13);
  --green: #52c98b;
  --green-soft: rgba(82, 201, 139, .13);
  --red: #ff7169;
  --red-soft: rgba(255, 113, 105, .13);
  --blue: #6da7ff;
  --blue-soft: rgba(109, 167, 255, .13);
  --purple: #b690ff;
  --purple-soft: rgba(182, 144, 255, .13);
  --yellow: #f1c75b;
  --radius: 16px;
  --sidebar: 228px;
  color-scheme: dark;
  font-family: Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); }
body { min-width: 320px; min-height: 100vh; margin: 0; color: var(--text); background: var(--bg); font-size: 16px; line-height: 1.5; }
button, input, select, textarea { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.muted, .block-muted { color: var(--dim); }
.block-muted { display: block; margin-top: .2rem; font-size: .82rem; }
.mono { font-variant-numeric: tabular-nums; letter-spacing: .01em; }

.app-shell { display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; z-index: 30; display: flex; flex-direction: column; height: 100vh; padding: 1.35rem .9rem .9rem; overflow: hidden auto; background: rgba(8, 9, 11, .98); border-right: 1px solid var(--line-soft); }
.brand { display: flex; align-items: center; gap: .7rem; min-height: 3.25rem; padding: 0 .55rem 1.25rem; }
.brand-mark { display: grid; flex: 0 0 auto; place-items: center; width: 2.45rem; height: 2.45rem; color: var(--accent); border: 1px solid var(--accent); border-radius: .75rem; font-size: .78rem; font-weight: 700; letter-spacing: -.08em; box-shadow: inset 0 0 1.25rem rgba(241,158,75,.07); }
.brand-copy { display: block; line-height: 1.1; }
.brand-copy strong, .brand-copy small { display: block; }
.brand-copy strong { font-size: .79rem; letter-spacing: .1em; }
.brand-copy small { margin-top: .28rem; color: var(--accent); font-size: .62rem; letter-spacing: .18em; }
.nav-eyebrow { margin: .4rem .65rem .55rem; color: var(--dim); font-size: .71rem; letter-spacing: .17em; }
.main-nav { display: grid; gap: .22rem; }
.main-nav a { display: flex; align-items: center; gap: .68rem; min-height: 2.8rem; padding: 0 .68rem; color: var(--muted); border: 1px solid transparent; border-radius: .7rem; font-size: .9rem; transition: color .16s, background .16s, border .16s; }
.main-nav a:hover { color: var(--text); background: var(--surface); }
.main-nav a.is-active { color: var(--text); background: var(--accent-soft); border-color: rgba(241,158,75,.1); }
.main-nav a.is-active svg { color: var(--accent); }
.nav-badge { display: grid; min-width: 1.35rem; height: 1.35rem; margin-left: auto; place-items: center; padding: 0 .3rem; color: #1c1208; background: var(--accent); border-radius: 99px; font-size: .7rem; }
.sidebar-user { display: flex; align-items: center; gap: .65rem; margin-top: auto; padding: .9rem .45rem .1rem; border-top: 1px solid var(--line-soft); }
.sidebar-user .avatar { display: grid; flex: 0 0 auto; width: 2.1rem; height: 2.1rem; place-items: center; color: var(--accent); background: var(--accent-soft); border-radius: 50%; font-size: .72rem; font-weight: 700; }
.sidebar-user > span:nth-child(2) { min-width: 0; }
.sidebar-user strong, .sidebar-user small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user strong { font-size: .78rem; font-weight: 600; }
.sidebar-user small { margin-top: .1rem; color: var(--dim); font-size: .69rem; }
.sidebar-user form { margin-left: auto; }
.sidebar-user button { color: var(--dim); background: transparent; border: 0; cursor: pointer; }

.main-surface { min-width: 0; }
.topbar { position: sticky; top: 0; z-index: 25; display: flex; align-items: center; gap: .75rem; min-height: 4.45rem; padding: .8rem 1.45rem; background: rgba(7,8,9,.88); border-bottom: 1px solid var(--line-soft); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.mobile-menu { display: none; width: 2.65rem; height: 2.65rem; place-items: center; color: var(--muted); background: var(--surface); border: 1px solid var(--line); border-radius: .72rem; }
.global-search, .search-control { position: relative; display: flex; align-items: center; width: min(31rem, 50vw); }
.global-search svg, .search-control svg { position: absolute; left: .85rem; z-index: 1; color: var(--dim); pointer-events: none; }
.global-search input, .search-control input { width: 100%; height: 2.7rem; padding: 0 1rem 0 2.65rem; color: var(--text); background: var(--surface); border: 1px solid var(--line); border-radius: .78rem; outline: none; }
.global-search input:focus, .search-control input:focus, .crm-form input:focus, .crm-form select:focus, .crm-form textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(241,158,75,.08); }
input::placeholder, textarea::placeholder { color: #686e77; }
.top-actions { display: flex; align-items: center; gap: .55rem; margin-left: auto; }
.button, .icon-button, .text-button, .row-arrow { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 2.7rem; padding: 0 .9rem; border: 1px solid var(--line); border-radius: .78rem; cursor: pointer; transition: transform .14s, border-color .14s, background .14s; white-space: nowrap; }
.button:hover, .icon-button:hover, .row-arrow:hover { border-color: var(--accent); }
.button:active, .icon-button:active { transform: translateY(1px); }
.button-primary { color: #1d1309; background: var(--accent); border-color: var(--accent); font-weight: 700; }
.button-primary:hover { background: var(--accent-strong); }
.button-secondary { color: var(--text); background: var(--surface-raised); }
.button-danger { color: var(--red); background: var(--red-soft); border-color: rgba(255,113,105,.28); }
.button-danger:hover { background: rgba(255,113,105,.18); border-color: var(--red); }
.button-large { min-height: 3.15rem; padding: 0 1.15rem; }
.icon-button { position: relative; width: 2.7rem; padding: 0; color: var(--muted); background: var(--surface-raised); }
.notification-count { position: absolute; top: -.38rem; right: -.38rem; display: grid; min-width: 1.2rem; height: 1.2rem; place-items: center; padding: 0 .26rem; color: #1b1107; background: var(--accent); border: 2px solid var(--bg); border-radius: 99px; font-size: .65rem; font-weight: 800; }
.text-button { min-height: auto; padding: .2rem; color: var(--accent); background: transparent; border: 0; border-radius: .35rem; font-size: .86rem; }
.text-button:hover { color: var(--accent-strong); }

.page-content { width: min(100%, 1540px); margin: 0 auto; padding: 1.9rem 1.6rem 3.5rem; }
.page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.35rem; }
.page-header h1 { margin: .12rem 0 .18rem; font-size: clamp(1.65rem, 2.3vw, 2.25rem); line-height: 1.15; letter-spacing: -.035em; }
.page-header p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .92rem; }
.eyebrow { margin: 0; color: var(--accent); font-size: .7rem; font-weight: 700; letter-spacing: .18em; }
.header-side { display: grid; justify-items: end; gap: .45rem; }
.header-side time { color: var(--muted); font-size: .85rem; }
.title-status { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; }
.title-status h1 { margin-right: .3rem; }
.breadcrumb { display: flex; gap: .55rem; margin-bottom: 1rem; color: var(--dim); font-size: .82rem; }
.breadcrumb a:hover { color: var(--accent); }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.metric-card { position: relative; min-height: 9.2rem; padding: 1.1rem; overflow: hidden; background: linear-gradient(145deg, var(--surface-raised), var(--surface)); border: 1px solid var(--line); border-radius: var(--radius); }
.metric-card::after { position: absolute; right: -2.2rem; bottom: -3rem; width: 8rem; height: 8rem; content: ""; border-radius: 50%; opacity: .35; filter: blur(1px); }
.metric-card.tone-orange::after { background: radial-gradient(circle, var(--accent-soft), transparent 66%); }
.metric-card.tone-blue::after { background: radial-gradient(circle, var(--blue-soft), transparent 66%); }
.metric-card.tone-green::after { background: radial-gradient(circle, var(--green-soft), transparent 66%); }
.metric-card.tone-purple::after { background: radial-gradient(circle, var(--purple-soft), transparent 66%); }
.metric-card > span, .metric-card > strong, .metric-card > small,
.metric-card-link > span, .metric-card-link > strong, .metric-card-link > small { position: relative; z-index: 1; display: block; }
.metric-card > span, .metric-card-link > span { color: var(--muted); font-size: .86rem; }
.metric-card > strong, .metric-card-link > strong { margin: .75rem 0 .25rem; font-size: 2rem; font-weight: 560; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.metric-card > small, .metric-card-link > small { color: var(--dim); font-size: .76rem; }
.drag-handle { position: absolute; z-index: 2; top: .8rem; right: .7rem; display: none; width: 2rem; height: 2rem; place-items: center; color: var(--accent); background: var(--accent-soft); border: 1px solid rgba(241,158,75,.2); border-radius: .55rem; cursor: grab; }
.metric-grid.is-editing .drag-handle { display: grid; }
.metric-grid.is-editing .metric-card { border-style: dashed; cursor: grab; }
.metric-card.is-dragging { opacity: .45; transform: scale(.985); }

.dashboard-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(19rem, .72fr); gap: 1rem; align-items: start; }
.panel { background: rgba(13,15,18,.92); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 1.25rem 3.8rem rgba(0,0,0,.12); }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.2rem; padding: .95rem 1.1rem; border-bottom: 1px solid var(--line-soft); }
.panel-header h2 { margin: 0; font-size: .98rem; font-weight: 650; }
.panel-header p { margin: .18rem 0 0; color: var(--dim); font-size: .76rem; }
.panel-header > a { color: var(--accent); font-size: .82rem; }
.panel-header > a.button-primary { color: #1d1309; font-weight: 700; }
.table-scroll { overflow-x: auto; }
.dashboard-event-scroll { max-height: 28rem; overflow-y: auto; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th { padding: .75rem 1rem; color: var(--dim); background: rgba(255,255,255,.012); font-size: .73rem; font-weight: 650; letter-spacing: .035em; text-align: left; white-space: nowrap; }
.data-table td { padding: .85rem 1rem; color: var(--muted); border-top: 1px solid var(--line-soft); font-size: .84rem; vertical-align: middle; }
.data-table tr:hover td { background: rgba(255,255,255,.012); }
.data-table strong { color: var(--text); font-weight: 620; }
.person-link { display: flex; align-items: center; gap: .65rem; min-width: 10rem; }
.person-link > span:not(.initial) { min-width: 0; }
.person-link small { display: block; max-width: 14rem; margin-top: .08rem; overflow: hidden; color: var(--dim); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.initial { display: grid; flex: 0 0 auto; width: 2rem; height: 2rem; place-items: center; color: var(--accent); background: var(--accent-soft); border-radius: .6rem; font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.status { display: inline-flex; align-items: center; min-height: 1.65rem; padding: .18rem .55rem; color: var(--muted); background: var(--surface-soft); border: 1px solid var(--line); border-radius: 99px; font-size: .69rem; font-weight: 650; white-space: nowrap; }
.status-new, .status-preparing, .status-quote_sent, .status-follow_up, .status-not_contacted, .status-payment_pending { color: var(--accent); background: var(--accent-soft); border-color: rgba(241,158,75,.2); }
.status-booked, .status-accepted { color: var(--green); background: var(--green-soft); border-color: rgba(82,201,139,.2); }
.status-lost, .status-rejected, .status-past_awaiting_payment { color: var(--red); background: var(--red-soft); border-color: rgba(255,113,105,.2); }
.status-contacted, .status-sent, .status-waiting, .status-in_progress { color: var(--blue); background: var(--blue-soft); border-color: rgba(109,167,255,.2); }
.status-draft { color: #a6abb5; background: rgba(166,171,181,.1); border-color: rgba(166,171,181,.2); }
.status-completed, .status-superseded { color: var(--purple); background: var(--purple-soft); border-color: rgba(182,144,255,.2); }
.empty-state { padding: 1.8rem; color: var(--dim); text-align: center; font-size: .86rem; }
.follow-list { display: grid; }
.follow-item { display: grid; grid-template-columns: 2.15rem minmax(0, 1fr) auto; align-items: center; gap: .7rem; min-height: 4.15rem; padding: .55rem 1rem; border-top: 1px solid var(--line-soft); }
.follow-item:first-child { border-top: 0; }
.follow-item:hover { background: rgba(255,255,255,.015); }
.follow-index { color: var(--accent); font-size: .72rem; font-variant-numeric: tabular-nums; }
.follow-item strong, .follow-item small { display: block; }
.follow-item strong { font-size: .84rem; }
.follow-item small { margin-top: .1rem; color: var(--dim); font-size: .72rem; }
.follow-item svg { color: var(--dim); }
.decision-strip { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: .85rem 1rem; color: var(--muted); background: var(--green-soft); border: 1px solid rgba(82,201,139,.19); border-radius: .8rem; font-size: .82rem; }
.decision-strip > div { display: flex; align-items: center; flex-wrap:wrap; gap: .45rem; }
.decision-strip strong { color: var(--text); }
.decision-strip a { color: var(--green); }
.decision-pulse { width: .5rem; height: .5rem; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 .3rem var(--green-soft); }
.decision-strip-rejected { background:var(--red-soft); border-color:rgba(255,113,105,.25); }
.decision-strip-rejected a { color:var(--red); }
.decision-strip-rejected .decision-pulse { background:var(--red); box-shadow:0 0 0 .3rem var(--red-soft); }
.decision-strip-actions { display:flex; align-items:center; flex-wrap:nowrap !important; gap:.65rem !important; }
.decision-strip-actions form { margin:0; }
.decision-dismiss { display:grid; width:1.9rem; height:1.9rem; padding:0; place-items:center; color:var(--text); background:rgba(255,255,255,.04); border:1px solid currentColor; border-radius:50%; cursor:pointer; opacity:.78; transition:opacity .15s, background .15s, transform .15s; }
.decision-dismiss:hover { background:rgba(255,255,255,.1); opacity:1; transform:scale(1.04); }
.decision-dismiss svg { width:.85rem; height:.85rem; }

.list-heading { align-items: center; }
.list-toolbar { display: flex; align-items: center; gap: .65rem; padding: 1rem; border-bottom: 1px solid var(--line-soft); }
.list-toolbar-rich { flex-wrap: wrap; }
.bulk-action-bar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 3.65rem; padding: .55rem 1rem; color: var(--dim); background: rgba(255,255,255,.008); border-bottom: 1px solid var(--line-soft); font-size: .74rem; transition: background .15s, color .15s; }
.bulk-action-bar[hidden] { display: none; }
.bulk-action-bar.is-active { color: var(--text); background: var(--red-soft); }
.bulk-action-bar .button { min-height: 2.35rem; font-size: .72rem; }
.bulk-action-bar .button:disabled { opacity: .35; cursor: not-allowed; }
.bulk-select-cell { width: 2.75rem; padding-right: .35rem !important; text-align: center !important; }
.bulk-select-checkbox { width: 1rem; height: 1rem; accent-color: var(--accent); cursor: pointer; }
.data-table tr.is-bulk-selected td { background: var(--accent-soft); }
.toolbar-field { display: grid; gap: .25rem; color: var(--dim); font-size: .67rem; }
.toolbar-field input, .toolbar-field select { min-height: 2.7rem; padding: 0 .72rem; color: var(--text); background: var(--surface); border: 1px solid var(--line); border-radius: .72rem; outline: none; }
.toolbar-field input:focus, .toolbar-field select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(241,158,75,.08); }
.layout-table-button { margin-left: auto; }
.search-control { width: min(34rem, 100%); }
.client-list-autocomplete { position: relative; width: min(34rem, 100%); }
.client-list-autocomplete .search-control { width: 100%; }
.client-autocomplete-card, .quote-client-autocomplete { position: relative; display: grid; gap: .55rem; }
.client-autocomplete-card { padding: 1rem; background: var(--surface-soft); border: 1px solid var(--line); border-radius: .82rem; }
.client-autocomplete-card .search-control, .quote-client-autocomplete .search-control { width: 100%; }
.quote-client-autocomplete { grid-column: 1 / -1; }
.client-autocomplete-results { display: grid; max-height: 18rem; overflow-y: auto; background: #111318; border: 1px solid rgba(241,158,75,.34); border-radius: .72rem; box-shadow: 0 16px 36px rgba(0,0,0,.38); }
.client-autocomplete-results[hidden] { display: none; }
.client-list-autocomplete .client-autocomplete-results { position: absolute; z-index: 40; top: calc(100% + .35rem); right: 0; left: 0; }
.client-autocomplete-result { display: grid; gap: .18rem; width: 100%; padding: .72rem .8rem; color: var(--text); text-align: left; background: transparent; border: 0; border-bottom: 1px solid var(--line-soft); cursor: pointer; }
.client-autocomplete-result:last-child { border-bottom: 0; }
.client-autocomplete-result:hover, .client-autocomplete-result.is-active { background: var(--accent-soft); }
.client-autocomplete-result strong { font-size: .8rem; }
.client-autocomplete-result small { color: var(--dim); font-size: .7rem; }
.client-autocomplete-empty { margin: 0; padding: .75rem .8rem; color: var(--dim); font-size: .74rem; }
.client-autocomplete-selection { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.client-autocomplete-selected { color: var(--dim); font-size: .74rem; }
.client-autocomplete-selected.has-client { color: var(--green); }
.row-arrow { width: 2.2rem; min-height: 2.2rem; padding: 0; color: var(--dim); background: transparent; }
.number-cell { text-align: right !important; font-variant-numeric: tabular-nums; }
.data-table.is-layout-editing th[data-column] { color: var(--accent); background: var(--accent-soft); outline: 1px dashed rgba(241,158,75,.45); outline-offset: -3px; cursor: grab; }
.data-table th.is-dragging { opacity: .45; }
.data-table.save-error, .detail-grid.save-error { box-shadow: inset 0 0 0 1px var(--red); }

.crm-form label { display: grid; gap: .4rem; color: var(--muted); font-size: .84rem; }
.crm-form input:not([type="checkbox"]), .crm-form select, .crm-form textarea { width: 100%; min-height: 2.85rem; padding: .65rem .8rem; color: var(--text); background: var(--surface); border: 1px solid var(--line); border-radius: .72rem; outline: none; }
.crm-form textarea { resize: vertical; }
.crm-form select { cursor: pointer; }
.form-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1.1rem; }
.full-span { grid-column: 1 / -1; }
.form-section { display: flex; align-items: center; gap: .7rem; padding: .35rem 0 .8rem; border-bottom: 1px solid var(--line-soft); }
.form-section:not(:first-of-type) { margin-top: .7rem; }
.form-section > span { color: var(--accent); font-size: .7rem; letter-spacing: .1em; }
.form-section h2, .form-section p { margin: 0; }
.form-section h2 { font-size: 1rem; }
.form-section p { color: var(--dim); font-size: .76rem; }
.form-error { padding: .7rem .8rem; color: var(--red); background: var(--red-soft); border: 1px solid rgba(255,113,105,.2); border-radius: .7rem; font-size: .82rem; }
.field-error { color: var(--red); font-size: .72rem; }
.form-actions { display: flex; justify-content: flex-end; gap: .65rem; padding-top: .6rem; }
.assignment-service-picker { min-width: 0; margin: 0; padding: 1rem; border: 1px solid var(--line); border-radius: .82rem; }
.assignment-service-picker legend { padding: 0 .35rem; color: var(--muted); font-size: .84rem; }
.assignment-service-options > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.assignment-service-options label { display: flex; align-items: center; gap: .65rem; min-height: 3.2rem; padding: .65rem .75rem; color: var(--muted); background: var(--surface); border: 1px solid var(--line-soft); border-radius: .7rem; cursor: pointer; }
.assignment-service-options label:has(input:checked) { color: var(--text); background: var(--accent-soft); border-color: rgba(241,158,75,.38); }
.assignment-service-options label.is-assigned { opacity: .48; filter: grayscale(.7); border-style: dashed; }
.assignment-service-options label.is-assigned:hover { opacity: .72; border-color: var(--muted); }
.assignment-service-options label.is-reassignment { color: var(--text); background: rgba(182,144,255,.08); border-color: rgba(182,144,255,.35); }
.assignment-service-options input { flex: 0 0 auto; width: 1.05rem; height: 1.05rem; accent-color: var(--accent); }
.assignment-service-options label > span { display: grid; gap: .15rem; }
.assignment-service-options strong { font-size: .78rem; }
.assignment-service-options small { color: var(--dim); font-size: .68rem; }
.assignment-service-options.is-loading { opacity: .5; pointer-events: none; }
.assignment-services-empty { padding: .8rem; color: var(--dim); background: var(--surface); border-radius: .65rem; font-size: .78rem; }
.assignment-live-total { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: .25rem 1rem; padding: 1rem; background: var(--accent-soft); border: 1px solid rgba(241,158,75,.25); border-radius: .82rem; }
.assignment-live-total span { color: var(--muted); font-size: .82rem; }
.assignment-live-total strong { color: var(--accent); font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.assignment-live-total small { grid-column: 1 / -1; color: var(--dim); font-size: .7rem; }

.event-heading { align-items: center; }
.event-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; }
.event-actions form { margin: 0; }
.tab-strip { display: flex; gap: .25rem; margin-bottom: 1rem; padding: .32rem; overflow-x: auto; background: var(--surface); border: 1px solid var(--line); border-radius: .82rem; }
.tab-strip button { min-height: 2.3rem; padding: 0 .85rem; color: var(--muted); background: transparent; border: 0; border-radius: .55rem; cursor: pointer; white-space: nowrap; }
.tab-strip button.is-active { color: var(--text); background: var(--surface-soft); }
.event-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(18.5rem, .72fr); gap: 1rem; align-items: start; }
.event-main-column, .event-side-column { display: grid; gap: 1rem; }
.detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; padding: 1.1rem; }
.detail-grid small, .detail-grid strong { display: block; }
.detail-grid small { margin-bottom: .28rem; color: var(--dim); font-size: .7rem; letter-spacing: .05em; text-transform: uppercase; }
.detail-grid strong { overflow-wrap: anywhere; font-size: .84rem; font-weight: 550; }
.detail-grid > [data-field-key] { position: relative; min-width: 0; }
.detail-grid.is-layout-editing > [data-field-key] { min-height: 4.2rem; padding: .7rem 2.4rem .7rem .7rem; background: var(--surface-soft); border: 1px dashed rgba(241,158,75,.42); border-radius: .72rem; cursor: grab; }
.detail-grid > .is-dragging { opacity: .45; }
.field-drag-handle { position: absolute; top: .42rem; right: .42rem; display: none; width: 1.75rem; height: 1.75rem; padding: 0; place-items: center; color: var(--accent); background: var(--accent-soft); border: 1px solid rgba(241,158,75,.2); border-radius: .45rem; cursor: grab; }
.field-drag-handle svg { width: 1rem; height: 1rem; }
.detail-grid.is-layout-editing .field-drag-handle { display: grid; }
.detail-message { margin: 0 1.1rem 1.1rem; padding: 1rem; color: var(--muted); background: var(--surface); border: 1px solid var(--line-soft); border-radius: .8rem; }
.detail-message small { color: var(--dim); font-size: .7rem; letter-spacing: .08em; }
.detail-message p { margin: .45rem 0 0; }
.detail-warning { color: var(--red); background: var(--red-soft); border-color: rgba(255,113,105,.2); }
.compact-table td { padding-top: .7rem; padding-bottom: .7rem; }
.activity-panel { padding-bottom: .2rem; }
.activity-item { display: flex; gap: .75rem; align-items: flex-start; padding: 1rem 1.1rem; }
.activity-item > span { flex: 0 0 auto; width: .5rem; height: .5rem; margin-top: .35rem; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 .3rem var(--green-soft); }
.activity-item strong, .activity-item small { display: block; }
.activity-item strong { font-size: .84rem; }
.activity-item small { margin-top: .2rem; color: var(--dim); font-size: .72rem; }
.summary-card { overflow: hidden; }
.summary-card > :not(.panel-header) { margin-right: 1rem; margin-left: 1rem; }
.summary-card > :last-child { margin-bottom: 1rem; }
.event-side-column.single-side { grid-template-columns: 1fr; }
.prose-note { margin-top: 1rem !important; color: var(--muted); font-size: .84rem; line-height: 1.7; }
.card-actions { display: grid; gap: .55rem; padding-top: 1rem; }
.card-actions form, .card-actions .button { width: 100%; }
.follow-up-schedule-form { display: grid; gap: .5rem; }
.follow-up-schedule-form label { color: var(--muted); font-size: .76rem; font-weight: 600; }
.follow-up-schedule-form input { width: 100%; min-height: 2.7rem; padding: .58rem .72rem; color: var(--text); color-scheme: dark; background: var(--surface); border: 1px solid var(--line); border-radius: .72rem; outline: none; }
.follow-up-schedule-form input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(241,158,75,.08); }
.follow-up-schedule-form small { color: var(--dim); font-size: .68rem; line-height: 1.45; }
.quote-number { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1rem 0 .75rem; }
.quote-number strong { font-size: 1.45rem; font-weight: 600; }
.quote-number time { color: var(--dim); font-size: .76rem; }
.summary-row, .finance-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem 0; color: var(--muted); border-top: 1px solid var(--line-soft); font-size: .8rem; }
.summary-row strong, .finance-row strong { color: var(--text); font-weight: 600; font-variant-numeric: tabular-nums; }
.payment-progress { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; padding-top: .9rem; }
.payment-progress strong { font-size: 1.25rem; }
.payment-progress span { color: var(--dim); font-size: .74rem; }
.progress { height: .35rem; margin: .75rem 1rem 1rem !important; overflow: hidden; background: var(--line); border-radius: 99px; }
.progress span { display: block; height: 100%; background: var(--accent); }
.finance-row:first-of-type { border-top: 0; }
.finance-profit strong { color: var(--green); font-size: 1rem; }
.event-financial-panel { margin-bottom: 1rem; overflow: hidden; }
.proposal-totals-grid, .vat-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; padding: 1rem; }
.proposal-totals-grid > div, .vat-summary-grid > div { display: grid; gap: .35rem; padding: 1rem; background: var(--surface); border: 1px solid var(--line-soft); border-radius: .78rem; }
.proposal-totals-grid small, .vat-summary-grid small { color: var(--dim); font-size: .67rem; letter-spacing: .06em; }
.proposal-totals-grid strong, .vat-summary-grid strong { font-size: 1.12rem; font-variant-numeric: tabular-nums; }
.proposal-totals-grid .is-total { background: var(--accent-soft); border-color: rgba(241,158,75,.28); }
.proposal-totals-grid .is-total strong { color: var(--accent); }
.allocation-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr); gap: 1rem; padding: 0 1rem 1rem; }
.allocation-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: .75rem; padding: 1rem; background: rgba(255,255,255,.018); border: 1px solid var(--line-soft); border-radius: .82rem; }
.allocation-form .allocation-section-heading { grid-column: 1 / -1; }
.allocation-form .button { grid-column: 1 / -1; justify-self: end; }
.allocation-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.allocation-section-heading small { color: var(--accent); font-size: .66rem; letter-spacing: .08em; }
.allocation-section-heading h3 { margin: .25rem 0 0; font-size: .95rem; }
.allocation-section-heading > span { color: var(--dim); font-size: .7rem; }
.allocation-summary { align-self: stretch; padding: .35rem 1rem 1rem; background: var(--surface); border: 1px solid var(--line-soft); border-radius: .82rem; }
.allocation-balance { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .55rem; padding: .85rem; border: 1px solid; border-radius: .72rem; font-size: .82rem; }
.allocation-balance strong { font-size: 1.08rem; font-variant-numeric: tabular-nums; }
.tone-balanced { color: var(--green); background: var(--green-soft); border-color: rgba(82,201,139,.3); }
.tone-remaining { color: var(--accent); background: var(--accent-soft); border-color: rgba(241,158,75,.3); }
.tone-over, .tone-credit { color: var(--red); background: var(--red-soft); border-color: rgba(255,113,105,.3); }
.vat-summary-grid { padding-top: 0; }
.vat-summary-grid .vat-balance { border-color: rgba(241,158,75,.28); }
.vat-summary-grid .vat-balance.tone-credit { border-color: rgba(255,113,105,.3); }

.parallel-notice { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; padding: .8rem 1rem; color: var(--muted); background: var(--accent-soft); border: 1px solid rgba(241,158,75,.2); border-radius: .8rem; font-size: .8rem; }
.parallel-notice strong { flex: 0 0 auto; color: var(--accent); }
.quote-section { margin-bottom: 1rem; overflow: hidden; }
.quote-section .panel-header h2 { display: flex; align-items: center; gap: .6rem; }
.step-number { display: inline-grid; width: 1.65rem; height: 1.65rem; place-items: center; color: #211308; background: var(--accent); border-radius: 50%; font-size: .72rem; }
.field-help { color: var(--dim); font-size: .7rem; line-height: 1.45; }
.quote-meta-grid { grid-template-columns: minmax(10rem, .55fr) minmax(16rem, 1fr) minmax(16rem, 1fr); }
.quote-line-storage { display: none; }
.service-picker { display: grid; gap: 1rem; padding: 1rem; }
.service-picker-loading { margin: 0; color: var(--dim); font-size: .82rem; }
.service-picker-group { overflow: hidden; background: rgba(255,255,255,.012); border: 1px solid var(--line); border-radius: .9rem; }
.service-picker-group > h3 { margin: 0; padding: .95rem 1rem; color: var(--accent); border-bottom: 1px solid var(--line); font-size: .84rem; letter-spacing: .035em; }
.service-picker-subgroup { padding: .95rem 1rem .55rem; }
.service-picker-subgroup:not(:first-of-type) { border-top: 1px solid var(--line); }
.service-picker-subgroup h4 { margin: 0; color: var(--accent); font-size: .8rem; }
.service-picker-subgroup p { max-width: 68rem; margin: .35rem 0 0; color: var(--dim); font-size: .72rem; line-height: 1.55; }
.service-option { padding: .78rem 1rem; border-top: 1px solid var(--line-soft); transition: background .15s, border-color .15s; }
.service-option.is-selected { background: rgba(241,158,75,.035); }
.service-option-row, .service-extra-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; }
.service-choice { display: flex !important; align-items: center; min-width: 0; gap: .65rem !important; color: var(--text) !important; font-size: .82rem !important; font-weight: 600; cursor: pointer; }
.service-choice input { flex: 0 0 auto; width: 1.05rem; height: 1.05rem; accent-color: var(--accent); cursor: pointer; }
.service-choice span { overflow-wrap: anywhere; }
.service-choice-tools { display: flex; align-items: center; min-width: 0; gap: .45rem; }
.service-choice-tools .service-choice { min-width: 0; }
.service-edit-button { display: inline-grid; flex: 0 0 auto; width: 1.8rem; height: 1.8rem; padding: 0; place-items: center; color: var(--accent); background: transparent; border: 1px solid rgba(241,158,75,.24); border-radius: 50%; font-size: .9rem; line-height: 1; cursor: pointer; transition: background .15s, border-color .15s, transform .15s; }
.service-edit-button svg { width: .92rem; height: .92rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-edit-button:hover:not(:disabled) { background: var(--accent-soft); border-color: var(--accent); transform: rotate(18deg); }
.service-edit-button:disabled { color: var(--dim); border-color: var(--line-soft); cursor: not-allowed; opacity: .48; }
.service-price { display: flex; align-items: center; gap: .45rem; color: var(--muted); }
.crm-form .service-price input:not([type="checkbox"]) { width: 7.2rem; min-height: 2.5rem; padding: .45rem .65rem; font-variant-numeric: tabular-nums; text-align: right; }
.service-price input:disabled { color: var(--dim); background: rgba(255,255,255,.018); opacity: .62; }
.service-settings { margin: .55rem 0 0 1.72rem; }
.service-settings summary { width: fit-content; color: var(--dim); font-size: .68rem; cursor: pointer; }
.service-settings[open] summary { color: var(--accent); }
.service-settings-grid { display: grid; grid-template-columns: 7rem minmax(9rem, .7fr) minmax(12rem, 1fr); gap: .65rem; max-width: 36rem; margin-top: .65rem; }
.service-settings-grid label { gap: .25rem; font-size: .66rem; }
.crm-form .service-settings-grid input:not([type="checkbox"]), .crm-form .service-settings-grid select { min-height: 2.35rem; padding: .38rem .55rem; font-size: .74rem; }
.service-extras { display: grid; gap: .45rem; margin: .75rem 0 0 1.72rem; padding: .75rem; background: rgba(255,255,255,.025); border: 1px solid var(--line); border-radius: .72rem; }
.service-extras-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 0 .1rem .35rem; }
.service-extras-heading strong { color: var(--dim); font-size: .61rem; letter-spacing: .09em; }
.service-extras-heading span { color: var(--dim); font-size: .64rem; }
.service-extra-item { padding: .25rem .35rem; border-radius: .55rem; }
.service-extra-item.is-selected { background: var(--accent-soft); }
.service-extra-row { min-height: 2.65rem; }
.service-extra-row .service-choice { font-size: .76rem !important; font-weight: 550; }
.service-extra-settings { display: grid; grid-template-columns: 6.5rem minmax(8rem, .65fr) minmax(12rem, 1fr); gap: .55rem; max-width: 34rem; margin: .35rem 0 .45rem 1.7rem; }
.service-extra-settings label { display: grid; gap: .22rem; color: var(--dim); font-size: .62rem; }
.crm-form .service-extra-settings input:not([type="checkbox"]), .crm-form .service-extra-settings select { min-height: 2.15rem; padding: .32rem .5rem; font-size: .7rem; }
.service-content-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin: .7rem 0 .15rem 1.72rem; padding: .8rem; background: rgba(0,0,0,.18); border: 1px solid rgba(241,158,75,.22); border-radius: .7rem; }
.service-content-editor-heading { display: flex; grid-column: 1 / -1; align-items: baseline; justify-content: space-between; gap: 1rem; padding-bottom: .15rem; }
.service-content-editor-heading strong { color: var(--accent); font-size: .64rem; letter-spacing: .07em; }
.service-content-editor-heading span { color: var(--dim); font-size: .64rem; }
.service-content-editor label { display: grid; gap: .28rem; color: var(--muted); font-size: .66rem; }
.service-content-editor label:nth-of-type(n+2) { grid-column: 1 / -1; }
.crm-form .service-content-editor input:not([type="checkbox"]), .crm-form .service-content-editor textarea { min-height: 2.35rem; padding: .5rem .6rem; font-size: .75rem; line-height: 1.45; }
.service-legacy-title { font-weight: 600; }
.service-legacy-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .5rem 0 0 1.72rem; color: var(--dim); font-size: .68rem; }
.service-add-custom { justify-self: start; }
.quote-lines { display: grid; gap: .75rem; padding: 1rem; }
.quote-line-card { overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: .85rem; transition: opacity .15s, border-color .15s, transform .15s; }
.quote-line-card.is-dragging { opacity: .45; border-color: var(--accent); transform: scale(.99); }
.quote-line-head { display: flex; align-items: center; gap: .55rem; min-height: 3.25rem; padding: .55rem .75rem; background: rgba(255,255,255,.012); border-bottom: 1px solid var(--line-soft); }
.quote-line-head strong { font-size: .84rem; }
.quote-line-head .line-remove { margin-left: auto; color: var(--red); }
.quote-line-head input[name$="-DELETE"] { display: none; }
.line-drag { display: grid; width: 2rem; height: 2rem; padding: 0; place-items: center; color: var(--accent); background: var(--accent-soft); border: 1px solid rgba(241,158,75,.2); border-radius: .55rem; cursor: grab; }
.quote-line-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; padding: .85rem; }
.quote-formset-error { margin: 1rem 1rem 0; }
.quote-bottom-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; }
.quote-total-controls, .quote-closing { display: grid; gap: 1rem; padding: 1rem; }
.quote-offer-note { padding: 1rem 1rem 0; }
.quote-offer-note label { display: grid; gap: .4rem; }
.quote-note-summary { margin: 0 1rem 1rem; padding: .8rem; color: var(--muted); background: var(--accent-soft); border-left: 2px solid var(--accent); border-radius: .45rem; }
.quote-note-summary small { color: var(--accent); font-size: .64rem; font-weight: 700; letter-spacing: .06em; }
.quote-note-summary p { margin: .35rem 0 0; font-size: .75rem; line-height: 1.55; }
.toggle-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.toggle-grid .check-row { min-height: 2.6rem; padding: .55rem .7rem; background: var(--surface); border: 1px solid var(--line-soft); border-radius: .65rem; }
.live-totals { display: grid; gap: .55rem; padding: .85rem; background: var(--surface); border: 1px solid var(--line); border-radius: .75rem; }
.live-totals > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .8rem; }
.live-totals strong { color: var(--text); font-variant-numeric: tabular-nums; }
.live-totals .live-total-final { padding-top: .6rem; color: var(--text); border-top: 1px solid var(--line-soft); font-size: .95rem; }
.live-total-final strong { color: var(--accent); font-size: 1.15rem; }
.quote-save-actions { position: sticky; z-index: 15; bottom: 0; margin: 0 -1rem; padding: .85rem 1rem; background: rgba(7,8,9,.92); border-top: 1px solid var(--line-soft); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.quote-detail-layout .event-main-column { min-width: 0; }
.version-list { display: grid; padding: .55rem; }
.version-row { display: flex; align-items: center; justify-content: space-between; gap: .65rem; padding: .65rem; border: 1px solid transparent; border-radius: .65rem; }
.version-row:hover, .version-row.is-active { background: var(--surface); border-color: var(--line-soft); }
.version-row strong, .version-row small { display: block; }
.version-row strong { font-size: .82rem; }
.version-row small { margin-top: .12rem; color: var(--dim); font-size: .68rem; }

.placeholder-panel { display: flex; align-items: center; gap: 1.2rem; min-height: 12rem; padding: 1.4rem; }
.placeholder-number { color: var(--accent); font-size: 3rem; font-weight: 750; letter-spacing: -.08em; }
.placeholder-panel h2 { margin: 0 0 .25rem; }
.placeholder-panel p { max-width: 42rem; margin: 0; color: var(--muted); }
.analytics-table .analytics-positive { color: var(--green); }
.analytics-table .analytics-due { color: var(--accent); font-weight: 650; }
.analytics-edit-layout { display: grid; grid-template-columns: minmax(17rem,.7fr) minmax(0,1.3fr); gap: 1rem; align-items: start; }
.analytics-snapshot { overflow: hidden; }
.analytics-snapshot .finance-row { margin-right: 1rem; margin-left: 1rem; }
.analytics-financial-form { margin: 0; }
.flash-stack { position: fixed; z-index: 70; top: 5rem; right: 1rem; display: grid; gap: .45rem; width: min(25rem, calc(100vw - 2rem)); }
.flash { padding: .8rem 1rem; background: var(--surface-raised); border: 1px solid var(--line); border-radius: .75rem; box-shadow: 0 1rem 2rem rgba(0,0,0,.3); font-size: .82rem; }
.flash-success { color: var(--green); border-color: rgba(82,201,139,.25); }
.flash-info { color: var(--blue); border-color: rgba(109,167,255,.25); }

.row-actions { display: flex; align-items: center; justify-content: flex-end; gap: .35rem; }
.row-actions form { display: contents; }
.row-delete { display: inline-grid; width: 2rem; height: 2rem; padding: 0; place-items: center; color: var(--dim); background: transparent; border: 1px solid transparent; border-radius: .55rem; cursor: pointer; transition: color .15s, background .15s, border-color .15s; }
.row-delete svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.7; }
.row-delete:hover, .row-delete:focus-visible { color: var(--red); background: var(--red-soft); border-color: rgba(255,113,105,.25); outline: none; }
.assignment-payments-row td { padding-top: 0 !important; border-top: 0 !important; }
.assignment-payment-strip { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .9rem; padding: .15rem 0 .75rem 2.7rem; color: var(--dim); font-size: .69rem; }
.assignment-payment-strip .text-button { margin-left: auto; }
.settings-switches { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding:1rem 0 1.25rem; }
.settings-switch-group { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; }
.settings-switch-group small { width:100%; color:var(--dim); font-size:.65rem; letter-spacing:.1em; }
.settings-tab { padding:.55rem .8rem; color:var(--dim); background:var(--surface-soft); border:1px solid var(--line); border-radius:8px; font:inherit; font-size:.75rem; text-decoration:none; cursor:pointer; }
.settings-tab.is-active { color:#111; background:var(--accent); border-color:var(--accent); }
.pdf-text-group { margin-top:1rem; }
.pdf-text-group h3 { margin:0; padding:.65rem .8rem; color:var(--accent); background:var(--accent-soft); border-left:3px solid var(--accent); font-size:.72rem; letter-spacing:.08em; }
.pdf-text-row { display:flex; justify-content:space-between; gap:1rem; padding:.8rem; color:inherit; border-bottom:1px solid var(--line-soft); text-decoration:none; }
.pdf-text-row > span:first-child { display:grid; gap:.25rem; }
.pdf-text-row small { color:var(--dim); }
.pdf-text-row > span:last-child { color:var(--accent); font-size:.72rem; white-space:nowrap; }
.settings-new-service { color:#111 !important; }
.availability-chips { display:flex; flex-wrap:wrap; gap:.35rem; }
.availability-chip { padding:.25rem .48rem; border-radius:99px; font-size:.67rem; border:1px solid; }
.availability-chip.is-enabled { color:var(--accent); background:var(--accent-soft); border-color:rgba(241,158,75,.28); }
.availability-chip.is-disabled { color:#6f747d; background:rgba(111,116,125,.08); border-color:rgba(111,116,125,.18); filter:grayscale(1); }
.settings-service-form { display:grid; gap:1rem; }
.availability-field ul { display:flex; flex-wrap:wrap; gap:.55rem; margin:.3rem 0 0; padding:0; list-style:none; }
.availability-field label { display:flex; align-items:center; gap:.45rem; padding:.55rem .7rem; color:#777d87; background:rgba(111,116,125,.08); border:1px solid rgba(111,116,125,.2); border-radius:8px; }
.availability-field label:has(input:checked) { color:var(--accent); background:var(--accent-soft); border-color:rgba(241,158,75,.3); }
.variant-form .form-section h2 { color:var(--accent); }
.assignment-balance { min-width:180px; padding:.5rem 0; }
.assignment-balance-head { display:flex; justify-content:space-between; gap:.7rem; margin-bottom:.35rem; font-size:.69rem; }
.assignment-balance-head strong { color:var(--accent); }
.assignment-balance .progress { height:6px; }
.assignment-balance .progress span { background:var(--accent); }
.inline-status-form, .acceptance-link-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; }
.inline-status-form select { min-width:190px; }
.acceptance-link-actions input { flex:1 1 280px; min-width:0; }
.public-offer-body { display:grid; min-height:100vh; place-items:center; padding:1rem; background:#08090b; }
.public-offer-card { width:min(620px,100%); padding:2rem; color:#f3f1ed; background:#121418; border:1px solid #282b31; border-radius:16px; box-shadow:0 22px 70px rgba(0,0,0,.35); }
.public-offer-card h1 { margin:.3rem 0; font-size:2.4rem; }
.public-decision-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.4rem; }
.public-decision { margin-top:1.4rem; padding:1rem; color:var(--green); background:var(--green-soft); border-radius:10px; }
.public-decision-error { color:var(--red); background:var(--red-soft); }
.table-status-form { margin:0; }
.status-select { min-height:1.8rem; padding:.2rem 1.8rem .2rem .55rem; border-radius:99px; font-size:.69rem; font-weight:650; }
.status-select.status-accepted, .status-select.status-booked { color:var(--green); background:var(--green-soft); border-color:rgba(82,201,139,.3); }
.status-select.status-sent, .status-select.status-contacted, .status-select.status-in_progress { color:var(--blue); background:var(--blue-soft); border-color:rgba(109,167,255,.3); }
.status-select.status-payment_pending { color:var(--accent); background:var(--accent-soft); border-color:rgba(241,158,75,.3); }
.status-select.status-draft { color:#a6abb5; background:rgba(166,171,181,.1); border-color:rgba(166,171,181,.25); }
.status-select.status-completed, .status-select.status-superseded { color:var(--purple); background:var(--purple-soft); border-color:rgba(182,144,255,.3); }
.status-select.status-rejected, .status-select.status-lost, .status-select.status-past_awaiting_payment { color:var(--red); background:var(--red-soft); border-color:rgba(255,113,105,.3); }
.lead-status-form { display:grid; gap:.65rem; }
.settings-cover-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; margin-bottom:1rem; }
.settings-cover-card { position:relative; display:block; overflow:hidden; height:180px; border-radius:12px; border:1px solid transparent; }
.settings-cover-card:hover, .settings-cover-card:focus-visible { border-color:var(--orange, #ff5a1f); outline:2px solid var(--orange, #ff5a1f); outline-offset:2px; }
.settings-cover-grid img { display:block; width:100%; height:100%; object-fit:cover; }
.settings-cover-grid span { position:absolute; left:.7rem; bottom:.6rem; padding:.25rem .5rem; color:#fff; background:rgba(0,0,0,.7); border-radius:6px; font-size:.72rem; }
.settings-cover-card strong { position:absolute; top:.6rem; right:.6rem; display:flex; align-items:center; gap:.3rem; padding:.35rem .5rem; border-radius:6px; background:rgba(0,0,0,.75); color:#fff; font-size:.7rem; }
.settings-cover-card svg { width:14px; height:14px; }
.cover-editor { display:grid; grid-template-columns:minmax(200px,290px) minmax(0,1fr); gap:2rem; padding:1.5rem; }
.cover-editor-preview label { position:relative; display:block; cursor:pointer; }
.cover-editor-preview img { display:block; width:100%; aspect-ratio:290 / 454; object-fit:cover; border-radius:18px; }
.cover-editor-preview label > span { position:absolute; bottom:1rem; left:1rem; right:1rem; padding:.6rem; text-align:center; background:rgba(0,0,0,.75); color:#fff; border-radius:8px; }
.cover-editor-preview small { display:block; margin-top:.65rem; color:var(--muted); }
.cover-editor-fields { align-self:center; min-width:0; }
.cover-editor-fields > label { display:block; margin-bottom:.7rem; font-weight:600; }
.cover-editor-fields input[type=file] { max-width:100%; }
.cover-editor-fields .form-actions { flex-wrap:wrap; margin-top:1.5rem; }
.cover-reset { margin-top:1rem; }
@media(max-width:700px) { .settings-cover-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .cover-editor { grid-template-columns:1fr; } .cover-editor-preview { max-width:290px; width:100%; margin:auto; } }
.pdf-text-row em { font-style:normal; }
.split-progress { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1rem 0; }
.split-progress > div { display:grid; gap:.35rem; }
.split-progress small { color:var(--dim); }
.event-payment-card { display:grid; gap:.45rem; padding:1rem 0; border-bottom:1px solid var(--line-soft); }
.assignment-service-summary { display:flex; align-items:center; flex-wrap:wrap; gap:.35rem; margin:.15rem 0 .3rem; }
.assignment-service-summary > small { margin-right:.2rem; color:var(--dim); font-size:.68rem; }
.assignment-service-summary > span { padding:.24rem .45rem; color:var(--muted); background:var(--surface-soft); border:1px solid var(--line-soft); border-radius:99px; font-size:.66rem; }
.assignment-service-summary.compact { margin-top:.4rem; }
.event-services-heading > .status { flex:0 0 auto; }
.event-service-list { display:grid; gap:.7rem; padding:1rem; }
.event-service-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:start; padding:1rem; background:var(--surface); border:1px solid var(--line-soft); border-radius:.8rem; }
.event-service-item.is-optional { border-color:rgba(241,158,75,.24); background:linear-gradient(90deg,var(--accent-soft),var(--surface) 42%); }
.event-service-copy { display:grid; gap:.55rem; min-width:0; }
.event-service-title { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; }
.event-service-title h3 { margin:0; font-size:.95rem; }
.event-service-index { display:grid; width:1.8rem; height:1.8rem; place-items:center; color:var(--accent); background:var(--accent-soft); border:1px solid rgba(241,158,75,.2); border-radius:.5rem; font-size:.66rem; font-variant-numeric:tabular-nums; }
.event-service-meta { display:flex; flex-wrap:wrap; gap:.45rem 1rem; color:var(--dim); font-size:.72rem; }
.event-service-copy p { max-width:62rem; margin:0; color:var(--muted); font-size:.78rem; line-height:1.6; }
.event-service-price { color:var(--text); font-size:1rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.mail-connection-panel { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .85rem; margin-bottom: 1rem; padding: .9rem 1rem; }
.mail-connection-panel h2, .mail-connection-panel p { margin: 0; }
.mail-connection-panel h2 { font-size: .86rem; }
.mail-connection-panel p { margin-top: .2rem; color: var(--dim); font-size: .72rem; }
.mail-connection-dot { width: .62rem; height: .62rem; background: var(--dim); border-radius: 50%; box-shadow: 0 0 0 .3rem rgba(255,255,255,.035); }
.mail-connection-panel.is-connected .mail-connection-dot { background: var(--green); box-shadow: 0 0 0 .3rem var(--green-soft); }
.mail-connection-panel.mail-connection-error .mail-connection-dot { background: var(--red); box-shadow: 0 0 0 .3rem var(--red-soft); }
.mail-workspace { display:grid; grid-template-columns:minmax(13.5rem, .25fr) minmax(0, 1fr); align-items:start; gap:1rem; }
.mail-folder-panel, .mail-list-panel { overflow:hidden; }
.mail-folder-list { display:grid; padding:.45rem; }
.mail-folder-link, .mail-folder-custom > a { display:grid; grid-template-columns:auto minmax(0, 1fr) auto; align-items:center; gap:.6rem; min-height:2.65rem; padding:.55rem .65rem; color:var(--muted); border-radius:.65rem; font-size:.75rem; }
.mail-folder-link:hover, .mail-folder-link.is-active, .mail-folder-custom:hover, .mail-folder-custom.is-active { color:var(--text); background:var(--accent-soft); }
.mail-folder-link svg, .mail-folder-custom svg { width:.95rem; height:.95rem; fill:none; stroke:currentColor; stroke-width:1.7; }
.mail-folder-link b, .mail-folder-custom b { color:var(--dim); font-size:.66rem; font-variant-numeric:tabular-nums; }
.mail-folder-custom { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; border:1px solid transparent; border-radius:.65rem; transition:background .15s, border-color .15s; }
.mail-folder-custom > a { min-width:0; }
.mail-folder-custom form { display:flex; margin:0 .4rem 0 0; }
.mail-folder-custom button { display:grid; width:1.65rem; height:1.65rem; padding:0; place-items:center; color:var(--dim); background:transparent; border:0; border-radius:.45rem; cursor:pointer; }
.mail-folder-custom button:hover { color:var(--red); background:var(--red-soft); }
.mail-folder-custom.is-drop-target { color:var(--accent); background:var(--accent-soft); border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); }
.mail-folder-create { display:grid; gap:.55rem; padding:.85rem; border-top:1px solid var(--line-soft); }
.mail-folder-create label { display:grid; gap:.3rem; color:var(--dim); font-size:.67rem; }
.mail-folder-create input { width:100%; min-height:2.4rem; padding:.5rem .6rem; color:var(--text); background:var(--surface); border:1px solid var(--line); border-radius:.6rem; outline:none; }
.mail-folder-create input:focus { border-color:var(--accent); }
.mail-folder-create .button { width:100%; }
.mail-folder-hint { margin:0; padding:0 .85rem .85rem; color:var(--dim); font-size:.63rem; line-height:1.5; }
.mail-bulk-bar { display:grid; grid-template-columns:auto minmax(12rem, .75fr) minmax(16rem, 1.25fr) auto; align-items:center; gap:.55rem; min-height:3.7rem; padding:.55rem .75rem; background:rgba(255,255,255,.008); border-bottom:1px solid var(--line-soft); transition:background .15s; }
.mail-bulk-bar.is-active { background:var(--accent-soft); }
.mail-bulk-summary { display:grid; gap:.2rem; min-width:7.3rem; }
.mail-bulk-summary label { display:flex; align-items:center; gap:.4rem; color:var(--text); font-size:.7rem; cursor:pointer; }
.mail-bulk-summary input, .mail-thread-select input { width:1rem; height:1rem; accent-color:var(--accent); cursor:pointer; }
.mail-bulk-summary strong { color:var(--dim); font-size:.63rem; font-weight:500; }
.mail-bulk-group { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:end; gap:.4rem; }
.mail-bulk-field { display:grid; gap:.22rem; min-width:0; }
.mail-bulk-field > span { color:var(--dim); font-size:.61rem; line-height:1; }
.mail-bulk-group select { min-width:0; min-height:2.35rem; padding:.4rem .55rem; color:var(--text); background:var(--surface); border:1px solid var(--line); border-radius:.58rem; font-size:.69rem; outline:none; }
.mail-bulk-bar .button { min-height:2.35rem; padding:.4rem .65rem; font-size:.68rem; white-space:nowrap; }
.mail-bulk-bar .button:disabled { opacity:.35; cursor:not-allowed; }
.mail-thread-list { display: grid; }
.mail-thread-row { display: grid; grid-template-columns:auto minmax(0, 1fr) auto; align-items: stretch; color: inherit; border-top: 1px solid var(--line-soft); cursor:grab; transition: background .15s, opacity .15s; }
.mail-thread-row:active { cursor:grabbing; }
.mail-thread-row:hover { background: var(--surface); }
.mail-thread-row.is-selected { background:var(--accent-soft); box-shadow:inset 3px 0 var(--accent); }
.mail-thread-row.is-dragging { opacity:.42; }
.mail-thread-row.is-reviewed { opacity: .76; }
.mail-thread-select { display:flex; align-items:center; gap:.25rem; padding:.75rem 0 .75rem .75rem; }
.mail-drag-handle { display:grid; width:1.75rem; height:2rem; place-items:center; color:var(--dim); border-radius:.45rem; }
.mail-drag-handle:hover { color:var(--accent); background:var(--accent-soft); }
.mail-drag-handle svg { width:1rem; height:1rem; }
.mail-thread-main { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .85rem; min-width: 0; padding: .9rem .85rem; }
.mail-thread-copy, .mail-thread-copy b, .mail-thread-copy small { display: block; min-width: 0; }
.mail-thread-copy b { margin: .15rem 0; overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.mail-thread-copy small { overflow: hidden; color: var(--dim); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.mail-thread-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .72rem; }
.mail-thread-meta time { flex: 0 0 auto; color: var(--dim); }
.mail-thread-tags { display: flex; align-items: center; justify-content: flex-end; gap: .45rem; }
.mail-thread-tags > svg { width: 1rem; height: 1rem; fill: none; stroke: var(--dim); stroke-width: 1.7; }
.mail-message-stack { display: grid; gap: 1rem; }
.mail-message-card { overflow: hidden; }
.mail-message-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1rem; border-bottom: 1px solid var(--line-soft); }
.mail-message-card > header strong, .mail-message-card > header small { display: block; }
.mail-message-card > header small, .mail-message-card > header time { margin-top: .15rem; color: var(--dim); font-size: .7rem; }
.mail-message-card.is-sent { border-color: rgba(241,158,75,.22); }
.mail-message-body { padding: 1.2rem 1rem; color: var(--muted); font-size: .82rem; line-height: 1.75; overflow-wrap: anywhere; }
.mail-attachments { display: flex; flex-wrap: wrap; gap: .45rem; padding: 0 1rem 1rem; }
.mail-attachments span, .mail-attachments a { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .55rem; color: var(--muted); background: var(--surface); border: 1px solid var(--line); border-radius: .5rem; font-size: .68rem; }
.mail-attachments svg { width: .85rem; height: .85rem; fill: none; stroke: currentColor; stroke-width: 1.6; }
.mail-candidate { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 1rem 1rem; padding: .8rem; background: var(--accent-soft); border: 1px solid rgba(241,158,75,.22); border-radius: .72rem; }
.mail-candidate strong, .mail-candidate small { display: block; }
.mail-candidate strong { font-size: .76rem; }
.mail-candidate small { margin-top: .18rem; color: var(--dim); font-size: .68rem; }
.mail-candidate.is-converted { color: var(--green); background: var(--green-soft); border-color: rgba(82,201,139,.22); }
.mail-review-actions { display: flex; align-items: center; gap: .3rem; padding-right: .85rem; }
.mail-message-card > header .mail-review-actions { padding-right: 0; }
.mail-review-actions form { display: inline-flex; margin: 0; }
.mail-review-button, .mail-reviewed { display: grid; width: 2rem; height: 2rem; padding: 0; place-items: center; background: transparent; border: 1px solid var(--line-soft); border-radius: .55rem; }
.mail-review-button { color: var(--dim); cursor: pointer; }
.mail-review-button svg, .mail-reviewed svg { width: .9rem; height: .9rem; }
.mail-review-button.is-keep:hover { color: var(--green); background: var(--green-soft); border-color: rgba(82,201,139,.28); }
.mail-review-button.is-delete:hover { color: var(--red); background: var(--red-soft); border-color: rgba(255,113,105,.28); }
.mail-reviewed { color: var(--green); background: var(--green-soft); border-color: rgba(82,201,139,.2); }
.lead-email-panel { scroll-margin-top:1rem; }
.lead-email-filters { display:flex; align-items:center; gap:.35rem; }
.lead-email-filters a { padding:.4rem .65rem; color:var(--dim); background:var(--surface); border:1px solid var(--line-soft); border-radius:99px; font-size:.67rem; }
.lead-email-filters a:hover, .lead-email-filters a.is-active { color:var(--accent); background:var(--accent-soft); border-color:rgba(241,158,75,.28); }
.lead-email-list { display:grid; }
.lead-email-row { display:grid; grid-template-columns:auto minmax(0, 1fr) auto auto; align-items:center; gap:.75rem; min-width:0; padding:.8rem 1rem; color:inherit; border-top:1px solid var(--line-soft); transition:background .15s; }
.lead-email-row:first-child { border-top:0; }
.lead-email-row:hover { background:rgba(255,255,255,.015); }
.lead-email-copy, .lead-email-copy strong, .lead-email-copy small, .lead-email-copy > span { display:block; min-width:0; }
.lead-email-copy strong { overflow:hidden; color:var(--text); font-size:.79rem; text-overflow:ellipsis; white-space:nowrap; }
.lead-email-copy small { margin-top:.15rem; color:var(--dim); font-size:.67rem; }
.lead-email-copy > span { margin-top:.25rem; overflow:hidden; color:var(--muted); font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.lead-email-row time { color:var(--dim); font-size:.67rem; white-space:nowrap; }
.lead-email-row > svg { width:.9rem; height:.9rem; color:var(--dim); }
.mail-compose-form { grid-template-columns: 1fr; }
.mail-recipient-picker, .mail-template-picker, .mail-signature-section { display: grid; gap: .8rem; padding: 1rem; background: rgba(255,255,255,.018); border: 1px solid var(--line-soft); border-radius: .85rem; }
.mail-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.mail-section-heading strong, .mail-section-heading small { display: block; }
.mail-section-heading strong { color: var(--text); font-size: .86rem; }
.mail-section-heading small { margin-top: .2rem; color: var(--dim); font-size: .7rem; }
.mail-client-search-row { display: flex; align-items: center; gap: .65rem; }
.mail-client-search { flex: 1 1 auto; width: auto; }
.mail-client-results { display: grid; max-height: 17rem; overflow-y: auto; background: var(--surface); border: 1px solid var(--line); border-radius: .75rem; }
.mail-client-result { display: grid; gap: .15rem; padding: .75rem .85rem; color: var(--text); background: transparent; border: 0; border-top: 1px solid var(--line-soft); text-align: left; cursor: pointer; }
.mail-client-result:first-child { border-top: 0; }
.mail-client-result:hover, .mail-client-result:focus-visible { background: var(--accent-soft); outline: none; }
.mail-client-result strong { font-size: .8rem; }
.mail-client-result small { color: var(--dim); font-size: .7rem; }
.mail-client-empty { margin: 0; padding: .9rem; color: var(--dim); font-size: .76rem; }
.mail-template-buttons { display: flex; flex-wrap: wrap; gap: .55rem; }
.mail-template-buttons .button { min-width: 8rem; }
.mail-signature-preview { padding: 1rem; overflow-x: auto; color-scheme: light; background: #fff; border-radius: .7rem; }
.mail-signature-preview > table { margin-top: 0 !important; }

.notification-filters { display: flex; flex-wrap: wrap; gap: .45rem; padding: 1rem; border-bottom: 1px solid var(--line-soft); }
.notification-list { display: grid; }
.notification-row { margin: 0; border-top: 1px solid var(--line-soft); }
.notification-row:first-child { border-top: 0; }
.notification-row button { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: .8rem; width: 100%; padding: .9rem 1rem; color: var(--muted); text-align: left; background: transparent; border: 0; cursor: pointer; }
.notification-row button:hover { background: rgba(255,255,255,.018); }
.notification-row button > span:nth-child(2), .notification-row strong, .notification-row small { display: block; min-width: 0; }
.notification-row strong { color: var(--text); font-size: .84rem; }
.notification-row small { margin-top: .2rem; color: var(--dim); font-size: .72rem; }
.notification-row time { color: var(--dim); font-size: .7rem; white-space: nowrap; }
.notification-row svg { color: var(--dim); }
.notification-dot { width: .5rem; height: .5rem; background: var(--line); border-radius: 50%; }
.notification-row.is-unread { background: rgba(241,158,75,.025); }
.notification-row.is-unread .notification-dot { background: var(--accent); box-shadow: 0 0 0 .28rem var(--accent-soft); }

.insurance-connection { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .9rem; margin-bottom: 1rem; padding: 1rem; }
.insurance-connection h2, .insurance-connection p { margin: 0; }
.insurance-connection h2 { font-size: .92rem; }
.insurance-connection p { margin-top: .2rem; color: var(--dim); font-size: .74rem; }
.insurance-connection code { color: var(--accent); overflow-wrap: anywhere; }
.insurance-connection-icon { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; color: var(--accent); background: var(--accent-soft); border: 1px solid rgba(241,158,75,.2); border-radius: .65rem; font-size: .78rem; font-weight: 800; }
.insurance-connection.is-connected { border-color: rgba(82,201,139,.25); }
.insurance-connection.is-connected .insurance-connection-icon { color: var(--green); background: var(--green-soft); border-color: rgba(82,201,139,.2); }
.insurance-connection-warning { border-color: rgba(241,199,91,.25); }
.insurance-compose { display: grid; gap: 1rem; }
.insurance-compose-panel { overflow: hidden; }
.insurance-email-fields, .insurance-settings-form, .insurance-upload-form { display: grid; gap: .85rem; padding: 1rem; }
.form-grid { display: grid; gap: .85rem; }
.form-grid.two-columns, .two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field-help { color: var(--dim); font-size: .68rem; }
.insurance-workers-header { align-items: flex-start; }
.insurance-worker-tools { display: grid; grid-template-columns: auto auto; align-items: center; justify-items: end; gap: .4rem .55rem; }
.insurance-copy-schedule { min-height: 2.25rem; padding: .35rem .7rem; font-size: .7rem; }
.insurance-copy-schedule:disabled { opacity: .38; cursor: not-allowed; }
.insurance-worker-tools > small { grid-column: 1 / -1; min-height: .9rem; color: var(--green); font-size: .66rem; text-align: right; }
.insurance-worker-tools > small.is-error { color: var(--red); }
.insurance-groups { display: grid; }
.insurance-group { border-top: 1px solid var(--line-soft); }
.insurance-group:first-child { border-top: 0; }
.insurance-group > header { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .9rem 1rem; background: rgba(255,255,255,.012); }
.insurance-group > header strong { display: block; margin-top: .18rem; font-size: .78rem; }
.insurance-worker-list { display: grid; }
.insurance-worker-row { padding: .55rem 1rem; border-top: 1px solid var(--line-soft); transition: background .15s, border-color .15s; }
.insurance-worker-row.is-selected { background: var(--accent-soft); box-shadow: inset 3px 0 var(--accent); }
.insurance-worker-line { display: grid; grid-template-columns: minmax(12rem, .8fr) minmax(24rem, 1.5fr) auto; align-items: end; gap: .7rem; }
.insurance-worker-check { display: flex !important; flex: 1; grid-template-columns: none; align-items: center; gap: .7rem !important; min-width: 0; color: var(--text) !important; cursor: pointer; }
.insurance-worker-check input, .insurance-worker-documents input { width: 1rem; height: 1rem; accent-color: var(--accent); }
.insurance-worker-check strong, .insurance-worker-check small { display: block; }
.insurance-worker-check strong { font-size: .84rem; }
.insurance-worker-check small { margin-top: .15rem; color: var(--dim); font-size: .68rem; }
.insurance-worker-row.is-schedule-source .insurance-worker-check small::after { content: " · Πρώτος για αντιγραφή"; color: var(--accent); }
.insurance-worker-schedule { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: .45rem; min-width: 0; }
.insurance-worker-schedule label > span { margin-bottom: .22rem; font-size: .62rem; }
.crm-form .insurance-worker-schedule input:not([type="checkbox"]), .crm-form .insurance-worker-schedule select { min-height: 2.25rem; padding: .4rem .55rem; font-size: .74rem; }
.insurance-worker-row:not(.is-selected) .insurance-worker-schedule { opacity: .35; }
.insurance-worker-documents { display: flex; flex-wrap: wrap; gap: .35rem; margin: .35rem 0 0 1.7rem; }
.insurance-worker-documents label { display: inline-flex; align-items: center; gap: .35rem; min-width: 0; padding: .3rem .45rem; color: var(--dim); background: var(--surface); border: 1px solid var(--line-soft); border-radius: .5rem; font-size: .64rem; cursor: pointer; }
.insurance-worker-row.is-selected .insurance-worker-documents label { color: var(--muted); }
.insurance-worker-documents svg { width: .75rem; height: .75rem; }
.insurance-worker-documents small { color: var(--dim); }
.insurance-no-documents { color: var(--red); font-size: .7rem; }
.insurance-send-actions { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: 0 1rem 1rem; }
.insurance-send-actions > span { color: var(--dim); font-size: .72rem; }
.insurance-send-actions button:disabled { opacity: .4; cursor: not-allowed; }
.insurance-bottom-grid, .insurance-worker-detail-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr); gap: 1rem; margin-top: 1rem; align-items: start; }
.insurance-bottom-grid > .panel, .insurance-worker-detail-grid > .panel { overflow: hidden; }
.insurance-history { display: grid; }
.insurance-history details { border-top: 1px solid var(--line-soft); }
.insurance-history details:first-child { border-top: 0; }
.insurance-history summary { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .8rem 1rem; cursor: pointer; }
.insurance-history summary strong, .insurance-history summary small { display: block; }
.insurance-history summary strong { font-size: .82rem; }
.insurance-history summary small { margin-top: .15rem; color: var(--dim); font-size: .68rem; }
.insurance-history details > div { display: grid; gap: .4rem; padding: 0 1rem 1rem; }
.insurance-history details p { display: flex; justify-content: space-between; gap: .75rem; margin: 0; padding: .5rem .6rem; color: var(--muted); background: var(--surface); border-radius: .5rem; font-size: .7rem; }
.insurance-history details p span { color: var(--dim); text-align: right; }
.insurance-error { color: var(--red) !important; }
.insurance-document-list { display: grid; }
.insurance-document-list > div:not(.empty-state) { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .8rem 1rem; border-top: 1px solid var(--line-soft); }
.insurance-document-list > div:first-child { border-top: 0; }
.insurance-document-list > div > span { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.insurance-document-list > div > span > span, .insurance-document-list strong, .insurance-document-list small { display: block; min-width: 0; }
.insurance-document-list strong { overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.insurance-document-list small { margin-top: .12rem; color: var(--dim); font-size: .68rem; }
.insurance-document-list svg { color: var(--accent); }
.insurance-upload-form input[type="file"] { min-height: auto; padding: .7rem; }
.status-failed { color: var(--red); background: var(--red-soft); border-color: rgba(255,113,105,.2); }

.login-page { display: grid; min-height: 100vh; place-items: center; background: radial-gradient(circle at 70% 0%, rgba(241,158,75,.08), transparent 32%), linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px), var(--bg); background-size: auto, 44px 44px, 44px 44px, auto; }
.login-shell { display: grid; width: min(100%, 30rem); gap: 1rem; padding: 1.25rem; }
.login-card { padding: 1.5rem; background: rgba(13,15,18,.94); border: 1px solid var(--line); border-radius: 1.25rem; box-shadow: 0 2rem 6rem rgba(0,0,0,.38); }
.login-brand { display: flex; align-items: center; gap: .8rem; padding-bottom: 1.3rem; border-bottom: 1px solid var(--line-soft); }
.brand-mark-large { width: 3.1rem; height: 3.1rem; }
.login-brand strong, .login-brand small { display: block; }
.login-brand strong { letter-spacing: .1em; }
.login-brand small { color: var(--accent); font-size: .68rem; letter-spacing: .2em; }
.login-heading { padding: 1.7rem 0 1.2rem; }
.login-heading p { margin: 0; color: var(--accent); font-size: .69rem; font-weight: 700; letter-spacing: .2em; }
.login-heading h1 { margin: .35rem 0; font-size: 1.8rem; letter-spacing: -.035em; }
.login-heading span { color: var(--muted); font-size: .86rem; }
.login-form { display: grid; gap: 1rem; }
.check-row { display: flex !important; align-items: center; gap: .55rem !important; }
.check-row input { width: 1rem; height: 1rem; accent-color: var(--accent); }
.login-foot { margin: 0; color: var(--dim); font-size: .65rem; letter-spacing: .14em; text-align: center; }

@media (max-width: 1120px) {
  :root { --sidebar: 205px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-layout, .event-layout { grid-template-columns: 1fr; }
  .event-side-column { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quote-meta-grid { grid-template-columns: 1fr 1fr; }
  .quote-meta-grid label:first-child { grid-column: 1 / -1; }
  .allocation-layout { grid-template-columns: 1fr; }
  .insurance-bottom-grid, .insurance-worker-detail-grid { grid-template-columns: 1fr; }
  .mail-workspace { grid-template-columns:1fr; }
  .mail-folder-list { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .mail-folder-create { grid-template-columns:minmax(0, 1fr) auto; align-items:end; }
  .mail-folder-create .button { width:auto; }
  .mail-folder-hint { display:none; }
  .mail-bulk-bar { grid-template-columns:1fr 1fr; }
}

@media (max-width: 820px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; left: 0; width: min(19rem, 84vw); transform: translateX(-105%); box-shadow: 1rem 0 3rem rgba(0,0,0,.4); transition: transform .22s ease; }
  body.sidebar-open .sidebar { transform: translateX(0); }
  body.sidebar-open::after { position: fixed; z-index: 29; inset: 0; content: ""; background: rgba(0,0,0,.58); }
  .mobile-menu { display: grid; }
  .topbar { padding: .7rem .85rem; }
  .global-search { flex: 1; width: auto; }
  .global-search input { font-size: .86rem; }
  .page-content { padding: 1.35rem .9rem 3rem; }
  .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-side-column { grid-template-columns: 1fr; }
  .quote-bottom-grid { grid-template-columns: 1fr; }
  .mail-bulk-bar { grid-template-columns:1fr; }
}

@media (max-width: 590px) {
  .topbar { flex-wrap: wrap; }
  .global-search { order: 3; flex-basis: 100%; }
  .hide-mobile { display: none; }
  .top-actions .button-primary span { display: none; }
  .page-header, .event-heading { align-items: flex-start; flex-direction: column; }
  .header-side { justify-items: start; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: .65rem; }
  .metric-card { min-height: 8.3rem; padding: .85rem; }
  .metric-card > strong, .metric-card-link > strong { margin-top: .5rem; font-size: 1.7rem; }
  .dashboard-layout { gap: .7rem; }
  .event-actions { justify-content: flex-start; width: 100%; }
  .event-actions .button { flex: 1 1 auto; }
  .detail-grid { grid-template-columns: 1fr; }
  .form-panel { grid-template-columns: 1fr; }
  .full-span { grid-column: auto; }
  .assignment-service-options > div, .proposal-totals-grid, .vat-summary-grid, .allocation-form { grid-template-columns: 1fr; }
  .allocation-form .allocation-section-heading, .allocation-form .button { grid-column: auto; }
  .allocation-section-heading { align-items: flex-start; flex-direction: column; }
  .list-toolbar { align-items: stretch; flex-direction: column; }
  .bulk-action-bar { align-items: stretch; flex-direction: column; }
  .bulk-action-bar .button { width: 100%; }
  .search-control { width: 100%; }
  .layout-table-button { margin-left: 0; align-self: flex-start; }
  .decision-strip { align-items: flex-start; flex-direction: column; }
  .parallel-notice { align-items: flex-start; flex-direction: column; }
  .quote-meta-grid, .quote-line-grid, .toggle-grid { grid-template-columns: 1fr; }
  .quote-meta-grid label:first-child { grid-column: auto; }
  .service-picker { padding: .7rem; }
  .service-option { padding: .78rem; }
  .service-option-row, .service-extra-row { grid-template-columns: minmax(0, 1fr) 7.8rem; gap: .55rem; }
  .crm-form .service-price input:not([type="checkbox"]) { width: 100%; }
  .service-settings, .service-extras { margin-left: 0; }
  .service-settings-grid { grid-template-columns: 1fr; }
  .service-extra-settings { grid-template-columns: 1fr; margin-left: 1.7rem; }
  .service-content-editor { grid-template-columns: 1fr; margin-left: 0; }
  .service-content-editor-heading { align-items: flex-start; flex-direction: column; gap: .15rem; }
  .service-content-editor label { grid-column: 1 !important; }
  .service-extras-heading { align-items: flex-start; flex-direction: column; gap: .15rem; }
  .quote-save-actions { margin: 0; }
  .mail-connection-panel { grid-template-columns: auto minmax(0, 1fr); }
  .mail-connection-panel > .status { grid-column: 2; justify-self: start; }
  .mail-thread-main { grid-template-columns: auto minmax(0, 1fr); }
  .mail-thread-tags { grid-column: 2; justify-content: flex-start; }
  .mail-folder-list { grid-template-columns:1fr; }
  .mail-folder-create { grid-template-columns:1fr; }
  .mail-folder-create .button { width:100%; }
  .mail-thread-select { align-items:flex-start; flex-direction:column; padding-right:.15rem; }
  .mail-drag-handle { display:none; }
  .lead-email-panel .panel-header { align-items:flex-start; flex-direction:column; }
  .lead-email-row { grid-template-columns:auto minmax(0, 1fr) auto; }
  .lead-email-row time { grid-column:2; }
  .lead-email-row > svg { grid-column:3; grid-row:1 / 3; }
  .mail-review-actions { padding-right: .55rem; }
  .mail-candidate { align-items: flex-start; flex-direction: column; }
  .mail-section-heading, .mail-client-search-row { align-items: stretch; flex-direction: column; }
  .mail-section-heading > .status { align-self: flex-start; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
  .mail-template-buttons .button { flex: 1 1 auto; }
  .mail-signature-preview { padding: .65rem; }
  .notification-row button { grid-template-columns: auto minmax(0, 1fr) auto; }
  .notification-row time { grid-column: 2; }
  .notification-row button > svg { grid-column: 3; grid-row: 1 / 3; }
  .insurance-connection { grid-template-columns: auto minmax(0, 1fr); }
  .insurance-connection > form, .insurance-connection > .button, .insurance-connection > .status { grid-column: 2; justify-self: start; }
  .form-grid.two-columns, .two-columns { grid-template-columns: 1fr; }
  .insurance-workers-header { flex-direction: column; }
  .insurance-worker-tools { justify-items: start; width: 100%; }
  .insurance-worker-tools > small { text-align: left; }
  .insurance-worker-line { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .insurance-worker-schedule { grid-column: 1 / -1; grid-row: 2; grid-template-columns: 1fr; margin-left: 1.7rem; }
  .insurance-worker-documents { margin-left: 1.7rem; }
  .insurance-copy-schedule { grid-column: 1 / -1; white-space: normal; }
  .insurance-send-actions { align-items: stretch; flex-direction: column; }
  .insurance-send-actions .button { width: 100%; }
  .insurance-history details p { align-items: flex-start; flex-direction: column; }
  .insurance-history details p span { text-align: left; }
  .event-service-item { grid-template-columns:1fr; }
  .event-service-price { padding-left:2.35rem; }
}

@media (max-width: 880px) {
  .analytics-edit-layout { grid-template-columns: 1fr; }
}

/* v0.18.0 payment management */
.payment-summary-row{gap:16px}.payment-summary-row>span{min-width:0}.payment-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.payment-row-actions form{margin:0}.button-small{padding:7px 10px;min-height:auto;font-size:.78rem}@media(max-width:720px){.payment-summary-row{align-items:flex-start}.payment-row-actions{flex-wrap:wrap}.event-actions{flex-wrap:wrap}}

/* Service status is independent of event-category availability. */
.pdf-text-row { align-items:center; cursor:pointer; }
.pdf-text-row:hover, .pdf-text-row:focus-visible { background:var(--surface-soft); }
.pdf-text-row:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.service-row-actions { display:flex; align-items:center; gap:1rem; flex-shrink:0; }
.service-status { display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .65rem; border:1px solid; border-radius:99px; font-size:.72rem; font-weight:700; }
.service-status::before { content:""; width:.4rem; height:.4rem; border-radius:50%; background:currentColor; }
.service-status.is-active { color:#87d7a6; border-color:#365b44; background:#172a20; }
.service-status.is-inactive { color:#b8bdc7; border-color:#494d56; background:#25272d; }
.service-edit-label { display:inline-flex; align-items:center; gap:.35rem; }
.service-edit-label svg { width:1rem; height:1rem; }
.availability-field { border:0; padding:0; margin:0; min-width:0; }
.availability-field > div { display:flex; flex-wrap:wrap; gap:.55rem; }
.availability-field legend { margin-bottom:.5rem; }
@media(max-width:600px) { .service-row-actions { flex-direction:column; align-items:flex-end; gap:.45rem; } .service-edit-label { font-size:.65rem; } }

/* Agreement navigation is part of the desktop workspace. */
/* Agreements are now available on desktop and mobile. */

.mail-message-body{font-synthesis:style;overflow-x:auto}.mail-message-body img{max-width:100%}

@media screen and (max-width:480px){.otp-signature>tbody>tr{display:block!important}.otp-signature-photo,.otp-signature-details{display:block!important;width:auto!important;padding:14px 16px!important}.otp-signature-photo img{width:96px!important;max-width:96px!important}.otp-signature-details{border-left:0!important;border-top:2px solid #ff851b!important}}

/* Searchable insurance category accordions */
.insurance-group > summary {cursor:pointer;padding:18px 20px;display:flex;align-items:center;gap:14px;justify-content:space-between;list-style:none;border-radius:12px;background:var(--panel, #191a1f)}
.insurance-group > summary::before {content:"▸";color:var(--accent,#f28c45)}
.insurance-group[open] > summary::before {content:"▾"}
.insurance-group > summary strong {margin-right:auto}
.insurance-group > summary span {font-size:12px;color:var(--muted,#a1a3ad)}
.insurance-group-tools {padding:12px 20px;text-align:right}
.insurance-group[hidden], .insurance-worker-row[hidden] {display:none!important}
@media(max-width:600px){.insurance-group>summary{flex-wrap:wrap;padding:14px;gap:8px}}

.request-scopes{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}

/* Dashboard cards keep their layout handles separate from navigation. */
.metric-card--linked { padding:0; }
.metric-card::after { pointer-events:none; }
.metric-card-link { display:block; min-height:9.2rem; padding:1.1rem; color:inherit; text-decoration:none; }
.metric-card-link:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; border-radius:var(--radius); }
.metric-grid:not(.is-editing) .metric-card--linked:hover { border-color:var(--accent); }
.metric-grid.is-editing .metric-card-link { cursor:grab; }
@media(max-width:590px) { .metric-card-link { min-height:8.3rem; padding:.85rem; } }

/* Analytics amounts share the metric typography, without dashboard link padding. */
.analytics-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.analytics-metrics .metric-card{min-height:9.2rem}
.analytics-metrics .metric-card>strong{font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.25;overflow-wrap:anywhere}
.analytics-metrics .metric-card>small{line-height:1.55}
@media(max-width:800px){.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.analytics-metrics{grid-template-columns:1fr}}

.analytics-results+.analytics-results{margin-top:1rem}
