/* Atelier Ledger — Basement Studios executive operations visual system. */
:root {
  color-scheme:light;
  --canvas:#f0eee8;
  --paper:#fffdf8;
  --surface-raised:#ffffff;
  --surface-soft:#f6f3ec;
  --surface-hover:#eeebe3;
  --sidebar:#21302b;
  --ink:#19211f;
  --muted:#68716c;
  --line:#d8d5cc;
  --line-bright:#c8c3b7;
  --primary:#2b665b;
  --primary-dark:#214e46;
  --primary-soft:#e6f0ed;
  --acid:#bd5f39;
  --green:#287a58;
  --amber:#a7681c;
  --red:#b8493e;
  --blue:#315b72;
  --shadow:0 1px 1px rgba(31,42,38,.04),0 14px 36px rgba(31,42,38,.07);
  --shadow-soft:0 7px 22px rgba(31,42,38,.055);
  --radius:12px;
}

html,body,.workspace { background:var(--canvas)!important;color:var(--ink); }
body,button,input,select,textarea {
  font-family:"Helvetica Neue",Helvetica,Arial,"Segoe UI",sans-serif!important;
  font-size:15px;
  letter-spacing:0;
}
h1,h2,h3,h4,.login-art h1,.login-form h2,.topbar h1,.surface h2,.section-heading h2,.dialog-heading h2,.mail-header h2 {
  color:var(--ink);
  font-family:Charter,"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif!important;
  font-weight:600!important;
  letter-spacing:-.025em!important;
}
.metric strong,.pulse-grid strong,.command-metric strong,.inline-summary strong,.analytics-kpis strong,.combined-revenue-card strong,.pnl-kpi strong {
  font-family:"Helvetica Neue",Helvetica,Arial,"Segoe UI",sans-serif!important;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.035em;
}
::selection { background:#d7e8e2;color:#17312b; }
* { scrollbar-color:#aaa89f #ebe8e0; }
*:focus-visible { outline:2px solid var(--acid);outline-offset:2px; }
.kicker { color:var(--acid)!important;font-size:10px!important;font-weight:750!important;letter-spacing:.16em!important; }

/* Sign in */
.login-shell { background:var(--paper)!important; }
.login-art {
  background:linear-gradient(110deg,transparent 0 72%,rgba(255,255,255,.035) 72% 73%,transparent 73%),radial-gradient(circle at 18% 82%,rgba(189,95,57,.24),transparent 30rem),linear-gradient(145deg,#17241f 0%,#243c34 58%,#315249 100%)!important;
}
.login-art:after { background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px)!important;background-size:54px 54px!important; }
.login-art h1 { color:#fffaf0;font-size:clamp(66px,8vw,118px);font-weight:500!important;letter-spacing:-.055em!important; }
.login-art>div:nth-child(2)>p:last-child { color:#d5dbd6;font-size:18px; }
.login-art small { color:#aab6b0; }
.login-form h2 { color:var(--ink);font-size:48px; }
.login-form>div>p:last-child { color:var(--muted); }
.login-form .login-field { margin:13px 0; }
.login-form .login-field>label { display:block;margin:0; }
.login-form .password-input-wrap { position:relative;display:block;margin-top:8px; }
.login-form .password-input-wrap input { margin-top:0;padding-right:78px; }
.password-toggle {
  position:absolute;
  top:50%;
  right:8px;
  min-width:58px;
  min-height:36px;
  transform:translateY(-50%);
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--primary);
  font-size:13px!important;
  font-weight:700;
  line-height:1;
}
.password-toggle:hover { background:var(--primary-soft);color:var(--primary-dark); }
.password-toggle:focus-visible { outline:2px solid var(--acid);outline-offset:1px; }
.brand-mark { border:0;background:#c56843;color:#fffaf1;box-shadow:none;font-family:Charter,Georgia,serif!important; }

/* Navigation and page chrome */
.sidebar {
  width:272px;
  padding:22px 15px 18px;
  overflow:hidden;
  border-right:1px solid #34433d;
  background:linear-gradient(180deg,#22312c 0%,#1d2a26 100%)!important;
  box-shadow:10px 0 34px rgba(31,42,38,.10);
}
.workspace { margin-left:272px;padding-right:clamp(28px,3.2vw,58px);padding-left:clamp(28px,3.2vw,58px); }
.sidebar nav { min-height:0;overflow-y:auto;padding-right:4px;scrollbar-color:#53625c transparent;scrollbar-width:thin; }
.side-brand { padding:0 10px 23px;border-bottom:1px solid rgba(255,255,255,.09); }
.side-brand strong { color:#fffaf1;font-size:12px;letter-spacing:.15em; }
.side-brand small { color:#91a099;font-size:9px; }
.nav-area { margin-top:7px;border-radius:9px; }
.nav-area.open { background:rgba(255,255,255,.045); }
.nav-area-toggle { min-height:50px;color:#d6ddd9;border-radius:8px; }
.nav-area-toggle:hover { background:rgba(255,255,255,.055);color:#fff; }
.nav-area-toggle small { color:#8f9c96;font-size:10px; }
.nav-area-icon { color:#ca7a59!important;font-size:9px!important;font-weight:800!important;letter-spacing:.08em; }
.nav-item { min-height:38px;color:#aeb9b3;border-radius:7px;font-size:13px;font-weight:600; }
.nav-item:hover { background:rgba(255,255,255,.06);color:#fff; }
.nav-item.active { background:#f4f0e7;color:#20322c;box-shadow:inset 3px 0 var(--acid),0 5px 14px rgba(4,12,9,.14); }
.nav-item.active:before { display:none; }
.nav-item b { background:rgba(255,255,255,.09);color:#cad2ce; }
.nav-item.active b { background:#dbe8e3;color:#24594f; }
.side-bottom { border-top-color:rgba(255,255,255,.1); }
.side-bottom strong { color:#fff; }
.side-bottom small { color:#91a099; }
.side-bottom button { color:#c4cec9; }
.user-avatar { background:#c56843;color:#fff;font-family:Charter,Georgia,serif!important; }
.topbar { min-height:96px;border-bottom:1px solid #d8d4ca;background:rgba(240,238,232,.91)!important;box-shadow:none;backdrop-filter:blur(18px); }
.topbar h1 { color:var(--ink);font-size:33px; }
.search-command,.health-pill,.button { border-color:var(--line-bright);background:#fffdf8;color:#35423e;box-shadow:0 1px 2px rgba(31,42,38,.04); }
.search-command:hover,.button:hover { border-color:#9a998f;background:#fff;color:#19211f; }
.search-command kbd { border-color:#d8d3c8;background:#f4f1e9;color:#68716c; }
.button.primary { border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 7px 18px rgba(43,102,91,.18); }
.button.primary:hover { border-color:var(--primary-dark);background:var(--primary-dark); }
.text-button { color:var(--primary); }
.text-button:hover { color:var(--acid); }
.health-pill:before { box-shadow:0 0 0 4px rgba(167,104,28,.10); }
.health-pill.ok:before { background:var(--green);box-shadow:0 0 0 4px rgba(40,122,88,.10); }

/* Executive headers and cards */
.dashboard-hero {
  position:relative;
  overflow:hidden;
  min-height:152px;
  border:1px solid var(--line)!important;
  border-left:5px solid var(--primary)!important;
  border-radius:14px;
  background:linear-gradient(105deg,rgba(255,253,248,.98),rgba(247,244,235,.98))!important;
  color:var(--ink);
  box-shadow:var(--shadow-soft);
}
.dashboard-hero:before { content:"";position:absolute;right:-36px;top:-78px;width:230px;height:230px;border:1px solid rgba(189,95,57,.16);border-radius:50%;background:transparent;pointer-events:none; }
.dashboard-hero:after { content:"";position:absolute;right:68px;bottom:-106px;width:190px;height:190px;border:34px solid rgba(43,102,91,.07);border-radius:50%;pointer-events:none; }
.dashboard-hero h2 { color:#19211f;font-size:clamp(34px,3.2vw,47px);font-weight:550!important; }
.dashboard-hero p:last-child { color:#68716c;font-size:14px; }
.dashboard-hero time { border:1px solid #d6d1c6;background:rgba(255,255,255,.74);color:#4e5a55;box-shadow:none;backdrop-filter:blur(8px); }
.pnl-hero { border-left-color:var(--acid)!important; }
.surface,.command-metric,.attention-card,.cashup-stat,.philsheet-stat,.calls-toolbar,.calls-surface,.suite-shortcut,.call-workspace-summary article {
  border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-soft);
}
.surface { position:relative;border-radius:12px; }
.surface h2,.section-heading h2,.mail-header h2,.dialog-heading h2 { color:var(--ink);font-size:27px; }
.surface p,.surface small,.section-heading p:last-child,.dashboard-list-row small,.privacy-note,.hint,.empty-state p { color:var(--muted); }
.command-card { overflow:hidden; }
.command-card:after { display:none; }
.command-metric { min-height:126px;border-top:3px solid #d6d1c6; }
.command-metric:nth-child(3n+1) { border-top-color:var(--primary); }
.command-metric:nth-child(3n+2) { border-top-color:var(--acid); }
.command-metric:nth-child(3n+3) { border-top-color:#b79a54; }
.command-metric span { color:#6b746f;font-size:11px; }
.command-metric strong,.inline-summary strong,.call-stat-pair strong,.call-summary dd { color:#18231f;font-weight:650; }
.command-metric small { color:#7e857f; }

/* Revenue headline */
.combined-revenue-card {
  position:relative;display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(220px,.72fr) minmax(340px,1fr);gap:20px;align-items:stretch;margin:20px 0;padding:27px;border:1px solid #32443d;border-radius:14px;
  background:linear-gradient(120deg,rgba(255,255,255,.025) 0 1px,transparent 1px 54px),linear-gradient(145deg,#20322c,#2b443b 58%,#315148);background-size:54px 54px,auto;box-shadow:0 18px 45px rgba(31,49,43,.16);overflow:hidden;
}
.combined-revenue-card:after { content:"";position:absolute;right:-100px;top:-155px;width:330px;height:330px;border:52px solid rgba(197,104,67,.12);border-radius:50%;pointer-events:none; }
.combined-revenue-copy,.combined-revenue-total,.combined-revenue-breakdown { position:relative;z-index:1; }
.combined-revenue-copy h2 { margin:5px 0 8px;color:#fffaf1;font-size:29px; }
.combined-revenue-copy>p:last-child { max-width:540px;margin:0;color:#bec9c3;font-size:13px;line-height:1.6; }
.combined-revenue-total { display:flex;flex-direction:column;justify-content:center;padding:15px 23px;border-left:1px solid rgba(255,255,255,.13); }
.combined-revenue-total span,.combined-revenue-breakdown span { color:#aebdb6;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase; }
.combined-revenue-total strong { margin:6px 0 3px;color:#fffaf1;font-size:38px;font-weight:600;white-space:nowrap; }
.combined-revenue-total small,.combined-revenue-breakdown small { color:#98aaa2;font-size:10px; }
.combined-revenue-breakdown { display:grid;grid-template-columns:1fr 1fr;gap:11px; }
.combined-revenue-breakdown>div { display:flex;min-width:0;flex-direction:column;justify-content:center;padding:17px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,253,248,.055); }
.combined-revenue-breakdown>div:first-child { box-shadow:inset 0 3px #c56843; }
.combined-revenue-breakdown>div:last-child { box-shadow:inset 0 3px #81aa99; }
.combined-revenue-breakdown strong { margin:8px 0 4px;color:#fffaf1;font-size:20px;font-weight:650;white-space:nowrap; }

/* Operational states */
.attention-card { color:#33413c; }
.attention-card:hover { border-color:#aaa69b;background:#fff;transform:translateY(-2px); }
.attention-card strong { background:#eeece5;color:#39443f; }
.attention-card.danger strong { background:#f7e7e3;color:#9b3d35; }
.attention-card.amber strong { background:#f7eedc;color:#8b5918; }
.attention-card.blue strong { background:#e5edf0;color:#315b72; }
.attention-card.success strong { background:#e4efe9;color:#216647; }
.inline-summary { border-color:var(--line);background:#faf8f2; }
.inline-summary>div { border-color:#e0dcd2; }
.inline-summary span { color:#6f7772; }
.daily-brief-card { border-top:3px solid #b79a54!important;background:var(--paper)!important; }
.brief-line { border-color:#e0dcd2;background:#faf8f2; }
.brief-line>span { background:#e6f0ed;color:#2b665b; }
.brief-line p { color:#3c4843; }
.brief-line.danger { border-color:#e6c5be;background:#fbf0ed; }
.brief-line.danger>span { background:#f3dcd7;color:#a33f35; }
.brief-line.warning { border-color:#e5d3ae;background:#fbf6e9; }
.brief-line.warning>span { background:#f3e6c9;color:#8b5918; }
.brief-counters>div { border-color:#dedad0;background:#f7f4ed; }
.brief-counters strong { color:#1b2924; }
.brief-counters span { color:#747d77; }
.dashboard-list-row { border-color:#e2ded5!important;color:#2f3c37; }
.dashboard-list-row:hover:not(.static) { background:#f7f4ed!important; }
.dashboard-list-row small,.dashboard-list-row>b { color:#747e78; }
.list-icon,.mini-avatar,.on-call-avatar { background:#e6f0ed!important;color:#2b665b!important; }
.list-icon.danger { background:#f6e6e2!important;color:#ad4439!important; }
.list-icon.amber { background:#f6ecd8!important;color:#94601d!important; }
.list-icon.success { background:#e3efe8!important;color:#287a58!important; }
.dashboard-empty { border-color:#ddd9cf;background:#f9f7f1; }
.dashboard-empty.success { border-color:#bfd8cc;background:#f0f7f3; }
.dashboard-empty.warning { border-color:#e3d0a8;background:#fbf6e9; }
.on-call-person { border-color:#bdd6ca;border-left:4px solid var(--primary);background:#eff6f3; }
.workload-meter { background:#e5e2da; }
.workload-meter i { background:linear-gradient(90deg,#2b665b,#6f9b8d); }
.check-row,.safety-row { border-color:var(--line); }
.system-warning-summary { border-color:#e1c99b;background:#faf4e6;color:#855519; }
.system-warning-summary small { color:#8e6e42; }

/* Inbox, messages and tables */
.inbox-toolbar,.inbox-layout,.inquiry-detail,.calls-surface { border-color:var(--line);background:var(--paper); }
.inbox-toolbar .search,.inbox-toolbar select,.search.compact { border-color:var(--line-bright);background:#fff;color:#26332f; }
.inbox-toolbar input,.inbox-toolbar select { color:#26332f!important; }
.inquiry-list { border-right-color:var(--line);background:#f7f4ed; }
.inquiry-card { border-bottom-color:#e1ddd3;color:#33413c; }
.inquiry-card:hover { background:#f0ece3; }
.inquiry-card.active { background:#e8f0ed;box-shadow:inset 4px 0 var(--primary); }
.inquiry-card.active:after { background:#e8f0ed; }
.sender-avatar { background:#e7e3da;color:#4d5853; }
.mail-detail-toolbar { border-color:var(--line);background:rgba(255,253,248,.94); }
.mail-message>.message-body,.original-message,.workflow-panel,.email-composer,.attachment { border-color:var(--line);background:#fff;color:#2d3935; }
.message-body,.original-message .message-body { color:#2d3935!important; }
.ai-summary { border-color:#bfd7ce;background:#eff6f3; }
.composer-heading,.composer-footer,.translated-step { border-color:var(--line);background:#f6f3ec; }
.email-composer textarea,.composer-step textarea,.notes-box textarea { background:#fff!important;color:#26332f!important; }
table th { background:#f1eee7;color:#646d68; }
th,td { border-bottom-color:#dedad0; }
td { color:#34413c; }
tbody tr:hover td { background:#faf7f0; }
.badge { background:#ece9e1;color:#505b56; }
.badge.new { background:#e4edf0;color:#315b72; }
.badge.in_progress { background:#f6ecd7;color:#8e5c1c; }
.badge.completed { background:#e3efe8;color:#246b4b; }
.badge.urgent { background:#f6e5e1;color:#a13e35; }

/* Finance analytics */
.analytics-main,.mix-card,.variance-chart { border-color:#ddd9cf;background:#fbfaf6; }
.chart-heading strong,.variance-chart header strong,.mix-donut strong,.mix-legend strong { color:#24312c; }
.chart-heading span,.variance-chart header span,.mix-donut span,.mix-legend>div { color:#707973; }
.trend-chip { background:#ece9e1;color:#5d6762!important; }
.trend-chip.up { background:#e1efe8;color:#216747!important; }
.trend-chip.down { background:#f6e5e1;color:#a13e35!important; }
.chart-grid-line { stroke:#e2ded5; }
.chart-axis-label { fill:#747d77;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; }
.chart-line { stroke:#273a34;filter:none; }
.chart-point { fill:#fffdf8;stroke:#273a34; }
.analytics-main { padding:24px 24px 14px;overflow:hidden; }
.analytics-kpis { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 14px; }
.analytics-kpis>div { min-width:0;padding:14px 15px;border:1px solid #e0dcd2;border-radius:8px;background:#fffdf8; }
.analytics-kpis span,.analytics-kpis small { display:block;color:#6f7872;font-size:10px;font-weight:750;letter-spacing:.075em;text-transform:uppercase; }
.analytics-kpis strong { display:block;margin-top:6px;color:#1c2924;font-size:20px;font-weight:650;white-space:nowrap; }
.analytics-kpis small { margin-top:4px;color:#858c87;letter-spacing:0;text-transform:none; }
.chart-legend { display:flex;align-items:center;justify-content:flex-end;gap:17px;margin:0 5px -3px;color:#626c66;font-size:11px;font-weight:650; }
.chart-legend span { display:inline-flex;align-items:center;gap:7px; }
.chart-legend i { display:inline-block;width:9px;height:9px;border-radius:2px;box-shadow:none; }
.chart-legend i.card { background:#bd6b47; }
.chart-legend i.cash { background:#4e8676; }
.chart-legend i.total { width:17px;height:3px;border-radius:99px;background:#273a34;box-shadow:none; }
.revenue-chart { height:315px;margin-top:4px; }
.chart-bar-card,.chart-bar-cash { opacity:.95;transition:opacity .18s ease,filter .18s ease; }
.chart-bar-card { fill:#bd6b47; }
.chart-bar-cash { fill:#4e8676; }
.chart-day:hover .chart-bar-card,.chart-day:hover .chart-bar-cash { opacity:1;filter:brightness(.96); }
.chart-line { stroke-width:3; }
.chart-point { stroke-width:2.5; }
.donut-base { stroke:#bd6b47; }
.donut-cash { stroke:#4e8676; }
.variance-row>i { background:#e5e1d8; }
.variance-row>i:after { background:#a8a49a; }
.variance-row b { background:#bd884a; }
.variance-row.negative b { background:#b8493e; }
.variance-row.balanced b { background:#287a58; }
.variance-row>strong { color:#56615c; }
.finance-intelligence .dashboard-table { border-top-color:var(--line); }

/* Calls, cash-up, stays and settings */
.calls-toolbar,.segmented-control { border-color:var(--line); }
.calls-toolbar small,.call-person small,.calls-surface td:nth-child(4) small,.call-action-label { color:#747e78; }
.segmented-control { background:#eae7df; }
.segmented-control button { color:#5d6762; }
.segmented-control button.active { background:#2b665b;color:#fff;box-shadow:0 5px 12px rgba(43,102,91,.18); }
.segmented-control b { background:#dcd8cf;color:#59625d; }
.segmented-control button.active b { background:rgba(255,255,255,.9);color:#24594f; }
.call-safe-summary { color:#34413c!important; }
.call-action-link { color:var(--primary); }
.calls-surface pre { border-color:var(--line);background:#f3f0e9;color:#46514c; }
.cashup-page-head h2,.philsheet-page-head h2 { color:var(--ink); }
.cashup-stat.bank { border-color:#b9d4c7;background:#eaf4ef;color:#1d5c42;box-shadow:inset 4px 0 #2b665b,var(--shadow-soft); }
.cashup-stat.bank span { color:#246b4b; }
.philsheet-summary .cashup-stat.bank small { color:#5b7f70; }
.cashup-denomination-row,.payout-card,.cashup-payout-row,.philsheet-payout-row,.cashup-section { border-color:var(--line)!important;background:var(--paper)!important; }
.cashup-form label,.cashup-payout-row label,.denomination-grid label,.philsheet-payout-row label { color:#5f6963; }
.cashup-form input,.cashup-form select,.cashup-form textarea,.philsheet-payout-row input,.money-input,input,select,textarea { border-color:var(--line-bright)!important;background:#fff!important;color:#24312c!important; }
.cashup-form input[readonly],.cashup-form input:disabled,.cashup-form select:disabled,.cashup-form textarea:disabled { background:#efede7!important;color:#7b837e!important; }
.cashup-till-total { background:#e7f0ed; }
.cashup-till-total span { color:#2b665b; }
.cashup-recount { border-color:#dfc89c;background:#faf4e5;color:#865619; }
.cashup-recount p { color:#8e7045; }
.reconciliation-card dt { color:#68716c; }
.reconciliation-card dd { color:#23302c; }
.reconciliation-card .reconciliation-total { border-top-color:#aaa69b; }
.reconciliation-card .reconciliation-bank { background:#e8f3ed; }
.reconciliation-card .reconciliation-card-total { background:#e8eef0; }
.reconciliation-card .reconciliation-bank dt,.reconciliation-card .reconciliation-bank dd { color:#216747; }
.reconciliation-card .reconciliation-card-total dt,.reconciliation-card .reconciliation-card-total dd { color:#315b72; }
.philsheet-help { border-color:#c7d7d0!important;background:#f0f6f3!important;color:#465e55!important; }
.suite-shortcut { color:#24312c; }
.suite-shortcut:hover { border-color:#9e9b91;background:#fff;box-shadow:0 14px 32px rgba(31,42,38,.09); }
.suite-shortcut small { color:#747d77; }
.suite-shortcut b { color:var(--primary); }
.stay-calendar-grid,.stay-calendar-grid>div { border-color:var(--line); }
.stay-calendar-corner,.stay-calendar-day,.stay-calendar-room { background:#efede6;color:#666f69; }
.stay-calendar-day small { color:#818883; }
.stay-calendar-day.today { background:#e4efeb;color:#245e52; }
.stay-calendar-room { color:#38453f; }
.stay-calendar-cell { background:#fffdf8; }
.stay-calendar-cell.occupied { background:#e6eef0; }
.stay-calendar-cell.occupied:after { border-color:#9fb7bf; }
.stay-calendar-cell.arrival { border-left-color:#315b72; }
.stay-calendar-cell span { color:#315b72; }
.safety-row { border-color:var(--line);background:#f7f4ed; }
.safety-row span { color:#35413c; }
.safety-row strong { color:#747d77; }
.backup-card { border-color:#e0c999;background:#faf4e5; }
.backup-card.current { border-color:#bbd5c8;background:#edf6f1; }
.backup-card h3,.boundary-note strong { color:#27332f; }
.backup-card p,.backup-card small,.boundary-note p { color:#68716c; }
.boundary-note { border-color:#c4d7cf;background:#edf5f2; }
.boundary-note>span { background:#d9e9e3;color:#2b665b; }
.knowledge-source { color:#747d77; }
.invoice-avatar { border-color:#c6d6d0!important;background:#e5efeb!important;color:#2b665b!important; }
.invoice-state.outstanding { background:#f6ecd8;color:#8d5a18; }
.invoice-state.paid { background:#e3efe8;color:#246a4a; }
.invoice-document.attachment { background:#fbf9f3; }
.invoice-payment-panel { border-color:#dfc89c;background:#fbf5e8; }
.invoice-payment-panel.paid { border-color:#bcd6c9;background:#edf6f1; }
.invoice-payment-panel h3 { color:#27332f; }
.invoice-payment-panel p { color:#68716c; }
.staff-record-group { border-color:var(--line);background:#f1eee7; }
.staff-record-group strong { color:#27332f; }
.staff-record-subgroup { border-color:var(--line);background:#faf8f2;color:#4d5953; }
.staff-record-subgroup span { border-color:#c6d6d0;background:#e5efeb;color:#2b665b; }
.toggle-grid label,.inline-check { border-color:var(--line)!important;background:#f6f3ec!important;color:#34413c; }
.toggle-grid label span { color:#34413c; }
.toggle-grid label small { color:#6d7671; }
.settings-grid .integration-card,.integration-card { border-color:var(--line);background:var(--paper);color:#34413c; }
.integration-card p { color:#68716c; }
.integration-card label { color:#59645e; }
.integration-card input,.integration-card select { border-color:var(--line-bright);background:#fff;color:#24312c; }
dialog { border-color:var(--line-bright);background:var(--paper);color:#28342f;box-shadow:0 32px 90px rgba(27,38,34,.24); }
dialog::backdrop { background:rgba(24,32,29,.62);backdrop-filter:blur(7px); }
dialog label,.form-grid label { color:#59645e; }
.compose-dialog input,.compose-dialog textarea,.notes-box textarea,.reply-box textarea { border-color:var(--line-bright)!important;background:#fff!important;color:#28342f!important; }
.toast { border:1px solid #41524b;background:#20322c;color:#fffaf1;box-shadow:0 18px 50px rgba(31,49,43,.25); }

/* Owner management reporting */
.pnl-toolbar,.pnl-kpi { border-color:var(--line);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-soft); }
.pnl-period-controls label { color:#68716c; }
.pnl-status { border-color:var(--line);background:#f9f7f1;color:#5e6862; }
.pnl-status strong { color:#26332f; }
.pnl-status.review { border-color:#dfc89c;background:#faf4e5; }
.pnl-status.review:before { background:#f3e4c3;color:#8a5919; }
.pnl-status.complete { border-color:#b9d4c7;background:#edf6f1; }
.pnl-status.complete:before { background:#d9ebe2;color:#246a4a; }
.pnl-kpi>span { color:#68716c; }
.pnl-kpi strong { color:#1b2823; }
.pnl-kpi small { color:#7a827d; }
.pnl-kpi.revenue:before { background:#315b72; }
.pnl-kpi.expense:before { background:#bd7545; }
.pnl-kpi.profit:before { background:#287a58; }
.pnl-kpi.loss:before { background:#b8493e; }
.pnl-kpi.margin:before { background:#b79a54; }
.pnl-chart-legend { color:#626d67; }
.pnl-grid-line { stroke:#e1ddd4; }
.pnl-zero-line { stroke:#aaa69c; }
.pnl-axis-label { fill:#747d77;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; }
.pnl-revenue-line { stroke:#315b72; }
.pnl-expense-line { stroke:#bd7545; }
.pnl-profit-line { stroke:#287a58; }
.pnl-profit-point { fill:#fffdf8;stroke:#287a58; }
.pnl-breakdown-row span { color:#53605a; }
.pnl-breakdown-row progress,.pnl-breakdown-row progress::-webkit-progress-bar { background:#e6e2d9; }
.pnl-breakdown-row progress::-webkit-progress-value,.pnl-breakdown-row progress::-moz-progress-bar { background:linear-gradient(90deg,#315b72,#6e8997); }
#pnl-expense-mix progress::-webkit-progress-value,#pnl-expense-mix progress::-moz-progress-bar { background:linear-gradient(90deg,#a65b36,#d59568); }
.pnl-positive { color:#216b49!important; }
.pnl-negative { color:#a63f36!important; }
.badge.revenue { background:#e3efe8;color:#246a4a; }
.badge.expense { background:#f6e9dd;color:#95532f; }
.button.danger { border-color:#deb7b0;color:#a13e35; }
.button.danger:hover { background:#fbefec; }
.pnl-confidence-metrics>div { border-color:var(--line);background:#f8f6f0; }
.pnl-confidence-metrics strong { color:#26332f; }
.pnl-confidence-metrics span,.pnl-completeness ul { color:#68716c; }
.pnl-invoice-queue { border-color:#dfc89c;background:#faf4e6; }
.pnl-invoice-queue button { border-color:#ded4bf;background:#fffdf8;color:#2e3a35; }
.pnl-invoice-queue button:hover { border-color:#bd9c62; }
.pnl-invoice-queue button small { color:#747d77; }
.pnl-invoice-queue button b { color:#8b5918; }
.wages-hero { border-top-color:#315b72;background:linear-gradient(125deg,#fdfbf6,#eef3f1 58%,#e7efed)!important; }
.wage-payable-bar { fill:#315b72; }
.wage-estimate-line { stroke:#9a927f; }
.wage-value-label { fill:#4e5b55;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; }
.wage-cost-preview { border-color:#d9d4c9;background:#f8f6f0; }
.wage-cost-preview span,.wage-cost-preview small { color:#68716c; }
.wage-cost-preview strong { color:#1b2823; }

@media(max-width:800px) {
  .workspace { margin-left:0;padding-right:16px;padding-left:16px; }
  .topbar { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;min-height:82px;background:rgba(240,238,232,.94)!important; }
  .topbar>div:nth-child(2) { min-width:0; }
  .topbar h1 { overflow:hidden;font-size:30px;text-overflow:ellipsis;white-space:nowrap; }
  .top-actions { gap:0; }
  .top-actions #refresh,.top-actions .health-pill { display:none; }
  .search-command { width:42px;min-width:42px;height:40px;padding:0;justify-content:center; }
  .search-command span,.search-command kbd { display:none; }
  .search-command:before { content:"⌕";font-size:20px;line-height:1; }
  #mobile-menu { border:1px solid var(--line);background:#fffdf8;color:#26332f; }
  .sidebar { box-shadow:22px 0 55px rgba(24,36,31,.23); }
  .calls-surface tr { border-color:var(--line);background:#fffdf8; }
  .inquiry-detail.mobile-open { background:#f0eee8; }
  .analytics-main { padding:18px 14px 10px; }
  .analytics-kpis { gap:6px;margin:14px 0 11px; }
  .analytics-kpis>div { padding:10px 9px; }
  .analytics-kpis span,.analytics-kpis small { font-size:9px; }
  .analytics-kpis strong { font-size:16px; }
  .chart-legend { justify-content:flex-start;gap:12px;margin-left:2px; }
  .revenue-chart { height:275px; }
  .combined-revenue-card { grid-template-columns:1fr;padding:20px; }
  .combined-revenue-total { padding:15px 0;border-top:1px solid rgba(255,255,255,.14);border-left:0; }
  .combined-revenue-total strong { font-size:34px; }
  .combined-revenue-breakdown { grid-template-columns:1fr 1fr; }
  .dashboard-hero h2 { font-size:34px; }
  .attention-strip,#finance-attention,.command-metrics,.finance-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pnl-grid { grid-template-columns:minmax(0,1fr); }
  .pnl-grid>.surface { min-width:0;max-width:100%; }
  .pnl-table { max-width:100%;overflow-x:auto; }
}

@media(max-width:350px) {
  .attention-strip,#finance-attention,.command-metrics,.finance-metrics { grid-template-columns:1fr; }
}

@media print {
  body.portal-owner:has(#profitloss.active) .workspace { background:#fff!important; }
  body.portal-owner:has(#profitloss.active) .surface,body.portal-owner:has(#profitloss.active) .pnl-kpi { background:#fff!important;color:#111!important;box-shadow:none!important; }
}

/* Unified mailbox */
#inbox.mailbox-mode .inbox-layout { grid-template-columns:210px minmax(330px,370px) minmax(0,1fr); }
.mailbox-folders { z-index:1;height:100%;padding:18px 12px!important;border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;background:#f3f0e9!important;box-shadow:none!important; }
.mailbox-account { display:flex;align-items:center;gap:10px;padding:4px 6px 17px;border-bottom:1px solid var(--line); }
.mailbox-account-mark { display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:9px;background:var(--primary);color:#fff;font-family:Charter,Georgia,serif;font-size:18px;font-weight:700; }
.mailbox-account strong,.mailbox-account small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.mailbox-account strong { color:#26332f;font-size:11px; }
.mailbox-account small { margin-top:2px;color:#78817c;font-size:9px; }
.mailbox-folders nav { display:grid;gap:3px;margin-top:14px; }
.mailbox-folders nav button { display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:5px;width:100%;min-height:39px;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:#53605a;text-align:left;font-size:12px;font-weight:650; }
.mailbox-folders nav button:hover { background:#e7e3da;color:#26332f; }
.mailbox-folders nav button.active { background:#fffdf8;color:#1f4f46;box-shadow:inset 3px 0 var(--primary),0 2px 8px rgba(31,42,38,.06); }
.mailbox-folders nav button>span { color:#7a827d;text-align:center; }
.mailbox-folders nav button>b { min-width:20px;padding:2px 5px;border-radius:10px;background:#e2dfd7;color:#68716c;font-size:9px;text-align:center; }
.mailbox-folders nav button.active>b { background:#dcebe5;color:#245e51; }
.mailbox-key { display:grid;gap:8px;margin:20px 8px 0;padding-top:15px;border-top:1px solid var(--line);color:#747d77;font-size:9px; }
.mailbox-key span { display:flex;align-items:center;gap:7px; }
.mailbox-key i,.mail-channel-dot { display:inline-block;width:7px;height:7px;border-radius:50%; }
.mailbox-key .email-dot,.mail-channel-dot.email { background:#315b72; }
.mailbox-key .social-dot,.mail-channel-dot.social { background:#287a58; }
.mailbox-key .phone-dot,.mail-channel-dot.phone { background:#bd7545; }
.inquiry-card.has-read-state { grid-template-columns:9px 38px minmax(0,1fr);gap:9px; }
.mail-unread-dot { width:7px;height:7px;margin-top:15px;border-radius:50%;background:transparent; }
.inquiry-card.unread .mail-unread-dot { background:#2b665b;box-shadow:0 0 0 3px rgba(43,102,91,.10); }
.inquiry-card.unread .inquiry-card-head strong,.inquiry-card.unread .inquiry-subject { color:#17251f;font-weight:750; }
.mail-channel-dot { flex:0 0 7px;margin-left:auto; }

/* Wage month, payment route and print documents */
.wage-month-callout { display:grid;grid-template-columns:42px minmax(0,1fr) minmax(190px,230px);align-items:center;gap:14px;padding:16px 18px;border:1px solid #bdd6ca;border-radius:12px;background:#edf6f1; }
.wage-month-callout>span { display:grid;width:38px;height:38px;place-items:center;border-radius:9px;background:#d7e9e1;color:#245e51;font-size:12px;font-weight:800; }
.wage-month-callout strong,.wage-month-callout small { display:block; }
.wage-month-callout strong { color:#23342e;font-size:14px; }
.wage-month-callout small { margin-top:4px;color:#68766f;font-size:11px;line-height:1.4; }
.wage-month-callout label { margin:0!important;color:#50615a; }
.badge.wage-method.bank { background:#e4edf0;color:#315b72; }
.badge.wage-method.cash { background:#f6ecd8;color:#8d5a18; }
.cash-receipt-link { display:block;margin-top:7px;padding:0;font-size:10px; }
.wages-print-document { display:none; }

@media(max-width:1250px) {
  #inbox.mailbox-mode .inbox-layout { grid-template-columns:minmax(320px,360px) minmax(0,1fr); }
  #inbox.mailbox-mode .mailbox-folders { display:none; }
}
@media(max-width:800px) {
  #inbox.mailbox-mode .inbox-layout { grid-template-columns:1fr; }
  .inquiry-card.has-read-state { grid-template-columns:8px 34px minmax(0,1fr); }
  .wage-month-callout { grid-template-columns:38px minmax(0,1fr); }
  .wage-month-callout label { grid-column:1/-1; }
}

@page { size:A4 portrait;margin:12mm; }
@media print {
  body.printing-wages { background:#fff!important;color:#111!important; }
  body.printing-wages>.app-shell,body.printing-wages>#toast,body.printing-wages>dialog { display:none!important; }
  body.printing-wages #wages-print-document { position:static!important;display:block!important;width:auto!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important; }
  body.printing-wages #wages-print-document,body.printing-wages #wages-print-document * { visibility:visible!important;box-sizing:border-box; }
  .wage-print-sheet { position:relative;min-height:260mm;padding:5mm;color:#111;font-family:Arial,Helvetica,sans-serif!important; }
  .wage-print-sheet header { display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:8mm;border-bottom:2px solid #153a32; }
  .print-brand { display:flex;align-items:center;gap:10px; }
  .print-brand>b { display:grid;width:10mm;height:10mm;place-items:center;border-radius:3mm;background:#153a32!important;color:#fff!important;font-family:Georgia,serif;font-size:20px;print-color-adjust:exact;-webkit-print-color-adjust:exact; }
  .print-brand span { display:block;font-size:13px;font-weight:800;letter-spacing:.08em; }
  .print-brand small { display:block;margin-top:2px;font-size:8px;font-weight:500;letter-spacing:.03em; }
  .bank-worksheet header>div:last-child { text-align:right; }
  .bank-worksheet header p,.cash-receipt header>p { margin:0;color:#555;font-size:8px;font-weight:700;letter-spacing:.12em; }
  .bank-worksheet h1 { margin:3px 0 4px;font:700 24px Georgia,serif!important; }
  .print-purpose { margin:8mm 0 5mm;color:#333;font-size:10px;line-height:1.5; }
  .bank-worksheet table { width:100%;border-collapse:collapse;font-size:9px; }
  .bank-worksheet th,.bank-worksheet td { padding:4mm 2.5mm;border:1px solid #999;color:#111;background:#fff!important;vertical-align:middle; }
  .bank-worksheet th { background:#e9eeec!important;font-size:7.5px;letter-spacing:.06em;print-color-adjust:exact;-webkit-print-color-adjust:exact; }
  .bank-worksheet .money { text-align:right;white-space:nowrap; }
  .print-checkbox { display:block;width:6mm;height:6mm;margin:auto;border:1px solid #333; }
  .bank-controls { display:grid;grid-template-columns:1.6fr 1fr 1.6fr 1fr;gap:7mm;margin-top:15mm; }
  .bank-controls>div { min-height:12mm;border-bottom:1px solid #333; }
  .bank-controls span { display:block;margin-top:13mm;color:#555;font-size:8px; }
  .wage-print-sheet footer { position:absolute;right:5mm;bottom:5mm;left:5mm;padding-top:3mm;border-top:1px solid #bbb;color:#666;font-size:8px;text-align:center; }
  .cash-receipt .receipt-title { margin:18mm 0 10mm;text-align:center; }
  .cash-receipt .receipt-title p { margin:0;color:#153a32;font-size:9px;font-weight:800;letter-spacing:.18em; }
  .cash-receipt h1 { margin:4px 0;font:700 27px Georgia,serif!important; }
  .cash-receipt h2 { margin:0;color:#444;font-size:17px; }
  .receipt-summary { margin:0 0 12mm;border:1px solid #777; }
  .receipt-summary>div { display:grid;grid-template-columns:42mm 1fr;border-bottom:1px solid #bbb; }
  .receipt-summary>div:last-child { border-bottom:0; }
  .receipt-summary dt,.receipt-summary dd { margin:0;padding:4mm; }
  .receipt-summary dt { background:#e9eeec!important;font-size:9px;font-weight:700;print-color-adjust:exact;-webkit-print-color-adjust:exact; }
  .receipt-summary dd { font-size:12px;font-weight:700; }
  .receipt-statement { margin:8mm 0;padding:6mm;border-left:3px solid #153a32;font-size:12px;line-height:1.7; }
  .receipt-statement.english { border-left-color:#999;color:#333; }
  .receipt-signatures { display:grid;grid-template-columns:1fr 1.5fr 1.5fr;gap:8mm;margin-top:28mm; }
  .receipt-signatures>div { min-height:22mm;border-bottom:1px solid #333; }
  .receipt-signatures span { display:block;margin-top:23mm;color:#555;font-size:8px;text-align:center; }
}
