:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.waveform-visualizer{display:flex;justify-content:center;align-items:center;padding:8px 0;min-height:76px}.waveform-canvas{display:block;width:100%;max-width:300px;height:60px;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.ai-chat-page{height:calc(100vh - 80px - 4rem);width:100%;max-width:100%;background-color:#f5f5f5;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.content-wrapper:has(.ai-chat-page){height:100%;max-width:100%;display:flex;flex-direction:column}.ai-chat-layout{display:grid;grid-template-columns:1fr 720px 320px;gap:2rem;max-width:1400px;margin:0 auto;padding:0 2rem;flex:1;min-height:0;overflow:hidden}.ai-chat-center,.ai-chat-right-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.chat-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:100%;min-height:600px;position:relative;overflow:hidden}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0;background:#fff;flex-shrink:0}.chat-panel-title{font-size:1.125rem;font-weight:600;color:#333;margin:0}.chat-panel-header-controls{display:flex;align-items:center;gap:.75rem}.voice-selector{padding:.5rem .75rem;border:1px solid #e0e0e0;border-radius:.5rem;background:#fff;color:#333;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.voice-selector:hover{border-color:#1976d2;background:#f5f5f5}.voice-selector:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.reconnection-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:.5rem;font-size:.875rem;color:#856404}.reconnection-dot{width:8px;height:8px;border-radius:50%;background:#ffc107;animation:pulse 1.5s ease-in-out infinite}.reconnection-text{font-weight:500}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.thinking-indicator{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;margin:1rem 0;background:#f5f5f5;border-radius:12px;animation:fadeIn .3s ease-in}.thinking-dot{width:8px;height:8px;border-radius:50%;background:#666;animation:thinking-bounce 1.4s ease-in-out infinite}.thinking-dot:nth-child(1){animation-delay:0s}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}.thinking-text{font-size:.875rem;color:#666;font-weight:500;margin-left:.25rem}@keyframes thinking-bounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.streaming-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #e0e0e0;border-radius:.5rem;background:#fff;color:#666;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.streaming-toggle:hover{background:#f5f5f5;border-color:#d0d0d0;color:#333}.streaming-toggle.active{background:#e3f2fd;border-color:#1976d2;color:#1976d2}.streaming-toggle.active:hover{background:#bbdefb;border-color:#1565c0;color:#1565c0}.streaming-toggle span{line-height:1}.chat-panel-scroll{flex:1;overflow-y:auto;padding:2rem;padding-bottom:100px;scroll-behavior:smooth;transition:opacity .2s ease-in-out}.chat-panel-scroll::-webkit-scrollbar{width:8px}.chat-panel-scroll::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.chat-panel-scroll::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.chat-panel-scroll::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.message-list{display:flex;flex-direction:column;gap:1.5rem}.message-wrapper{display:flex;animation:fadeInMessage .4s ease-out;opacity:0;animation-fill-mode:forwards}@keyframes fadeInMessage{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-wrapper.message-user{justify-content:flex-end}.message-wrapper.message-assistant{justify-content:flex-start}.waveform-container{animation:fadeIn .3s ease-in}.message-renderer{max-width:85%;word-wrap:break-word}.message-renderer.message-text{padding:.75rem 1rem;border-radius:12px;box-shadow:0 1px 3px #0000001a}.message-wrapper.message-user .message-renderer.message-text{background:#1976d2;color:#fff}.message-wrapper.message-user .message-renderer,.message-wrapper.message-user .message-renderer *{color:#fff!important}.message-wrapper.message-assistant .message-renderer.message-text{background:#fff;color:#111;border:1px solid #e9e9e9}.message-wrapper.message-assistant .message-renderer,.message-wrapper.message-assistant .message-renderer *{color:#111!important}.message-card-premium,.message-card-premium *{color:inherit!important}.message-text{font-size:.95rem;line-height:1.5}.message-renderer a{text-decoration:underline}.dashboard-layout{width:100%;box-sizing:border-box}.ai-chat-container{height:100%;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:width .2s ease-in-out;min-width:350px;max-width:800px}.ai-chat-container.collapsed{width:60px!important;min-width:60px;max-width:60px}.ai-chat-container.collapsed .ai-chat-resize-handle{display:none}.ai-chat-resize-handle{position:absolute;left:0;top:0;bottom:0;width:4px;cursor:ew-resize;background:transparent;z-index:20;transition:background .2s}.ai-chat-resize-handle:hover{background:#1976d2}.ai-chat-container:has(.ai-chat-resize-handle:hover){-webkit-user-select:none;user-select:none}.ai-chat-collapse-button{position:absolute;top:1rem;right:1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffffe6;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;z-index:15;transition:all .2s;color:#666;box-shadow:0 1px 3px #0000001a}.ai-chat-collapse-button:hover{background:#fff;border-color:#1976d2;color:#1976d2;box-shadow:0 2px 6px #00000026}.ai-chat-container.collapsed .ai-chat-collapse-button{right:.5rem;left:.5rem;width:auto;top:1rem;transform:none;border-radius:4px}.ai-chat-collapsed-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);font-size:.875rem;font-weight:600;color:#1976d2;white-space:nowrap;pointer-events:none;letter-spacing:.1em}.ai-chat-container .ai-chat-layout{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;max-width:none;margin:0;padding:0;width:100%}.ai-chat-container .ai-chat-center{display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:1;width:100%}.ai-chat-container.collapsed .ai-chat-layout{display:none}.message-wrapper.message-user .message-renderer a,.message-wrapper.message-user .message-renderer a *{color:#fff!important}.message-wrapper.message-assistant .message-renderer a,.message-wrapper.message-assistant .message-renderer a *{color:#1976d2!important}.message-card,.message-chart,.message-table{width:100%;padding:1rem;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000001a;margin-top:.5rem;color:#111}.message-card *,.message-chart *,.message-table *{color:#111}.message-chart-title{font-size:1.125rem;font-weight:600;margin-bottom:1rem;color:#111}.message-chart-content{display:flex;flex-direction:column;gap:1rem}.message-chart-visualization{padding:1rem;background:#f5f5f5;border-radius:8px}.message-chart-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.message-chart-type{font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;color:#666}.message-chart-labels{font-size:.875rem;color:#666}.message-chart-data-preview{display:flex;flex-direction:column;gap:.5rem}.message-chart-dataset{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#fff;border-radius:6px;font-size:.875rem}.message-chart-dataset-label{font-weight:500;color:#111}.message-chart-dataset-value{color:#666}.message-chart-fallback{padding:1rem;text-align:center;background:#f5f5f5;border-radius:8px}.message-chart-note{font-size:.875rem;color:#666;margin-top:.5rem}.message-chart-details{margin-top:.5rem}.message-chart-details-summary{cursor:pointer;padding:.5rem;font-size:.875rem;color:#1976d2;-webkit-user-select:none;user-select:none}.message-chart-details-summary:hover{text-decoration:underline}.message-chart-details pre{margin-top:.5rem;max-height:300px;overflow-y:auto}.message-card-premium{background:#e3f2fd;border:1px solid #90caf9;border-left:4px solid #1976d2;border-radius:.75rem;box-shadow:0 2px 8px #1976d226,0 1px 3px #0000001a;padding:1.5rem;margin-top:.5rem;transition:all .2s ease-out;animation:fadeInUp .3s ease-out;display:flex;flex-direction:column;gap:.75rem;position:relative;overflow:hidden}.message-card-premium:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(25,118,210,.2),transparent)}.message-card-premium:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1976d233,0 2px 6px #0000001a;border-color:#64b5f6}@media(prefers-color-scheme:dark){.message-card-premium{background:#0d47a14d;border:1px solid rgba(66,165,245,.4);border-left:4px solid #64b5f6}.message-card-premium:hover{background:#0d47a166;border-color:#90caf9}}@media(prefers-color-scheme:light){.message-card-premium{background:#e3f2fd;border:1px solid #90caf9;border-left:4px solid #1976d2}}.message-card-premium .message-card-header{display:flex;align-items:center;gap:.5rem}.message-card-premium .message-card-icon{font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;color:#424242}@media(prefers-color-scheme:dark){.message-card-premium .message-card-icon{color:#e0e0e0}}.message-card-premium .message-card-title{font-size:.85rem;font-weight:600;color:#212121;letter-spacing:-.01em;margin:0;text-transform:uppercase;flex:1}@media(prefers-color-scheme:dark){.message-card-premium .message-card-title{color:#e0e0e0}}.message-card-premium .message-card-metric{display:flex;flex-direction:column;gap:.5rem}.message-card-premium .message-card-metric-value{font-size:2rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:#000;margin:0}@media(prefers-color-scheme:dark){.message-card-premium .message-card-metric-value{color:#fff}}.message-card-premium .message-card-metric-footer{display:flex;flex-direction:row;align-items:center;gap:.75rem;margin-top:.25rem;flex-wrap:wrap}.message-card-premium .message-card-metric-sub{font-size:.85rem;color:#000;font-weight:400}@media(prefers-color-scheme:dark){.message-card-premium .message-card-metric-sub{color:#fff}}.message-card-premium .message-card-trend{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;padding:.25rem .5rem;border-radius:.375rem;width:fit-content}.message-card-premium .message-card-trend.trend-positive{color:#10b981;background:#10b9811a}.message-card-premium .message-card-trend.trend-negative{color:#ef4444;background:#ef44441a}@media(prefers-color-scheme:dark){.message-card-premium .message-card-trend.trend-positive{color:#34d399;background:#34d39926}.message-card-premium .message-card-trend.trend-negative{color:#f87171;background:#f8717126}}.message-card-premium .message-card-trend-icon{font-size:.875rem;line-height:1}.message-card-premium .message-card-trend-value{font-weight:600}.message-card-premium .message-card-trend-label{font-size:.75rem;opacity:.8;margin-left:.25rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-insight,.message-action{padding:1rem;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000001a;border-left:4px solid #4caf50;color:#111}.message-action{border-left-color:#2196f3}.message-insight *,.message-action *{color:#111}.message-input-form{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:#fff;border-top:1px solid #e0e0e0;border-radius:0 0 12px 12px}.message-input-container{display:flex;align-items:center;background:#fff;border-radius:24px;box-shadow:0 2px 8px #0000001a;padding:.5rem 1rem;gap:.5rem}.message-input{flex:1;border:none;outline:none;font-size:.95rem;padding:.5rem 0;background:transparent;color:#333}.message-input::placeholder{color:#999}.message-input-mic{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:#666;border-radius:50%;cursor:pointer;transition:all .2s;padding:0;flex-shrink:0}.message-input-mic:hover{background:#f5f5f5;color:#333}.message-input-mic:active{background:#e0e0e0}.message-input-mic.recording{color:#ef4444;background:#ef44441a;animation:pulse-recording 1.5s ease-in-out infinite}.message-input-mic.recording:hover{background:#ef444426}.message-input-mic.disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5;border-color:#e0e0e0;color:#999}.message-input-mic.disabled:hover{background:#f5f5f5;border-color:#e0e0e0;color:#999}@keyframes pulse-recording{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.message-input-send{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:#1976d2;color:#fff;border-radius:50%;cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.message-input-send:hover{background:#1565c0}.message-input-send:active{background:#0d47a1}.message-input-send svg{width:18px;height:18px}.completed-items-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:100%;min-height:600px;overflow:hidden}.completed-items-header{padding:1.5rem;border-bottom:1px solid #e0e0e0}.completed-items-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#333}.completed-items-list{flex:1;overflow-y:auto;padding:1rem}.completed-items-list::-webkit-scrollbar{width:8px}.completed-items-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.completed-items-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.completed-items-empty{padding:2rem;text-align:center;color:#999}.completed-item{padding:1rem;margin-bottom:.75rem;background:#f9f9f9;border-radius:8px;border-left:3px solid #4caf50;animation:fadeIn .3s ease-in}.completed-item-type{font-size:.75rem;font-weight:600;text-transform:uppercase;color:#4caf50;margin-bottom:.5rem}.completed-item-content{font-size:.9rem;color:#333;margin-bottom:.5rem;line-height:1.4}.completed-item-time{font-size:.75rem;color:#999}@media(max-width:1200px){.ai-chat-layout{grid-template-columns:1fr 600px 280px;gap:1.5rem}}@media(max-width:968px){.ai-chat-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:1rem;padding:1rem}.ai-chat-right-panel{order:-1}.completed-items-panel{height:auto;max-height:300px;min-height:auto}.chat-panel{height:100%;min-height:400px}}.business-info-card{background:#e8f4ff;border:1px solid #4a4a4a;color:#000;border-radius:10px;padding:18px 20px;margin:14px 0;font-size:15px;line-height:1.5;box-shadow:0 1px 3px #00000014}.business-info-card h3{margin-bottom:10px;font-size:18px;font-weight:600}.business-info-card p{margin:6px 0}.business-info-card .actions{display:flex;gap:12px;margin-top:14px}.business-info-card .actions button{padding:8px 14px;background:#fff;border:1px solid #ccc;border-radius:6px;cursor:pointer}.business-info-card .actions button:hover{background:#f0f0f0}.fixed-ai-chat-panel{position:fixed;top:81px;right:0;height:calc(100vh - 81px);min-width:350px;max-width:800px;background:#fff;box-shadow:-2px 0 8px #0000001a;display:flex;flex-direction:column;z-index:1000;transition:transform .3s ease-in-out,width .2s ease-in-out;border-left:1px solid #e0e0e0}.fixed-ai-chat-panel.closed{transform:translate(calc(100% - 60px));width:60px!important}.fixed-ai-chat-panel.closed .fixed-chat-header{padding:1rem .5rem;justify-content:center}.fixed-ai-chat-panel.closed .fixed-chat-title-section{width:100%;justify-content:center}.fixed-ai-chat-panel.closed .fixed-chat-panel-toggle{margin-left:0}.fixed-ai-chat-panel.collapsed{width:60px!important;min-width:60px}.fixed-chat-resize-handle{position:absolute;left:0;top:0;bottom:0;width:4px;cursor:ew-resize;background:transparent;z-index:20;transition:background .2s}.fixed-chat-resize-handle:hover{background:#1976d2}.fixed-chat-resize-handle:active{background:#1565c0;cursor:ew-resize}.fixed-ai-chat-panel.resizing{-webkit-user-select:none;user-select:none;cursor:ew-resize}.fixed-ai-chat-panel.resizing *{cursor:ew-resize!important}.fixed-chat-header{padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0;background:#f5f5f5;display:flex;align-items:center;gap:.75rem;flex-shrink:0;position:sticky;top:0;z-index:10;-webkit-user-select:none;user-select:none;min-height:60px}.fixed-ai-chat-panel.collapsed .fixed-chat-header:hover{background:#e8e8e8}.fixed-ai-chat-panel.collapsed .fixed-chat-header{padding:1rem;justify-content:center}.fixed-chat-title-section{display:flex;align-items:center;gap:.5rem;flex:0 1 auto;min-width:0}.fixed-chat-ai-icon{color:#1976d2;flex-shrink:0}.fixed-chat-title{font-size:1.125rem;font-weight:600;color:#333;margin:0;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixed-chat-panel-toggle{background:none;border:none;cursor:pointer;color:#666;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0;margin-left:.25rem}.fixed-chat-panel-toggle:hover{background:#e0e0e0;color:#333}.fixed-ai-chat-panel.collapsed .fixed-chat-title{display:none}.fixed-chat-collapsed-icon{display:none;color:#666}.fixed-ai-chat-panel.collapsed .fixed-chat-collapsed-icon{display:flex;align-items:center;justify-content:center}.fixed-chat-header-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-left:auto}.fixed-chat-voice-selector{padding:.25rem .5rem;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:.875rem;color:#333;cursor:pointer;transition:all .2s;flex-shrink:0;min-width:80px}.fixed-chat-input .fixed-chat-voice-selector{width:100%;margin-top:.625rem;min-width:unset;flex-shrink:1}.fixed-chat-voice-selector:hover{border-color:#1976d2;background:#f5f5f5}.fixed-chat-streaming-toggle{background:none;border:1px solid #d1d5db;cursor:pointer;color:#666;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0;min-width:36px;min-height:36px}.fixed-chat-streaming-toggle:hover{background:#e0e0e0;border-color:#1976d2;color:#1976d2}.fixed-chat-streaming-toggle.active{background:#1976d2;border-color:#1976d2;color:#fff}.fixed-chat-streaming-toggle.active:hover{background:#1565c0;border-color:#1565c0}.reconnection-indicator{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#f59e0b}.reconnection-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;animation:pulse 1.5s ease-in-out infinite}.fixed-chat-header-buttons{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.fixed-chat-collapse,.fixed-chat-close{background:none;border:none;cursor:pointer;color:#666;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.fixed-chat-collapse:hover,.fixed-chat-close:hover{background:#e0e0e0;color:#333}.fixed-ai-chat-panel.collapsed .fixed-chat-header-buttons{flex-direction:column;gap:.25rem}.fixed-ai-chat-panel.collapsed{box-shadow:-2px 0 4px #0000001a}.fixed-ai-chat-panel.collapsed .fixed-chat-header{border-bottom:none}.fixed-chat-messages{flex:1;overflow-y:auto;min-height:0;background:#fff}.fixed-chat-messages-content{padding:1rem;min-height:100%;display:flex;flex-direction:column}.fixed-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#666;padding:2rem}.fixed-chat-empty p{margin:.5rem 0}.fixed-chat-empty-hint{font-size:.875rem;color:#999}.fixed-chat-loading{padding:1rem;display:flex;justify-content:center;align-items:center}.loading-dots{display:flex;gap:.5rem}.loading-dots span{width:8px;height:8px;border-radius:50%;background:#1976d2;animation:loading-bounce 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loading-bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.fixed-chat-input{padding:1rem 1.5rem;border-top:1px solid #e0e0e0;background:#fff;flex-shrink:0;position:sticky;bottom:0;z-index:10}.fixed-chat-realtime-controls{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.5rem;background:#f9fafb;border-radius:8px}@media(max-width:768px){.fixed-ai-chat-panel{width:100%;max-width:100%}.fixed-chat-header{padding:.75rem 1rem;gap:.5rem}.fixed-chat-title{font-size:1rem}.fixed-chat-voice-selector{min-width:70px;font-size:.75rem;padding:.2rem .4rem}.fixed-chat-streaming-toggle{min-width:32px;min-height:32px;padding:.4rem}}@media(max-width:500px){.fixed-chat-header-controls{gap:.25rem}.fixed-chat-title{display:none}}@media(max-width:480px){.fixed-ai-chat-panel{width:100%}.fixed-chat-header,.fixed-chat-input{padding:.75rem 1rem}}.fixed-chat-messages::-webkit-scrollbar{width:8px}.fixed-chat-messages::-webkit-scrollbar-track{background:#f1f1f1}.fixed-chat-messages::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.fixed-chat-messages::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.test-page{position:relative;min-height:100vh;width:100%}.test-page-content{width:100%;padding:2rem;padding-right:420px;transition:padding-right .3s ease-in-out;box-sizing:border-box}.test-page:has(.fixed-ai-chat-panel.closed) .test-page-content{padding-right:2rem}.test-page-inner{max-width:1200px;margin:0 auto}.test-page h1{font-size:2rem;margin-bottom:1rem;color:#1a1a1a}.test-page h2{font-size:1.5rem;margin-top:2rem;margin-bottom:1rem;color:#333}.test-page p{line-height:1.6;margin-bottom:1rem;color:#666}.test-page ul{margin-left:2rem;margin-bottom:2rem}.test-page li{line-height:1.6;margin-bottom:.5rem;color:#666}.test-page section{margin-bottom:3rem}@media(max-width:768px){.test-page-content{padding:1rem;padding-right:0}.test-page:has(.fixed-ai-chat-panel.closed) .test-page-content{padding-right:1rem}.chat-toggle-button{right:0;border-radius:0}.test-page:has(.fixed-ai-chat-panel.open) .chat-toggle-button{right:0}}.chart-of-accounts-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in}.chart-of-accounts-modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;padding:24px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;position:relative}.chart-of-accounts-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.chart-of-accounts-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.chart-of-accounts-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.chart-of-accounts-modal-close:hover{background-color:#f5f5f5}.chart-of-accounts-modal-form{display:flex;flex-direction:column;gap:1rem}.chart-of-accounts-modal-field{display:flex;flex-direction:column;gap:.25rem}.chart-of-accounts-modal-field label{font-weight:500;color:#333;font-size:.875rem}.chart-of-accounts-modal-field input,.chart-of-accounts-modal-field select{padding:8px 10px;border:1px solid #c2d9f8;border-radius:6px;font-size:1rem;transition:border-color .2s;background:#e8f3ff;color:#036}.chart-of-accounts-modal-field input:focus,.chart-of-accounts-modal-field select:focus{outline:none;border-color:#1976d2}.chart-of-accounts-modal-field input:disabled,.chart-of-accounts-modal-field select:disabled{opacity:.6;cursor:not-allowed;background:#f5f5f5}.chart-of-accounts-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.chart-of-accounts-modal-button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.chart-of-accounts-modal-button:active{transform:scale(.98)}.chart-of-accounts-modal-button-primary{background-color:#1976d2;color:#fff}.chart-of-accounts-modal-button-primary:hover{background-color:#1565c0}.chart-of-accounts-modal-button-secondary{background-color:#f5f5f5;color:#333}.chart-of-accounts-modal-button-secondary:hover{background-color:#e0e0e0}.chart-of-accounts-modal-button:disabled{opacity:.6;cursor:not-allowed}.chart-of-accounts-modal-error{color:#d32f2f;font-size:.875rem;margin-top:.25rem;padding:.75rem;background:#ffebee;border-radius:6px}.invoice-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in}.invoice-modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;padding:24px;width:100%;max-width:480px;animation:slideUp .3s ease-out;position:relative}.invoice-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.invoice-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.invoice-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.invoice-modal-close:hover{background-color:#f5f5f5}.invoice-modal-form{display:flex;flex-direction:column;gap:1rem}.invoice-modal-field{display:flex;flex-direction:column;gap:.25rem}.invoice-modal-field label{font-weight:500;color:#333;font-size:.875rem}.invoice-modal-field input,.invoice-modal-field textarea{padding:8px 10px;border:1px solid #c2d9f8;border-radius:6px;font-size:1rem;transition:border-color .2s;background:#e8f3ff;color:#036}.invoice-modal-field input:focus,.invoice-modal-field textarea:focus{outline:none;border-color:#1976d2}.invoice-modal-field textarea{resize:vertical;min-height:80px}.invoice-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.invoice-modal-button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.invoice-modal-button:active{transform:scale(.98)}.invoice-modal-button-primary{background-color:#1976d2;color:#fff}.invoice-modal-button-primary:hover{background-color:#1565c0}.invoice-modal-button-secondary{background-color:#f5f5f5;color:#333}.invoice-modal-button-secondary:hover{background-color:#e0e0e0}.invoice-modal-button:disabled{opacity:.6;cursor:not-allowed}.invoice-modal-error{color:#d32f2f;font-size:.875rem;margin-top:.25rem}.contact-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in}.contact-modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;padding:24px;width:100%;max-width:420px;animation:slideUp .3s ease-out;position:relative}.contact-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.contact-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.contact-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.contact-modal-close:hover{background-color:#f5f5f5}.contact-modal-form{display:flex;flex-direction:column;gap:1rem}.contact-modal-field{display:flex;flex-direction:column;gap:.25rem}.contact-modal-field label{font-weight:500;color:#333;font-size:.875rem}.contact-modal-field input,.contact-modal-field select{padding:8px 10px;border:1px solid #c2d9f8;border-radius:6px;font-size:1rem;transition:border-color .2s;background:#e8f3ff;color:#036}.contact-modal-field input:focus,.contact-modal-field select:focus{outline:none;border-color:#1976d2}.contact-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.contact-modal-button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.contact-modal-button:active{transform:scale(.98)}.contact-modal-button-primary{background-color:#1976d2;color:#fff}.contact-modal-button-primary:hover{background-color:#1565c0}.contact-modal-button-secondary{background-color:#f5f5f5;color:#333}.contact-modal-button-secondary:hover{background-color:#e0e0e0}.contact-modal-button:disabled{opacity:.6;cursor:not-allowed}.contact-modal-error{color:#d32f2f;font-size:.875rem;margin-top:.25rem;padding:.75rem;background:#ffebee;border-radius:6px}.invoice-create-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in;padding:2rem}.invoice-create-modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;position:relative;overflow-y:auto}.invoice-create-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0;position:sticky;top:0;background:#fff;z-index:10;flex-shrink:0}.invoice-create-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.invoice-create-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.invoice-create-close:hover{background-color:#f5f5f5}.invoice-create-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1;overflow-y:auto}.invoice-create-field{display:flex;flex-direction:column;gap:.25rem}.invoice-create-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.invoice-create-field label{font-weight:500;color:#333;font-size:.875rem}.invoice-create-field input,.invoice-create-field select{padding:8px 10px;border:1px solid #c2d9f8;border-radius:6px;font-size:1rem;transition:border-color .2s;background:#e8f3ff;color:#036}.invoice-create-field input:focus,.invoice-create-field select:focus{outline:none;border-color:#1976d2}.invoice-create-line-items{display:flex;flex-direction:column;gap:1rem}.invoice-create-line-items-header{display:flex;justify-content:space-between;align-items:center}.invoice-create-line-items-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#333}.invoice-create-line-items-list{display:flex;flex-direction:column;gap:1rem}.invoice-create-line-item{padding:1rem;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa}.invoice-create-line-item-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:.75rem;align-items:end}.invoice-create-field-flex{min-width:0}.invoice-create-line-total{padding:.75rem;font-weight:600;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;text-align:right}.invoice-create-remove-line{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#d32f2f;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.invoice-create-remove-line:hover{background-color:#ffebee}.invoice-create-total{padding:1rem;background:#f5f5f5;border-radius:8px;text-align:right;font-size:1.25rem;color:#333}.invoice-payment-history{margin-top:1rem;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa}.invoice-payment-history-toggle{width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-weight:500;color:#333;transition:background-color .2s}.invoice-payment-history-toggle:hover{background-color:#f0f0f0}.invoice-payment-history-toggle span:first-child{font-size:.75rem;color:#666;width:16px;display:inline-block}.invoice-payment-history-content{padding:1rem;border-top:1px solid #e0e0e0}.invoice-payment-history-table{width:100%;border-collapse:collapse;font-size:.875rem}.invoice-payment-history-table thead{background-color:#f5f5f5}.invoice-payment-history-table th{padding:.5rem;text-align:left;font-weight:600;color:#666;border-bottom:1px solid #e0e0e0}.invoice-payment-history-table td{padding:.5rem;border-bottom:1px solid #f0f0f0}.invoice-payment-history-table tbody tr:hover{background-color:#f9f9f9}.invoice-payment-history-table tfoot{border-top:2px solid #e0e0e0}.invoice-payment-history-total-row td{padding-top:.75rem;font-weight:600}.invoice-payment-history-remaining-row td{padding-bottom:.75rem;font-weight:600}.invoice-create-error{color:#d32f2f;font-size:.875rem;padding:.75rem;background:#ffebee;border-radius:6px}.invoice-create-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e0e0e0;position:sticky;bottom:0;background:#fff;margin-top:auto;flex-shrink:0}.invoice-create-button-primary,.invoice-create-button-secondary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.invoice-create-button-primary:active,.invoice-create-button-secondary:active{transform:scale(.98)}.invoice-create-button-primary{background-color:#1976d2;color:#fff}.invoice-create-button-primary:hover{background-color:#1565c0}.invoice-create-button-secondary{background-color:#f5f5f5;color:#333}.invoice-create-button-secondary:hover{background-color:#e0e0e0}.invoice-create-button-primary:disabled,.invoice-create-button-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.invoice-create-overlay{padding:1rem}.invoice-create-modal{max-width:100%}.invoice-create-line-item-row{grid-template-columns:1fr;gap:1rem}.invoice-create-field-row{grid-template-columns:1fr}}.invoice-report-page{padding:2rem;min-height:100vh;background-color:#f5f5f5}.invoice-report-header{margin-bottom:2rem}.invoice-report-header h1{font-size:2rem;font-weight:600;color:#333;margin:0 0 .5rem}.invoice-report-subtitle{color:#666;font-size:1rem;margin:0}.invoice-report-loading{display:flex;justify-content:center;align-items:center;padding:4rem;color:#666}.invoice-report-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.invoice-table-container{overflow-x:auto}.invoice-table{width:100%;border-collapse:collapse;font-size:.95rem}.invoice-table thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.invoice-table th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.invoice-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.invoice-table tbody tr:hover{background-color:#f8f9fa}.invoice-table tbody tr:last-child{border-bottom:none}.invoice-table td{padding:1rem;color:#333}.invoice-status{display:inline-block;padding:.375rem .75rem;border-radius:16px;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-unpaid{background-color:#fff3e0;color:#e65100}.status-overdue{background-color:#ffebee;color:#c62828}.invoice-amount{font-weight:600;color:#333}.invoice-table-empty{text-align:center;padding:3rem;color:#999;font-style:italic}@media(max-width:968px){.invoice-report-page{padding:1rem}.invoice-table{font-size:.875rem}.invoice-table th,.invoice-table td{padding:.75rem .5rem}}.add-payment-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.add-payment-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.add-payment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.add-payment-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.add-payment-modal-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.add-payment-modal-close:hover{background-color:#f5f5f5;color:#333}.add-payment-modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.add-payment-modal-error{padding:.75rem 1rem;background-color:#ffebee;color:#c62828;border-radius:6px;font-size:.875rem}.add-payment-modal-loading{padding:2rem;text-align:center;color:#666}.add-payment-modal-field{display:flex;flex-direction:column;gap:.25rem}.add-payment-modal-field label{font-weight:500;color:#333;font-size:.875rem}.add-payment-modal-field input,.add-payment-modal-field select{padding:.75rem;border:1px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .2s}.add-payment-modal-field input:focus,.add-payment-modal-field select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.add-payment-modal-field input:disabled,.add-payment-modal-field select:disabled{background-color:#f5f5f5;cursor:not-allowed}.add-payment-modal-hint{color:#666;font-size:.75rem;margin-top:.25rem}.add-payment-modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.add-payment-modal-cancel,.add-payment-modal-submit{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.add-payment-modal-cancel{background-color:#f5f5f5;color:#333}.add-payment-modal-cancel:hover:not(:disabled){background-color:#e0e0e0}.add-payment-modal-submit{background-color:#1976d2;color:#fff}.add-payment-modal-submit:hover:not(:disabled){background-color:#1565c0}.add-payment-modal-cancel:disabled,.add-payment-modal-submit:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.add-payment-modal-overlay{padding:1rem}.add-payment-modal{max-height:95vh}.add-payment-modal-header,.add-payment-modal-form{padding:1rem}}.invoice-payments-report-page{padding:2rem;min-height:100vh;background-color:#f5f5f5}.invoice-payments-report-header{margin-bottom:2rem}.invoice-payments-report-header h1{font-size:2rem;font-weight:600;color:#333;margin:0 0 .5rem}.invoice-payments-report-subtitle{color:#666;font-size:1rem;margin:0}.invoice-payments-report-loading{display:flex;justify-content:center;align-items:center;padding:4rem;color:#666}.invoice-payments-report-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.invoice-payments-table-container{overflow-x:auto}.invoice-payments-table{width:100%;border-collapse:collapse;font-size:.95rem}.invoice-payments-table thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.invoice-payments-table th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.invoice-payments-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.invoice-payments-table tbody tr:hover{background-color:#f8f9fa}.invoice-payments-table tbody tr:last-child{border-bottom:none}.invoice-payments-table td{padding:1rem;color:#333}.payment-type{display:inline-block;padding:.375rem .75rem;border-radius:16px;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.payment-type-receive{background-color:#e8f5e9;color:#2e7d32}.payment-type-pay{background-color:#fff3e0;color:#e65100}.invoice-number{font-weight:600;color:#1976d2}.bill-number{font-weight:600;color:#e65100}.payment-amount{font-weight:600;color:#333}.invoice-payments-table-empty{text-align:center;padding:3rem;color:#999;font-style:italic}.invoice-actions{display:flex;gap:.5rem;justify-content:flex-start;align-items:center}.invoice-action-btn{background:transparent;border:1.5px solid #e0e0e0;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#666;position:relative}.invoice-action-btn:hover:not(:disabled){background-color:#f8f9fa;border-color:#d0d0d0;transform:translateY(-1px);box-shadow:0 2px 4px #00000014}.invoice-action-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000000d}.invoice-action-btn:disabled{opacity:.4;cursor:not-allowed;border-color:#e8e8e8}.invoice-edit-btn{color:#1976d2;border-color:#e3f2fd}.invoice-edit-btn:hover:not(:disabled){background-color:#e3f2fd;border-color:#90caf9;color:#1565c0}.invoice-delete-btn{color:#d32f2f;border-color:#ffebee}.invoice-delete-btn:hover:not(:disabled){background-color:#ffebee;border-color:#ef9a9a;color:#c62828}.invoice-action-loading{display:inline-block;font-size:1.2rem;line-height:1;animation:pulse 1.5s ease-in-out infinite}@media(max-width:968px){.invoice-payments-report-page{padding:1rem}.invoice-payments-table{font-size:.875rem}.invoice-payments-table th,.invoice-payments-table td{padding:.75rem .5rem}}.bill-payment-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in;padding:2rem}.bill-payment-modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;width:100%;max-width:500px;display:flex;flex-direction:column;animation:slideUp .3s ease-out;position:relative}.bill-payment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.bill-payment-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.bill-payment-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.bill-payment-modal-close:hover{background-color:#f5f5f5}.bill-payment-modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.bill-payment-modal-field{display:flex;flex-direction:column;gap:.25rem}.bill-payment-modal-field label{font-weight:500;color:#333;font-size:.875rem}.bill-payment-modal-field input,.bill-payment-modal-field select,.bill-payment-modal-field textarea{padding:8px 10px;border:1px solid #c2d9f8;border-radius:6px;font-size:1rem;transition:border-color .2s;background:#e8f3ff;color:#036;font-family:inherit}.bill-payment-modal-field input:focus,.bill-payment-modal-field select:focus,.bill-payment-modal-field textarea:focus{outline:none;border-color:#1976d2}.bill-payment-modal-error{color:#d32f2f;font-size:.875rem;padding:.75rem;background:#ffebee;border-radius:6px}.bill-payment-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e0e0e0}.bill-payment-modal-button-primary,.bill-payment-modal-button-secondary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.bill-payment-modal-button-primary:active,.bill-payment-modal-button-secondary:active{transform:scale(.98)}.bill-payment-modal-button-primary{background-color:#1976d2;color:#fff}.bill-payment-modal-button-primary:hover{background-color:#1565c0}.bill-payment-modal-button-secondary{background-color:#f5f5f5;color:#333}.bill-payment-modal-button-secondary:hover{background-color:#e0e0e0}.bill-payment-modal-button-primary:disabled,.bill-payment-modal-button-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.bill-payment-modal-overlay{padding:1rem}.bill-payment-modal{max-width:100%}}.bill-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in;padding:2rem}.bill-modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;position:relative;overflow-y:auto}.bill-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0;position:sticky;top:0;background:#fff;z-index:10;flex-shrink:0}.bill-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.bill-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.bill-modal-close:hover{background-color:#f5f5f5}.bill-modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1;overflow-y:auto}.bill-modal-field{display:flex;flex-direction:column;gap:.25rem}.bill-modal-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.bill-modal-field label{font-weight:500;color:#333;font-size:.875rem}.bill-modal-field input,.bill-modal-field select,.bill-modal-field textarea{padding:8px 10px;border:1px solid #c2d9f8;border-radius:6px;font-size:1rem;transition:border-color .2s;background:#e8f3ff;color:#036;font-family:inherit}.bill-modal-field input:focus,.bill-modal-field select:focus,.bill-modal-field textarea:focus{outline:none;border-color:#1976d2}.bill-modal-line-items{display:flex;flex-direction:column;gap:1rem}.bill-modal-line-items-header{display:flex;justify-content:space-between;align-items:center}.bill-modal-line-items-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#333}.bill-modal-line-items-list{display:flex;flex-direction:column;gap:1rem}.bill-modal-line-item{padding:1rem;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa}.bill-modal-line-item-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 2fr 1fr auto;gap:.75rem;align-items:end}.bill-modal-line-item-description-row{margin-top:.75rem;grid-column:1 / -1}.bill-modal-field-flex{min-width:0}.bill-modal-line-total{padding:.75rem;font-weight:600;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;text-align:right}.bill-modal-remove-line{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#d32f2f;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.bill-modal-remove-line:hover{background-color:#ffebee}.bill-modal-total{padding:1rem;background:#f5f5f5;border-radius:8px;text-align:right;font-size:1.25rem;color:#333}.bill-modal-error{color:#d32f2f;font-size:.875rem;padding:.75rem;background:#ffebee;border-radius:6px}.bill-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e0e0e0;position:sticky;bottom:0;background:#fff;margin-top:auto;flex-shrink:0}.bill-modal-button-primary,.bill-modal-button-secondary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.bill-modal-button-primary:active,.bill-modal-button-secondary:active{transform:scale(.98)}.bill-modal-button-primary{background-color:#1976d2;color:#fff}.bill-modal-button-primary:hover{background-color:#1565c0}.bill-modal-button-secondary{background-color:#f5f5f5;color:#333}.bill-modal-button-secondary:hover{background-color:#e0e0e0}.bill-modal-button-primary:disabled,.bill-modal-button-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.bill-modal-overlay{padding:1rem}.bill-modal{max-width:100%}.bill-modal-line-item-row{grid-template-columns:1fr;gap:1rem}.bill-modal-field-row{grid-template-columns:1fr}}.bills-report-page{padding:2rem;min-height:100vh;background-color:#f5f5f5}.bills-report-header{margin-bottom:2rem}.bills-report-header h1{font-size:2rem;font-weight:600;color:#333;margin:0 0 .5rem}.bills-report-subtitle{color:#666;font-size:1rem;margin:0}.bills-report-loading{display:flex;justify-content:center;align-items:center;padding:4rem;color:#666}.bills-report-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.bills-table-container{overflow-x:auto}.bills-table{width:100%;border-collapse:collapse;font-size:.95rem}.bills-table thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.bills-table th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.bills-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.bills-table tbody tr:hover{background-color:#f8f9fa}.bills-table tbody tr:last-child{border-bottom:none}.bills-table td{padding:1rem;color:#333}.bill-number{font-weight:600;color:#1976d2}.status-paid{background-color:#e8f5e9;color:#2e7d32}.status-partially-paid{background-color:#fff3e0;color:#e65100}.bill-amount{font-weight:600;color:#333}.bills-table-empty{text-align:center;padding:3rem;color:#999;font-style:italic}.bill-actions{display:flex;gap:.5rem;justify-content:flex-start;align-items:center}.bill-action-btn{background:transparent;border:1.5px solid #e0e0e0;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#666;position:relative}.bill-action-btn:hover:not(:disabled){background-color:#f8f9fa;border-color:#d0d0d0;transform:translateY(-1px);box-shadow:0 2px 4px #00000014}.bill-action-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000000d}.bill-action-btn:disabled{opacity:.4;cursor:not-allowed;border-color:#e8e8e8}.bill-view-btn{color:#1976d2;border-color:#e3f2fd}.bill-view-btn:hover:not(:disabled){background-color:#e3f2fd;border-color:#90caf9;color:#1565c0}.bill-edit-btn{color:#1976d2;border-color:#e3f2fd}.bill-edit-btn:hover:not(:disabled){background-color:#e3f2fd;border-color:#90caf9;color:#1565c0}.bill-delete-btn{color:#d32f2f;border-color:#ffebee}.bill-delete-btn:hover:not(:disabled){background-color:#ffebee;border-color:#ef9a9a;color:#c62828}.bill-action-loading{display:inline-block;font-size:1.2rem;line-height:1;animation:pulse 1.5s ease-in-out infinite}@media(max-width:968px){.bills-report-page{padding:1rem}.bills-table{font-size:.875rem}.bills-table th,.bills-table td{padding:.75rem .5rem}}.bill-detail-page{padding:2rem;min-height:100vh;background-color:#f5f5f5}.bill-detail-loading,.bill-detail-error{display:flex;justify-content:center;align-items:center;padding:4rem;color:#666;font-size:1.125rem}.bill-detail-error{color:#d32f2f}.bill-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.bill-detail-back-btn{background:none;border:none;color:#1976d2;cursor:pointer;padding:.5rem 0;font-size:.875rem;margin-bottom:.5rem;transition:color .2s}.bill-detail-back-btn:hover{color:#1565c0;text-decoration:underline}.bill-detail-header h1{font-size:2rem;font-weight:600;color:#333;margin:0 0 .5rem}.bill-detail-subtitle{color:#666;font-size:1rem;margin:0}.bill-detail-actions{display:flex;gap:.75rem;align-items:center}.bill-detail-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.bill-detail-btn:active{transform:scale(.98)}.bill-detail-btn-primary{background-color:#1976d2;color:#fff}.bill-detail-btn-primary:hover:not(:disabled){background-color:#1565c0}.bill-detail-btn-secondary{background-color:#f5f5f5;color:#333;border:1px solid #e0e0e0}.bill-detail-btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.bill-detail-btn:disabled{opacity:.6;cursor:not-allowed}.bill-detail-tabs{display:flex;gap:.5rem;border-bottom:2px solid #e0e0e0;margin-bottom:2rem;background:#fff;border-radius:8px 8px 0 0;padding:0 1rem}.bill-detail-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:.95rem;font-weight:500;color:#666;transition:all .2s;margin-bottom:-2px}.bill-detail-tab:hover{color:#1976d2;background-color:#f5f5f5}.bill-detail-tab.active{color:#1976d2;border-bottom-color:#1976d2;background-color:transparent}.bill-detail-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.bill-detail-info,.bill-detail-payments,.bill-detail-journal,.bill-detail-ledger{display:flex;flex-direction:column;gap:2rem}.bill-detail-section{display:flex;flex-direction:column;gap:1rem}.bill-detail-section h2{font-size:1.5rem;font-weight:600;color:#333;margin:0}.bill-detail-table{width:100%;border-collapse:collapse;font-size:.95rem}.bill-detail-table thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.bill-detail-table th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.bill-detail-table tbody tr{border-bottom:1px solid #e0e0e0}.bill-detail-table tbody tr:hover{background-color:#f8f9fa}.bill-detail-table td{padding:1rem;color:#333}.bill-detail-table tfoot{border-top:2px solid #e0e0e0;background-color:#f8f9fa}.bill-detail-table tfoot td{font-weight:600;padding:1rem}.bill-detail-line-items{width:100%;border-collapse:collapse;font-size:.95rem}.bill-detail-line-items thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.bill-detail-line-items th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.bill-detail-line-items tbody tr{border-bottom:1px solid #e0e0e0}.bill-detail-line-items tbody tr:hover{background-color:#f8f9fa}.bill-detail-line-items td{padding:1rem;color:#333}.bill-detail-line-items tfoot{border-top:2px solid #e0e0e0;background-color:#f8f9fa}.bill-detail-line-items tfoot td{font-weight:600;padding:1rem}.bill-status{display:inline-block;padding:.375rem .75rem;border-radius:16px;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.bill-status-draft{background-color:#f5f5f5;color:#666}.bill-status-posted{background-color:#e3f2fd;color:#1976d2}.bill-status-partially_paid{background-color:#fff3e0;color:#e65100}.bill-status-paid{background-color:#e8f5e9;color:#2e7d32}.bill-detail-journal-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:1rem;background-color:#f8f9fa;border-radius:8px}.bill-detail-journal-header p{margin:0;color:#333}@media(max-width:968px){.bill-detail-page{padding:1rem}.bill-detail-header{flex-direction:column}.bill-detail-actions{width:100%;flex-wrap:wrap}.bill-detail-tabs{overflow-x:auto;flex-wrap:nowrap}.bill-detail-content{padding:1rem}.bill-detail-table,.bill-detail-line-items{font-size:.875rem}.bill-detail-table th,.bill-detail-table td,.bill-detail-line-items th,.bill-detail-line-items td{padding:.75rem .5rem}}.receipt-image-upload{display:flex;flex-direction:column;gap:.75rem}.receipt-image-preview{position:relative;display:inline-block;border-radius:8px;overflow:hidden;border:1px solid #e0e0e0;background-color:#f8f9fa}.receipt-image-preview img{display:block;max-width:100%;max-height:400px;object-fit:contain;width:auto;height:auto}.receipt-image-remove{position:absolute;top:8px;right:8px;background-color:#d32f2fe6;color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,transform .1s;box-shadow:0 2px 4px #0003}.receipt-image-remove:hover:not(:disabled){background-color:#c62828;transform:scale(1.1)}.receipt-image-remove:disabled{opacity:.6;cursor:not-allowed}.receipt-image-uploading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;background-color:#fffffff2;padding:1rem;border-radius:8px;box-shadow:0 2px 8px #00000026;color:#666;font-size:.875rem}.receipt-image-dropzone{border:2px dashed #c2d9f8;border-radius:8px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s;background-color:#f8f9ff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:200px}.receipt-image-dropzone:hover:not(.disabled){border-color:#1976d2;background-color:#e8f3ff}.receipt-image-dropzone.dragging{border-color:#1976d2;background-color:#e3f2fd;border-style:solid}.receipt-image-dropzone.disabled{opacity:.6;cursor:not-allowed;background-color:#f5f5f5}.receipt-image-dropzone-text{margin:0;color:#666;font-size:.95rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.receipt-image-dropzone-hint{font-size:.875rem;color:#999}.receipt-image-error{color:#d32f2f;font-size:.875rem;padding:.75rem;background:#ffebee;border-radius:6px;border:1px solid #ef9a9a}.receipt-image-spinner{width:24px;height:24px;border:3px solid #e0e0e0;border-top-color:#1976d2;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.receipt-image-dropzone{padding:2rem 1rem;min-height:150px}.receipt-image-preview img{max-height:300px}}.receipt-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in;padding:2rem}.receipt-modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;position:relative;overflow-y:auto}.receipt-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0;position:sticky;top:0;background:#fff;z-index:10;flex-shrink:0}.receipt-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.receipt-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.receipt-modal-close:hover{background-color:#f5f5f5}.receipt-modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1;overflow-y:auto}.receipt-modal-field{display:flex;flex-direction:column;gap:.25rem}.receipt-modal-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.receipt-modal-field label{font-weight:500;color:#333;font-size:.875rem}.receipt-modal-field input,.receipt-modal-field select,.receipt-modal-field textarea{padding:8px 10px;border:1px solid #c2d9f8;border-radius:6px;font-size:1rem;transition:border-color .2s;background:#e8f3ff;color:#036;font-family:inherit;height:42px;box-sizing:border-box}.receipt-modal-line-item .receipt-modal-field input,.receipt-modal-line-item .receipt-modal-field select{height:42px;box-sizing:border-box}.receipt-modal-field input:focus,.receipt-modal-field select:focus,.receipt-modal-field textarea:focus{outline:none;border-color:#1976d2}.receipt-modal-line-items{display:flex;flex-direction:column;gap:1rem}.receipt-modal-line-items-header{display:flex;justify-content:space-between;align-items:center}.receipt-modal-line-items-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#333}.receipt-modal-line-items-list{display:flex;flex-direction:column;gap:1rem}.receipt-modal-line-item{padding:1rem;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa}.receipt-modal-line-item-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 2fr 1fr auto;gap:.75rem;align-items:end}.receipt-modal-line-item-description-row{margin-top:.75rem;grid-column:1 / -1}.receipt-modal-field-flex{min-width:0}.receipt-modal-line-total{padding:.75rem;font-weight:600;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;text-align:right;height:42px;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end}.receipt-modal-remove-line{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#d32f2f;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.receipt-modal-remove-line:hover{background-color:#ffebee}.receipt-modal-total{padding:1rem;background:#f5f5f5;border-radius:8px;text-align:right;font-size:1.25rem;color:#333}.receipt-modal-error{color:#d32f2f;font-size:.875rem;padding:.75rem;background:#ffebee;border-radius:6px}.receipt-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e0e0e0;position:sticky;bottom:0;background:#fff;margin-top:auto;flex-shrink:0}.receipt-modal-button-primary,.receipt-modal-button-secondary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.receipt-modal-button-primary:active,.receipt-modal-button-secondary:active{transform:scale(.98)}.receipt-modal-button-primary{background-color:#1976d2;color:#fff}.receipt-modal-button-primary:hover{background-color:#1565c0}.receipt-modal-button-secondary{background-color:#f5f5f5;color:#333}.receipt-modal-button-secondary:hover{background-color:#e0e0e0}.receipt-modal-button-primary:disabled,.receipt-modal-button-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.receipt-modal-overlay{padding:1rem}.receipt-modal{max-width:100%}.receipt-modal-line-item-row{grid-template-columns:1fr;gap:1rem}.receipt-modal-field-row{grid-template-columns:1fr}}.receipts-report-page{padding:2rem;min-height:100vh;background-color:#f5f5f5}.receipts-report-header{margin-bottom:2rem}.receipts-report-header h1{font-size:2rem;font-weight:600;color:#333;margin:0 0 .5rem}.receipts-report-subtitle{color:#666;font-size:1rem;margin:0}.receipts-report-loading{display:flex;justify-content:center;align-items:center;padding:4rem;color:#666}.receipts-report-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.receipts-table-container{overflow-x:auto}.receipts-table{width:100%;border-collapse:collapse;font-size:.95rem}.receipts-table thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.receipts-table th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.receipts-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.receipts-table tbody tr:hover{background-color:#f8f9fa}.receipts-table tbody tr:last-child{border-bottom:none}.receipts-table td{padding:1rem;color:#333}.receipt-amount{font-weight:600;color:#333}.status-posted{background-color:#e3f2fd;color:#1976d2}.status-draft{background-color:#f5f5f5;color:#666}.receipts-table-empty{text-align:center;padding:3rem;color:#999;font-style:italic}.receipt-actions{display:flex;gap:.5rem;justify-content:flex-start;align-items:center}.receipt-action-btn{background:transparent;border:1.5px solid #e0e0e0;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#666;position:relative}.receipt-action-btn:hover:not(:disabled){background-color:#f8f9fa;border-color:#d0d0d0;transform:translateY(-1px);box-shadow:0 2px 4px #00000014}.receipt-action-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000000d}.receipt-action-btn:disabled{opacity:.4;cursor:not-allowed;border-color:#e8e8e8}.receipt-view-btn{color:#1976d2;border-color:#e3f2fd}.receipt-view-btn:hover:not(:disabled){background-color:#e3f2fd;border-color:#90caf9;color:#1565c0}.receipt-edit-btn{color:#1976d2;border-color:#e3f2fd}.receipt-edit-btn:hover:not(:disabled){background-color:#e3f2fd;border-color:#90caf9;color:#1565c0}.receipt-delete-btn{color:#d32f2f;border-color:#ffebee}.receipt-delete-btn:hover:not(:disabled){background-color:#ffebee;border-color:#ef9a9a;color:#c62828}.receipt-action-loading{display:inline-block;font-size:1.2rem;line-height:1;animation:pulse 1.5s ease-in-out infinite}@media(max-width:968px){.receipts-report-page{padding:1rem}.receipts-table{font-size:.875rem}.receipts-table th,.receipts-table td{padding:.75rem .5rem}}.receipt-detail-page{padding:2rem;min-height:100vh;background-color:#f5f5f5}.receipt-detail-loading,.receipt-detail-error{display:flex;justify-content:center;align-items:center;padding:4rem;color:#666;font-size:1.125rem}.receipt-detail-error{color:#d32f2f}.receipt-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.receipt-detail-back-btn{background:none;border:none;color:#1976d2;cursor:pointer;padding:.5rem 0;font-size:.875rem;margin-bottom:.5rem;transition:color .2s}.receipt-detail-back-btn:hover{color:#1565c0;text-decoration:underline}.receipt-detail-header h1{font-size:2rem;font-weight:600;color:#333;margin:0 0 .5rem}.receipt-detail-subtitle{color:#666;font-size:1rem;margin:0}.receipt-detail-actions{display:flex;gap:.75rem;align-items:center}.receipt-detail-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.receipt-detail-btn:active{transform:scale(.98)}.receipt-detail-btn-primary{background-color:#1976d2;color:#fff}.receipt-detail-btn-primary:hover:not(:disabled){background-color:#1565c0}.receipt-detail-btn-secondary{background-color:#f5f5f5;color:#333;border:1px solid #e0e0e0}.receipt-detail-btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.receipt-detail-btn:disabled{opacity:.6;cursor:not-allowed}.receipt-detail-tabs{display:flex;gap:.5rem;border-bottom:2px solid #e0e0e0;margin-bottom:2rem;background:#fff;border-radius:8px 8px 0 0;padding:0 1rem}.receipt-detail-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:.95rem;font-weight:500;color:#666;transition:all .2s;margin-bottom:-2px}.receipt-detail-tab:hover{color:#1976d2;background-color:#f5f5f5}.receipt-detail-tab.active{color:#1976d2;border-bottom-color:#1976d2;background-color:transparent}.receipt-detail-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.receipt-detail-info,.receipt-detail-journal,.receipt-detail-ledger{display:flex;flex-direction:column;gap:2rem}.receipt-detail-section{display:flex;flex-direction:column;gap:1rem}.receipt-detail-section h2{font-size:1.5rem;font-weight:600;color:#333;margin:0}.receipt-detail-table{width:100%;border-collapse:collapse;font-size:.95rem}.receipt-detail-table thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.receipt-detail-table th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.receipt-detail-table tbody tr{border-bottom:1px solid #e0e0e0}.receipt-detail-table tbody tr:hover{background-color:#f8f9fa}.receipt-detail-table td{padding:1rem;color:#333}.receipt-detail-table tfoot{border-top:2px solid #e0e0e0;background-color:#f8f9fa}.receipt-detail-table tfoot td{font-weight:600;padding:1rem}.receipt-detail-line-items{width:100%;border-collapse:collapse;font-size:.95rem}.receipt-detail-line-items thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.receipt-detail-line-items th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.receipt-detail-line-items tbody tr{border-bottom:1px solid #e0e0e0}.receipt-detail-line-items tbody tr:hover{background-color:#f8f9fa}.receipt-detail-line-items td{padding:1rem;color:#333}.receipt-detail-line-items tfoot{border-top:2px solid #e0e0e0;background-color:#f8f9fa}.receipt-detail-line-items tfoot td{font-weight:600;padding:1rem}.receipt-status{display:inline-block;padding:.375rem .75rem;border-radius:16px;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.receipt-status-draft{background-color:#f5f5f5;color:#666}.receipt-status-posted{background-color:#e3f2fd;color:#1976d2}.receipt-detail-journal-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:1rem;background-color:#f8f9fa;border-radius:8px}.receipt-detail-journal-header p{margin:0;color:#333}.receipt-detail-image-container{display:flex;justify-content:center;align-items:center;padding:1rem;background-color:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.receipt-detail-image{max-width:100%;max-height:600px;object-fit:contain;border-radius:4px;box-shadow:0 2px 8px #0000001a}@media(max-width:968px){.receipt-detail-page{padding:1rem}.receipt-detail-header{flex-direction:column}.receipt-detail-actions{width:100%;flex-wrap:wrap}.receipt-detail-tabs{overflow-x:auto;flex-wrap:nowrap}.receipt-detail-content{padding:1rem}.receipt-detail-table,.receipt-detail-line-items{font-size:.875rem}.receipt-detail-table th,.receipt-detail-table td,.receipt-detail-line-items th,.receipt-detail-line-items td{padding:.75rem .5rem}}.chart-of-accounts-page{padding:2rem;min-height:100vh;background-color:#f5f5f5}.chart-of-accounts-header{margin-bottom:2rem}.chart-of-accounts-header h1{font-size:2rem;font-weight:600;color:#333;margin:0 0 .5rem}.chart-of-accounts-subtitle{color:#666;font-size:1rem;margin:0}.chart-of-accounts-loading{display:flex;justify-content:center;align-items:center;padding:4rem;color:#666}.chart-of-accounts-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.chart-of-accounts-filters{padding:1.5rem;border-bottom:1px solid #e0e0e0;background-color:#fafafa}.filters-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.search-input-wrapper{flex:1;min-width:250px;position:relative;display:flex;align-items:center}.search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid #c2d9f8;border-radius:6px;font-size:1rem;background:#e8f3ff;color:#036;transition:border-color .2s}.search-input:focus{outline:none;border-color:#1976d2;background:#fff}.search-input::placeholder{color:#666}.clear-search{position:absolute;right:.5rem;background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:.25rem .5rem;line-height:1;border-radius:4px;transition:background-color .2s,color .2s}.clear-search:hover{background-color:#e0e0e0;color:#333}.filter-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.filter-select{padding:.75rem 1rem;border:1px solid #c2d9f8;border-radius:6px;font-size:.95rem;background:#e8f3ff;color:#036;cursor:pointer;transition:border-color .2s;min-width:150px}.filter-select:focus{outline:none;border-color:#1976d2;background:#fff}.clear-filters-button{padding:.75rem 1rem;background-color:#f5f5f5;color:#333;border:1px solid #e0e0e0;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s}.clear-filters-button:hover{background-color:#e0e0e0}.active-filters-info{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0;font-size:.875rem;color:#666}.link-button{background:none;border:none;color:#1976d2;text-decoration:underline;cursor:pointer;font-size:inherit;padding:0;margin-left:.25rem}.link-button:hover{color:#1565c0}.chart-of-accounts-table-container{overflow-x:auto}.chart-of-accounts-table{width:100%;border-collapse:collapse;font-size:.95rem}.chart-of-accounts-table thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.chart-of-accounts-table th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.chart-of-accounts-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.chart-of-accounts-table th.sortable:hover{background-color:#e9ecef}.chart-of-accounts-table th.sortable .th-content{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.chart-of-accounts-table th.sortable .sort-icon{font-size:.875rem;color:#666;transition:color .2s;flex-shrink:0}.chart-of-accounts-table th.sortable:hover .sort-icon{color:#1976d2}.chart-of-accounts-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.chart-of-accounts-table tbody tr:hover{background-color:#f8f9fa}.chart-of-accounts-table tbody tr:last-child{border-bottom:none}.account-group-header{background-color:#f0f4f8!important;border-top:2px solid #1976d2;border-bottom:2px solid #1976d2}.account-group-header:hover{background-color:#e3f2fd!important}.account-group-header td{padding:0!important}.group-toggle{width:100%;padding:1rem;background:none;border:none;text-align:left;cursor:pointer;display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:1rem;color:#1976d2;transition:background-color .2s}.group-toggle:hover:not(:disabled){background-color:#e3f2fd}.group-toggle:disabled{opacity:.6;cursor:not-allowed}.group-toggle-icon{font-size:.75rem;color:#1976d2;transition:transform .2s;display:inline-block;width:16px;text-align:center}.group-name{font-size:1.1rem;font-weight:600;color:#1976d2;text-transform:uppercase;letter-spacing:.5px}.group-count{font-size:.875rem;color:#666;font-weight:400;margin-left:auto}.account-row{background-color:#fff}.account-row:hover{background-color:#f8f9fa}.account-row td:first-child{padding-left:2.5rem}.group-empty-message{text-align:center;color:#999;font-style:italic;padding:1.5rem 1.5rem 1.5rem 2.5rem!important}.chart-of-accounts-table td{padding:1rem;color:#333}.account-number{font-weight:600;color:#1976d2}.normal-balance{display:inline-block;padding:.375rem .75rem;border-radius:16px;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.normal-balance-debit{background-color:#e3f2fd;color:#1565c0}.normal-balance-credit{background-color:#f3e5f5;color:#7b1fa2}.chart-of-accounts-table-empty{text-align:center;padding:3rem;color:#999;font-style:italic}@media(max-width:968px){.chart-of-accounts-page{padding:1rem}.chart-of-accounts-table{font-size:.875rem}.chart-of-accounts-table th,.chart-of-accounts-table td{padding:.75rem .5rem}.filters-row{flex-direction:column;align-items:stretch}.search-input-wrapper{min-width:100%}.filter-controls{width:100%;flex-direction:column}.filter-select{width:100%;min-width:unset}.clear-filters-button{width:100%}.chart-of-accounts-filters{padding:1rem}}.journal-entry-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.journal-entry-modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #0003;width:100%;max-width:1000px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.journal-entry-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.journal-entry-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.journal-entry-modal-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.journal-entry-modal-close:hover{background-color:#f0f0f0}.journal-entry-modal-close:disabled{opacity:.5;cursor:not-allowed}.journal-entry-modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.journal-entry-modal-field-row{display:flex;gap:1rem}.journal-entry-modal-field{display:flex;flex-direction:column;flex:1}.journal-entry-modal-field label{font-weight:500;color:#333;margin-bottom:.25rem;font-size:.875rem}.journal-entry-modal-field input,.journal-entry-modal-field select{padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;transition:border-color .2s}.journal-entry-modal-field input:focus,.journal-entry-modal-field select:focus{outline:none;border-color:#1976d2}.journal-entry-lines{display:flex;flex-direction:column;gap:1rem}.journal-entry-lines-header{display:flex;justify-content:space-between;align-items:center}.journal-entry-lines-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#333}.journal-entry-button-secondary{padding:.5rem 1rem;background-color:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.journal-entry-button-secondary:hover{background-color:#e0e0e0}.journal-entry-lines-list{display:flex;flex-direction:column;gap:.75rem;border:1px solid #e0e0e0;border-radius:6px;padding:1rem;background-color:#fafafa}.journal-entry-lines-table-header{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1.5fr auto;gap:.75rem;padding:.5rem;font-weight:600;font-size:.875rem;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e0e0e0}.journal-entry-line{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1.5fr auto;gap:.75rem;padding:.5rem;background:#fff;border-radius:4px;border:1px solid #e0e0e0}.journal-entry-line select,.journal-entry-line input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.journal-entry-line select:focus,.journal-entry-line input:focus{outline:none;border-color:#1976d2}.journal-entry-remove-line{background:none;border:none;color:#d32f2f;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.journal-entry-remove-line:hover{background-color:#ffebee}.journal-entry-totals{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background-color:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0}.journal-entry-total-row{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.journal-entry-total-row strong{font-weight:600;color:#333}.journal-entry-balanced{color:#2e7d32;font-weight:600}.journal-entry-unbalanced{color:#d32f2f;font-weight:600}.journal-entry-modal-error{padding:1rem;background-color:#ffebee;color:#d32f2f;border-radius:6px;font-size:.875rem;margin-top:1rem}.journal-entry-modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.journal-entry-modal-button{padding:.75rem 1.5rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.journal-entry-modal-button-secondary{background-color:#f5f5f5;color:#333;border:1px solid #ddd}.journal-entry-modal-button-secondary:hover{background-color:#e0e0e0}.journal-entry-modal-button-primary{background-color:#1976d2;color:#fff}.journal-entry-modal-button-primary:hover{background-color:#1565c0}.journal-entry-modal-button-primary:disabled{background-color:#ccc;cursor:not-allowed}.journal-entry-log-page{padding:2rem;min-height:100vh;background-color:#f5f5f5}.journal-entry-log-header{margin-bottom:2rem}.journal-entry-log-header h1{font-size:2rem;font-weight:600;color:#333;margin:0 0 .5rem}.journal-entry-log-subtitle{color:#666;font-size:1rem;margin:0}.journal-entry-log-create-button{display:flex;align-items:center;padding:.75rem 1.5rem;background-color:#1976d2;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.journal-entry-log-create-button:hover{background-color:#1565c0}.journal-entry-log-loading{display:flex;justify-content:center;align-items:center;padding:4rem;color:#666}.journal-entry-log-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.journal-entry-log-table-container{overflow-x:auto}.journal-entry-log-table{width:100%;border-collapse:collapse;font-size:.95rem}.journal-entry-log-table thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.journal-entry-log-table th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.journal-entry-log-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.journal-entry-log-row-main{cursor:pointer}.journal-entry-log-row-main:hover{background-color:#f8f9fa}.journal-entry-log-row-details{background-color:#fafafa}.journal-entry-log-row-details td{padding:0}.journal-entry-lines-detail{padding:1rem}.journal-entry-lines-table{width:100%;border-collapse:collapse;font-size:.875rem}.journal-entry-lines-table thead{background-color:#f0f0f0}.journal-entry-lines-table th{padding:.75rem;text-align:left;font-weight:600;color:#666;font-size:.75rem;text-transform:uppercase}.journal-entry-lines-table td{padding:.75rem;color:#333;border-top:1px solid #e0e0e0}.journal-entry-log-table td{padding:1rem;color:#333}.journal-entry-amount{text-align:right;font-family:Courier New,monospace}.journal-entry-status{display:inline-block;padding:.375rem .75rem;border-radius:16px;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.journal-entry-status-posted{background-color:#e8f5e9;color:#2e7d32}.journal-entry-status-draft{background-color:#fff3e0;color:#f57c00}.journal-entry-actions{display:flex;gap:.5rem}.journal-entry-action-btn{background:none;border:1px solid #ddd;border-radius:4px;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.journal-entry-delete-btn{color:#d32f2f}.journal-entry-delete-btn:hover{background-color:#ffebee;border-color:#d32f2f}.journal-entry-action-loading{display:inline-block;animation:pulse 1.5s ease-in-out infinite}.journal-entry-log-table-empty{text-align:center;padding:3rem;color:#666}.journal-entry-report-page{padding:2rem;min-height:100vh;background-color:#f5f5f5}.journal-entry-report-header{margin-bottom:2rem}.journal-entry-report-header h1{font-size:2rem;font-weight:600;color:#333;margin:0 0 .5rem}.journal-entry-report-subtitle{color:#666;font-size:1rem;margin:0}.journal-entry-report-create-button{display:flex;align-items:center;padding:.75rem 1.5rem;background-color:#1976d2;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.journal-entry-report-create-button:hover{background-color:#1565c0}.journal-entry-report-filters{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;margin-bottom:2rem}.journal-entry-report-filter-row{display:flex;gap:1rem;align-items:flex-end}.journal-entry-report-filter-field{display:flex;flex-direction:column;flex:1}.journal-entry-report-filter-field label{font-weight:500;color:#333;margin-bottom:.5rem;font-size:.875rem}.journal-entry-report-filter-field input{padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;transition:border-color .2s}.journal-entry-report-filter-field input:focus{outline:none;border-color:#1976d2}.journal-entry-report-loading{display:flex;justify-content:center;align-items:center;padding:4rem;color:#666}.journal-entry-report-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.journal-entry-report-summary{display:flex;gap:2rem;padding:1.5rem;background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.journal-entry-report-summary-item{display:flex;flex-direction:column;gap:.25rem}.journal-entry-report-summary-item span{font-size:.875rem;color:#666}.journal-entry-report-summary-item strong{font-size:1.125rem;color:#333;font-weight:600}.journal-entry-report-table-container{overflow-x:auto}.journal-entry-report-table{width:100%;border-collapse:collapse;font-size:.95rem}.journal-entry-report-table thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.journal-entry-report-table th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.journal-entry-report-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.journal-entry-report-table tbody tr:hover{background-color:#f8f9fa}.journal-entry-report-table tbody tr:last-child{border-bottom:none}.journal-entry-report-table td{padding:1rem;color:#333}.journal-entry-report-table-empty{text-align:center;padding:3rem;color:#666}.general-ledger-page{padding:2rem;min-height:100vh;background-color:#f5f5f5}.general-ledger-header{margin-bottom:2rem}.general-ledger-header h1{font-size:2rem;font-weight:600;color:#333;margin:0 0 .5rem}.general-ledger-subtitle{color:#666;font-size:1rem;margin:0}.general-ledger-filters{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;margin-bottom:2rem}.general-ledger-filter-row{display:flex;gap:1rem;align-items:flex-end}.general-ledger-filter-field{display:flex;flex-direction:column;flex:1}.general-ledger-filter-field label{font-weight:500;color:#333;margin-bottom:.5rem;font-size:.875rem}.general-ledger-filter-field input,.general-ledger-filter-field select{padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;transition:border-color .2s}.general-ledger-filter-field input:focus,.general-ledger-filter-field select:focus{outline:none;border-color:#1976d2}.general-ledger-refresh-button{padding:.75rem 1.5rem;background-color:#1976d2;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.general-ledger-refresh-button:hover{background-color:#1565c0}.general-ledger-loading{display:flex;justify-content:center;align-items:center;padding:4rem;color:#666}.general-ledger-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.general-ledger-summary{display:flex;gap:2rem;padding:1.5rem;background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.general-ledger-summary-item{display:flex;flex-direction:column;gap:.25rem}.general-ledger-summary-item span{font-size:.875rem;color:#666}.general-ledger-summary-item strong{font-size:1.125rem;color:#333;font-weight:600}.general-ledger-table-container{overflow-x:auto}.general-ledger-table{width:100%;border-collapse:collapse;font-size:.95rem}.general-ledger-table thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.general-ledger-table th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.general-ledger-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.general-ledger-table tbody tr:hover{background-color:#f8f9fa}.general-ledger-table tbody tr:last-child{border-bottom:none}.general-ledger-table td{padding:1rem;color:#333}.general-ledger-amount{text-align:right;font-family:Courier New,monospace}.general-ledger-balance{text-align:right;font-family:Courier New,monospace;font-weight:600}.general-ledger-je-id{font-family:Courier New,monospace;font-size:.875rem;color:#666}.general-ledger-table-empty{text-align:center;padding:3rem;color:#666}.tag-form-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.tag-form{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;overflow-x:hidden;box-shadow:0 4px 20px #0000004d}.tag-form::-webkit-scrollbar{width:8px;background:#fff}.tag-form::-webkit-scrollbar-track{background:#fff}.tag-form::-webkit-scrollbar-thumb{background:silver;border-radius:4px}.tag-form::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.tag-form-small{max-width:400px}.tag-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0;position:sticky;top:0;background:#fff;z-index:10}.tag-form-header h2{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin:0}.tag-form-close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.tag-form-close:hover{background-color:#f0f0f0}.tag-form-content{padding:1.5rem}.tag-form-field{margin-bottom:1rem}.tag-form-field label{display:block;margin-bottom:.25rem;font-weight:500;color:#1a1a1a;font-size:.875rem}.tag-form-field input,.tag-form-field textarea,.tag-form-field select{width:100%;padding:.75rem;border:1px solid #c2d9f8;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s;background:#fff;color:#1a1a1a;box-sizing:border-box}.tag-form-field input::placeholder{color:#999}.tag-form-field input:focus,.tag-form-field textarea:focus,.tag-form-field select:focus{outline:none;border-color:#1976d2}.tag-form-field textarea{resize:none;background:#fff;color:#666;height:2.5rem;min-height:2.5rem;line-height:1;overflow:hidden;box-sizing:border-box}.tag-form-field textarea::placeholder{color:#999}.tag-form-dropdown-trigger{width:100%;padding:.75rem;border:1px solid #c2d9f8;border-radius:6px;background:#e8f3ff;color:#036;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:1rem;transition:background-color .2s;box-sizing:border-box;min-width:0}.tag-form-dropdown-trigger span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tag-form-dropdown-trigger:hover{background:#d0e7ff}.tag-form-dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #c2d9f8;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:300px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.tag-form-dropdown-menu::-webkit-scrollbar{width:6px;background:#fff}.tag-form-dropdown-menu::-webkit-scrollbar-track{background:#fff}.tag-form-dropdown-menu::-webkit-scrollbar-thumb{background:silver;border-radius:3px}.tag-form-dropdown-menu::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.tag-form-dropdown-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag-form-dropdown-item:hover{background-color:#f5f5f5}.tag-form-dropdown-item.selected{background-color:#e3f2fd;color:#1a1a1a}.tag-form-dropdown-item.tag-form-dropdown-add{background-color:#e3f2fd;font-weight:600;color:#1976d2}.tag-form-dropdown-item.tag-form-dropdown-add:hover{background-color:#bbdefb}.tag-form-content{padding:1.5rem;box-sizing:border-box;overflow-x:hidden}.tag-form-field{margin-bottom:1.5rem;box-sizing:border-box;width:100%}.tag-form-error{background-color:#ffebee;color:#c62828;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.tag-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.tag-form-button-primary,.tag-form-button-secondary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.tag-form-button-primary:disabled,.tag-form-button-secondary:disabled{opacity:.6;cursor:not-allowed}.tag-form-button-secondary{background-color:#f5f5f5;color:#1a1a1a}.tag-form-button-secondary:hover:not(:disabled){background-color:#e0e0e0}.tag-form-button-primary{background-color:#1976d2;color:#fff}.tag-form-button-primary:hover:not(:disabled){background-color:#1565c0}.tags-page{padding:2rem;max-width:1400px;margin:0 auto}.tags-page-header{margin-bottom:2rem}.tags-page-header h1{font-size:2rem;font-weight:600;color:#1a1a1a;margin:0 0 .5rem}.tags-page-subtitle{color:#666;font-size:1rem;margin:0}.tags-page-loading{text-align:center;padding:3rem;color:#666}.tags-page-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.tags-table-container{overflow-x:auto}.tags-table{width:100%;border-collapse:collapse}.tags-table thead{background-color:#f5f5f5}.tags-table th{padding:1rem;text-align:left;font-weight:600;color:#1a1a1a;border-bottom:2px solid #e0e0e0;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.tags-table td{padding:.75rem 1rem;border-bottom:1px solid #f0f0f0;color:#1a1a1a}.tags-table tbody tr:hover{background-color:#f9f9f9}.tags-table-empty{text-align:center;color:#999;padding:2rem}.tag-type-cell{font-weight:500;color:#1976d2}.tag-item-name{font-weight:500;color:#1a1a1a}.tag-actions{display:flex;gap:.5rem}.tag-action-btn{padding:.5rem;border:none;border-radius:4px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;color:#666}.tag-action-btn:hover:not(:disabled){background-color:#f0f0f0}.tag-action-btn:disabled{opacity:.5;cursor:not-allowed}.tag-edit-btn{color:#1976d2}.tag-edit-btn:hover:not(:disabled){color:#1565c0;background-color:#e3f2fd}.tag-delete-btn{color:#dc2626}.tag-delete-btn:hover:not(:disabled){color:#b91c1c;background-color:#fee2e2}.tag-action-loading{display:inline-block;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.tags-bulk-actions{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:#e3f2fd;border-bottom:1px solid #c2d9f8;margin-bottom:0}.tags-bulk-actions-info{font-weight:500;color:#1976d2;font-size:.875rem}.tags-bulk-actions-buttons{display:flex;gap:.75rem}.tags-bulk-action-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.tags-bulk-action-btn:disabled{opacity:.6;cursor:not-allowed}.tags-bulk-update-btn{background-color:#1976d2;color:#fff}.tags-bulk-update-btn:hover:not(:disabled){background-color:#1565c0}.tags-bulk-delete-btn{background-color:#dc2626;color:#fff}.tags-bulk-delete-btn:hover:not(:disabled){background-color:#b91c1c}.tags-bulk-clear-btn{background-color:#f5f5f5;color:#1a1a1a}.tags-bulk-clear-btn:hover:not(:disabled){background-color:#e0e0e0}.tag-select-all-checkbox,.tag-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#1976d2;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;border:1px solid #c2d9f8;border-radius:3px;position:relative}.tag-select-all-checkbox:hover,.tag-checkbox:hover{border-color:#1976d2}.tag-select-all-checkbox{background-color:#f5f5f5}.tag-select-all-checkbox:hover{background-color:#e0e0e0}.tag-select-all-checkbox:checked,.tag-checkbox:checked{background-color:#1976d2;border-color:#1976d2}.tag-select-all-checkbox:checked:hover,.tag-checkbox:checked:hover{background-color:#1565c0;border-color:#1565c0}.tag-row-selected .tag-checkbox{background-color:#e3f2fd;border-color:#1976d2}.tag-row-selected:hover .tag-checkbox{background-color:#bbdefb}.tag-row-selected .tag-checkbox:checked{background-color:#1976d2;border-color:#1976d2}.tag-row-selected{background-color:#e3f2fd!important}.tag-row-selected:hover{background-color:#bbdefb!important}.transaction-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in;padding:2rem}.transaction-modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;position:relative;overflow-y:auto}.transaction-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0;position:sticky;top:0;background:#fff;z-index:10;flex-shrink:0}.transaction-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.transaction-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.transaction-modal-close:hover{background-color:#f5f5f5}.transaction-modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1;overflow-y:auto}.transaction-modal-field{display:flex;flex-direction:column;gap:.25rem}.transaction-modal-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.transaction-modal-field label{font-weight:500;color:#333;font-size:.875rem}.transaction-modal-field input,.transaction-modal-field select,.transaction-modal-field textarea{padding:8px 10px;border:1px solid #c2d9f8;border-radius:6px;font-size:1rem;transition:border-color .2s;background:#e8f3ff;color:#036;font-family:inherit}.transaction-modal-field input:focus,.transaction-modal-field select:focus,.transaction-modal-field textarea:focus{outline:none;border-color:#1976d2}.transaction-modal-field input:disabled,.transaction-modal-field select:disabled,.transaction-modal-field textarea:disabled{opacity:.6;cursor:not-allowed;background:#f5f5f5}.transaction-modal-field-disabled{opacity:.6;cursor:not-allowed;background:#f5f5f5!important}.transaction-modal-error{color:#d32f2f;font-size:.875rem;padding:.75rem;background:#ffebee;border-radius:6px}.transaction-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e0e0e0;position:sticky;bottom:0;background:#fff;margin-top:auto;flex-shrink:0}.transaction-modal-button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.transaction-modal-button:active{transform:scale(.98)}.transaction-modal-button-primary{background-color:#1976d2;color:#fff}.transaction-modal-button-primary:hover:not(:disabled){background-color:#1565c0}.transaction-modal-button-secondary{background-color:#f5f5f5;color:#333}.transaction-modal-button-secondary:hover:not(:disabled){background-color:#e0e0e0}.transaction-modal-button:disabled{opacity:.6;cursor:not-allowed}.split-editor{margin-top:1rem;padding:1rem;border:1px solid #e0e0e0;border-radius:6px;background:#f9f9f9}.split-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.split-editor-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#333}.split-rows{display:flex;flex-direction:column;gap:1rem}.split-row{display:flex;gap:.5rem;padding:1rem;background:#fff;border:1px solid #e0e0e0;border-radius:6px;position:relative}.split-row-fields{display:flex;flex-direction:column;gap:.75rem;flex:1}.split-field{display:flex;flex-direction:column;gap:.25rem}.split-field-full{width:100%}.split-field label{font-weight:500;color:#333;font-size:.875rem}.split-field input,.split-field select{padding:8px 10px;border:1px solid #c2d9f8;border-radius:6px;font-size:1rem;transition:border-color .2s;background:#e8f3ff;color:#036;font-family:inherit}.split-field input:focus,.split-field select:focus{outline:none;border-color:#1976d2}.split-delete-button{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#d32f2f;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.split-delete-button:hover{background-color:#ffebee}.split-summary{margin-top:1rem;padding:.75rem;background:#fff;border:1px solid #e0e0e0;border-radius:6px;text-align:right;font-size:.875rem}.split-summary strong{color:#333}.split-diff{color:#666;font-size:.75rem;margin-left:.5rem}@media(max-width:768px){.transaction-modal-overlay{padding:1rem}.transaction-modal{max-width:100%}.transaction-modal-field-row{grid-template-columns:1fr}}.transactions-page{padding:2rem;min-height:100vh;background-color:#f5f5f5}.transactions-page-header{margin-bottom:2rem}.transactions-page-header h1{font-size:2rem;font-weight:600;color:#333;margin:0 0 .5rem}.transactions-page-subtitle{color:#666;font-size:1rem;margin:0}.transactions-loading{display:flex;justify-content:center;align-items:center;padding:4rem;color:#666}.transactions-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.transactions-table-container{overflow-x:auto}.transactions-table{width:100%;border-collapse:collapse;font-size:.95rem}.transactions-table thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.transactions-table th{padding:1rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.transactions-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.transactions-table tbody tr:hover{background-color:#f8f9fa}.transactions-table tbody tr:last-child{border-bottom:none}.transactions-table td{padding:1rem;color:#333}.transaction-amount{font-weight:600}.transaction-amount.deposit{color:#2e7d32}.transaction-amount.withdrawal{color:#d32f2f}.transactions-table-empty{text-align:center;padding:3rem;color:#999;font-style:italic}.transaction-actions{display:flex;gap:.5rem;justify-content:flex-start;align-items:center}.transaction-action-button{background:transparent;border:1.5px solid #e0e0e0;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#666}.transaction-action-button:hover:not(:disabled){background-color:#f8f9fa;border-color:#d0d0d0;transform:translateY(-1px);box-shadow:0 2px 4px #00000014}.transaction-action-button:disabled{opacity:.4;cursor:not-allowed}.transaction-action-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:150px;overflow:hidden}.transaction-action-item{display:flex;align-items:center;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;font-size:.875rem;color:#333;transition:background-color .2s}.transaction-action-item:hover:not(:disabled){background-color:#f8f9fa}.transaction-action-item.transaction-action-delete{color:#d32f2f}.transaction-action-item.transaction-action-delete:hover:not(:disabled){background-color:#ffebee}.transaction-action-item:disabled{opacity:.6;cursor:not-allowed}.transactions-add-button{padding:.75rem 1.5rem;background-color:#1976d2;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;display:flex;align-items:center}.transactions-add-button:hover{background-color:#1565c0}.transactions-add-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:200px;overflow:hidden}.transactions-dropdown-item{display:block;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;font-size:.875rem;color:#333;transition:background-color .2s}.transactions-dropdown-item:hover{background-color:#f8f9fa}@media(max-width:968px){.transactions-page{padding:1rem}.transactions-table{font-size:.875rem}.transactions-table th,.transactions-table td{padding:.75rem .5rem}}.import-dropzone-container{margin-bottom:2rem}.import-dropzone{border:2px dashed #c2d9f8;border-radius:8px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s;background-color:#f8f9ff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:200px}.import-dropzone:hover:not(.disabled){border-color:#1976d2;background-color:#e8f3ff}.import-dropzone.dragging{border-color:#1976d2;background-color:#e3f2fd;border-style:solid}.import-dropzone.disabled{opacity:.6;cursor:not-allowed;background-color:#f5f5f5}.import-dropzone-icon{color:#1976d2}.import-dropzone-text{margin:0;color:#666;font-size:.95rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.import-dropzone-hint{font-size:.875rem;color:#999}.import-dropzone-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#1976d2;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s}.import-dropzone-button:hover:not(:disabled){background-color:#1565c0}.import-dropzone-button:disabled{opacity:.6;cursor:not-allowed}.import-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.import-modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;padding:24px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;position:relative}.import-preview-modal{max-width:900px}.import-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.import-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.import-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.import-modal-close:hover:not(:disabled){background-color:#f5f5f5}.import-modal-close:disabled{opacity:.5;cursor:not-allowed}.import-modal-form{display:flex;flex-direction:column;gap:1rem}.import-modal-field{display:flex;flex-direction:column;gap:.5rem}.import-modal-field label{font-weight:500;color:#333;font-size:.875rem}.import-modal-input-readonly,.import-modal-select{padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;transition:border-color .2s}.import-modal-input-readonly{background-color:#f5f5f5;color:#666;cursor:not-allowed}.import-modal-select:focus{outline:none;border-color:#1976d2}.import-modal-select:disabled{background-color:#f5f5f5;cursor:not-allowed}.import-modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.import-modal-button-primary,.import-modal-button-secondary{padding:.75rem 1.5rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;border:none}.import-modal-button-primary{background-color:#1976d2;color:#fff}.import-modal-button-primary:hover:not(:disabled){background-color:#1565c0}.import-modal-button-primary:disabled{opacity:.6;cursor:not-allowed}.import-modal-button-secondary{background-color:#f5f5f5;color:#333}.import-modal-button-secondary:hover:not(:disabled){background-color:#e0e0e0}.import-modal-button-secondary:disabled{opacity:.6;cursor:not-allowed}.import-preview-info{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;padding:1rem;background-color:#f8f9fa;border-radius:6px}.import-preview-info-item{display:flex;flex-direction:column;gap:.25rem}.import-preview-label{font-size:.875rem;color:#666;font-weight:500}.import-preview-value{font-size:.95rem;color:#333;font-weight:600}.import-preview-table-container{max-height:400px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:1.5rem}.import-preview-table{width:100%;border-collapse:collapse;font-size:.9rem}.import-preview-table thead{background-color:#f8f9fa;position:sticky;top:0;z-index:10}.import-preview-table th{padding:.75rem;text-align:left;font-weight:600;color:#333;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e0e0e0}.import-preview-table td{padding:.75rem;color:#333;border-bottom:1px solid #e0e0e0}.import-preview-table tbody tr:hover{background-color:#f8f9fa}.import-amount-positive{color:#2e7d32;font-weight:600}.import-amount-negative{color:#d32f2f;font-weight:600}.import-preview-more{padding:1rem;text-align:center;border-top:1px solid #e0e0e0}.import-preview-show-more{background:none;border:none;color:#1976d2;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s}.import-preview-show-more:hover{background-color:#e3f2fd}.import-spinner{animation:spin .8s linear infinite}.import-toast{position:fixed;top:20px;right:20px;padding:1rem 1.5rem;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:2000;animation:slideInRight .3s ease-out;max-width:400px}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.import-toast-success{background-color:#4caf50;color:#fff}.import-toast-error{background-color:#f44336;color:#fff}.import-toast-info{background-color:#2196f3;color:#fff}.report-page{padding:2rem;min-height:100vh;background-color:#f5f5f5}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge-blue{background-color:#dbeafe;color:#1e40af}.status-badge-green{background-color:#d1fae5;color:#065f46}.status-badge-yellow{background-color:#fef3c7;color:#92400e}.status-badge-gray{background-color:#f3f4f6;color:#374151}.status-badge-red{background-color:#fee2e2;color:#991b1b}.detail-row td{background:#fafafa;border-top:none;padding:0}.report-header{margin-bottom:2rem}.report-header h1{font-size:2rem;font-weight:600;color:#333;margin:0 0 .5rem}.report-subtitle{color:#666;font-size:1rem;margin:0}.report-filters{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.report-filter-field{display:flex;flex-direction:column}.report-filter-field label{font-weight:500;color:#333;margin-bottom:.5rem;font-size:.875rem}.report-filter-field input,.report-filter-field select{padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:.875rem;min-width:150px}.report-filter-field input:focus,.report-filter-field select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.report-loading,.report-error,.report-empty{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem;text-align:center}.report-error{color:#dc2626}.report-content{display:flex;flex-direction:column;gap:2rem}.report-chart-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.report-chart-section h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:#333}.report-table-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;overflow-x:auto}.report-table-container{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;font-size:.875rem}.report-table thead{background-color:#f9fafb}.report-table th{padding:.75rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e5e7eb}.report-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.report-table th.sortable:hover{background-color:#f3f4f6}.report-table th.sortable .th-content{display:flex;align-items:center;gap:.5rem}.report-table th.sortable .sort-icon{font-size:.75rem;color:#6b7280}.report-table tbody tr{border-bottom:1px solid #e5e7eb}.report-table tbody tr:hover{background-color:#f9fafb}.report-table td{padding:.75rem;color:#4b5563}.report-table-empty{text-align:center;padding:2rem;color:#6b7280}.date-range-picker{display:flex;flex-direction:column;gap:.5rem}.date-range-picker label{font-weight:500;color:#333;font-size:.875rem}.date-range-picker-fields{display:flex;gap:1rem;align-items:flex-end}.date-range-picker-field{display:flex;flex-direction:column}.date-range-picker-field label{font-weight:500;color:#333;margin-bottom:.5rem;font-size:.875rem}.date-range-picker-field input{padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:.875rem}.date-range-picker-field input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.contact-selector{display:flex;flex-direction:column}.contact-selector label{font-weight:500;color:#333;margin-bottom:.5rem;font-size:.875rem}.contact-selector select{padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:.875rem;min-width:200px}.contact-selector select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.report-chart{width:100%}.report-chart h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:#333}.balance-sheet-section{margin-bottom:2rem}.balance-sheet-section h2{font-size:1.5rem;font-weight:600;color:#333;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.section-total{margin-top:1rem;padding-top:1rem;border-top:2px solid #e5e7eb;text-align:right;font-size:1rem}.section-total strong{color:#333}.balance-sheet-summary{margin-top:2rem;padding-top:1.5rem;border-top:3px solid #333}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.summary-row.total{font-size:1.125rem;font-weight:600;border-bottom:2px solid #333;margin-top:.5rem}.summary-row span{color:#4b5563}.summary-row strong{color:#333;font-size:1rem}.income-statement-section{margin-bottom:2rem}.income-statement-section h2{font-size:1.5rem;font-weight:600;color:#333;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.income-statement-summary{margin-top:2rem;padding-top:1.5rem;border-top:3px solid #333}.cash-flow-section{margin-bottom:2rem}.cash-flow-section h2{font-size:1.5rem;font-weight:600;color:#333;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.cash-flow-summary{margin-top:2rem;padding-top:1.5rem;border-top:3px solid #333}.posting-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.posting-summary-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;text-align:center}.posting-summary-card h3{font-size:.875rem;font-weight:500;color:#6b7280;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.posting-summary-value{font-size:2rem;font-weight:600;color:#333;margin:0}.posting-summary-value.posted{color:#10b981}.posting-summary-value.unposted{color:#f59e0b}.dashboard-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-metric-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;text-align:center}.dashboard-metric-card h3{font-size:.875rem;font-weight:500;color:#6b7280;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.dashboard-metric-value{font-size:2rem;font-weight:600;margin:0}.dashboard-metric-value.revenue{color:#10b981}.dashboard-metric-value.expense{color:#ef4444}.dashboard-metric-value.net-income{color:#3b82f6}.dashboard-metric-value.cash{color:#059669}.dashboard-metric-value.ar{color:#f59e0b}.dashboard-metric-value.ap{color:#dc2626}.aging-summary{margin-top:2rem;padding-top:1.5rem;border-top:2px solid #e5e7eb}.statement-summary{background:#f9fafb;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.transaction-reports-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.tab-button{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.tab-button:hover{color:#333;background-color:#f9fafb}.tab-button.active{color:#4f46e5;border-bottom-color:#4f46e5;background-color:#f9fafb}.journal-entry-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.journal-entry-header h3{font-size:1.25rem;font-weight:600;color:#333;margin:0 0 .5rem}.journal-entry-header p{margin:.25rem 0;color:#6b7280;font-size:.875rem}.journal-entry-summary{margin-top:1.5rem;padding-top:1rem;border-top:2px solid #e5e7eb}@media(max-width:768px){.report-page{padding:1rem}.report-filters{flex-direction:column;align-items:stretch}.report-filter-field,.contact-selector{width:100%}.date-range-picker-fields{flex-direction:column}.report-table{font-size:.75rem}.report-table th,.report-table td{padding:.5rem}.posting-summary-grid,.dashboard-metrics-grid{grid-template-columns:1fr}.transaction-reports-tabs{flex-wrap:wrap}.tab-button{flex:1;min-width:120px}}.financial-dashboard{padding:2rem;max-width:1600px;margin:0 auto;background:linear-gradient(135deg,#f8fafc,#fff);min-height:100vh}.financial-dashboard.loading,.financial-dashboard.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3a7bff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-header{margin-bottom:2rem;animation:fadeIn .5s ease-in}.dashboard-header h1{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#3a7bff,#8a4fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .5rem}.dashboard-subtitle{color:#666;font-size:1.1rem;margin:0}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.dashboard-section{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.dashboard-section:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.section-title{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin:0 0 1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}.fade-in{animation:fadeIn .6s ease-out}.slide-up{animation:slideUp .6s ease-out}.shimmer{background:linear-gradient(90deg,#f0f0f0,#f8f8f8,#f0f0f0 80px);background-size:1000px;animation:shimmer 2s infinite}.pulse{animation:pulse 2s infinite}.executive-summary-cards{grid-column:1 / -1}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.executive-card{border-radius:12px;padding:1.5rem;color:#fff;position:relative;overflow:hidden;min-height:160px;box-shadow:0 4px 12px #00000026}.card-content{position:relative;z-index:1}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-icon{font-size:2rem;opacity:.9}.card-trend{display:flex;align-items:center;gap:.25rem;font-size:.9rem;font-weight:600}.trend-up,.trend-down{width:18px;height:18px}.card-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.card-label{font-size:.9rem;opacity:.9}.card-sparkline{position:absolute;bottom:0;left:0;right:0;height:40px;opacity:.3}.cash-flow-chart{grid-column:1 / -1}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chart-legend{display:flex;gap:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#666}.legend-color{width:12px;height:12px;border-radius:3px}.category-donut-chart{grid-column:span 1}.category-filters{display:flex;gap:.5rem;flex-wrap:wrap}.filter-btn{padding:.375rem .75rem;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#666;font-size:.875rem;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:#3a7bff;color:#3a7bff}.filter-btn.active{background:#3a7bff;color:#fff;border-color:#3a7bff}.monthly-trend-chart{grid-column:1 / -1}.anomaly-markers{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.anomaly-marker{font-size:.75rem;color:#ff7a45;padding:.25rem .5rem;background:#ff7a451a;border-radius:4px}.income-stability-chart{grid-column:span 1}.variance-indicator{display:flex;align-items:center}.variance-badge{padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600}.variance-badge.high{background:#ff7a451a;color:#ff7a45}.variance-badge.low{background:#2ecc711a;color:#2ecc71}.insights-feed{grid-column:1 / -1}.insights-list{display:flex;flex-direction:column;gap:1rem}.insight-card{border-left:4px solid;border-radius:8px;padding:1rem;background:#fff;box-shadow:0 2px 4px #0000000d;cursor:pointer;transition:all .2s}.insight-card:hover{box-shadow:0 4px 8px #0000001a}.insight-header{display:flex;align-items:flex-start;gap:1rem}.insight-icon{font-size:1.5rem;flex-shrink:0}.insight-content{flex:1}.insight-title{font-size:1rem;font-weight:600;color:#1a1a1a;margin:0 0 .25rem}.insight-summary{font-size:.875rem;color:#666;margin:0}.insight-expand{color:#999;flex-shrink:0}.insight-details{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.insight-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;margin-bottom:1rem}.metric-item{display:flex;justify-content:space-between;font-size:.875rem}.metric-label{color:#666}.metric-value{font-weight:600;color:#1a1a1a}.insight-actions h4{font-size:.875rem;font-weight:600;margin:0 0 .5rem}.insight-actions ul{margin:0;padding-left:1.25rem}.insight-actions li{font-size:.875rem;color:#666;margin-bottom:.25rem}.budget-overview{grid-column:span 1}.budget-summary{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.budget-metric{display:flex;justify-content:space-between;align-items:center}.budget-label{font-size:.875rem;color:#666}.budget-value{font-size:1.25rem;font-weight:600}.budget-total{color:#3a7bff}.budget-spent{color:#ff7a45}.budget-remaining{color:#2ecc71}.budget-remaining.negative{color:#ff7a45}.budget-progress{display:flex;align-items:center;gap:1rem}.progress-bar-container{flex:1;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}.progress-bar{height:100%;border-radius:6px;transition:width .8s ease,background-color .8s ease}.progress-percentage{font-size:.875rem;font-weight:600;color:#666;min-width:45px}.budget-narrative{margin-top:1rem;padding:1rem;background:#f8fafc;border-radius:8px;font-size:.875rem;color:#666;line-height:1.6}.envelope-grid{grid-column:1 / -1}.envelopes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.envelope-tile{padding:1rem;border:2px solid #e5e7eb;border-radius:12px;text-align:center;transition:all .2s}.envelope-tile:hover{border-color:#3a7bff;box-shadow:0 4px 12px #3a7bff26}.envelope-header{margin-bottom:1rem}.envelope-name{font-size:.875rem;font-weight:600;color:#1a1a1a;margin:0}.envelope-ring-container{position:relative;display:inline-block;margin:1rem 0}.envelope-ring{transform:rotate(-90deg)}.ring-background{stroke:#e5e7eb}.ring-progress{transition:stroke-dashoffset .8s ease}.envelope-percentage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1rem;font-weight:700;color:#1a1a1a}.envelope-details{display:flex;flex-direction:column;gap:.5rem;font-size:.75rem}.envelope-detail{display:flex;justify-content:space-between}.detail-label{color:#666}.detail-value{font-weight:600;color:#1a1a1a}.detail-value.negative{color:#ff7a45}.goals-carousel{grid-column:1 / -1}.carousel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.carousel-controls{display:flex;gap:.5rem}.carousel-btn{width:36px;height:36px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#666;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.carousel-btn:hover{border-color:#3a7bff;color:#3a7bff;background:#f8fafc}.goals-scroll-container{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#e5e7eb transparent}.goals-scroll-container::-webkit-scrollbar{height:6px}.goals-scroll-container::-webkit-scrollbar-track{background:transparent}.goals-scroll-container::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:3px}.goals-track{display:flex;gap:1rem;padding:.5rem 0}.goal-card{flex:0 0 280px;padding:1.5rem;border:2px solid #e5e7eb;border-radius:12px;background:#fff;transition:all .2s}.goal-card:hover{border-color:#8a4fff;box-shadow:0 4px 12px #8a4fff26}.goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.goal-icon{font-size:1.5rem;color:#8a4fff}.goal-status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff}.goal-name{font-size:1rem;font-weight:600;color:#1a1a1a;margin:0 0 1rem}.goal-progress-ring{position:relative;display:inline-block;margin:1rem 0}.goal-ring{transform:rotate(-90deg)}.goal-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.25rem;font-weight:700;color:#8a4fff}.goal-details{display:flex;flex-direction:column;gap:.5rem}.goal-amount{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.1rem;font-weight:600}.amount-current{color:#8a4fff}.amount-separator{color:#999}.amount-target{color:#666}.goal-contribution,.goal-date{font-size:.875rem;color:#666;text-align:center}.alerts-list{grid-column:1 / -1}.alerts-container{display:flex;flex-direction:column;gap:1rem}.alert-item{border-left:4px solid;border-radius:8px;padding:1rem;background:#fff;box-shadow:0 2px 4px #0000000d;display:flex;align-items:flex-start;gap:1rem;transition:all .2s}.alert-item:hover{box-shadow:0 4px 8px #0000001a}.alert-icon{font-size:1.5rem;flex-shrink:0}.alert-content{flex:1}.alert-title{font-size:1rem;font-weight:600;color:#1a1a1a;margin:0 0 .25rem}.alert-message{font-size:.875rem;color:#666;margin:0 0 .5rem}.alert-metadata{display:flex;gap:.5rem;flex-wrap:wrap}.metadata-tag{font-size:.75rem;padding:.25rem .5rem;background:#f8fafc;border-radius:4px;color:#666}.alert-dismiss{width:24px;height:24px;border:none;background:transparent;color:#999;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.alert-dismiss:hover{background:#f8fafc;color:#ff7a45}.empty-state{text-align:center;padding:2rem;color:#999;font-size:.875rem}@media(max-width:768px){.financial-dashboard{padding:1rem}.dashboard-grid{grid-template-columns:1fr}.dashboard-section{grid-column:1!important}.cards-grid,.envelopes-grid{grid-template-columns:1fr}.goal-card{flex:0 0 240px}.chart-header{flex-direction:column;align-items:flex-start;gap:1rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5;padding:2rem}.login-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:420px;padding:2.5rem}.login-title{margin:0 0 .5rem;font-size:1.75rem;font-weight:600;color:#333;text-align:center}.login-subtitle{margin:0 0 2rem;font-size:.95rem;color:#666;text-align:center}.login-error{padding:.75rem 1rem;background-color:#ffebee;color:#d32f2f;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem;border-left:3px solid #d32f2f}.login-form{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.login-input-group{display:flex;flex-direction:column;gap:.5rem}.login-input-group label{font-size:.9rem;font-weight:500;color:#333}.login-input-group input{padding:.75rem 1rem;border:1px solid #e0e0e0;border-radius:8px;font-size:.95rem;outline:none;transition:border-color .2s;background:#fff;color:#333}.login-input-group input:focus{border-color:#1976d2}.login-input-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.login-input-group input::placeholder{color:#999}.login-button{width:100%;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-button-primary{background:#1976d2;color:#fff}.login-button-primary:hover:not(:disabled){background:#1565c0}.login-button-primary:active:not(:disabled){background:#0d47a1}.login-divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:#999;font-size:.9rem}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid #e0e0e0}.login-divider span{padding:0 1rem}.login-oauth-buttons{display:flex;flex-direction:column;gap:.75rem}.login-button-google{background:#fff;color:#333;border:1px solid #e0e0e0}.login-button-google:hover:not(:disabled){background:#f9f9f9;border-color:silver}.login-button-facebook{background:#1877f2;color:#fff}.login-button-facebook:hover:not(:disabled){background:#166fe5}.login-button-facebook:active:not(:disabled){background:#1565c0}.login-button svg{flex-shrink:0}@media(max-width:480px){.login-card{padding:2rem 1.5rem}.login-title{font-size:1.5rem}}.settings-page{padding:2rem;max-width:800px;margin:0 auto}.settings-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.settings-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e0e0e0}.settings-header h1{margin:0 0 .5rem;font-size:1.75rem;font-weight:600;color:#333}.settings-subtitle{margin:0;font-size:.95rem;color:#666}.settings-loading{text-align:center;padding:3rem;color:#666}.settings-error{background:#ffebee;border:1px solid #f44336;border-radius:8px;padding:1rem;margin-bottom:1.5rem;color:#c62828}.settings-section{margin-bottom:2rem}.settings-section-title{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#333}.settings-field{margin-bottom:1.5rem}.settings-label{display:block;font-size:.95rem;font-weight:500;color:#333;margin-bottom:.5rem}.settings-description{font-size:.875rem;color:#666;margin:0 0 .75rem}.settings-select{width:100%;max-width:300px;padding:.75rem 1rem;border:1px solid #e0e0e0;border-radius:8px;font-size:.95rem;background:#fff;color:#333;cursor:pointer;transition:all .2s}.settings-select:hover:not(:disabled){border-color:#1976d2}.settings-select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.settings-select:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.settings-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e0e0e0;display:flex;align-items:center;gap:1rem}.settings-save-button{padding:.75rem 2rem;background:#1976d2;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s}.settings-save-button:hover:not(:disabled){background:#1565c0}.settings-save-button:disabled{background:#ccc;cursor:not-allowed}.settings-message{padding:.5rem 1rem;border-radius:6px;font-size:.875rem}.settings-message.success{background:#e8f5e9;color:#2e7d32}.settings-message.error{background:#ffebee;color:#c62828}.settings-display-value{padding:.75rem 1rem;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;font-size:.95rem;min-height:2.5rem;display:flex;align-items:center}.settings-company-name{color:#333;font-weight:500}.settings-no-company{color:#999;font-style:italic}.settings-loading-text{color:#666;font-style:italic}.sidebar{position:fixed;left:0;top:80px;height:calc(100vh - 80px);width:250px;background-color:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;transition:width .3s ease;z-index:1000;box-shadow:2px 0 8px #0000000d;overflow:hidden}.sidebar.collapsed{width:64px}.sidebar-header{padding:1rem;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:60px}.product-switcher{flex:1;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:#333;background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:border-color .2s,background-color .2s;outline:none}.product-switcher:hover{border-color:#bbb;background-color:#f9f9f9}.product-switcher:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.sidebar-toggle{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.5rem;color:#666;border-radius:4px;transition:background-color .2s,color .2s;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.sidebar-toggle:hover{background-color:#f5f5f5;color:#333}.sidebar.collapsed .sidebar-toggle{justify-content:center;width:100%}.sidebar-nav{flex:1;padding:1rem .5rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto;overflow-x:hidden}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:#fff}.sidebar-nav::-webkit-scrollbar-thumb{background:transparent;border-radius:3px;transition:background .2s ease}.sidebar:hover .sidebar-nav::-webkit-scrollbar-thumb,.sidebar-nav:hover::-webkit-scrollbar-thumb{background:#c2d9f8}.sidebar:hover .sidebar-nav::-webkit-scrollbar-thumb:hover,.sidebar-nav:hover::-webkit-scrollbar-thumb:hover{background:#90caf9}.sidebar-nav{scrollbar-width:thin;scrollbar-color:transparent white}.sidebar:hover .sidebar-nav,.sidebar-nav:hover{scrollbar-color:#c2d9f8 white}.sidebar-nav-item{display:flex;align-items:center;padding:.75rem 1rem;color:#666;text-decoration:none;border-radius:8px;transition:background-color .2s,color .2s;gap:.75rem;font-weight:500;font-size:.95rem}.sidebar-nav-item:hover{background-color:#f5f5f5;color:#333}.sidebar-nav-item.active{background-color:#e3f2fd;color:#1976d2}.sidebar-nav-icon{font-size:1.25rem;display:flex;align-items:center;justify-content:center;min-width:24px;flex-shrink:0;transition:color .2s,transform .2s}.sidebar-nav-icon svg{width:1.25rem;height:1.25rem}.sidebar-nav-item:hover .sidebar-nav-icon{transform:scale(1.1)}.sidebar-nav-item.active .sidebar-nav-icon{filter:brightness(.9)}.sidebar-nav-label{white-space:nowrap;overflow:hidden;opacity:1;transition:opacity .3s ease}.sidebar.collapsed .sidebar-nav-label{opacity:0;width:0;overflow:hidden}.sidebar.collapsed .sidebar-nav-item{justify-content:center;padding:.75rem}.sidebar-dropdown{margin-top:.25rem}.sidebar-dropdown-toggle{display:flex;align-items:center;width:100%;padding:.75rem 1rem;background:none;border:none;color:#666;text-decoration:none;border-radius:8px;transition:background-color .2s,color .2s;gap:.75rem;font-weight:500;font-size:.95rem;cursor:pointer;position:relative}.sidebar-dropdown-toggle:hover{background-color:#f5f5f5;color:#333}.sidebar-dropdown-toggle.active{background-color:#e3f2fd;color:#1976d2}.sidebar-dropdown-chevron{margin-left:auto;display:flex;align-items:center;font-size:1rem;transition:transform .2s ease}.sidebar-dropdown-menu{max-height:0;overflow:hidden;transition:max-height .3s ease;padding-left:0}.sidebar-dropdown-menu.open{max-height:1000px;padding-left:.5rem}.sidebar-dropdown-item{padding-left:2.5rem;font-size:.9rem}.sidebar.collapsed .sidebar-dropdown-toggle{justify-content:center;padding:.75rem}.sidebar.collapsed .sidebar-dropdown{position:relative}.sidebar.collapsed .sidebar-dropdown-menu{position:absolute;left:64px;top:0;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:2px 4px 12px #0000001a;min-width:200px;padding:.5rem;z-index:1001;max-height:none;display:block}.sidebar.collapsed .sidebar-dropdown-menu.open{display:block;padding:.5rem}.sidebar.collapsed .sidebar-dropdown-menu:not(.open){display:none}.sidebar.collapsed .sidebar-dropdown-item{padding-left:1rem;padding-right:1rem}.app-layout{display:flex;min-height:100vh;width:100%;background-color:#f5f5f5}.main-content{box-sizing:border-box;width:calc(100% - 250px);margin-left:250px;margin-top:80px;flex:1;display:flex;justify-content:center;padding:2rem;transition:margin-left .3s ease,width .3s ease;min-height:calc(100vh - 80px);position:relative}.main-content.sidebar-collapsed{width:calc(100% - 64px);margin-left:64px}.content-wrapper{width:100%;max-width:960px}@media(max-width:1024px){.main-content{padding:1.5rem}}@media(max-width:900px){.main-content{width:calc(100% - 64px)!important;margin-left:64px!important}}@media(max-width:768px){.main-content{padding:1rem}.content-wrapper{max-width:100%}}@media(max-width:600px){.app-layout{flex-direction:column}.main-content{width:100%!important;margin-left:0!important;padding:1rem}}.topbar{height:80px;background-color:#fff;border-bottom:1px solid #eeeeee;display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-family:Inter,system-ui,-apple-system,sans-serif;position:fixed;top:0;left:0;right:0;z-index:1100;box-shadow:0 1px 3px #0000000d}.topbar-content{width:100%;display:flex;align-items:center;justify-content:space-between}.topbar-left{display:flex;align-items:center;gap:24px}.topbar-logo{display:flex;align-items:center;text-decoration:none;transition:opacity .2s,transform .2s;flex-shrink:0;margin-right:0;padding:8px 0}.topbar-logo:hover{opacity:.85;transform:scale(1.02)}.logo-image{height:60px;width:200px;object-fit:contain;display:block}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-settings-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background-color:transparent;color:#666;border:1px solid #e0e0e0;cursor:pointer;transition:all .2s;padding:0}.topbar-settings-button:hover{background-color:#f5f5f5;border-color:#d0d0d0;color:#333}.topbar-settings-button:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.business-selector{position:relative}.business-selector-button{display:flex;align-items:center;gap:8px;padding:6px 12px;background-color:transparent;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#333;transition:background-color .2s,border-color .2s;font-family:Inter,system-ui,-apple-system,sans-serif}.business-selector-button:hover{background-color:#f5f5f5;border-color:#d0d0d0}.business-selector-button:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.business-selector-chevron{font-size:12px;color:#666;transition:transform .2s}.business-selector.open .business-selector-chevron{transform:rotate(180deg)}.business-selector-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;overflow:hidden;max-height:300px;overflow-y:auto}.business-selector-item{padding:10px 12px;cursor:pointer;font-size:14px;color:#333;transition:background-color .2s;border:none;background:none;width:100%;text-align:left;font-family:Inter,system-ui,-apple-system,sans-serif}.business-selector-item:hover{background-color:#f5f5f5}.business-selector-item.selected{background-color:#e3f2fd;color:#1976d2;font-weight:500}.user-menu{position:relative}.user-menu-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background-color:#1976d2;color:#fff;border:none;cursor:pointer;font-size:14px;font-weight:500;font-family:Inter,system-ui,-apple-system,sans-serif;transition:background-color .2s,transform .2s}.user-menu-button:hover{background-color:#1565c0;transform:scale(1.05)}.user-menu-button:focus{outline:none;box-shadow:0 0 0 2px #1976d24d}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;overflow:hidden}.user-menu-item{padding:10px 16px;cursor:pointer;font-size:14px;color:#333;transition:background-color .2s;border:none;background:none;width:100%;text-align:left;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex;align-items:center;gap:8px}.user-menu-item:hover{background-color:#f5f5f5}.user-menu-item.logout{color:#d32f2f}.user-menu-item.logout:hover{background-color:#ffebee;color:#c62828}.ai-chat-box{width:360px;height:480px;background:#fff;border:1px solid #e0e0e0;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 4px 16px #00000026;overflow:hidden}.ai-chat-box.docked{border-radius:0;border-left:1px solid #e0e0e0;border-right:none;border-top:none;border-bottom:none;height:calc(100vh - 104px)}.ai-chat-header{padding:12px 16px;border-bottom:1px solid #e0e0e0;background:#f5f5f5;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:16px;color:#333;flex-shrink:0;cursor:grab;-webkit-user-select:none;user-select:none}.ai-chat-header:active{cursor:grabbing}.ai-chat-header-buttons{display:flex;gap:4px;align-items:center}.ai-chat-dock{background:none;border:none;cursor:pointer;color:#666;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;pointer-events:auto;z-index:10;position:relative}.ai-chat-dock:hover{background:#e0e0e0;color:#333}.ai-chat-close{background:none;border:none;font-size:20px;cursor:pointer;color:#666;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.ai-chat-close:hover{background:#e0e0e0;color:#333}.ai-chat-messages{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.ai-chat-messages .chat-panel{height:100%;display:flex;flex-direction:column;min-height:0}.ai-chat-messages .chat-panel-content{flex:1;overflow-y:auto;min-height:0;padding:12px}.app-layout.chat-docked .main-content{width:calc(100% - 634px)!important;transition:width .25s ease}.app-layout.chat-docked .main-content.sidebar-collapsed{width:calc(100% - 448px)!important}.task-list{display:flex;flex-direction:column;gap:24px}.task-list-section{display:flex;flex-direction:column;gap:8px}.task-list-section-title{font-size:14px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.task-list-empty{text-align:center;padding:40px;color:#666}.task-item{display:flex;gap:12px;padding:12px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;transition:all .2s}.task-item:hover{border-color:#2563eb;box-shadow:0 2px 4px #0000000d}.task-item-done{opacity:.6;background:#f9f9f9}.task-item-checkbox{display:flex;align-items:flex-start;cursor:pointer}.task-item-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#2563eb}.task-item-content{flex:1;display:flex;flex-direction:column;gap:4px}.task-item-title{font-size:15px;font-weight:500;color:#333;line-height:1.4}.task-item-done .task-item-title{text-decoration:line-through}.task-item-description{font-size:13px;color:#666;line-height:1.4}.task-item-meta{display:flex;gap:12px;margin-top:4px;font-size:12px;color:#999}.task-item-page{padding:2px 8px;background:#f0f0f0;border-radius:4px;font-weight:500}.task-item-date{color:#999}.task-panel-overlay{position:fixed;inset:0;background:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center}.task-panel{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0003}.task-panel-header{padding:16px 20px;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between}.task-panel-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.task-panel-close{background:none;border:none;font-size:28px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.task-panel-close:hover{background:#f0f0f0;color:#333}.task-panel-content{flex:1;overflow-y:auto;padding:16px 20px}.task-panel-loading{text-align:center;padding:40px;color:#666}.topbar-action-button{background:none;border:none;padding:8px;margin-right:8px;cursor:pointer;color:#666;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.topbar-action-button:hover{background:#f0f0f0;color:#2563eb}.topbar-action-button.active{background:#e3f2fd;color:#2563eb}
