:root { --brand:#183f78; --brand-soft:#e7efff; --ink:#1a1b20; --muted:#606570; --line:#e2e4e9; --canvas:#f7f8fa; }
.sap-readiness-note { align-items:flex-start; background:#f3f7ff; border:1px solid #cbd9ed; border-radius:10px; color:#46546a; display:flex; gap:10px; margin:-12px 0 18px; padding:11px 13px; }.sap-readiness-note > .material-symbols-rounded { color:var(--brand); font-size:21px; }.sap-readiness-note strong { color:#29384d; display:block; font-size:12px; }.sap-readiness-note p { font-size:12px; line-height:1.45; margin:2px 0 0; }
.dashboard-freshness { align-items:center; color:#68707b; display:flex; font-size:12px; gap:6px; justify-content:flex-end; margin:-16px 0 10px; }.dashboard-freshness .material-symbols-rounded { color:#33764d; font-size:17px; }.freshness-note { color:#858b94; }.metric-link { color:inherit; position:relative; text-decoration:none; transition:border-color .15s,box-shadow .15s,transform .15s; }.metric-link:hover,.metric-link:focus { border-color:#9eb7dc; box-shadow:0 8px 20px rgba(24,63,120,.09); color:inherit; outline:0; transform:translateY(-1px); }.metric-arrow { color:#7890b3; font-size:19px; margin-left:auto; }.inventory-source { color:var(--muted); font-size:12px; margin-top:5px; max-width:760px; }.inventory-source a { color:var(--brand); font-weight:700; }.compact-filter-card .card-body { padding:14px 16px; }.compact-filter-card .compact-filter-grid { display:grid; gap:10px 12px; grid-template-columns:repeat(5,minmax(130px,1fr)); }.compact-filter-grid .mb-3 { margin:0!important; }.compact-filter-grid label { font-size:11px; font-weight:700; margin-bottom:4px; }.compact-filter-grid .form-control,.compact-filter-grid .select2-container--bootstrap-5 .select2-selection { min-height:36px; padding-bottom:5px; padding-top:5px; }.compact-filter-actions { align-items:end; display:flex; gap:7px; }.request-status.manager_review,.request-status.finance_review,.request-status.final_approval { background:#fff0dd; color:#8a5a12; }.request-status.returned,.request-status.cancelled { background:#fbe9eb; color:#a63f49; }.workflow-actions { align-items:flex-start; flex-basis:100%; flex-wrap:wrap; justify-content:flex-end; }.workflow-actions form { align-items:center; display:flex; gap:6px; }.workflow-actions .form-control { min-width:175px; }.request-note { align-items:flex-start; background:#f6f8fb; border-radius:8px; color:#5c6470; display:flex; flex-basis:100%; font-size:12px; gap:7px; margin-left:54px; padding:8px 10px; }.request-note .material-symbols-rounded { color:var(--brand); font-size:17px; }.request-note strong { color:#363c46; display:block; font-size:11px; margin-bottom:2px; }
@media (max-width:1100px) { .compact-filter-card .compact-filter-grid { grid-template-columns:repeat(3,minmax(130px,1fr)); } }
@media (max-width:767px) { .dashboard-freshness { align-items:flex-start; flex-direction:column; margin-top:-12px; }.compact-filter-card .compact-filter-grid { grid-template-columns:1fr; }.workflow-actions,.workflow-actions form { align-items:stretch; flex-direction:column; width:100%; }.request-note { margin-left:0; }.freshness-note { display:block; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--canvas); color:var(--ink); font-family:Roboto,Arial,sans-serif; font-size:14px; }
.auth-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 15% 15%,#e9f0ff 0,transparent 30%),var(--canvas); }.login-card { width:min(100%,420px); background:#fff; border:1px solid var(--line); border-radius:16px; padding:35px; box-shadow:0 16px 45px rgba(29,51,85,.09); }.login-brand { padding:0 0 30px; width:max-content; }.login-card .eyebrow { margin:0 0 10px; }.login-card h1 { font-size:25px; margin:0; letter-spacing:-.5px; }.login-subtitle { color:var(--muted); line-height:1.5; margin:9px 0 26px; }.login-card label { font-weight:500; color:#343942; margin-bottom:6px; }.login-card input { border-color:#ccd2dc; border-radius:8px; min-height:43px; }.login-help { display:flex; align-items:center; justify-content:center; gap:5px; color:#737985; font-size:11px; margin:20px 0 0; }.login-help .material-symbols-rounded { font-size:15px; }
.material-symbols-rounded { font-variation-settings:'FILL' 0,'wght' 500,'GRAD' 0,'opsz' 24; vertical-align:middle; }
.app-shell { min-height:100vh; display:flex; }
.app-sidebar { display:block!important; width:264px; flex:0 0 264px; background:#fff; border-right:1px solid var(--line); padding:24px 14px 18px; position:sticky; top:0; height:100vh; }
.brand { color:var(--ink); display:flex; align-items:center; gap:11px; font-weight:700; font-size:20px; text-decoration:none; padding:0 10px 35px; letter-spacing:-.5px; }
.brand-mark { display:grid; place-items:center; width:37px; height:30px; background:var(--brand); color:#fff; border-radius:7px; font-size:12px; letter-spacing:-.8px; }
.sidebar-label,.eyebrow { color:#777c87; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.sidebar-label { padding:0 12px; margin:0 0 8px; }
.app-nav { gap:2px; margin-bottom:29px; }.app-nav .nav-link { color:#4c5059; display:flex; gap:15px; align-items:center; border-radius:9px; padding:10px 12px; font-weight:500; }.app-nav .nav-link:hover,.app-nav .nav-link:focus { background:var(--brand-soft); color:var(--brand); }.app-nav .material-symbols-rounded { font-size:21px; }
.sidebar-footer { position:absolute; bottom:22px; left:26px; color:#737781; font-size:12px; display:flex; gap:8px; align-items:center; }.status-dot { width:8px; height:8px; background:#40a365; border-radius:50%; }
.app-content { min-width:0; flex:1; }.topbar { height:72px; border-bottom:1px solid var(--line); background:#fff; display:flex; align-items:center; justify-content:space-between; padding:0 36px; }.topbar-location { display:flex; align-items:center; gap:7px; font-weight:500; }.topbar-location .material-symbols-rounded { color:var(--brand); font-size:20px; }.topbar-location .arrow { color:#717580; font-size:18px; }.topbar-actions { display:flex; gap:14px; align-items:center; }.icon-button { border:0; background:transparent; color:#565b66; padding:7px; position:relative; }.notification i { position:absolute; top:5px; right:5px; width:7px; height:7px; border-radius:50%; background:#e34248; border:1px solid #fff; }.user-avatar { height:35px; width:35px; border-radius:50%; display:grid; place-items:center; background:#e8effc; color:var(--brand); font-weight:700; margin-left:4px; }.user-meta { line-height:1.22; font-size:12px; }.user-meta strong,.user-meta span { display:block; }.user-meta span { color:var(--muted); margin-top:2px; }.signout { border:0; background:transparent; color:#59606b; font-size:12px; padding:5px; }.main-area { max-width:1440px; margin:auto; padding:37px 42px 56px; }
.dashboard-heading { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:30px; }.dashboard-heading .eyebrow { margin:0 0 9px; }.dashboard-heading h1 { margin:0; font-size:28px; font-weight:700; letter-spacing:-.6px; }.dashboard-heading p:not(.eyebrow) { margin:8px 0 0; color:var(--muted); font-size:15px; }.dashboard-actions { display:flex; gap:10px; }.btn { border-radius:8px; display:inline-flex; align-items:center; gap:7px; font-weight:500; padding:10px 14px; font-size:13px; }.btn .material-symbols-rounded { font-size:19px; }.btn-brand { background:var(--brand); border-color:var(--brand); color:#fff; }.btn-brand:hover { background:#103469; color:white; }.btn-outline-brand { color:var(--brand); border-color:#cbd1db; background:#fff; }.btn-outline-brand:hover { color:var(--brand); background:var(--brand-soft); border-color:var(--brand-soft); }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px; }.metric-card,.surface { background:#fff; border:1px solid var(--line); border-radius:12px; }.metric-card { min-height:142px; display:flex; align-items:flex-start; gap:14px; padding:20px; }.metric-icon { width:42px; height:42px; border-radius:10px; display:grid; place-items:center; flex:none; }.metric-icon .material-symbols-rounded { font-size:23px; }.metric-icon.blue { background:#e7efff;color:#2463c5; }.metric-icon.orange { background:#fff0dc;color:#c87512; }.metric-icon.purple { background:#f0eafd;color:#7652be; }.metric-icon.green { background:#e6f5eb;color:#27834c; }.metric-card p { color:var(--muted); margin:1px 0 6px; font-size:13px; }.metric-card strong { font-size:27px; line-height:1; letter-spacing:-.5px; }.metric-card small { color:#7b808b; display:block; margin-top:9px; font-size:11px; }.metric-card small.up { color:#328358; }.metric-card small .material-symbols-rounded { font-size:14px; }
.work-grid { display:grid; grid-template-columns:1.17fr .83fr; gap:24px; }.lower-grid { margin-top:24px; grid-template-columns:1fr 1fr; }.surface { padding:23px 24px; }.surface-header { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:18px; }.surface-header .eyebrow,.quick-tools .eyebrow { margin:0 0 6px; }.surface h2,.quick-tools h2 { font-size:17px; margin:0; font-weight:700; letter-spacing:-.15px; }.queue-count { background:#fce8e8; color:#aa3e43; border-radius:99px; padding:5px 9px; font-size:11px; font-weight:700; }.priority-item { display:flex; align-items:center; border-top:1px solid var(--line); padding:16px 0; gap:13px; }.priority-item:last-child { padding-bottom:0; }.priority-icon { width:39px; height:39px; border-radius:10px; display:grid; place-items:center; flex:none; }.priority-icon.rose { color:#b54550;background:#fbe9eb; }.priority-icon.amber { color:#b87718;background:#fff3df; }.priority-icon.violet { color:#7255a4;background:#f0eafb; }.priority-item strong,.schedule-item strong,.check-item strong,.care-card strong { font-size:13px; }.priority-item p,.schedule-item p,.check-item p,.care-card p { color:var(--muted); margin:4px 0 0; font-size:12px; }.text-action { color:var(--brand); text-decoration:none; font-size:12px; font-weight:700; display:inline-flex; align-items:center; gap:2px; white-space:nowrap; }.text-action .material-symbols-rounded { font-size:16px; }.priority-item .text-action { margin-left:auto; }.schedule-item { display:grid; grid-template-columns:44px 3px 1fr; gap:12px; padding:13px 0; }.schedule-item + .schedule-item { border-top:1px solid var(--line); }.schedule-item time { color:#646974; font-size:10px; padding-top:1px; }.schedule-item time strong { display:block; color:#2f333b; font-size:12px; }.schedule-item time span { font-size:9px; }.schedule-line { width:3px; border-radius:4px; }.blue-line { background:#4d83d9;}.orange-line { background:#e19b37;}.purple-line { background:#8969c6; }
.check-item { display:flex; align-items:center; gap:12px; padding:14px 0; border-top:1px solid var(--line); }.check { width:24px; height:24px; border-radius:50%; display:grid; place-items:center; font-size:15px; }.check.complete { background:#e5f5eb; color:#34845a; }.check.progress { background:#fff0dd; color:#bd7a18; }.check.pending { background:#edf0f5; color:#78808c; }.item-count { margin-left:auto; font-size:12px; font-weight:700; background:#eef1f5; border-radius:99px; padding:4px 8px; }.item-count.warn { color:#aa6610; background:#fff0dd; }.care-card { background:#f7f9fd; border:1px solid #ebedf2; border-radius:10px; padding:14px; display:flex; align-items:center; gap:12px; }.care-card + .care-card { margin-top:10px; }.care-card > .material-symbols-rounded:first-child { color:var(--brand); background:#e9effb; padding:8px; border-radius:8px; }.muted-arrow { color:#8a909a; margin-left:auto; }
.quick-tools { margin-top:24px; display:flex; align-items:center; justify-content:space-between; }.tool-list { display:flex; gap:8px; }.tool-list a { padding:10px 11px; border:1px solid var(--line); border-radius:8px; text-decoration:none; color:#454a53; font-size:12px; display:flex; align-items:center; gap:7px; }.tool-list a:hover { color:var(--brand); border-color:#bfd0ee; background:#f7faff; }.tool-list .material-symbols-rounded { font-size:18px; color:var(--brand); }
.compact-heading { align-items:center; }.subsidy-form { max-width:1280px; }.form-section { margin-bottom:20px; }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }.form-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }.subsidy-field label { display:block; color:#555b66; font-size:12px; font-weight:600; margin:0 0 6px; }.subsidy-field input,.subsidy-field select,.subsidy-field textarea { width:100%; border:1px solid #cbd1db; border-radius:7px; background:#fff; color:#232731; padding:9px 10px; font-size:13px; min-height:39px; }.subsidy-field textarea { resize:vertical; }.subsidy-columns { display:grid; grid-template-columns:1.16fr .84fr; gap:20px; }.cost-head,.cost-row { display:grid; grid-template-columns:1fr 120px 120px; gap:8px; align-items:center; }.cost-head { color:#737985; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; padding:0 0 8px; }.cost-group { border-top:1px solid var(--line); padding:12px 0 5px; }.cost-group > strong { display:block; font-size:11px; letter-spacing:.7px; text-transform:uppercase; color:#606773; margin-bottom:6px; }.cost-row { padding:4px 0; }.cost-row label { font-size:12px; color:#40454e; }.cost-row input { width:100%; min-width:0; border:1px solid #d9dde4; border-radius:6px; padding:6px 7px; font-size:12px; }.income-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.total-box { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding:12px 0 0; margin-top:12px; color:#5c626e; font-size:12px; }.total-box strong { color:#272c35; font-size:14px; }.total-box.emphasis { border:1px solid #b9c9e6; background:#f3f7ff; padding:12px; border-radius:8px; color:var(--brand); }.total-box.emphasis strong { color:var(--brand); }.cashout-card { border:1px solid #b9c9e6; background:#f3f7ff; border-radius:9px; padding:18px; align-self:end; }.cashout-card span,.cashout-card small { display:block; color:#646c78; font-size:12px; }.cashout-card strong { display:block; color:var(--brand); font-size:25px; margin:6px 0; }.form-submit { display:flex; justify-content:flex-end; gap:10px; margin:4px 0 30px; }.subsidy-list-row { display:flex; align-items:center; gap:14px; padding:15px 0; border-bottom:1px solid var(--line); }.subsidy-list-row:last-child { border-bottom:0; }.subsidy-list-icon { display:grid; place-items:center; width:40px; height:40px; flex:none; background:#e7efff; color:var(--brand); border-radius:10px; }.subsidy-list-main { min-width:0; flex:1; }.subsidy-list-main p { margin:4px 0 0; color:var(--muted); font-size:12px; }.request-amount { text-align:right; min-width:115px; }.request-amount small,.request-amount strong { display:block; }.request-amount small { color:#737985; font-size:11px; }.request-amount strong { font-size:13px; }.request-status { border-radius:99px; padding:5px 9px; font-size:11px; font-weight:700; min-width:70px; text-align:center; }.request-status.pending { background:#fff0dd; color:#a56712; }.request-status.approved { background:#e5f5eb; color:#34845a; }.request-status.rejected { background:#fbe9eb; color:#b54550; }.request-actions { display:flex; gap:7px; }.request-actions .btn { padding:6px 8px; font-size:11px; }
.getting-started { display:flex; align-items:center; justify-content:space-between; padding:18px 22px; margin:0 0 24px; background:linear-gradient(100deg,#f1f6ff,#fff); }.guide-title { display:flex; align-items:center; gap:12px; }.guide-title > .material-symbols-rounded { color:var(--brand); background:#dce8fc; border-radius:10px; padding:9px; }.guide-title .eyebrow { margin:0 0 4px; }.guide-steps { display:flex; gap:24px; }.guide-steps > div { display:flex; align-items:center; gap:8px; }.guide-steps b { width:24px; height:24px; display:grid; place-items:center; background:var(--brand); color:#fff; font-size:12px; border-radius:50%; }.guide-steps strong,.guide-steps small { display:block; font-size:12px; }.guide-steps small { color:var(--muted); margin-top:3px; }.reservation-metrics { grid-template-columns:repeat(3,1fr); }.empty-state { text-align:center; color:var(--muted); padding:38px 10px 24px; }.empty-state .material-symbols-rounded { color:#4f926b; font-size:32px; }.empty-state p { margin:7px 0 0; }.full-width-action { margin-top:15px; border:1px solid #cfdbef; border-radius:8px; padding:10px; display:flex; justify-content:center; align-items:center; gap:4px; color:var(--brand); text-decoration:none; font-size:12px; font-weight:700; }
.table td,.table th { vertical-align:middle; }.select2-container--bootstrap-5 .select2-selection { min-height:38px; }
.upload-surface { max-width:850px; }.upload-guide { display:flex; gap:14px; align-items:flex-start; }.upload-guide > .material-symbols-rounded { color:var(--brand); background:var(--brand-soft); padding:11px; border-radius:10px; font-size:25px; }.upload-guide h2 { font-size:17px; margin:2px 0 5px; }.upload-guide p { color:var(--muted); margin:0; line-height:1.5; }
.allocation-queue { display:grid; gap:16px; }.allocation-card { display:grid; gap:24px; grid-template-columns:minmax(250px,.8fr) minmax(380px,1.2fr); padding:22px; }.allocation-request { align-items:flex-start; display:flex; gap:12px; }.allocation-avatar { align-items:center; background:#e7efff; border-radius:10px; color:var(--brand); display:flex; font-size:22px; height:42px; justify-content:center; width:42px; }.allocation-copy { min-width:0; }.allocation-copy .eyebrow { margin:1px 0 4px; }.allocation-copy h2 { font-size:18px; margin:0; }.allocation-copy p:not(.eyebrow) { color:#4e5663; font-size:13px; margin:5px 0; }.allocation-copy small { color:var(--muted); font-size:12px; line-height:1.45; }.allocation-options { border-left:1px solid var(--line); padding-left:24px; }.allocation-options-head { align-items:center; color:var(--brand); display:flex; font-size:12px; gap:7px; margin:0 0 7px; text-transform:uppercase; }.allocation-options-head .material-symbols-rounded { font-size:18px; }.allocation-unit { align-items:center; border-top:1px solid var(--line); display:flex; gap:12px; justify-content:space-between; padding:11px 0; }.allocation-unit.color-match { background:#eff8f1; margin:0 -8px; padding-left:8px; padding-right:8px; }.allocation-unit strong,.allocation-unit span,.allocation-unit small { display:block; }.allocation-unit strong { color:#29303a; font-size:13px; }.allocation-unit span { color:#4c5460; font-size:12px; margin-top:2px; }.allocation-unit small { color:var(--muted); font-size:11px; margin-top:2px; }.allocation-empty { align-items:center; color:var(--muted); display:flex; font-size:12px; gap:7px; margin:14px 0; }.allocation-empty .material-symbols-rounded { color:#8792a0; font-size:19px; }
.search-dialog { max-width:680px; margin-top:11vh; }.search-dialog .modal-content { border:1px solid var(--line); border-radius:14px; box-shadow:0 20px 60px #15284b30; }.search-input-wrap { align-items:center; border:1px solid #b9c8df; border-radius:10px; display:flex; flex:1; gap:9px; padding:4px 10px; }.search-input-wrap .material-symbols-rounded { color:var(--brand); }.search-input-wrap input:focus { box-shadow:none; }.search-input-wrap kbd,.search-footer kbd { color:#596273; background:#f1f3f6; border:1px solid #dfe3e8; border-radius:4px; font-size:10px; padding:2px 5px; }.search-hint,.search-empty { color:var(--muted); font-size:12px; margin:9px 4px 13px; }.search-result { align-items:center; border-radius:9px; color:var(--ink); display:grid; gap:12px; grid-template-columns:76px 1fr 20px; padding:10px; text-decoration:none; }.search-result:hover,.search-result.active { background:var(--brand-soft); color:var(--ink); }.search-result-type { color:var(--brand); font-size:10px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; }.search-result strong,.search-result small { display:block; }.search-result small { color:var(--muted); font-size:12px; margin-top:2px; }.search-result > .material-symbols-rounded { color:var(--brand); font-size:18px; }.search-footer { color:var(--muted); display:flex; font-size:11px; gap:14px; justify-content:flex-end; }.form-text { color:#6b7280; font-size:12px; }.select2-container--bootstrap-5 .select2-selection { border-color:#cbd1db; }
.workflow-form { max-width:920px; }.workflow-form .card-header { background:#f6f8fc; color:var(--brand); font-size:12px; font-weight:700; }.workflow-form .form-label { font-weight:600; }.workflow-form textarea { min-height:100px; }
.assistant-page { max-width:1120px; }.assistant-heading h1 { align-items:center; display:flex; gap:10px; }.assistant-heading h1 .material-symbols-rounded { color:var(--brand); font-size:30px; }.assistant-layout { display:grid; gap:24px; grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr); }.assistant-chat { min-height:470px; padding:26px; }.assistant-welcome { align-items:flex-start; display:flex; gap:13px; }.assistant-welcome > .material-symbols-rounded { background:#e7efff; border-radius:10px; color:var(--brand); font-size:24px; padding:10px; }.assistant-welcome strong { font-size:16px; }.assistant-welcome p { color:var(--muted); margin:4px 0 0; }.assistant-answer { align-items:flex-start; background:#f4f8ff; border:1px solid #cbdcf4; border-radius:11px; display:flex; gap:13px; margin:24px 0; padding:18px; }.assistant-answer > .material-symbols-rounded { background:var(--brand); border-radius:9px; color:#fff; flex:none; font-size:21px; padding:8px; }.assistant-answer .eyebrow { margin:1px 0 4px; }.assistant-answer h2 { font-size:17px; margin:0; }.assistant-answer p:not(.eyebrow) { color:#414956; line-height:1.5; margin:7px 0 0; }.assistant-answer-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }.assistant-answer-links a { align-items:center; background:#fff; border:1px solid #abc5e9; border-radius:8px; color:var(--brand); display:inline-flex; font-size:13px; font-weight:700; gap:3px; padding:9px 11px; text-decoration:none; }.assistant-answer-links a:hover,.assistant-answer-links a:focus { background:#e7efff; outline:3px solid #bcd2f4; outline-offset:1px; }.assistant-answer-links .material-symbols-rounded { font-size:17px; }.assistant-question-form { border-top:1px solid var(--line); margin-top:28px; padding-top:21px; }.assistant-question-form label { display:block; font-size:14px; font-weight:700; margin-bottom:8px; }.assistant-input-row { display:flex; gap:10px; }.assistant-input-row input { border:1px solid #9eabbf; border-radius:8px; flex:1; font-size:16px; min-height:48px; padding:10px 13px; }.assistant-input-row input:focus { border-color:#2864b7; box-shadow:0 0 0 3px #2864b722; outline:0; }.assistant-input-row .btn { min-height:48px; white-space:nowrap; }.assistant-suggestions { align-self:start; padding:24px; }.assistant-suggestions .eyebrow { margin:0 0 6px; }.assistant-suggestions h2 { font-size:18px; margin:0 0 14px; }.assistant-prompt-list { display:grid; gap:8px; }.assistant-prompt-list button { align-items:center; background:#fff; border:1px solid #d8dce3; border-radius:9px; color:#303641; display:flex; font-size:13px; gap:9px; min-height:54px; padding:9px 10px; text-align:left; }.assistant-prompt-list button:hover,.assistant-prompt-list button:focus { background:#f2f6fd; border-color:#9eb9df; color:var(--brand); outline:3px solid #bcd2f433; }.assistant-prompt-list .material-symbols-rounded { color:var(--brand); font-size:20px; }.assistant-note { align-items:flex-start; border-top:1px solid var(--line); color:var(--muted); display:flex; font-size:12px; gap:7px; line-height:1.45; margin:18px 0 0; padding-top:15px; }.assistant-note .material-symbols-rounded { color:#407a58; font-size:17px; }
.ai-settings-page { max-width:1040px; }.ai-settings-page h1 { align-items:center; display:flex; gap:9px; }.ai-settings-page h1 .material-symbols-rounded { color:var(--brand); font-size:29px; }.ai-settings-layout { display:grid; gap:24px; grid-template-columns:minmax(0,1fr) 300px; }.ai-settings-form { padding:27px; }.ai-settings-intro { align-items:flex-start; display:flex; gap:13px; margin-bottom:22px; }.ai-settings-intro > .material-symbols-rounded { background:var(--brand-soft); border-radius:10px; color:var(--brand); font-size:24px; padding:10px; }.ai-settings-intro h2 { font-size:18px; margin:2px 0 5px; }.ai-settings-intro p { color:var(--muted); line-height:1.5; margin:0; }.ai-status { align-items:flex-start; border:1px solid; border-radius:9px; display:flex; font-size:13px; gap:10px; margin:0 0 22px; padding:12px; }.ai-status.ready { background:#edf8f0; border-color:#bce0c7; color:#27663d; }.ai-status.missing { background:#fff6e8; border-color:#efd49f; color:#805c14; }.ai-status .material-symbols-rounded { font-size:21px; }.ai-status strong,.ai-status small { display:block; }.ai-status small { color:inherit; margin-top:3px; opacity:.85; }.ai-catalog-status { align-items:center; background:#f3f7ff; border:1px solid #cad9f0; border-radius:9px; color:#385274; display:flex; flex-wrap:wrap; font-size:12px; gap:7px; margin:0 0 22px; padding:9px 11px; }.ai-catalog-status > .material-symbols-rounded { color:var(--brand); font-size:19px; }.ai-catalog-status small { color:#66758b; }.ai-catalog-status .btn { margin-left:auto; padding:6px 7px; }.ai-catalog-status .btn .material-symbols-rounded { font-size:17px; }.ai-model-field { margin:0 0 20px; }.ai-model-field label { color:#343a45; display:block; font-size:13px; font-weight:700; margin-bottom:7px; }.ai-model-field label span { color:var(--muted); font-weight:400; }.ai-model-field input { border:1px solid #aeb7c5; border-radius:7px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:14px; min-height:45px; padding:10px 11px; width:100%; }.ai-model-field input:focus { border-color:#2864b7; box-shadow:0 0 0 3px #2864b722; outline:0; }.ai-model-field p { color:var(--muted); font-size:12px; margin:7px 0 0; }.ai-model-field code { color:#344d77; font-size:11px; }.field-error { color:#b3261e; font-size:12px; margin-top:6px; }.ai-settings-help { align-self:start; padding:23px; }.ai-settings-help > .material-symbols-rounded { background:#e7efff; border-radius:9px; color:var(--brand); font-size:23px; padding:9px; }.ai-settings-help h2 { font-size:17px; margin:14px 0 7px; }.ai-settings-help p { color:var(--muted); font-size:13px; line-height:1.55; margin:0 0 13px; }
.ask-ai-launcher { align-items:center; background:var(--brand); border:0; border-radius:99px; bottom:24px; box-shadow:0 10px 28px rgba(24,63,120,.32); color:#fff; cursor:grab; display:flex; font-size:14px; font-weight:700; gap:8px; padding:12px 16px; position:fixed; right:24px; touch-action:none; z-index:1041; }.ask-ai-launcher:active { cursor:grabbing; }.ask-ai-launcher:hover,.ask-ai-launcher:focus { background:#103469; color:#fff; outline:3px solid #bcd2f4; outline-offset:2px; }.ask-ai-launcher .material-symbols-rounded { font-size:20px; }.ask-ai-drawer { background:#fff; border:1px solid #cbd4e1; border-radius:14px; bottom:86px; box-shadow:0 18px 48px rgba(22,42,79,.24); display:flex; flex-direction:column; max-height:min(650px,calc(100vh - 112px)); opacity:0; overflow:hidden; pointer-events:none; position:fixed; right:24px; transform:translateY(12px); transition:opacity .18s,transform .18s; width:min(410px,calc(100vw - 32px)); z-index:1041; }.ask-ai-drawer.is-open { opacity:1; pointer-events:auto; transform:translateY(0); }.ask-ai-drawer header { align-items:center; background:#f5f8fd; border-bottom:1px solid #dce3ed; display:flex; justify-content:space-between; padding:13px 14px 12px 16px; }.ask-ai-drawer header > div { align-items:center; display:flex; gap:9px; }.ask-ai-drawer header > div > .material-symbols-rounded { background:#dbe8fb; border-radius:8px; color:var(--brand); font-size:20px; padding:7px; }.ask-ai-drawer header strong,.ask-ai-drawer header small { display:block; }.ask-ai-drawer header strong { font-size:14px; }.ask-ai-drawer header small { color:var(--muted); font-size:11px; margin-top:1px; }.ask-ai-messages { display:flex; flex:1; flex-direction:column; gap:13px; min-height:250px; overflow-y:auto; padding:16px; }.ask-ai-message { align-items:flex-start; display:flex; gap:7px; max-width:91%; }.ask-ai-message.assistant > .material-symbols-rounded { background:#e5efff; border-radius:8px; color:var(--brand); flex:none; font-size:18px; padding:6px; }.ask-ai-message > div,.ask-ai-message > p { border-radius:10px; line-height:1.45; margin:0; padding:10px 11px; }.ask-ai-message.assistant > div { background:#f0f5fd; color:#334052; }.ask-ai-message.user { align-self:flex-end; justify-content:flex-end; }.ask-ai-message.user > div { background:var(--brand); color:#fff; }.ask-ai-message strong { display:block; font-size:13px; margin-bottom:4px; }.ask-ai-message p { font-size:13px; margin:0; }.ask-ai-message a { color:var(--brand); display:block; font-size:12px; font-weight:700; margin-top:8px; text-decoration:none; }.ask-ai-message a:hover { text-decoration:underline; }.ask-ai-chat-form { border-top:1px solid #dce3ed; display:flex; gap:8px; padding:11px; }.ask-ai-chat-form input { border:1px solid #aeb7c5; border-radius:8px; flex:1; font-size:14px; min-width:0; padding:9px 10px; }.ask-ai-chat-form input:focus { border-color:#2864b7; box-shadow:0 0 0 3px #2864b722; outline:0; }.ask-ai-chat-form .btn { justify-content:center; min-width:43px; padding:8px; }.ask-ai-chat-form .btn .material-symbols-rounded { margin:0; }
.material-dialog .modal-content { background:#fdfbff; border:0; border-radius:28px; box-shadow:0 24px 64px rgba(28,39,60,.28); overflow:hidden; }.material-dialog .modal-header { align-items:flex-start; border:0; gap:14px; padding:24px 24px 12px; }.material-dialog .modal-title { color:#202124; font-size:22px; font-weight:500; letter-spacing:-.25px; line-height:1.25; margin:0; }.material-dialog .eyebrow { margin:2px 0 5px; }.material-dialog .modal-body { color:#4e5663; font-size:14px; line-height:1.55; padding:10px 24px 20px; }.material-dialog .modal-footer { border:0; gap:8px; padding:12px 16px 16px; }.material-dialog-icon { align-items:center; background:#e7efff; border-radius:14px; color:var(--brand); display:grid; flex:0 0 44px; height:44px; place-items:center; width:44px; }.material-dialog-icon .material-symbols-rounded { font-size:23px; }.material-close { align-items:center; background:transparent; border:0; border-radius:50%; color:#555d68; display:grid; height:40px; padding:0; place-items:center; width:40px; }.material-close:hover,.material-close:focus { background:#eceff3; outline:none; }.material-text-button { background:transparent; border:0; color:var(--brand); font-weight:700; }.material-text-button:hover { background:#e8effc; color:var(--brand); }.material-form-dialog { max-width:550px; }.dialog-supporting-text { margin:0 0 20px; }.material-dialog .form-control,.material-dialog .form-select { border-color:#bfc6d1; border-radius:5px; min-height:44px; }.material-dialog .form-control:focus,.material-dialog .form-select:focus { border-color:#2864b7; box-shadow:0 0 0 3px #2864b722; }.material-dialog .form-label { color:#3d434d; font-size:12px; font-weight:700; margin-bottom:6px; }.dialog-error { align-items:flex-start; color:#b3261e; display:flex; font-size:12px; gap:6px; line-height:1.45; margin-top:12px; }.dialog-error:empty { display:none; }.dialog-error .material-symbols-rounded { flex:none; font-size:17px; }.material-confirm-dialog { max-width:430px; }
.select2-container--bootstrap-5 .select2-selection { background:#fdfbff; border:1px solid #aeb7c5; border-radius:5px; box-shadow:none; color:#252a32; min-height:44px; padding:8px 40px 8px 12px; transition:border-color .15s,box-shadow .15s; }.select2-container--bootstrap-5.select2-container--focus .select2-selection,.select2-container--bootstrap-5.select2-container--open .select2-selection { border-color:#2864b7; box-shadow:0 0 0 3px #2864b722; }.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered { color:#252a32; line-height:25px; padding:0; }.select2-container--bootstrap-5 .select2-selection__placeholder { color:#68707d; }.select2-container--bootstrap-5 .select2-selection__arrow { height:42px; right:9px; }.select2-container--bootstrap-5 .select2-selection__clear { color:#566170; font-size:19px; margin-right:10px; }.select2-dropdown { background:#fdfbff; border:1px solid #cbd1db; border-radius:8px; box-shadow:0 10px 26px rgba(21,40,75,.2); overflow:hidden; padding:5px; }.select2-container--bootstrap-5 .select2-search { padding:5px; }.select2-container--bootstrap-5 .select2-search__field { border:1px solid #aeb7c5; border-radius:5px; min-height:38px; padding:7px 9px; }.select2-container--bootstrap-5 .select2-results__option { border-radius:5px; color:#343a44; font-size:13px; margin:2px 0; padding:9px 10px; }.select2-container--bootstrap-5 .select2-results__option--highlighted.select2-results__option--selectable { background:#e7efff; color:#183f78; }.select2-container--bootstrap-5 .select2-results__option--selected { background:#dce8fc; color:#183f78; font-weight:600; }
@media (max-width:1100px) { .metric-grid,.reservation-metrics { grid-template-columns:repeat(2,1fr); }.work-grid,.subsidy-columns,.assistant-layout,.ai-settings-layout,.allocation-card { grid-template-columns:1fr; }.allocation-options { border-left:0; border-top:1px solid var(--line); padding-left:0; padding-top:18px; }.quick-tools { align-items:flex-start; flex-direction:column; gap:16px; }.tool-list { flex-wrap:wrap; }.getting-started { display:block; }.guide-steps { margin-top:18px; }.form-grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { .app-sidebar { position:fixed; z-index:1040; box-shadow:4px 0 18px #0002; }.app-sidebar:not(.show) { display:none!important; }.topbar { padding:0 16px; }.main-area { padding:26px 17px; }.dashboard-heading { display:block; }.dashboard-actions { margin-top:20px; }.metric-grid,.form-grid,.form-grid.four,.income-grid { grid-template-columns:1fr; }.lower-grid { margin-top:18px; }.surface { padding:20px 17px; }.tool-list { display:grid; grid-template-columns:1fr 1fr; width:100%; }.user-meta,.signout { display:none; }.cost-head,.cost-row { grid-template-columns:1fr 88px 88px; gap:5px; }.subsidy-list-row { flex-wrap:wrap; }.request-amount { text-align:left; }.request-actions { margin-left:auto; }.assistant-chat { min-height:0; }.assistant-input-row { align-items:stretch; flex-direction:column; }.assistant-input-row .btn { justify-content:center; }.assistant-answer { padding:15px; }.ask-ai-launcher { bottom:16px; right:16px; }.ask-ai-drawer { bottom:76px; right:16px; width:calc(100vw - 32px); } }

/* Purchase order intake, approval queue, and generated-slip workflow. */
.po-form { max-width:1240px; }.form-grid-span { grid-column:1/-1; }.section-icon { background:var(--brand-soft); border-radius:9px; color:var(--brand); padding:9px; }.po-intake-grid { align-items:stretch; display:grid; grid-template-columns:minmax(250px,.72fr) 42px minmax(520px,1.28fr); padding:0; }.po-upload-panel,.po-items-panel { padding:24px; }.po-panel-heading { align-items:flex-start; display:flex; gap:10px; margin-bottom:16px; }.po-panel-heading > .material-symbols-rounded { background:var(--brand-soft); border-radius:9px; color:var(--brand); padding:8px; }.po-panel-heading h2 { font-size:17px; margin:1px 0 3px; }.po-panel-heading p { color:var(--muted); font-size:12px; margin:0; }.po-or { align-items:center; display:flex; justify-content:center; position:relative; }.po-or::before { background:var(--line); content:""; height:100%; left:50%; position:absolute; width:1px; }.po-or span { background:#fff; color:#777e89; font-size:10px; font-weight:700; padding:7px 3px; position:relative; text-transform:uppercase; }.file-drop { align-items:center; background:#f7f9fc; border:1px dashed #9eafc8; border-radius:10px; cursor:pointer; display:flex; flex-direction:column; min-height:185px; justify-content:center; padding:20px; text-align:center; }.file-drop:hover,.file-drop:focus-within { background:#eef4fd; border-color:var(--brand); }.file-drop > .material-symbols-rounded { color:var(--brand); font-size:34px; }.file-drop strong { font-size:13px; margin-top:8px; }.file-drop small { color:var(--muted); margin-top:4px; max-width:250px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.po-item-head,.po-item-row { align-items:center; display:grid; gap:7px; grid-template-columns:minmax(150px,1fr) 72px 70px 105px 30px; }.po-item-head { color:#727985; font-size:10px; font-weight:700; letter-spacing:.4px; margin-bottom:5px; text-transform:uppercase; }.po-item-row { margin-bottom:7px; position:relative; }.po-item-row input:not([type=checkbox]) { border:1px solid #c7ced9; border-radius:6px; font-size:12px; min-height:37px; padding:7px 8px; width:100%; }.po-item-row input:focus { border-color:#2864b7; box-shadow:0 0 0 3px #2864b722; outline:0; }.po-remove { align-items:center; color:#a44951; cursor:pointer; display:flex; justify-content:center; }.po-remove .material-symbols-rounded { font-size:19px; }.po-remove input { height:1px; opacity:0; position:absolute; width:1px; }.po-item-row.is-removed { opacity:.4; text-decoration:line-through; }.po-item-errors { color:#b3261e; font-size:11px; grid-column:1/-1; }.po-item-errors ul,.errorlist { color:#b3261e; font-size:11px; list-style:none; margin:5px 0 0; padding:0; }.po-add-item { font-size:12px; margin-top:4px; padding-left:4px; }.po-workflow-guide { align-items:center; display:flex; gap:18px; justify-content:center; margin:-10px 0 20px; padding:14px 20px; }.po-workflow-guide > div { align-items:center; display:flex; gap:9px; }.po-workflow-guide b { background:var(--brand); border-radius:50%; color:#fff; display:grid; font-size:11px; height:25px; place-items:center; width:25px; }.po-workflow-guide strong,.po-workflow-guide small { display:block; }.po-workflow-guide strong { font-size:12px; }.po-workflow-guide small { color:var(--muted); font-size:11px; margin-top:1px; }.po-workflow-guide > .material-symbols-rounded { color:#9ba5b3; font-size:18px; }.po-queue { display:grid; gap:13px; }.po-card { align-items:center; display:grid; gap:12px 20px; grid-template-columns:minmax(300px,1fr) 140px auto; padding:19px 21px; }.po-card-main { align-items:flex-start; display:flex; gap:12px; min-width:0; }.po-card-icon { background:var(--brand-soft); border-radius:10px; color:var(--brand); display:grid; flex:0 0 42px; height:42px; place-items:center; }.po-card-title { align-items:center; display:flex; gap:8px; margin-bottom:3px; }.po-card-title h2 { font-size:16px; margin:0; }.po-card-main strong { font-size:13px; }.po-card-main p { color:#4f5662; font-size:12px; margin:3px 0; }.po-card-main small { color:var(--muted); font-size:11px; }.po-card-amount { text-align:right; }.po-card-amount small,.po-card-amount strong,.po-card-amount span { display:block; }.po-card-amount small { color:var(--muted); font-size:10px; text-transform:uppercase; }.po-card-amount strong { color:var(--brand); font-size:15px; margin:2px 0; }.po-card-amount span { color:var(--muted); font-size:10px; }.po-card-actions { display:flex; gap:6px; justify-content:flex-end; }.po-card-actions .btn { white-space:nowrap; }.po-approval-actions { border-top:1px solid var(--line); display:flex; gap:10px; grid-column:1/-1; justify-content:flex-end; padding-top:12px; }.po-approval-actions form { align-items:center; display:flex; gap:6px; }.po-approval-actions input { min-width:185px; }.po-items-summary { border-top:1px solid var(--line); grid-column:1/-1; padding-top:10px; }.po-items-summary summary { color:var(--brand); cursor:pointer; font-size:12px; font-weight:700; }.po-items-summary table { font-size:11px; margin:9px 0 0; }.po-card .request-note { grid-column:1/-1; margin-left:54px; }
.vehicle-only { display:none; }.vehicle-order .vehicle-only { display:block; }.vehicle-order .po-item-head,.vehicle-order .po-item-row { grid-template-columns:90px minmax(135px,1fr) 85px 60px 58px 92px 26px; }.po-type-badge { background:#eaf4ec; border-radius:99px; color:#34704a; font-size:10px; font-weight:700; padding:4px 7px; }.po-logistics-row { align-items:center; background:#f7f9fc; border:1px solid #dae1eb; border-radius:9px; display:flex; gap:12px; grid-column:1/-1; justify-content:space-between; padding:11px 12px; }.po-logistics-state { align-items:center; display:flex; gap:9px; }.po-logistics-state > .material-symbols-rounded { background:#e5edfa; border-radius:8px; color:var(--brand); padding:7px; }.po-logistics-state.arrived > .material-symbols-rounded { background:#e5f5eb; color:#34845a; }.po-logistics-state strong,.po-logistics-state small { display:block; }.po-logistics-state strong { font-size:12px; }.po-logistics-state small { color:var(--muted); font-size:11px; margin-top:2px; }.po-logistics-row form { align-items:center; display:flex; gap:7px; }.po-logistics-row form input { min-width:270px; }
@media (max-width:1100px) { .po-intake-grid { grid-template-columns:1fr; }.po-or { min-height:35px; }.po-or::before { height:1px; left:0; top:50%; width:100%; }.po-or span { padding:3px 8px; }.po-card { grid-template-columns:1fr auto; }.po-card-actions { grid-column:1/-1; } }
@media (max-width:767px) { .po-workflow-guide { align-items:flex-start; flex-direction:column; }.po-workflow-guide > .material-symbols-rounded { display:none; }.po-card { display:block; }.po-card-amount { margin:13px 0; text-align:left; }.po-card-actions,.po-approval-actions { align-items:stretch; flex-direction:column; }.po-approval-actions form { align-items:stretch; flex-direction:column; }.po-card .request-note { margin:12px 0 0; }.po-item-head { display:none; }.po-item-row { grid-template-columns:1fr 60px 60px 88px 24px; }.vehicle-order .po-item-row { grid-template-columns:1fr 1fr; }.vehicle-order .po-remove { grid-column:2; justify-self:end; }.po-upload-panel,.po-items-panel { padding:20px 17px; }.po-logistics-row,.po-logistics-row form { align-items:stretch; flex-direction:column; }.po-logistics-row { margin-top:12px; }.po-logistics-row form input { min-width:0; } }

/* AI-first purchase order capture and review. */
.po-page-heading { align-items:flex-start; margin-bottom:20px; }
.po-ai-hero { background:linear-gradient(135deg,#eef4ff 0%,#fff 54%,#eef7f2 100%); border-color:#c9d8ef; border-radius:18px; box-shadow:0 10px 30px rgba(24,63,120,.07); display:grid; gap:28px; grid-template-columns:minmax(260px,.78fr) minmax(420px,1.22fr); margin-bottom:18px; overflow:hidden; padding:30px; position:relative; }
.po-ai-hero::after { background:#dce8fc; border-radius:50%; content:""; height:180px; opacity:.45; position:absolute; right:-75px; top:-95px; width:180px; }
.po-ai-copy { align-items:flex-start; display:flex; gap:15px; position:relative; z-index:1; }
.po-ai-icon { background:var(--brand); border-radius:14px; box-shadow:0 7px 18px rgba(24,63,120,.2); color:#fff; display:grid; flex:0 0 52px; height:52px; place-items:center; width:52px; }
.po-ai-icon .material-symbols-rounded { font-size:28px; }
.po-ai-copy h2 { color:#1e2d43; font-size:24px; letter-spacing:-.45px; margin:1px 0 9px; }
.po-ai-copy p:not(.eyebrow) { color:#536071; font-size:14px; line-height:1.55; margin:0; max-width:500px; }
.po-ai-form { display:grid; gap:12px; position:relative; z-index:1; }
.po-ai-drop { align-items:center; background:rgba(255,255,255,.88); border:2px dashed #8fa9cf; border-radius:13px; cursor:pointer; display:flex; gap:13px; min-height:98px; padding:19px 20px; transition:background .15s,border-color .15s,box-shadow .15s; }
.po-ai-drop:hover,.po-ai-drop:focus-within { background:#fff; border-color:var(--brand); box-shadow:0 0 0 4px rgba(24,63,120,.09); }
.po-ai-drop > .material-symbols-rounded { color:var(--brand); font-size:31px; }
.po-ai-drop strong,.po-ai-drop small { display:block; }
.po-ai-drop strong { color:#26364d; font-size:14px; }
.po-ai-drop small { color:#687486; font-size:11px; margin-top:4px; max-width:430px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.po-ai-browse { color:var(--brand); text-decoration:underline; text-underline-offset:2px; }
.po-ai-submit { border-radius:11px; box-shadow:0 5px 13px rgba(24,63,120,.17); font-size:15px; justify-content:center; min-height:56px; width:100%; }
.po-ai-submit .material-symbols-rounded { font-size:22px; }
.po-ai-privacy { align-items:center; color:#6d7683; display:flex; font-size:11px; gap:6px; grid-column:1/-1; justify-content:center; margin:0; }
.po-ai-privacy .material-symbols-rounded { font-size:15px; }
.po-ai-result { align-items:flex-start; border-radius:12px; display:flex; gap:11px; margin:0 0 18px; padding:14px 16px; }
.po-ai-result > .material-symbols-rounded { flex:none; font-size:23px; }
.po-ai-result strong,.po-ai-result span { display:block; }
.po-ai-result span { font-size:12px; line-height:1.45; margin-top:2px; }
.po-ai-result.ready { background:#eaf6ee; border:1px solid #b9ddc5; color:#286b43; }
.po-ai-result.error { background:#fff0ef; border:1px solid #efc1bd; color:#9d2e27; }
.po-ai-result-badge { background:#fff; border-radius:99px; font-size:10px; font-weight:700; margin-left:auto; padding:5px 9px; white-space:nowrap; }
.po-manual-workspace { background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.po-manual-workspace > summary { align-items:center; cursor:pointer; display:flex; gap:12px; list-style:none; padding:18px 21px; }
.po-manual-workspace > summary::-webkit-details-marker { display:none; }
.po-manual-workspace > summary:hover { background:#f8faff; }
.po-manual-workspace > summary > .material-symbols-rounded:first-child { background:var(--brand-soft); border-radius:9px; color:var(--brand); padding:8px; }
.po-manual-workspace > summary strong,.po-manual-workspace > summary small { display:block; }
.po-manual-workspace > summary small { color:var(--muted); font-size:11px; margin-top:3px; }
.po-manual-chevron { color:#707a88; margin-left:auto; transition:transform .18s; }
.po-manual-workspace[open] .po-manual-chevron { transform:rotate(180deg); }
.po-manual-body { border-top:1px solid var(--line); padding:24px; }
.po-ai-warnings { background:#fff8e7; border:1px solid #ead49d; border-radius:10px; color:#6e581d; margin-bottom:18px; padding:13px 15px; }
.po-ai-warnings strong { align-items:center; display:flex; font-size:12px; gap:6px; }
.po-ai-warnings .material-symbols-rounded { font-size:18px; }
.po-ai-warnings ul { font-size:12px; line-height:1.5; margin:7px 0 0; padding-left:19px; }
.po-review-section { margin-bottom:18px; }
.po-section-support { color:var(--muted); font-size:11px; margin:4px 0 0; }
.requires-review { background:#fffaf0!important; border-color:#c89224!important; }
.requires-review:focus { box-shadow:0 0 0 3px rgba(200,146,36,.18)!important; }
.po-attached-file { align-items:center; background:#f1f6ff; border:1px solid #ccdaef; border-radius:8px; color:#40516a; display:flex; font-size:12px; gap:8px; margin-top:8px; padding:10px 11px; }
.po-attached-file .material-symbols-rounded { color:var(--brand); font-size:19px; }
.po-submit-actions { align-items:center; border-top:1px solid var(--line); display:flex; gap:10px; justify-content:flex-end; margin-top:20px; padding-top:18px; }
@media (max-width:1100px) { .po-ai-hero { grid-template-columns:1fr; }.po-ai-copy p:not(.eyebrow) { max-width:none; } }
@media (max-width:767px) { .po-ai-hero { gap:20px; padding:21px 17px; }.po-ai-copy { display:block; }.po-ai-icon { margin-bottom:13px; }.po-ai-copy h2 { font-size:21px; }.po-ai-drop { align-items:flex-start; min-height:108px; padding:17px 15px; }.po-ai-drop small { max-width:230px; white-space:normal; }.po-ai-result { flex-wrap:wrap; }.po-ai-result-badge { margin-left:34px; }.po-manual-body { padding:18px 15px; }.po-submit-actions { align-items:stretch; flex-direction:column-reverse; }.po-submit-actions .btn { justify-content:center; width:100%; } }

/* Vehicle SKU maintenance and streamlined PO selection. */
.general-only { display:block; }.vehicle-order .general-only { display:none!important; }.vehicle-order .po-item-head,.vehicle-order .po-item-row { grid-template-columns:minmax(300px,1fr) 70px 118px 30px; }.po-sku-choice { min-width:0; }.po-sku-choice .select2-container { width:100%!important; }.po-sku-selection { color:#687486; display:block; font-size:10px; line-height:1.35; min-height:14px; overflow:hidden; padding:4px 2px 0; text-overflow:ellipsis; white-space:nowrap; }.po-sku-choice .errorlist { margin-top:4px; }.po-items-panel .select2-selection.requires-review { background:#fffaf0; border-color:#c89224; }.sku-page-heading { margin-bottom:20px; }.sku-metrics { grid-template-columns:repeat(2,minmax(220px,330px)); margin-bottom:20px; }.sku-metrics .metric-card { min-height:120px; }.sku-maintenance-layout { align-items:start; display:grid; gap:22px; grid-template-columns:minmax(300px,.72fr) minmax(520px,1.28fr); }.sku-editor,.sku-directory { padding:24px; }.sku-editor { position:sticky; top:20px; }.sku-editor-support { color:var(--muted); font-size:12px; line-height:1.5; margin:-5px 0 19px; }.sku-form { display:grid; gap:14px; }.sku-form .subsidy-field small { color:var(--muted); display:block; font-size:10px; margin-top:5px; }.currency-input { align-items:center; display:flex; position:relative; }.currency-input > span { color:#5d6673; font-weight:700; left:12px; position:absolute; z-index:1; }.currency-input input { padding-left:29px; }.material-switch-row { align-items:flex-start; background:#f6f8fb; border:1px solid #e1e5eb; border-radius:10px; cursor:pointer; display:flex; gap:11px; padding:12px; }.material-switch-row input { accent-color:var(--brand); height:18px; margin-top:2px; width:18px; }.material-switch-row strong,.material-switch-row small { display:block; }.material-switch-row strong { color:#343b46; font-size:12px; }.material-switch-row small { color:var(--muted); font-size:10px; line-height:1.4; margin-top:3px; }.sku-form-actions { align-items:center; display:flex; gap:8px; justify-content:flex-end; padding-top:3px; }.sku-search { align-items:center; background:#f7f9fc; border:1px solid #cbd3df; border-radius:10px; display:flex; gap:7px; margin-bottom:14px; padding:0 10px; }.sku-search:focus-within { border-color:#2864b7; box-shadow:0 0 0 3px #2864b722; }.sku-search > .material-symbols-rounded { color:var(--brand); }.sku-search input { background:transparent; border:0; box-shadow:none!important; min-height:44px; padding-left:2px; }.sku-search a { color:#68717e; }.sku-list { display:grid; gap:7px; }.sku-row { align-items:center; border:1px solid #e1e5ea; border-radius:10px; display:grid; gap:12px; grid-template-columns:minmax(230px,1fr) 125px 82px 78px; padding:13px 12px; transition:border-color .15s,box-shadow .15s; }.sku-row:hover { border-color:#bdcce2; box-shadow:0 4px 12px rgba(24,63,120,.06); }.sku-row.inactive { background:#f8f9fa; opacity:.72; }.sku-row-main { align-items:center; display:flex; gap:12px; min-width:0; }.sku-code { background:#e7efff; border-radius:7px; color:var(--brand); flex:none; font-size:11px; font-weight:700; letter-spacing:.3px; padding:7px 8px; }.sku-row-main strong,.sku-row-main small { display:block; }.sku-row-main strong { font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.sku-row-main small { align-items:center; color:var(--muted); display:flex; font-size:11px; gap:5px; margin-top:4px; }.color-dot { background:#aeb8c5; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 1px #cbd1da; height:10px; width:10px; }.sku-price { text-align:right; }.sku-price small,.sku-price strong { display:block; }.sku-price small { color:var(--muted); font-size:9px; letter-spacing:.5px; text-transform:uppercase; }.sku-price strong { color:#29384d; font-size:13px; margin-top:2px; }.sku-availability { border-radius:99px; font-size:10px; font-weight:700; padding:5px 8px; text-align:center; }.sku-availability.active { background:#e5f5eb; color:#34714b; }.sku-availability.inactive { background:#eceff3; color:#68717e; }.sku-row-actions { align-items:center; display:flex; justify-content:flex-end; }.sku-row-actions form { margin:0; }.sku-row-actions .icon-button { border-radius:50%; display:grid; height:36px; padding:0; place-items:center; text-decoration:none; width:36px; }.sku-row-actions .icon-button:hover { background:#edf2fa; color:var(--brand); }.sku-row-actions .material-symbols-rounded { font-size:19px; }
@media (max-width:1100px) { .sku-maintenance-layout { grid-template-columns:1fr; }.sku-editor { position:static; }.sku-row { grid-template-columns:minmax(230px,1fr) 125px 82px 78px; } }
@media (max-width:767px) { .sku-metrics { grid-template-columns:1fr; }.sku-editor,.sku-directory { padding:19px 16px; }.sku-row { grid-template-columns:1fr auto; }.sku-price { text-align:right; }.sku-availability { justify-self:start; }.sku-row-actions { grid-column:2; grid-row:2; }.vehicle-order .po-item-row { grid-template-columns:minmax(0,1fr) 65px 100px 26px; }.vehicle-order .po-remove { grid-column:auto; justify-self:auto; }.po-sku-selection { white-space:normal; } }

/* Compact Material purchase-order workspace. */
.po-list-heading { margin-bottom:20px; }
.po-list-heading .material-text-button { background:transparent; }
.po-command-bar { align-items:center; display:flex; gap:18px; justify-content:space-between; margin-bottom:10px; padding:8px 10px 8px 12px; }
.po-filter-tabs { align-items:center; display:flex; gap:3px; min-width:0; }
.po-filter-tabs a { align-items:center; border-radius:8px; color:#555f6c; display:flex; font-size:12px; font-weight:600; gap:6px; padding:8px 10px; text-decoration:none; white-space:nowrap; }
.po-filter-tabs a:hover { background:#f2f5f9; color:var(--brand); }
.po-filter-tabs a.active { background:var(--brand-soft); color:var(--brand); }
.po-filter-tabs a span { background:#edf0f4; border-radius:99px; color:#69717d; font-size:10px; line-height:18px; min-width:18px; padding:0 5px; text-align:center; }
.po-filter-tabs a.active span { background:#fff; color:var(--brand); }
.po-search { align-items:center; background:#f7f8fa; border:1px solid transparent; border-radius:9px; display:flex; flex:0 1 300px; gap:7px; min-width:210px; padding:0 9px; }
.po-search:focus-within { background:#fff; border-color:#7798c6; box-shadow:0 0 0 3px rgba(24,63,120,.1); }
.po-search > .material-symbols-rounded { color:#6d7784; font-size:19px; }
.po-search input { background:transparent; border:0; color:#28313d; font-size:12px; height:36px; min-width:0; outline:0; width:100%; }
.po-search a { color:#6b7581; }
.po-search a .material-symbols-rounded { font-size:18px; }
.po-list-labels { color:#78808b; display:grid; font-size:10px; font-weight:700; gap:18px; grid-template-columns:minmax(300px,1fr) 145px 150px 28px; letter-spacing:.65px; padding:3px 18px 7px 72px; text-transform:uppercase; }
.po-queue { display:block; overflow:hidden; padding:0; }
.po-record { border-bottom:1px solid var(--line); }
.po-record:last-child { border-bottom:0; }
.po-record > summary { align-items:center; cursor:pointer; display:grid; gap:14px; grid-template-columns:42px minmax(260px,1fr) 145px 150px 28px; list-style:none; min-height:82px; padding:12px 16px; transition:background .14s; }
.po-record > summary::-webkit-details-marker { display:none; }
.po-record > summary:hover { background:#f8fafc; }
.po-record[open] > summary { background:#f6f9fd; }
.po-record.needs-action > summary { box-shadow:inset 3px 0 #d18a1d; }
.po-record-icon { background:#eef2f6; border-radius:10px; color:#5e6b7b; display:grid; height:38px; place-items:center; width:38px; }
.po-record-icon .material-symbols-rounded { font-size:20px; }
.po-record-icon.pending { background:#fff3df; color:#9a6516; }
.po-record-icon.approved { background:#e8f4ec; color:#34744d; }
.po-record-icon.rejected { background:#f8e9eb; color:#a84850; }
.po-record-copy,.po-record-copy > span,.po-record-amount,.po-record-state { display:block; min-width:0; }
.po-record-title { align-items:center; display:flex!important; gap:7px; }
.po-record-title strong { color:#26313f; font-size:13px; }
.po-record-vendor { color:#3e4854; font-size:12px; font-weight:500; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.po-record-copy small { color:#737c88; display:block; font-size:10px; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.po-type-badge { background:#e8f1ff; color:#315f9f; font-size:9px; letter-spacing:.2px; padding:3px 6px; }
.po-record-amount strong,.po-record-amount small,.po-record-state small { display:block; }
.po-record-amount strong { color:#26313f; font-size:13px; font-variant-numeric:tabular-nums; }
.po-record-amount small,.po-record-state small { color:#7b838e; font-size:10px; margin-top:4px; }
.po-record-state .request-status { display:inline-block; min-width:0; padding:4px 8px; }
.po-record-expand { color:#697482; font-size:20px; transition:transform .18s; }
.po-record[open] .po-record-expand { transform:rotate(180deg); }
.po-record-detail { background:#fbfcfe; border-top:1px solid #e5e9ef; padding:16px 18px 18px 72px; }
.po-detail-meta { align-items:center; display:flex; gap:22px; margin-bottom:14px; }
.po-detail-meta > span small,.po-detail-meta > span strong { display:block; }
.po-detail-meta > span small { color:#7a838e; font-size:9px; letter-spacing:.45px; margin-bottom:2px; text-transform:uppercase; }
.po-detail-meta > span strong { color:#424b57; font-size:11px; font-weight:600; }
.po-detail-meta a { align-items:center; color:var(--brand); display:flex; font-size:11px; font-weight:600; gap:4px; margin-left:auto; text-decoration:none; }
.po-detail-meta a + a { margin-left:-12px; }
.po-detail-meta a .material-symbols-rounded { font-size:17px; }
.po-detail-meta .po-detail-primary { background:var(--brand); border-radius:7px; color:#fff; padding:7px 9px; }
.po-detail-items { background:#fff; border:1px solid #e1e5ea; border-radius:9px; margin-bottom:12px; }
.po-detail-items .table { font-size:11px; margin:0; }
.po-detail-items .table th { background:#f5f7f9; border-bottom-color:#e1e5ea; color:#69727f; font-size:9px; letter-spacing:.5px; padding:7px 10px; text-transform:uppercase; }
.po-detail-items .table td { border-bottom-color:#edf0f3; padding:8px 10px; }
.po-detail-items tbody tr:last-child td { border-bottom:0; }
.po-action-panel { align-items:center; background:#f3f6fa; border:1px solid #dce2e9; border-radius:9px; display:flex; gap:14px; justify-content:space-between; padding:10px 11px; }
.po-action-panel.approval > div:first-child { align-items:center; display:flex; gap:9px; }
.po-action-panel.approval > div:first-child > .material-symbols-rounded { background:#fff3df; border-radius:8px; color:#946313; padding:7px; }
.po-action-panel strong,.po-action-panel small { display:block; }
.po-action-panel strong { color:#37414e; font-size:11px; }
.po-action-panel small { color:#747d89; font-size:10px; margin-top:2px; }
.po-action-panel .po-approval-actions { border:0; display:flex; gap:8px; padding:0; }
.po-action-panel .po-approval-actions form { align-items:center; display:flex; gap:5px; }
.po-action-panel .po-approval-actions input { min-width:170px; }
.material-text-button.danger { color:#a63e47; }
.material-text-button.danger:hover { background:#fbeaec; }
.po-action-panel.logistics form { align-items:center; display:flex; gap:6px; }
.po-action-panel.logistics form input { min-width:250px; }
.po-record-detail > .request-note { margin:12px 0 0; }
.po-empty { padding:50px 20px; }
.po-empty h2 { color:#35404d; font-size:16px; margin:10px 0 0; }
.po-empty p { font-size:12px; margin:5px 0 15px; }

/* Keep intake focused and compact: upload, then review only when needed. */
.po-page-heading { margin-bottom:16px; }
.po-ai-hero { background:#fff; border-color:var(--line); border-radius:12px; box-shadow:none; gap:22px; grid-template-columns:minmax(240px,.8fr) minmax(420px,1.2fr); margin-bottom:12px; padding:20px; }
.po-ai-hero::after { display:none; }
.po-ai-icon { border-radius:10px; box-shadow:none; flex-basis:42px; height:42px; width:42px; }
.po-ai-icon .material-symbols-rounded { font-size:23px; }
.po-ai-copy h2 { font-size:18px; margin:0 0 5px; }
.po-ai-copy p:not(.eyebrow) { font-size:12px; line-height:1.45; }
.po-ai-drop { border:1px dashed #8fa5c5; border-radius:9px; min-height:62px; padding:11px 13px; }
.po-ai-drop > .material-symbols-rounded { font-size:24px; }
.po-ai-drop strong { font-size:12px; }
.po-ai-submit { border-radius:8px; box-shadow:none; font-size:12px; min-height:39px; }
.po-ai-privacy { border-top:1px solid #edf0f3; justify-content:flex-start; padding-top:10px; }
.po-manual-workspace { border-radius:12px; }
.po-manual-workspace > summary { padding:13px 16px; }
.po-manual-workspace > summary > .material-symbols-rounded:first-child { padding:6px; }
.po-manual-body { padding:18px; }
.po-review-section { margin-bottom:12px; padding:18px; }
.po-review-section .surface-header { margin-bottom:13px; }
.po-review-section .section-icon { font-size:19px; padding:7px; }
.po-review-section .form-grid { gap:11px 13px; }
.po-submit-actions { margin-top:14px; padding-top:14px; }

@media (max-width:1100px) {
  .po-list-labels { grid-template-columns:minmax(250px,1fr) 125px 135px 24px; }
  .po-record > summary { grid-template-columns:38px minmax(230px,1fr) 125px 135px 24px; }
  .po-record-detail { padding-left:68px; }
  .po-action-panel { align-items:stretch; flex-direction:column; }
  .po-action-panel .po-approval-actions { justify-content:flex-end; }
}
@media (max-width:767px) {
  .po-list-heading .dashboard-actions { display:grid; grid-template-columns:1fr 1fr; margin-top:14px; }
  .po-list-heading .dashboard-actions .btn { justify-content:center; }
  .po-command-bar { align-items:stretch; flex-direction:column; gap:8px; padding:9px; }
  .po-filter-tabs { overflow-x:auto; padding-bottom:1px; }
  .po-search { flex-basis:auto; min-width:0; }
  .po-list-labels { display:none; }
  .po-record > summary { gap:9px 11px; grid-template-columns:36px minmax(0,1fr) 22px; min-height:0; padding:13px 12px; }
  .po-record-icon { height:34px; width:34px; }
  .po-record-amount { grid-column:2; }
  .po-record-state { align-items:center; display:flex; gap:7px; grid-column:2; }
  .po-record-state small { margin:0; }
  .po-record-expand { grid-column:3; grid-row:1; }
  .po-record-detail { padding:14px 12px; }
  .po-detail-meta { align-items:flex-start; flex-wrap:wrap; gap:10px 18px; }
  .po-detail-meta a { margin-left:0; }
  .po-detail-meta a + a { margin-left:0; }
  .po-action-panel .po-approval-actions,.po-action-panel .po-approval-actions form,.po-action-panel.logistics form { align-items:stretch; flex-direction:column; }
  .po-action-panel .po-approval-actions input,.po-action-panel.logistics form input { min-width:0; }
  .po-ai-hero { gap:16px; padding:16px; }
  .po-ai-copy { display:flex; }
  .po-ai-icon { margin:0; }
  .po-ai-copy h2 { font-size:17px; }
  .po-ai-drop { min-height:68px; padding:12px; }
  .po-manual-body { padding:12px; }
  .po-review-section { padding:15px 13px; }
}

/* One list-page language: active nav, compact filters, dense data tables. */
.app-nav .nav-link.active { background:var(--brand); color:#fff; font-weight:700; }
.app-nav .nav-link.active:hover,.app-nav .nav-link.active:focus { background:var(--brand); color:#fff; }
.app-nav .nav-link.active .material-symbols-rounded { font-variation-settings:'FILL' 1; }

.list-heading { margin-bottom:14px; }
.list-heading h1 { font-size:24px; }
.list-heading p:not(.eyebrow) { font-size:13px; margin-top:4px; max-width:640px; }
.dashboard-actions { align-items:center; display:flex; flex-wrap:wrap; gap:7px; }
.dashboard-actions .btn { align-items:center; display:inline-flex; font-size:12px; gap:5px; min-height:36px; padding:0 12px; }
.dashboard-actions .material-symbols-rounded { font-size:18px; }
.export-menu { display:flex; gap:1px; }
.export-menu .btn { padding:0 9px; }

.filter-bar { margin-bottom:10px; padding:0; }
.filter-bar > summary { align-items:center; cursor:pointer; display:flex; gap:8px; list-style:none; padding:10px 14px; }
.filter-bar > summary::-webkit-details-marker { display:none; }
.filter-bar > summary:hover { background:#f8fafc; }
.filter-bar[open] > summary { border-bottom:1px solid var(--line); }
.filter-bar > summary > .material-symbols-rounded:first-child { color:var(--brand); font-size:19px; }
.filter-bar > summary strong { color:#39424f; font-size:12px; }
.filter-bar > summary small { color:var(--muted); font-size:11px; }
.filter-bar-count { background:var(--brand); border-radius:99px; color:#fff; font-size:10px; font-weight:700; line-height:17px; min-width:17px; padding:0 5px; text-align:center; }
.filter-bar-chevron { color:#6b7480; font-size:19px; margin-left:auto; transition:transform .18s; }
.filter-bar[open] .filter-bar-chevron { transform:rotate(180deg); }
.filter-bar-grid { display:grid; gap:10px 12px; grid-template-columns:repeat(5,minmax(140px,1fr)); padding:14px; }
.filter-bar-grid .mb-3 { margin:0!important; }
.filter-bar-grid label { color:#5c6572; font-size:10px; font-weight:700; letter-spacing:.4px; margin-bottom:3px; text-transform:uppercase; }
.filter-bar-grid .form-control,.filter-bar-grid .form-select,.filter-bar-grid .select2-container--bootstrap-5 .select2-selection { font-size:12px; min-height:36px; padding-bottom:5px; padding-top:5px; }
.filter-bar-actions { align-items:end; display:flex; gap:6px; }
.filter-bar-actions .btn { align-items:center; display:inline-flex; gap:4px; min-height:36px; }
.filter-bar-actions .material-symbols-rounded { font-size:17px; }

.data-table-panel { overflow:hidden; padding:0; }
.data-table-panel .table-container,.data-table-panel .table-responsive { margin:0; overflow-x:auto; }
.data-table-panel .table { font-size:12px; margin:0; }
.data-table-panel .table > :not(caption) > * > * { padding:9px 12px; }
.data-table-panel .table thead th { background:#f6f8fa; border-bottom:1px solid var(--line); color:#5f6875; font-size:10px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; white-space:nowrap; }
.data-table-panel .table thead th a { color:inherit; text-decoration:none; }
.data-table-panel .table thead th a:hover { color:var(--brand); }
.data-table-panel .table tbody td { border-bottom:1px solid #eef1f4; color:#3d4653; vertical-align:middle; white-space:nowrap; }
/* Dense rows beat wrapped cells: let wide tables scroll sideways instead. */
.data-table-panel .table tbody td.wrap-cell { white-space:normal; }
.data-table-panel .money-cell { font-variant-numeric:tabular-nums; }
.data-table-panel .table tbody tr:last-child td { border-bottom:0; }
.data-table-panel .table.table-striped > tbody > tr:nth-of-type(odd) > * { background:transparent; }
.data-table-panel .table.table-hover > tbody > tr:hover > * { background:#f7fafd; }
.data-table-panel .table tbody a { color:var(--brand); font-weight:600; text-decoration:none; }
.data-table-panel .table tbody a:hover { text-decoration:underline; }
.data-table-panel .badge { border-radius:99px; font-size:10px; font-weight:700; letter-spacing:.2px; padding:5px 8px; }
.data-table-panel .table td:last-child { white-space:nowrap; }

.table-icon-action { align-items:center; border-radius:50%; color:#5f6875!important; display:inline-grid; height:30px; place-items:center; text-decoration:none!important; width:30px; }
.table-icon-action:hover { background:#edf2fa; color:var(--brand)!important; }
.table-icon-action.danger:hover { background:#fbeaec; color:#a63e47!important; }
.table-icon-action .material-symbols-rounded { font-size:18px; }
.table-text-action { border:1px solid #d4dae2; border-radius:7px; color:var(--brand)!important; display:inline-block; font-size:11px; font-weight:700; margin-right:5px; padding:5px 9px; text-decoration:none!important; white-space:nowrap; }
.table-text-action:hover { background:var(--brand-soft); border-color:var(--brand-soft); }

.data-table-panel .table td .form-check { margin:0; }
.data-table-panel nav,.data-table-panel .pagination { margin:0; }
.data-table-panel .pagination { padding:10px 12px; }
.data-table-panel .page-link { border:0; border-radius:7px; color:#4d5765; font-size:12px; padding:6px 10px; }
.data-table-panel .page-item.active .page-link { background:var(--brand); color:#fff; }

@media (max-width:1100px) { .filter-bar-grid { grid-template-columns:repeat(3,minmax(140px,1fr)); } }
@media (max-width:767px) {
  .list-heading { display:block; }
  .list-heading .dashboard-actions { margin-top:12px; }
  .filter-bar-grid { grid-template-columns:1fr; }
  .filter-bar-actions { justify-content:flex-end; }
}

/* Record pages: a dense fact grid beside the panels that act on the record. */
.record-heading { margin-bottom:14px; }
.record-heading h1 { align-items:center; display:flex; font-size:24px; gap:10px; }
.record-heading h1 .badge { border-radius:99px; font-size:11px; padding:5px 9px; vertical-align:middle; }
.record-heading p:not(.eyebrow) { font-size:13px; margin-top:4px; }
.record-blocker { align-items:flex-start; background:#fff8ec; border:1px solid #f0d9ac; border-radius:10px; color:#7d5a15; display:flex; font-size:12px; gap:9px; margin-bottom:12px; padding:11px 13px; }
.record-blocker .material-symbols-rounded { font-size:19px; }
.record-blocker strong { display:block; margin-bottom:2px; }
.record-layout { align-items:start; display:grid; gap:14px; grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr); }
.record-main,.record-side { display:grid; gap:14px; }
.record-panel { padding:16px 18px; }
.record-panel-head { align-items:center; border-bottom:1px solid var(--line); display:flex; gap:9px; margin:-2px 0 13px; padding-bottom:11px; }
.record-panel-head .material-symbols-rounded { color:var(--brand); font-size:20px; }
.record-panel-head h2 { color:#2c3542; font-size:14px; font-weight:700; margin:0; }
.record-facts { display:grid; gap:11px 18px; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; }
.record-facts > div { min-width:0; }
.record-facts dt { color:#79818d; font-size:9.5px; font-weight:700; letter-spacing:.5px; margin-bottom:3px; text-transform:uppercase; }
.record-facts dd { color:#2f3846; font-size:13px; font-weight:600; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.record-facts dd a { color:var(--brand); text-decoration:none; }
.record-facts dd a:hover { text-decoration:underline; }
.record-facts .money dd { font-variant-numeric:tabular-nums; }
.record-form { border-bottom:1px solid var(--line); margin-bottom:12px; padding-bottom:13px; }
.record-form p { margin:0 0 9px; }
.record-form label { color:#5c6572; display:block; font-size:10px; font-weight:700; letter-spacing:.4px; margin-bottom:3px; text-transform:uppercase; }
.record-form .form-control,.record-form .form-select,.record-form textarea { font-size:12px; min-height:36px; }
.record-form textarea { height:70px; min-height:70px; resize:vertical; }
.record-form .btn { align-items:center; display:inline-flex; gap:5px; }
.record-form .material-symbols-rounded { font-size:17px; }
.record-list { display:grid; gap:2px; list-style:none; margin:0; padding:0; }
.record-list li { align-items:center; border-radius:8px; display:flex; font-size:12px; gap:9px; justify-content:space-between; padding:8px 9px; }
.record-list li:hover { background:#f7fafd; }
.record-list li.empty { color:var(--muted); font-size:12px; justify-content:flex-start; padding:11px 9px; }
.record-list li.empty:hover { background:transparent; }
.record-list li > span { align-items:center; display:flex; gap:8px; min-width:0; }
.record-list strong { color:#2f3846; display:block; font-size:12px; }
.record-list small { color:#79818d; display:block; font-size:10.5px; margin-top:2px; }
.record-list .material-symbols-rounded { color:#6d7684; font-size:18px; }
.record-list a { color:var(--brand); font-weight:700; text-decoration:none; }
.record-list a:hover { text-decoration:underline; }
.record-list-actions { display:flex; gap:5px; }
.record-list-actions form { margin:0; }
.record-list-actions .btn { font-size:11px; padding:4px 9px; }
.record-list.timeline li { align-items:flex-start; display:block; }

@media (max-width:1100px) {
  .record-layout { grid-template-columns:1fr; }
  .record-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .record-heading { display:block; }
  .record-heading .dashboard-actions { margin-top:12px; }
  .record-facts { grid-template-columns:1fr 1fr; }
  .record-panel { padding:14px; }
}
.record-note { color:#414956; font-size:12.5px; line-height:1.6; margin:0; }
.record-note-spaced { border-top:1px solid var(--line); margin-top:12px; padding-top:11px; }
.photo-grid { display:grid; gap:7px; grid-template-columns:1fr 1fr; }
.photo-grid img { aspect-ratio:4/3; border:1px solid var(--line); border-radius:8px; object-fit:cover; width:100%; }

/* Workflow forms: two compact columns, with long-text fields spanning both. */
.workflow-form { border:1px solid var(--line); border-radius:12px; box-shadow:none; max-width:940px; }
.workflow-form .card-header { background:#f7f9fc; border-bottom:1px solid var(--line); color:var(--brand); font-size:11px; font-weight:700; letter-spacing:.4px; padding:11px 18px; text-transform:uppercase; }
.workflow-form .card-body { padding:18px; }
.workflow-grid { display:grid; gap:12px 16px; grid-template-columns:1fr 1fr; }
.workflow-grid > .mb-3,.workflow-grid > div { margin:0!important; min-width:0; }
.workflow-grid > div:has(textarea),.workflow-grid > div:has(.form-check),.workflow-grid > div:has(.alert) { grid-column:1/-1; }
.workflow-form .form-label { color:#5c6572; font-size:10px; font-weight:700; letter-spacing:.4px; margin-bottom:4px; text-transform:uppercase; }
.workflow-form .form-control,.workflow-form .form-select,.workflow-form .select2-container--bootstrap-5 .select2-selection { font-size:13px; min-height:40px; }
.workflow-form textarea { min-height:76px; }
.workflow-form .form-text { font-size:10.5px; }
.workflow-actions { border-top:1px solid var(--line); display:flex; gap:8px; justify-content:flex-end; margin-top:16px; padding-top:15px; }
.workflow-actions .btn { align-items:center; display:inline-flex; gap:5px; min-height:38px; padding:0 16px; }

@media (max-width:767px) {
  .workflow-grid { grid-template-columns:1fr; }
  .workflow-actions { flex-direction:column-reverse; }
  .workflow-actions .btn { justify-content:center; width:100%; }
}
/* Metric cards built with <span> labels need the same stacking as the <p> variant. */
.metric-card > div > span:not(.material-symbols-rounded) { color:var(--muted); display:block; font-size:13px; margin:1px 0 6px; }
.report-grid { align-items:start; display:grid; gap:14px; grid-template-columns:1fr 1fr; }
.report-metrics { grid-template-columns:repeat(auto-fit,minmax(230px,300px)); margin-bottom:14px; }
.stat-list { display:grid; gap:1px; list-style:none; margin:0; padding:0; }
.stat-list li { align-items:center; border-radius:8px; display:flex; font-size:12.5px; justify-content:space-between; padding:9px 10px; }
.stat-list li:hover { background:#f7fafd; }
.stat-list li span { color:#414956; }
.stat-list li strong { color:#26313f; font-size:14px; font-variant-numeric:tabular-nums; }
.stat-list li.empty { color:var(--muted); justify-content:flex-start; }
.stat-list li.empty:hover { background:transparent; }
@media (max-width:900px) { .report-grid { grid-template-columns:1fr; } }

/* The sidebar scrolls with its own content; the footer sits after the nav, not over it.
   Display stays with the earlier rules so the mobile off-canvas hide still applies. */
.app-sidebar { flex-direction:column; overflow-y:auto; }
.app-sidebar.show { display:flex!important; }
@media (min-width:768px) { .app-sidebar { display:flex!important; } }
.sidebar-footer { bottom:auto; left:auto; margin-top:auto; padding-top:18px; position:static; }
