@media(max-width:768px){.show-desktop{display:none!important}.show-mobile{display:block}}@media(min-width:769px){.show-mobile{display:none!important}}.data-card-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.data-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;box-shadow:0 1px 4px #0000000a}.data-card--compact{padding:10px 12px}.data-card--clickable{cursor:pointer;transition:box-shadow .15s,border-color .15s}.data-card--clickable:active{border-color:var(--accent-gold);box-shadow:var(--shadow)}.data-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}.data-card-title{font-weight:600;font-size:.95em;word-break:break-word;flex:1;min-width:0}.data-card-badges{font-weight:700;color:var(--primary);white-space:nowrap;font-size:.9em}.data-card-summary,.data-card-sub,.data-card-hint{font-size:.82em;color:var(--text-secondary);line-height:1.4;word-break:break-word}.data-card-row{display:flex;justify-content:space-between;gap:10px;font-size:.85em;padding:3px 0}.data-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.data-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.data-card--total{background:#f8f9fa;border-color:#333}.data-card--expandable{padding:0;overflow:hidden}.data-card-expand-trigger{display:block;width:100%;margin:0;padding:10px 12px;border:none;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.data-card-expand-trigger:focus-visible{outline:2px solid var(--accent-gold);outline-offset:-2px}.data-card-expand-hint{display:block;font-size:.78em;color:var(--text-muted);margin-top:6px}.data-card-detail{display:none;padding:0 12px 12px;border-top:1px dashed var(--border)}.data-card-detail.is-open{display:block;padding-top:8px}.data-card--deleted{opacity:.65}.data-card--deleted .deleted-banner{background:#dc3545;color:#fff;font-size:.7em;font-weight:700;text-align:center;padding:4px;margin:-10px -12px 8px}.bucket-data-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.data-card-list .data-card.selected,.data-card--clickable.selected{border-color:var(--accent-gold);box-shadow:var(--shadow)}.data-card-row-value .team-access-select{max-width:100%;min-width:0}.bottom-nav{display:none}@media(max-width:768px){.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:var(--card-bg);border-top:var(--gold-border) solid var(--accent-gold);z-index:1001;padding:2px 2px calc(2px + env(safe-area-inset-bottom,0));justify-content:space-around;align-items:stretch;box-shadow:0 -2px 12px #2c18101a}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:var(--text-secondary);font-size:.65em;font-weight:600;cursor:pointer;padding:3px 2px;min-height:0;min-width:0;width:auto!important;border-radius:6px}.bottom-nav-status{cursor:default;pointer-events:none;flex:1}.bottom-nav-icon,.bottom-nav-status .sync-status-icon{font-size:1.25em;line-height:1}.bottom-nav-label,.bottom-nav-status .sync-status-label{font-size:inherit;font-weight:inherit;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav-status .sync-status-label{font-weight:700}.bottom-nav-item.active{color:var(--primary);background:#9a445214;box-shadow:inset 0 3px 0 var(--accent-gold)}.sidebar{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 12px)}.sidebar-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));margin-bottom:var(--bottom-nav-height)}.sync-status.online .sync-status-label{color:#198754}.sync-status.offline .sync-status-label{color:var(--warning)}.sync-status.syncing .sync-status-label{color:var(--info)}.sync-status.error .sync-status-label{color:var(--danger)}.toast-container{top:60px;right:10px;left:10px;max-width:none}}@media(max-width:768px){.table-stack-mobile thead{display:none}.table-stack-mobile tbody tr{display:block;margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;background:#fff;box-shadow:0 1px 3px #0000000a}.table-stack-mobile tbody tr.status-total,.table-stack-mobile tbody tr.selected{background:#f8f9fa}.table-stack-mobile tbody td{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:5px 0;border:none;text-align:right!important;font-size:.88em;white-space:normal;word-break:break-word}.table-stack-mobile tbody td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);text-align:left;flex:0 0 auto;max-width:42%;font-size:.92em}.table-stack-mobile tbody td.checkbox-col,.table-stack-mobile tbody td:empty{display:none}.table-stack-mobile tbody td.action-buttons,.table-stack-mobile tbody td.col-comments{flex-wrap:nowrap}.table-stack-mobile tbody td.action-buttons:before{flex:0 0 auto;max-width:46%;margin-bottom:0}.table-stack-mobile .recon-actual-input,.table-stack-mobile .recon-comments-input{max-width:100%;min-width:0;width:100%}.table-stack-mobile tbody td.col-comments{flex-direction:column;align-items:stretch}.table-stack-mobile tbody td.col-comments:before{margin-bottom:4px}}@media(max-width:768px){body,.main-content,.main-area{overflow-x:hidden;max-width:100vw}.page-title{display:none}.main-content{padding:70px 12px calc(var(--bottom-nav-height) + 12px)}.card{padding:14px;margin-bottom:12px;border-radius:var(--radius-sm)}.card h2{font-size:1.05em;margin-bottom:10px}.filter-card{padding:12px}.filter-section{margin-bottom:12px}.table-container{-webkit-overflow-scrolling:touch;margin-top:10px}.dash-alert{flex-wrap:wrap;gap:8px}.dash-alert-body{flex:1 1 100%}.dash-alert-action{width:100%;margin-top:4px}.modal-content{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;max-height:88vh;overflow-y:auto;padding:16px;margin:12px}.modal-content h2{font-size:1.15em;padding-right:28px}.close-modal{top:10px;right:12px}button{width:100%;min-height:var(--touch-min)}button.small,.data-card-actions button,.action-buttons button,.bucket-actions button,.menu-toggle,.sidebar-signout,.bottom-nav-item{width:auto;min-height:var(--touch-min)}.action-buttons{display:flex;flex-wrap:wrap;gap:6px;white-space:normal}.bulk-actions{flex-direction:column;align-items:stretch}.bulk-actions.show-mobile-only{display:none!important}.income-alloc-row,.allocation-row,.category-row-heading{grid-template-columns:1fr!important;max-width:100%!important}.income-totals-bar{flex-direction:column!important;align-items:flex-start!important;gap:6px!important}.budget-plan-card .budget-plan-stats{grid-template-columns:repeat(2,1fr)}.recon-table-wrap.table-container{overflow-x:visible}.recon-table{font-size:inherit}.recon-table:not(.table-stack-mobile) .col-bucket{max-width:none;white-space:normal}.status-table:not(.table-stack-mobile) th,.status-table:not(.table-stack-mobile) td{font-size:.82em;padding:6px 4px}.nav-subitem{min-height:var(--touch-min);display:flex;align-items:center}.table-stack-mobile tbody td[data-label=""]:before,.table-stack-mobile tbody td:not([data-label]):before{display:none}.table-stack-mobile tbody tr.status-total td[colspan]{display:none}.bucket-data-list{grid-template-columns:1fr}.team-mgmt-actions{flex-wrap:wrap;gap:8px}.transfer-list-header{flex-direction:column;align-items:stretch}.transfer-status-filter{width:100%}#expBulkActions{display:none!important}}@media(max-width:480px){.main-content{padding:64px 12px calc(var(--bottom-nav-height) + 12px)}.card{padding:14px 12px}.data-card-actions{width:100%}.data-card-actions button{flex:1;min-width:0}.kanban-board{flex-direction:column!important;overflow-x:hidden!important}.kanban-column{min-width:100%!important;width:100%!important}}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;padding:0;border:none;border-radius:4px;font-size:16px;font-weight:700;line-height:1;cursor:pointer;flex-shrink:0}.btn-icon--edit{background:#198754;color:#fff;border:1px solid #157347}.btn-icon--edit:hover{background:#157347}.btn-icon--delete{background:#dc3545;color:#fff;border:1px solid #bb2d3b}.btn-icon--delete:hover{background:#bb2d3b}.action-icon-group{display:inline-flex;gap:6px;align-items:center;flex-shrink:0}.data-card-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:.88em;line-height:1.35}.data-card-row-label{color:var(--text-secondary);font-weight:600;text-align:left;flex:0 0 42%;max-width:42%;font-family:inherit;font-size:inherit}.data-card-row-value{text-align:right;flex:1;min-width:0;word-break:break-word;font-family:inherit;font-size:inherit;font-weight:500;color:var(--text);display:flex;justify-content:flex-end;align-items:center}.data-card-row-value.positive{color:var(--success);font-weight:600}.data-card-row-value.negative{color:var(--danger);font-weight:600}.data-card-row input,.data-card-row select,.data-card-row textarea,.data-card-row-value input,.data-card-row-value select,.data-card-row-value textarea{flex:1;min-width:0;width:100%;max-width:100%;margin:0;text-align:right;font-size:.95em;min-height:38px;padding:8px 10px;border:2px solid var(--border);border-radius:var(--radius-sm);background:#fff;box-sizing:border-box}.data-card-row textarea,.data-card-row-value textarea{min-height:64px;resize:vertical;text-align:left}.data-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border);flex-wrap:nowrap}.data-card-title{font-weight:600;font-size:.95em;word-break:break-word;flex:1;min-width:0;font-family:inherit}.category-tag{display:inline-flex;align-items:center;gap:6px;width:calc(15ch + 72px);max-width:calc(15ch + 72px);min-width:calc(15ch + 72px);padding:6px 8px 6px 12px;justify-content:space-between;box-sizing:border-box}.category-tag-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;max-width:15ch;font-size:.88em}.category-tag .cat-actions{display:flex;gap:4px;flex-shrink:0}.budget-line-cards,.alloc-line-cards{display:flex;flex-direction:column;gap:12px}.budget-line-card,.alloc-line-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;background:#fafbfc}.budget-line-card-title,.alloc-line-card-title{font-weight:600;font-size:.92em;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border);word-break:break-word}.budget-line-card .field-labeled,.alloc-line-card .field-labeled{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.budget-line-card .field-labeled>span,.alloc-line-card .field-labeled>span{flex:0 0 42%;font-size:.85em;font-weight:600;color:var(--text-secondary)}.budget-line-card .field-labeled input,.budget-line-card .field-labeled select,.alloc-line-card .field-labeled input,.alloc-line-card .field-labeled select{flex:1;min-width:0;max-width:56%;margin-bottom:0}.budget-line-card-actions,.alloc-line-card-actions{display:none}@media(min-width:769px){.budget-line-table-wrap{margin-bottom:0}.budget-line-table-head{display:grid;grid-template-columns:minmax(12rem,2fr) minmax(7rem,1fr) minmax(7rem,1fr) 2.5rem;gap:10px;padding:8px 12px;font-size:.82em;font-weight:700;color:var(--text-secondary);border-bottom:2px solid var(--border);background:var(--bg-secondary);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.budget-line-cards{gap:0}.budget-line-cards>.budget-line-card.category-row{display:flex;flex-direction:column;border:none;border-bottom:1px solid var(--border);border-radius:0;background:#fff;padding:8px 12px}.budget-line-cards>.budget-line-card.category-row>.category-main-row{display:grid!important;grid-template-columns:minmax(12rem,2fr) minmax(7rem,1fr) minmax(7rem,1fr) 2.5rem;gap:10px;align-items:center;width:100%}.budget-line-cards>.budget-line-card .budget-line-card-title,.budget-line-cards>.budget-line-card .line-card-header,.budget-line-cards>.budget-line-card .budget-line-name-field{margin:0;padding:0;border:none;font-weight:600}.budget-line-cards>.budget-line-card .line-card-header{display:none}.budget-line-cards>.budget-line-card .field-labeled{margin:0;display:block}.budget-line-cards>.budget-line-card .field-labeled>span{display:none}.budget-line-cards>.budget-line-card .field-labeled input,.budget-line-cards>.budget-line-card .field-labeled select{max-width:100%;width:100%}.budget-line-cards>.budget-line-card .budget-line-card-actions{display:flex;align-items:center;justify-content:flex-end}.budget-line-cards>.budget-line-card .budget-line-card-title input{width:100%;margin:0}}@media(max-width:768px){.budget-line-table-wrap,.budget-line-table-head{display:none!important}.budget-line-cards>.budget-line-card .budget-line-card-actions{display:flex;justify-content:flex-end;margin-top:4px}}.line-card-header,.alloc-summary-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:nowrap}.line-card-header-label,.alloc-summary-name{font-weight:600;font-size:.9em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alloc-summary-amount{font-weight:600;font-size:.9em;flex-shrink:0}.alloc-summary-row{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafbfc;margin-bottom:8px}.sync-status{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-weight:600;line-height:1.05}.sync-status-icon,.bottom-nav-status .bottom-nav-icon{font-size:1.25em;line-height:1}.sync-status-label{font-size:inherit;font-weight:inherit;line-height:1.1}.bottom-nav-status .sync-status-label{font-weight:700}.sidebar-sync{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:8px 12px;margin-bottom:8px;border-radius:var(--radius-sm);background:#ffffff0f;font-size:.82em}.sidebar-sync .sync-status-icon{font-size:1em}.sidebar-sync .sync-status-label{font-size:.95em}.sidebar-sync.online .sync-status-label{color:#7dcea0}.sidebar-sync.offline .sync-status-label{color:var(--accent-gold-light)}.sidebar-sync.error .sync-status-label{color:#f5a5a5}.table-stack-mobile.recon-table tbody td{font-family:inherit;font-size:.88em;font-weight:500;font-variant-numeric:normal}.table-stack-mobile.recon-table tbody td:before{font-family:inherit;font-size:.88em;font-weight:600}.table-stack-mobile.recon-table tbody td strong,.table-stack-mobile.recon-table tbody td .badge{font-family:inherit;font-weight:600}.budget-grand-total-card{margin-top:8px;padding:12px 14px;background:#f5ede8;border:1px solid var(--accent-gold-light);border-left:var(--gold-border) solid var(--accent-gold);border-radius:var(--radius-sm);font-weight:600}.table-stack-mobile tbody td.currency-display,.rates-table td,.col-difference,.table-stack-mobile tbody td.col-difference{font-family:inherit;font-size:inherit;font-weight:500}.col-difference.positive,td.positive{color:var(--success);font-weight:600}.col-difference.negative,td.negative{color:var(--danger);font-weight:600}.alloc-section-card{margin-top:24px;padding:16px 18px}.alloc-section-card h3{margin:0 0 8px;font-size:1.05em;color:var(--text)}.alloc-section-note,.alloc-empty-hint{color:var(--text-secondary);font-size:.88em;margin:0 0 12px}.alloc-entry-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.alloc-entry-card{border-left:var(--gold-border) solid var(--accent-gold)}.alloc-totals-card{margin:12px 0}.alloc-unallocated-value.positive{color:var(--primary);font-weight:600}.alloc-unallocated-value.negative{color:var(--danger);font-weight:600}.alloc-form-error{color:var(--danger);font-size:.88em;font-weight:600;margin:8px 0 12px}.alloc-add-btn{width:100%;margin-top:4px}.entry-form-card .form-stack{margin:16px 0}.modal-field-card{display:flex;flex-direction:column;gap:12px;margin:16px 0 20px;padding:14px 16px;background:#fafbfc;border:1px solid var(--border);border-radius:var(--radius-sm);border-left:var(--gold-border) solid var(--accent-gold)}.modal-field-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-field-row label{flex:0 0 42%;max-width:42%;margin:0;font-size:.88em;font-weight:600;color:var(--text-secondary);text-align:left}.modal-field-row input,.modal-field-row select,.modal-field-row textarea{flex:1;min-width:0;max-width:56%;margin:0;min-height:38px;padding:8px 10px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:15px;background:#fff;box-sizing:border-box;text-align:right}.modal-field-row select{text-align:left;text-align-last:left;padding-right:2rem;overflow:visible;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 8px;-moz-appearance:none;appearance:none;-webkit-appearance:none}.modal-field-row--stacked{flex-direction:column;align-items:stretch;gap:6px}.modal-field-row--stacked label{flex:none;max-width:100%;width:100%}.modal-field-row--stacked input,.modal-field-row--stacked select,.modal-field-row--stacked textarea{flex:none;max-width:100%;width:100%;text-align:left}#allocationEntryModal .modal-content.small{max-width:520px}.recon-cards-list{display:flex;flex-direction:column;gap:12px}.recon-entry-card{border-left:var(--gold-border) solid var(--accent-gold);padding:12px 14px}.recon-field-row--stacked{flex-direction:column;align-items:stretch;gap:6px}.recon-field-row--stacked .data-card-row-label{flex:none;max-width:100%;width:100%}.recon-field-row--stacked textarea{width:100%;max-width:100%;text-align:left}:root{--bg-dark-red: #8B0000;--bg-cream: #FAF4EC;--brand-saffron: #FFA500;--brand-gold: #D4AF37;--primary: #9A4452;--primary-dark: #7B3540;--primary-light: #B85A68;--secondary: #6B3038;--accent-gold: #D4AF37;--accent-gold-light: #F0D878;--accent-gold-dark: #B8922A;--gold-border: 4px;--success: #2D6A4F;--danger: #9B2226;--warning: #CA8A04;--info: #5A6B7A;--bg: #F7F4F4;--bg-secondary: #F0EAE8;--card-bg: #ffffff;--text: #2C1810;--text-secondary: #5C4A42;--text-muted: #6B5B54;--border: #E8DFD9;--sidebar-bg: #5A2830;--header-bg: #ffffff;--radius: 12px;--radius-sm: 8px;--shadow: 0 4px 20px rgba(44, 24, 16, .05);--shadow-hover: 0 10px 40px -10px rgba(44, 24, 16, .15);--sidebar-width: 250px;--touch-min: 44px;--bottom-nav-height: 56px;--focus-ring: 0 0 0 3px rgba(212, 175, 55, .5);--breakpoint-md: 768px;--field-date-min: 11rem;--field-date-pad-right: 2.5rem;--field-currency-min: 6rem;--field-rate-min: 9rem;--field-amount-min: 9rem;--field-select-min: 11rem;--form-gap: 1.25rem}body.dark{--primary: #D4AF37;--primary-dark: #B8922A;--primary-light: #F0D878;--secondary: #5a000d;--accent-gold: #D4AF37;--accent-gold-light: #F0D878;--accent-gold-dark: #B8922A;--success: #22c55e;--danger: #ef4444;--warning: #f59e0b;--info: #38bdf8;--bg: #1a0003;--bg-secondary: rgba(25, 0, 5, .45);--card-bg: rgba(25, 0, 5, .55);--text: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border: rgba(212, 175, 55, .3);--sidebar-bg: rgba(20, 0, 4, .6);--header-bg: rgba(20, 0, 4, .6);--shadow: 0 4px 20px rgba(0,0,0,.6);--shadow-hover: 0 10px 40px -10px rgba(0,0,0,.8)}*{scrollbar-width:auto;scrollbar-color:#94a3b8 rgba(0,0,0,.05)}body.dark *{scrollbar-color:#475569 rgba(0,0,0,.05)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#00000005}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:5px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#94a3b8}body.dark ::-webkit-scrollbar-thumb{background:#475569}body.dark ::-webkit-scrollbar-thumb:hover{background:#64748b}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.slide-in{animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.glass{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}body.dark .glass{background:#0f172abf}.card-hover{transition:all .2s ease-in-out}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow-x:hidden;min-height:100vh;color:var(--text);transition:background .3s ease,color .3s ease}body.dark{background:radial-gradient(circle at 50% 20%,#8b0000,#3a0008)!important}body:not(.dark){background:radial-gradient(circle at 50% 20%,#faf4ec,#f3e5d8)!important}.main-area{overflow-x:hidden;background:transparent!important}.ok-glow{pointer-events:none;border-radius:50%;position:absolute;z-index:0;transition:all .3s ease}.ok-glow-1{top:5%;left:10%;width:320px;height:320px;background:#ffa50059;filter:blur(85px)}.ok-glow-2{top:35%;right:8%;width:350px;height:350px;background:#d4af3740;filter:blur(95px)}.ok-glow-3{bottom:5%;left:12%;width:300px;height:300px;background:#ffa50038;filter:blur(80px)}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);padding:20px}.login-card{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d;text-align:center}.login-card .logo{font-size:3em;margin-bottom:10px}.login-card h1{font-size:1.8em;color:#333;margin-bottom:8px}.login-card .subtitle{color:#666;margin-bottom:30px;font-size:.95em}.login-btn{width:100%;padding:14px;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:10px}.login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #9a445259}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-msg{background:#f8d7da;color:#721c24;padding:12px;border-radius:8px;margin-bottom:15px;font-size:.9em;display:none}.error-msg.active{display:block}.login-info-msg{background:#d4edda;color:#155724;padding:12px;border-radius:8px;margin-bottom:15px;font-size:.9em}.login-forgot{margin-top:16px;text-align:center;font-size:.9em}.login-signup-note{margin-top:12px;text-align:center;font-size:.85em;color:#666;line-height:1.4}.link-btn{background:none;border:none;color:var(--primary, #9a4452);cursor:pointer;text-decoration:underline;padding:0;font:inherit}.loading-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{display:none}.app-shell.active{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);color:#fff;position:fixed;height:100vh;overflow-y:auto;transition:transform .3s ease;z-index:1000;display:flex;flex-direction:column}.sidebar-top-row{display:flex;padding:6px 12px;gap:6px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.sidebar-top-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 2px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;cursor:pointer;font-size:.7em;font-weight:600;text-align:center;line-height:1.2;transition:background .2s,border-color .2s;box-sizing:border-box;height:40px}.sidebar-top-btn:hover{background:#ffffff26;border-color:#ffffff4d}button.sidebar-top-btn[onclick*=handleLogout]{background:#dc354526;border-color:#dc354540;color:#ff8a8a}button.sidebar-top-btn[onclick*=handleLogout]:hover{background:#dc354547;border-color:#dc354566}.sidebar-top-btn.sync-status{cursor:default;display:flex;flex-direction:row;align-items:center;gap:2px}.sidebar-top-btn.sync-status .sync-status-icon{font-size:.85em}.sidebar-top-btn.sync-status .sync-status-label{font-size:1em;line-height:1.1;text-align:center}.sidebar-user{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-user-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.sidebar-app-title{font-size:1.05em;font-weight:700;letter-spacing:.02em}.sidebar-trident{font-size:1.5em;line-height:1;flex-shrink:0}.header-logo,.app-topbar-logo{border-radius:50%;object-fit:cover;flex-shrink:0}.sidebar-display-name{font-size:.8em;font-weight:500;opacity:.9;max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-access-badge{margin-left:auto;font-size:.7em;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:4px;background:#ffffff26;color:#ffffffe6;flex-shrink:0}.checkbox-label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:.9em}.team-switcher{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.team-switcher label{font-size:.7em;text-transform:uppercase;letter-spacing:.5px;opacity:.7;display:block;margin-bottom:5px}.team-switcher select{width:100%;padding:8px 10px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#0003;color:#fff;font-size:.85em;cursor:pointer}.team-switcher select option{background:#1a1a2e;color:#fff}.sidebar-footer{margin-top:auto;padding:12px 16px 16px;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}.sidebar-signout{width:100%;padding:10px 14px;background:#dc354526;color:#ff8a8a;border:1px solid rgba(220,53,69,.25);border-radius:8px;cursor:pointer;font-size:.85em;font-weight:600;text-align:left;transition:background .2s}.sidebar-signout:hover{background:#dc354547}.nav-menu{padding:8px 0;flex:1;overflow-y:auto}.nav-item{padding:0}.nav-item-header{display:flex;align-items:center;padding:6px 16px;cursor:pointer;transition:background .2s;font-size:.82em;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.nav-item-header:hover{background:#ffffff0d;opacity:1}.nav-item-header .icon{width:24px;margin-right:10px;text-align:center}.nav-item-header .arrow{margin-left:auto;transition:transform .2s;font-size:.8em}.nav-item.expanded .arrow{transform:rotate(90deg)}.nav-subitems{display:none;background:#0003}.nav-item.expanded .nav-subitems{display:block}.nav-subitem{padding:6px 16px 6px 48px;cursor:pointer;font-size:.8em;transition:all .2s;border-left:3px solid transparent}.nav-subitem:hover{background:#ffffff0d;border-left-color:#ffffff4d}.nav-subitem.active{background:#d4af372e;border-left-color:var(--accent-gold);color:#fff}.sidebar-item{color:#ffffffb3!important;transition:all .2s}.sidebar-item:hover{background:#ffffff0d;color:#fff!important}.sidebar-item.active{background:#ffffff1a;color:#fff!important;border-left-color:var(--accent-gold)!important}.nav-subitem-label{padding:4px 16px 2px 48px;font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#ffffff73;cursor:default;border-left:3px solid transparent;-webkit-user-select:none;user-select:none}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;align-items:center;padding:0 15px;z-index:999;box-shadow:0 2px 10px #0003;border-bottom:var(--gold-border) solid var(--accent-gold)}.mobile-header h1{font-size:1.1em;flex:1;text-align:center}.menu-toggle{background:none;border:none;color:#fff;font-size:1.5em;cursor:pointer;padding:5px}.overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999}.overlay.active{display:block}.main-area{margin-left:var(--sidebar-width);flex:1;min-height:100vh;display:flex;flex-direction:column;width:calc(100% - var(--sidebar-width))}.app-topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;background:var(--card-bg);border-bottom:1px solid var(--border);box-shadow:0 1px 4px #0000000a;position:sticky;top:0;z-index:100}.app-topbar-title{font-size:1.05em;font-weight:600;color:#444}.main-content{flex:1;padding:12px 24px 24px;min-height:0}.page-title{display:none}.page-intro{color:var(--text-secondary);margin:0 0 12px;font-size:.92em}.card{background:var(--card-bg);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px;box-shadow:var(--shadow);border:1px solid var(--border)}.card h2{color:#333;margin-bottom:12px;font-size:1.15em;display:flex;align-items:center;gap:10px}.card h3{color:#555;margin:20px 0 15px;font-size:1.1em}.form-stack{display:flex;flex-direction:column;gap:var(--form-gap)}.form-group{margin-bottom:0;min-width:0}.form-group label{display:block;margin-bottom:4px;color:var(--text-secondary);font-weight:600;font-size:.85em}.form-group label.required:after,label.required:after{content:" *";color:var(--danger);font-weight:700}.form-group input,.form-group select,.form-group textarea{display:block;width:100%;padding:8px 10px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:15px;transition:border-color .3s,box-shadow .2s;background:#fff;min-height:38px;box-sizing:border-box}.form-group input[type=date]{padding-right:var(--field-date-pad-right)}.form-group input[type=checkbox],.form-group input[type=radio]{width:auto;min-height:auto;display:inline-block;margin:0;padding:0;border:none;box-shadow:none;accent-color:var(--primary)}.checkbox-inline{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-size:.85em;color:var(--text-secondary);margin-bottom:0}.checkbox-inline input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.form-group--checkbox{margin-top:4px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.form-group input:read-only,.form-group select:disabled{background:#f8f9fa}.form-group textarea{resize:vertical;min-height:72px}.form-field-hint{display:block;margin-top:4px;font-size:.8em;color:var(--text-secondary);line-height:1.3}.form-hint{margin:0;font-size:.85em;color:var(--text-secondary)}.form-span-full{grid-column:1 / -1}input.input-amount{text-align:right;font-variant-numeric:tabular-nums}input.input-rate{text-align:left;font-variant-numeric:tabular-nums}.income-alloc-row .alloc-usd-input{text-align:right;font-variant-numeric:tabular-nums}.form-grid-row,.rate-form-row{display:grid;gap:var(--form-gap);align-items:start}.rate-form-row,.form-grid-row--rate{grid-template-columns:minmax(var(--field-date-min),1.2fr) minmax(var(--field-currency-min),.7fr) minmax(var(--field-rate-min),1fr)}.form-grid-row--filter-main{grid-template-columns:repeat(3,minmax(var(--field-select-min),1fr))}.form-grid-row--filter-dates{grid-template-columns:repeat(2,minmax(var(--field-date-min),auto));width:fit-content;max-width:100%}.form-grid-row--income-record-main,.form-grid-row--income-edit-main{grid-template-columns:minmax(10rem,1.5fr) minmax(var(--field-amount-min),auto) minmax(var(--field-select-min),1.2fr)}.form-grid-row--income-record-secondary,.form-grid-row--income-edit-meta{grid-template-columns:minmax(var(--field-date-min),auto) minmax(var(--field-currency-min),auto) minmax(var(--field-rate-min),1fr) minmax(var(--field-amount-min),auto)}.form-grid-row--income-edit-secondary{grid-template-columns:minmax(var(--field-currency-min),auto) minmax(var(--field-rate-min),1fr) minmax(var(--field-amount-min),auto)}.form-grid-row--income-main{grid-template-columns:minmax(var(--field-date-min),auto) minmax(10rem,1.5fr) minmax(var(--field-select-min),1.2fr) minmax(var(--field-amount-min),auto) minmax(var(--field-currency-min),auto)}.form-grid-row--money-secondary{grid-template-columns:minmax(var(--field-rate-min),1fr) minmax(var(--field-amount-min),auto);max-width:32rem}.form-grid-row--expense-header{grid-template-columns:minmax(var(--field-date-min),auto) repeat(3,minmax(var(--field-select-min),1fr))}.form-grid-row--expense-chunk{grid-template-columns:minmax(9rem,1.4fr) minmax(var(--field-amount-min),auto) minmax(var(--field-currency-min),auto)}.form-grid-row--expense-selects{grid-template-columns:repeat(3,minmax(var(--field-select-min),1fr))}.form-grid-row--expense-main{grid-template-columns:minmax(var(--field-date-min),auto) minmax(9rem,1.1fr) repeat(3,minmax(var(--field-select-min),1fr))}.form-grid-row--expense-money{grid-template-columns:repeat(5,minmax(0,1fr))}.form-grid-row--defaults{grid-template-columns:repeat(4,minmax(var(--field-select-min),1fr))}.form-grid-row--transfer-buckets{grid-template-columns:minmax(var(--field-date-min),auto) repeat(2,minmax(var(--field-select-min),1fr))}.form-grid-row--transfer-amount{grid-template-columns:minmax(var(--field-amount-min),auto) minmax(var(--field-rate-min),1fr) minmax(var(--field-amount-min),auto)}.form-grid-row--transfer-main{grid-template-columns:minmax(var(--field-date-min),auto) repeat(2,minmax(var(--field-select-min),1fr)) minmax(var(--field-amount-min),auto)}.transfer-filter-row{display:flex;flex-wrap:wrap;gap:16px;padding:4px 0 8px}.transfer-filter-row .checkbox-inline{display:inline-flex;align-items:center;gap:6px;font-size:.9em;cursor:pointer}.transfer-list-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.transfer-list-header h2{margin:0}.transfer-status-filter{margin:0;min-width:140px}.transfer-status-filter label{font-size:.8em}.transfer-history-table .badge{white-space:nowrap}.badge--pending{background:#fef3c7;color:#92400e}.badge--accepted{background:#d1fae5;color:#065f46}.badge--rejected{background:#fee2e2;color:#991b1b}.dash-alert-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.dash-alert-action--accept{background:var(--success, #16a34a);color:#fff;border-color:var(--success, #16a34a)}.dash-alert-action--accept:hover{filter:brightness(.92)}.dash-alert-action--reject{background:transparent;color:#dc2626;border-color:#dc2626}.dash-alert-action--reject:hover{background:#fef2f2}.form-grid-row--bucket{grid-template-columns:minmax(10rem,1.4fr) minmax(var(--field-select-min),1fr) minmax(var(--field-currency-min),auto) minmax(var(--field-amount-min),auto)}.form-grid-row--budget-header{grid-template-columns:minmax(9rem,1fr) minmax(var(--field-select-min),1.2fr) minmax(12rem,1.5fr)}.form-grid-row--budget-a{grid-template-columns:minmax(var(--field-select-min),1.2fr) minmax(12rem,2fr)}.form-grid-row--budget-b{grid-template-columns:minmax(9rem,1fr) minmax(var(--field-currency-min),auto) minmax(var(--field-rate-min),auto);max-width:36rem}.form-grid-row--meta{grid-template-columns:minmax(12rem,2fr) minmax(9rem,1fr);max-width:36rem}.form-grid-row--filter-simple{grid-template-columns:minmax(9rem,1fr) minmax(12rem,1.5fr);max-width:32rem}.form-grid-row--portal-filters{grid-template-columns:minmax(7rem,1.1fr) minmax(5.5rem,.7fr) minmax(5.5rem,.7fr) minmax(5.5rem,.7fr) minmax(8rem,1.4fr) auto;align-items:end;gap:10px}.filter-card{padding:14px 16px;margin-bottom:14px}.filter-card .form-group{margin-bottom:0}.form-group--action button{white-space:nowrap}.form-grid-row--calendar{grid-template-columns:minmax(var(--field-date-min),auto) minmax(var(--field-date-min),auto) minmax(12rem,1.5fr)}.form-grid-row--category{grid-template-columns:minmax(12rem,1fr);max-width:24rem}.form-grid-row--recon-date{grid-template-columns:minmax(var(--field-date-min),auto);width:fit-content}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--field-select-min),1fr));gap:var(--form-gap)}.form-grid .full-width{grid-column:1 / -1}.btn-group{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}button{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;border:none;padding:12px 25px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s}button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #9a44524d}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.secondary{background:#6c757d}button.secondary:hover{box-shadow:0 5px 15px #6c757d66}button.success{background:var(--success)}button.success:hover{box-shadow:0 5px 15px #28a74566}button.danger{background:var(--danger)}button.danger:hover{box-shadow:0 5px 15px #dc354566}button.warning{background:var(--warning);color:#000}button.info{background:var(--info)}button.small{padding:6px 12px;font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:25px}.stat-card{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;padding:25px;border-radius:var(--radius);text-align:center;box-shadow:0 4px 15px #9a445240;border-top:var(--gold-border) solid var(--accent-gold)}.stat-card h3{font-size:2.2em;margin-bottom:5px;color:#fff}.stat-card p{opacity:.9;font-size:.9em}.dash-welcome{color:var(--text-secondary);margin:-8px 0 20px;font-size:1.05em}.dash-stats{margin-bottom:20px}.dash-alerts-card h2{margin-bottom:12px}.dash-alerts{display:flex;flex-direction:column;gap:10px}.dash-alerts-loading{color:var(--text-secondary);margin:0}.dash-alert{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius);border-left:5px solid var(--border);background:var(--bg-secondary)}.dash-alert-icon{font-size:1.4em;flex-shrink:0}.dash-alert-body{flex:1;display:flex;flex-direction:column;gap:2px}.dash-alert-body strong{font-size:.95em}.dash-alert-body span{font-size:.88em;color:var(--text-secondary)}.dash-alert-action{flex-shrink:0;padding:6px 14px;font-size:.85em;border-radius:var(--radius-sm);border:none;background:var(--primary);color:#fff;cursor:pointer;min-height:auto;font-weight:600}.dash-alert-action:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #5a1f2840}.dash-alert--success{border-left-color:var(--success);background:#f0fdf4}.dash-alert--warning{border-left-color:#f59e0b;background:#fffbeb}.dash-alert--danger{border-left-color:#dc2626;background:#fef2f2}.dash-alert--neutral{border-left-color:var(--info)}.table-container{overflow-x:auto;margin-top:15px}table{width:100%;border-collapse:collapse;font-size:.9em}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}th{background:#f8f9fa;font-weight:600;color:#555;white-space:nowrap}tr:hover{background:#f8f9fa}tr.selected{background:#f5ede8!important}.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600}.badge-success{background:#d4edda;color:#155724}.badge-warning{background:#fff3cd;color:#856404}.badge-danger{background:#f8d7da;color:#721c24}.badge-info{background:#f5ede8;color:var(--primary-dark)}.badge-secondary{background:#e9ecef;color:#495057}.progress-bar{width:100%;height:20px;background:#e9ecef;border-radius:10px;overflow:hidden;margin-top:5px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--secondary) 100%);transition:width .3s}.progress-fill.warning{background:linear-gradient(90deg,#ffc107,#ff9800)}.progress-fill.danger{background:linear-gradient(90deg,#dc3545,#c82333)}.bucket-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.bucket-card{background:#fff;border-radius:var(--radius);padding:20px;border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.bucket-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.bucket-card.deleted{opacity:.6;background:#f8f9fa}.bucket-card .deleted-banner{position:absolute;top:0;left:0;right:0;background:var(--danger);color:#fff;text-align:center;padding:4px;font-size:.75em;font-weight:600;text-transform:uppercase}.bucket-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:nowrap}.bucket-header-main{flex:1;min-width:0}.bucket-header-end{display:flex;align-items:center;gap:8px;flex-shrink:0}.bucket-name{font-size:1.2em;font-weight:700;color:var(--text)}.bucket-type{font-size:.8em;color:var(--text-secondary);margin-top:4px}.bucket-balance{font-size:1.6em;font-weight:700;color:var(--primary);margin:10px 0}.bucket-balance.negative{color:var(--danger)}.bucket-balance-usd{font-size:.95em;font-weight:600;color:var(--text-secondary);margin:-6px 0 10px}.bucket-section-total{margin-top:16px;padding:14px 16px;border-radius:var(--radius);background:#f8fafc;border:1px solid var(--border)}.bucket-section-total-main{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:1.05em}.bucket-section-total-main strong{font-size:1.25em;color:var(--primary)}.bucket-section-total-breakdown{margin-top:10px;font-size:.88em;color:var(--text-secondary)}.bucket-section-total-breakdown ul{margin:6px 0 0;padding-left:18px}.bucket-section-total-note{margin:8px 0 0;font-size:.82em;color:#b45309}.bucket-meta{display:flex;gap:10px;margin-top:10px;font-size:.85em;color:var(--text-secondary)}.bucket-actions{display:none}.category-grid{display:flex;flex-wrap:wrap;gap:10px}.category-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#f8f9fa;border-radius:20px;border:1px solid var(--border);font-size:.9em;font-weight:500;transition:all .2s}.category-tag:hover{background:#e9ecef}.category-tag .cat-actions{display:flex;gap:4px}.category-tag button{padding:2px 6px;font-size:10px}.budget-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.budget-card{background:#fff;border-radius:var(--radius);padding:20px;border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.budget-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.budget-card.deleted{opacity:.6;background:#f8f9fa}.budget-card .deleted-banner{position:absolute;top:0;left:0;right:0;background:var(--danger);color:#fff;text-align:center;padding:4px;font-size:.75em;font-weight:600;text-transform:uppercase}.budget-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.budget-name{font-size:1.2em;font-weight:700;color:#333}.budget-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:15px 0}.budget-stat{text-align:center;padding:10px;background:#f8f9fa;border-radius:var(--radius-sm)}.budget-stat .value{font-size:1.3em;font-weight:700;color:var(--primary)}.budget-stat .label{font-size:.8em;color:#666;margin-top:3px}.budget-categories{margin-top:15px}.budget-cat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:.9em}.budget-cat-row:last-child{border-bottom:none}.budget-actions{display:flex;gap:8px;margin-top:15px;padding-top:15px;border-top:1px solid var(--border)}.budget-plan-card{background:var(--card-bg);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow);border:1px solid var(--border)}.budget-plan-card h3{margin:0 0 15px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.budget-plan-card h3>span:first-child{flex:1;min-width:0}.budget-plan-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.budget-plan-stat{text-align:center;padding:12px 8px;background:#f8f9fa;border-radius:var(--radius-sm);min-width:0}.budget-plan-stat .value{font-size:1.2em;font-weight:700;color:var(--primary);line-height:1.2}.budget-plan-stat .label{font-size:.78em;color:var(--text-secondary);margin-top:4px}.edit-budget-meta{margin-bottom:12px}.form-grid-row--team-meta{grid-template-columns:minmax(12rem,1fr);max-width:28rem}.form-grid-row--team-member{grid-template-columns:minmax(12rem,2fr) minmax(18rem,1.75fr) auto;align-items:end}.form-grid-row--team-rename{grid-template-columns:minmax(12rem,1fr) auto;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid var(--border, #e9ecef)}.form-grid-row--user-filters{grid-template-columns:minmax(12rem,1.5fr) minmax(9rem,.75fr) minmax(10rem,.9fr) auto;align-items:end}.user-select-modal h2{margin:0 0 .35rem;font-size:1.25rem}.user-select-modal .user-select-email{color:#666;margin:0 0 1.25rem;font-size:.95rem}.user-select-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #eee}.user-select-section h3{margin:0 0 .75rem;font-size:1rem}.user-select-section .section-hint{margin:0 0 .75rem;color:#666;font-size:.9rem}.user-select-section .section-link{margin-top:.75rem}.user-select-table{width:100%;border-collapse:collapse;font-size:.95rem}.user-select-table th,.user-select-table td{text-align:left;padding:.5rem .75rem .5rem 0;border-bottom:1px solid #f0f0f0;vertical-align:top}.user-select-table th{color:#666;font-weight:600;font-size:.85rem}.user-team-link{background:none;border:none;padding:0;color:var(--primary, #2563eb);text-decoration:underline;cursor:pointer;font:inherit;text-align:left}.user-team-link:hover{color:var(--primary-dark, #1d4ed8)}.user-mgmt-filter-actions .btn-group{flex-wrap:nowrap}.team-rename-row{margin-top:0}.team-rename-actions button{white-space:nowrap}.form-group--access-level{min-width:0}.team-members-panel__header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.team-members-panel__header h2{margin:0}.team-add-member-form{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border, #e9ecef)}.team-mgmt-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.team-access-select{width:100%;max-width:22rem;min-width:14rem;min-height:40px}.team-mgmt-table th:nth-child(2),.team-mgmt-table td[data-label=Access]{min-width:16rem}@media(max-width:768px){.form-grid-row--team-member{grid-template-columns:1fr}.team-add-member-form__actions button{width:100%}.team-access-select{max-width:none}}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:2000;justify-content:center;align-items:center;padding:20px}.modal.active{display:flex}.modal-content{background:var(--card-bg);color:var(--text);border:1px solid var(--border);padding:30px;border-radius:15px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease}.modal-content.small{max-width:450px}@keyframes modalSlideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.close-modal{position:absolute;top:15px;right:15px;font-size:24px;cursor:pointer;color:#666;background:none;border:none;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-modal:hover{color:#333;transform:none;box-shadow:none}.toast-container{position:fixed;top:20px;right:20px;z-index:3000;display:flex;flex-direction:column;gap:10px}.toast{padding:15px 20px;border-radius:10px;color:#fff;font-weight:500;box-shadow:0 4px 15px #0003;animation:toastSlideIn .3s ease;max-width:400px}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}.toast.warning{background:var(--warning);color:#000}.toast.info{background:var(--info)}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.access-denied{text-align:center;padding:40px;color:#666}.access-denied .icon{font-size:3em;margin-bottom:15px}.empty-state{text-align:center;padding:40px;color:#666}.empty-state .icon{font-size:3em;margin-bottom:15px}.filter-section{background:#f8f9fa;padding:14px 16px;border-radius:10px;margin-bottom:16px}.rate-form-row .form-hint{grid-column:1 / -1}.rate-form-row .input-rate{text-align:left}.filter-section .form-stack{gap:var(--form-gap)}.budget-categories-table{overflow-x:auto;margin-bottom:8px}.budget-categories-table-heading,.budget-categories-table--compact .category-row,.budget-categories-table--compact .budget-grand-total{display:grid;grid-template-columns:1.5fr 1fr .9fr 1fr 1fr 36px;gap:8px;align-items:center;min-width:420px}.budget-categories-table--edit .edit-budget-cat-name-cell{min-width:0;font-size:13px}.budget-categories-table--edit .edit-budget-cat-name-cell .budget-cat-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-categories-table--edit .category-row{display:grid;grid-template-columns:minmax(140px,1.6fr) minmax(72px,.9fr) minmax(72px,.85fr) minmax(72px,.85fr) minmax(72px,.9fr) 36px;gap:8px;align-items:center;min-width:560px}.budget-categories-table-heading{padding:6px 10px;font-size:.75em;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.04em}.budget-categories-table-heading span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-grand-total{margin-top:4px;padding:10px;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);color:#fff;border-radius:8px;font-weight:600}.budget-grand-total span:nth-child(2),.budget-grand-total span:nth-child(3){text-align:right}.category-row{margin-bottom:8px;padding:8px 10px;background:#f8f9fa;border-radius:8px}.category-row-heading{display:grid;grid-template-columns:1.5fr 1fr .9fr 1fr 1fr 36px;gap:8px;padding:6px 10px;font-size:.8em;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.category-row input,.category-row select{margin-bottom:0;padding:8px 10px;font-size:13px;width:100%;min-width:0;box-sizing:border-box}.category-row input[type=number],.edit-budget-cat-usd,.edit-budget-cat-rate,.edit-budget-cat-local,.budget-cat-usd{text-align:right;font-variant-numeric:tabular-nums}.budget-categories-table .budget-cat-name{font-size:12px}.cat-remove-btn{background:var(--danger);color:#fff;border:none;border-radius:4px;padding:4px 0;font-size:16px;font-weight:700;cursor:pointer;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1}.cat-remove-btn:hover{background:#c82333;transform:translateY(-1px)}.allocation-row{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:center;margin-bottom:10px;padding:10px;background:#f8f9fa;border-radius:8px}.allocation-row input,.allocation-row select{margin-bottom:0}.sync-status.online,.sync-status.offline,.sync-status.syncing,.sync-status.error{background:none}.app-topbar{border-bottom:var(--gold-border) solid var(--accent-gold)}.stat-card--info,.stat-card--income,.stat-card--expense,.stat-card--gold{border-top:var(--gold-border) solid var(--accent-gold)}.stat-card--income{background:linear-gradient(135deg,#28a745,#20c997)}.stat-card--alloc{background:linear-gradient(135deg,#17a2b8,#138496)}.stat-card--unalloc{background:linear-gradient(135deg,#ffc107,#ff9800)}.stat-card--success{background:linear-gradient(135deg,#28a745,#20c997)}.stat-card--danger{background:linear-gradient(135deg,#dc3545,#c82333)}.report-results-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;margin-bottom:12px;flex-wrap:wrap}.report-results-header h3{margin:0}.report-section-divider{margin-top:40px;padding-top:20px;border-top:2px solid var(--border)}.pdf-export-btn{background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 14px;font-size:.9em;font-weight:600;cursor:pointer;white-space:nowrap}.pdf-export-btn:hover{filter:brightness(1.08)}.report-main-title{margin:0 0 4px;font-size:1.15em}.report-filter-line{margin:0;font-size:.88em;color:var(--text-secondary)}.report-sections-modal h2{margin-bottom:8px}.report-sections-hint{margin:0 0 14px;color:var(--text-secondary);font-size:.9em}.report-sections-list{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.report-section-check{display:flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}.report-section-check input{width:18px;height:18px;margin:0}.report-expense-table .col-item{max-width:8.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-type-first{margin-bottom:4px}.budget-type-first select{font-weight:600}.report-expense-table .col-rate,.report-expense-table .col-usd{white-space:nowrap}.alert-modal-content{text-align:center;max-width:380px;padding:20px}.alert-modal-title{margin-bottom:16px;font-size:1.1em}.alert-modal-body{margin-bottom:24px;line-height:1.6;text-align:left;word-break:break-word}.alert-modal-actions{justify-content:center}.alert-modal-actions .primary{min-width:120px}.currency-display{font-family:Courier New,monospace;font-weight:700}.negative{color:var(--danger)}.positive{color:var(--success)}.status-table th,.status-table td{text-align:right}.status-table th:first-child,.status-table td:first-child{text-align:left}.status-total{font-weight:700;background:var(--surface-muted, #f8f9fa)}.recon-help-box{margin-top:16px;padding:12px 15px;background:#e7f3ff;border-radius:8px;font-size:.9em}.recon-table-wrap.table-container{overflow-x:auto;margin-top:0}.recon-table{table-layout:auto;width:100%;font-size:.9em}.recon-table th,.recon-table td{padding:8px 6px;vertical-align:top}.recon-table .col-type{width:10ch;min-width:10ch;white-space:nowrap}.recon-table .col-bucket{min-width:6rem;max-width:10rem;white-space:normal;word-break:break-word;text-align:left}.recon-table .col-currency{min-width:3.5rem;width:3.5rem;white-space:nowrap;text-align:center}.recon-table .col-balance,.recon-table .col-actual,.recon-table .col-difference,.recon-table .col-usd{min-width:7.5rem;white-space:nowrap;font-variant-numeric:tabular-nums}.recon-table .col-comments{min-width:8rem;max-width:12rem;white-space:normal}.recon-actual-input{width:100%;min-width:6.5rem;padding:6px;box-sizing:border-box}.recon-comments-input{width:100%;min-width:8rem;min-height:2.5em;max-height:4.5em;padding:6px;box-sizing:border-box;resize:vertical;overflow:auto;white-space:normal}.dash-alert--neutral{background:#f3f4f6;border-color:#d1d5db;color:#374151}.action-buttons{white-space:nowrap}.row-clickable{cursor:pointer}.row-clickable:hover{background:#f8f9fa}.recon-history-detail{border-top:1px solid var(--border-color, #e0e0e0);padding-top:16px}.checkbox-col{width:40px;text-align:center}.select-all-checkbox{cursor:pointer}.bulk-actions{background:#f5ede8;border:2px solid var(--accent-gold);padding:15px;border-radius:8px;margin-bottom:20px;display:none;align-items:center;gap:10px;flex-wrap:wrap}.bulk-actions.active{display:flex}.selected-count{font-weight:700;color:var(--primary);margin-right:10px}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.active{transform:translate(0)}.main-area{margin-left:0;width:100%}.app-topbar{display:none}.main-content{padding:64px 12px calc(var(--bottom-nav-height) + 12px)}.mobile-header{display:flex}.form-grid{grid-template-columns:1fr}.form-grid-row,.rate-form-row,[class*=form-grid-row--]{grid-template-columns:1fr!important;width:100%!important;max-width:100%!important}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}.stat-card{padding:14px 10px}.stat-card h3{font-size:1.45em}.stat-card p{font-size:.75em}.bucket-grid,.budget-grid,.budget-form-row--2,.budget-form-row--4{grid-template-columns:1fr}.budget-plan-stats{grid-template-columns:repeat(2,1fr)}.budget-categories-table--compact .category-row,.budget-categories-table--edit .category-row{min-width:0;grid-template-columns:1fr 1fr}.budget-categories-table-heading{display:none}.budget-categories-table--compact .budget-grand-total{min-width:0;grid-template-columns:1fr 1fr 1fr;font-size:.9em}.budget-cat-local,.budget-cat-usd-total,.budget-cat-local-total{text-align:left}.btn-group{flex-direction:column}button{width:100%}.budget-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}.income-alloc-row select,.income-alloc-row input[type=number]{height:40px;padding:8px 12px;font-size:1rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;width:100%;box-sizing:border-box}.income-alloc-row select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.income-alloc-row .cat-remove-btn{height:40px;width:40px;padding:0;font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center}.category-row-heading{display:grid;grid-template-columns:2fr 1fr 40px;gap:10px;padding:8px 0;font-weight:600;font-size:.9em;color:#4b5563;border-bottom:1px solid #e5e7eb;margin-bottom:8px}.form-grid-row--receipt-meta{grid-template-columns:minmax(var(--field-date-min),auto) minmax(10rem,1.2fr) minmax(10rem,1.2fr) minmax(var(--field-currency-min),auto)}.form-grid-row--receipt-totals{grid-template-columns:repeat(2,minmax(9rem,1fr));max-width:24rem;margin-left:auto}.receipt-section-heading{margin:24px 0 8px;font-size:1.05em}.receipt-section-note{margin-bottom:12px;color:var(--text-secondary);font-size:.9em}.receipt-item-row{display:block}@media(max-width:768px){.alloc-line-card.receipt-item-row{padding:14px;border:1px solid var(--border);margin-bottom:8px}.receipt-item-row .alloc-line-card-actions{display:block;text-align:right;margin-top:10px}}@media(min-width:769px){.receipt-line-table-head{display:grid;grid-template-columns:80px 120px 1fr 120px 120px 36px;gap:12px;padding:8px 14px;font-size:.82em;font-weight:700;color:var(--text-secondary);border-bottom:2px solid var(--border);background:var(--bg-secondary);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.alloc-line-cards{gap:0}.alloc-line-cards>.receipt-item-row{display:grid;grid-template-columns:80px 120px 1fr 120px 120px 36px;gap:12px;align-items:center;border:none;border-bottom:1px solid var(--border);border-radius:0;background:#fff;padding:8px 14px}.alloc-line-cards>.receipt-item-row .field-labeled{margin:0;display:block}.alloc-line-cards>.receipt-item-row .field-labeled>span{display:none}.alloc-line-cards>.receipt-item-row .field-labeled input,.alloc-line-cards>.receipt-item-row .field-labeled select{max-width:100%;width:100%}.alloc-line-cards>.receipt-item-row .alloc-line-card-actions{display:block}}.receipt-items-heading{padding:0 10px 6px;font-size:.8em;font-weight:600;color:var(--text-secondary)}.receipt-item-row{margin-bottom:8px;padding:8px 10px;background:#f8f9fa;border-radius:var(--radius-sm)}.receipt-item-row input,.receipt-item-row select{margin-bottom:0;min-height:38px;padding:8px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:14px;width:100%;box-sizing:border-box}.receipt-totals-panel{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:var(--radius-sm);text-align:right;font-family:Courier New,monospace;max-width:400px;margin-left:auto}.receipt-total-line{display:flex;justify-content:space-between;margin:4px 0}.receipt-total-line.muted{color:#555}.receipt-total-line.discount{color:var(--success)}.receipt-total-line.grand{margin-top:6px;padding-top:6px;border-top:2px solid #333;font-size:16px;font-weight:700}.receipt-preview-area{margin-top:16px}.receipt-preview-container{display:flex;justify-content:center;padding:10px 0}.receipt-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;justify-content:center}.receipt-actions button{min-width:140px}#generatedReceipt{background:#fff;width:340px;padding:22px 26px;margin:0 auto;box-shadow:0 4px 20px #0000001a;border:1px solid #ddd;border-radius:6px;font-family:Courier New,monospace;font-size:12px;line-height:1.5}#generatedReceipt .receipt-header-print{text-align:center;border-bottom:2px dashed #ccc;padding-bottom:12px;margin-bottom:12px}#generatedReceipt .receipt-header-print h1{font-size:20px;letter-spacing:2px;text-transform:uppercase;margin-bottom:4px;font-weight:700}#generatedReceipt .receipt-header-print .receipt-date{font-size:12px;color:#666}#generatedReceipt .receipt-header-print .receipt-location{font-size:13px;font-weight:700;margin-top:4px}#generatedReceipt .items-list{margin:12px 0}#generatedReceipt .item-row{display:flex;justify-content:space-between;align-items:flex-start;font-size:11.5px;line-height:1.5;border-bottom:1px dotted #ddd;padding:4px 0}#generatedReceipt .item-row .item-desc{flex:1;min-width:0}#generatedReceipt .item-row .item-desc .item-name{font-weight:700;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#generatedReceipt .item-row .item-desc .item-meta{font-size:10.5px;color:#555;display:block;margin-top:1px}#generatedReceipt .item-row .item-amount{width:60px;text-align:right;font-weight:700;flex-shrink:0;padding-left:8px}#generatedReceipt .totals-section{border-top:2px solid #333;margin-top:10px;padding-top:10px;font-size:12px}#generatedReceipt .totals-section .total-row{display:flex;justify-content:space-between;margin:3px 0}#generatedReceipt .totals-section .total-row.grand{font-size:15px;font-weight:700;border-top:1px solid #333;padding-top:6px;margin-top:6px}#generatedReceipt .receipt-footer-print{text-align:center;margin-top:16px;font-size:10px;color:#888;border-top:2px dashed #ccc;padding-top:12px}#generatedReceipt .receipt-footer-print .receipt-hash{font-family:Courier New,monospace;font-size:18px;letter-spacing:3px;margin:6px 0;font-weight:700;color:#555}#generatedReceipt .receipt-footer-print .thanks{font-size:11px;color:#666}#generatedReceipt .receipt-discount-row{color:var(--success)}.png-export-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:3000;align-items:center;justify-content:center}.png-export-overlay.active{display:flex}.png-export-spinner{background:#fff;padding:24px 32px;border-radius:var(--radius);font-weight:600;box-shadow:var(--shadow-hover)}.form-grid-row--receipt-filters{grid-template-columns:minmax(var(--field-date-min),auto) minmax(var(--field-date-min),auto) minmax(9rem,1fr) minmax(10rem,1.2fr) auto;align-items:end;gap:var(--form-gap)}.form-group--filter-action button{width:100%;min-height:38px;white-space:nowrap}@media(max-width:768px){.receipt-items-heading{display:none}.receipt-item-row{grid-template-columns:1fr 1fr;gap:8px}.receipt-item-row .rec-item{grid-column:1 / -1}.form-grid-row--receipt-meta,.form-grid-row--receipt-totals{grid-template-columns:1fr!important;max-width:100%;margin-left:0}.receipt-totals-panel{max-width:100%;margin-left:0}.form-group--filter-action button{width:100%}}.nav-soon{margin-left:6px;font-size:.7em;opacity:.7;text-transform:uppercase;letter-spacing:.04em}.ok-notif-list{display:flex;flex-direction:column;gap:6px;min-height:40px}.ok-notif{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;width:100%;border:1px solid var(--border);background:var(--bg);padding:12px 14px;border-radius:var(--radius-sm);cursor:pointer;font:inherit;color:var(--text)}.ok-notif--line,.ok-notif--summary{padding:10px 12px;gap:0}.ok-notif-line{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem;line-height:1.35}.ok-notif--summary .ok-notif-line{white-space:normal}.ok-notif:hover{background:var(--bg-secondary)}.ok-notif--unread{background:#9a445214;border-left:3px solid var(--primary)}.ok-notif time{font-size:.75rem;color:var(--text-muted)}.ok-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.ok-app-tile{display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:100%;min-height:140px;background:transparent;border:none;border-radius:16px;padding:0;cursor:pointer;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.ok-app-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.ok-app-logo-img{width:100%;height:100%;object-fit:contain;display:block}.ok-app-logo-fallback{width:100%;height:100%;min-height:140px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.4rem;font-weight:700}.ok-pin-check{display:flex;align-items:center;gap:8px;margin:8px 0;cursor:pointer}.ok-access-checks{display:flex;flex-direction:column;gap:2px}.ok-access-checks--menus{max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:10px;padding:8px 12px}.status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600}.status-active{background:#2d6a4f1f;color:var(--success)}.status-hold{background:#9b22261f;color:var(--danger)}.row-selected{background:#9a44520f}.data-card--selected{border-color:var(--primary)}.sidebar-home-link{display:block;width:calc(100% - 16px);margin:0 8px 12px;padding:8px 10px;background:#d4af372e;border:1px solid rgba(212,175,55,.35);color:#f0d878;border-radius:8px;cursor:pointer;font:inherit;text-align:left}.sidebar-home-link:hover{background:#d4af3747}@media(max-width:768px){.ok-app-grid{grid-template-columns:repeat(2,1fr);gap:12px}.ok-app-tile{min-height:120px}}.receipt-dropzone{border:2px dashed var(--border);border-radius:var(--radius-sm, 8px);padding:16px;text-align:center;background:var(--bg-secondary, rgba(0,0,0,.02))}.receipt-dropzone--active{border-color:var(--primary);background:#9a44520f}.receipt-local-preview-img{max-width:100%;max-height:220px;border-radius:8px;border:1px solid var(--border)}.receipt-ocr-progress-bar{height:8px;background:var(--border);border-radius:999px;overflow:hidden}.receipt-ocr-progress-bar span{display:block;height:100%;width:0;background:var(--primary);transition:width .15s ease}.receipt-scan-modal-content{max-width:min(920px,96vw)}.receipt-scan-stage{position:relative;width:100%;background:#111;border-radius:8px;overflow:hidden;min-height:240px}.receipt-scan-highlight{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;margin:0 auto}.receipt-scan-preview-wrap{text-align:center}.receipt-scan-preview-img{max-width:100%;max-height:60vh;border-radius:8px;border:1px solid var(--border)}.receipt-scan-loader{text-align:center;padding:24px 12px}.receipt-scan-spinner{width:36px;height:36px;margin:0 auto 12px;border:3px solid rgba(255,255,255,.25);border-top-color:var(--primary, #9a4452);border-radius:50%;animation:receipt-spin .8s linear infinite}@keyframes receipt-spin{to{transform:rotate(360deg)}}.receipt-crop-modal-content{max-width:550px;display:flex;flex-direction:column;gap:16px;overflow:hidden}.receipt-crop-container{width:100%;max-height:50vh;background-color:#f0eae8;border-radius:8px;overflow:hidden;display:flex;justify-content:center;align-items:center}.receipt-crop-container img{display:block;max-width:100%;max-height:50vh}.receipt-crop-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:10px}.spinner-inline{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:receipt-spin .8s linear infinite;margin-right:6px;vertical-align:middle}.kanban-board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:16px;align-items:flex-start}.kanban-column{background:#f3f4f6;border-radius:8px;padding:12px;display:flex;flex-direction:column}body.dark .kanban-column{background:#1e293b;border:1px solid var(--border)}.mobile-toggle-arrow{display:none}@media(max-width:768px){.kanban-board{display:flex!important;flex-direction:column!important;gap:10px!important}.kanban-column{min-width:100%!important;width:100%!important;box-sizing:border-box;padding:10px 14px!important;cursor:pointer}.kanban-column .kanban-cards-list{display:none!important}.kanban-column.expanded .kanban-cards-list{display:flex!important;flex-direction:column!important}.mobile-toggle-arrow{display:inline-block!important}}body.dark .app-topbar{background:var(--card-bg);border-bottom:1px solid var(--border)}body.dark .app-topbar-title{color:var(--text)!important}body.dark .card{background:var(--card-bg);border-color:var(--border)}body.dark .card h2{color:var(--text)!important}body.dark .card h3{color:var(--text-secondary)!important}body.dark .card p,body.dark .card span,body.dark .card label{color:var(--text-secondary)}body.dark input,body.dark select,body.dark textarea,body.dark .form-group input,body.dark .form-group select,body.dark .form-group textarea{background:var(--bg-secondary)!important;color:var(--text)!important;border-color:var(--border)!important}body.dark input:focus,body.dark select:focus,body.dark textarea:focus{border-color:var(--primary)!important;outline:none}body.dark option{background:var(--bg-secondary);color:var(--text)}body.dark .filter-section{background:var(--bg-secondary)!important}body.dark input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1)!important}body.dark th{background:var(--bg-secondary)!important;color:var(--text)!important;border-bottom:1px solid var(--border)}body.dark td{color:var(--text-secondary);border-bottom:1px solid var(--border)}body.dark tr:hover{background:#ffffff08!important}body.dark tr.selected{background:#3b82f626!important}body.dark .dash-alert--warning{background:#f59e0b26!important;color:#fde68a!important;border-left-color:var(--warning)!important}body.dark .dash-alert--danger{background:#ef444426!important;color:#fca5a5!important;border-left-color:var(--danger)!important}body.dark .dash-alert--success{background:#10b98126!important;color:#a7f3d0!important;border-left-color:var(--success)!important}body.dark .dash-alert--neutral{background:#3b82f626!important;color:#93c5fd!important;border-left-color:var(--primary)!important}body.dark .dash-alerts-loading{color:var(--text-muted)}body.dark .modal-content{background:var(--card-bg)!important;color:var(--text)!important;border:1px solid var(--border)}body.dark .modal-content h2,body.dark .modal-content h3{color:var(--text)!important}body.dark .close-modal{color:var(--text-secondary)!important}body.dark .close-modal:hover{color:var(--text)!important}body.dark .badge-success{background:#10b98126!important;color:#a7f3d0!important;border:1px solid rgba(16,185,129,.3)}body.dark .badge-warning{background:#f59e0b26!important;color:#fde68a!important;border:1px solid rgba(245,158,11,.3)}body.dark .badge-danger{background:#ef444426!important;color:#fca5a5!important;border:1px solid rgba(239,68,68,.3)}body.dark .badge-info{background:#3b82f626!important;color:#93c5fd!important;border:1px solid rgba(59,130,246,.3)}body.dark .badge-secondary{background:#ffffff14!important;color:var(--text-secondary)!important;border:1px solid rgba(255,255,255,.15)}body.dark .data-card{background:var(--bg-secondary);border-color:var(--border)}body.dark .data-card-row-label{color:var(--text-muted)}body.dark .data-card-row-value{color:var(--text)}body.dark .bucket-card-balance,body.dark .bucket-card-title{color:var(--text)!important}body.dark .empty-state{color:var(--text-muted)}.glass-panel-dark{background:#19000573;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(212,175,55,.3);box-shadow:0 12px 32px #0006;border-radius:16px;position:relative;z-index:1}.glass-panel-light{background:#ffffff8c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,165,0,.35);box-shadow:0 10px 25px #8b000014;border-radius:16px;position:relative;z-index:1}body.dark .status-total{background:var(--bg-secondary)!important;color:var(--text)!important}.ok-shell-theme{--bg-dark-red: #8B0000;--bg-cream: #FAF4EC;--brand-saffron: #FFA500;--brand-gold: #D4AF37;min-height:100vh;position:relative;overflow-x:hidden}.ok-shell-theme.dark{background:radial-gradient(circle at 50% 20%,#8b0000,#3a0008)!important;color:#fff!important;--primary: var(--brand-gold) !important;--primary-dark: #b8922a !important;--primary-light: #fde68a !important;--secondary: #5a000d !important;--accent-gold: var(--brand-gold) !important;--bg: radial-gradient(circle at 50% 20%, #8B0000 0%, #3a0008 100%) !important;--card-bg: rgba(25, 0, 5, .45) !important;--bg-secondary: rgba(25, 0, 5, .3) !important;--border: rgba(212, 175, 55, .3) !important}.ok-shell-theme.light{background:radial-gradient(circle at 50% 20%,var(--bg-cream) 0%,#F3E5D8 100%)!important;color:var(--bg-dark-red)!important;--primary: var(--brand-saffron) !important;--primary-dark: #cc8400 !important;--primary-light: #ffc966 !important;--secondary: #FAF4EC !important;--accent-gold: var(--brand-gold) !important;--bg: radial-gradient(circle at 50% 20%, var(--bg-cream) 0%, #F3E5D8 100%) !important;--card-bg: rgba(255, 255, 255, .55) !important;--bg-secondary: rgba(255, 255, 255, .4) !important;--border: rgba(255, 165, 0, .35) !important}.ok-shell-theme.dark .sidebar{background:#19000573!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border-right:1px solid rgba(212,175,55,.3)!important;color:#fff!important}.ok-shell-theme.light .sidebar{background:#ffffffa6!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border-right:1px solid rgba(255,165,0,.35)!important;color:var(--bg-dark-red)!important}.ok-shell-theme.dark .sidebar-item{color:#fffc!important}.ok-shell-theme.dark .sidebar-item.active,.ok-shell-theme.dark .sidebar-item:hover{background:#ffffff0d!important;color:var(--brand-gold)!important;border-left-color:var(--brand-gold)!important}.ok-shell-theme.light .sidebar-item{color:var(--bg-dark-red)!important;opacity:.85}.ok-shell-theme.light .sidebar-item.active,.ok-shell-theme.light .sidebar-item:hover{background:#8b00000d!important;color:var(--bg-dark-red)!important;border-left-color:var(--bg-dark-red)!important;opacity:1}.ok-shell-theme.dark .app-topbar{background:#14000473!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border-bottom:1px solid rgba(212,175,55,.3)!important;color:#fff!important}.ok-shell-theme.light .app-topbar{background:#ffffffa6!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border-bottom:1px solid rgba(255,165,0,.35)!important;color:var(--bg-dark-red)!important}.ok-shell-theme.dark .btn-primary,.ok-shell-theme.dark button.primary{background:var(--brand-gold)!important;color:#1a0003!important}.ok-shell-theme.light .btn-primary,.ok-shell-theme.light button.primary{background:var(--brand-saffron)!important;color:#fff!important}.ok-shell-theme.light .sidebar-user{border-bottom-color:#8b00001a!important}.ok-shell-theme.light .sidebar-app-title{color:var(--bg-dark-red)!important}.ok-shell-theme.light .sidebar-display-name{color:var(--bg-dark-red)!important;opacity:.9!important}.ok-shell-theme.light .sidebar-top-row{border-bottom-color:#8b00001a!important}.ok-shell-theme.light .sidebar-top-btn{background:#8b00000d!important;border-color:#8b000026!important;color:var(--bg-dark-red)!important}.ok-shell-theme.light .sidebar-top-btn:hover{background:#8b00001a!important}.ok-shell-theme.light button.sidebar-top-btn[onclick*=handleLogout]{background:#dc35451a!important;border-color:#dc354533!important;color:#b91c1c!important}.ok-shell-theme.light .team-switcher{border-bottom-color:#8b00001a!important}.ok-shell-theme.light .team-switcher select{background:#fffc!important;border-color:#8b000026!important;color:var(--bg-dark-red)!important}.ok-shell-theme.light .team-switcher select option{background:var(--bg-cream)!important;color:var(--bg-dark-red)!important}.ok-shell-theme.light .sidebar-access-badge{background:#8b00001a!important;color:var(--bg-dark-red)!important}.ok-shell-theme{scrollbar-width:auto!important}.ok-shell-theme.dark{scrollbar-color:rgba(212,175,55,.65) rgba(0,0,0,.08)!important}.ok-shell-theme.light{scrollbar-color:rgba(139,0,0,.55) rgba(0,0,0,.08)!important}.ok-shell-theme ::-webkit-scrollbar{width:10px!important;height:10px!important}.ok-shell-theme ::-webkit-scrollbar-track{background:#00000014!important}.ok-shell-theme.dark ::-webkit-scrollbar-thumb{background:#d4af37a6!important;border-radius:5px!important;border:2px solid transparent!important;background-clip:padding-box!important}.ok-shell-theme.light ::-webkit-scrollbar-thumb{background:#8b00008c!important;border-radius:5px!important;border:2px solid transparent!important;background-clip:padding-box!important}.ok-shell-theme ::-webkit-scrollbar-thumb:hover{background:#d4af37e6!important}body:not(.dark) .modal-content{background:#faf4ec!important;border:1px solid rgba(255,165,0,.35)!important;color:#8b0000!important;box-shadow:0 12px 40px #8b000026!important}body:not(.dark) .modal-content h1,body:not(.dark) .modal-content h2,body:not(.dark) .modal-content h3,body:not(.dark) .modal-content h4,body:not(.dark) .modal-content label{color:#8b0000!important}body:not(.dark) .modal-content input,body:not(.dark) .modal-content select,body:not(.dark) .modal-content textarea{background:#fffc!important;border:1px solid rgba(255,165,0,.35)!important;color:#8b0000!important}body:not(.dark) .modal-content button.secondary{background:#8b00000d!important;border:1px solid rgba(139,0,0,.2)!important;color:#8b0000!important}body:not(.dark) .modal-content button.primary{background:orange!important;color:#fff!important}body.dark .modal-content,.dark .modal-content,.ok-shell-theme.dark .modal-content{background:#5a000d!important;backdrop-filter:blur(25px)!important;-webkit-backdrop-filter:blur(25px)!important;border:1px solid rgba(212,175,55,.3)!important;color:#fff!important;box-shadow:0 12px 40px #0009!important}body.dark .modal-content h1,body.dark .modal-content h2,body.dark .modal-content h3,body.dark .modal-content h4,body.dark .modal-content label,.dark .modal-content h1,.dark .modal-content h2,.dark .modal-content h3,.dark .modal-content h4,.dark .modal-content label,.dark .modal-content p,.dark .modal-content span,.dark .modal-content div,.dark .modal-content td,.dark .modal-content th,.dark .modal-content summary{color:#fff!important}body.dark select,body.dark input,body.dark textarea,.dark select,.dark input,.dark textarea,.dark .modal-content select,.dark .modal-content input,.dark .modal-content textarea{background:#5a000d!important;border:1px solid rgba(212,175,55,.3)!important;color:#fff!important}body.dark option,.dark option{background:#5a000d!important;color:#fff!important}body.dark .modal-content button.secondary,.dark .modal-content button.secondary{background:#ffffff14!important;border:1px solid rgba(212,175,55,.25)!important;color:#fff!important}body.dark .modal-content button.primary,.dark .modal-content button.primary{background:var(--brand-gold, #D4AF37)!important;color:#1a0003!important}.ok-shell-theme.dark .kanban-column{background:#19000573!important;border:1px solid rgba(212,175,55,.3)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}.ok-shell-theme.light .kanban-column{background:#ffffff80!important;border:1px solid rgba(255,165,0,.25)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}/*!
 * Cropper.js v1.6.2
 * https://fengyuanchen.github.io/cropperjs
 *
 * Copyright 2015-present Chen Fengyuan
 * Released under the MIT license
 *
 * Date: 2024-04-21T07:43:02.731Z
 */.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:calc(100% / 3);left:0;top:calc(100% / 3);width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:calc(100% / 3);top:0;width:calc(100% / 3)}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:before,.cropper-center:after{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media(min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media(min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media(min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}
