:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;color:#1a1a1a;background:#f5f6f8;--user-accent: #2563eb;--user-accent-hover: #1d4ed8;--user-accent-contrast: #ffffff;--user-accent-soft: #eff6ff;--user-accent-soft-strong: #dbeafe;--user-accent-text: #1d4ed8;--user-accent-border: #2563eb;--user-accent-focus: rgb(37 99 235 / 12%);--user-link: #2563eb;--user-brand-text: #111827;--user-badge-bg: #e0e7ff;--user-badge-text: #1e3a8a;--user-popup-backdrop: rgb(15 23 42 / 48%);--user-popup-bg: #ffffff;--user-popup-border: #dbe4f0;--user-popup-title: #0f172a;--user-popup-text: #475569;--user-popup-input-border: #cbd5e1;--user-popup-input-bg: #ffffff;--user-popup-success-border: #93c5fd;--user-popup-success-bg: #f8fbff;--user-popup-warning-border: #2563eb;--user-popup-warning-bg: #f8fbff;--user-popup-error-border: #fca5a5;--user-popup-error-bg: #fff8f8}:root[data-user-theme=yellow]{--user-accent: #f2cf00;--user-accent-hover: #ddb800;--user-accent-contrast: #2f2100;--user-accent-soft: #fff9cc;--user-accent-soft-strong: #fff4a8;--user-accent-text: #6b4900;--user-accent-border: #f2cf00;--user-accent-focus: rgb(242 207 0 / 18%);--user-link: #8f6200;--user-brand-text: #111827;--user-badge-bg: #fff4a8;--user-badge-text: #6b4900;--user-popup-backdrop: rgb(44 32 4 / 42%);--user-popup-border: #f2cf00;--user-popup-title: #2f2100;--user-popup-text: #6b4900;--user-popup-input-border: #e5d37a;--user-popup-success-border: #f2cf00;--user-popup-success-bg: #fffdf1;--user-popup-warning-border: #ddb800;--user-popup-warning-bg: #fff9d9}*{box-sizing:border-box}body{margin:0}a{color:var(--user-link);text-decoration:none}.layout{max-width:1280px;margin:0 auto;padding:1rem 1.5rem 3rem}.nav{display:flex;gap:1rem;align-items:center;padding:.9rem 0 1rem;border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem}.user-brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--user-brand-text);text-decoration:none;flex:0 0 auto}.user-brand:hover{color:var(--user-brand-text)}.user-brand-title{display:inline-block;line-height:1;color:var(--user-brand-text)}.user-brand-icon-image{display:block;width:auto;max-width:140px;object-fit:contain}.user-brand-icon-fallback{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#0f172a;color:#fff;font-weight:800;font-size:1rem;flex:0 0 auto}.user-brand-aeolus .user-brand-title{font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:1.2rem}.user-brand-modern .user-brand-title{font-family:Inter,Segoe UI,sans-serif;font-weight:800;letter-spacing:.04em;font-size:1.08rem}.user-brand-classic .user-brand-title{font-family:Georgia,Times New Roman,serif;font-weight:700;letter-spacing:.02em;font-size:1.08rem}.user-nav-links{display:flex;align-items:center;gap:1rem;flex:1 1 auto;flex-wrap:wrap}.user-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.25rem 0;border:none;background:transparent;color:#111827;font-size:.84rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;transition:color .2s ease,box-shadow .2s ease;box-shadow:inset 0 -2px 0 transparent}.user-nav-link:hover{color:var(--user-accent-hover);box-shadow:inset 0 -2px 0 var(--user-accent-hover)}.user-nav-link.active{color:#111827;box-shadow:inset 0 -2px 0 var(--user-accent)}.user-nav-menu{position:relative}.user-nav-menu-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;padding-inline:0;margin:0;gap:.35rem;cursor:pointer}.user-nav-menu-caret{font-size:.8rem;transition:transform .2s ease}.user-nav-menu-caret.open{transform:rotate(180deg)}.user-nav-menu-dropdown{right:auto;left:0}.user-nav-utility{display:flex;align-items:center;gap:.75rem;margin-left:auto;flex:0 0 auto;position:relative}.user-welcome-chip{display:inline-flex;align-items:center;min-height:2.3rem;padding:.45rem .8rem;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#334155;font-size:.82rem;font-weight:600}.user-nav-logout{min-height:2.45rem;padding-inline:1rem;border-radius:8px;border-color:#e5e7eb;background:#111827;color:#fff}.user-nav-logout:hover{background:var(--user-accent);border-color:var(--user-accent-border);color:#111827}.user-notification-menu{position:relative}.user-notification-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.45rem;height:2.45rem;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#111827;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}.user-notification-trigger:hover,.user-notification-trigger.open{border-color:var(--user-accent-border);background:var(--user-accent-soft);color:var(--user-accent-text);box-shadow:0 10px 24px color-mix(in srgb,var(--user-accent) 16%,transparent)}.user-notification-icon{width:1.15rem;height:1.15rem}.user-notification-badge{position:absolute;top:-.35rem;right:-.35rem;min-width:1.15rem;height:1.15rem;padding:0 .28rem;border-radius:999px;background:#dc2626;color:#fff;font-size:.68rem;font-weight:800;line-height:1.15rem;text-align:center;box-shadow:0 0 0 2px #fff}.user-notification-dropdown{position:absolute;top:calc(100% + .65rem);right:0;width:min(24rem,calc(100vw - 2rem));border:1px solid #dbe3ef;border-radius:12px;background:#fff;box-shadow:0 18px 40px #0f172a2e;overflow:hidden;z-index:80}.user-notification-header{padding:1rem 1rem .85rem;border-bottom:1px solid #eef2f7}.user-notification-header strong{display:block;color:#111827;font-size:.98rem}.user-notification-header p{margin:.25rem 0 0;color:#64748b;font-size:.84rem}.user-notification-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;padding:.8rem 1rem .4rem;border-bottom:1px solid #eef2f7}.user-notification-category-chip{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:2.5rem;padding:.6rem .75rem;border:1px solid #dbe3ef;border-radius:10px;background:#fff;color:#334155;cursor:pointer;font-size:.8rem;font-weight:700;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.user-notification-category-chip:disabled{opacity:.55;cursor:default}.user-notification-category-chip.active{border-color:var(--user-accent-border);background:var(--user-accent-soft);color:var(--user-accent-text)}.user-notification-category-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;border-radius:999px;background:#eef2f7;color:#475569;font-size:.72rem;font-weight:800}.user-notification-category-chip.active .user-notification-category-count{background:var(--user-accent-soft-strong);color:var(--user-accent-text)}.user-notification-section-label{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem .25rem;color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.user-notification-section-label span{color:var(--user-accent-text)}.user-notification-section-actions{display:flex;align-items:center;gap:.65rem}.user-notification-clear-all,.user-notification-clear-one{border:1px solid #dbe3ef;border-radius:8px;background:#fff;color:#475569;cursor:pointer;font-size:.74rem;font-weight:700;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.user-notification-clear-all{min-height:1.9rem;padding:.3rem .65rem}.user-notification-clear-one{min-height:1.65rem;padding:.2rem .5rem}.user-notification-clear-all:hover,.user-notification-clear-one:hover{border-color:var(--user-accent-border);background:var(--user-accent-soft);color:var(--user-accent-text)}.user-notification-list{max-height:min(28rem,70vh);overflow-y:auto}.user-notification-item{width:100%;display:block;padding:.9rem 1rem;border:none;border-top:1px solid #eef2f7;background:#fff;color:inherit;text-align:left;cursor:pointer;transition:background-color .18s ease}.user-notification-item:hover{background:#f8fafc}.user-notification-item.unread{background:color-mix(in srgb,var(--user-accent-soft) 70%,white)}.user-notification-item.unread:hover{background:color-mix(in srgb,var(--user-accent-soft-strong) 72%,white)}.user-notification-item-topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.user-notification-item-heading{display:flex;align-items:center;gap:.55rem;min-width:0}.user-notification-item-actions{display:flex;align-items:center;gap:.45rem}.user-notification-item-title{color:#111827;font-size:.92rem;font-weight:700}.user-notification-update-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.55rem;height:1.55rem;padding:0 .45rem;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1;flex-shrink:0}.user-notification-update-badge.approved{background:#dcfce7;color:#166534}.user-notification-update-badge.rejected{background:#fee2e2;color:#b91c1c}.user-notification-pill{display:inline-flex;align-items:center;min-height:1.4rem;padding:0 .5rem;border-radius:999px;background:#dc2626;color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.user-notification-message{margin-top:.35rem;color:#334155;font-size:.84rem}.user-notification-meta{display:flex;flex-wrap:wrap;gap:.45rem .7rem;margin-top:.55rem;color:#64748b;font-size:.75rem}.user-notification-empty{padding:1rem;color:#64748b;font-size:.88rem}.user-notification-error{color:#b91c1c}.new-request-menu{position:relative}.new-request-trigger{cursor:pointer}.new-request-trigger.nav-trigger{width:2.5rem;height:2.5rem;border:none;border-radius:999px;background:var(--user-accent);color:var(--user-accent-contrast);box-shadow:0 6px 18px color-mix(in srgb,var(--user-accent) 28%,transparent)}.new-request-trigger.nav-trigger:hover{background:var(--user-accent-hover);color:var(--user-accent-contrast)}.new-request-trigger-plus{display:inline-block;font-size:1.4rem;line-height:1;transform:translateY(-1px)}.new-request-trigger.button-trigger{min-width:10.5rem}.new-request-trigger-caret{font-size:.8rem;transition:transform .2s ease}.new-request-trigger-caret.open{transform:rotate(180deg)}.new-request-dropdown{position:absolute;top:calc(100% + .55rem);right:0;width:13rem;padding:.45rem;border:1px solid #dbe3ef;border-radius:10px;background:#fff;box-shadow:0 14px 30px #0f172a24;z-index:40}.new-request-menu.nav-mode .new-request-dropdown{right:auto;left:0}.new-request-dropdown-item{width:100%;display:flex;align-items:center;justify-content:flex-start;padding:.7rem .8rem;border:none;border-radius:8px;background:transparent;color:#1f2937;font-size:.9rem;font-weight:600;cursor:pointer;text-align:left}.new-request-dropdown-item:hover{background:var(--user-accent-soft-strong);color:var(--user-accent-text)}.new-request-dropdown-item.primary-item{background:var(--user-accent-soft);color:var(--user-accent-text)}.new-request-dropdown-item.primary-item:hover{background:var(--user-accent-soft-strong)}.card{background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #00000014}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.page-header h1{margin:0}.page-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.page-filter{display:flex;gap:.5rem;align-items:center;font-size:.875rem}.page-filter span{white-space:nowrap}.page-filter select,.page-filter input{min-width:9rem}.inline-panel{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;margin-bottom:1rem;background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px}.panel-actions{display:flex;gap:.5rem}.total-amount{padding:.45rem .75rem;border:1px solid #d1d5db;border-radius:6px;background:#f8fafc;color:#111827;font-size:.875rem;white-space:nowrap}.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.tab-button{padding:.45rem .85rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;font-size:.875rem}.tab-button.active{background:var(--user-accent);border-color:var(--user-accent-border);color:var(--user-accent-contrast)}.expense-group{margin-top:.25rem}.expense-group-title{margin:0 0 .75rem;font-size:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;margin-bottom:.25rem}.dynamic-field-grid{display:grid;gap:0}.dynamic-field-row{display:grid;grid-template-columns:repeat(var(--dynamic-field-columns, 1),minmax(0,1fr));gap:1rem}.dynamic-field-cell{min-width:0}.settings-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.settings-section-header h2,.export-settings-panel h3{margin:0}.settings-help{margin:.35rem 0 0;color:#6b7280;font-size:.875rem}.export-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.export-settings-panel{padding:.9rem 1rem;border:1px solid #e5e7eb;border-radius:6px;background:#f8fafc}.checkbox-row{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;font-size:.95rem}.checkbox-row input{width:1rem;height:1rem;margin:0}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.65rem .8rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}input[type=file]:disabled{cursor:not-allowed;opacity:.55}input[type=checkbox],input[type=radio]{accent-color:var(--user-accent)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--user-accent-border);box-shadow:0 0 0 3px var(--user-accent-focus)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.4rem;padding:.55rem 1rem;border-radius:6px;border:1px solid transparent;cursor:pointer;font-size:.875rem;font-weight:600;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.btn-primary{background:var(--user-accent);color:var(--user-accent-contrast);border-color:var(--user-accent-border)}.btn-secondary{background:#fff;color:#1f2937;border-color:#d1d5db}.btn:hover{box-shadow:0 2px 10px #0f172a1a}.btn-primary:hover{background:var(--user-accent-hover);border-color:var(--user-accent-hover);color:var(--user-accent-contrast)}.btn-secondary:hover{background:#f8fafc}.btn:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem;border-bottom:1px solid #eee}.checkbox-cell{text-align:center}.checkbox-cell input{width:1rem;height:1rem}.badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;background:var(--user-badge-bg);color:var(--user-badge-text)}.login-shell{min-height:calc(100vh - 4rem);display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem}.login-page{width:min(100%,520px);display:grid;gap:1.35rem;padding:2rem;border:1px solid #e5e7eb;border-radius:20px;background:#fff;box-shadow:0 18px 48px #0f172a1a}.login-brand{margin:0}.login-demo-card{display:grid;gap:.4rem;padding:.9rem 1rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.login-demo-label{color:#64748b;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.login-brand-centered{justify-content:center;margin-bottom:.2rem}.login-form-header{display:grid;gap:.45rem}.login-form-header h2{margin:0;color:#0f172a;font-size:1.95rem}.login-form-header p{margin:0;color:#64748b;font-size:.95rem}.login-form-header-centered{text-align:center}.login-form-stack{display:grid;gap:1rem}.login-error{margin:0;color:#b91c1c;font-size:.875rem}.login-success{margin:0;color:#166534;font-size:.875rem}.login-actions-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.login-link-button{min-width:0}.login-demo-text{margin:0;color:#334155;font-size:.88rem;line-height:1.65}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:50}.modal-card{width:min(100%,360px);background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 12px 36px #0f172a33}.modal-card h2{margin:0 0 1rem;font-size:1.1rem}.modal-actions{display:flex;gap:.75rem;flex-wrap:wrap}.app-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--user-popup-backdrop)}.app-popup-card{width:min(100%,460px);display:grid;gap:1rem;padding:1.25rem;border:1px solid var(--user-popup-border);border-radius:14px;background:var(--user-popup-bg);box-shadow:0 24px 64px #0f172a3d}.app-popup-success{border-color:var(--user-popup-success-border);background:var(--user-popup-success-bg)}.app-popup-error{border-color:var(--user-popup-error-border);background:var(--user-popup-error-bg)}.app-popup-warning{border-color:var(--user-popup-warning-border);background:var(--user-popup-warning-bg)}.app-popup-header h2{margin:0;color:var(--user-popup-title);font-size:1.1rem}.app-popup-body{display:grid;gap:.85rem}.app-popup-body p{margin:0;color:var(--user-popup-text);white-space:pre-wrap}.app-popup-field{display:grid;gap:.35rem}.app-popup-field span{color:var(--user-popup-text);font-size:.85rem;font-weight:600}.app-popup-field input{width:100%;padding:.65rem .8rem;border:1px solid var(--user-popup-input-border);border-radius:8px;background:var(--user-popup-input-bg);color:var(--user-popup-title)}.app-popup-field input:focus{outline:none;border-color:var(--user-accent-border);box-shadow:0 0 0 3px var(--user-accent-focus)}.app-popup-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.rule-warning-panel{margin-bottom:1rem;padding:.9rem 1rem;border:1px solid #fbbf24;border-radius:6px;background:#fffbeb;color:#92400e}.rule-warning-panel strong{display:block;margin-bottom:.4rem}.rule-warning-panel ul{margin:0;padding-left:1.1rem}.expense-detail-page{padding:1.5rem}.expense-detail-header{margin-bottom:1.25rem}.expense-detail-heading{display:grid;gap:.9rem}.expense-detail-title-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.expense-detail-heading h1{margin:0}.expense-detail-meta{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,3fr);gap:.85rem}.expense-detail-stat{min-width:0;padding:.8rem .9rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.expense-detail-stat strong,.expense-detail-stat .badge{display:inline-block;margin-top:.2rem}.expense-detail-stat-label{display:block;color:#64748b;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.expense-detail-warning-stat{grid-column:1 / -1;background:#fffbeb;border-color:#f59e0b}.expense-detail-standard-stat{min-width:0}.expense-detail-standard-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.expense-detail-standard-trigger{min-width:0;padding:.35rem .75rem;font-size:.82rem}.expense-detail-standard-list{display:grid;gap:.55rem;margin-top:.35rem}.expense-detail-standard-item{display:grid;gap:.2rem}.expense-detail-standard-item p{margin:0;color:#111827;line-height:1.55}.expense-detail-standard-modal{width:min(960px,100%);max-height:min(82vh,920px);padding:1.5rem;overflow:auto}.expense-detail-standard-modal-header{margin-bottom:1rem}.expense-detail-standard-modal-lines{margin-top:.25rem}.expense-detail-warning-list{margin:.35rem 0 0;padding-left:1.1rem;color:#92400e}.expense-detail-warning-list li+li{margin-top:.25rem}.expense-detail-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.expense-detail-back-link{text-decoration:none}.expense-detail-error{margin-bottom:1rem;padding:.9rem 1rem;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#b91c1c}.expense-detail-success{margin-bottom:1rem;padding:.9rem 1rem;border:1px solid #bbf7d0;border-radius:8px;background:#f0fdf4;color:#166534}.expense-detail-layout{display:grid;grid-template-columns:minmax(320px,2fr) minmax(0,3fr);gap:1.25rem;align-items:start}.expense-detail-layout.no-sidebar{grid-template-columns:minmax(0,1fr)}.expense-detail-sidebar,.expense-detail-main{min-width:0}.expense-detail-main{display:grid;gap:1rem}.expense-detail-panel{border:1px solid #e5e7eb;border-radius:10px;background:#fff;overflow:hidden}.expense-detail-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.95rem 1rem;border-bottom:1px solid #eef2f7;background:#fbfcfd}.expense-detail-panel-header h2{margin:0;font-size:1rem}.expense-detail-note{padding:1rem}.expense-detail-note strong{display:block;margin-bottom:.45rem}.expense-detail-note p{margin:0;color:#374151}.expense-detail-note-content{margin:0;color:#374151;white-space:pre-wrap}.expense-detail-receipts{display:grid;gap:.85rem;padding:1rem}.expense-detail-receipt-card{display:grid;gap:.65rem}.expense-detail-receipt-link{display:block;width:100%;aspect-ratio:210 / 297}.expense-detail-receipt-image{display:block;width:100%;height:100%;aspect-ratio:210 / 297;object-fit:contain;border-radius:8px;border:1px solid #dbe3ef;background:#f8fafc}.expense-detail-receipt-pdf{display:block;width:100%;height:100%;aspect-ratio:210 / 297;border:1px solid #dbe3ef;border-radius:8px;background:#fff}.expense-detail-receipt-action{width:100%}.expense-detail-empty-state{padding:1rem;color:#6b7280}.expense-detail-candidate-section{display:grid;gap:.9rem;padding:0 1rem 1rem}.expense-detail-candidate-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}.expense-detail-candidate-toolbar h3{margin:0;font-size:1rem}.expense-detail-candidate-toolbar p{margin:.3rem 0 0;color:#6b7280;font-size:.875rem}.expense-detail-candidate-filter{display:inline-flex;align-items:center;gap:.45rem;color:#374151;font-size:.875rem;white-space:nowrap}.expense-detail-candidate-actions{display:flex;justify-content:flex-end}.expense-detail-candidate-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,190px);gap:.85rem;overflow-x:auto;overflow-y:hidden;align-items:start;padding-bottom:.4rem;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.expense-detail-candidate-grid::-webkit-scrollbar{height:10px}.expense-detail-candidate-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.expense-detail-candidate-grid::-webkit-scrollbar-track{background:#f3f4f6;border-radius:999px}.expense-detail-candidate-card{display:grid;gap:.65rem;padding:.65rem;border:1px solid #dbe3ef;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;scroll-snap-align:start}.expense-detail-candidate-card:hover{border-color:var(--theme-accent);box-shadow:0 10px 24px #0f172a14;transform:translateY(-1px)}.expense-detail-candidate-card.selected{border-color:var(--theme-accent);background:color-mix(in srgb,var(--theme-accent-soft, #fef3c7) 70%,#ffffff 30%)}.expense-detail-candidate-card.attached{cursor:default;opacity:.72}.expense-detail-candidate-frame{width:100%;aspect-ratio:210 / 297}.expense-detail-candidate-frame .expense-detail-receipt-image,.expense-detail-candidate-frame .expense-detail-receipt-pdf{pointer-events:none}.expense-detail-candidate-meta{display:grid;gap:.45rem}.expense-detail-candidate-name{color:#111827;font-size:.875rem;line-height:1.35;word-break:break-word}.expense-detail-candidate-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.75rem;padding:.2rem .55rem;border-radius:999px;background:#f3f4f6;color:#374151;font-size:.75rem;font-weight:700}.expense-detail-candidate-badge.selected{background:color-mix(in srgb,var(--theme-accent) 18%,#ffffff 82%);color:#111827}.expense-detail-candidate-badge.attached{background:#e5e7eb;color:#4b5563}.expense-detail-upload{padding:0 1rem 1rem}.expense-detail-upload label{display:block;margin-bottom:.35rem;font-size:.875rem}.expense-detail-upload-list{margin-top:.6rem;padding:.75rem .85rem;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;color:#374151;font-size:.875rem}.expense-detail-form{padding:1rem}.mileage-calendar-page{display:grid;gap:1.25rem}.mileage-calendar-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(360px,6fr);gap:1.25rem;align-items:start}.mileage-calendar-panel{overflow:visible}.mileage-calendar-panel-header p{margin:.25rem 0 0;color:#64748b;font-size:.9rem}.mileage-calendar-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;padding:1rem;border-bottom:1px solid #eef2f7;background:#fff}.mileage-calendar-stats .expense-detail-stat{min-width:0}.per-diem-calendar-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-range-picker{display:flex;gap:.85rem;flex-wrap:wrap;padding:0 1rem 1rem;border-bottom:1px solid #eef2f7;background:#fff}.calendar-range-button{min-width:13rem;display:grid;gap:.25rem;padding:.8rem .95rem;border:1px solid #e2e8f0;border-radius:10px;background:#fffdf2;color:#0f172a;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease}.calendar-range-button:hover{border-color:#cbd5e1;box-shadow:0 8px 20px #0f172a0f}.calendar-range-button.active{border-color:var(--user-accent-border);box-shadow:0 0 0 1px var(--user-accent-border);background:var(--user-accent-soft)}.calendar-range-button-label{color:#64748b;font-size:.72rem;font-weight:700;line-height:1.1;text-transform:uppercase}.calendar-range-button-value{font-size:.95rem;font-weight:800;line-height:1.2}.per-diem-range-picker{align-items:stretch;gap:.65rem;padding-top:.85rem}.per-diem-range-button{flex:1 1 0;min-width:0;padding:.75rem .95rem;border-radius:12px;background:#fff}.per-diem-range-button:not(.active){background:#fffcf0}.per-diem-range-separator{flex:0 0 1.5rem;display:flex;align-items:center;justify-content:center}.per-diem-range-separator span{width:100%;height:1px;background:linear-gradient(90deg,#dbe3ef,#cbd5e1)}.mileage-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem;padding:1rem;background:#fbfcfd}.mileage-calendar-weekday{color:#64748b;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:0 .25rem}.mileage-calendar-day{position:relative;z-index:0;display:grid;grid-template-rows:auto 1fr;align-content:stretch;gap:.3rem;aspect-ratio:1 / 1;min-height:0;padding:.65rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#0f172a;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease}.mileage-calendar-day.level-0{background:#fffdf2}.mileage-calendar-day.level-1{background:#fff3bf;border-color:#f5d565}.mileage-calendar-day.level-2{background:#ffe48a;border-color:#ebc74c}.mileage-calendar-day.level-3{background:#ffd54a;border-color:#d8af1f}.mileage-calendar-day.level-4{background:#f7c600;border-color:#bd9600}.mileage-calendar-day:hover{z-index:30;transform:translateY(-1px);border-color:#cbd5e1;box-shadow:0 10px 24px #0f172a14}.mileage-calendar-day.selected{border-color:var(--user-accent-border);box-shadow:0 0 0 1px var(--user-accent-border)}.mileage-calendar-day.selection-in-range{border-color:#d4b106;box-shadow:inset 0 0 0 2px #f2cf006b}.mileage-calendar-day.selection-range-start,.mileage-calendar-day.selection-range-end{border-color:var(--user-accent-border);box-shadow:0 0 0 1px var(--user-accent-border),inset 0 0 0 2px #f2cf007a}.mileage-calendar-day.in-range{background:#fff7d8;border-color:#f0d98b}.mileage-calendar-day.occupied-in-range{background:#ffefb3;border-color:#e7c95a}.mileage-calendar-day.range-start,.mileage-calendar-day.range-end{border-color:var(--user-accent-border);box-shadow:0 0 0 1px var(--user-accent-border)}.mileage-calendar-day.occupied-range-start,.mileage-calendar-day.occupied-range-end{background:#ffd54a;border-color:#d8af1f}.mileage-calendar-day.muted{color:#64748b;opacity:.72}.mileage-calendar-day-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}.mileage-calendar-day-number{font-size:1rem;font-weight:800;line-height:1}.mileage-calendar-day-pill{min-width:1.5rem;padding:.15rem .4rem;border-radius:999px;background:#0f172a1f;color:#0f172a;font-size:.72rem;font-weight:700;text-align:center}.mileage-calendar-day-foot{align-self:end;color:#1f2937;font-size:.68rem;font-weight:700;line-height:1.2;white-space:nowrap}.mileage-calendar-day-hover-card{position:absolute;left:0;top:calc(100% + .45rem);z-index:120;min-width:12rem;display:grid;gap:.2rem;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 14px 30px #0f172a24;color:#0f172a;font-size:.78rem;line-height:1.4;opacity:0;visibility:hidden;transform:translateY(4px);pointer-events:none;transition:opacity .14s ease,transform .14s ease,visibility .14s ease}.mileage-calendar-day-hover-card strong{font-size:.82rem}.mileage-calendar-day:hover .mileage-calendar-day-hover-card,.mileage-calendar-day:focus-visible .mileage-calendar-day-hover-card{opacity:1;visibility:visible;transform:translateY(0)}.mileage-calendar-side{display:grid;gap:1rem}.mileage-calendar-form{display:grid;gap:.25rem}.mileage-calendar-selected-date{display:grid;gap:.2rem;padding:.9rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.mileage-calendar-entry-list{display:grid;gap:.85rem;padding:1rem}.mileage-calendar-entry-card{display:grid;gap:.65rem;padding:.95rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.mileage-calendar-entry-card p{margin:0;color:#475569;line-height:1.55}.mileage-calendar-entry-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.mileage-calendar-entry-meta{display:flex;gap:1rem;flex-wrap:wrap;color:#334155;font-size:.88rem}.expense-detail-form-actions{display:flex;justify-content:flex-start;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.expense-detail-approval-box{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #eef2f7}.expense-detail-fields{display:grid}.expense-detail-field-row{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:1rem;padding:.95rem 1rem;border-top:1px solid #eef2f7}.expense-detail-field-row:first-child{border-top:none}.expense-detail-field-label{color:#64748b;font-size:.875rem;font-weight:600}.expense-detail-field-value{color:#111827;word-break:break-word}.expense-detail-notes-composer,.expense-detail-note-card{padding:1rem}.expense-detail-notes-composer{border-bottom:1px solid #eef2f7}.expense-detail-notes-composer textarea,.expense-detail-note-card textarea{width:100%;min-height:5.5rem;padding:.75rem .85rem;border:1px solid #cbd5e1;border-radius:8px;resize:vertical;background:#fff}.expense-detail-notes-composer textarea:focus,.expense-detail-note-card textarea:focus{outline:none;border-color:var(--user-accent-border);box-shadow:0 0 0 3px var(--user-accent-focus)}.expense-note-visibility-picker{display:grid;gap:.75rem;margin-top:.9rem}.expense-note-visibility-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.expense-detail-note-visibility{margin-top:.85rem;color:#64748b;font-size:.82rem}.expense-detail-notes-list{display:grid}.expense-detail-note-card+.expense-detail-note-card{border-top:1px solid #eef2f7}.expense-detail-note-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.expense-detail-note-meta span{color:#6b7280;font-size:.82rem}.expense-list-page{padding:1.5rem}.expense-list-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.expense-list-heading h1{margin:0 0 .9rem}.expense-list-meta{display:flex;gap:.85rem;flex-wrap:wrap}.expense-list-stat{min-width:12rem;padding:.8rem .9rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.expense-list-stat strong,.expense-list-stat .badge{display:inline-block;margin-top:.2rem}.expense-list-stat-label{display:block;color:#64748b;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.expense-list-header-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.expense-list-main{display:grid;gap:1rem}.expense-list-panel{border:1px solid #e5e7eb;border-radius:10px;background:#fff;overflow:hidden}.expense-list-panel.expense-list-panel-allow-overflow{overflow:visible}.expense-list-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.95rem 1rem;border-bottom:1px solid #eef2f7;background:#fbfcfd}.expense-list-panel-header h2{margin:0;font-size:1rem}.expense-list-panel-body{padding:1rem}.expense-list-toolbar{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.expense-list-toolbar-filters,.expense-list-toolbar-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.submitter-chip-filter{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.submitter-chip{min-height:2.25rem;display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .7rem;border:1px solid #dbe3ef;border-radius:999px;background:#fff;color:#334155;font-size:.8rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.submitter-chip:hover,.submitter-chip:focus-visible{outline:none;border-color:#cbd5e1;background:#f8fafc;box-shadow:0 2px 10px #0f172a14}.submitter-chip.active{border-color:color-mix(in srgb,var(--user-accent) 38%,#ffffff);background:var(--user-accent-soft);color:var(--user-accent-text)}.submitter-chip-label{max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submitter-chip-count{min-width:1.6rem;padding:.15rem .42rem;border-radius:999px;background:#eef2f7;color:#475569;font-size:.72rem;line-height:1;text-align:center}.submitter-chip.active .submitter-chip-count{background:color-mix(in srgb,var(--user-accent) 18%,#ffffff);color:var(--user-accent-text)}.expense-list-messages{display:grid;gap:.75rem}.expense-list-message,.expense-list-error,.expense-list-success{padding:.9rem 1rem;border-radius:8px;border:1px solid #e5e7eb}.expense-list-message{background:#f8fafc;color:#334155}.expense-list-success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.expense-list-error{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.expense-list-empty-state{padding:1.1rem 1rem;color:#6b7280}.expense-list-tabs{padding:1rem}.expense-list-table-wrap{position:relative;overflow-x:auto}.expense-list-table{width:100%;min-width:920px}.expense-type-header{display:inline-grid;gap:.4rem;align-items:start;justify-items:start;min-width:8.5rem}.expense-type-header>span{display:block;line-height:1.3;white-space:nowrap}.filter-dropdown{position:relative;display:inline-flex;z-index:6}.filter-dropdown-trigger{min-height:2rem;display:inline-flex;align-items:center;gap:.45rem;max-width:12rem;padding:.35rem .55rem;border:1px solid #dbe3ef;border-radius:999px;background:#f8fafc;color:#334155;font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.filter-dropdown-trigger:hover,.filter-dropdown-trigger.open{background:#fff;border-color:#cbd5e1;color:#1f2937;box-shadow:0 2px 10px #0f172a14}.filter-dropdown-trigger.active{background:var(--user-accent-soft);border-color:color-mix(in srgb,var(--user-accent) 35%,#ffffff);color:var(--user-accent-text)}.filter-dropdown-trigger:disabled{cursor:not-allowed;opacity:.5}.filter-dropdown-icon,.filter-dropdown-caret{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.filter-dropdown-icon svg,.filter-dropdown-caret svg{width:.85rem;height:.85rem;fill:currentColor}.filter-dropdown-trigger-label{color:#64748b}.filter-dropdown-trigger-value{max-width:5.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}.filter-dropdown-caret{margin-left:auto;transition:transform .2s ease}.filter-dropdown-caret.open{transform:rotate(180deg)}.filter-dropdown-menu-surface{position:absolute;top:0;left:0;min-width:0;max-width:min(18rem,calc(100vw - 24px));padding:.35rem;border:1px solid #dbe3ef;border-radius:10px;background:#fff;box-shadow:0 18px 36px #0f172a29;z-index:1000}.filter-dropdown-menu{display:grid;gap:.15rem}.filter-dropdown-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border:none;border-radius:8px;background:transparent;color:#1f2937;font-size:.84rem;font-weight:600;text-align:left;cursor:pointer}.filter-dropdown-option:hover{background:#f8fafc}.filter-dropdown-option.selected{background:var(--user-accent-soft);color:var(--user-accent-text)}.filter-dropdown-check{flex:0 0 auto;font-size:.8rem}.table-sort-trigger{min-height:2rem;display:inline-flex;align-items:center;gap:.45rem;max-width:12rem;padding:.35rem .55rem;border:1px solid #dbe3ef;border-radius:999px;background:#f8fafc;color:#334155;font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.table-sort-trigger:hover,.table-sort-trigger:focus-visible{background:#fff;border-color:#cbd5e1;color:#1f2937;box-shadow:0 2px 10px #0f172a14}.table-sort-trigger.active{background:var(--user-accent-soft);border-color:color-mix(in srgb,var(--user-accent) 35%,#ffffff);color:var(--user-accent-text)}.table-sort-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.table-sort-icon svg{width:.85rem;height:.85rem;fill:currentColor}.table-sort-label{color:#64748b}.table-sort-value{max-width:5.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}.expense-warning-column,.expense-warning-cell,.expense-select-column{width:3rem;min-width:3rem;text-align:center}.expense-select-column input{margin:0;accent-color:var(--user-accent)}.expense-warning-indicator{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:999px;background:#dc2626;color:#fff;font-weight:700;font-size:.82rem;line-height:1;cursor:help}.expense-list-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.expense-list-actions-with-select{justify-content:flex-start}.expense-row-select-summary{min-height:2.1rem;display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .65rem;border:1px solid #dbe3ef;border-radius:999px;background:#f8fafc;color:#475569;font-size:.76rem;font-weight:600}.approval-reject-menu{position:absolute;right:auto;z-index:1000}.expense-list-note-input{min-width:16rem}.expense-list-note-input textarea{width:100%;min-height:5.5rem;padding:.75rem .85rem;border:1px solid #cbd5e1;border-radius:8px;resize:vertical;background:#fff}.expense-list-note-input textarea:focus{outline:none;border-color:var(--user-accent-border);box-shadow:0 0 0 3px var(--user-accent-focus)}.expense-list-note-readonly{min-width:10rem;max-width:16rem;color:#475569;font-size:.88rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.btn-link{text-decoration:none}.home-dashboard{padding:1.5rem;display:grid;gap:1.25rem}.home-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.25rem}.home-dashboard-heading h1{margin:0 0 .75rem}.home-dashboard-heading p{margin:0;max-width:44rem;color:#64748b}.home-dashboard-badges{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.home-dashboard-badge{display:inline-flex;align-items:center;min-height:2rem;padding:.35rem .8rem;border:1px solid #dbe3ef;border-radius:999px;background:#f8fafc;color:#334155;font-size:.78rem;font-weight:700;letter-spacing:.02em}.home-dashboard-section{display:grid;gap:.85rem}.home-dashboard-section-header h2{margin:0;font-size:1rem}.home-tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.home-tile-card{display:grid;gap:.65rem;min-height:11.5rem;padding:1.1rem;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;color:#0f172a;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.home-tile-card:hover{transform:translateY(-1px);border-color:#cbd5e1;background:#fff;box-shadow:0 10px 24px #0f172a14}.home-tile-card-primary{background:linear-gradient(180deg,var(--user-accent-soft) 0%,#f8fbff 100%);border-color:color-mix(in srgb,var(--user-accent) 35%,#ffffff)}.home-tile-card strong{font-size:1rem}.home-tile-card p{margin:0;color:#64748b;font-size:.9rem;line-height:1.5}.receipt-upload-page{display:grid;gap:1rem}.receipt-upload-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);gap:1rem;align-items:start}.receipt-upload-grid.single-panel{grid-template-columns:minmax(0,1fr)}.receipt-upload-panel-body{padding:1rem;display:grid;gap:1rem}.receipt-upload-dropzone{display:grid;gap:.85rem;padding:1rem;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}.receipt-upload-field{display:grid;gap:.45rem}.receipt-upload-field span{color:#64748b;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.receipt-upload-hint{color:#64748b;font-size:.88rem;line-height:1.55}.receipt-upload-selected-list,.receipt-upload-batch-list,.receipt-upload-item-list{display:grid;gap:.75rem}.receipt-upload-selected-item,.receipt-upload-batch-card,.receipt-upload-item-card{border:1px solid #e5e7eb;border-radius:10px;background:#fff}.receipt-upload-selected-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem .9rem;color:#334155;font-size:.88rem}.receipt-upload-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.receipt-upload-filter-group{display:flex;flex-wrap:wrap;gap:.75rem}.receipt-upload-filter-stack{display:grid;gap:1rem}.receipt-upload-filter-section{display:grid;gap:.6rem}.receipt-upload-filter-label{color:#64748b;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.receipt-upload-filter-pill{min-height:2.5rem;display:inline-flex;align-items:center;gap:.65rem;padding:.45rem .85rem;border:1px solid #dbe3ef;border-radius:999px;background:#fff;color:#0f172a;font-size:.88rem;font-weight:700}.receipt-upload-filter-pill strong{min-width:1.5rem;display:inline-flex;align-items:center;justify-content:center;padding:.1rem .45rem;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.75rem}.receipt-upload-filter-pill.active{border-color:color-mix(in srgb,var(--user-accent) 35%,#ffffff);background:var(--user-accent-soft);color:var(--user-accent-text)}.receipt-upload-thumbnail-status-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.receipt-upload-link-badge{display:inline-flex;align-items:center;min-height:1.7rem;padding:.2rem .55rem;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.75rem;font-weight:700}.receipt-upload-link-badge.linked{background:var(--user-accent-soft);color:var(--user-accent-text)}.receipt-upload-open-expense-button{min-height:2rem;padding:.35rem .7rem;font-size:.78rem}.receipt-upload-linked-expense-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.receipt-upload-linked-expense-status{color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.receipt-upload-filter-pill.active strong{background:#ffffffbf;color:inherit}.receipt-upload-batch-card{display:grid;gap:.85rem;padding:1rem}.receipt-upload-batch-topline{display:flex;align-items:center;gap:.75rem;color:#0f172a;justify-content:space-between;flex-wrap:wrap}.receipt-upload-batch-meta{color:#64748b;font-size:.8rem;font-weight:600}.receipt-upload-thumbnail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.8rem}.receipt-upload-thumbnail-card{position:relative;display:grid;gap:.55rem;color:#0f172a}.receipt-upload-thumbnail-card:hover .receipt-upload-thumbnail-frame{border-color:var(--user-accent-border);box-shadow:0 8px 18px #0f172a14}.receipt-upload-thumbnail-frame{position:relative;aspect-ratio:.75;overflow:hidden;border:1px solid #dbe3ef;border-radius:10px;background:#f8fafc;transition:border-color .2s ease,box-shadow .2s ease}.receipt-upload-thumbnail-link{display:block}.receipt-upload-thumbnail{width:100%;height:100%;border:0;display:block;object-fit:cover;background:#fff}.receipt-upload-thumbnail-pdf-frame{cursor:pointer}.receipt-upload-thumbnail-pdf-lite{display:grid;align-content:center;justify-items:center;gap:.65rem;padding:1rem;text-align:center;text-decoration:none;color:#0f172a;background:linear-gradient(180deg,#f8fafc,#eef2f7)}.receipt-upload-pdf-lite-badge{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;min-height:1.9rem;padding:.2rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--user-accent) 14%,#ffffff);color:var(--user-accent-text);font-size:.78rem;font-weight:800;letter-spacing:.05em}.receipt-upload-pdf-lite-title{font-size:.85rem;line-height:1.35;word-break:break-word}.receipt-upload-pdf-lite-hint{color:#64748b;font-size:.78rem;font-weight:600}.receipt-upload-pdf-scroll{width:100%;height:100%;overflow:auto;padding:.4rem;display:grid;gap:.4rem;align-content:start}.receipt-upload-pdf-page{display:flex;justify-content:center}.receipt-upload-pdf-canvas{width:100%;height:auto;display:block;background:#fff;box-shadow:0 2px 6px #0f172a14}.receipt-upload-pdf-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:.75rem;background:#f8fafce0;color:#475569;font-size:.82rem;font-weight:600;text-align:center}.receipt-upload-thumbnail-name{font-size:.82rem;line-height:1.4;color:#334155;word-break:break-word}.receipt-upload-thumbnail-owner{font-size:.76rem;line-height:1.35;color:#64748b}.receipt-upload-delete-button{position:absolute;top:.45rem;right:.45rem;z-index:2;min-height:1.8rem;padding:.2rem .55rem;border:1px solid rgba(226,232,240,.95);border-radius:999px;background:#fffffff0;color:#b91c1c;font-size:.74rem;font-weight:700}.receipt-upload-delete-button:hover{border-color:#f87171b3;background:#fff5f5}.user-rule-display-panel{min-height:24rem;padding:1.35rem 1.5rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.user-rule-display-list{margin:0;padding-left:1.35rem;display:grid;gap:.9rem;color:#1f2937}.user-rule-display-list li{line-height:1.7}.user-standard-sections{display:grid;gap:1rem}.user-standard-section{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:1rem}.user-standard-section-header{margin-bottom:.9rem}.user-standard-section-header h3{margin:0;font-size:1rem}.user-standard-lines{display:grid;gap:.75rem}.user-standard-line{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(260px,1.4fr) minmax(220px,1fr);gap:1rem;align-items:start;padding:.95rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.user-standard-line-type strong{display:block;color:#0f172a;line-height:1.5}.user-standard-line-content{display:grid;gap:.35rem}.user-standard-line-label{color:#64748b;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.user-standard-line p{margin:0;color:#0f172a;line-height:1.6;white-space:pre-wrap}.user-standard-empty-state{margin-top:.25rem}.home-tile-icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:10px;background:#e2e8f0;color:#0f172a}.home-tile-card-primary .home-tile-icon{background:var(--user-accent);color:var(--user-accent-contrast)}.home-tile-icon svg{width:1.35rem;height:1.35rem;fill:currentColor}.analytics-page{display:grid;gap:1rem}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.analytics-panel-span{grid-column:1 / -1}.analytics-pie-layout{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:1rem;align-items:center}.analytics-pie-chart{width:min(100%,240px);justify-self:center}.analytics-pie-segment{transition:opacity .2s ease,transform .2s ease}.analytics-pie-segment.interactive{cursor:pointer}.analytics-pie-segment.interactive:hover{opacity:.9}.analytics-legend{display:grid;gap:.75rem}.analytics-legend-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:0;border:none;background:transparent;font-size:.88rem;color:#334155;text-align:left}.analytics-legend-row.interactive{cursor:pointer}.analytics-legend-row.interactive:hover{color:#0f172a}.analytics-legend-swatch{width:.85rem;height:.85rem;border-radius:999px}.analytics-legend-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-empty-chart{min-height:16rem;display:flex;align-items:center;justify-content:center;color:#64748b;text-align:center}.analytics-bar-chart{min-height:18rem;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(4.8rem,1fr);gap:.9rem;align-items:end;overflow-x:auto;padding-bottom:.25rem}.analytics-bar-column{min-width:4.8rem;display:grid;gap:.5rem;justify-items:center;align-content:end}.analytics-bar-value{font-size:.74rem;font-weight:700;color:#334155;text-align:center}.analytics-bar{width:100%;min-height:.75rem;border-radius:10px 10px 4px 4px;box-shadow:inset 0 -1px #ffffff40}.analytics-bar-label{width:100%;font-size:.76rem;color:#64748b;text-align:center;line-height:1.35;word-break:break-word}.analytics-drilldown-back{min-height:2rem;padding:.35rem .75rem}.analytics-date-range{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.analytics-date-field{min-width:12rem;margin-bottom:0}@media (max-width: 900px){.analytics-grid,.analytics-pie-layout,.expense-detail-layout,.mileage-calendar-layout,.mileage-calendar-stats{grid-template-columns:1fr}.per-diem-range-picker{flex-direction:column}.per-diem-range-separator{display:none}.mileage-calendar-day{padding:.55rem}.user-standard-line{grid-template-columns:1fr}.expense-detail-header-actions{justify-content:flex-start}.expense-detail-standard-header{align-items:flex-start;flex-direction:column}.mileage-calendar-grid{gap:.5rem}.expense-list-header{flex-direction:column}.expense-list-header-actions{justify-content:flex-start}.home-dashboard-header{flex-direction:column}.home-dashboard-badges{justify-content:flex-start}.receipt-upload-grid{grid-template-columns:1fr}}@media (max-width: 640px){.login-shell{padding:1rem}.login-page{padding:1.4rem}.expense-detail-page{padding:1rem}.expense-detail-title-row{flex-direction:column;align-items:flex-start}.expense-detail-meta{grid-template-columns:1fr}.expense-detail-stat{min-width:0}.expense-detail-field-row{grid-template-columns:1fr;gap:.4rem}.expense-detail-note-meta{flex-direction:column;align-items:flex-start}.expense-list-page{padding:1rem}.expense-list-meta{flex-direction:column}.expense-list-stat{min-width:0}.dynamic-field-row{grid-template-columns:1fr}}
