:root,[data-theme=dark]{--bg:#0f1117;--card:#1a1d27;--card-hover:#1e2130;--border:#2a2d3a;--text:#e8e9ed;--text-dim:#9095a8;--accent:#3b82f6;--accent-hover:#2563eb;--green:#22c55e;--green-dim:#166534;--red:#ef4444;--red-dim:#7f1d1d;--amber:#f59e0b;--amber-dim:#78350f;--surface:#13151d;--input-bg:#0d0f15;--modal-overlay:#000000b3;--calendar-icon-filter:invert(1);--date-color-scheme:dark}[data-theme=light]{--bg:#f0f1f5;--card:#fff;--card-hover:#f9fafb;--border:#c8cdd5;--text:#111827;--text-dim:#5b6270;--accent:#2563eb;--accent-hover:#1d4ed8;--green:#15803d;--green-dim:#bbf7d0;--red:#dc2626;--red-dim:#fecaca;--amber:#b45309;--amber-dim:#fde68a;--surface:#dce0e8;--input-bg:#f8f9fb;--modal-overlay:#00000073;--calendar-icon-filter:none;--date-color-scheme:light}:root{--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:18px;--fs-xl:21px;--fs-2xl:23px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--space-xs:4px;--space-sm:6px;--space-md:8px;--space-lg:12px;--space-xl:16px;--space-2xl:20px;--space-3xl:24px}.btn-sm{font-size:var(--fs-base);min-height:36px;padding:8px 14px}.btn-md{font-size:var(--fs-md);min-height:42px;padding:10px 18px}.btn-lg{min-height:48px;padding:12px 22px;font-size:16px}.tab-btn{border:1px solid #0000;transition:all .2s;position:relative}.tab-active{background:color-mix(in srgb, var(--accent) 13%, transparent)!important;color:var(--accent)!important;border-color:color-mix(in srgb, var(--accent) 27%, transparent)!important}.tab-inactive{color:var(--text-dim)!important;background:0 0!important}.tab-inactive:hover{color:var(--text)!important;background:color-mix(in srgb, var(--text-dim) 6%, transparent)!important}.tab-active-green{background:color-mix(in srgb, var(--green) 13%, transparent)!important;color:var(--green)!important;border-color:color-mix(in srgb, var(--green) 27%, transparent)!important}.stat-card{transition:transform .18s,box-shadow .18s;box-shadow:0 1px 3px #0000001f}.stat-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.3s ease-out both fadeSlideUp}.stagger-1{animation-delay:0s}.stagger-2{animation-delay:60ms}.stagger-3{animation-delay:.12s}.stagger-4{animation-delay:.18s}.btn-sm,.btn-md,.btn-lg{transition:all .15s,transform .12s}.btn-sm:hover,.btn-md:hover,.btn-lg:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.btn-sm:active,.btn-md:active,.btn-lg:active{box-shadow:none;transform:translateY(0)}.tab-btn:hover,.tab-btn:active{box-shadow:none!important;transform:none!important}.project-header-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-3xl);margin-bottom:var(--space-2xl);box-shadow:0 2px 8px #0000001a}.section-divider{border-top:1px solid var(--border);margin-top:var(--space-sm);margin-bottom:var(--space-3xl);padding-top:14px;position:relative}@media (width<=480px){.project-header-card{padding:var(--space-xl);border-radius:var(--radius-lg);margin-bottom:var(--space-xl)}.stat-card:hover{transform:none;box-shadow:0 1px 3px #0000001f}}@media (prefers-reduced-motion:reduce){.animate-in{animation:none}.stat-card,.btn-sm,.btn-md,.btn-lg{transition:none}}.form-submit{width:100%;margin-top:var(--space-lg)}.locked-field{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:600}.form-label{font-size:var(--fs-sm);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;font-weight:600;display:block}.project-card{animation:.25s ease-out both fadeSlideUp}.project-card:first-child{animation-delay:0s}.project-card:nth-child(2){animation-delay:50ms}.project-card:nth-child(3){animation-delay:.1s}.project-card:nth-child(4){animation-delay:.15s}.project-card:nth-child(5){animation-delay:.2s}.project-card:nth-child(n+6){animation-delay:.25s}.mobile-card-item{transition:transform .15s,box-shadow .15s;box-shadow:0 1px 3px #0000001a}.stat-label{font-size:var(--fs-xs);color:var(--text-dim);text-transform:uppercase;margin-bottom:2px;font-weight:600}.action-row{margin-bottom:var(--space-lg);justify-content:flex-end;gap:var(--space-md);flex-wrap:wrap;display:flex}@media (prefers-reduced-motion:reduce){.project-card{animation:none}.mobile-card-item{transition:none}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.55}body.modal-open{overflow:hidden}.stat-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;display:grid}.stat-grid-3{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;display:grid}.stat-grid-5{grid-template-columns:auto repeat(4,1fr);gap:12px;margin-bottom:14px;display:grid}@media (width<=900px){.stat-grid,.stat-grid-5{grid-template-columns:repeat(2,1fr)}.stat-grid-5>:last-child:nth-child(odd){grid-column:1/-1}.stat-grid-3{grid-template-columns:repeat(2,1fr)}.stat-grid-3>:last-child:nth-child(odd){grid-column:1/-1}}@media (width<=480px){.stat-grid,.stat-grid-3{grid-template-columns:1fr 1fr;gap:8px}.stat-grid-3>:last-child:nth-child(odd){grid-column:1/-1}.stat-grid-5{grid-template-columns:1fr 1fr;gap:8px}.stat-grid-5>:last-child:nth-child(odd){grid-column:1/-1}.stat-grid,.stat-grid-3,.stat-grid-5{margin-bottom:10px}}@media (width<=360px){.stat-grid,.stat-grid-3{grid-template-columns:1fr;gap:6px}.stat-grid-3>:last-child:nth-child(odd){grid-column:auto}.stat-grid-5{grid-template-columns:1fr;gap:6px}.stat-grid-5>:last-child:nth-child(odd){grid-column:auto}}.stat-value-lg{font-size:25px}.stat-value-sm{font-size:19px}@media (width<=480px){.stat-value-lg{font-size:19px}.stat-value-sm{font-size:16px}}@media (width<=360px){.stat-value-sm{font-size:15px}}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:12px 14px;font-size:12px;font-weight:600}td{padding:12px 14px}tr+tr{border-top:1px solid color-mix(in srgb, var(--border) 25%, transparent)}thead tr{border-bottom:1px solid var(--border)}.app-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:100;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex;position:sticky;top:0}@media (width<=480px){.app-header{flex-wrap:wrap;gap:6px;padding:10px 12px}.app-header button{padding:6px 8px!important;font-size:12px!important}}.app-content{max-width:1100px;margin:0 auto;padding:24px 20px}@media (width<=480px){.app-content{padding:16px 12px}}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}@media (width<=600px){.dashboard-header{flex-direction:column;align-items:stretch}.dashboard-actions{gap:8px;display:flex}.dashboard-actions button{flex:1}}.project-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:10px;margin-bottom:10px;padding:18px 22px;transition:border-color .15s}.vendor-stats-grid{grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;display:grid}@media (width<=600px){.vendor-stats-grid{grid-template-columns:1fr 1fr;gap:10px}}.project-card:hover,.project-card:active{border-color:color-mix(in srgb, var(--accent) 40%, transparent)}@media (width<=600px){.project-card{padding:14px 16px}}.project-card-stats{text-align:center;grid-template-columns:1fr 1fr 1fr;gap:12px;width:100%;display:grid}.project-card-value{text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:17px;font-weight:700;overflow:hidden}@media (width<=480px){.project-card-value{font-size:14px}}@media (width<=360px){.project-card-value{font-size:12px}.project-card-stats{gap:6px}}.tab-bar-wrapper{position:relative}.tab-bar-wrapper:after{content:"";background:linear-gradient(to right, transparent, var(--bg));pointer-events:none;opacity:0;width:40px;transition:opacity .2s;position:absolute;top:0;bottom:0;right:0}.tab-bar-wrapper.has-overflow:after{opacity:1}.tab-bar-wrapper.scrolled-end:after{opacity:0}.tab-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-bar>*{flex-shrink:0}.detail-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}@media (width<=600px){.detail-header{flex-direction:column;align-items:stretch}.detail-header-actions{justify-content:flex-end;gap:8px;display:flex}}.modal-overlay{z-index:1000;background:var(--modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);width:520px;max-width:100%;max-height:85vh;animation:.2s ease-out modalSlideIn;overflow:auto;box-shadow:0 16px 48px #0000004d,0 0 0 1px #ffffff08}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=480px){.modal-overlay{align-items:flex-end;padding:0}.modal-content{border-radius:16px 16px 0 0;width:100%;max-height:92vh}}.drawer-overlay{z-index:1000;background:0 0;transition:background .25s;position:fixed;inset:0}.drawer-overlay-visible{background:var(--modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drawer-panel{background:var(--bg);border-right:1px solid var(--border);z-index:1001;flex-direction:column;width:65%;min-width:380px;max-width:900px;transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-100%);box-shadow:8px 0 32px #0006}.drawer-panel-open{transform:translate(0)}.drawer-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.drawer-body{flex:1;padding:20px;overflow-y:auto}.quote-drawer-tab{background:var(--accent);color:#000;cursor:pointer;z-index:99;border-radius:0 8px 8px 0;align-items:center;padding:14px 7px;transition:opacity .2s,transform .2s;display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%);box-shadow:2px 0 12px #0000004d}.quote-drawer-tab:hover{opacity:.9;transform:translateY(-50%)translate(2px)}@media (width<=768px){.drawer-panel{width:85%;min-width:0}}@media (width<=480px){.drawer-panel{border-right:none;border-radius:16px 16px 0 0;width:100%;min-width:0;max-width:none;height:92vh;transition:transform .28s cubic-bezier(.4,0,.2,1);inset:auto 0 0;transform:translateY(100%)}.drawer-panel-open{transform:translateY(0)}.quote-drawer-tab{display:none}}@media (prefers-reduced-motion:reduce){.drawer-panel,.drawer-overlay{transition:none}}.form-row{gap:10px;display:flex}@media (width<=480px){.form-row{flex-direction:column}}input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:40px;height:100%;position:absolute;right:0}input[type=date]{color-scheme:var(--date-color-scheme);text-align:left;appearance:none;max-width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.theme-toggle{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:8px;align-items:center;min-height:40px;padding:8px 12px;font-size:17px;line-height:1;transition:all .15s;display:flex}.theme-toggle:hover{color:var(--text);border-color:var(--accent)}.show-mobile{display:none}.hide-mobile{width:100%;display:table}.mobile-card-item{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;padding:16px}@media (width<=768px){.show-mobile{display:block}.hide-mobile{display:none}button{min-height:44px}input,select{min-height:44px;font-size:16px!important}}.inline-confirm{align-items:center;gap:6px;display:flex}.inline-confirm button{min-height:32px}.expenses-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.expenses-controls-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.expenses-select{background:var(--input-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;outline:none;min-width:160px;padding:8px 12px;font-family:IBM Plex Sans,sans-serif;font-size:14px}.multi-select-wrapper{min-width:200px;position:relative}.multi-select-trigger{text-align:left;align-items:center;width:100%;display:flex}.multi-select-dropdown{background:var(--card);border:1px solid var(--border);z-index:50;border-radius:8px;min-width:100%;max-height:280px;padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 24px #0000004d}.multi-select-option{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;padding:10px 14px;font-family:IBM Plex Sans,sans-serif;font-size:14px;transition:background .1s;display:flex}.multi-select-option:hover{background:var(--surface)}.pagination-bar{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;display:flex}.pagination-info{color:var(--text-dim);white-space:nowrap;font-size:14px}.pagination-controls{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pagination-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;border-radius:6px;padding:6px 12px;font-family:IBM Plex Sans,sans-serif;font-size:14px;transition:all .15s}.pagination-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.pagination-btn:disabled{opacity:.35;cursor:not-allowed}.pagination-btn-active{background:color-mix(in srgb, var(--accent) 13%, transparent);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, transparent);font-weight:700}.pagination-per-page{align-items:center;gap:6px;display:flex}.pagination-select{background:var(--input-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;outline:none;padding:6px 10px;font-family:IBM Plex Sans,sans-serif;font-size:14px}@media (width<=768px){.expenses-controls{flex-direction:column;align-items:stretch}.expenses-controls-left{flex-direction:column}.expenses-select{width:100%;min-height:44px;font-size:16px!important}.multi-select-wrapper{min-width:100%}.multi-select-option{min-height:44px;padding:12px 14px;font-size:16px}.pagination-bar{flex-direction:column;align-items:center;gap:10px}.pagination-controls{justify-content:center}.pagination-btn{min-height:44px;padding:8px 14px}.pagination-select{min-height:44px;font-size:16px!important}}
