/* Ficon: shared color tokens for the application and its two themes. */
:root{--ink:#192c4b;--muted:#60728c;--green:#244abd;--dark:#173b96;--cream:#f3f6fc;--line:#dce4f0;--white:#fff;--lime:#54d2ef;--surface:#fff;--surface-alt:#f7f9fe;--soft:#eaf1fe;--accent:#244abd;--accent-hover:#1b399b;--accent-text:#2046ad;--success-bg:#e8f5f0;--success-text:#20614c;--success-line:#bfded1;--error-bg:#fff0ed;--error-text:#a43729;--error-line:#f0c8c1;color-scheme:light}
:root[data-theme=dark]{--ink:#e3ebf8;--muted:#a4b4ce;--green:#365fdb;--dark:#152d65;--cream:#0d1526;--line:#2a3954;--white:#152238;--surface:#152238;--surface-alt:#111d31;--soft:#1c3154;--accent:#345cce;--accent-hover:#416be5;--accent-text:#7cd7f3;--success-bg:#142f31;--success-text:#9bdfc8;--success-line:#28534c;--error-bg:#382126;--error-text:#ffc0b6;--error-line:#694047;color-scheme:dark}
body{background:var(--cream);color:var(--ink)}.sidebar,.panel,.stat-card,.modal,.login-panel{background:var(--surface);color:var(--ink)}.sidebar{padding-top:26px}.ficon-brand{display:flex;flex-direction:column;align-items:flex-start;gap:9px;line-height:1.2;letter-spacing:0}.ficon-brand img{display:block;width:155px;height:auto;object-fit:contain}.ficon-brand>span{font-size:16px;font-weight:650;color:var(--ink);letter-spacing:-.2px}.nav-label{margin-top:34px;color:var(--muted)}.nav-item{color:var(--muted)}.nav-item.is-active{background:var(--soft);color:var(--accent-text)}.nav-item:hover{background:var(--soft);color:var(--accent-text)}.sidebar .profile{margin-top:auto;border-color:var(--line)}.avatar{background:var(--soft);color:var(--accent-text)}.logout{color:var(--muted)}.profile small,.muted{color:var(--muted)}.topbar{background:var(--surface);height:64px;color:var(--ink)}.topbar strong{color:var(--ink);font-size:13px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--surface-alt);color:var(--ink);border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:550;min-height:36px;padding:7px 12px;cursor:pointer}.theme-toggle:hover{background:var(--soft)}.theme-toggle [data-theme-icon]{font-size:17px;line-height:1}.main-content{padding-top:28px}.page-heading{margin-bottom:22px}.page-heading h1{font-size:32px}.page-heading p,.panel-heading p,.stat-caption,.receipt-missing,.form-note,.optional,label small,.login-help{color:var(--muted)}.eyebrow{color:var(--accent-text)}.heading-dot{color:#0daada}.btn.primary{background:var(--accent);color:#fff;box-shadow:none}.btn.primary:hover{background:var(--accent-hover)}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.secondary:hover{background:var(--soft)}.btn:focus-visible,a:focus-visible,button:focus-visible{outline-color:#0daada}.stats-grid{margin-bottom:22px}.stat-card{padding:19px 21px;border-color:var(--line)}.stat-card.featured{background:linear-gradient(120deg,#173a91,#244ac0);border-color:#244ac0;color:#fff}.stat-top{color:var(--muted)}.stat-symbol{background:var(--soft);color:var(--accent-text)}.stat-value small{color:var(--muted)}.featured .stat-top,.featured .stat-caption,.featured .stat-value small{color:#d2e6ff}.featured .stat-symbol{background:#ffffff1a;color:#85e6ff}.stat-value{font-size:29px}.panel{border-color:var(--line)}.panel-heading{padding:17px 20px 12px}.panel-heading h2{color:var(--ink)}.quick-filters{padding:0 20px 12px;gap:6px}.chip{color:var(--muted);padding:6px 11px}.chip.selected{background:var(--soft);border-color:var(--line);color:var(--accent-text)}.chip:hover{background:var(--soft)}.count-badge,.category-tag{background:var(--soft);color:var(--accent-text)}.filter-form{background:var(--surface-alt);border-color:var(--line);padding:13px 20px}.filter-form label{color:var(--muted)}.reset-link{color:var(--accent-text)}input,textarea,select{background:var(--surface);border-color:var(--line);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.9}input:focus,select:focus,textarea:focus{border-color:#228dc5;box-shadow:0 0 0 3px #219bce22}input[readonly]{background:var(--surface-alt);color:var(--muted)}.expense-table th{background:var(--surface-alt);color:var(--muted);padding:10px 18px;font-size:10px;border-color:var(--line)}.expense-table td{padding:9px 18px;border-color:var(--line);font-size:12px;line-height:1.4}.expense-table td strong{font-weight:600}.expense-table tbody tr:hover{background:var(--surface-alt)}.expense-table .text-button{padding:3px 0;min-height:25px}.text-button,.receipt-link{color:var(--accent-text)}.text-button.subtle,.date-cell{color:var(--muted)}.receipt-missing,.receipt-link{font-size:10px;margin-top:3px}.expense-description{font-size:12px}.row-actions{gap:14px}.category-tag{font-size:10px;padding:3px 7px}.panel-footnote{background:var(--surface-alt);border-color:var(--line);color:var(--muted);padding:11px 20px}.empty-state{padding:36px 20px}.empty-icon{background:var(--soft);color:var(--accent-text)}.empty-state p{color:var(--muted)}.pagination{padding:13px 18px;border-color:var(--line);color:var(--muted)}.page-footer{color:var(--muted);padding-top:18px}.success{background:var(--success-bg);color:var(--success-text);border-color:var(--success-line)}.error{background:var(--error-bg);color:var(--error-text);border-color:var(--error-line)}.alert{padding:12px 16px;margin-bottom:18px}.modal{border-color:var(--line);box-shadow:0 24px 100px #0005}.modal::backdrop{background:#06132a88}.modal-header,.modal-footer{border-color:var(--line)}.modal-footer{background:var(--surface-alt)}.close-modal{background:var(--soft);color:var(--muted)}.upload-field{background:var(--surface-alt);border-color:var(--line)}.upload-field input{background:transparent;color:var(--ink)}.audit-entry,.cash-return{border-color:var(--line)}.audit-dot{background:#0daada}.audit-change{background:var(--surface-alt);color:var(--ink)}.audit-change>strong,.audit-meta small,.cash-return>span,.cash-audit-details,.panel-description{color:var(--muted)}.change-arrow{color:var(--accent-text)}.audit-change del{color:var(--error-text)}.login-story{background:radial-gradient(ellipse at top right,#1e55a9 0%,#172f57 45%,#111e35 100%);color:#fff}.login-story .ficon-brand>span{color:#e6f1ff}.login-story .ficon-brand img{width:190px}.login-copy .eyebrow{color:#74d5f4}.login-copy h1{font-family:inherit;font-size:clamp(38px,4vw,64px);font-weight:650;letter-spacing:-2px}.login-copy h1 em{font-style:normal;color:#28c9e6}.login-copy p{color:#bdcfe9}.login-story>small{color:#bdcfe9}.login-art div{background:#328bcb55}.login-art div:nth-of-type(4){background:#157eda}.login-art div:nth-of-type(5){background:#15bfdc}.login-art>span{color:#36d9eb}.login-card h2{font-family:inherit;font-weight:600;font-size:30px}.login-panel{position:relative}.login-theme{position:absolute;right:28px;top:24px}.login-card .eyebrow{color:var(--accent-text)}.login-card>.muted{color:var(--muted)}.cash-toolbar{margin-bottom:18px}.section-gap{margin-top:18px}
/* Preserve all four catalog columns on small screens instead of oversized cards. */
@media(max-width:700px){.sidebar{padding:18px 16px 0;gap:15px}.sidebar .ficon-brand{gap:6px}.sidebar .ficon-brand img{width:114px}.sidebar .ficon-brand>span{font-size:13px}.sidebar .profile{margin-top:0;max-width:150px}.topbar{height:52px;padding:0 16px}.theme-toggle{font-size:11px;min-height:34px;padding:6px 9px}.main-content{padding:23px 14px 18px}.page-heading{gap:10px;margin-bottom:20px}.page-heading h1{font-size:28px}.page-heading>.btn{margin-top:19px}.panel-heading{padding:15px 14px 10px}.quick-filters{padding:0 14px 11px}.filter-form{padding:13px 14px}.expense-table tr{padding:9px 14px;border-color:var(--line)}.expense-table td{padding:4px 0;font-size:11px;gap:10px}.expense-table td:before{color:var(--muted)}.expense-table:not(.expense-records) td:nth-child(2){padding:4px 0}.expense-table td .text-button{font-size:11px}.expense-table td:nth-child(2){padding:4px 0 8px}.expense-table td .receipt-missing{margin-top:2px}.stat-card:not(.featured){padding:17px 14px}.stat-value{font-size:25px}.panel-footnote{padding:10px 14px}.login-story{min-height:180px;padding:26px}.login-copy{padding:22px 0 0}.login-copy h1{font-size:32px;letter-spacing:-1px}.login-story .ficon-brand img{width:144px}.login-panel{padding-top:72px}.login-theme{top:18px;right:22px}.catalog-table{display:table;width:100%;table-layout:auto}.catalog-table thead{display:table-header-group}.catalog-table tbody{display:table-row-group}.catalog-table tr{display:table-row;padding:0}.catalog-table td,.catalog-table th,.catalog-table:not(.expense-records) td:nth-child(2){display:table-cell;padding:9px 10px;text-align:left;border-bottom:1px solid var(--line);font-size:11px}.catalog-table td:before,.catalog-table:not(.expense-records) td:nth-child(2):before{display:none}.catalog-table td:first-child{width:46%;overflow-wrap:anywhere}.catalog-table th{font-size:9px}.catalog-table .text-button{min-height:30px}.catalog-table td strong{font-size:11px}.catalog-table .category-tag{white-space:normal;font-size:9px}.catalog-table tbody tr:last-child td{border-bottom:0}.catalog-table .category-tag{padding:3px 5px}}
