:root {
  --ink: #14201a;
  --muted: #667468;
  --line: rgba(19, 31, 24, .1);
  --line-strong: rgba(19, 31, 24, .17);
  --panel: #ffffff;
  --panel-sunken: #faf9f6;
  --canvas: #f5f4f1;
  --brand: #2c8556;
  --brand-strong: #1f6644;
  --brand-dark: #0e2119;
  --mint: #e3f1e6;
  --blue: #2f63d8;
  --blue-soft: #e8eefc;
  --amber: #a9670a;
  --amber-soft: #fbf0d9;
  --red: #bf3b3b;
  --red-soft: #fbe8e6;
  --gray-soft: #f1f3f0;
  --shadow-xs: 0 1px 2px rgba(14, 24, 19, .05);
  --shadow-sm: 0 2px 6px rgba(14, 24, 19, .06);
  --shadow: 0 12px 28px -10px rgba(14, 24, 19, .22);
  --shadow-lg: 0 28px 64px -18px rgba(14, 24, 19, .3);
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--canvas);
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--canvas); }
button, select, input, textarea { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(44, 133, 86, .3);
  outline-offset: 2px;
}
.app-shell { min-height: 100vh; display: flex; }
.sidebar {
  width: 260px; flex: 0 0 260px; min-height: 100vh; padding: 20px 14px 18px;
  background: radial-gradient(120% 90% at 100% 0%, rgba(70, 160, 109, .16), transparent 55%), linear-gradient(180deg, var(--brand-dark), #0b1a14 78%);
  color: #d8e7dd; display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh;
  border-right: 1px solid rgba(0, 0, 0, .25);
}
.brand { display: flex; gap: 11px; align-items: center; text-decoration: none; color: white; padding: 6px 8px 24px; }
.brand-mark { display: grid; place-items: center; width: 32px; height: 32px; flex: none; border-radius: 10px; background: linear-gradient(155deg, #5fc491, #1f6644 65%); color: #0e2119; box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), var(--shadow-xs); }
.brand-mark svg { width: 17px; height: 17px; }
.brand strong, .brand small { display: block; } .brand strong { letter-spacing: -.02em; font-weight: 680; } .brand small { color: #9db3a6; font-size: 11px; margin-top: 2px; }
.nav { display: grid; gap: 2px; }
.nav-item { position: relative; color: #b9cabd; background: none; border: 0; border-radius: var(--r-sm); text-align: left; height: 40px; padding: 0 12px; display: flex; align-items: center; gap: 11px; font-size: 13.5px; font-weight: 520; letter-spacing: -.005em; transition: background .12s ease, color .12s ease; }
.nav-item:hover { background: rgba(255,255,255,.06); color: #fff; }
.nav-item.active { background: linear-gradient(180deg, rgba(70,160,109,.22), rgba(70,160,109,.12)); color: white; font-weight: 650; box-shadow: inset 0 0 0 1px rgba(140,214,173,.16); }
.nav-item i { font-style: normal; width: 18px; display: inline-flex; align-items: center; justify-content: center; color: #6f9c81; text-align: center; transition: color .12s ease; }
.nav-item i svg { width: 17px; height: 17px; stroke-width: 1.7; }
.nav-item:hover i { color: #9fd6b6; } .nav-item.active i { color: #8ee0b3; }
.nav-item b { margin-left: auto; min-width: 20px; padding: 2px 6px; font-size: 10.5px; font-weight: 700; text-align: center; border-radius: 10px; background: #c14747; color: white; box-shadow: 0 0 0 1px rgba(0,0,0,.18); }
.nav-item.role-hidden { display:none; }
.sidebar-bottom { margin-top: auto; }.role-picker { display: block; border-top: 1px solid rgba(255,255,255,.12); margin-top: 12px; padding: 16px 10px 0; }.role-picker span { display:flex; align-items:center; gap:6px; font-size: 10.5px; font-weight:650; letter-spacing:.05em; text-transform:uppercase; color: #9db3a6; margin-bottom: 8px; }.role-picker-icon { width:12px; height:12px; flex: none; }.role-picker select { width:100%; color:white; border: 1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); border-radius:var(--r-sm); padding:9px 10px; font-size:12.5px; font-weight:560; }
.main-content { min-width: 0; width: calc(100% - 260px); }
.topbar { height: 56px; display:flex; align-items:center; justify-content:space-between; padding:0 32px; border-bottom:1px solid var(--line); background: rgba(250,249,246,.82); backdrop-filter: blur(14px) saturate(1.4); position:sticky; top:0; z-index:5; }
.crumbs { font-size:13px; color:var(--muted); font-weight:550; }
.crumbs strong { color:var(--ink); font-weight:700; }
.crumbs-context { color:var(--muted); font-weight:500; }
.topbar-actions { display:flex; align-items:center; gap:8px; }
.icon-button, .avatar { border:1px solid transparent; background:transparent; }
.icon-button { width:36px; height:36px; display:grid; place-items:center; border-radius:var(--r-sm); color:var(--muted); text-decoration:none; }
.icon-button svg { width:17px; height:17px; }
.icon-button:hover { background:var(--panel); border-color:var(--line); color:var(--ink); box-shadow:var(--shadow-xs); }
.avatar { width:36px; height:36px; border-radius:50%; background:linear-gradient(155deg, var(--mint), #d3ecda); color:var(--brand-strong); font-size:11.5px; font-weight:800; box-shadow:inset 0 0 0 1px rgba(24,74,52,.12); margin-left:4px; }
.mobile-menu { display:none; color:var(--muted); }
.mobile-menu svg { width:19px; height:19px; }

.page { max-width: 1520px; padding: 20px 32px 52px; margin: 0 auto; }
.page-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.page-header:has(.header-actions:empty) { margin-bottom:0; }
.header-actions:empty { display:none; }
.header-actions, .inline-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.role-banner { display:flex; align-items:center; gap:9px; padding:9px 13px; margin:0 0 16px; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--panel); color:var(--muted); font-size:12.5px; box-shadow:var(--shadow-xs); }
.eyebrow { display:block; color:#8b978e; font-weight:700; font-size:10.5px; letter-spacing:.09em; text-transform:uppercase; }
.command-hero {
  min-height:156px; margin-bottom:16px; padding:22px 28px; display:flex; justify-content:space-between; gap:22px;
  border-radius:var(--r-lg); color:#eef4ef; position:relative; overflow:hidden;
  background: radial-gradient(60% 130% at 88% 0%, rgba(95,211,148,.28), transparent 60%), linear-gradient(128deg,#1c3527,#0d1c15 72%);
  box-shadow: var(--shadow);
}
.command-hero:after { content:""; position:absolute; width:280px; height:280px; right:-110px; bottom:-175px; border:1px solid rgba(238,244,239,.14); border-radius:50%; box-shadow:0 0 0 32px rgba(238,244,239,.035),0 0 0 64px rgba(238,244,239,.022); }
.command-title, .command-actions { position:relative; z-index:1; }
.command-hero .eyebrow { color:#a6cbb2; }
.command-hero h2 { max-width:620px; margin:8px 0 7px; color:white; letter-spacing:-.03em; font-size:24px; line-height:1.16; }
.command-hero p { margin:0; color:#bfd6c8; font-size:13.5px; }
.command-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding-top:2px; }
.command-actions .text-link { color:#d7ecdf; padding:9px 0; }
.signal-strip { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:20px; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; background:var(--panel); box-shadow:var(--shadow-xs); }
.signal-strip > * { min-width:0; padding:16px 18px; border:0; border-left:1px solid var(--line); text-align:left; font:inherit; background:transparent; cursor:pointer; }
.signal-strip > :first-child { border-left:0; }
.signal-strip span, .signal-strip small { display:block; color:var(--muted); font-size:11.5px; }
.signal-strip strong { display:block; margin:8px 0 2px; color:var(--ink); letter-spacing:-.035em; font-size:21px; font-weight:720; font-variant-numeric:tabular-nums; }
.signal-strip .signal-alert { background:linear-gradient(180deg, var(--amber-soft), #fdf7ec); }
.signal-strip .signal-alert strong { color:var(--amber); }
.signal-strip .signal-alert small { color:#b17a1c; }
.signal-strip > button:hover { background-color:var(--panel-sunken); }
.signal-strip > .signal-alert:hover { background:linear-gradient(180deg, #f9ecd3, #fdf7ec); }
.signal-strip > button:focus-visible { position:relative; z-index:1; outline:2px solid var(--brand); outline-offset:-2px; }
.command-grid { grid-template-columns:minmax(0,1.75fr) minmax(300px,.78fr); }
.object-health-panel { padding-top:19px; }
.action-panel { background:linear-gradient(180deg, var(--panel-sunken), var(--panel) 40%); }
.payment-forecast { margin-top:14px; padding:13px 15px; border-radius:var(--r-md); background:#fff6e8; }
.payment-forecast span { display:block; color:#766858; font-size:11px; }
.payment-forecast strong { display:block; margin:5px 0 2px; color:#a85700; font-size:17px; font-weight:700; letter-spacing:-.02em; }
.payment-forecast small { display:block; color:#8b642d; font-size:11px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:36px; border:1px solid transparent; border-radius:var(--r-sm); padding:9px 14px; font-size:13px; font-weight:620; line-height:1.2; white-space:nowrap; background:var(--brand); color:white; box-shadow:var(--shadow-xs); transition:filter .12s ease, box-shadow .12s ease, transform .08s ease; }
.button:hover { filter:brightness(1.05); box-shadow:var(--shadow-sm); }
.button:active { transform:translateY(1px); }
.button:disabled { cursor:not-allowed; opacity:.45; filter:none; box-shadow:none; }
.button.secondary { color:var(--ink); border-color:var(--line-strong); background:white; }
.button.secondary:hover { border-color:#a7b6ac; }
.button.ghost { color:var(--brand-strong); background:var(--mint); }
.button.danger { background:var(--red); }
.button.small { min-height:30px; padding:6px 10px; font-size:12px; }
.metrics { display:grid; grid-template-columns:repeat(5,minmax(160px,1fr)); gap:12px; margin-bottom:22px; }
.metric-card, .panel { border:1px solid var(--line); border-radius:var(--r-lg); background:var(--panel); box-shadow:var(--shadow-xs); }
.metric-card { padding:16px; min-height:112px; }
.attention-metric-card { width:100%; color:var(--ink); text-align:left; cursor:pointer; font:inherit; transition:border-color .12s ease, box-shadow .12s ease, transform .12s ease; }
.attention-metric-card:hover, .attention-metric-card:focus-visible { border-color:#8fc6a5; box-shadow:var(--shadow-sm); outline:none; transform:translateY(-1px); }
.attention-metric-card.active { border-color:var(--brand); box-shadow:0 0 0 2px #d9eee0; }
.attention-metric-card .metric-label, .attention-metric-card .metric-foot { display:block; }
.metric-label { color:var(--muted); font-size:12px; }
.metric-value { margin-top:9px; font-weight:750; font-size:23px; letter-spacing:-.04em; font-variant-numeric: tabular-nums; }
.metric-foot { margin-top:8px; color:var(--muted); font-size:11.5px; line-height:1.35; }
.metric-foot.good { color:var(--brand); }
.metric-foot.alert { color:var(--red); }
.account-card { width:100%; color:var(--ink); text-align:left; cursor:pointer; font:inherit; transition:box-shadow .12s ease, border-color .12s ease; }
.account-card:hover { border-color:#8fc6a5; box-shadow:var(--shadow-sm); }
.dashboard-grid { display:grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .8fr); gap:16px; }
.panel { padding:20px; }
.panel h2, .panel h3 { margin:0; font-size:16.5px; font-weight:680; letter-spacing:-.015em; }
.panel-head { display:flex; justify-content:space-between; gap:8px; align-items:flex-end; margin-bottom:16px; }
.text-link { display:inline-flex; align-items:center; min-height:32px; gap:3px; padding:0 2px; background:none; border:0; color:var(--blue); font-size:12.5px; font-weight:620; white-space:nowrap; }
.status { display:inline-flex; align-items:center; white-space:nowrap; gap:5px; font-size:11px; font-weight:650; padding:4px 9px; border-radius:20px; }
.status.good { color:#1a6b46; background:var(--mint); }
.status.warn { color:var(--amber); background:var(--amber-soft); }
.status.bad { color:var(--red); background:var(--red-soft); }
.status.neutral { color:var(--muted); background:var(--gray-soft); }
.status.blue { color:var(--blue); background:var(--blue-soft); }
.data-table-wrap { overflow:auto; }
.data-table { border-collapse:collapse; width:100%; font-size:12.5px; min-width:650px; }
.data-table th { text-align:left; color:#758279; font-weight:650; font-size:11px; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; padding:0 8px 10px; }
.data-table td { padding:13px 8px; border-top:1px solid var(--line); vertical-align:middle; line-height:1.35; }
.data-table tbody tr { transition:background .12s ease; }
.data-table tbody tr.clickable { cursor:pointer; }
.data-table tbody tr.clickable:hover { background:var(--panel-sunken); }
.actions-table th:last-child,
.actions-table td:last-child { width:144px; text-align:center; white-space:nowrap; }
.table-actions { display:grid; justify-items:stretch; gap:6px; min-width:128px; }
.table-actions .button { width:100%; white-space:nowrap; }
.numeric { text-align:right !important; font-variant-numeric:tabular-nums; white-space:nowrap; }
.negative { color:var(--red); }
.positive { color:var(--brand); }
.subline { display:block; color:var(--muted); font-size:11.5px; line-height:1.35; margin-top:3px; }
.entity-name { font-weight:650; letter-spacing:-.01em; }
.origin { display:inline-block; margin-left:5px; padding:2px 5px; border-radius:4px; background:var(--panel-sunken); border:1px solid var(--line); color:#8b978e; text-transform:uppercase; font-size:8.7px; font-weight:700; letter-spacing:.03em; vertical-align:middle; }
.attention-list { display:grid; gap:10px; }
.attention-card { position:relative; border:1px solid var(--line); border-radius:var(--r-md); padding:13px 14px 13px 17px; background:#fff; cursor:pointer; box-shadow:var(--shadow-xs); transition:box-shadow .12s ease, transform .12s ease; }
.attention-card:before { content:""; position:absolute; left:0; top:10px; bottom:10px; width:3px; border-radius:4px; background:var(--amber); }
.attention-card.critical:before { background:var(--red); }
.attention-card:hover { box-shadow:var(--shadow-sm); transform:translateY(-1px); }
.attention-top { display:flex; justify-content:space-between; gap:8px; }
.attention-card h4 { margin:0 0 4px; font-size:13px; font-weight:650; letter-spacing:-.01em; }
.attention-card p { margin:0; font-size:11.8px; color:var(--muted); }
.attention-meta { display:flex; gap:8px; align-items:center; color:var(--muted); font-size:11px; margin-top:9px; }
.filterbar { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 16px; }
.filterbar input, .filterbar select, .form-control { border:1px solid var(--line-strong); background:white; border-radius:var(--r-sm); min-height:34px; padding:7px 9px; font-size:12.5px; color:var(--ink); }
.filterbar input { min-width:210px; }
.filterbar input:focus, .filterbar select:focus, .form-control:focus { outline:2px solid #b8ddc9; border-color:var(--brand); }
.tabs { display:flex; gap:3px; border-bottom:1px solid var(--line); margin-bottom:20px; overflow:auto; }
.tab { display:inline-flex; align-items:center; flex:0 0 auto; min-height:40px; padding:10px 12px; color:var(--muted); background:transparent; border:0; border-bottom:2px solid transparent; font-size:13px; font-weight:520; white-space:nowrap; }
.tab.active { color:var(--brand-strong); border-bottom-color:var(--brand); font-weight:700; }
.object-hero { border:1px solid var(--line); border-radius:var(--r-lg); background:white; padding:20px; margin-bottom:20px; display:flex; justify-content:space-between; gap:18px; box-shadow:var(--shadow-xs); }
.object-hero h1 { margin:0; font-size:24px; font-weight:700; letter-spacing:-.035em; }
.object-meta { color:var(--muted); font-size:12px; margin-top:7px; }
.object-meta span { margin-right:15px; }
.object-actions { display:flex; align-items:flex-start; gap:8px; }
.mini-metrics { display:grid; grid-template-columns:repeat(4,minmax(110px,1fr)); gap:10px; margin-bottom:16px; }
.mini-metric { padding:13px; border-radius:var(--r-md); background:var(--panel-sunken); }
.mini-metric span { display:block; color:var(--muted); font-size:11px; }
.mini-metric strong { display:block; margin-top:7px; font-size:16px; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.mini-metric small { display:block; margin-top:4px; color:var(--muted); font-size:10.5px; line-height:1.3; }
.team-summary { margin-top:16px; }
.employee-drawer { width:min(620px, 100vw); }
.employee-metrics { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.employee-detail-section { padding:18px 0; border-top:1px solid var(--line); }
.employee-detail-section .panel-head { margin-bottom:12px; }
.employee-projects { display:flex; flex-wrap:wrap; gap:7px; }
.employee-issues { margin-top:14px; }
.object-hero .eyebrow { margin-top:10px; }
.object-pulse { display:grid; grid-template-columns:repeat(5,1fr); margin:-8px 0 18px; border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; background:var(--panel); box-shadow:var(--shadow-xs); }
.object-pulse div { padding:13px; border-left:1px solid var(--line); }
.object-pulse div:first-child { border-left:0; }
.object-pulse span,.object-pulse small { display:block; color:var(--muted); font-size:10px; }
.object-pulse strong { display:block; margin:6px 0 2px; letter-spacing:-.03em; font-size:16px; font-variant-numeric:tabular-nums; }
.work-switch { display:flex; gap:6px; margin:-5px 0 14px; }
.work-link { display:inline-flex; align-items:center; min-height:32px; border:1px solid var(--line); border-radius:20px; padding:7px 10px; background:var(--panel); color:var(--muted); font-size:11px; white-space:nowrap; }
.work-link.active { color:var(--brand-strong); border-color:#a2cbb2; background:var(--mint); font-weight:700; }
.two-cols { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.three-cols { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.settings-card { display:flex; flex-direction:column; }
.settings-card .metric-foot { margin-bottom:16px; }
.settings-card .button, .settings-card .status { align-self:flex-start; margin-top:auto; }
.kpi-row { display:flex; justify-content:space-between; padding:10px 0; border-top:1px solid var(--line); font-size:13px; }
.kpi-row:first-of-type { border-top:0; }
.progress { height:6px; overflow:hidden; border-radius:4px; background:var(--gray-soft); }
.progress span { display:block; height:100%; border-radius:4px; background:var(--brand); }
.percentage-setup { padding:13px; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--panel-sunken); }
.percentage-setup-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.percentage-setup-head strong, .percentage-setup-head span { display:block; }
.percentage-setup-head strong { font-size:12.5px; }
.percentage-setup-head span { margin-top:3px; color:var(--muted); font-size:11px; }
.percentage-setup-body { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; margin-top:12px; }
.percentage-setup-body label { display:grid; grid-template-columns:minmax(0, 1fr) 72px auto; align-items:center; gap:6px; padding:8px; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--panel); font-size:12px; }
.percentage-setup-body label > span, .percentage-setup-body small { display:block; }
.percentage-setup-body small { margin-top:2px; color:var(--muted); font-size:10px; }
.percentage-setup-body .form-control { min-width:0; width:100%; min-height:32px; padding:5px 7px; }
.percentage-setup-body em { color:var(--muted); font-style:normal; }
.timeline { position:relative; margin-left:4px; padding-left:18px; border-left:1px solid var(--line); }
.timeline-item { position:relative; padding:0 0 18px; font-size:12px; }
.timeline-item:before { content:""; position:absolute; left:-23px; top:2px; width:9px; height:9px; border-radius:50%; background:#74be95; border:3px solid white; box-shadow:0 0 0 1px #c9dfd0; }
.timeline-item strong { display:block; font-size:12px; }
.timeline-item p { margin:4px 0 0; color:var(--muted); }
.timeline-item time { display:block; color:#99a49e; font-size:10px; margin-top:4px; }
.summary-banner { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 14px; border:1px solid #f1d99b; border-radius:var(--r-sm); background:var(--amber-soft); color:#76500d; font-size:12px; margin-bottom:16px; }
.summary-banner.info { border-color:#b9d4ea; background:var(--blue-soft); color:#1f4d85; justify-content:flex-start; }
.economics-objects-panel { padding-bottom:12px; }
.economics-objects-panel .panel-head { align-items:flex-start; }
.economics-objects-panel .metric-foot { margin-bottom:0; }
.econ-object-list { display:grid; gap:8px; }
.econ-object-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--panel); transition:border-color .12s ease, box-shadow .12s ease; }
.econ-object-card:hover { border-color:#9ecbb0; box-shadow:var(--shadow-xs); }
.econ-object-summary { width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto 18px; align-items:center; gap:12px; padding:12px; border:0; background:transparent; color:var(--ink); text-align:left; font:inherit; }
.econ-object-summary:hover { background:var(--panel-sunken); }
.econ-object-name, .econ-object-margin { min-width:0; }
.econ-object-name strong, .econ-object-name small, .econ-object-margin strong, .econ-object-margin small { display:block; }
.econ-object-name strong { font-size:13px; font-weight:680; }
.econ-object-name .origin { margin-left:4px; }
.econ-object-name small, .econ-object-margin small { margin-top:3px; color:var(--muted); font-size:10.5px; }
.econ-object-margin { text-align:right; }
.econ-object-margin strong { font-size:13px; font-weight:700; font-variant-numeric:tabular-nums; }
.econ-object-chevron { color:var(--muted); font-size:16px; line-height:1; }
.empty-state { margin:0; color:var(--muted); text-align:center; padding:24px; font-size:13px; }
.total-row td { border-top:1px solid var(--line-strong); font-weight:700; background:var(--panel-sunken); }
.muted-cell { color:var(--muted); font-style:italic; }
.cell-input { width:100%; min-width:58px; min-height:30px; padding:4px 6px; border:0; border-radius:0; border-bottom:1px solid transparent; background:transparent; color:var(--ink); font-size:12px; text-align:right; font-variant-numeric:tabular-nums; }
.cell-input:hover { background:#f7faf7; border-bottom-color:#d8e5dc; }
.cell-input:focus { outline:0; background:#f1f8f3; border-bottom:2px solid var(--brand); }
.budget-header h2 { margin:0; font-size:15px; font-weight:680; }
.budget-history { display:flex; gap:3px; }
.budget-history-button { width:32px; height:32px; display:grid; place-items:center; border:1px solid var(--line-strong); border-radius:var(--r-sm); background:var(--panel); color:var(--muted); transition:border-color .12s ease, color .12s ease, background .12s ease; }
.budget-history-button svg { width:16px; height:16px; }
.budget-history-button:hover:not(:disabled) { border-color:#8fc6a5; background:var(--mint); color:var(--brand-strong); }
.budget-history-button:disabled { cursor:not-allowed; opacity:.4; }
.budget-summary { margin-bottom:16px; }
.budget-panel { padding-top:16px; }
.budget-tip { display:flex; gap:7px; align-items:center; padding:0 0 13px; color:var(--muted); font-size:11.5px; }
.budget-tip strong { color:var(--ink); }
.budget-table { min-width:1220px; }
.budget-table td:not(:first-child) { padding:7px 4px; }
.budget-table tbody tr:not(.budget-group):hover td { background:#fbfdfb; }
.budget-table th:first-child, .budget-table td:first-child { position:sticky; left:0; z-index:2; min-width:150px; background:var(--panel); }
.budget-table th:first-child { z-index:4; }
.budget-table th:last-child, .budget-table td:last-child { position:sticky; right:0; z-index:2; background:var(--panel); box-shadow:-8px 0 12px -12px rgba(14,24,19,.45); }
.budget-table .total-row td:first-child, .budget-table .total-row td:last-child { background:var(--panel-sunken); }
.budget-table tbody tr:not(.budget-group):hover td:first-child, .budget-table tbody tr:not(.budget-group):hover td:last-child { background:#fbfdfb; }
.budget-group td { position:static !important; padding:12px 8px 7px !important; background:var(--panel-sunken) !important; }
.budget-group strong, .budget-group span { display:block; }
.budget-group strong { color:var(--brand-strong); font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; }
.budget-group span { margin-top:3px; color:var(--muted); font-size:10.5px; font-weight:400; text-transform:none; letter-spacing:0; }
.budget-year-total { font-weight:680; }
.budget-repeat { display:block; margin:5px 0 -4px; padding:0; border:0; background:transparent; color:var(--blue); font-size:10px; font-weight:620; }
.budget-repeat:hover { text-decoration:underline; }
.dict-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:10px; margin-bottom:16px; }
.dict-card { border:1px solid var(--line); border-radius:var(--r-md); background:var(--panel); padding:12px 14px; text-align:left; box-shadow:var(--shadow-xs); transition:border-color .12s ease, background .12s ease; }
.dict-card:hover { border-color:#a2cbb2; }
.dict-card.active-dict { border-color:#a2cbb2; background:var(--mint); }
.dict-card strong { display:block; font-size:13px; font-weight:650; margin-bottom:3px; }
.dict-card span { display:block; font-size:11px; color:var(--muted); }
.cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.cal-dow { font-size:10px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); text-align:center; padding-bottom:4px; }
.cal-cell { min-height:66px; border:1px solid var(--line); border-radius:8px; padding:6px 7px; background:var(--panel-sunken); font-size:10.5px; }
.cal-cell.empty { background:transparent; border-color:transparent; }
.cal-cell.today { border-color:var(--brand); box-shadow:0 0 0 1px var(--brand) inset; }
.cal-date { display:block; color:var(--muted); font-weight:650; margin-bottom:4px; }
.cal-pay { display:block; margin-top:3px; padding:2px 5px; border-radius:5px; font-size:9.6px; font-weight:650; line-height:1.35; }
.cal-pay.warn { background:var(--amber-soft); color:var(--amber); }
.cal-pay.good { background:var(--mint); color:var(--brand-strong); }
.cal-pay.bad { background:var(--red-soft); color:var(--red); }
.cal-pay.neutral { background:var(--gray-soft); color:var(--muted); text-decoration:line-through; }
.legend { display:flex; gap:10px; flex-wrap:wrap; color:var(--muted); font-size:11px; }
.legend span:before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:4px; background:var(--brand); }
.legend .demo:before { background:#8a9a91; }
.drawer-backdrop, .modal-backdrop { position:fixed; inset:0; background:rgba(12,24,18,.4); z-index:20; }
.drawer { position:fixed; right:0; top:0; height:100vh; width:min(520px, 100vw); z-index:21; background:white; box-shadow:var(--shadow-lg); padding:24px; overflow:auto; animation:slide-in .18s ease-out; }
.drawer-head { display:flex; justify-content:space-between; gap:10px; margin-bottom:20px; }
.drawer-head h2 { margin:0; font-size:19px; font-weight:700; letter-spacing:-.02em; }
.close { width:30px; height:30px; border-radius:50%; border:0; background:var(--gray-soft); color:var(--muted); font-size:18px; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:20px 0; }
.detail-grid div { padding-bottom:9px; border-bottom:1px solid var(--line); }
.detail-grid span { color:var(--muted); display:block; font-size:11px; }
.detail-grid strong { display:block; margin-top:4px; font-size:13px; }
.detail-grid .full { grid-column:1/-1; }
.receipt { margin:16px 0; padding:16px; min-height:180px; border:1px dashed #adc1b2; border-radius:var(--r-sm); background:var(--panel-sunken); color:#466050; text-align:center; display:grid; place-items:center; font-family:ui-monospace,monospace; font-size:12px; }
.acceptance-evidence { margin:18px 0; padding:14px; border:1px solid #cde3d4; border-radius:var(--r-md); background:linear-gradient(135deg, #f4fbf6, #fff); }
.acceptance-evidence-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.acceptance-evidence-head h3 { margin:0; font-size:13px; }
.acceptance-evidence-head span { color:var(--muted); font-size:11px; text-align:right; }
.acceptance-comment { margin-top:12px; padding:10px 11px; border-radius:var(--r-sm); background:white; }
.acceptance-comment span { display:block; color:var(--muted); font-size:10.5px; }
.acceptance-comment p { margin:4px 0 0; font-size:12.5px; line-height:1.4; }
.acceptance-photo { margin:12px 0 0; }
.acceptance-photo img { display:block; width:100%; max-height:270px; object-fit:cover; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--panel-sunken); }
.acceptance-photo figcaption { margin-top:5px; color:var(--muted); font-size:10.5px; }
.attention-photo { margin:12px 0 0; overflow:hidden; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--panel-sunken); }
.attention-photo img { display:block; width:100%; max-height:270px; object-fit:cover; }
.attention-photo figcaption { padding:7px 9px; color:var(--muted); font-size:10.5px; background:white; }
.attention-photo-placeholder { min-height:190px; padding:14px; display:flex; flex-direction:column; justify-content:flex-end; color:white; background:linear-gradient(0deg, rgba(14,42,28,.76), rgba(14,42,28,.06) 65%), linear-gradient(135deg, #8c9a7d, #c7b38c 45%, #687c65); }
.attention-photo-placeholder span { font-size:13px; font-weight:700; }
.attention-photo-placeholder small { margin-top:4px; font-size:10.5px; opacity:.86; }
.audit { display:grid; gap:10px; }
.audit div { border-left:2px solid #88c5a2; padding-left:10px; font-size:12px; }
.audit time { display:block; color:var(--muted); font-size:10px; }
.modal-backdrop { display:grid; place-items:center; padding:18px; }
.modal { width:min(560px, 100%); max-height:92vh; overflow:auto; background:white; border-radius:var(--r-lg); padding:22px; box-shadow:var(--shadow-lg); }
.modal h2 { margin:0 0 5px; font-size:20px; font-weight:700; }
.modal > p { margin:0 0 18px; color:var(--muted); font-size:13px; }
.operation-quick { padding:16px; border:1px solid #b8dfc6; border-radius:var(--r-md); background:linear-gradient(135deg,#eff9f2,#fff); }
.operation-quick h3 { margin:4px 0 5px; color:var(--brand-strong); font-size:17px; letter-spacing:-.025em; }
.operation-quick p { margin:0 0 13px; color:var(--muted); font-size:12px; line-height:1.45; }
.operation-quick-input { display:flex; align-items:center; gap:7px; padding:5px; border:1px solid #9ed4b5; border-radius:12px; background:white; box-shadow:0 0 0 3px rgba(145,207,169,.2); }
.operation-quick-input input { width:100%; min-width:0; border:0; outline:0; color:var(--ink); font:inherit; font-size:14px; }
.operation-quick-input input::placeholder { color:#93a096; }
.operation-quick-input button { flex:0 0 auto; min-height:34px; border:0; border-radius:9px; padding:0 12px; background:var(--brand); color:white; font:inherit; font-weight:650; cursor:pointer; }
.operation-quick-input button:hover { background:var(--brand-dark); }
.operation-examples { display:flex; gap:6px; flex-wrap:wrap; margin-top:11px; }
.operation-examples button, .operation-manual { border:0; background:transparent; color:var(--brand-strong); font:inherit; font-size:11px; cursor:pointer; padding:0; }
.operation-examples button { padding:5px 7px; border-radius:6px; background:rgba(255,255,255,.72); }
.operation-manual { display:block; margin:14px auto 0; text-decoration:underline; text-underline-offset:3px; }
.operation-parsed { display:grid; gap:3px; margin:0 0 14px; padding:11px 12px; border-left:3px solid #71b88e; border-radius:0 var(--r-sm) var(--r-sm) 0; background:var(--mint); }
.operation-parsed span { color:var(--brand-strong); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.operation-parsed strong { font-size:13px; }
.operation-parsed small { color:var(--muted); font-size:11px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form-grid label, .form-stack label { display:grid; gap:5px; font-size:12px; color:#506058; }
.form-stack { display:grid; gap:12px; }
.form-grid .full { grid-column:1/-1; }
.form-control { width:100%; }
.modal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:20px; }
.field-overlay { position:fixed; inset:0; z-index:30; display:grid; place-items:center; padding:20px; background:radial-gradient(circle at 50% 38%, rgba(68,126,91,.22), transparent 36%), rgba(7,17,12,.76); backdrop-filter:blur(4px); }
.phone { width:min(402px,100%); min-height:716px; display:flex; flex-direction:column; padding:7px; border:1px solid transparent; border-radius:44px; background:linear-gradient(155deg,#101815,#26342e 43%,#0b110f 75%,#52635a) padding-box, linear-gradient(135deg,#edf5ef 0%,#86978e 8%,#2c3934 20%,#0d1412 52%,#61736a 87%,#e2ece5 100%) border-box; overflow:hidden; box-shadow:0 44px 90px rgba(0,0,0,.5), 0 12px 26px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.28); position:relative; }
.phone::before { content:""; position:absolute; z-index:2; inset:7px; border:1px solid rgba(255,255,255,.13); border-radius:37px; pointer-events:none; }
.phone-notch { width:126px; height:28px; border:1px solid rgba(255,255,255,.06); border-radius:18px; background:linear-gradient(180deg,#07100d,#111b17); box-shadow:inset 0 1px 1px rgba(255,255,255,.08), 0 1px 2px rgba(0,0,0,.35); position:absolute; z-index:3; left:50%; transform:translateX(-50%); top:13px; }
.phone-notch::before { content:""; position:absolute; width:42px; height:4px; border-radius:5px; background:#1e2a25; box-shadow:inset 0 1px 1px rgba(255,255,255,.08); top:11px; left:30px; }
.phone-notch::after { content:""; position:absolute; width:8px; height:8px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#536a8e 0 12%,#142137 28%,#070d13 62%); box-shadow:0 0 0 1px #0a120f; top:9px; right:20px; }
.phone-head { position:relative; z-index:1; padding:43px 20px 15px; border-radius:36px 36px 0 0; background:radial-gradient(120% 100% at 90% 0%,rgba(99,202,144,.22),transparent 50%), linear-gradient(135deg,#1f6644,#123526); color:white; }
.phone-head small { opacity:.8; }
.phone-head h2 { margin:4px 0 0; font-size:20px; }
.field-object-picker { display:block; width:calc(100% - 48px); margin-top:5px; }
.field-object-picker select { width:100%; appearance:none; border:0; border-bottom:1px solid rgba(255,255,255,.45); padding:1px 24px 4px 0; background:transparent; color:white; font:inherit; font-size:27px; font-weight:700; line-height:1.2; letter-spacing:-.035em; cursor:pointer; background-image:linear-gradient(45deg, transparent 50%, white 50%),linear-gradient(135deg, white 50%, transparent 50%); background-position:calc(100% - 12px) 54%,calc(100% - 6px) 54%; background-size:6px 6px,6px 6px; background-repeat:no-repeat; }
.field-object-picker select:focus-visible { outline:2px solid rgba(255,255,255,.9); outline-offset:4px; }
.field-object-picker option { color:var(--ink); background:white; }
.phone-content { position:relative; z-index:1; flex:1; padding:18px; border-radius:0 0 36px 36px; background:var(--canvas); }
.balance-box { background:var(--mint); border:1px solid #b8dfc6; color:#174b33; padding:14px; border-radius:var(--r-md); margin-bottom:14px; }
.balance-box span { display:block; font-size:12px; }
.balance-box strong { display:block; font-size:24px; margin-top:6px; }
.field-report-cta { width:100%; display:flex; align-items:center; gap:10px; margin:0 0 14px; padding:12px; border:1px solid #9cd1af; border-radius:var(--r-md); background:linear-gradient(135deg,#edf8f0,#fff); color:var(--brand-strong); text-align:left; box-shadow:var(--shadow-xs); }
.field-report-cta:hover { border-color:var(--brand); box-shadow:var(--shadow-sm); }
.field-report-cta i { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:var(--brand); color:white; font-style:normal; }
.field-report-cta span { display:grid; gap:2px; flex:1; }
.field-report-cta strong { font-size:12.5px; }
.field-report-cta small, .field-file-status { color:var(--muted); font-size:10.5px; }
.field-report-cta b { font-size:18px; font-weight:500; }
.field-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.field-action { min-height:95px; padding:12px; border-radius:var(--r-md); border:1px solid var(--line); background:white; color:var(--ink); text-align:left; font-weight:650; font-size:13px; line-height:1.25; box-shadow:var(--shadow-xs); transition:border-color .12s ease, box-shadow .12s ease, transform .12s ease; }
.field-action:hover { border-color:#8fc6a5; box-shadow:var(--shadow-sm); transform:translateY(-1px); }
.field-action i { display:block; font-style:normal; color:var(--brand); font-size:20px; margin-bottom:11px; }
.field-note { color:var(--muted); font-size:11px; line-height:1.5; margin-top:18px; }
.field-close { position:absolute; right:14px; top:29px; width:32px; height:32px; border:0; border-radius:50%; background:rgba(255,255,255,.14); color:white; font-size:23px; line-height:1; }
.balance-box small { display:block; margin-top:6px; color:#547363; font-size:10.5px; }
.field-action:focus-visible { border-color:#8fc6a5; box-shadow:var(--shadow-sm); outline:none; transform:translateY(-1px); }
.field-summary { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
.field-summary div { padding:11px 12px; border-radius:var(--r-sm); background:var(--panel-sunken); }
.field-summary span, .field-summary strong { display:block; }
.field-summary span { color:var(--muted); font-size:10.5px; }
.field-summary strong { margin-top:4px; color:var(--brand-strong); font-size:17px; }
.field-section { margin-top:20px; }
.field-section-head { display:flex; justify-content:space-between; gap:8px; align-items:center; margin-bottom:8px; }
.field-section-head h3, .field-form-title { margin:0; color:var(--ink); font-size:15px; letter-spacing:-.015em; }
.field-history { display:grid; border-top:1px solid var(--line); }
.field-history-row { display:flex; justify-content:space-between; gap:12px; width:100%; padding:11px 1px; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); text-align:left; font:inherit; cursor:pointer; }
.field-history-row:hover strong { color:var(--brand); }
.field-history-row strong, .field-history-row small { display:block; }
.field-history-row strong { font-size:12px; font-weight:650; }
.field-history-row small { margin-top:3px; color:var(--muted); font-size:10px; font-weight:400; }
.field-history-row > .numeric { font-size:12px; font-weight:650; }
.field-history-row > .numeric small { font-weight:400; }
.field-history-all { max-height:410px; overflow:auto; }
.field-back { margin:0 0 15px; padding:0; border:0; background:transparent; color:var(--brand); font-size:12px; font-weight:650; }
.field-form-title { margin-bottom:4px; font-size:18px; }
.field-form { display:grid; gap:12px; margin-top:17px; }
.field-form label { display:grid; gap:5px; color:#506058; font-size:12px; }
.field-optional { color:var(--muted); font-size:10px; font-weight:400; }
.field-file { padding:6px; min-height:39px; font-size:11px; }
.field-attachment { display:grid; gap:7px; color:#506058; font-size:12px; }
.field-attachment-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.field-attachment-actions button { min-height:42px; border:1px solid #b8ddc9; border-radius:var(--r-sm); background:#f4fbf6; color:#236b47; font:inherit; font-size:12px; font-weight:650; }
.field-attachment-actions button:last-child { border-color:var(--line-strong); background:white; color:var(--ink); }
.field-attachment-actions button:hover { border-color:#75b992; background:#e7f6eb; }
.field-attachment small { color:var(--muted); font-size:10.5px; line-height:1.35; }
.field-confirmation-attachment { gap:8px; }
.field-upload-button { display:flex; align-items:center; gap:10px; min-height:60px; padding:9px 11px; border:1px dashed #75b992; border-radius:10px; background:linear-gradient(135deg, #f4fbf6, #fff); color:var(--brand-strong); cursor:pointer; transition:border-color .12s ease, background .12s ease, box-shadow .12s ease, transform .12s ease; }
.field-upload-button:hover { border-color:var(--brand); background:#edf8f0; box-shadow:0 3px 10px rgba(31,102,68,.1); transform:translateY(-1px); }
.field-upload-button:focus-within { outline:3px solid rgba(44,133,86,.3); outline-offset:2px; }
.field-upload-button > span:last-child { display:grid; gap:2px; }
.field-upload-button strong { font-size:12px; font-weight:700; line-height:1.2; }
.field-upload-button small { color:#5d7567; font-size:10px; }
.field-upload-icon { display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; border-radius:9px; background:var(--brand); color:white; font-size:18px; font-weight:700; box-shadow:0 2px 4px rgba(31,102,68,.2); }
.report-upload { margin-top:3px; }
.report-photos { display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
.report-photo { aspect-ratio:1.25; display:grid; place-items:end start; padding:8px; border-radius:var(--r-sm); color:white; font-size:10px; font-weight:650; background:linear-gradient(145deg, rgba(16,47,31,.1), rgba(16,47,31,.58)), linear-gradient(135deg,#d4ded2,#769483); }
.report-photo:nth-child(2n) { background:linear-gradient(145deg, rgba(16,47,31,.08), rgba(16,47,31,.52)), linear-gradient(135deg,#c5c7bc,#888d77); }
.report-photo:nth-child(3n) { background:linear-gradient(145deg, rgba(16,47,31,.08), rgba(16,47,31,.52)), linear-gradient(135deg,#b8d3d9,#638b88); }
.report-copy { margin:20px 0; padding:14px; border-radius:var(--r-md); background:var(--panel-sunken); }
.report-copy h3 { margin:0 0 5px; font-size:12px; }
.report-copy p { margin:0 0 15px; color:var(--muted); font-size:12px; line-height:1.5; }
.report-copy p:last-child { margin-bottom:0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.field-quick { margin-top:14px; padding:16px; border:1px solid #b8dfc6; border-radius:var(--r-md); background:linear-gradient(135deg,#eff9f2,#fff); }
.field-quick-copy h3 { margin:4px 0 5px; color:var(--brand-strong); font-size:17px; letter-spacing:-.025em; }
.field-quick-copy p { margin:0 0 13px; color:var(--muted); font-size:11.5px; line-height:1.45; }
.field-quick-input { display:flex; align-items:center; gap:6px; padding:5px; border:1px solid #9ed4b5; border-radius:12px; background:white; box-shadow:0 0 0 3px rgba(145,207,169,.2); }
.field-quick-input input { width:100%; min-width:0; border:0; outline:0; color:var(--ink); font:inherit; font-size:13px; }
.field-quick-input input::placeholder { color:#93a096; }
.field-quick-input button { width:34px; height:34px; flex:0 0 34px; border:0; border-radius:9px; background:var(--brand); color:white; font-size:21px; line-height:1; transition:transform .12s ease, background .12s ease; }
.field-quick-input button:hover { background:var(--brand-dark); transform:translateY(-1px); }
.field-examples { display:flex; gap:6px; flex-wrap:wrap; margin-top:11px; }
.field-examples button { padding:5px 7px; border:1px solid #cde6d6; border-radius:20px; background:white; color:#357e58; font-size:9.5px; line-height:1.25; }
.field-examples button:hover { border-color:#87c4a0; background:#f7fcf8; }
.field-classic { margin-top:16px; }
.field-classic .field-section-head span { color:var(--muted); font-size:10px; }
.field-parsed { display:grid; gap:4px; margin:12px 0 2px; padding:11px 12px; border-radius:var(--r-sm); background:#edf8f0; border:1px solid #c5e5d0; }
.field-parsed span { color:#43835e; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.field-parsed strong { font-size:12px; line-height:1.35; font-weight:650; }
.field-parsed small { color:var(--muted); font-size:10.5px; line-height:1.35; }
.field-mode-card label { display:grid; gap:6px; margin-top:14px; color:#506058; font-size:12px; }
.toast { position:fixed; right:24px; bottom:24px; z-index:50; padding:12px 15px; border-radius:var(--r-sm); background:var(--brand-dark); color:white; font-size:13px; box-shadow:var(--shadow-lg); animation:toast .2s ease-out; }
@keyframes slide-in { from { transform:translateX(25px); opacity:.5; } to { transform:none; opacity:1; } } @keyframes toast { from { transform:translateY(10px); opacity:0; } to { transform:none; opacity:1; } }
@media (max-width:1150px) {
  .metrics { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .metrics > * { grid-column:span 2; }
  .metrics > :nth-child(4):nth-last-child(2) { grid-column:2 / span 2; }
  .metrics > :last-child:nth-child(5) { grid-column:4 / span 2; }
  .dashboard-grid, .command-grid { grid-template-columns:1fr; }
}
@media (max-width:820px) {
  .sidebar { position:fixed; z-index:12; transform:translateX(-100%); transition:transform .18s; }.sidebar.open { transform:none; }.main-content { width:100%; }.mobile-menu { display:block; border:0; background:none; font-size:19px; }.topbar { padding:0 18px; }.page { padding:22px 18px 42px; }.page-header, .object-hero { align-items:flex-start; flex-direction:column; }.page-header > div:first-child { flex-direction:column; align-items:flex-start; gap:2px; }.metrics, .mini-metrics { grid-template-columns:repeat(2,1fr); }.metrics > * { grid-column:auto; }.metrics > :last-child:nth-child(5), .object-pulse > :last-child:nth-child(5) { grid-column:1 / -1; }.two-cols, .three-cols { grid-template-columns:1fr; }.object-actions { flex-wrap:wrap; }.filterbar input { min-width:0; flex:1; }.signal-strip,.object-pulse { grid-template-columns:repeat(2,1fr); }.signal-strip > :nth-child(3),.object-pulse div:nth-child(3) { border-left:0; border-top:1px solid var(--line); }.signal-strip > :nth-child(4),.object-pulse div:nth-child(4),.object-pulse div:nth-child(5) { border-top:1px solid var(--line); }.command-hero { flex-direction:column; min-height:auto; padding:21px; }.command-hero h2 { font-size:22px; }.cal-grid { grid-template-columns:repeat(7,minmax(38px,1fr)); gap:4px; }.cal-cell { min-height:48px; padding:4px; font-size:9px; }.cal-pay { font-size:8px; padding:1px 3px; }
  .summary-banner { align-items:flex-start; flex-direction:column; }.summary-banner > span { min-width:0; }
  .data-table-wrap:has(.attention-table) { overflow:visible; }.attention-table, .attention-table tbody { display:block; min-width:0; width:100%; }.attention-table thead { display:none; }.attention-table tr { display:grid; grid-template-columns:minmax(0, 1fr) auto; grid-template-areas:"priority amount" "problem problem" "object created" "action action"; gap:7px 12px; padding:14px 0; border-top:1px solid var(--line); }.attention-table tr:first-child { border-top:0; padding-top:0; }.attention-table td { min-width:0; padding:0; border:0; }.attention-table td:nth-child(1) { grid-area:priority; }.attention-table td:nth-child(2) { grid-area:problem; }.attention-table td:nth-child(3) { grid-area:object; }.attention-table td:nth-child(4) { grid-area:amount; align-self:center; }.attention-table td:nth-child(5) { grid-area:created; align-self:center; color:var(--muted); font-size:11px; text-align:right; }.attention-table td:last-child { grid-area:action; width:auto; text-align:left; }.attention-table .table-actions { min-width:0; width:100%; }.attention-table .table-actions .button { width:100%; }
}
@media (max-width:480px) { .metrics, .mini-metrics, .percentage-setup-body { grid-template-columns:1fr; }.form-grid { grid-template-columns:1fr; }.form-grid .full { grid-column:auto; }.topbar { height:55px; }.page { padding:18px 14px 35px; }.metric-card { min-height:auto; }.phone { min-height:620px; } }
