/* Media Rent: colores del logo oficial, con variantes oscuras para lectura. */
:root {
  --brand-teal:#008996; --brand-red:#f41938; --brand-coral:#f73449; --brand-graphite:#303e48;
  --navy:var(--brand-graphite); --navy-deep:#243039;
  --green:var(--brand-teal); --green-dark:#006671; --mint:#e2f4f5;
  --ink:#303e48; --muted:#65727b; --line:#e5e9ed; --paper:#f6f7f9; --warm:#bd2441;
  --radius:18px; --shadow:0 4px 20px #303e4806;
  font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif; font-size:16px;
}
body { line-height:1.5; background:var(--paper); }
.topbar { position:sticky; top:0; z-index:25; }
.breadcrumbs { min-width:0; flex:1; }
.breadcrumbs ol { display:flex; align-items:center; gap:9px; list-style:none; margin:0; padding:0; overflow:hidden; }
.breadcrumbs li { display:flex; align-items:center; gap:9px; min-width:0; max-width:340px; font-size:13px; }
.breadcrumbs li:first-child { flex-shrink:0; }
.breadcrumbs li+li:before { content:'/'; flex-shrink:0; color:var(--muted); opacity:.6; }
.breadcrumbs a,.breadcrumbs [aria-current] { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.breadcrumbs a { color:var(--green-dark); padding:6px 1px; }
.breadcrumbs a:hover { text-decoration:underline; }
.breadcrumbs [aria-current] { color:var(--ink); font-weight:600; }
.modal-breadcrumbs { margin:0 0 17px; padding-bottom:11px; border-bottom:1px solid var(--line); }
.detail-quote { scroll-margin-top:100px; }
.detail-quote.route-focused { border-color:var(--green); box-shadow:0 0 0 2px var(--mint); }
@media(max-width:760px) {
  .breadcrumbs li:not(:first-child):not(:last-child) { display:none; }
  .breadcrumbs li { font-size:12px; }
  .breadcrumbs li:first-child { max-width:130px; }
}
.record-timestamps { display:block; color:var(--muted); line-height:1.8; margin:10px 0 3px; font-size:12px; }
.audit-entry { padding:22px 0; border-top:1px solid var(--line); }
.audit-entry>header { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; }
.audit-entry>header strong { font-size:15px; }
.audit-entry>header p { margin-top:6px; color:var(--muted); font-size:14px; }
.audit-entry time,.audit-author { color:var(--muted); font-size:13px; }
.audit-author { display:flex; align-items:center; gap:7px; margin:13px 0; }
.audit-fields>div { display:grid; grid-template-columns:minmax(110px,180px) minmax(0,1fr); gap:18px; padding:10px 0; border-top:1px solid var(--line); font-size:14px; }
.audit-fields>div>span { display:flex; align-items:flex-start; flex-wrap:wrap; gap:9px; overflow-wrap:anywhere; min-width:0; }
.audit-fields del { color:var(--muted); text-decoration:none; }
.audit-fields svg { width:15px; height:18px; color:var(--muted); }
.audit-entry details { margin-top:15px; }
.audit-entry summary { color:var(--green-dark); font-size:13px; padding:5px 0; }
.audit-entry pre { background:var(--paper); padding:18px; border-radius:11px; font-size:12px; white-space:pre-wrap; overflow-wrap:anywhere; max-height:320px; overflow:auto; }
.audit-legacy { margin:25px 0; }
.audit-legacy article { margin:16px 0; padding:15px 0; border-top:1px solid var(--line); font-size:13px; }
.audit-legacy article p { white-space:pre-wrap; overflow-wrap:anywhere; }
.quote-flow h3 { margin:18px 0 12px; }
.quote-flow ol { padding-left:23px; }
.quote-flow li { padding:9px 0; line-height:1.8; }
.commercial-progress { margin-bottom:22px; }
.commercial-progress .panel-heading { margin-bottom:17px; }
.commercial-progress ol { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; list-style:none; margin:0; padding:0; }
.commercial-progress li { display:flex; align-items:center; gap:8px; padding:11px 9px; border:1px solid var(--line); border-radius:10px; background:var(--paper); font-size:13px; min-width:0; }
.commercial-progress li>span { display:inline-flex; align-items:center; justify-content:center; flex:0 0 23px; width:23px; height:23px; border-radius:50%; border:1px solid var(--line); font-size:12px; }
.commercial-progress li.complete { color:var(--green-dark); background:var(--mint); }
.commercial-progress li.current { color:var(--green-dark); border-color:var(--green); font-weight:650; }
.commercial-progress li.current>span { background:var(--green-dark); color:var(--paper); border-color:transparent; }
.commercial-progress-action { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:20px; }
.commercial-progress-action p { margin:0; }
.record-editor { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.9fr); gap:25px; align-items:start; }
.record-editor>form { min-width:0; }
.record-history-panel { border:1px solid var(--line); border-radius:14px; padding:19px; max-height:66vh; overflow:auto; min-width:0; scrollbar-gutter:stable; }
.record-history-panel>h3 { display:flex; align-items:center; gap:8px; margin-bottom:13px; }
.record-history-panel .audit-entry { padding:17px 0; }
.record-history-panel .audit-entry>header { gap:6px; }
.record-history-panel .audit-entry>header p { font-size:13px; }
.record-history-panel .audit-fields>div { grid-template-columns:1fr; gap:5px; font-size:13px; }
.record-history-panel .audit-author { font-size:12px; }
.record-history-panel pre { font-size:12px; padding:12px; }
@media(max-width:760px) {
  .commercial-progress ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .commercial-progress-action { flex-direction:column; align-items:stretch; }
  .record-editor { grid-template-columns:minmax(0,1fr); gap:22px; }
  .record-history-panel { max-height:none; overflow:visible; }
}
@media(max-width:760px) { .audit-fields>div { grid-template-columns:1fr; gap:7px; } }
h1 { font-size:36px; font-weight:720; line-height:1.18; letter-spacing:-1.2px; }
h2 { font-size:19px; font-weight:650; letter-spacing:-.4px; }
h3 { font-size:16px; font-weight:650; }
small { font-size:13px; }
a,button,select,summary,[role=button] { cursor:pointer; }
a:hover { color:var(--green-dark); }
button:disabled,select:disabled,input:disabled { cursor:not-allowed; }
button:disabled:hover { transform:none; box-shadow:none; }
input,textarea { cursor:text; }
input[readonly] { background:#f2f6f7; color:#586d76; cursor:default; }
input,select,textarea { border:1px solid #dce3e7; border-radius:11px; min-height:46px; padding:11px 14px; }
label { color:var(--ink); font-size:14px; font-weight:600; gap:8px; }
input,select,textarea,label input,label select,label textarea { font-size:16px; }
input::placeholder,textarea::placeholder { color:#85919a; }
input:focus,select:focus,textarea:focus { border-color:var(--brand-teal); box-shadow:0 0 0 4px #00899613; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid var(--brand-teal); outline-offset:4px; }
.btn,.btn.small { min-height:44px; padding:11px 17px; border-radius:11px; font-size:14px; font-weight:650; gap:9px; }
.btn { transition:background .16s,border-color .16s,box-shadow .16s,transform .16s; }
.btn.primary { background:#df1235; border-color:#df1235; color:white; box-shadow:0 4px 12px #f419381c; }
.btn.primary:not(:disabled):hover { background:#c70d2e; border-color:#c70d2e; box-shadow:0 6px 16px #f4193826; }
.btn.secondary { background:white; border-color:#dce3e7; color:var(--ink); }
.btn.secondary:not(:disabled):hover { background:#f0f9fa; border-color:#a4d5d9; color:var(--green-dark); }
.btn.small svg { width:17px; height:17px; }
.text-button { font-size:14px; color:var(--green-dark); padding:8px 5px; border-radius:7px; }
.text-button:not(:disabled):hover { background:#eaf7f8; text-decoration:underline; }
.icon-button,.icon-button.small { width:40px; height:40px; color:#697881; border-radius:10px; }
.icon-button:not(:disabled):hover,.icon-button.selected { background:#e6f5f6; color:var(--green-dark); }
.badge { font-size:12px; font-weight:600; border-radius:7px; padding:6px 10px; }
.badge.new,.badge.draft { color:#5e6c77; background:#edf0f3; }
.badge.conversation { color:#006a78; background:#e3f4f6; }
.badge.quoted,.badge.test_captured { color:#80561b; background:#fff3dc; }
.badge.pending { color:#8d3756; background:#fbeaf1; }
.badge.accepted,.badge.won { color:#006b64; background:#def4ee; }
.badge.lost { color:#bb2542; background:#ffeaee; }
.sidebar {
  width:260px; flex-basis:260px; background:white; border-right:1px solid var(--line);
  color:var(--ink); padding:32px 18px 22px; overflow-y:auto;
}
.sidebar .brand { background:transparent; padding:0 15px; border-radius:0; }
.sidebar .official-logo { max-width:180px; width:100%; }
.brand-caption { display:block; padding:0 15px; margin-top:11px; font-size:12px; color:#72818a; }
.nav-caption { font-size:10px; letter-spacing:1.5px; color:#8b969e; margin:35px 15px 14px; }
.sidebar nav { gap:7px; }
.sidebar .nav-item { color:#62717c; font-size:14px; font-weight:550; padding:13px 14px; gap:12px; border-radius:12px; }
.sidebar .nav-item svg { width:20px; height:20px; }
.sidebar .nav-item:hover { color:var(--green-dark); background:#f2f9fa; }
.sidebar .nav-item.active { color:#006570; background:#e7f6f7; font-weight:650; }
.sidebar .nav-item.active:before { width:3px; left:-18px; top:14px; bottom:14px; background:var(--brand-teal); }
.nav-count { background:var(--brand-red); color:white; font-size:11px; border-radius:6px; padding:2px 7px; }
.sidebar-bottom { padding-top:32px; }
.environment-card { border:1px solid #e4eaed; background:#f8fafb; color:#50616d; margin:20px 4px; border-radius:12px; font-size:12px; padding:13px; }
.environment-card p { font-size:12px; color:#74818a; line-height:1.6; margin:7px 0 0 13px; }
.live-dot,.local-label i { background:var(--brand-teal); width:6px; height:6px; }
.profile { padding:20px 3px 0; border-color:var(--line); }
.profile strong { font-size:14px; color:var(--ink); font-weight:650; }
.profile small { font-size:12px; color:var(--muted); }
.profile .avatar { background:#e1f3f5; color:#006773; width:37px; height:37px; }
.profile .icon-button { color:#76858d; width:34px; }
.workspace { margin-left:260px; width:calc(100% - 260px); }
.topbar { height:76px; background:#fff; padding:0 36px; border-color:var(--line); }
.breadcrumb { font-size:13px; color:#7a8791; gap:12px; }
.breadcrumb strong { color:var(--ink); font-weight:600; }
.breadcrumb>span { color:#c6cdd3; }
.today-label { font-size:13px; color:var(--muted); }
.test-chip { font-size:11px; border:0; background:#edf8f9; color:#267681; border-radius:8px; padding:7px 10px; }
#content { padding:32px 36px; width:100%; max-width:1840px; margin:0 auto; }
.page-heading { gap:24px; margin-bottom:26px; min-width:0; }
.page-heading>div:first-child { min-width:0; }
.page-heading h1 { color:var(--ink); }
.page-heading p,.detail-heading p { font-size:15px; color:var(--muted); margin-top:11px; }
.eyebrow { color:#6b7f88; font-size:11px; letter-spacing:1.5px; font-weight:650; }
.page-heading[data-page=crm] {
  position:relative; isolation:isolate; overflow:hidden; padding:30px 34px; border-radius:22px;
  background:linear-gradient(115deg,#006d79 0%,#008996 82%); min-height:174px;
  box-shadow:0 8px 24px #00899615;
}
.page-heading[data-page=crm]:after {
  content:""; position:absolute; z-index:-1; pointer-events:none; right:92px; top:-124px;
  width:270px; height:270px; border:44px solid #ffffff08; border-radius:50%;
}
.page-heading[data-page=crm]:before {
  content:""; position:absolute; pointer-events:none; right:32px; bottom:-14px; width:50px; height:50px;
  background:var(--brand-coral); border-radius:50%; opacity:.9; z-index:-1;
}
.page-heading[data-page=crm] .eyebrow { color:#b2e9ed; }
.page-heading[data-page=crm] h1 { color:white; font-size:38px; }
.page-heading[data-page=crm] p { color:#e0f5f6; font-size:15px; max-width:510px; }
.page-heading[data-page=crm]>.btn { flex-shrink:0; box-shadow:0 4px 15px #00353b20; }
.metrics { gap:16px; margin-bottom:28px; }
.metric { padding:22px; min-height:170px; border:1px solid var(--line); border-radius:17px; box-shadow:var(--shadow); position:relative; }
.metric-top { color:#6c7b85; font-size:13px; gap:10px; margin-bottom:14px; }
.metric-top svg { color:var(--brand-teal); background:#e9f6f7; width:34px; height:34px; padding:8px; border-radius:10px; }
.metric>strong { color:var(--ink); font-size:31px; font-weight:700; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.metric>strong span { color:#77858e; font-size:12px; font-weight:450; letter-spacing:0; margin-left:7px; }
.metric>small { color:#78868e; font-size:12px; margin-top:14px; }
.metric:first-child { background:#303e48; border-color:#303e48; }
.metric:first-child .metric-top { color:#d0dce2; }
.metric:first-child .metric-top svg { color:#a3e4e9; background:#ffffff13; }
.metric:first-child>strong { color:white; }
.metric:first-child>small { color:#c5d0d7; }
.metric:nth-child(3) .metric-top svg { background:#fff0f3; color:#df1235; }
a.metric:hover { color:inherit; border-color:#87cbd1; box-shadow:0 7px 22px #00899610; transform:translateY(-2px); }
a.metric { transition:transform .16s,box-shadow .16s,border-color .16s; }
.pipeline-panel { border:1px solid var(--line); border-radius:20px; background:white; padding:23px; box-shadow:var(--shadow); }
.section-toolbar { margin-bottom:19px; gap:16px; }
.segmented { border:0; background:#f1f4f6; border-radius:11px; padding:4px; gap:3px; }
.segmented button { font-size:13px; padding:10px 15px; color:#6c7a84; border-radius:8px; min-height:38px; }
.segmented button.active { background:white; color:#006570; box-shadow:0 2px 6px #303e4810; }
.toolbar-end { border:1px solid var(--line); border-radius:11px; padding:3px; gap:3px; }
.view-label { font-size:12px; padding-left:9px; color:#7e8b94; }
.toolbar-end .icon-button { width:34px; height:34px; border-radius:8px; }
.filters { gap:10px; padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid #edf0f3; flex-wrap:wrap; }
.search-box { max-width:none; min-width:180px; border:1px solid #e3e8ec; border-radius:10px; background:#f9fafb; }
.search-box input { font-size:14px; background:transparent; min-height:43px; }
.search-box svg { color:#7f929b; width:18px; height:18px; }
.search-box:focus-within { border-color:var(--brand-teal); box-shadow:0 0 0 3px #0089960e; }
.filters select { font-size:13px; min-height:45px; border-color:#e3e8ec; color:#5e707b; background:white; padding:10px 27px 10px 11px; }
.kanban { gap:16px; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; }
.kanban-column { background:#f7f9fa; border:1px solid #edf0f3; border-radius:14px; padding:16px 12px 12px; }
.column-header { gap:7px; min-height:34px; }
.column-header h2 { color:#475965; font-size:13px; font-weight:650; letter-spacing:-.1px; }
.column-header .icon-button.small { width:28px; height:28px; }
.stage-dot { width:7px; height:7px; background:#9aa7b0; }
.stage-dot.conversation { background:var(--brand-teal); }
.stage-dot.quoted { background:#e5a549; }
.stage-dot.pending { background:var(--brand-coral); }
.column-count { color:#72828d; background:#e9eef1; font-size:11px; border-radius:5px; padding:2px 6px; }
.kanban-column[data-stage=conversation] .column-count { color:#006b78; background:#dff1f4; }
.kanban-column[data-stage=quoted] .column-count { color:#825a22; background:#fff0d5; }
.kanban-column[data-stage=pending] .column-count { color:#b62947; background:#ffe8ee; }
.column-total { color:#7b8c95; font-size:12px; margin:10px 3px 19px; font-variant-numeric:tabular-nums; }
.cards { gap:13px; }
.opportunity-card { background:#fff; border:1px solid #e4e9ed; border-radius:12px; padding:16px 14px 0; box-shadow:0 3px 8px #303e4804; }
.opportunity-card:hover { color:inherit; border-color:#74c3ca; box-shadow:0 8px 18px #00899612; transform:translateY(-3px); }
.opportunity-card h3 { font-size:15px; color:var(--ink); font-weight:650; line-height:1.5; letter-spacing:-.15px; overflow-wrap:anywhere; }
.card-top { margin-bottom:13px; }
.source-tag { color:#397885; background:#ebf6f8; font-size:10px; font-weight:550; padding:4px 7px; border-radius:5px; }
.card-number { color:#94a1aa; font-size:10px; }
.opportunity-card .company { font-size:13px; color:#74838d; margin:7px 0 16px; }
.card-value { font-size:21px; font-weight:700; color:#303e48; letter-spacing:-.6px; font-variant-numeric:tabular-nums; }
.amount-empty { font-size:13px; color:#7d8c95; }
.card-date { color:#7a8993; font-size:12px; gap:7px; }
.card-date svg { width:14px; height:14px; }
.task-hint { font-size:12px; color:#176876; background:#eaf7f8; padding:10px 9px; gap:6px; border-radius:8px; }
.task-hint small { color:#5e858f; font-size:11px; padding-left:18px; }
.task-hint>svg { width:13px; height:13px; }
.task-hint.muted { color:#81909a; background:#f5f7f9; }
.task-hint.overdue { background:#fff0f3; color:#ba2440; }
.task-hint.overdue small { color:#b05566; }
.card-footer { color:#7b8b94; border-color:#eef1f4; padding:12px 0; }
.card-footer>span { font-size:11px; gap:7px; }
.card-footer>svg { color:#8aabb3; width:16px; height:16px; }
.avatar { background:#e0f1f4; color:#006b78; font-size:12px; }
.avatar.tiny { width:25px; height:25px; font-size:10px; }
.tone-0 { background:#fee9ee; color:#c02b48; } .tone-1 { background:#e6f4f6; color:#007581; } .tone-2 { background:#e8edf1; color:#586b7a; }
.column-empty { font-size:12px; color:#8d9ba4; border-color:#dce5ea; border-radius:10px; }
.board-bottom { font-size:12px; color:#83909a; padding-top:20px; }
.quiet-note { color:#75858e; font-size:12px; line-height:1.7; }
.app-footer { color:#8d9aa3; font-size:11px; padding:14px 36px 24px; }
.panel { border:1px solid var(--line); border-radius:17px; padding:24px; box-shadow:var(--shadow); }
.panel-heading { margin-bottom:20px; }
.panel-heading p,.field-help,.inline-empty { font-size:13px; color:var(--muted); }
.section-title .muted { font-size:13px; }
.count-pill { font-size:11px; border-radius:6px; color:#5d7d86; background:#eaf4f5; padding:3px 7px; }
.count-pill.overdue { color:#bc2442; background:#ffebef; }
.opportunity-list { border-color:var(--line); border-radius:13px; }
.opportunity-row { padding:20px; gap:18px; }
.opportunity-row:hover { background:#f2fafb; }
.opportunity-row strong { font-size:15px; } .opportunity-row small,.row-date { font-size:13px; }
.task-section { overflow:hidden; }
.task-row { flex-wrap:wrap; padding:19px 0; gap:12px; border-color:#edf0f3; }
.task-row>a { flex:1 1 180px; }
.task-row>a strong { font-size:15px; font-weight:600; }
.task-row>a:hover strong,.compact-opportunity:hover strong,.client-opportunities a:hover { text-decoration:underline; }
.task-row small { font-size:12px; color:#7b8a94; margin-top:6px; }
.task-row>span { font-size:13px; white-space:normal; }
.task-row .task-edit { margin-left:40px; }
.complete-circle { width:28px; height:28px; flex:0 0 28px; color:var(--brand-teal); border-color:#a4cdd2; }
.complete-circle:not(:disabled):hover { color:white; background:var(--brand-teal); border-color:var(--brand-teal); }
.task-row.completed { opacity:.65; } .task-row.completed strong { text-decoration:line-through; }
.focus-card { color:white; background:linear-gradient(130deg,#006c78,#008996); border-radius:18px; padding:28px; }
.focus-card h2 { color:white; font-size:25px; line-height:1.35; }
.focus-card p { color:#e1f4f6; font-size:14px; }
.focus-card .eyebrow { color:#b2e5e9; } .focus-card>svg { color:#a2e2e8; }
.compact-opportunity strong { font-size:15px; } .compact-opportunity small { font-size:13px; }
.back-link { font-size:13px; color:#6c7e88; }
.detail-heading h1 { color:var(--ink); font-size:30px; }
.detail-heading p>span { color:#bdc8ce; }
.status-strip { border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); }
.status-strip small,.data-grid dt { color:#7c8a94; font-size:12px; }
.status-value,.data-grid dd { font-size:15px; color:#40545f; }
.status-amount strong { font-size:27px; font-weight:700; color:var(--green-dark); }
.detail-tabs { background:#eaf0f3; padding:5px; border:0; border-radius:12px; gap:5px; }
.detail-tabs button { color:#637782; font-size:13px; min-height:43px; padding:10px 14px; border-radius:9px; }
.detail-tabs button.active { background:white; color:#006773; box-shadow:0 2px 6px #303e480c; }
.detail-tabs button.active:after { display:none; }
.detail-tabs button>span { background:#edf7f8; color:#007681; font-size:11px; border-radius:5px; }
.description-block h3 { font-size:15px; color:#4f6874; } .description-block p { color:#637580; font-size:15px; }
.attribution { background:#f6f8fa; border-color:var(--line); }
.attribution,.attribution small { color:#7c8d95; font-size:12px; }
.reservation-note { background:#f3f8fa; border-color:#dfe9ed; }
.reservation-note h2 { color:#557784; font-size:16px; }
.reservation-note p,.reservation-note small { color:#6c818d; font-size:13px; }
.reservation-summary p { margin-top:15px; font-size:14px; color:#617580; }
.rental-status-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.rental-status-row strong { font-size:15px; }
.rental-finance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:22px 0; }
.rental-finance-grid>div { border:1px solid #dfecef; background:#f6fafb; border-radius:12px; padding:16px; min-width:0; }
.rental-finance-grid small,.rental-finance-grid span { display:block; color:#617580; font-size:12px; overflow-wrap:anywhere; }
.rental-finance-grid strong { display:block; font-size:21px; color:#006671; margin:9px 0; overflow-wrap:anywhere; }
.evidence-row,.resource-row,.availability-row { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:19px 0; border-top:1px solid var(--line); }
.evidence-row>div:first-child,.resource-row>div:first-child,.availability-row>div:first-child { flex:1; min-width:0; }
.evidence-row strong,.resource-row strong,.availability-row strong { display:block; font-size:15px; }
.evidence-row small,.resource-row small,.availability-row small { display:block; margin-top:7px; font-size:13px; color:#617580; }
.evidence-row p,.rental-window-note { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; color:#617580; margin:13px 0; }
.evidence-actions { display:flex; flex-direction:column; gap:5px; align-items:flex-end; }
.reservation-resources { margin-top:24px; }
.resource-row>div:last-child { display:flex; gap:8px; flex-wrap:wrap; }
.availability-result { margin:25px 0; padding:20px; background:#f5fafb; border:1px solid #dcecef; border-radius:13px; }
.availability-result h3 { margin-bottom:18px; }
.availability-row.shortage { border-color:#f4c5cf; }
.availability-row a { display:block; font-size:13px; text-decoration:underline; color:#006671; margin-top:9px; }
.component-list { margin:20px 0; max-height:50vh; overflow-y:auto; padding-right:8px; }
.component-list label { display:grid; grid-template-columns:1fr 100px; align-items:center; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }
.component-list label+label { margin-top:0; }
.agenda-jobs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.job-card { margin:0; }
.job-card .panel-heading { align-items:flex-start; }
.job-card h2 { overflow-wrap:anywhere; }
.job-card .job-company { color:#617580; font-size:14px; margin-bottom:12px; }
.job-schedule { font-size:14px; color:#006b77; margin:14px 0; line-height:1.75; }
.job-card>p { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; }
.job-card .quote-actions { margin-top:22px; }
.job-detail h3 { margin:23px 0 14px; }
.job-detail p { white-space:pre-wrap; overflow-wrap:anywhere; font-size:15px; }
.crew-fieldset { border:1px solid var(--line); border-radius:12px; margin:6px 0; padding:16px; display:flex; flex-wrap:wrap; gap:12px 20px; }
.crew-fieldset legend { font-size:14px; color:#48616d; padding:0 7px; }
.crew-fieldset label { display:flex; flex-direction:row; align-items:center; font-weight:400; margin:0!important; }
.crew-fieldset input { width:20px; min-height:20px; height:20px; accent-color:var(--brand-teal); cursor:pointer; }
.history-subtitle { color:#7c8e98; font-size:13px; }
.history-composer { background:#f8fafb; border-color:#e4eaee; border-radius:12px; }
.composer-label { font-size:11px; color:#70838c; }
.history-composer small,.history-filters button { color:#778a94; font-size:12px; }
.history-filters button.active { color:#006a76; background:#e8f6f8; }
.compose-mail-button { font-size:13px; color:#007582; border-color:#e4ecef; }
.timeline-entry { border-color:#edf1f4; gap:12px; }
.timeline-icon { color:#18808c; background:#e9f5f7; border-color:#d6ecef; width:30px; height:30px; }
.timeline-entry.internal_note .timeline-icon { color:#977123; background:#fff6e1; border-color:#f7eac5; }
.timeline-entry.email_test .timeline-icon { color:#537280; background:#edf2f6; border-color:#dfe7ec; }
.timeline-meta { flex-wrap:wrap; gap:5px 12px; }
.timeline-meta strong { font-size:13px; color:#435c68; }
.timeline-meta time { font-size:11px; color:#8b9aa3; }
.entry-type { font-size:11px; color:#8a9ca5; }
.timeline-entry p { font-size:14px; line-height:1.75; color:#647983; }
.quote-intro h2,.detail-quote .panel-heading h2 { font-size:19px; }
.quote-intro p,.quote-list-row small { font-size:14px; color:#7a8c96; }
.quote-code { font-size:12px; color:#007582; font-weight:600; }
.quote-list-row h3 { font-size:17px; color:var(--ink); }
.quote-list-row>div strong { color:var(--ink); font-size:21px; font-variant-numeric:tabular-nums; }
.quote-period { color:#738a95; font-size:13px; }
.quote-period svg { width:16px; height:16px; }
.quote-rental-days { color:#006b77; font-size:14px; font-weight:600; margin-top:10px; }
.quote-lines>div { font-size:15px; border-color:#edf0f3; padding:16px 0; }
.quote-lines small { color:#80939c; font-size:13px; }
.quote-totals { border-color:var(--line); padding:22px 0; }
.quote-totals>span { font-size:13px; color:#728892; }
.quote-totals strong { color:var(--green-dark); font-size:25px; font-weight:700; }
.detail-quote.chosen { border-color:#80c5cb; }
.selected-proposal { color:#00727f; background:#e9f7f8; }
.selected-proposal { font-size:13px; padding:12px 14px; border-radius:9px; }
.attachment { color:#177987; background:#eef9fa; border-color:#d6ecef; border-radius:10px; font-size:14px; }
.quote-note { border:1px solid #d8edf0; border-left:3px solid var(--brand-teal); padding:16px 18px; background:#f2fafb; border-radius:0 10px 10px 0; margin:17px 0; }
.quote-note p { font-size:14px; white-space:pre-wrap; overflow-wrap:anywhere; margin-top:5px; }
.captured-mail>p,.acceptance-evidence p { color:#647983; font-size:14px; }
.notice { font-size:14px; color:#8d6a28; background:#fffaeb; border-color:#f3e8c8; border-radius:11px; }
.notice.subtle { color:#397782; background:#f0f9fa; border-color:#d8edf0; }
.client-grid { gap:20px; }
.client-card { border-radius:18px; padding:25px; }
.client-card h2 { font-size:21px; }
.client-card>p { color:#7d8e97; font-size:13px; }
.client-card-heading .client-icon { width:50px; height:50px; border-radius:14px; font-size:17px; color:#007682; background:#e8f6f8; }
.client-card-heading .icon-button { background:#f5f8f9; }
.contact-line,.company-activity { font-size:13px; color:#7b8e98; overflow-wrap:anywhere; }
.company-contacts-heading { border-color:#e8eef1; padding-top:17px; }
.company-contacts-heading h3,.client-opportunities>h3 { font-size:14px; color:#556f7b; }
.company-contact { border-color:#edf1f4; padding:15px 0; }
.company-contact strong { font-size:15px; font-weight:600; color:#435963; }
.company-contact small,.company-contact span { font-size:13px; color:#7e939d; }
.company-contact .icon-button { width:35px; height:35px; }
.client-opportunities>a { font-size:14px; color:#087987; padding:9px 0; }
.directory-toolbar { gap:16px; flex-wrap:wrap; }
.directory-toolbar>span { font-size:13px; color:#7b8e98; }
.directory-toolbar>select { font-size:14px; border-color:var(--line); }
.product-row { border-color:#edf1f4; padding:24px 0; gap:20px; }
.product-row-main>strong { font-size:16px; font-weight:650; }
.product-row-main>small,.product-row-main>p,.product-stock small,.product-price small { color:#7b909a; font-size:13px; }
.product-price { width:115px; }
.product-price strong { font-size:18px; }
.product-actions { max-width:none; flex-wrap:wrap; gap:8px; }
.inventory-summary { border-color:#d3ebee; background:#eff9fa; border-radius:12px; padding:18px; }
.inventory-summary strong { font-size:16px; } .inventory-summary span { font-size:14px; color:#43818b; }
.inventory-history strong { font-size:14px; } .inventory-history small { font-size:13px; color:#79919c; }
.user-row strong { font-size:15px; } .user-row small { font-size:13px; }
.roadmap-step h2 { font-size:20px; } .roadmap-step p { color:#778d98; font-size:14px; }
.roadmap-step.ready { background:#f5fbfc; border-color:#b6dfe4; }
.roadmap-step .eyebrow { color:#5b8c97; font-size:11px; }
.roadmap-step>svg { color:#80b6c0; }
.empty-state { color:#758995; }
.empty-state>svg { color:#8fbec8; } .empty-state h3 { color:#4d6c79; }
.empty-state p { font-size:14px; }
dialog { border:1px solid #e3eaee; border-radius:21px; box-shadow:0 30px 120px #24303930; padding:30px; max-height:92vh; width:560px; max-width:calc(100vw - 32px); }
dialog.wide { width:980px; max-width:calc(100vw - 32px); }
dialog::backdrop { background:#24303973; backdrop-filter:blur(6px); }
.modal-heading { padding-bottom:20px; border-bottom:1px solid #edf0f3; margin-bottom:23px; }
.modal-heading h2 { color:var(--ink); font-size:23px; font-weight:700; }
.modal-heading .icon-button { background:#f3f6f8; }
.modal-heading~form label { color:#48616d; font-size:14px; }
.modal-heading~form input,.modal-heading~form textarea,.modal-heading~form select { font-size:16px; }
.modal-heading~form>p { font-size:14px; }
.inset-fields { background:#f7fafb; border-color:#e4ecef; border-radius:13px; padding:20px; }
.quote-number-note { background:#f4fafb; border-color:#e0edf0; padding:16px 18px; border-radius:11px; font-size:13px; }
.quote-number-note strong { color:#397d87; } .quote-number-note span { font-size:13px; color:#6f8a95; }
.validity-hint { font-size:13px!important; color:#7b909b; }
.rental-days-summary { padding:15px 18px; background:#eaf7f8; color:#267783; border:1px solid #d7edf0; border-radius:11px; margin-top:20px; font-size:14px; }
.quote-editor-heading h3 { font-size:17px; } .quote-editor-heading>span { font-size:13px; color:#7f929c; }
.editor-line { grid-template-columns:minmax(220px,2fr) 74px 82px 120px 90px 40px; gap:12px; padding:17px; border-color:#e1e9ed; border-radius:13px; }
.editor-line label { font-size:13px!important; }
.editor-line input,.editor-line select { font-size:16px!important; padding:10px 8px; }
.editor-line .remove-line { align-self:end; margin-bottom:3px; }
.delivery-line { background:#f0fafb; border-color:#b9e2e6; }
.delivery-line .product-label { color:#147f8b!important; }
#quote-editor-totals { border-color:#e5ecef; gap:30px; padding:23px 0; }
#quote-editor-totals span { color:#7b8f9a; font-size:13px; }
#quote-editor-totals strong { color:#006b77; font-size:24px; font-weight:700; }
.form-actions { gap:12px; flex-wrap:wrap; padding-top:22px; border-color:#e9eef1; }
.form-error { font-size:14px; color:#b32743; background:#fff0f3; border-radius:10px; }
#toast { font-size:14px; border-radius:12px; background:#303e48; }
.login-layout { background:#f6f8fa; }
.login-brand { background:linear-gradient(140deg,#006d78,#008996); padding:52px 64px; }
.login-brand .brand { width:230px; padding:16px 20px; border-radius:14px; box-shadow:0 5px 20px #00465012; }
.login-brand .official-logo { max-width:190px; }
.login-brand:after { border:42px solid #ffffff0c; width:320px; height:320px; right:-110px; bottom:-110px; box-shadow:0 0 0 55px #ffffff05; }
.login-brand:before { content:""; width:52px; height:52px; border-radius:50%; background:var(--brand-coral); position:absolute; right:70px; bottom:70px; }
.login-brand h1 { font-size:48px; line-height:1.2; font-weight:700; letter-spacing:-1.6px; position:relative; }
.login-brand .eyebrow { color:#bce9ed; font-size:11px; }
.login-brand>div>p { color:#dff5f6; font-size:16px; max-width:380px; }
.login-graphic span { color:#d4f0f2; font-size:13px; }
.login-graphic svg { color:#dbf6f8; background:#ffffff12; border-color:#ffffff30; border-radius:13px; }
.login-footer { color:#c3e9ed; font-size:12px; }
.login-form-area { background:#f6f8fa; }
.login-form-card { width:425px; background:white; padding:32px; border:1px solid #e6edf0; border-radius:22px; box-shadow:0 12px 40px #303e4808; }
.login-form-card h2 { color:#303e48; font-size:28px; line-height:1.25; font-weight:700; }
.login-form-card>p { font-size:14px; color:#7c8c96; margin-bottom:27px; }
.login-form-card label { font-size:14px; color:#4f6773; }
.local-label { font-size:10px; color:#4e8993; letter-spacing:.7px; }
.demo-access { border-color:#e6edf0; margin-top:28px; }
.demo-access>strong { color:#728b96; font-size:12px; }
.demo-buttons>button { font-size:11px; background:#f4f9fa; border-color:#dfebee; color:#5d818f; border-radius:7px; padding:8px; }
.demo-buttons>button:hover { background:#e7f6f8; border-color:#acd7dc; }
.demo-access small,.demo-access code { font-size:12px; color:#80959e; }
.card-number,.column-total,.card-date,.opportunity-card .company,.card-footer,
.board-bottom,.quiet-note,.metric>small,.directory-toolbar>span,
.company-contact small,.company-contact span,.contact-line,.client-card>p,
.product-row-main>small,.product-row-main>p,.product-stock small,.product-price small,
.data-grid dt,.status-strip small,.quote-period,.quote-lines small,.quote-totals>span,
.quote-intro p,.quote-list-row small,.timeline-meta time,.entry-type,
.history-subtitle,.field-help,.task-row small { color:#617580; }
.metric:first-child>small { color:#c5d0d7; }
.btn.primary:disabled:hover { background:#df1235; border-color:#df1235; }
@media(min-width:1700px) {
  #content { padding:40px 46px; } .topbar { padding:0 46px; }
  .opportunity-card { padding:19px 17px 0; } .opportunity-card h3 { font-size:16px; }
}
@media(max-width:1440px) {
  .sidebar { width:238px; flex-basis:238px; padding-left:15px; padding-right:15px; }
  .workspace { margin-left:238px; width:calc(100% - 238px); }
  #content { padding:28px; } .topbar { padding:0 28px; }
  .metric { min-height:154px; } .metric>strong { font-size:30px; }
  .client-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .detail-grid { grid-template-columns:minmax(0,1fr); }
  .history-sidebar { display:block; }
  .day-grid { grid-template-columns:minmax(0,1fr); }
  .page-heading[data-page=crm] { padding:28px; }
}
@media(max-width:1280px) {
  .metrics,.kanban { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:1100px) {
  .page-heading[data-page=crm] { flex-wrap:wrap; gap:22px; }
  .page-heading[data-page=crm] h1 { font-size:34px; }
  .editor-line { grid-template-columns:repeat(4,minmax(0,1fr)); position:relative; gap:12px; }
  .editor-line .product-label { grid-column:1/-1; padding-right:43px; }
  .editor-line .remove-line { position:absolute; right:12px; top:40px; }
  .filters select { flex:1 1 135px; max-width:none; }
  .filters .search-box { flex:1 1 100%; }
  .product-actions { max-width:145px; }
}
@media(max-width:1000px) {
  .sidebar { width:260px; transform:translateX(-100%); transition:transform .2s; box-shadow:none; z-index:50; }
  .sidebar.open { transform:translateX(0); box-shadow:30px 0 100px #303e4833; }
  .workspace { margin-left:0; width:100%; }
  .mobile-menu { display:inline-flex; }
  .topbar { justify-content:flex-start; gap:15px; }
  .topbar-right { margin-left:auto; }
  .login-brand { padding:38px; } .login-brand h1 { font-size:40px; }
  .login-form-area { padding:35px 25px; }
  .login-form-card { padding:28px; }
}
@media(max-width:760px) {
  #content { padding:22px 16px; }
  .topbar { height:65px; padding:0 16px; }
  .breadcrumb { font-size:12px; gap:8px; } .today-label { display:none; }
  h1 { font-size:29px; }
  .page-heading,.detail-heading { flex-wrap:wrap; align-items:flex-start; gap:18px; }
  .page-heading p { font-size:14px; line-height:1.65; }
  .page-heading[data-page=crm] { padding:26px 23px; border-radius:18px; gap:21px; }
  .page-heading[data-page=crm] h1 { font-size:32px; }
  .page-heading[data-page=crm] p { font-size:14px; }
  .page-heading[data-page=crm]:after { right:-100px; top:-140px; }
  .page-heading[data-page=crm]:before { right:21px; bottom:21px; width:28px; height:28px; }
  .metrics { gap:12px; margin-bottom:22px; }
  .metric { min-height:148px; padding:17px; border-radius:14px; }
  .metric-top { font-size:12px; align-items:flex-start; }
  .metric-top svg { width:29px; height:29px; padding:7px; }
  .metric>strong { font-size:27px; } .metric>strong span { display:block; margin:6px 0 0; }
  .metric>small { font-size:11px; }
  .pipeline-panel { padding:16px; border-radius:17px; }
  .section-toolbar { flex-wrap:wrap; gap:13px; }
  .segmented button { font-size:12px; padding:9px 12px; }
  .view-label { display:none; }
  .filters { gap:9px; } .filters select { font-size:13px; flex:1 1 125px; }
  .kanban,.client-grid { grid-template-columns:minmax(0,1fr); }
  .kanban.single-column { grid-template-columns:minmax(0,1fr); }
  .kanban-column { padding:16px 13px; }
  .column-header h2 { font-size:15px; }
  .opportunity-card { padding:19px 16px 0; }
  .opportunity-card h3 { font-size:16px; }
  .source-tag,.card-number { font-size:11px; }
  .board-bottom { flex-wrap:wrap; font-size:11px; gap:8px; }
  .panel { padding:20px; border-radius:15px; }
  .task-row>a { flex-basis:calc(100% - 45px); }
  .task-row .task-date { margin-left:40px; }
  .task-row .task-edit { margin-left:auto; }
  .detail-heading h1 { font-size:27px; }
  .detail-tabs { gap:4px; flex-wrap:wrap; }
  .detail-tabs button { font-size:13px; flex:1 1 auto; }
  .status-strip { border-radius:14px; }
  .data-grid { grid-template-columns:1fr; }
  .rental-finance-grid { grid-template-columns:1fr; }
  .agenda-jobs { grid-template-columns:1fr; }
  .evidence-row,.resource-row,.availability-row { flex-wrap:wrap; }
  .evidence-row>div:first-child,.resource-row>div:first-child,.availability-row>div:first-child { flex-basis:100%; }
  .evidence-actions { flex-direction:row; flex-wrap:wrap; align-items:center; }
  .history-sidebar { display:none; } .mobile-history { display:inline-flex; }
  .quote-list-row { flex-wrap:wrap; gap:15px; }
  .quote-list-row>a:first-child { flex-basis:100%; }
  .quote-list-row>div { flex:1; align-items:flex-start; }
  .quote-list-row>div strong { font-size:20px; }
  .quote-totals { flex-wrap:wrap; gap:12px; }
  .quote-totals>span { font-size:12px; }
  .quote-period>span { margin-left:0; }
  .product-actions { max-width:100%; }
  dialog,dialog.wide { padding:23px 19px; border-radius:18px; max-width:calc(100vw - 20px); }
  .modal-heading h2 { font-size:21px; }
  .editor-line { grid-template-columns:repeat(2,minmax(0,1fr)); padding:15px; }
  .editor-line .product-label { grid-column:1/-1; }
  #quote-editor-totals { flex-wrap:wrap; gap:21px; }
  #quote-editor-totals strong { font-size:22px; }
  .form-actions .btn { flex:1 1 135px; }
  .form-actions { bottom:-23px; margin:22px -19px -23px; padding:18px 19px; border-radius:0 0 18px 18px; }
  .login-layout { display:block; }
  .login-brand { min-height:300px; padding:27px; }
  .login-brand .brand { width:190px; margin-bottom:27px; padding:12px 15px; }
  .login-brand h1 { font-size:34px; } .login-brand>div>p { font-size:15px; max-width:350px; }
  .login-brand:before { width:30px; height:30px; right:30px; bottom:35px; }
  .login-form-area { padding:24px 16px; }
  .login-form-card { max-width:440px; padding:27px; }
  .login-form-card h2 { font-size:26px; }
  .app-footer { padding:12px 18px 22px; font-size:10px; gap:6px; }
}
@media(max-width:420px) {
  .metrics { grid-template-columns:1fr; }
  .metric { min-height:140px; }
  .metric>strong span { display:inline; margin-left:7px; }
  .task-row .task-edit { margin-left:40px; }
  .topbar-right .test-chip { padding:6px 8px; font-size:10px; }
  .breadcrumb { gap:6px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}
