body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--bg:#fdfcfc;--panel:#fefdfd;--panel-2:#f9f5f5;--panel-3:#f5f0f0;--text:#282c34;--muted:#616875;--border:#f1e4e4;--border-hover:#e8c9c9;--accent:#e76e6e;--accent-hover:#e25050;--accent-2:#e99696;--accent-light:#fbe9e9;--accent-rgb:245,101,101;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--shadow:0 4px 20px #f5656514;--radius:12px}body{background:#fdfcfc;background:var(--bg);color:#282c34;color:var(--text)}html{filter:invert(0) hue-rotate(0deg);transition:filter .5s cubic-bezier(.4,0,.2,1)}html.dark-mode,html.dark-mode [data-preserve-color],html.dark-mode canvas,html.dark-mode iframe,html.dark-mode img:not(.theme-logo),html.dark-mode svg,html.dark-mode video{filter:invert(1) hue-rotate(180deg)}html.dark-mode img.theme-logo{filter:none}[data-preserve-color],canvas,iframe,img,svg,video{transition:filter .5s cubic-bezier(.4,0,.2,1)}*,:after,:before{transition:background-color .5s cubic-bezier(.4,0,.2,1),border-color .5s cubic-bezier(.4,0,.2,1),box-shadow .5s cubic-bezier(.4,0,.2,1)}.btn-animated,.btn-coral-animated,button,input,select,textarea{transition:background-color .5s cubic-bezier(.4,0,.2,1),border-color .5s cubic-bezier(.4,0,.2,1),box-shadow .5s cubic-bezier(.4,0,.2,1),color .5s cubic-bezier(.4,0,.2,1),transform .2s ease,filter .2s ease}.glass-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #f1e4e4;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 4px 20px #f5656514;box-shadow:var(--shadow)}.glass-panel,input,select,textarea{background:#fefdfd;background:var(--panel)}input,select,textarea{-webkit-appearance:none;appearance:none;border:1px solid #f1e4e4;border:1px solid var(--border);border-radius:8px;color:#282c34;color:var(--text)}input:focus,select:focus,textarea:focus{border-color:#e76e6e;border-color:var(--accent);box-shadow:0 0 0 3px #e76e6e26;outline:none}input::placeholder,textarea::placeholder{color:#616875;color:var(--muted)}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,select:-webkit-autofill,select:-webkit-autofill:focus,select:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{-webkit-text-fill-color:#282c34;-webkit-text-fill-color:var(--text);border:1px solid #f1e4e4;border:1px solid var(--border);box-shadow:inset 0 0 0 1000px #fefdfd;box-shadow:0 0 0 1000px var(--panel) inset;caret-color:#282c34;caret-color:var(--text);-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}input:-moz-autofill,select:-moz-autofill,textarea:-moz-autofill{-moz-text-fill-color:#282c34;-moz-text-fill-color:var(--text);border:1px solid #f1e4e4;border:1px solid var(--border);box-shadow:inset 0 0 0 1000px #fefdfd;box-shadow:0 0 0 1000px var(--panel) inset;caret-color:#282c34;caret-color:var(--text)}button{background:linear-gradient(135deg,#e76e6e,#e45858);background:linear-gradient(135deg,var(--accent) 0,#e45858 100%);border:1px solid #0000;border-radius:10px;color:#fff}button:hover{filter:brightness(1.05)}.btn-secondary{background:#fefdfd;border:1px solid #f1e4e4;color:#282c34}.muted{color:#616875;color:var(--muted)}.btn-coral-animated{background:none;background-image:linear-gradient(90deg,#e76e6e,#e76e6e 50%,#0000 0,#0000);background-image:linear-gradient(90deg,var(--accent) 0,var(--accent) 50%,#0000 50%,#0000 100%);background-position:100% 0;background-size:200% 100%;border:1px solid #e76e6e;border:1px solid var(--accent);color:#e76e6e;color:var(--accent);overflow:hidden;position:relative;transition:background-position .45s cubic-bezier(.22,1,.36,1),color .45s cubic-bezier(.22,1,.36,1),transform .12s ease}.btn-coral-animated:hover{background-position:0 0;color:#fff;transform:translateY(-1px)}.btn-animated{box-shadow:0 4px 20px #f5656514;box-shadow:var(--shadow);isolation:isolate;overflow:hidden;position:relative;transform:translateZ(0);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}.btn-animated:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-animated:active{filter:brightness(.98);transform:translateY(0)}.btn-animated:after{background:radial-gradient(circle at center,#ffffff40,#ffffff0d 60%,#0000 70%);content:"";height:200%;left:-30%;pointer-events:none;position:absolute;top:-50%;transform:translateX(-140%) rotate(15deg);transition:transform .6s ease;width:60%;z-index:0}.btn-animated:hover:after{transform:translateX(220%) rotate(15deg)}.btn-animated svg{opacity:.9;transform:translateX(2px);transition:transform .25s ease,opacity .25s ease;z-index:1}.btn-animated:hover svg{opacity:1;transform:translateX(6px)}.border-beam{border-radius:inherit;inset:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;overflow:hidden;padding:2px;pointer-events:none;position:absolute}.border-beam:before{animation:border-beam-spin 4s linear infinite;background:conic-gradient(from 0deg,#0000 0deg 250deg,#f5656500 250deg,#f5656533 265deg,#f5656580 275deg,#f56565b3 282deg,#f56565d9 288deg,#f56565 295deg,#f56565 302deg,#f56565d9 308deg,#f56565b3 314deg,#f5656580 325deg,#f5656533 335deg,#f5656500 345deg,#0000 345deg 1turn);content:"";inset:-50%;position:absolute}.border-beam:after{background:#fefdfd;background:var(--panel);border-radius:inherit;content:"";inset:2px;position:absolute;z-index:1}@keyframes border-beam-spin{to{transform:rotate(1turn)}}.border-beam-container{overflow:hidden;position:relative}.border-beam-container .border-beam{opacity:0;transition:opacity .3s ease}.border-beam-container.loading .border-beam{opacity:1}body,html{transition:background-color .5s cubic-bezier(.4,0,.2,1),color .5s cubic-bezier(.4,0,.2,1),filter .5s cubic-bezier(.4,0,.2,1)}.file-upload-container{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin:0 auto;max-width:900px;overflow:hidden;padding:1.5rem;position:relative}.file-upload-container>:not(.border-beam){position:relative;z-index:2}.dropzone.has-file{background:#fdf2f2;border-color:var(--accent);padding:1rem 1.5rem}.dropzone-text{color:var(--muted);font-size:.9rem}.file-info{align-items:center;display:flex;gap:.75rem;text-align:left}.file-icon{height:32px;width:32px}.file-size{color:var(--muted);font-size:.8rem;margin:.125rem 0 0}.config-section{background:#f7fafc;border-radius:8px;padding:1.5rem}.form-group label{letter-spacing:.5px;text-transform:uppercase}.form-group input{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;padding:.625rem .75rem;transition:border-color .2s,box-shadow .2s}.form-group input::placeholder{color:var(--muted)}.form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f5656526;outline:none}.form-group input:disabled{cursor:not-allowed;opacity:.6}.sheet-list-selector{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding:.25rem}.sheet-option{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:all .2s ease}.sheet-option:hover:not(.disabled){background:#fef6f6;border-color:var(--accent)}.sheet-option.selected{background:#fceded;border-color:var(--accent)}.sheet-option.selected .radio-circle{background:var(--accent);border-color:var(--accent)}.sheet-option.disabled{cursor:not-allowed;opacity:.6}.sheet-option-name{color:var(--text);font-size:.95rem}.sheet-empty-state{background:var(--panel-2);border:1px dashed var(--border);border-radius:8px;color:var(--muted);font-size:.9rem;padding:1rem;text-align:center}.sheet-loading{font-size:.9rem;padding:.75rem}.form-help{color:#718096;font-size:.9rem;margin:.5rem 0 0}.statement-type-selector{flex-direction:row}.file-upload-container .statement-option{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:5px;cursor:pointer;display:flex;flex-direction:row;gap:.5rem;height:32px;justify-content:flex-start;padding:6px 12px;transition:all .15s ease}.file-upload-container .statement-option:hover:not(.disabled){background:#fef6f6;border-color:var(--accent)}.file-upload-container .statement-option.selected{background:#fceded;border-color:var(--accent)}.file-upload-container .statement-option.selected .radio-circle{background:var(--accent);border-color:var(--accent)}.file-upload-container .statement-option.disabled{cursor:not-allowed;opacity:.6}.file-upload-container .statement-option .statement-text{color:var(--text);font-size:.85rem;font-weight:500;line-height:1;margin:0;padding:0}.radio-circle{height:14px;margin:0;transition:all .15s ease;width:14px}.file-upload-container .statement-option:hover:not(.disabled) .radio-circle{border-color:var(--accent)}.radio-dot{height:6px;width:6px}.sheet-selection-container{grid-gap:2rem;background:var(--panel-2);border:1px solid var(--border);border-radius:12px;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-top:.5rem;padding:1.5rem}.sheet-column{display:flex;flex-direction:column}.sheet-header-title{color:var(--text);font-size:1.1rem;font-weight:600;margin:0}.sheet-header-desc{color:var(--muted);font-size:.9rem;margin:.25rem 0 1rem}.sheet-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding-right:.5rem}.sheet-item{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:all .2s}.sheet-item:hover{background:#ffffff1a;border-color:var(--border-hover)}.sheet-item.selected-raw{background:#22c55e1a;border-color:var(--success)}.sheet-item.selected-raw .radio-circle{background:var(--success);border-color:var(--success)}.sheet-item.selected-comp{background:#fceded;border-color:var(--accent)}.sheet-item.disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.sheet-name-text{color:var(--text);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkbox-square{align-items:center;color:var(--muted);display:flex;height:20px;justify-content:center;width:20px}.selected-comp .checkbox-square{color:var(--accent)}.config-loading .button-spinner{border:2px solid var(--border);border-top-color:var(--accent);height:14px;margin-right:0;width:14px}@media (max-width:768px){.sheet-selection-container,.statement-type-selector.three-col{grid-template-columns:1fr}.config-preview-header{align-items:flex-start;flex-direction:column}.config-categories-grid{max-height:150px}}.comparative-upload-container{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin:0 auto;max-width:900px;overflow:hidden;padding:1.5rem;position:relative}.comparative-upload-container>:not(.border-beam){position:relative;z-index:2}.comparative-upload-container .upload-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1.25rem}.comparative-upload-container .header-icon{align-items:center;background:linear-gradient(135deg,#fceded,#f9e7e7);border-radius:10px;color:var(--accent);display:flex;justify-content:center;padding:.75rem}.comparative-upload-container .upload-header h3{color:var(--text);font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.comparative-upload-container .upload-description{color:var(--muted);font-size:.875rem;margin:0}.comparative-upload-container .upload-form{display:flex;flex-direction:column;gap:1.25rem}.comparative-upload-container .dropzone{background:linear-gradient(135deg,#fcf8f8,#faf5f5);border:2px dashed #edd4d4;border-radius:8px;cursor:pointer;padding:2rem 1.5rem;text-align:center;transition:all .2s ease}.comparative-upload-container .dropzone:hover{background:#fef6f6;border-color:var(--accent)}.comparative-upload-container .dropzone.active{background:#fceded;border-color:var(--accent)}.comparative-upload-container .dropzone.has-file{background:#fdf2f2;border-color:var(--accent);padding:1rem 1.5rem}.comparative-upload-container .dropzone.disabled{cursor:not-allowed;opacity:.6}.comparative-upload-container .dropzone-content{align-items:center;display:flex;flex-direction:column;gap:.5rem}.comparative-upload-container .upload-icon{color:var(--muted)}.comparative-upload-container .dropzone-text{color:var(--muted);font-size:.9rem;margin:0}.comparative-upload-container .file-info{align-items:center;display:flex;gap:.75rem;text-align:left}.comparative-upload-container .file-icon{color:var(--accent);flex-shrink:0;height:32px;width:32px}.comparative-upload-container .file-details{flex:1 1;min-width:0}.comparative-upload-container .file-name{color:var(--text);font-size:.9rem;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparative-upload-container .file-size{color:var(--muted);font-size:.8rem;margin:.125rem 0 0}.comparative-upload-container .remove-file-btn{align-items:center;background:#ef44441f;border:none;border-radius:6px;color:#f87171;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:background-color .2s;width:28px}.comparative-upload-container .remove-file-btn:hover{background:#ef444433}.comparative-upload-container .sheets-loading-container{align-items:center;background:linear-gradient(135deg,#fcf8f8,#faf5f5);border:1px dashed var(--border);border-radius:8px;display:flex;gap:1rem;padding:1.5rem}.comparative-upload-container .sheets-loading-spinner{align-items:center;background:linear-gradient(135deg,#fceded,#f9e7e7);border-radius:10px;display:flex;height:48px;justify-content:center;width:48px}.comparative-upload-container .sheets-loading-spinner .button-spinner{border:3px solid var(--border);border-top-color:var(--accent);height:24px;width:24px}.comparative-upload-container .sheets-loading-text{display:flex;flex-direction:column;gap:.25rem}.comparative-upload-container .sheets-loading-text .loading-title{color:var(--text);font-size:1rem;font-weight:600}.comparative-upload-container .sheets-loading-text .loading-subtitle{color:var(--muted);font-size:.875rem}.comparative-upload-container .sheet-selection-container{grid-gap:2rem;background:var(--panel-2);border:1px solid var(--border);border-radius:12px;display:grid;gap:2rem;grid-template-columns:1fr 1fr;padding:1.5rem}.comparative-upload-container .sheet-column{display:flex;flex-direction:column}.comparative-upload-container .sheet-header{align-items:flex-start;color:var(--accent);display:flex;gap:.75rem;margin-bottom:1rem}.comparative-upload-container .sheet-header-text{flex:1 1}.comparative-upload-container .sheet-header-title{color:var(--text);font-size:1rem;font-weight:600;margin:0}.comparative-upload-container .sheet-header-desc{color:var(--muted);font-size:.85rem;margin:.25rem 0 0}.comparative-upload-container .sheet-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding-right:.5rem}.comparative-upload-container .sheet-item{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:all .2s}.comparative-upload-container .sheet-item:hover:not(.disabled){background:#ffffff1a;border-color:var(--border-hover)}.comparative-upload-container .sheet-item.selected-raw{background:#22c55e1a;border-color:var(--success)}.comparative-upload-container .sheet-item.selected-raw .radio-circle{background:var(--success);border-color:var(--success)}.comparative-upload-container .sheet-item.selected-comp{background:#fceded;border-color:var(--accent)}.comparative-upload-container .sheet-item.disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.comparative-upload-container .sheet-item-name{color:var(--text);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparative-upload-container .radio-circle{align-items:center;border:2px solid var(--border);border-radius:50%;display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all .2s ease;width:18px}.comparative-upload-container .radio-dot{background:#fff;border-radius:50%;height:8px;width:8px}.comparative-upload-container .checkbox-square{align-items:center;border:2px solid var(--border);border-radius:4px;color:var(--muted);display:flex;height:20px;justify-content:center;transition:all .2s ease;width:20px}.comparative-upload-container .checkbox-square.checked{background:var(--accent);border-color:var(--accent);color:#fff}.comparative-upload-container .analyze-button{align-items:center;background:none;background-image:linear-gradient(90deg,var(--accent) 0,var(--accent) 50%,#0000 50%,#0000 100%);background-position:100% 0;background-size:200% 100%;border:1px solid var(--accent);border-radius:8px;color:var(--accent);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:.5rem;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),transform .2s ease}.comparative-upload-container .analyze-button:hover:not(:disabled){background-position:0 0;box-shadow:0 8px 25px #f5656559;color:#fff;transform:translateY(-1px)}.comparative-upload-container .analyze-button:disabled{cursor:not-allowed;opacity:.6}.comparative-upload-container .analyze-button:after{background:radial-gradient(circle at center,#ffffff59,#ffffff14 60%,#0000 70%);content:"";height:200%;left:-30%;pointer-events:none;position:absolute;top:-50%;transform:translateX(-140%) rotate(15deg);transition:transform .6s ease;width:60%}.comparative-upload-container .analyze-button:hover:after{transform:translateX(220%) rotate(15deg)}.comparative-upload-container .analyze-button svg{transition:transform .25s ease}.comparative-upload-container .analyze-button:hover:not(:disabled) svg{transform:translateX(4px)}.comparative-upload-container .button-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}.comparative-upload-container .sheet-list::-webkit-scrollbar{width:6px}.comparative-upload-container .sheet-list::-webkit-scrollbar-track{background:var(--panel-2);border-radius:3px}.comparative-upload-container .sheet-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.comparative-upload-container .sheet-list::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media (max-width:768px){.comparative-upload-container .sheet-selection-container{grid-template-columns:1fr}}.period-selector-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin:0 auto;max-width:900px;overflow:hidden;padding:1.25rem 1.5rem;position:relative}.period-selector-card>:not(.border-beam){position:relative;z-index:2}.context-bar{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem}.context-bar .back-button{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;display:flex;flex-shrink:0;font-size:.8rem;font-weight:500;gap:.4rem;padding:.4rem .75rem;transition:all .2s}.context-bar .back-button:hover{border-color:var(--accent);color:var(--accent)}.context-meta{align-items:center;display:flex;flex:1 1;gap:.5rem;min-width:0;overflow:hidden}.meta-chip{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);display:inline-flex;flex-shrink:0;font-size:.8rem;gap:.4rem;max-width:220px;padding:.35rem .65rem;pointer-events:none;-webkit-user-select:none;user-select:none}.meta-chip svg{color:var(--muted);flex-shrink:0}.chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-separator{color:var(--muted);flex-shrink:0;font-size:.75rem}.selection-badge{align-items:center;background:#fceded;border:1px solid #f3cece;border-radius:20px;display:flex;flex-shrink:0;font-size:.8rem;font-weight:600;gap:.15rem;padding:.4rem .75rem}.selection-count{color:var(--accent)}.selection-separator,.selection-total{color:var(--muted)}.period-section{display:flex;flex-direction:column;gap:.5rem}.section-header{gap:1rem;height:20px;pointer-events:none}.section-header>*{pointer-events:auto}.section-title{color:var(--muted);cursor:default;font-size:.8rem;font-weight:500;letter-spacing:.04em;margin:0;pointer-events:none}.select-all-btn{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:5px;color:var(--text);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:.4rem;padding:.35rem .7rem;transition:all .2s ease}.select-all-btn:hover:not(:disabled){background:#fef6f6;border-color:var(--accent)}.select-all-btn.active{background:#fceded;border-color:var(--accent);color:var(--accent)}.select-all-btn:disabled{cursor:not-allowed;opacity:.5}.select-all-btn svg{flex-shrink:0}.period-table-wrapper{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;height:420px;overflow-x:hidden;overflow-y:auto}.period-table thead{z-index:10}.period-table thead tr{background:var(--panel)}.period-table thead th{border-bottom:1px solid var(--border);color:var(--muted);font-size:.75rem;font-weight:500;letter-spacing:.04em;padding:.75rem .625rem;text-transform:uppercase}.period-table thead th:first-child{width:44px}.period-table tbody tr{transition:background .15s}.period-table tbody tr:hover{background:#fcf7f7}.period-table tbody tr.selected{background:#fdf2f2}.period-table tbody tr:nth-child(2n):hover{background:#fcf7f7}.period-table tbody tr:nth-child(2n).selected{background:#fceded}.period-table td{font-size:.85rem;padding:.625rem}.check-cell{padding:.625rem .5rem}.check-cell input[type=checkbox]{border:2px solid #dfc3c3;height:16px;transition:all .15s ease;width:16px}.check-cell input[type=checkbox]:checked:after{font-size:12px}.date-cell{font-size:.85rem}.name-cell{font-size:.8rem}.action-footer{display:flex;justify-content:center;margin-top:.5rem;padding-top:1.25rem}.process-button{align-items:center;background:none;background-image:linear-gradient(90deg,var(--accent) 0,var(--accent) 50%,#0000 50%,#0000 100%);background-position:100% 0;background-size:200% 100%;border:1px solid var(--accent);border-radius:8px;color:var(--accent);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;overflow:hidden;padding:.75rem 1.75rem;position:relative;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),transform .2s ease}.process-button:hover:not(:disabled){transform:translateY(-1px)}.process-button:hover:not(:disabled):after{transform:translateX(220%) rotate(15deg)}.process-button:hover:not(:disabled) svg{transform:translateX(4px)}.period-table-wrapper::-webkit-scrollbar{width:8px}.period-table-wrapper::-webkit-scrollbar-track{background:var(--panel);border-radius:4px}.period-table-wrapper::-webkit-scrollbar-thumb{background:#e4cdcd;border-radius:4px}.period-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media (max-width:768px){.period-selector-card{padding:1rem}.context-bar{flex-wrap:wrap;gap:.75rem}.context-meta{flex-basis:100%;order:3}.meta-chip{max-width:none}.selection-badge{margin-left:auto}.period-table-wrapper{height:320px}.section-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.comparative-summary-container{animation:fadeIn .25s ease;margin:0 auto;max-width:800px}.summary-header{margin-bottom:1.25rem}.summary-header h2{color:var(--text);font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.summary-header p{color:var(--muted);font-size:.875rem;margin:0}.sources-section{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.source-row{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;display:flex;font-size:.875rem;gap:.625rem;padding:.625rem .875rem}.source-icon{flex-shrink:0}.source-icon.raw{color:var(--success)}.source-icon.comp{color:var(--accent)}.source-type{color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.source-name{font-size:.875rem;font-weight:600}.source-meta{margin-left:auto}.source-meta,.source-range{color:var(--muted);font-size:.8rem}.source-range{border-left:1px solid var(--border);padding-left:.625rem}.source-group{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.source-group-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:.5rem;padding:.625rem .875rem}.source-group-header .source-type{flex:1 1}.source-count{color:var(--muted);font-size:.75rem}.source-group-items{background:inherit;display:flex;flex-direction:column}.source-item{background:#0000;border-bottom:1px solid var(--border);font-size:.875rem;gap:.625rem;padding:.5rem .875rem .5rem 2rem}.source-item:last-child{border-bottom:none}.source-item .source-name{font-weight:500}.source-item .source-meta{margin-left:auto}.periods-section{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;padding:1rem 1.25rem}.periods-header{justify-content:space-between;margin-bottom:.75rem}.periods-header,.periods-title{align-items:center;display:flex}.periods-title{color:var(--text);font-size:.875rem;font-weight:500;gap:.5rem}.periods-count{align-items:center;background:var(--success);border-radius:6px;color:#fff;display:inline-flex;font-size:.8rem;font-weight:700;height:24px;justify-content:center;width:24px}.periods-section.error .periods-count{background:var(--danger)}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.25rem .625rem}.status-pill.success{background:#22c55e1a;border:1px solid #22c55e40;color:#16a34a}.status-pill.error{background:#ef44441a;border:1px solid #ef444440;color:#dc2626}.periods-list{display:flex;flex-wrap:wrap;gap:.375rem}.period-tag{background:#ebfaf1;border:1px solid #b3e6c8;border-radius:5px;color:#15803d;display:inline-block;font-size:.8rem;font-weight:500;padding:.3rem .625rem}.no-periods{align-items:center;background:#ef444414;border:1px solid #ef444433;border-radius:6px;color:#dc2626;display:flex;font-size:.85rem;gap:.5rem;padding:.75rem}.warnings-dropdown{margin-bottom:1rem}.warnings-toggle{align-items:center;background:#fdf7ed;border:1px solid #ebd4ad;border-radius:8px;color:#b45309;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.625rem .875rem;transition:background .15s;width:100%}.warnings-toggle:hover{background:#fbf1df}.warnings-toggle svg:last-child{margin-left:auto}.warnings-content{animation:slideDown .2s ease;background:#fdfbf7;border:1px solid #f0dfc2;border-radius:8px;margin-top:.5rem;padding:.875rem}.warning-group{margin-bottom:.75rem}.warning-group:last-child{margin-bottom:0}.warning-group-title{color:#92400e;display:block;font-size:.75rem;font-weight:600;letter-spacing:.03em;margin-bottom:.375rem;text-transform:uppercase}.warning-group ul{color:var(--text);font-size:.8rem;margin:0;padding-left:1rem}.warning-group li{margin-bottom:.2rem}.warning-group li strong{color:#b45309}.action-row{display:flex;gap:1rem;justify-content:space-between;padding-top:.5rem}.btn-back{align-items:center;background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:.375rem;padding:.625rem 1rem;transition:all .15s}.btn-back:hover:not(:disabled){background:var(--panel-2);border-color:var(--border-hover,var(--border))}.btn-back:disabled{cursor:not-allowed;opacity:.5}.btn-process{align-items:center;background:var(--accent);border:1px solid var(--accent);border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.375rem;padding:.625rem 1.25rem;transition:all .2s}.btn-process:hover:not(:disabled){background:#df3a3a;box-shadow:0 4px 12px #f565654d;transform:translateY(-1px)}.btn-process:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}@media (max-width:600px){.source-row{flex-wrap:wrap}.source-meta{margin-left:0;padding-top:.375rem;width:100%}.source-range{border-left:none;padding-left:0}.action-row{flex-direction:column}.btn-back,.btn-process{justify-content:center;width:100%}}.progress-tracker{animation:slideIn .3s ease-out;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);margin:20px 0;max-width:100%;overflow:hidden;padding:24px;position:relative;width:700px}.progress-tracker>:not(.border-beam){position:relative;z-index:2}.progress-tracker.completed{background:#edfdf3;border:1px solid #10b981}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.progress-header{align-items:center;display:flex;gap:12px;margin-bottom:20px}.progress-icon{align-items:center;background:#0000;border-radius:50%;color:#fff;display:flex;height:40px;justify-content:center;width:40px}.progress-icon .spinning{animation:spin 2s linear infinite}.progress-icon .trophy{animation:bounce 2s ease-in-out infinite;color:#f59e0b}.progress-icon .target{animation:pulse 1.5s ease-in-out infinite alternate;color:#10b981}.coral-ring-loader{animation:coralRingSpin 1.2s linear infinite,coralRingFade 2s ease-in-out infinite;border-color:#f56565 #f5656599 #f565654d #f565651a;border-radius:50%;border-style:solid;border-width:3px;height:32px;width:32px}@keyframes coralRingSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes coralRingFade{0%,to{opacity:.7}50%{opacity:1}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-2px)}}@keyframes pulse{0%{opacity:.7;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}.progress-title h3{color:var(--text);font-size:18px;font-weight:600;margin:0}.progress-title p{color:var(--muted);font-size:14px;margin:2px 0 0}.progress-details{display:flex;flex-direction:column;gap:16px}.progress-stats{display:flex;flex-wrap:wrap;gap:24px}.stat-item{color:var(--muted);font-size:14px;font-weight:500;gap:8px}.stat-item svg{color:var(--accent)}.progress-bar-container{display:flex;flex-direction:column;gap:8px}.progress-bar{background-color:var(--border);height:8px;width:100%}.progress-bar,.progress-fill{border-radius:4px;overflow:hidden;position:relative}.progress-fill{background:linear-gradient(90deg,var(--accent),#e45858);height:100%;transition:width .5s ease-out}.progress-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.progress-text{color:var(--muted);font-size:12px;text-align:center}.period-indicators{flex-wrap:wrap;gap:8px}.period-indicator,.period-indicators{align-items:center;display:flex;justify-content:center}.period-indicator{border-radius:50%;cursor:pointer;height:24px;transition:all .3s ease;width:24px}.period-indicator.completed{background-color:#10b981;color:#fff}.period-indicator.current{animation:pulseGlow 2s infinite;background-color:var(--accent);color:#fff}.period-indicator.pending{background-color:var(--panel-2);border:1px solid var(--border)}.pending-dot{background-color:var(--muted);border-radius:50%;height:8px;width:8px}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 0 #f5656566}50%{box-shadow:0 0 0 8px #f5656500}}.current-period-info{display:flex;justify-content:center;margin-top:8px}.current-period-badge{animation:glow 2s ease-in-out infinite alternate;background:linear-gradient(135deg,var(--accent),#e45858);border-radius:20px;color:#fff;font-size:13px;font-weight:500;padding:8px 16px}.current-period-badge.account-mapping{animation:accountGlow 2s ease-in-out infinite alternate;background:linear-gradient(135deg,#10b981,#059669)}@keyframes glow{0%{box-shadow:0 0 10px #f565654d}to{box-shadow:0 0 20px #f5656599}}@keyframes accountGlow{0%{box-shadow:0 0 10px #10b9814d}to{box-shadow:0 0 20px #10b98199}}@media (max-width:768px){.progress-tracker{margin:16px 0;padding:16px}.progress-stats{gap:16px}.stat-item{font-size:13px}.period-indicators{gap:4px}.period-indicator{height:20px;width:20px}}.results-container{height:100%;overflow:auto;padding:2rem}.excel-view{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow-x:auto;position:relative}.period-limit-notice{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:6px;margin-bottom:12px;padding:8px 12px}.period-limit-notice p{color:#15803d;font-size:.85rem;font-weight:500;margin:0}.table-wrapper{border-radius:8px;max-width:100vw;overflow-x:auto;width:100%}.excel-table,.table-wrapper{background:var(--panel);position:relative}.excel-table{border-collapse:collapse;min-width:100%;width:-webkit-max-content;width:max-content}.excel-table th{background:linear-gradient(135deg,#faf4f4,#fdfcfc)!important;border:1px solid #f0dbdb;font-weight:700;padding:6px;text-align:center}.excel-table .period-col{background:var(--panel-2)!important;color:var(--text)!important;text-align:center;z-index:10}.excel-table td{background:var(--panel)!important;color:var(--text)!important;padding:2px 6px;transition:all .3s ease;vertical-align:middle}.excel-table td,.excel-table th{line-height:1.1}.excel-table .notes-expanded td{padding:8px}.excel-table .notes-expanded .notes-cell{padding:12px 8px}.excel-table tbody tr:hover td{background:var(--panel-2)}.excel-table .period-value{color:var(--text)!important;position:relative;z-index:5}.excel-table .period-value,.excel-table tbody tr{background:var(--panel)!important}.excel-table tbody tr:nth-child(2n),.excel-table tbody tr:nth-child(2n) .account-name,.excel-table tbody tr:nth-child(2n) .actions-cell,.excel-table tbody tr:nth-child(2n) .category,.excel-table tbody tr:nth-child(2n) .notes-cell,.excel-table tbody tr:nth-child(2n) .period-value,.excel-table tbody tr:nth-child(2n) td{background:var(--panel-2)!important}.excel-table .account-name-col{left:0}.excel-table .account-name-col,.excel-table .category-col{background:var(--panel-2)!important;color:var(--text)!important;position:-webkit-sticky;position:sticky;text-align:center;z-index:20}.excel-table .category-col{left:200px;width:140px}.excel-table .notes-col{background:var(--panel-2)!important;color:var(--text)!important;left:340px;position:-webkit-sticky;position:sticky;text-align:center;z-index:20}.excel-table .account-name,.excel-table .category,.excel-table .notes-cell{background:var(--panel)!important;color:var(--text)!important;position:-webkit-sticky;position:sticky;z-index:15}.excel-table .account-name{left:0}.excel-table .category{font-size:.85rem;left:200px;line-height:1.1;padding:2px!important}.excel-table .notes-cell{left:340px}.excel-table .account-name,.excel-table .category,.excel-table .notes-cell{border-right:2px solid var(--border);box-shadow:2px 0 4px #00000026}.excel-table .notes-cell{border-right:2px solid var(--border);box-shadow:2px 0 6px #0003}.excel-table .account-name-col,.excel-table .category-col,.excel-table .notes-col{border-right:2px solid var(--border);box-shadow:2px 0 4px #00000026}.excel-table .notes-col{border-right:2px solid var(--border);box-shadow:2px 0 6px #0003}.excel-table .actions-col{background:var(--panel-2)!important;text-align:center;width:68px;z-index:20}.excel-table .actions-cell,.excel-table .actions-col{color:var(--text)!important;left:0;position:-webkit-sticky;position:sticky}.excel-table .actions-cell{align-items:center;background:var(--panel)!important;display:flex;justify-content:center;padding:0;z-index:15}.action-buttons,.excel-table .actions-cell .action-buttons{align-items:center;display:inline-flex;gap:4px;height:100%;justify-content:center;margin:0}.action-btn{align-items:center;background:#374151;border:1px solid #4b5563;border-radius:6px;box-shadow:0 1px 2px #0000001a;color:#d1d5db;cursor:pointer;display:inline-flex;height:24px;justify-content:center;line-height:1;margin:0;padding:4px;transition:all .2s ease;width:24px}.action-btn:hover{box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.sign-flip-btn{background:#6b7280;border-color:#9ca3af;color:#fff}.sign-flip-btn:hover{background:#4b5563;border-color:#6b7280}.sign-flip-btn.flipped{background:#7c3aed;border-color:#6d28d9}.delete-btn{background:#ef44441a;border-color:#ef444433;color:#dc2626}.delete-btn:hover{background:#ef444433;border-color:#ef44444d;color:#dc2626}.action-btn .sign-flip-symbol{font-size:12px;font-weight:700;line-height:1}.excel-table .account-name-col{left:68px}.excel-table .category-col{left:268px}.excel-table .notes-col{left:488px}.excel-table .account-name{left:68px}.excel-table .category{left:268px}.excel-table .notes-cell{left:488px}.account-name-col,.excel-table .account-name{font-size:.85rem;font-weight:600;max-width:200px;min-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:200px}.category-col,.excel-table .category{font-size:.85rem;max-width:220px;min-width:220px;width:220px}.excel-table .notes-cell,.notes-col{font-size:.8rem;max-width:180px;min-width:180px;width:180px}.excel-table .period-value,.period-col{max-width:140px;min-width:140px;text-align:center;width:140px}.excel-table .period-value:last-child{padding-right:20px}.excel-table .notes-container{align-items:center;display:flex;height:100%;justify-content:center}.excel-table .notes-content{align-items:center;display:flex;flex-direction:column;gap:2px;width:100%}.excel-table .notes-text{-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;color:var(--muted);display:-webkit-box;font-size:.75rem;line-height:1.3;max-height:.5rem;overflow:hidden;text-overflow:ellipsis}.excel-table .notes-text.expanded{-webkit-line-clamp:none;line-clamp:none;display:block;max-height:200px;overflow-y:auto}.excel-table .notes-toggle{align-items:center;background:none;border:none;color:var(--accent);cursor:pointer;display:flex;font-size:.7rem;gap:2px;margin-top:2px;padding:2px 4px}.excel-table .notes-toggle:hover{color:var(--accent-hover);text-decoration:underline}.excel-table .notes-view-button{background:linear-gradient(135deg,var(--accent),#e14747);border:none;border-radius:10px;box-shadow:0 1px 2px #3b82f64d;color:#fff;cursor:pointer;font-size:.6rem;font-weight:600;margin-bottom:0;padding:2px 6px;transition:all .2s ease}.excel-table .notes-view-button:hover{background:linear-gradient(135deg,#e14747,#db2424);box-shadow:0 2px 6px #f5656566;transform:translateY(-1px)}.excel-table .notes-expanded-content{word-wrap:break-word;animation:expandNotes .2s ease-out;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;box-shadow:inset 0 1px 3px #0003;color:var(--text);font-size:.75rem;line-height:1.4;margin-top:6px;max-width:100%;padding:8px;text-align:left;white-space:pre-wrap}@keyframes expandNotes{0%{max-height:0;opacity:0;padding-bottom:0;padding-top:0}to{max-height:200px;opacity:1;padding-bottom:8px;padding-top:8px}}.excel-table .notes-expanded-row{transition:all .3s ease}.excel-table .notes-expanded-row td{padding-bottom:8px;vertical-align:top}.excel-table .notes-expanded-row .notes-cell{vertical-align:top}.period-value .value{background:#0000;border:1px solid #0000;border-radius:5px;color:var(--text);display:inline-block;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.8rem;font-weight:600;min-width:72px;padding:4px 8px;text-align:right;transition:all .2s ease}.period-value .value:hover{background:#ffffff08;transform:translateY(-1px)}.period-value .value.positive{color:#1e293b}.period-value .value.negative{color:#dc2626}.period-value .value.neutral{color:#475569}.excel-table .editable-cell{border-radius:4px;cursor:pointer;padding:2px 4px;position:relative;transition:all .2s ease}.excel-table .editable-cell:hover{background:#faf4f4;border:1px solid #edd4d4}.excel-table .category-cell{cursor:pointer;padding:0;transition:all .2s ease;width:100%}.excel-table .category-cell:hover{background:#fdf2f2;transform:scale(1.01)}.excel-table .category-select{border:1px solid var(--accent);border-radius:4px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.8rem;padding:2px 4px}.excel-table .category-select.compact{font-size:.75rem;max-width:140px;min-width:120px;padding:1px 2px}.excel-table .category-select option{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.75rem;padding:1px 2px}.excel-table .category-select optgroup{font-style:italic!important;font-weight:700!important}.excel-table .category-select optgroup,select.category-select optgroup{background:#fff!important;background-color:#fff!important;color:#1f2937!important}.category-badge,.excel-table .category-badge{border-radius:4px;box-shadow:0 1px 2px #0000001a;display:inline-block;font-size:.75rem;font-weight:600;max-width:130px;min-width:60px;overflow:hidden;padding:4px 8px;text-align:center;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.excel-table .category-badge:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.excel-table .category-badge.revenue{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.excel-table .category-badge.fees-income{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff}.excel-table .category-badge.cogs-food{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.excel-table .category-badge.cogs-tea-coffee{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.excel-table .category-badge.cogs-other-bev{background:linear-gradient(135deg,#b91c1c,#991b1b);color:#fff}.excel-table .category-badge.cogs-wine{background:linear-gradient(135deg,#991b1b,#7f1d1d);color:#fff}.excel-table .category-badge.cogs-liquor{background:linear-gradient(135deg,#fca5a5,#f87171);color:#7f1d1d}.excel-table .category-badge.cogs-beer{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.excel-table .category-badge.cogs-retails{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff}.excel-table .category-badge.labor-foh-salaried{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.excel-table .category-badge.labor-foh-hourly{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}.excel-table .category-badge.labor-foh-ot{background:linear-gradient(135deg,#93c5fd,#60a5fa);color:#1e3a8a}.excel-table .category-badge.labor-boh-salaried{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.excel-table .category-badge.labor-boh-hourly{background:linear-gradient(135deg,#1d4ed8,#1e40af);color:#fff}.excel-table .category-badge.labor-boh-ot{background:linear-gradient(135deg,#1e40af,#1e3a8a);color:#fff}.excel-table .category-badge.employer-taxes{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.excel-table .category-badge.staff-insurance{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.excel-table .category-badge.contract-labor{background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#fff}.excel-table .category-badge.other-employee-expenses{background:linear-gradient(135deg,#c4b5fd,#a78bfa);color:#4c1d95}.excel-table .category-badge.restaurant-supplies{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.excel-table .category-badge.maintenance{background:linear-gradient(135deg,#fb923c,#f97316);color:#fff}.excel-table .category-badge.advertising-marketing{background:linear-gradient(135deg,#fdba74,#fb923c);color:#fff}.excel-table .category-badge.other-operating{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#7c2d12}.excel-table .category-badge.general-admin{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.excel-table .category-badge.travel-entertainment{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.excel-table .category-badge.professional-fee{background:linear-gradient(135deg,#fcd34d,#fbbf24);color:#78350f}.excel-table .category-badge.insurance-expense{background:linear-gradient(135deg,#fde68a,#fcd34d);color:#92400e}.excel-table .category-badge.utilities{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.excel-table .category-badge.occupancy-costs{background:linear-gradient(135deg,#d97706,#b45309);color:#fff}.excel-table .category-badge.uncategorized-expenses{background:linear-gradient(135deg,#b45309,#a16207);color:#fff}.excel-table .category-badge.net-income{background:linear-gradient(135deg,#10b981,#059669);border:2px solid #047857;color:#fff;font-weight:700}.excel-table .category-badge.corporate-tax{background:linear-gradient(135deg,#b91c1c,#991b1b);color:#fff}.excel-table .category-badge.depreciation{background:linear-gradient(135deg,#a855f7,#9333ea);color:#fff}.excel-table .category-badge.amortization{background:linear-gradient(135deg,#d946ef,#c026d3);color:#fff}.excel-table .category-badge.interest-expense{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff}.excel-table .category-badge.other-expenses{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff}.excel-table .category-badge.other-income{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.excel-table .category-badge.uncategorized{background:linear-gradient(135deg,#d1d5db,#9ca3af);border:2px dashed #6b7280;color:#374151}.excel-table .category-select{background:#fff;border:2px solid #3b82f6;border-radius:6px;box-shadow:0 4px 6px #3b82f61a;color:#1f2937;font-size:.85rem;font-weight:500;padding:8px 12px;width:100%}.excel-table .category-select:focus{border-color:#1d4ed8;box-shadow:0 4px 12px #3b82f633;outline:none}@media (max-width:1200px){.account-name-col,.excel-table .account-name{max-width:140px;min-width:140px;width:140px}.category-col,.excel-table .category{max-width:120px;min-width:120px;width:120px}.excel-table .notes-cell,.notes-col{max-width:130px;min-width:130px;width:130px}.excel-table .period-value,.period-col{max-width:84px;min-width:84px;width:84px}.excel-table .category,.excel-table .category-col{left:208px}.excel-table .notes-cell,.excel-table .notes-col{left:328px}}.results-header{align-items:flex-start;border-bottom:2px solid #f0dbdb;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.header-left{display:flex;flex-direction:column;gap:1rem}.header-left h2{color:var(--text);font-size:1.8rem;margin:0}.edit-hint{align-items:center;color:#667eea;display:flex;font-size:.9rem;gap:.5rem;margin:0}.header-actions{align-items:flex-start;gap:1rem}.category-button,.export-button,.json-button,.reset-button{align-items:center;border:1px solid #0000;border-radius:10px;box-shadow:var(--shadow);box-sizing:border-box;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;height:42px;isolation:isolate;margin:0;overflow:hidden;padding:.75rem 1.25rem;position:relative;transform:translateZ(0);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}.export-button{background:linear-gradient(90deg,var(--accent) 0,var(--accent) 50%,#0000 50%,#0000 100%)!important;background-position:100% 0!important;background-size:200% 100%!important;border:1px solid var(--accent)!important;color:var(--accent)!important;font-weight:700;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),letter-spacing .5s cubic-bezier(.22,1,.36,1),transform .2s ease!important}.export-button:hover{background-position:0 0!important;box-shadow:0 8px 25px #f5656559;color:#fff!important;letter-spacing:.3px;transform:translateY(-1px)}.export-button:active{filter:brightness(.98);transform:translateY(0)}.export-button-group{align-items:flex-start;display:flex;flex-direction:column;gap:6px;margin:0;padding:0}.header-actions>.json-button,.header-actions>.qoe-button,.header-actions>.reset-button{align-self:flex-start;margin-top:0}.referencing-toggle{align-items:center;border-radius:6px;color:var(--muted);cursor:pointer;display:flex;font-size:.75rem;gap:8px;padding:4px 8px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.referencing-toggle:hover{background:var(--panel-2);color:var(--text)}.referencing-toggle input[type=checkbox]{appearance:none;-webkit-appearance:none;background:var(--panel);border:2px solid var(--border);border-radius:3px;cursor:pointer;display:grid;height:16px;margin:0;place-content:center;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);width:16px}.referencing-toggle input[type=checkbox]:hover{border-color:var(--accent)}.referencing-toggle input[type=checkbox]:checked{background:var(--panel-2);border-color:var(--accent)}.referencing-toggle input[type=checkbox]:after{color:var(--accent);content:"✓";font-size:12px;font-weight:900;transform:scale(0);transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.referencing-toggle input[type=checkbox]:checked:after{transform:scale(1)}.referencing-toggle input[type=checkbox]:active{transform:scale(.9)}.referencing-toggle svg{color:var(--muted);transition:color .2s ease}.referencing-toggle input[type=checkbox]:checked+svg,.referencing-toggle:hover svg{color:var(--accent)}.referencing-toggle span{white-space:nowrap}.referencing-toggle input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.referencing-toggle:has(input:disabled){cursor:not-allowed;opacity:.5}.category-button{background:linear-gradient(90deg,var(--accent) 0,var(--accent) 50%,#0000 50%,#0000 100%)!important;background-position:100% 0!important;background-size:200% 100%!important;border:1px solid var(--accent)!important;color:var(--accent)!important;font-weight:700;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),letter-spacing .5s cubic-bezier(.22,1,.36,1),transform .2s ease!important}.category-button:hover{background-position:0 0!important;box-shadow:0 8px 25px #f5656559;color:#fff!important;letter-spacing:.3px;transform:translateY(-1px)}.category-button:active{filter:brightness(.98);transform:translateY(0)}.reset-button{background:linear-gradient(90deg,var(--accent) 0,var(--accent) 50%,#0000 50%,#0000 100%)!important;background-position:100% 0!important;background-size:200% 100%!important;border:1px solid var(--accent)!important;color:var(--accent)!important;font-weight:700;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),letter-spacing .5s cubic-bezier(.22,1,.36,1),transform .2s ease!important}.reset-button:hover{background-position:0 0!important;box-shadow:0 8px 25px #f5656559;color:#fff!important;letter-spacing:.3px}.reset-button:active{filter:brightness(.98);transform:translateY(0)}.json-button{background:linear-gradient(90deg,var(--accent) 0,var(--accent) 50%,#0000 50%,#0000 100%)!important;background-position:100% 0!important;background-size:200% 100%!important;border:1px solid var(--accent)!important;color:var(--accent)!important;font-weight:700;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),letter-spacing .5s cubic-bezier(.22,1,.36,1),transform .2s ease!important}.json-button:hover{background-position:0 0!important;box-shadow:0 8px 25px #f5656559;color:#fff!important;letter-spacing:.3px;transform:translateY(-1px)}.json-button:active{filter:brightness(.98);transform:translateY(0)}.category-button:after,.export-button:after,.json-button:after,.reset-button:after{background:radial-gradient(circle at center,#ffffff59,#ffffff14 60%,#0000 70%);content:"";height:200%;left:-30%;pointer-events:none;position:absolute;top:-50%;transform:translateX(-140%) rotate(15deg);transition:transform .6s ease;width:60%;z-index:0}.category-button:hover:after,.export-button:hover:after,.json-button:hover:after,.reset-button:hover:after{transform:translateX(220%) rotate(15deg)}.category-button svg,.export-button svg,.json-button svg,.reset-button svg{opacity:.9;position:relative;transform:translateX(2px);transition:transform .25s ease,opacity .25s ease;z-index:1}.category-button:hover svg,.export-button:hover svg,.json-button:hover svg,.reset-button:hover svg{opacity:1;transform:translateX(6px)}.category-button span,.export-button span,.json-button span,.reset-button span{position:relative;z-index:1}.summary-section{background:linear-gradient(135deg,#fefbfb,#fbf8f8);border:1px solid #f3e2e2;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.summary-cards{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.summary-cards{gap:1rem;grid-template-columns:1fr}}.summary-card{background:var(--panel);border-radius:6px;padding:1rem}.summary-card h3{color:var(--text);font-size:1.2rem;margin:0 0 .5rem}.summary-card h4{color:var(--text);font-size:1rem;margin:0 0 .75rem}.summary-card p{font-size:1rem;margin:0}.summary-section{background:linear-gradient(135deg,#fefbfb,#fcf7f7);border:1px solid #f9dcdc;border-radius:12px}.summary-card{background:linear-gradient(135deg,#fffdfd,#fff);border:1px solid #f8d3d3;box-shadow:0 2px 8px #f5656514}.summary-card h3,.summary-card h4{color:var(--text)}.summary-card p{color:var(--muted)}.results-container.multi-period .summary-section{background:#0000!important;border:none!important;padding-top:0}.results-container.multi-period .summary-cards{display:flex;justify-content:flex-start}.results-container.multi-period .summary-card.overview{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;margin:0;max-width:280px;padding:18px;text-align:left;width:100%}.results-container.multi-period .overview-header{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:12px;width:100%}.results-container.multi-period .overview-header h3{color:var(--text);font-size:18px;font-weight:600;margin:0;text-align:center}.results-container.multi-period .metrics-box{background:#0000;border:none;border-radius:0;margin:4px auto 0;max-width:320px;padding:0;width:100%}.results-container.multi-period .overview-metrics{display:flex;flex-direction:column;gap:10px}.results-container.multi-period .overview-metrics .metric{align-items:center;color:var(--muted);display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:flex-start}.results-container.multi-period .overview-metrics .metric span{color:var(--muted);margin-right:0}.results-container.multi-period .overview-metrics .metric strong{color:var(--text);font-weight:600}.filtered-count{color:var(--accent)!important;font-weight:600;margin-top:.25rem!important}.section-counts{display:flex;flex-direction:column;gap:.5rem}.count-item{align-items:center;display:flex;justify-content:space-between;padding:.25rem 0}.count-label{color:#2d3748;font-size:.9rem;font-weight:500}.count-value{background:#e2e8f0;border-radius:12px;color:#4a5568;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:80vh;max-width:800px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.5rem 2rem}.modal-header h3{color:#2d3748;font-size:1.25rem;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:#a0aec0;cursor:pointer;padding:.5rem;transition:all .2s}.modal-close:hover{background:#f7fafc;color:#4a5568}.modal-body{padding:2rem}.category-sections{display:flex;flex-direction:column;gap:2rem}.category-section h4{border-bottom:1px solid var(--border);color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.category-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.category-item{align-items:center;background:#f7fafc;border:1px solid var(--border);border-radius:6px;display:flex;justify-content:space-between;padding:.75rem;transition:all .2s}.category-item:hover{background:#edf2f7;border-color:#cbd5e0}.category-name{color:#2d3748;font-size:.9rem;font-weight:500}.category-count{background:#667eea;border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.controls-section{grid-gap:1rem;background:#f7fafc;border-radius:8px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem;padding:1rem}.results-table-container{background:var(--panel)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow)}.results-table,.results-table td{background:var(--panel);color:var(--text)}.results-table tbody tr:nth-child(2n) td{background:var(--panel-2)}.excel-view{background:var(--panel)!important;border:1px solid var(--border)!important}.excel-table td{background:var(--panel)}.excel-table td,.excel-table th{border:1px solid var(--border);color:var(--text)}.excel-table th{background:var(--panel-2)}.controls-section.multi-period{background:var(--panel);border:1px solid var(--border)}.filter-group select{background:var(--panel-2)}.filter-group select:focus{box-shadow:0 0 0 3px #60a5fa1a}.results-container.multi-period .period-value .value{background:#0000;border:none}.results-container.multi-period .period-value .value.positive{color:#1e293b}.results-container.multi-period .period-value .value.negative{color:#dc2626}.results-container.multi-period .period-value .value.neutral{color:#475569}@media (max-width:768px){.controls-section{grid-template-columns:1fr}.results-header{align-items:flex-start;flex-direction:column;gap:1rem}.header-actions{align-self:stretch;flex-wrap:wrap}.modal-body,.modal-overlay{padding:1rem}.category-grid{grid-template-columns:1fr}}.filter-group{gap:.5rem}.filter-group label{color:var(--text);font-size:.9rem;font-weight:600}.filter-group select{background:var(--panel);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:.9rem;padding:.5rem}.results-table-container{background:var(--panel);border:1px solid #eddede;border-radius:8px;box-shadow:0 2px 12px #f565650f;overflow-x:auto}.results-table{border-collapse:collapse;font-size:.9rem;width:100%}.results-table th{background:#f7fafc;border-bottom:2px solid var(--border);color:#2d3748;font-weight:600;line-height:1.1;padding:6px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:10}.results-table td{border-bottom:1px solid var(--border);line-height:1.1;padding:2px 6px;vertical-align:middle}.account-row{animation:fadeIn .5s ease-in-out}.account-row:hover{background:var(--panel-2)}.original-name{color:#2d3748;font-weight:500;max-width:200px}.editable-cell{gap:.5rem;padding:.25rem;transition:background-color .2s}.editable-cell:hover{background:#f7fafc}.editable-cell .edit-icon{color:#a0aec0;transition:opacity .2s}.edit-cell{gap:.5rem;position:relative}.edit-select{background:#fff;border:1px solid #667eea;border-radius:4px;font-size:.8rem;max-width:250px;min-width:200px;padding:.25rem .5rem}.edit-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.edit-select optgroup{background:#f7fafc;color:#2d3748;font-weight:600}.edit-select option{font-weight:400;padding:.25rem}.edit-input{background:#fff;border:1px solid #667eea;border-radius:4px;font-family:Courier New,monospace;font-size:.8rem;max-width:150px;min-width:120px;padding:.25rem .5rem;text-align:right}.edit-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.edit-input::placeholder{color:#a0aec0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem}.edit-actions{gap:.25rem}.edit-cancel,.edit-save{background:none;border-radius:3px;padding:.25rem;transition:background-color .2s}.edit-save{color:#48bb78}.edit-save:hover{background:#f0fff4}.edit-cancel{color:#e53e3e}.edit-cancel:hover{background:#fed7d7}.section-badge{border-radius:4px;font-size:.8rem;font-weight:500;padding:.25rem .5rem;text-transform:capitalize}.section-badge.income-statement{background:#c6f6d5;color:#22543d}.section-badge.cash-flow{background:#fbb6ce;color:#702459}.section-badge.unknown{background:#e2e8f0;color:#4a5568}.category-badge{background:#667eea;border-radius:4px;color:#fff;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.value{text-align:right}.value,.value-display{font-family:Courier New,monospace;font-weight:600}.value-display.positive{color:#38a169}.value-display.negative{color:#e53e3e}.value-display.neutral{color:#4a5568}.notes-cell{max-width:300px}.notes-container{position:relative}.notes-text{word-wrap:break-word;color:#4a5568;line-height:1.4;overflow-wrap:break-word}.notes-text:not(.expanded){max-height:4.2em;overflow:hidden;position:relative}.notes-text:not(.expanded):after{background:linear-gradient(to right,#0000,var(--panel) 50%);bottom:0;content:"";height:1.4em;pointer-events:none;position:absolute;right:0;width:30px}.notes-text.expanded{max-height:none;overflow:visible}.notes-toggle{align-items:center;background:none;border:none;color:#667eea;cursor:pointer;display:flex;font-size:.8rem;gap:.25rem;margin-top:.5rem;padding:.25rem 0}.notes-toggle:hover{color:#5a6fd8}.no-results{color:#718096;padding:3rem;text-align:center}.no-results p{font-size:1.1rem;margin:0 0 .5rem}.no-results p:last-child{color:#a0aec0;font-size:1rem;margin:0}.results-container.multi-period{overflow-anchor:auto;scroll-behavior:smooth}.progress-overview-container{align-items:flex-start;display:flex;gap:1.5rem;margin:20px 0}.progress-section{flex:0 0 auto;min-width:0;padding:0}.progress-overview-container .progress-section .progress-tracker{margin:0;max-width:400px;padding:18px;width:100%}.progress-overview-container .progress-section .progress-tracker.multi-section{max-width:400px;padding:18px}.progress-overview-container .progress-section .progress-header{margin-bottom:16px}.progress-overview-container .progress-section .progress-title h3{font-size:16px}.progress-overview-container .progress-section .progress-title p{font-size:13px}.progress-overview-container .progress-section .progress-stats{flex-wrap:wrap;gap:16px}.progress-overview-container .progress-section .stat-item{font-size:13px}.progress-overview-container .summary-section{flex:1 1 auto;margin:0;min-width:0;padding:0}@media (max-width:1024px){.progress-overview-container{flex-direction:column}.progress-overview-container .progress-section .progress-tracker{max-width:100%}}.period-table-container{background:var(--panel);border:none;border-radius:8px;max-height:300px;overflow-y:auto;scroll-behavior:smooth;transition:max-height .3s ease}.period-table-container.expanded{max-height:600px}.period-footer{background:#f8fafc;border-radius:0 0 8px 8px;border-top:1px solid var(--border);padding:12px 16px}.more-accounts{align-items:center;color:#64748b;display:flex;font-size:14px;gap:8px;margin:0}.show-all-button{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:14px;padding:0;text-decoration:underline}.show-all-button:hover{color:#1d4ed8;-webkit-text-decoration-color:#1d4ed8;text-decoration-color:#1d4ed8}.show-all-button:active{transform:translateY(1px)}.button-spinner{border:2px solid #fff;border-top-color:#0000;margin-right:0}.category-button:disabled,.export-button:disabled,.json-button:disabled,.reset-button:disabled{cursor:not-allowed;filter:grayscale(.3);opacity:.6}.category-button:disabled:hover,.export-button:disabled:hover,.json-button:disabled:hover,.reset-button:disabled:hover{filter:grayscale(.3);transform:none}.category-button:disabled:after,.export-button:disabled:after,.json-button:disabled:after,.reset-button:disabled:after{display:none}.category-button:disabled svg,.export-button:disabled svg,.json-button:disabled svg,.reset-button:disabled svg{opacity:.6;transform:translateX(2px)}.editable-cell{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:4px;padding:2px 4px;position:relative;transition:background-color .2s ease}.editable-cell:hover{background-color:#faf4f4}.editable-cell .edit-icon{color:#94a3b8;opacity:0;transition:opacity .2s ease}.editable-cell:hover .edit-icon{opacity:1}.category-badge.editable{cursor:pointer}.category-badge.editable:hover{background-color:#e2e8f0}.edit-cell{align-items:center;display:flex;gap:8px;width:100%}.edit-input,.edit-select{border:1px solid #3b82f6;border-radius:4px;flex:1 1;font-size:14px;min-width:120px;padding:2px 6px}.edit-input:focus,.edit-select:focus{border-color:#1d4ed8;box-shadow:0 0 0 2px #3b82f633;outline:none}.edit-actions{display:flex;gap:4px}.edit-cancel,.edit-save{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background-color .2s ease}.edit-save{background-color:#10b981;color:#fff}.edit-save:hover{background-color:#059669}.edit-cancel{background-color:#ef4444;color:#fff}.edit-cancel:hover{background-color:#dc2626}.controls-section.multi-period{align-items:end;background:var(--panel)!important;border:1px solid var(--border)!important;border-radius:8px;box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:16px;margin:20px 0;padding:16px}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:150px}.filter-group label{font-weight:500}.filter-group label,.filter-group select{color:var(--text)!important;font-size:14px}.filter-group select{background:var(--panel-2)!important;border:1px solid var(--border)!important;border-radius:6px;padding:8px 12px}.filter-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f5656526;outline:none}.grouped-results{contain:layout style}.period-group{contain:layout;margin-bottom:16px}.account-row{will-change:auto}.results-table-container{overflow-anchor:auto}@media (max-width:768px){.controls-section.multi-period{align-items:stretch;flex-direction:column}.filter-group{min-width:auto}.period-table-container{max-height:250px}}.excel-table .category-combo{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;background-size:12px;border:none;border-radius:4px;box-shadow:0 1px 2px #0000001a;box-sizing:border-box;color:#fff;cursor:pointer;font-size:.75rem;font-weight:600;max-width:none;min-width:200px;overflow:hidden;padding:6px 24px 6px 8px;text-align:left;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap;width:100%!important}.excel-table .category-combo:hover{box-shadow:0 4px 8px #00000026;filter:brightness(1.1);transform:translateY(-1px)}.excel-table .category-combo:focus{box-shadow:0 4px 12px #0003;filter:brightness(1.2);outline:none;transform:translateY(-1px)}.excel-table .category-combo.revenue{background:linear-gradient(135deg,#10b981,#059669)}.excel-table .category-combo.fees-income{background:linear-gradient(135deg,#14b8a6,#0d9488)}.excel-table .category-combo.cogs-food{background:linear-gradient(135deg,#ef4444,#dc2626)}.excel-table .category-combo.cogs-tea-coffee{background:linear-gradient(135deg,#dc2626,#b91c1c)}.excel-table .category-combo.cogs-other-bev{background:linear-gradient(135deg,#b91c1c,#991b1b)}.excel-table .category-combo.cogs-wine{background:linear-gradient(135deg,#991b1b,#7f1d1d)}.excel-table .category-combo.cogs-liquor{background:linear-gradient(135deg,#fca5a5,#f87171);color:#7f1d1d}.excel-table .category-combo.cogs-beer{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.excel-table .category-combo.cogs-retails{background:linear-gradient(135deg,#f43f5e,#e11d48)}.excel-table .category-combo.labor-foh-salaried{background:linear-gradient(135deg,#3b82f6,#2563eb)}.excel-table .category-combo.labor-foh-hourly{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.excel-table .category-combo.labor-foh-ot{background:linear-gradient(135deg,#93c5fd,#60a5fa);color:#1e3a8a}.excel-table .category-combo.labor-boh-salaried{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.excel-table .category-combo.labor-boh-hourly{background:linear-gradient(135deg,#1d4ed8,#1e40af)}.excel-table .category-combo.labor-boh-ot{background:linear-gradient(135deg,#1e40af,#1e3a8a)}.excel-table .category-combo.employer-taxes{background:linear-gradient(135deg,#6366f1,#4f46e5)}.excel-table .category-combo.staff-insurance{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.excel-table .category-combo.contract-labor{background:linear-gradient(135deg,#a78bfa,#8b5cf6)}.excel-table .category-combo.other-employee-expenses{background:linear-gradient(135deg,#c4b5fd,#a78bfa);color:#4c1d95}.excel-table .category-combo.restaurant-supplies{background:linear-gradient(135deg,#f97316,#ea580c)}.excel-table .category-combo.maintenance{background:linear-gradient(135deg,#fb923c,#f97316)}.excel-table .category-combo.advertising-marketing{background:linear-gradient(135deg,#fdba74,#fb923c)}.excel-table .category-combo.other-operating{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#7c2d12}.excel-table .category-combo.general-admin{background:linear-gradient(135deg,#f59e0b,#d97706)}.excel-table .category-combo.travel-entertainment{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.excel-table .category-combo.professional-fee{background:linear-gradient(135deg,#fcd34d,#fbbf24);color:#78350f}.excel-table .category-combo.insurance-expense{background:linear-gradient(135deg,#fde68a,#fcd34d);color:#92400e}.excel-table .category-combo.utilities{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.excel-table .category-combo.occupancy-costs{background:linear-gradient(135deg,#d97706,#b45309)}.excel-table .category-combo.uncategorized-expenses{background:linear-gradient(135deg,#b45309,#a16207)}.excel-table .category-combo.net-income{background:linear-gradient(135deg,#10b981,#059669);border:2px solid #047857;font-weight:700}.excel-table .category-combo.corporate-tax{background:linear-gradient(135deg,#b91c1c,#991b1b)}.excel-table .category-combo.depreciation{background:linear-gradient(135deg,#a855f7,#9333ea)}.excel-table .category-combo.amortization{background:linear-gradient(135deg,#d946ef,#c026d3)}.excel-table .category-combo.interest-expense{background:linear-gradient(135deg,#0ea5e9,#0284c7)}.excel-table .category-combo.other-expenses{background:linear-gradient(135deg,#ec4899,#db2777)}.excel-table .category-combo.other-income{background:linear-gradient(135deg,#22c55e,#16a34a)}.excel-table .category-combo.uncategorized{background:linear-gradient(135deg,#d1d5db,#9ca3af);border:2px dashed #6b7280;color:#374151}.excel-table .category-badge.comp-food-sales,.excel-table .category-combo.comp-food-sales{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600}.excel-table .category-badge.comp-bev-sales,.excel-table .category-combo.comp-bev-sales{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;font-weight:600}.excel-table .category-badge.comp-sales-other,.excel-table .category-combo.comp-sales-other{background:linear-gradient(135deg,#22d3ee,#06b6d4);color:#fff}.excel-table .category-badge.comp-food-cogs,.excel-table .category-combo.comp-food-cogs{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.excel-table .category-badge.comp-bev-cogs,.excel-table .category-combo.comp-bev-cogs{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.excel-table .category-badge.comp-other-cogs,.excel-table .category-combo.comp-other-cogs{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff}.excel-table .category-badge.comp-staff-foh,.excel-table .category-combo.comp-staff-foh{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:600}.excel-table .category-badge.comp-staff-boh,.excel-table .category-combo.comp-staff-boh{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:600}.excel-table .category-badge.comp-staff-temp,.excel-table .category-combo.comp-staff-temp{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}.excel-table .category-badge.comp-staff-mgmt,.excel-table .category-combo.comp-staff-mgmt{background:linear-gradient(135deg,#1d4ed8,#1e40af);color:#fff;font-weight:600}.excel-table .category-badge.comp-staff-oncosts,.excel-table .category-combo.comp-staff-oncosts{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-weight:600}.excel-table .category-badge.comp-repairs,.excel-table .category-combo.comp-repairs{background:linear-gradient(135deg,#fb923c,#f97316);color:#fff}.excel-table .category-badge.comp-marketing,.excel-table .category-combo.comp-marketing{background:linear-gradient(135deg,#fdba74,#fb923c);color:#fff}.excel-table .category-badge.comp-office-supplies,.excel-table .category-combo.comp-office-supplies{background:linear-gradient(135deg,#fcd34d,#fbbf24);color:#78350f}.excel-table .category-badge.comp-prof-fees,.excel-table .category-combo.comp-prof-fees{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.excel-table .category-badge.custom-category,.excel-table .category-combo.custom-category{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.excel-table .category-combo option{background:#fff;color:#374151;font-weight:400;padding:4px 8px}.excel-table .category-combo optgroup{background:#f8fafc;color:#4a5568;font-weight:600;padding:4px 8px}.excel-table .category-cell{align-items:center;border-radius:4px;display:flex;max-width:140px;padding:2px 4px}.excel-table .account-name{font-size:.85rem;font-weight:600;line-height:1;padding-left:6px}.excel-table .account-name.opex-line-item{padding-left:16px}.validation-summary{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);margin:12px 0 16px;padding:12px 14px}.validation-summary.ok{background:var(--panel);border-color:#16a34a;border-left:4px solid #16a34a}.validation-summary.warn{background:var(--panel);border-color:#f59e0b;border-left:4px solid #f59e0b}.validation-summary.fixed{background:var(--panel);border-color:#fb923c;border-left:4px solid #fb923c}.validation-summary.loading{background:var(--panel);border-color:var(--border)}.validation-loading{align-items:center;display:flex;gap:12px;padding:8px 2px}.validation-spinner{animation:valspin 1s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:18px;width:18px}@keyframes valspin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.validation-phrase{color:var(--text);font-size:13px}.validation-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.validation-header h3{color:var(--text);font-size:14px;font-weight:600;margin:0}.validation-status{color:var(--text);font-size:13px;margin:4px 0 8px}.validation-periods{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.validation-period{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);display:flex;justify-content:space-between;padding:8px 12px;transition:all .2s ease}.validation-period:hover{background:#ffffff0f;border-color:var(--accent);box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.validation-period.ok{background-color:#22c55e26;border:1px solid #22c55e4d;color:#4ade80}.validation-period.ok:hover{background-color:#22c55e40;border-color:#22c55e}.validation-period.warn{background-color:#f59e0b26;border:1px solid #f59e0b4d;color:#fbbf24}.validation-period.warn:hover{background-color:#f59e0b40;border-color:#f59e0b}.validation-period.fixed{background-color:#fb923c26;border:1px solid #fb923c59;color:#fb923c}.validation-period.fixed:hover{background-color:#fb923c40;border-color:#fb923c;box-shadow:0 2px 8px #fb923c4d}.validation-period .vp-status{font-weight:600}.vp-score-badge{border:1px solid #0000;border-radius:9999px;display:inline-block;font-size:12px;font-weight:600;min-width:48px;padding:3px 8px;text-align:center}.vp-score-badge.good{background:#22c55e33;border-color:#22c55e4d;color:#4ade80}.vp-score-badge.ok{background:#f59e0b33;border-color:#f59e0b4d;color:#fbbf24}.vp-score-badge.warn{background:#ef444433;border-color:#ef44444d;color:#f87171}.validation-detail{background:var(--panel-2);border-radius:6px;border-top:1px solid var(--border);box-shadow:inset 0 1px 3px #0003;margin-top:12px;padding:12px}.vd-section{margin-bottom:12px}.vd-title{border-bottom:1px solid var(--border);color:var(--text);font-size:14px;font-weight:600;margin-bottom:8px;padding-bottom:4px}.validation-fixes-notice{background:#fb923c1f;border:1px solid #fb923c4d;border-radius:6px;color:#fb923c;font-size:13px;font-weight:500;margin:8px 0;padding:8px 12px}.ni-comparison{display:flex;flex-direction:column;font-size:.95rem;gap:8px}.ni-row{align-items:center;background:var(--panel);border-radius:4px;display:flex;justify-content:space-between;padding:6px 8px}.ni-row.difference{border-top:2px solid var(--border);font-weight:600;margin-top:4px;padding-top:10px}.ni-label{color:var(--text-secondary);font-weight:500}.ni-value{font-family:SF Mono,Monaco,Consolas,monospace;font-weight:600}.ni-value.positive{color:#10b981}.ni-value.negative{color:#ef4444}.ni-value.neutral{color:var(--text)}.vd-list{color:var(--muted);font-size:13px;line-height:1.4;margin:0;padding-left:18px}.vd-list li{color:var(--text);margin-bottom:4px}.validation-period{cursor:pointer}.validation-period.expanded{background:#fdf2f2;border-color:var(--accent);box-shadow:0 2px 8px #f5656533}.validation-detail{animation:expandValidation .3s ease-out}@keyframes expandValidation{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:500px;opacity:1;transform:translateY(0)}}.validation-suggestions{padding:0}.suggestion-item,.validation-suggestions{display:flex;flex-direction:column;gap:14px}.suggestion-item{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 4px #0000001a;padding:16px;transition:all .2s ease}.suggestion-item:hover{border-color:var(--accent);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.suggestion-item.reclassify{border-left:4px solid var(--accent)}.suggestion-item.exclude{border-left:4px solid #f59e0b}.suggestion-item.applied{background:var(--panel);opacity:.7}.suggestion-content{display:flex;flex-direction:column;gap:12px}.suggestion-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.suggestion-item .account-name{color:var(--text);flex:1 1;font-size:15px;font-weight:700;min-width:150px}.action-badge{border-radius:6px;box-shadow:0 1px 2px #0003;color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.action-badge.reclassify{background:linear-gradient(135deg,var(--accent),#e45858)}.action-badge.exclude{background:linear-gradient(135deg,#f59e0b,#d97706)}.suggestion-value{background:var(--panel);border:1px solid var(--border);border-radius:4px;color:var(--muted);font-family:Courier New,monospace;font-size:14px;font-weight:600;padding:3px 8px}.suggestion-details{color:var(--text);display:flex;flex-direction:column;font-size:14px;gap:10px}.current-mapping,.recommended-mapping{align-items:center;display:flex;gap:12px}.mapping-label{color:var(--muted);font-size:13px;font-weight:600;min-width:80px}.suggestion-reason{background:var(--panel);border-left:3px solid var(--border);border-radius:6px;color:var(--muted);font-size:13px;font-style:italic;line-height:1.5;padding:10px 12px}.suggestion-details .category-badge.revenue{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.suggestion-details .category-badge.fees-income{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff}.suggestion-details .category-badge.cogs-food{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.suggestion-details .category-badge.cogs-tea-coffee{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.suggestion-details .category-badge.cogs-other-bev{background:linear-gradient(135deg,#b91c1c,#991b1b);color:#fff}.suggestion-details .category-badge.cogs-wine{background:linear-gradient(135deg,#991b1b,#7f1d1d);color:#fff}.suggestion-details .category-badge.cogs-liquor{background:linear-gradient(135deg,#fca5a5,#f87171);color:#7f1d1d}.suggestion-details .category-badge.cogs-beer{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.suggestion-details .category-badge.cogs-retails{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff}.suggestion-details .category-badge.labor-foh-salaried{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.suggestion-details .category-badge.labor-foh-hourly{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}.suggestion-details .category-badge.labor-foh-ot{background:linear-gradient(135deg,#93c5fd,#60a5fa);color:#1e3a8a}.suggestion-details .category-badge.labor-boh-salaried{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.suggestion-details .category-badge.labor-boh-hourly{background:linear-gradient(135deg,#1d4ed8,#1e40af);color:#fff}.suggestion-details .category-badge.labor-boh-ot{background:linear-gradient(135deg,#1e40af,#1e3a8a);color:#fff}.suggestion-details .category-badge.employer-taxes{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.suggestion-details .category-badge.staff-insurance{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.suggestion-details .category-badge.contract-labor{background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#fff}.suggestion-details .category-badge.other-employee-expenses{background:linear-gradient(135deg,#c4b5fd,#a78bfa);color:#4c1d95}.suggestion-details .category-badge.restaurant-supplies{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.suggestion-details .category-badge.maintenance{background:linear-gradient(135deg,#fb923c,#f97316);color:#fff}.suggestion-details .category-badge.advertising-marketing{background:linear-gradient(135deg,#fdba74,#fb923c);color:#fff}.suggestion-details .category-badge.other-operating{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#7c2d12}.suggestion-details .category-badge.general-admin{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.suggestion-details .category-badge.travel-entertainment{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.suggestion-details .category-badge.professional-fee{background:linear-gradient(135deg,#fcd34d,#fbbf24);color:#78350f}.suggestion-details .category-badge.insurance-expense{background:linear-gradient(135deg,#fde68a,#fcd34d);color:#92400e}.suggestion-details .category-badge.utilities{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.suggestion-details .category-badge.occupancy-costs{background:linear-gradient(135deg,#d97706,#b45309);color:#fff}.suggestion-details .category-badge.uncategorized-expenses{background:linear-gradient(135deg,#b45309,#a16207);color:#fff}.suggestion-details .category-badge.net-income{background:linear-gradient(135deg,#10b981,#059669);border:2px solid #047857;color:#fff;font-weight:700}.suggestion-details .category-badge.corporate-tax{background:linear-gradient(135deg,#b91c1c,#991b1b);color:#fff}.suggestion-details .category-badge.depreciation{background:linear-gradient(135deg,#a855f7,#9333ea);color:#fff}.suggestion-details .category-badge.amortization{background:linear-gradient(135deg,#d946ef,#c026d3);color:#fff}.suggestion-details .category-badge.interest-expense{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff}.suggestion-details .category-badge.other-expenses{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff}.suggestion-details .category-badge.other-income{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.suggestion-details .category-badge.uncategorized{background:linear-gradient(135deg,#d1d5db,#9ca3af);border:2px dashed #6b7280;color:#374151}.apply-suggestion-btn{align-items:center;align-self:flex-start;background:linear-gradient(135deg,var(--accent),#e45858);border:none;border-radius:8px;box-shadow:0 2px 4px #f565654d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:6px;justify-content:center;padding:10px 18px;transition:all .2s ease}.apply-suggestion-btn:hover{background:linear-gradient(135deg,#e45858,#e04242);box-shadow:0 4px 8px #f5656566;transform:translateY(-1px)}.apply-suggestion-btn:active{transform:translateY(0)}.suggestion-applied{align-items:center;align-self:flex-start;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:8px;color:#22c55e;display:flex;font-size:14px;font-weight:700;gap:6px;padding:10px 18px}.comparative-section-wrapper{background:var(--panel);border:1px solid var(--border);border-radius:8px;margin-bottom:4rem;overflow:hidden}.section-header-bar{align-items:center;background:var(--panel-2);border-bottom:1px solid var(--border);display:flex;padding:1rem 1.5rem}.section-header-bar h3{align-items:center;color:var(--text);display:flex;font-size:1.25rem;font-weight:600;gap:.75rem;margin:0}.section-header-bar h3:before{background:var(--accent);border-radius:2px;content:"";display:block;height:24px;width:4px}.entity-section{border-bottom:1px solid var(--border);margin-bottom:0}.entity-section:last-child{border-bottom:none}.entity-header{align-items:center;background:var(--panel-2);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:.75rem 1.5rem}.entity-title{color:var(--text);font-size:1rem;font-weight:600}.entity-count{background:var(--panel);border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:.75rem;padding:.25rem .75rem}.entity-section .results-table-container{border:none;border-radius:0;box-shadow:none;max-height:450px;overflow-y:auto}.progress-tracker.multi-section{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);margin-bottom:2rem;padding:1.5rem;transition:all .3s ease}.progress-tracker.multi-section.active{background:#fef6f6;border-color:var(--accent)}.progress-tracker.multi-section.completed{background:#10b9810d;border-color:#10b981}.sections-list{gap:1rem;margin-top:1.5rem}.section-item,.sections-list{display:flex;flex-direction:column}.section-item{gap:.5rem}.section-info{color:var(--text);font-size:.9rem;font-weight:500;justify-content:space-between}.section-info,.section-stats{align-items:center;display:flex}.section-stats{color:var(--muted);font-family:SF Mono,monospace;font-size:.8rem;gap:.5rem}.section-item.completed .section-name{color:#10b981}.section-item.active .section-name{color:var(--accent)}.section-item.pending .section-name{color:var(--muted)}.progress-bar.mini{background:var(--border);border-radius:3px;height:6px;overflow:hidden;width:100%}.progress-bar.mini .progress-fill{background:var(--accent);height:100%;transition:width .3s ease}.section-item.completed .progress-fill{background:#10b981}.section-item.pending .progress-fill{background:#0000}.category-badge.revenue-green,.excel-table .category-badge.revenue-green,.excel-table .category-combo.revenue-green,.suggestion-details .category-badge.revenue-green{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important}.category-badge.income-green,.excel-table .category-combo.income-green{background:linear-gradient(135deg,#22c55e,#16a34a)!important;color:#fff!important}.category-badge.sales-green,.excel-table .category-combo.sales-green{background:linear-gradient(135deg,#34d399,#10b981)!important;color:#fff!important}.category-badge.cogs-orange,.excel-table .category-combo.cogs-orange{background:linear-gradient(135deg,#f97316,#ea580c)!important;color:#fff!important}.category-badge.cost-orange,.excel-table .category-combo.cost-orange{background:linear-gradient(135deg,#fb923c,#f97316)!important;color:#fff!important}.category-badge.opex-amber,.excel-table .category-combo.opex-amber{background:linear-gradient(135deg,#f59e0b,#d97706)!important;color:#fff!important}.category-badge.expense-amber,.excel-table .category-combo.expense-amber{background:linear-gradient(135deg,#fbbf24,#f59e0b)!important;color:#fff!important}.category-badge.expense-insurance,.excel-table .category-combo.expense-insurance{background:linear-gradient(135deg,#06b6d4,#0891b2)!important;color:#fff!important}.category-badge.expense-legal,.excel-table .category-combo.expense-legal{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important;color:#fff!important}.category-badge.expense-taxes,.excel-table .category-combo.expense-taxes{background:linear-gradient(135deg,#ec4899,#db2777)!important;color:#fff!important}.category-badge.expense-travel,.excel-table .category-combo.expense-travel{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important}.category-badge.expense-advertising,.excel-table .category-combo.expense-advertising{background:linear-gradient(135deg,#f97316,#ea580c)!important;color:#fff!important}.category-badge.expense-rent,.excel-table .category-combo.expense-rent{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;color:#fff!important}.category-badge.expense-other-business,.excel-table .category-combo.expense-other-business{background:linear-gradient(135deg,#64748b,#475569)!important;color:#fff!important}.category-badge.expense-red,.excel-table .category-combo.expense-red{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important}.category-badge.expense-rose,.excel-table .category-combo.expense-rose{background:linear-gradient(135deg,#fb7185,#f43f5e)!important;color:#fff!important}.category-badge.other-income-teal,.excel-table .category-combo.other-income-teal{background:linear-gradient(135deg,#14b8a6,#0d9488)!important;color:#fff!important}.category-badge.income-teal,.excel-table .category-combo.income-teal{background:linear-gradient(135deg,#2dd4bf,#14b8a6)!important;color:#fff!important}.category-badge.other-income-cyan,.excel-table .category-combo.other-income-cyan{background:linear-gradient(135deg,#06b6d4,#0891b2)!important;color:#fff!important}.category-badge.other-expense-purple,.excel-table .category-combo.other-expense-purple{background:linear-gradient(135deg,#a855f7,#9333ea)!important;color:#fff!important}.category-badge.expense-purple,.excel-table .category-combo.expense-purple{background:linear-gradient(135deg,#c084fc,#a855f7)!important;color:#fff!important}.category-badge.other-expense-fuchsia,.excel-table .category-combo.other-expense-fuchsia{background:linear-gradient(135deg,#d946ef,#c026d3)!important;color:#fff!important}.category-badge.asset-blue,.excel-table .category-combo.asset-blue{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important}.category-badge.asset-sky,.excel-table .category-combo.asset-sky{background:linear-gradient(135deg,#0ea5e9,#0284c7)!important;color:#fff!important}.category-badge.liability-rose,.excel-table .category-combo.liability-rose{background:linear-gradient(135deg,#f43f5e,#e11d48)!important;color:#fff!important}.category-badge.liability-red,.excel-table .category-combo.liability-red{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important}.category-badge.equity-indigo,.excel-table .category-combo.equity-indigo{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;color:#fff!important}.category-badge.equity-violet,.excel-table .category-combo.equity-violet{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important;color:#fff!important}.category-badge.uncategorized-gray,.excel-table .category-combo.uncategorized-gray{background:linear-gradient(135deg,#6b7280,#4b5563)!important;color:#fff!important}.category-badge.uncategorized-slate,.excel-table .category-combo.uncategorized-slate{background:linear-gradient(135deg,#64748b,#475569)!important;color:#fff!important}.category-badge.default-slate{background:linear-gradient(135deg,#94a3b8,#64748b)!important;color:#fff!important}.category-badge.custom-category{background:linear-gradient(135deg,#8b5cf6,#6366f1)!important;color:#fff!important}.merger-source-legend{background:var(--panel);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:12px 16px}.merger-source-legend .legend-header{align-items:center;color:var(--text);display:flex;font-size:.9rem;font-weight:600;gap:8px;margin-bottom:10px}.merger-source-legend .legend-header svg{color:var(--muted)}.merger-source-legend .legend-items{display:flex;flex-wrap:wrap;gap:16px}.merger-source-legend .legend-item{align-items:center;display:flex;font-size:.85rem;gap:8px}.merger-source-legend .source-badge-legend{align-items:center;border-radius:4px;color:#fff;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:22px;justify-content:center;width:22px}.merger-source-legend .legend-file-name{color:var(--text);font-weight:500}.merger-source-legend .legend-sheet-name{color:var(--muted);font-size:.8rem}.sources-col{min-width:80px;text-align:center;width:80px}.sources-cell{padding:4px 8px;text-align:center;vertical-align:middle}.source-badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.source-badge{border-radius:4px;cursor:default;display:inline-flex;flex-shrink:0;font-size:.7rem;height:22px;transition:transform .15s ease;width:22px}.source-badge:hover{transform:scale(1.1)}.qoe-button{align-items:center;background:linear-gradient(90deg,#8b5cf6,#8b5cf6 50%,#0000 0,#0000)!important;background-position:100% 0!important;background-size:200% 100%!important;border:1px solid #0000;border:1px solid #8b5cf6!important;border-radius:10px;color:#8b5cf6!important;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;overflow:hidden;padding:.75rem 1.25rem;position:relative;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),letter-spacing .5s cubic-bezier(.22,1,.36,1),transform .2s ease!important}.qoe-button:hover:not(:disabled){background-position:0 0!important;box-shadow:0 8px 25px #8b5cf659;color:#fff!important;letter-spacing:.3px;transform:translateY(-1px)}.qoe-button:active:not(:disabled){filter:brightness(.98);transform:translateY(0)}.qoe-button:disabled{cursor:not-allowed;filter:grayscale(.3);opacity:.6}.qoe-button:disabled:hover{box-shadow:none;transform:none}.qoe-button:after{background:radial-gradient(circle at center,#ffffff59,#ffffff14 60%,#0000 70%);content:"";height:200%;left:-30%;pointer-events:none;position:absolute;top:-50%;transform:translateX(-140%) rotate(15deg);transition:transform .6s ease;width:60%}.qoe-button:hover:not(:disabled):after{transform:translateX(220%) rotate(15deg)}.qoe-button svg{opacity:.9;position:relative;transform:translateX(2px);transition:transform .25s ease,opacity .25s ease;z-index:1}.qoe-button:hover:not(:disabled) svg{opacity:1;transform:translateX(6px)}.qoe-panel{background:var(--panel);border:1px solid #8b5cf6;border-radius:12px;box-shadow:0 4px 20px #8b5cf626;margin-bottom:16px;overflow:hidden}.qoe-panel-header{align-items:center;background:linear-gradient(135deg,#8b5cf626,#8b5cf60d);border-bottom:1px solid #8b5cf64d;display:flex;justify-content:space-between;padding:16px 20px}.qoe-header-left{align-items:center;display:flex;gap:12px}.qoe-header-left h3{color:var(--text);font-size:1rem;font-weight:700;margin:0}.qoe-icon{color:#8b5cf6}.qoe-count{background:#8b5cf6;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 10px}.qoe-header-right{align-items:center;display:flex;gap:16px}.qoe-total-value{color:#8b5cf6;font-size:.9rem;font-weight:600}.qoe-toggle-btn{background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;padding:6px 8px;transition:all .2s ease}.qoe-toggle-btn:hover{background:var(--panel-2);color:var(--text)}.qoe-panel-body{max-height:400px;overflow-y:auto;padding:16px 20px}.qoe-panel.qoe-master-detail .qoe-panel-body{max-height:500px;overflow:hidden}.qoe-split-layout{grid-gap:0;display:grid;gap:0;grid-template-columns:280px 1fr;height:100%}.qoe-sidebar{border-right:1px solid var(--border);display:flex;flex-direction:column;height:450px}.qoe-sidebar-header{background:var(--panel-2);border-bottom:1px solid var(--border);color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase}.qoe-candidate-list{flex:1 1;overflow-y:auto;padding:8px}.qoe-candidate-item{border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px;margin-bottom:4px;padding:10px 12px;transition:all .15s ease}.qoe-candidate-item:hover{background:var(--panel-2)}.qoe-candidate-item.selected{background:#8b5cf61a;border-color:#8b5cf666}.qoe-candidate-row{align-items:center;display:flex;gap:8px}.qoe-priority-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.qoe-candidate-name{color:var(--text);font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qoe-candidate-meta{align-items:center;display:flex;justify-content:space-between;padding-left:16px}.qoe-candidate-value{color:var(--muted);font-family:JetBrains Mono,SF Mono,monospace;font-size:.75rem}.qoe-candidate-confidence{color:#8b5cf6;font-size:.7rem;font-weight:600}.qoe-detail-panel{height:450px;overflow-y:auto;padding:20px 24px}.qoe-detail-header{margin-bottom:16px}.qoe-detail-title-row{align-items:center;display:flex;gap:12px;margin-bottom:8px}.qoe-detail-name{color:var(--text);font-size:1.25rem;font-weight:700;margin:0}.qoe-detail-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.qoe-detail-category{background:var(--panel-2);border-radius:4px;color:var(--muted);font-size:.8rem;padding:3px 10px}.qoe-detail-value{color:var(--text);font-family:JetBrains Mono,SF Mono,monospace;font-size:1.1rem;font-weight:700}.qoe-detail-confidence{color:#8b5cf6;font-size:.8rem;font-weight:600}.qoe-detail-reason{background:var(--panel-2);border-radius:8px;color:var(--muted);font-size:.9rem;line-height:1.5;margin-bottom:20px;padding:12px 16px}.qoe-detail-reason .reason-label{color:var(--text);font-weight:600}.qoe-detail-empty{align-items:center;color:var(--muted);display:flex;font-size:.9rem;height:100%;justify-content:center}@media (max-width:900px){.qoe-split-layout{grid-template-columns:1fr}.qoe-sidebar{border-bottom:1px solid var(--border);border-right:none;height:200px}.qoe-detail-panel{height:auto;max-height:350px}}.qoe-items-list{display:flex;flex-direction:column;gap:12px}.qoe-item{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:12px 16px;transition:all .2s ease}.qoe-item:hover{border-color:#8b5cf666;box-shadow:0 2px 8px #8b5cf61a}.qoe-item-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.qoe-priority-badge{align-items:center;border-radius:4px;color:#fff;display:inline-flex;font-size:.65rem;font-weight:700;justify-content:center;letter-spacing:.5px;min-width:50px;padding:3px 8px;text-transform:uppercase}.qoe-item-name{color:var(--text);flex:1 1;font-weight:600;min-width:150px}.qoe-item-category{background:var(--panel);border-radius:4px;color:var(--muted);font-size:.8rem;padding:2px 8px}.qoe-item-value{color:var(--text);font-family:JetBrains Mono,SF Mono,monospace;font-weight:700}.qoe-confidence{color:#8b5cf6;font-size:.75rem;font-weight:600}.qoe-item-reason{color:var(--muted);font-size:.85rem;line-height:1.4;margin-top:8px}.qoe-item-reason .reason-label{color:var(--text);font-weight:600}.qoe-period-analysis{grid-gap:24px;border-top:1px solid var(--border);display:grid;gap:24px;grid-template-columns:minmax(180px,250px) 1fr;margin-top:0;padding-top:0}.qoe-period-grid{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.qoe-period-grid-header{background:var(--panel-2);border-bottom:1px solid var(--border);color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:8px 12px;text-transform:uppercase}.qoe-period-list{max-height:200px;overflow-y:auto}.qoe-period-row{align-items:center;border-bottom:1px solid #ffffff08;color:var(--muted);display:flex;font-size:.75rem;justify-content:space-between;padding:4px 12px;transition:background .15s ease}.qoe-period-row:last-child{border-bottom:none}.qoe-period-row.has-value{background:#8b5cf60d;color:var(--text)}.qoe-period-row:hover{background:#8b5cf61a}.qoe-period-row.highlighted{background:#8b5cf640;border-left:3px solid #8b5cf6;padding-left:9px}.qoe-period-row.highlighted .qoe-period-index{color:#8b5cf6;font-weight:700}.qoe-period-index{color:var(--muted);font-size:.65rem;font-weight:600;min-width:24px;opacity:.7}.qoe-period-name{flex:1 1;font-weight:500;margin-left:8px}.qoe-period-value{font-family:JetBrains Mono,SF Mono,monospace;font-weight:600}.qoe-period-value.negative{color:#ef4444}.qoe-chart-container{background:var(--panel);border:1px solid var(--border);border-radius:8px;min-height:160px;overflow:hidden}.qoe-detail-panel .qoe-chart-container{min-height:220px}.qoe-detail-panel .qoe-bar-chart{height:200px}.qoe-chart-header{background:var(--panel-2);border-bottom:1px solid var(--border);color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:8px 12px;text-transform:uppercase}.qoe-bar-chart{display:flex;flex-direction:column;height:160px;padding:12px}.qoe-bars-area{flex:1 1;min-height:0;position:relative}.qoe-zero-line{border-top:1px solid var(--border);top:50%;z-index:5}.qoe-mean-line,.qoe-zero-line{height:0;left:0;position:absolute;right:0}.qoe-mean-line{border-top:2px dashed #8b5cf6;pointer-events:none;z-index:10}.qoe-mean-label{background:var(--panel);border:1px solid #8b5cf64d;border-radius:3px;color:#8b5cf6;font-size:.65rem;font-weight:600;padding:2px 6px;position:absolute;right:0;top:-18px;white-space:nowrap}.qoe-bars{display:flex;gap:3px;height:100%;justify-content:space-between}.qoe-bar-wrapper{align-items:flex-end;cursor:pointer;display:flex;flex:1 1;height:100%;max-width:20px;min-width:6px;transition:transform .15s ease}.qoe-bar-wrapper:hover{transform:scaleX(1.1)}.qoe-bar-wrapper.selected{transform:scaleX(1.15)}.qoe-bar-chart.has-negatives .qoe-bar-wrapper.positive-wrapper{align-items:flex-end;align-self:flex-start;height:50%}.qoe-bar-chart.has-negatives .qoe-bar-wrapper.negative-wrapper{align-items:flex-start;align-self:flex-end;height:50%}.qoe-bar{background:linear-gradient(180deg,#64748bb3,#64748b66);border-radius:2px 2px 0 0;min-height:2px;transition:all .2s ease;width:100%}.qoe-bar.spike{background:linear-gradient(180deg,#8b5cf6,#6d28d9);box-shadow:0 0 10px #8b5cf680}.qoe-bar.negative{background:linear-gradient(0deg,#ef4444,#dc2626);border-radius:0 0 2px 2px}.qoe-bar.zero{background:#64748b26;min-height:2px}.qoe-bar-wrapper:hover .qoe-bar{filter:brightness(1.3)}.qoe-bar.selected{box-shadow:0 0 12px #8b5cf699;filter:brightness(1.4)}.qoe-bar-wrapper.selected .qoe-bar:not(.spike){background:linear-gradient(180deg,#8b5cf6,#7c3aed)}.qoe-bar-tooltip{animation:tooltipFadeIn .15s ease;background:var(--panel-2);border:1px solid #8b5cf6;border-radius:8px;box-shadow:0 8px 24px #0006,0 0 0 1px #8b5cf633;min-width:120px;padding:10px 14px;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%) translateY(-100%);z-index:100}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-90%)}to{opacity:1;transform:translateX(-50%) translateY(-100%)}}.qoe-bar-tooltip:after{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #8b5cf6;bottom:-6px;content:"";left:50%;position:absolute;transform:translateX(-50%)}.qoe-tooltip-period{color:var(--muted);font-size:.7rem;font-weight:500;margin-bottom:4px}.qoe-tooltip-value{color:var(--text);font-family:JetBrains Mono,SF Mono,monospace;font-size:1rem;font-weight:700}.qoe-tooltip-comparison{color:#8b5cf6;font-size:.65rem;font-weight:600}.qoe-bar-labels,.qoe-tooltip-comparison{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.qoe-bar-labels{display:flex;gap:3px;justify-content:space-between}.qoe-bar-label{color:var(--muted);cursor:pointer;flex:1 1;font-size:.6rem;max-width:20px;min-width:6px;overflow:hidden;text-align:center;text-overflow:ellipsis;transition:color .15s ease,font-weight .15s ease;white-space:nowrap}.qoe-bar-label:hover{color:var(--text)}.qoe-bar-label.highlighted{color:#8b5cf6;font-weight:700}@media (max-width:768px){.qoe-period-analysis{grid-template-columns:1fr}.qoe-period-list{max-height:120px}.qoe-chart-container{min-height:120px}.qoe-bar-chart{height:100px}}.qoe-no-items{color:var(--muted);padding:24px;text-align:center}.qoe-no-items p{margin:0}.qoe-panel-footer{align-items:center;background:var(--panel-2);border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 20px}.qoe-summary{color:var(--muted);font-size:.85rem}.qoe-close-btn{background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:.8rem;font-weight:500;padding:6px 16px;transition:all .2s ease}.qoe-close-btn:hover{background:var(--panel);border-color:var(--accent);color:var(--accent)}.qoe-collapsed-toggle{margin-bottom:16px}.qoe-expand-btn{align-items:center;background:var(--panel);border:1px solid #8b5cf64d;border-radius:8px;color:#8b5cf6;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease;width:100%}.qoe-expand-btn:hover{background:#8b5cf61a;border-color:#8b5cf6}.qoe-expand-btn svg{flex-shrink:0}.qoe-expand-btn span{flex:1 1;text-align:left}.category-badge,.excel-table .category-badge,.excel-table .category-combo,.suggestion-details .category-badge{transition:color .5s cubic-bezier(.4,0,.2,1),-webkit-text-fill-color .5s cubic-bezier(.4,0,.2,1),background .5s cubic-bezier(.4,0,.2,1)}html.dark-mode .category-badge,html.dark-mode .excel-table .category-badge,html.dark-mode .excel-table .category-combo,html.dark-mode .suggestion-details .category-badge{-webkit-text-fill-color:#000;color:#000}.coa-editor{background:var(--panel);border:1px solid var(--border);border-radius:12px;height:-webkit-fit-content;height:fit-content;overflow:hidden;padding:1.5rem;position:relative}.coa-editor>:not(.border-beam){position:relative;z-index:2}.coa-header{margin-bottom:1.25rem}.coa-header h3{color:var(--text);font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.coa-description{color:var(--muted);font-size:.875rem;margin:0}.coa-message{border-radius:8px;font-size:.875rem;margin-bottom:1rem;padding:.75rem 1rem}.coa-message.success{background:#22c55e1f;border:1px solid #22c55e4d;color:#22c55e}.coa-message.error{background:#ef44441f;border:1px solid #ef44444d;color:#f87171}.coa-message.info{background:#fdf2f2;border:1px solid #f6caca;color:var(--accent)}.coa-saved-configs{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1.5rem}.coa-saved-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.coa-saved-header h4{align-items:center;color:var(--text);display:flex;font-size:.9rem;font-weight:600;gap:.5rem;margin:0}.coa-new-config-btn{align-items:center;background:#22c55e26;border:1px solid #22c55e4d;border-radius:6px;color:#22c55e;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:.375rem;padding:.375rem .75rem;transition:all .2s}.coa-new-config-btn:hover{background:#22c55e40;border-color:#22c55e}.coa-configs-loading{align-items:center;color:var(--muted);display:flex;font-size:.875rem;gap:.5rem;padding:1rem}.coa-configs-group{margin-bottom:1rem}.coa-configs-group:last-child{margin-bottom:0}.coa-configs-group-header{align-items:center;color:var(--muted);display:flex;font-size:.7rem;font-weight:600;gap:.375rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.coa-configs-group-header svg{opacity:.7}.coa-configs-group-header.private{color:#a855f7}.coa-configs-list{display:flex;flex-direction:column;gap:.5rem}.coa-config-item{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;display:flex;justify-content:space-between;padding:.625rem .75rem;transition:all .2s}.coa-config-item:hover{border-color:var(--border-hover)}.coa-config-item.selected{background:#fdf2f2;border-color:var(--accent)}.coa-config-item.private{border-left:3px solid #a855f7}.coa-config-item.private.selected{background:#a855f714;border-color:#a855f7}.coa-config-item-content{cursor:pointer;flex:1 1}.coa-config-item-name{color:var(--text);font-size:.9rem;font-weight:500;margin-bottom:.25rem}.coa-config-item-meta{align-items:center;display:flex;gap:.5rem}.coa-config-type-badge{background:#fbe9e9;border-radius:4px;color:var(--accent);font-size:.7rem;font-weight:600;padding:.125rem .375rem;text-transform:uppercase}.coa-config-count{color:var(--muted);font-size:.75rem}.coa-config-separator{color:var(--border);font-size:.75rem}.coa-config-creator{color:var(--muted);font-size:.7rem}.coa-config-type-badge.private{background:#a855f726;color:#a855f7}.coa-config-item-actions{align-items:center;display:flex;gap:.25rem}.coa-config-delete-btn,.coa-config-edit-btn{align-items:center;background:#0000;border:none;border-radius:4px;cursor:pointer;display:flex;height:28px;justify-content:center;opacity:.6;transition:all .2s;width:28px}.coa-config-item:hover .coa-config-delete-btn,.coa-config-item:hover .coa-config-edit-btn{opacity:1}.coa-config-edit-btn{color:var(--accent)}.coa-config-edit-btn:hover{background:#fceded}.coa-config-delete-btn{color:#f87171}.coa-config-delete-btn:hover{background:#ef444426}.coa-delete-confirm{align-items:center;display:flex;gap:.375rem}.coa-delete-confirm-text{color:#f87171;font-size:.75rem;font-weight:500}.coa-delete-no-btn,.coa-delete-yes-btn{border-radius:4px;cursor:pointer;font-size:.7rem;font-weight:600;padding:.25rem .5rem;transition:all .2s}.coa-delete-yes-btn{background:#ef444426;border:1px solid #f87171;color:#f87171}.coa-delete-yes-btn:hover:not(:disabled){background:#f87171;color:#fff}.coa-delete-yes-btn:disabled{cursor:not-allowed;opacity:.5}.coa-delete-no-btn{background:var(--panel);border:1px solid var(--border);color:var(--muted)}.coa-delete-no-btn:hover{border-color:var(--border-hover);color:var(--text)}.coa-configs-empty{align-items:center;background:var(--panel-2);border:1px dashed var(--border);border-radius:8px;display:flex;flex-direction:column;justify-content:center;padding:1.5rem;text-align:center}.coa-configs-empty svg{color:var(--muted);margin-bottom:.5rem;opacity:.5}.coa-configs-empty p{color:var(--muted);font-size:.875rem;font-weight:500;margin:0 0 .25rem}.coa-configs-empty span{color:var(--muted);font-size:.75rem;opacity:.7}.coa-editor-section{margin-bottom:1.5rem}.coa-editor-section-header{margin-bottom:.75rem}.coa-editor-section-header h4{color:var(--text);font-size:.9rem;font-weight:600;margin:0}.coa-form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:640px){.coa-form-row{grid-template-columns:1fr}}.coa-config-section{border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem}.coa-form-group{display:flex;flex-direction:column;gap:.375rem}.coa-form-group label{color:var(--muted);font-size:.8rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.coa-input,.coa-select{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;padding:.625rem .75rem;transition:border-color .2s,box-shadow .2s}.coa-input:focus,.coa-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f5656526;outline:none}.coa-input::placeholder{color:var(--muted)}.coa-select{cursor:pointer}.coa-visibility-selector{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.coa-visibility-option{align-items:flex-start;background:var(--panel-2);border:2px solid var(--border);border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.875rem 1rem;text-align:left;transition:all .2s}.coa-visibility-option:hover{border-color:var(--border-hover)}.coa-visibility-option.selected{background:#fdf2f2;border-color:var(--accent)}.coa-visibility-option.selected:nth-child(2){background:#a855f714;border-color:#a855f7}.coa-visibility-option svg{color:var(--muted);flex-shrink:0;margin-top:.125rem}.coa-visibility-option.selected svg{color:var(--accent)}.coa-visibility-option.selected:nth-child(2) svg{color:#a855f7}.coa-visibility-option.disabled{cursor:not-allowed;opacity:.5}.coa-visibility-option.disabled,.coa-visibility-option.disabled:hover{background:var(--panel-2);border-color:var(--border)}.coa-visibility-option.disabled .coa-visibility-title,.coa-visibility-option.disabled svg{color:var(--muted)}.coa-visibility-option.disabled .coa-visibility-desc{color:var(--muted);opacity:.7}.coa-visibility-text{display:flex;flex-direction:column;gap:.125rem}.coa-visibility-title{color:var(--text);font-size:.85rem;font-weight:600}.coa-visibility-desc{color:var(--muted);font-size:.75rem}@media (max-width:480px){.coa-visibility-selector{grid-template-columns:1fr}}.coa-categories-section{margin-bottom:1.5rem}.coa-categories-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.coa-categories-header h4{color:var(--text);font-size:.9rem;font-weight:600;margin:0}.coa-add-btn{align-items:center;background:#fceded;border:1px solid #f4bdbd;border-radius:6px;color:var(--accent);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:.375rem;padding:.375rem .75rem;transition:all .2s}.coa-add-btn:hover{background:#f9dcdc;border-color:var(--accent)}.coa-categories-list{display:flex;flex-direction:column;gap:.25rem}.coa-empty{background:var(--panel-2);border:1px dashed var(--border);border-radius:8px;padding:2rem;text-align:center}.coa-empty p{color:var(--muted);font-size:.875rem;margin:0}.coa-indent{flex-shrink:0}.coa-category-row{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;display:flex;gap:.375rem;padding:.375rem;transition:border-color .2s}.coa-category-row:hover{border-color:var(--border-hover)}.coa-category-drag{color:var(--muted);cursor:grab;opacity:.5;padding:.25rem;transition:opacity .2s}.coa-category-row:hover .coa-category-drag{opacity:1}.coa-expand-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--muted);cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .2s;width:24px}.coa-expand-btn:hover{background:var(--panel);color:var(--text)}.coa-expand-placeholder{height:24px;width:24px}.coa-category-input{background:var(--panel);border:1px solid #0000;border-radius:4px;color:var(--text);flex:1 1;font-size:.875rem;padding:.375rem .5rem;transition:all .2s}.coa-category-input:focus{background:var(--panel-2);border-color:var(--accent);outline:none}.coa-category-input::placeholder{color:var(--muted)}.coa-add-sub-btn,.coa-remove-btn{align-items:center;background:#0000;border:none;border-radius:4px;cursor:pointer;display:flex;height:28px;justify-content:center;opacity:.5;transition:all .2s;width:28px}.coa-category-row:hover .coa-add-sub-btn,.coa-category-row:hover .coa-remove-btn{opacity:1}.coa-add-sub-btn{color:var(--accent)}.coa-add-sub-btn:hover{background:#fceded}.coa-remove-btn{color:#f87171}.coa-remove-btn:hover{background:#ef444426}.coa-pl-sections{margin-bottom:1.5rem}.coa-pl-sections-header{margin-bottom:1rem}.coa-pl-sections-header h4{color:var(--text);font-size:.9rem;font-weight:600;margin:0 0 .25rem}.coa-pl-sections-header p{color:var(--muted);font-size:.8rem;margin:0}.coa-pl-section{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem;overflow:hidden}.coa-pl-section-header{align-items:center;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:background .2s}.coa-pl-section-header:hover{background:#fef6f6}.coa-pl-section-toggle{align-items:center;color:var(--muted);display:flex}.coa-pl-section-info{flex:1 1}.coa-pl-section-name{color:var(--text);font-size:.9rem;font-weight:600}.coa-pl-section-desc{color:var(--muted);font-size:.75rem;margin-top:.125rem}.coa-pl-section-badge{background:#fbe9e9;border-radius:4px;color:var(--accent);font-size:.7rem;font-weight:500;padding:.25rem .5rem}.coa-pl-section-content{background:var(--panel);border-top:1px solid var(--border);padding:.75rem 1rem 1rem}.coa-pl-categories{gap:.5rem;margin-bottom:.75rem}.coa-pl-categories,.coa-pl-category-tree{display:flex;flex-direction:column}.coa-pl-category-row{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;display:flex;gap:.375rem;margin-bottom:.375rem;padding:.375rem .5rem;transition:all .2s}.coa-pl-category-row:hover{background:#fef6f6;border-color:var(--border-hover)}.coa-pl-depth-0{background:var(--panel-2)}.coa-pl-depth-1{background:#fef6f6;border-left:2px solid var(--accent)}.coa-pl-depth-2{background:#22c55e0a;border-left:2px solid #22c55e}.coa-pl-depth-3{background:#f973160a;border-left:2px solid #f97316}.coa-pl-depth-4{background:#a855f70a;border-left:2px solid #a855f7}.coa-pl-indent{align-items:center;display:flex;flex-shrink:0;justify-content:flex-end}.coa-pl-indent-icon{color:var(--muted);opacity:.5}.coa-pl-expand-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--muted);cursor:pointer;display:flex;flex-shrink:0;height:22px;justify-content:center;transition:all .2s;width:22px}.coa-pl-expand-btn:hover{background:var(--panel);color:var(--accent)}.coa-pl-expand-placeholder{flex-shrink:0;height:22px;width:22px}.coa-pl-children{border-left:1px dashed var(--border);margin-left:1rem;padding-left:.5rem}.coa-pl-category-input{background:var(--panel);border:1px solid #0000;border-radius:6px;color:var(--text);flex:1 1;font-size:.85rem;min-width:0;padding:.5rem .75rem;transition:all .2s}.coa-pl-category-input:focus{background:var(--panel-2);border-color:var(--accent);outline:none}.coa-pl-category-input::placeholder{color:var(--muted)}.coa-pl-add-sub-btn{align-items:center;background:#0000;border:1px dashed var(--border);border-radius:4px;color:var(--muted);cursor:pointer;display:flex;flex-shrink:0;height:26px;justify-content:center;opacity:0;transition:all .2s;width:26px}.coa-pl-category-row:hover .coa-pl-add-sub-btn{opacity:.7}.coa-pl-add-sub-btn:hover{background:#fceded;border-color:var(--accent);color:var(--accent);opacity:1}.coa-pl-remove-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#f87171;cursor:pointer;display:flex;flex-shrink:0;height:26px;justify-content:center;opacity:0;transition:all .2s;width:26px}.coa-pl-category-row:hover .coa-pl-remove-btn{opacity:.7}.coa-pl-remove-btn:hover{background:#ef444426;opacity:1}.coa-pl-add-btn{align-items:center;background:#0000;border:1px dashed var(--border);border-radius:6px;color:var(--muted);cursor:pointer;display:inline-flex;font-size:.8rem;gap:.375rem;justify-content:center;padding:.5rem .75rem;transition:all .2s;width:100%}.coa-pl-add-btn:hover{background:#fef6f6;border-color:var(--accent);color:var(--accent)}.coa-below-ebitda{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;margin-top:1rem;padding:1rem}.coa-below-ebitda-header{align-items:center;color:var(--muted);display:flex;font-size:.8rem;font-weight:600;gap:.5rem;letter-spacing:.5px;margin-bottom:.75rem;text-transform:uppercase}.coa-below-ebitda-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}@media (max-width:640px){.coa-below-ebitda-grid{grid-template-columns:1fr}}.coa-below-ebitda-item{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:6px;display:flex;justify-content:center;padding:.5rem .75rem}.coa-below-ebitda-name{color:var(--text);font-size:.85rem}.coa-below-ebitda-note{color:var(--muted);font-size:.75rem;font-style:italic;margin-top:.75rem;text-align:center}.coa-actions{border-top:1px solid var(--border);display:flex;justify-content:flex-end;padding-top:1rem}.coa-save-btn{align-items:center;background:linear-gradient(135deg,var(--accent) 0,#e45858 100%);border:none;border-radius:8px;box-shadow:0 4px 12px #f5656540;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.coa-save-btn:hover:not(:disabled){box-shadow:0 6px 16px #f5656559;transform:translateY(-1px)}.coa-save-btn:disabled{cursor:not-allowed;opacity:.6}.coa-spinner{animation:coa-spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes coa-spin{to{transform:rotate(1turn)}}@media (max-width:640px){.coa-editor{padding:1rem}.coa-categories-header{align-items:flex-start;flex-direction:column;gap:.75rem}}.account-overview-page{margin:0 auto;max-width:800px;padding:0 1rem}.account-overview-page.loading{align-items:center;display:flex;justify-content:center;min-height:300px}.account-overview-skeleton{display:flex;flex-direction:column;gap:.75rem;max-width:400px;width:100%}.skeleton-line{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--panel-2) 25%,var(--border) 50%,var(--panel-2) 75%);background-size:200% 100%;border-radius:4px;height:16px;width:100%}.skeleton-line.short{width:60%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.account-page-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem 0}.account-header-info{align-items:center;display:flex;gap:1rem}.account-avatar-large{align-items:center;background:linear-gradient(135deg,var(--accent) 0,#e45858 100%);border-radius:14px;box-shadow:0 4px 12px #f5656540;color:#fff;display:flex;height:56px;justify-content:center;width:56px}.account-page-title{color:var(--text);font-size:1.5rem;font-weight:700;margin:0}.account-page-subtitle{color:var(--muted);font-size:.9rem;margin:.25rem 0 0}.account-tabs{border-bottom:1px solid var(--border);display:flex;gap:.25rem;margin-bottom:1.5rem}.account-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:var(--muted);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;margin-bottom:-1px;padding:.875rem 1.25rem;transition:all .2s ease}.account-tab:hover{background:var(--panel-2);color:var(--text)}.account-tab.active{background:#0000;border-bottom-color:var(--accent);color:var(--accent)}.account-tab svg{opacity:.7}.account-tab.active svg{opacity:1}.account-tab-content{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.account-section{display:flex;flex-direction:column;gap:1rem}.account-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.account-card-header{align-items:center;background:var(--panel-2);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1rem 1.25rem}.account-card-header h3{align-items:center;color:var(--text);display:flex;font-size:.95rem;font-weight:600;gap:.5rem;margin:0}.account-card-header h3 svg{color:var(--accent)}.account-card-header.clickable{background:var(--panel-2);border:none;cursor:pointer;text-align:left;transition:background .2s;width:100%}.account-card-header.clickable:hover{background:var(--panel-3)}.account-card-header.clickable svg:last-child{color:var(--muted)}.account-card-body{padding:1.25rem}.account-card.collapsible .account-card-body{animation:slideDown .2s ease}.account-edit-btn{align-items:center;background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:.375rem;padding:.375rem .75rem;transition:all .2s}.account-edit-btn:hover{background:var(--panel);border-color:var(--accent);color:var(--accent)}.account-info-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}.account-info-item{display:flex;flex-direction:column;gap:.375rem}.account-info-item label{color:var(--muted);font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.account-info-value{align-items:center;color:var(--text);display:flex;font-size:.9rem;font-weight:500;gap:.5rem}.account-info-value svg{color:var(--muted);flex-shrink:0}.account-info-value.company-name{color:var(--text);font-weight:600}.account-info-value.mono{color:var(--muted);font-family:SF Mono,Monaco,Courier New,monospace;font-size:.85rem}.role-badge{background:var(--panel-2);border-radius:20px;display:inline-flex;font-size:.75rem;font-weight:600;padding:.25rem .625rem;text-transform:capitalize}.role-badge.admin{background:#a855f71f;color:#a855f7}.role-badge.user{background:var(--panel-2);color:var(--muted)}.session-info{display:flex;flex-direction:column;gap:.75rem}.session-status{align-items:center;color:var(--text);display:flex;font-size:.9rem;font-weight:500;gap:.5rem}.status-icon.active{color:var(--success)}.session-note{color:var(--muted);font-size:.85rem;line-height:1.5;margin:0}.company-setup-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.form-group{gap:.5rem}.form-group label{color:var(--muted);font-size:.8rem;font-weight:500}.form-group input,.form-group select{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem;padding:.625rem .875rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f5656526;outline:none}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.5rem}.btn-primary{background:linear-gradient(135deg,var(--accent) 0,#e45858 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:transform .2s,box-shadow .2s}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #f565654d;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1.25rem;transition:background .2s,border-color .2s}.btn-secondary:hover{background:var(--panel-2);border-color:var(--border-hover)}.btn-small{font-size:.8rem;padding:.5rem .875rem}.btn-danger{background:#0000;border:1px solid var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#dc262614}.btn-danger:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.stat-item{align-items:center;background:var(--panel-2);border-radius:10px;display:flex;flex-direction:column;padding:1rem;text-align:center}.stat-value{color:var(--accent);font-size:1.75rem}.stat-label{font-size:.8rem;margin-top:.25rem}.features-list{display:flex;flex-wrap:wrap;gap:.75rem}.feature-item{align-items:center;background:var(--accent-light);border-radius:20px;color:var(--text);display:flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem .875rem}.feature-check{color:var(--success)}.security-list{display:flex;flex-direction:column;gap:1rem}.security-item{align-items:flex-start;display:flex;gap:1rem}.security-icon{align-items:center;background:var(--panel-2);border-radius:8px;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.security-icon.success{background:#16a34a1a;color:var(--success)}.security-content{flex:1 1}.security-content strong{color:var(--text);display:block;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.security-content p{color:var(--muted);font-size:.85rem;line-height:1.5;margin:0}.residency-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.residency-item{background:var(--panel-2);flex-direction:column;gap:.75rem;padding:1.25rem 1rem;text-align:center}.residency-icon,.residency-item{align-items:center;border-radius:10px;display:flex}.residency-icon{background:var(--panel);color:var(--accent);height:40px;justify-content:center;width:40px}.residency-content{display:flex;flex-direction:column;gap:.25rem}.residency-content strong{color:var(--text);font-size:.85rem;font-weight:600}.residency-content span{color:var(--muted);font-size:.8rem}.data-rights-section{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.data-not-stored h4,.data-stored h4{color:var(--text);font-size:.85rem;font-weight:600;margin:0 0 .75rem}.data-not-stored ul,.data-stored ul{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.data-not-stored li,.data-stored li{align-items:center;color:var(--muted);display:flex;font-size:.85rem;gap:.5rem}.data-stored li svg{color:var(--success);flex-shrink:0}.data-not-stored li svg{color:var(--muted);flex-shrink:0}.data-rights-actions{border-top:1px solid var(--border);padding-top:1rem}.rights-note{color:var(--muted);font-size:.85rem;line-height:1.5;margin:0 0 1rem}.rights-buttons{display:flex;gap:.75rem}.rights-buttons button,.security-contact{align-items:center;display:flex;gap:.5rem}.security-contact{background:var(--panel-2);border-radius:10px;color:var(--muted);font-size:.85rem;justify-content:center;margin-top:.5rem;padding:1rem}.security-contact a{color:var(--accent);font-weight:500;text-decoration:none}.security-contact a:hover{text-decoration:underline}.account-error{align-items:center;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;color:#f87171;display:flex;font-size:.85rem;justify-content:space-between;margin-top:1rem;padding:.75rem 1rem}.account-error-dismiss{background:none;border:none;color:#f87171;cursor:pointer;font-size:1.25rem;line-height:1;opacity:.7;padding:0;transition:opacity .2s}.account-error-dismiss:hover{opacity:1}@media (max-width:768px){.account-overview-page{padding:0 .75rem}.account-page-header{padding:1rem 0}.account-avatar-large{height:48px;width:48px}.account-page-title{font-size:1.25rem}.account-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.account-tab{padding:.75rem 1rem;white-space:nowrap}.account-info-grid{gap:1rem}.account-info-grid,.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}.residency-grid,.stats-grid{grid-template-columns:1fr}.residency-grid{gap:.75rem}.residency-item{flex-direction:row;padding:1rem;text-align:left}.data-rights-section{gap:1rem;grid-template-columns:1fr}.rights-buttons{flex-direction:column}.rights-buttons button{justify-content:center;width:100%}}@media (max-width:480px){.account-header-info{gap:.75rem}.account-avatar-large{border-radius:10px;height:40px;width:40px}.account-avatar-large svg{height:20px;width:20px}.account-page-title{font-size:1.1rem}.account-page-subtitle{font-size:.8rem}.account-tab{font-size:.85rem;padding:.625rem .75rem}.account-tab svg{height:14px;width:14px}}.sidebar{background:linear-gradient(180deg,#fefdfd,#fbf9f9);border-right:1px solid var(--border);flex-shrink:0;min-width:220px;width:220px}.sidebar,.sidebar-nav{display:flex;flex-direction:column}.sidebar-nav{gap:1.5rem;padding:1.25rem .75rem}.sidebar-section{display:flex;flex-direction:column;gap:.25rem}.sidebar-section-title{color:var(--muted);font-size:.7rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;padding:0 .75rem;text-transform:uppercase}.sidebar-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:var(--text);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.75rem;padding:.65rem .75rem;text-align:left;transition:all .2s ease;width:100%}.sidebar-item:hover{background:var(--panel-2);border-color:var(--border)}.sidebar-item.active{background:var(--accent-light);border-color:#f0d1d1;color:var(--accent)}.sidebar-item.active svg{color:var(--accent)}.sidebar-item svg{color:var(--muted);flex-shrink:0;transition:color .2s ease}.sidebar-item:hover svg{color:var(--text)}.sidebar-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.sidebar{min-width:60px;width:60px}.sidebar-section-title{display:none}.sidebar-item{justify-content:center;padding:.75rem}.sidebar-item span{display:none}}.login-container{align-items:center;background:var(--bg);display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-box{background:linear-gradient(135deg,#fefdfd 0,var(--panel) 100%);border:1px solid #f3e2e2;border-radius:12px;box-shadow:0 8px 32px #f565651a;max-width:400px;padding:2.5rem;width:100%}.login-logo{display:flex;justify-content:center;margin-bottom:2rem}.login-logo img{height:64px;object-fit:contain;width:auto}.login-header h2{color:var(--text);font-weight:600;margin-bottom:.5rem;text-align:center}.login-header p{color:var(--muted);font-size:.95rem;margin-bottom:2rem;text-align:center}.login-form{margin-bottom:1.5rem}.input-group{margin-bottom:1.25rem;position:relative}.input-group input{background-color:var(--panel-2);border:1px solid var(--border);border-radius:8px;box-sizing:border-box;color:var(--text);font-size:1rem;padding:.85rem .85rem .85rem 3rem;transition:border-color .3s,box-shadow .3s;width:100%}.input-group input::placeholder{color:var(--muted)}.input-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f5656526;outline:none}.input-group input:disabled{cursor:not-allowed;opacity:.6}.input-icon{color:var(--muted);left:.85rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.login-button{background:none;background-image:linear-gradient(90deg,var(--accent) 0,var(--accent) 50%,#0000 50%,#0000 100%);background-position:100% 0;background-size:200% 100%;border:1px solid var(--accent);border-radius:12px;color:var(--accent);cursor:pointer;font-size:1rem;font-weight:700;padding:.85rem;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),transform .15s ease,letter-spacing .5s cubic-bezier(.22,1,.36,1),box-shadow .2s ease;width:100%}.login-button:hover:not(:disabled){background-position:0 0;box-shadow:0 6px 20px #e76e6e4d;color:#fff;letter-spacing:.3px;transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{background:#ef444414;border:1px solid #ef44444d;border-radius:6px;color:#dc2626;font-size:.875rem;margin-bottom:1rem;padding:.5rem;text-align:center}.demo-info{background:#fdf2f2;border:1px solid #f6caca;border-radius:6px;padding:1rem;text-align:center}.demo-info p{color:var(--text);font-size:.875rem;margin:.25rem 0}.demo-info p:first-child{font-weight:600;margin-bottom:.5rem}.success-message{background:#10b98114;border:1px solid #10b9814d;border-radius:6px;color:#16a34a;font-size:.875rem;margin-bottom:1rem;padding:.75rem;text-align:center}.auth-links{margin-top:1.5rem;text-align:center}.link-button{align-items:center;background:none;border:none;color:var(--accent);cursor:pointer;display:inline-flex;font-size:.875rem;justify-content:center;padding:.5rem;transition:color .2s,opacity .2s}.link-button:hover{opacity:.8;text-decoration:underline}.auth-divider{margin:1rem 0;position:relative;text-align:center}.auth-divider span{background:var(--panel);color:var(--muted);font-size:.85rem;padding:0 .75rem;position:relative;z-index:1}.auth-divider:before{background:var(--border);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.secondary-button{background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem;transition:background .2s,border-color .2s,color .2s;width:100%}.secondary-button:hover{background:#f5656514;border-color:var(--accent);color:var(--accent)}.confirm-message{padding:1.5rem 0;text-align:center}.confirm-icon{font-size:3rem;margin-bottom:1rem}.confirm-message p{color:var(--text);line-height:1.6;margin-bottom:1rem}.confirm-note,.reset-note{color:var(--muted);font-size:.85rem}.reset-note{line-height:1.5;margin-top:1rem}.merger-upload-container{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin:0 auto;max-width:900px;overflow:hidden;padding:1.5rem;position:relative}.merger-upload-container>:not(.border-beam){position:relative;z-index:2}.statement-type-label .required{color:#ef4444;margin-left:2px}.statement-type-selector{display:flex;flex-direction:column;gap:.5rem}.statement-option{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;gap:.75rem;padding:.75rem 1rem}.statement-option:hover:not(.disabled){background:#fef6f6;border-color:var(--accent)}.statement-option.selected{background:#fceded}.statement-option.selected .radio-circle{background:var(--accent);border-color:var(--accent)}.statement-option.disabled{opacity:.6}.statement-option:hover:not(.disabled) .radio-circle{border-color:var(--accent)}.statement-content h4{color:var(--text);font-size:.9rem;font-weight:500;margin:0}.label-icon{opacity:.7}.config-loading{gap:.5rem;padding:.75rem}.config-meta{flex-wrap:wrap}.config-badge{font-weight:500}.config-badge.ai-badge{background:linear-gradient(135deg,#f5656526,#ec489926);border:1px solid #f565654d;color:var(--accent)}.config-badge.ai-badge svg{color:#ec4899}.guidelines-indicator{background:linear-gradient(135deg,#f565651a,#ec48991a);border:1px solid #f5656533;border-radius:20px;color:var(--accent);padding:.25rem .625rem}.guidelines-indicator svg{color:#ec4899}.config-categories-grid{gap:.5rem;padding-right:.5rem}.config-category-tag{align-items:center;border-radius:6px;display:inline-flex;padding:.375rem .75rem;white-space:nowrap}.config-category-tag:nth-child(odd){background:#f5656514;border-color:#f5656533}.config-category-tag:nth-child(3n){background:#22c55e14;border-color:#22c55e33}.config-empty-state{justify-content:center}.config-empty-icon{color:var(--muted);opacity:.5}.config-categories-grid::-webkit-scrollbar{width:6px}.config-categories-grid::-webkit-scrollbar-track{background:var(--panel-2);border-radius:3px}.config-categories-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.config-categories-grid::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media (max-width:768px){.file-card-header{align-items:flex-start;gap:.75rem}.file-card-header,.sheet-chips{flex-direction:column}.sheet-chip{justify-content:center;width:100%}}.merger-period-selector-container{margin:0 auto;max-width:1200px}.merger-header{align-items:flex-start;border-bottom:2px solid #f3e2e2;display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:1rem}.merger-header .header-content h2{color:var(--text);font-size:1.8rem;margin:0 0 .5rem}.step-description{color:var(--muted);font-size:1rem;margin:0}.back-button{flex-shrink:0}.source-legend{background:linear-gradient(135deg,#fefbfb,#fbf8f8);border:1px solid #f3e2e2;border-radius:10px;margin-bottom:1.5rem;padding:1.25rem}.source-legend h4{align-items:center;color:var(--text);display:flex;font-size:.95rem;font-weight:600;gap:.5rem;margin:0 0 .75rem}.source-list{display:flex;flex-wrap:wrap;gap:1rem}.source-item{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:.5rem;padding:.5rem .875rem}.source-badge,.source-item{align-items:center;display:flex}.source-badge{border-radius:5px;color:#fff;font-size:.8rem;font-weight:700;height:24px;justify-content:center;width:24px}.source-name{color:var(--text);font-size:.9rem;font-weight:500}.source-sheet{color:var(--muted);font-size:.8rem}.file-info-summary{background:linear-gradient(135deg,#fefbfb,#fbf8f8);border:1px solid #f3e2e2;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.file-info-summary h3{color:var(--text);margin:0 0 1rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.info-item{color:var(--muted);font-size:.9rem}.info-item strong{color:var(--text)}.select-all-section{margin-bottom:1rem;margin-top:6px}.select-all-button{align-items:center;background:var(--panel-2);border:2px solid var(--border);border-radius:10px;box-shadow:var(--shadow);color:var(--text);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.75rem;padding:.875rem 1.5rem;transition:all .2s ease}.select-all-button:hover:not(:disabled){background:#fdf2f2;border-color:var(--accent);box-shadow:0 4px 12px #f5656533;transform:translateY(-1px)}.select-all-button.selected{background:#fceded;border-color:var(--accent)}.select-all-button:disabled{cursor:not-allowed;opacity:.5}.select-help{color:var(--muted);font-size:.9rem;line-height:1.5;margin-top:.75rem}.period-selection{margin-bottom:2rem}.period-selection h3{color:var(--text);margin:0 0 1.5rem}.stacked-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);max-height:500px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.period-table{border-collapse:initial;border-spacing:0;table-layout:fixed;width:100%}.period-table thead{background:var(--panel-2);position:-webkit-sticky;position:sticky;top:0;z-index:20}.period-table thead th{background:inherit;border-bottom:2px solid var(--border);color:var(--text);font-size:.95rem;font-weight:600;padding:12px 10px;text-align:left}.period-table thead th:first-child{width:50px}.period-table tbody tr{background:#0000;cursor:pointer;transition:background .15s ease}.period-table tbody tr:hover{background:#fdf7f7}.period-table tbody tr.selected{background:#fceded;border-left:3px solid var(--accent)}.period-table tbody tr:nth-child(2n){background:#fdfcfc}.period-table tbody tr:nth-child(2n).selected{background:#fbe9e9}.period-table td{border-bottom:1px solid var(--border);color:var(--text);line-height:1.25;padding:10px;vertical-align:middle}.check-cell{padding:12px 8px;text-align:center}.check-cell input[type=checkbox]{appearance:none;-webkit-appearance:none;background:var(--panel);border:2px solid #e8c9c9;border-radius:4px;cursor:pointer;height:18px;outline:none;position:relative;transition:all .2s ease;width:18px}.check-cell input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.check-cell input[type=checkbox]:checked:after{color:#fff;content:"✓";font-size:14px;font-weight:700;left:2px;position:absolute;top:-2px}.date-cell{color:var(--text);font-size:.95rem;font-weight:500}.sources-cell{width:100px}.source-keys{display:flex;gap:.375rem}.source-key-badge{align-items:center;border-radius:4px;color:#fff;display:flex;font-size:.75rem;font-weight:700;height:22px;justify-content:center;width:22px}.name-cell{color:var(--muted);font-size:.85rem}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.process-button,.process-button.multi-period{align-items:center;background:none;background-image:linear-gradient(90deg,var(--accent) 0,var(--accent) 50%,#0000 50%,#0000 100%);background-position:100% 0;background-size:200% 100%;border:1px solid var(--accent);border-radius:12px;color:var(--accent);cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:700;gap:.5rem;overflow:hidden;padding:1rem 2rem;position:relative;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),transform .2s ease}.process-button:hover:not(:disabled){background-position:0 0;box-shadow:0 8px 25px #f5656559;color:#fff;transform:translateY(-2px)}.process-button:after{background:radial-gradient(circle at center,#ffffff59,#ffffff14 60%,#0000 70%);content:"";height:200%;left:-30%;pointer-events:none;position:absolute;top:-50%;transform:translateX(-140%) rotate(15deg);transition:transform .6s ease;width:60%}.process-button:hover:after{transform:translateX(220%) rotate(15deg)}.process-button svg{transition:transform .25s ease}.process-button:hover svg{transform:translateX(6px)}.process-button:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.merger-header{align-items:flex-start}.merger-header,.source-list{flex-direction:column}.info-grid{grid-template-columns:1fr 1fr}}.recon-page-container{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:900px}.recon-upload-container{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;padding:1.5rem;position:relative}.recon-upload-container>:not(.border-beam){position:relative;z-index:2}.pl-icon,.recon-icon{background:linear-gradient(135deg,#fceded,#f9e7e7);color:var(--accent)}.sheet-selector{align-items:center;display:flex;gap:.75rem}.sheet-selector label{color:var(--text);font-size:.9rem;font-weight:500}.sheet-selector select{background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;flex:1 1;font-size:.9rem;padding:.625rem .875rem;transition:border-color .2s ease}.sheet-selector select:hover{border-color:var(--accent)}.sheet-selector select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f565651a;outline:none}.extraction-results{display:flex;flex-direction:column;gap:1rem}.result-section{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.section-header{align-items:center;background:var(--panel);border:none;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.25rem;transition:background .2s ease;width:100%}.section-header:hover{background:var(--panel-2)}.section-title{align-items:center;color:var(--text);display:flex;font-size:.95rem;font-weight:600;gap:.5rem}.section-title svg{color:var(--accent)}.section-content{border-top:1px solid var(--border);padding:1.25rem}.summary-list{display:flex;flex-direction:column}.summary-row{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:.625rem 0}.summary-row:last-child{border-bottom:none}.summary-row.highlight-row{background:linear-gradient(135deg,#fef6f6,#fcf3f3);border-radius:0 0 10px 10px;margin:.5rem -1.25rem -1.25rem;padding:1rem 1.25rem}.summary-label,.summary-value{font-size:.9rem}.summary-value{font-weight:600}.summary-value.highlight{color:var(--accent);font-size:1.1rem}.employees-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.employee-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.employee-header{align-items:center;background:var(--panel-2);display:flex;justify-content:space-between;padding:.875rem 1rem}.employee-info{align-items:center;display:flex;gap:.5rem}.employee-name{color:var(--text);font-size:.9rem;font-weight:600}.employee-number{color:var(--muted);font-size:.8rem}.employee-gross,.employee-number{font-family:SF Mono,Monaco,Inconsolata,monospace}.employee-gross{color:#1daf52;font-size:.95rem;font-weight:700}.employee-earnings{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem}.employee-earning-item{color:var(--text);display:flex;font-size:.85rem;justify-content:space-between}.employee-earning-item span:last-child{color:var(--muted);font-family:SF Mono,Monaco,Inconsolata,monospace}.wages-info{margin-bottom:1rem}.wages-account{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.wages-label{color:var(--muted);font-size:.85rem}.wages-account-name{color:var(--text);font-size:1rem;font-weight:600}.wages-reasoning{color:var(--muted);font-size:.85rem;font-style:italic;margin:.75rem 0 0}.wages-candidate-selector{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;max-width:640px;padding:.75rem}.wages-candidate-header{margin-bottom:.5rem}.wages-candidate-title{color:var(--text);font-size:.9rem;font-weight:650}.wages-candidate-table-container{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;overflow-x:auto}.wages-candidate-table{border-collapse:collapse;font-size:.9rem;width:100%}.wages-candidate-table td,.wages-candidate-table th{border-bottom:1px solid var(--border);padding:.4rem .6rem;text-align:left}.wages-candidate-table td:first-child,.wages-candidate-table th:first-child{text-align:center;width:52px}.wages-candidate-table .candidate-checkbox{-webkit-appearance:none;appearance:none;background:var(--panel);border:1px solid var(--border);border-radius:3px;cursor:pointer;display:inline-grid;height:16px;place-content:center;width:16px}.wages-candidate-table .candidate-checkbox:hover{border-color:var(--accent)}.wages-candidate-table .candidate-checkbox:checked{background:var(--panel);border-color:var(--accent)}.wages-candidate-table .candidate-checkbox:checked:after{color:var(--accent);content:"✓";font-size:12px;font-weight:900;line-height:1}.wages-candidate-table th{background:var(--panel);color:var(--muted);font-size:.78rem;letter-spacing:.03em;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:1}.wages-candidate-table tbody tr{cursor:pointer}.wages-candidate-table tbody tr:hover{background:var(--panel)}.wages-candidate-table tbody tr.candidate-selected{background:#f565652e;border-color:var(--accent)}.candidate-name{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.candidate-mono{color:var(--muted);font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:.85rem}.candidate-pill{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;color:var(--muted);display:inline-flex;font-size:.75rem;font-weight:600;padding:.2rem .45rem}.wages-period-stack{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.wages-reconcile-row{display:flex;justify-content:flex-start}.wages-period-selector label{color:var(--text);display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.wages-period-selector select{background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:.65rem .85rem;width:100%}.wages-reconcile-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;max-width:520px;padding:1rem;width:100%}.reconcile-title{color:var(--text);font-size:.95rem;font-weight:650;margin-bottom:.5rem}.reconcile-grid{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:1fr}.reconcile-item{align-items:baseline;display:flex;gap:1rem;justify-content:space-between}.reconcile-label{color:var(--muted);font-size:.85rem}.reconcile-value{color:var(--text);font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:.9rem;font-weight:650}.reconcile-diff{color:var(--accent)}.reconcile-pct{font-weight:600;margin-left:.5rem}.reconcile-hint,.reconcile-pct{color:var(--muted);font-size:.8rem}.reconcile-hint{margin-top:.65rem}.wages-table-container{border:1px solid var(--border);border-radius:8px;max-height:360px;overflow-x:auto;overflow-y:auto}.wages-table{border-collapse:collapse;font-size:.9rem;width:100%}.wages-table td,.wages-table th{border-bottom:1px solid var(--border);padding:.75rem 1rem;text-align:left}.wages-table th{background:var(--panel);font-size:.85rem;font-weight:600;letter-spacing:.03em;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:1}.wages-table td,.wages-table th{color:var(--text)}.wages-table .amount-cell{color:var(--accent);font-family:SF Mono,Monaco,Inconsolata,monospace;font-weight:600}.wages-table tbody tr:hover{background:var(--panel)}.wages-table tbody tr:last-child td{border-bottom:none}.result-actions{display:flex;justify-content:center;padding-top:.5rem}.reset-button{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;transition:all .2s ease}.reset-button:hover{background:var(--panel);border-color:var(--accent);color:var(--accent)}.extraction-error{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#ef4444;display:flex;font-size:.9rem;gap:.75rem;margin-top:1rem;padding:1rem}.employees-list::-webkit-scrollbar,.wages-table-container::-webkit-scrollbar{height:6px;width:6px}.employees-list::-webkit-scrollbar-track,.wages-table-container::-webkit-scrollbar-track{background:var(--panel-2);border-radius:3px}.employees-list::-webkit-scrollbar-thumb,.wages-table-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.employees-list::-webkit-scrollbar-thumb:hover,.wages-table-container::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media (max-width:768px){.recon-page-container{gap:1rem}.wages-account{align-items:flex-start;flex-direction:column}.wages-reconcile-row{justify-content:stretch}.employee-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.tb-converter-container{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin:0 auto;max-width:900px;overflow:hidden;padding:1.5rem;position:relative}.tb-converter-container>:not(.border-beam){position:relative;z-index:2}.upload-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1.25rem}.header-icon{align-items:center;border-radius:10px;display:flex;justify-content:center;padding:.75rem}.header-icon,.header-icon.tb-icon{background:linear-gradient(135deg,#fceded,#f9e7e7);color:var(--accent)}.upload-header h3{color:var(--text);font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.upload-description{color:var(--muted);font-size:.875rem;margin:0}.upload-form{display:flex;flex-direction:column;gap:1.25rem}.dropzone{background:linear-gradient(135deg,#fcf8f8,#faf5f5);border:2px dashed #edd4d4;border-radius:8px;cursor:pointer;padding:2rem 1.5rem;text-align:center;transition:all .2s ease}.dropzone:hover{background:#fef6f6;border-color:var(--accent)}.dropzone.active{background:#fceded;border-color:var(--accent)}.dropzone.has-files{padding:1.25rem}.dropzone.disabled{cursor:not-allowed;opacity:.6}.dropzone-content{align-items:center;display:flex;flex-direction:column;gap:.5rem}.upload-icon{color:var(--muted)}.dropzone-text{color:var(--text);font-size:.95rem;font-weight:500;margin:0}.dropzone-hint{color:var(--muted);font-size:.8rem}.files-list{display:flex;flex-direction:column;gap:.75rem}.files-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.files-header h4{color:var(--text);font-size:.9rem;font-weight:600;margin:0}.files-count{background:#fceded;border-radius:20px;color:var(--accent);font-size:.8rem;font-weight:600;padding:.25rem .75rem}.file-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.file-card-header{align-items:center;background:var(--panel);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:.875rem 1rem}.file-card-info{gap:.75rem}.file-card-info,.source-key{align-items:center;display:flex}.source-key{background:linear-gradient(135deg,var(--accent) 0,#e14747 100%);border-radius:6px;color:#fff;font-size:.85rem;font-weight:700;height:28px;justify-content:center;width:28px}.file-icon{color:var(--accent);flex-shrink:0}.file-details{flex:1 1;min-width:0}.file-name{color:var(--text);font-size:.9rem;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{color:var(--muted);font-size:.75rem;margin:.125rem 0 0}.remove-file-btn{align-items:center;background:#ef44441f;border:none;border-radius:6px;color:#f87171;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:background-color .2s;width:28px}.remove-file-btn:hover{background:#ef444433}.sheet-selection{padding:.75rem 1rem}.sheet-loading{align-items:center;color:var(--muted);display:flex;font-size:.85rem;gap:.5rem;padding:.5rem 0}.sheet-loading .button-spinner{border:2px solid var(--border);border-top-color:var(--accent);height:14px;margin-right:0;width:14px}.sheet-chips{display:flex;flex-wrap:wrap;gap:.5rem}.sheet-chip{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:20px;color:var(--text);cursor:pointer;display:inline-flex;font-size:.85rem;gap:.375rem;padding:.5rem .875rem;transition:all .2s ease}.sheet-chip:hover:not(:disabled){background:#fef6f6;border-color:var(--accent)}.sheet-chip.selected{background:#fceded;border-color:var(--accent);color:var(--accent);font-weight:500}.sheet-chip:disabled{cursor:not-allowed;opacity:.6}.no-sheets{color:var(--muted);font-size:.85rem;font-style:italic;margin:0}.add-more-zone{align-items:center;border:2px dashed var(--border);border-radius:8px;color:var(--muted);cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;padding:.875rem;transition:all .2s ease}.add-more-zone:hover{background:#fefbfb;border-color:var(--accent);color:var(--accent)}.analyze-button{align-items:center;background:none;background-image:linear-gradient(90deg,var(--accent) 0,var(--accent) 50%,#0000 50%,#0000 100%);background-position:100% 0;background-size:200% 100%;border:1px solid var(--accent);border-radius:8px;color:var(--accent);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:.5rem;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),transform .2s ease}.analyze-button:hover:not(:disabled){background-position:0 0;box-shadow:0 8px 25px #f5656559;color:#fff;transform:translateY(-1px)}.analyze-button:disabled{cursor:not-allowed;opacity:.6}.analyze-button:after{background:radial-gradient(circle at center,#ffffff59,#ffffff14 60%,#0000 70%);content:"";height:200%;left:-30%;pointer-events:none;position:absolute;top:-50%;transform:translateX(-140%) rotate(15deg);transition:transform .6s ease;width:60%}.analyze-button:hover:after{transform:translateX(220%) rotate(15deg)}.analyze-button svg{transition:transform .25s ease}.analyze-button:hover:not(:disabled) svg{transform:translateX(4px)}.form-group{display:flex;flex-direction:column;gap:.375rem}.statement-type-label{color:var(--muted);font-size:.8rem;font-weight:500;letter-spacing:.5px;margin-bottom:.375rem;text-transform:uppercase}.statement-type-label .label-icon{opacity:.7}.config-selector-group{margin-top:.5rem}.config-selector-group .statement-type-label{align-items:center;display:flex;gap:.5rem}.config-loading{align-items:center;color:var(--muted);display:flex;font-size:.9rem;gap:.75rem;padding:1rem}.config-selector{gap:.75rem}.config-options,.config-selector{display:flex;flex-direction:column}.config-options{gap:.5rem}.config-option{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;cursor:pointer;padding:.875rem 1rem;transition:all .2s ease}.config-option:hover:not(.disabled){background:#fef6f6;border-color:var(--accent)}.config-option.selected{background:#fceded;border-color:var(--accent);box-shadow:0 0 0 1px #f5656533}.config-option.selected .radio-circle{background:var(--accent);border-color:var(--accent)}.config-option.disabled{cursor:not-allowed;opacity:.6}.config-option-default{background:var(--panel);border-style:dashed}.config-option-default:hover:not(.disabled){background:var(--panel-2)}.config-option-header{align-items:center;display:flex;gap:.75rem}.config-option-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.config-name{color:var(--text);font-size:.95rem;font-weight:500}.config-meta{align-items:center;color:var(--muted);display:flex;font-size:.8rem;gap:.5rem}.config-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.7rem;font-weight:600;gap:.25rem;letter-spacing:.3px;padding:.2rem .5rem;text-transform:uppercase}.config-badge.ai-badge{background:linear-gradient(135deg,#f0e8fc,#e1d6f5);color:#773cdd}.config-check{color:var(--accent);flex-shrink:0}.radio-circle{align-items:center;border:2px solid var(--border);border-radius:50%;display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all .2s ease;width:18px}.radio-dot{background:#fff;border-radius:50%;height:8px;width:8px}.config-preview-wrapper{margin-top:.25rem}.config-preview-toggle{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;display:flex;font-size:.85rem;justify-content:space-between;padding:.625rem 1rem;transition:all .2s ease;width:100%}.config-preview-toggle:hover{background:var(--panel-2);color:var(--text)}.config-preview{animation:slideDown .2s ease;background:var(--panel);border:1px solid var(--border);border-radius:8px;margin-top:.5rem;padding:1rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.config-preview-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.75rem}.config-preview-header h5{align-items:center;color:var(--text);display:flex;font-size:.85rem;font-weight:600;gap:.5rem;margin:0}.guidelines-indicator{align-items:center;background:linear-gradient(135deg,#f0e8fc,#e1d6f5);border-radius:6px;color:#773cdd;display:flex;font-size:.75rem;font-weight:500;gap:.375rem;padding:.375rem .625rem}.config-categories-grid{display:flex;flex-wrap:wrap;gap:.375rem;max-height:200px;overflow-y:auto}.config-category-tag{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.8rem;padding:.375rem .625rem}.config-empty-msg{color:var(--muted);font-size:.85rem;font-style:italic;margin:0}.config-empty-state{align-items:center;background:var(--panel-2);border:1px dashed var(--border);border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;text-align:center}.config-empty-state .config-empty-icon{color:var(--muted)}.config-empty-state p{color:var(--text);font-size:.9rem;font-weight:500;margin:0}.config-empty-state span{color:var(--muted);font-size:.8rem}.period-review-container{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin:0 auto;max-width:900px;padding:1.5rem}.period-review-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1.25rem}.period-review-header h3{color:var(--text);font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.period-review-description{color:var(--muted);font-size:.875rem;margin:0}.period-cards-list{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1.5rem}.period-card{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;display:flex;gap:1rem;justify-content:space-between;padding:.875rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.period-card:hover{border-color:#e8c9c9}.period-card:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #e76e6e1a}.period-card-main{flex:0 0 200px;min-width:0}.period-label-inline{background:#0000;border:1px solid #0000;border-radius:6px;color:var(--text);cursor:text;font-size:.85rem;font-weight:600;padding:.375rem .625rem;transition:all .15s ease;width:100%}.period-label-inline:hover:not(:focus):not(:disabled){background:var(--panel);border-color:var(--border)}.period-label-inline:focus{background:var(--panel);border-color:var(--accent);box-shadow:0 0 0 3px #e76e6e1f;outline:none}.period-label-inline:disabled{cursor:not-allowed;opacity:.7}.period-label-inline::placeholder{color:var(--muted);font-weight:400}.period-card-meta{align-items:center;display:flex;flex:1 1;gap:1.25rem;justify-content:flex-end}.period-meta-item{align-items:center;color:var(--muted);display:flex;font-size:.8rem;gap:.375rem}.period-meta-item svg{color:var(--accent);flex-shrink:0;opacity:.7}.period-meta-filename{color:var(--text);font-weight:500;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.period-meta-divider{color:var(--border);font-weight:300}.period-meta-sheet{color:var(--muted);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.period-meta-accounts{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:6px;color:var(--muted);display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;padding:.375rem .625rem}.period-meta-accounts svg{color:var(--accent);opacity:.6}.periods-table-container{margin-bottom:1.5rem;overflow-x:auto}.periods-table{border-collapse:collapse;font-size:.9rem;width:100%}.periods-table td,.periods-table th{border-bottom:1px solid var(--border);padding:.875rem 1rem;text-align:left}.periods-table th{color:var(--text);font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.periods-table th,.periods-table tr:hover{background:var(--panel-2)}.periods-table td{color:var(--text)}.period-label-input{background:var(--panel);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.875rem;max-width:180px;padding:.5rem .75rem;width:100%}.period-label-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e76e6e26;outline:none}.period-source{display:flex;flex-direction:column;gap:.125rem}.period-file{color:var(--text);font-weight:500}.period-sheet{color:var(--muted);font-size:.8rem}.period-accounts{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:20px;color:var(--text);display:inline-flex;font-size:.85rem;font-weight:500;justify-content:center;min-width:40px;padding:.25rem .625rem}.edit-period-btn{background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;padding:.375rem .625rem;transition:all .2s}.edit-period-btn:hover{background:#fef6f6;border-color:var(--accent);color:var(--accent)}.account-filters{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.account-filter{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.account-filter.active,.account-filter:hover{border-color:var(--accent)}.account-filter.active{background:#fceded}.account-filter input[type=checkbox]{accent-color:var(--accent);height:16px;width:16px}.account-filter-label{color:var(--text);font-size:.875rem}.account-filter-count{background:var(--panel-2);border-radius:20px;color:var(--muted);font-size:.75rem;padding:.125rem .5rem}.period-review-actions{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-top:1rem}.back-button{font-weight:500;padding:.75rem 1.25rem}.summary-stats{display:flex;gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;flex:1 1;padding:1rem 1.25rem}.stat-label{color:var(--muted);font-size:.75rem;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.stat-value{color:var(--text);font-size:1.5rem;font-weight:700}.stat-value.highlight{color:var(--accent)}.info-note{align-items:flex-start;background:#faf4f4;border:1px solid #f3e2e2;border-radius:8px;color:var(--text);display:flex;font-size:.875rem;gap:.75rem;line-height:1.5;margin-bottom:1rem;padding:1rem 1.25rem}.info-note .info-icon{flex-shrink:0;font-size:1rem}.classification-container{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin:0 auto;max-width:900px;padding:1.5rem}.classification-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1.5rem}.classification-header h3{color:var(--text);font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.classification-description{color:var(--muted);font-size:.875rem;margin:0}.classification-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem;text-align:center}.loading-spinner-large{animation:spin 1s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:48px;margin-bottom:1rem;width:48px}.classification-loading p{color:var(--text);font-size:1rem;font-weight:500;margin:0 0 .5rem}.loading-hint{color:var(--muted);font-size:.85rem}.classification-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr;margin-bottom:1.5rem}.summary-card{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;display:flex;gap:1rem;padding:1.25rem}.summary-card.total{background:linear-gradient(135deg,#fceded,#f9e7e7);justify-content:center}.summary-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.summary-icon.pl-icon{background:linear-gradient(135deg,#e7f9ed,#d9f2e2);color:#29a356}.summary-icon.bs-icon{background:linear-gradient(135deg,#e7f0f9,#d9e6f2);color:#2966a3}.summary-content{flex:1 1}.summary-label{color:var(--muted);font-size:.75rem;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.summary-value{color:var(--text);font-size:1.5rem;font-weight:700}.summary-detail{color:var(--muted);font-size:.75rem;margin-top:.25rem}.statement-type-selection{margin-bottom:1.5rem}.statement-type-selection h4{color:var(--text);font-size:1rem;font-weight:600;margin:0 0 .25rem}.selection-hint{color:var(--muted);font-size:.85rem;margin:0 0 1rem}.statement-options{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.statement-option{align-items:flex-start;background:var(--panel);border:2px solid var(--border);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;padding:1.25rem;text-align:left;transition:all .2s ease}.statement-option:hover:not(:disabled){background:#fefbfb;border-color:var(--accent)}.statement-option.selected{background:#fdf2f2;border-color:var(--accent)}.statement-option.disabled{background:var(--panel-2);cursor:not-allowed;opacity:.7}.option-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem;width:100%}.option-check{color:var(--accent)}.statement-option:not(.selected) .option-check{opacity:0}.option-lock{color:var(--muted)}.option-title{color:var(--text);font-size:.95rem;font-weight:600}.coming-soon-badge{background:var(--muted);border-radius:4px;color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.5px;margin-left:auto;padding:.25rem .5rem;text-transform:uppercase}.option-description{color:var(--muted);font-size:.85rem;line-height:1.4;margin:0 0 .75rem}.option-count{background:#fceded;border-radius:20px;color:var(--accent);font-size:.8rem;font-weight:600;padding:.25rem .75rem}.statement-option.disabled .option-count{background:var(--panel);color:var(--muted)}.account-preview{margin-bottom:1.5rem}.account-preview h4{color:var(--text);font-size:.9rem;font-weight:600;margin:0 0 .75rem}.preview-table-container{border:1px solid var(--border);border-radius:8px;overflow:hidden}.preview-table{border-collapse:collapse;font-size:.85rem;width:100%}.preview-table td,.preview-table th{border-bottom:1px solid var(--border);padding:.75rem 1rem;text-align:left}.preview-table th{background:var(--panel-2);color:var(--text);font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.preview-table tr:last-child td{border-bottom:none}.preview-table tr:hover{background:var(--panel-2)}.account-name{color:var(--text);font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:capitalize}.type-badge.revenue{background:#e7f9ed;color:#248f4b}.type-badge.expense{background:#fceee3;color:#a14d12}.type-badge.asset{background:#e7f0f9;color:#24598f}.type-badge.liability{background:#f3e7f9;color:#6b248f}.type-badge.equity{background:#fcf6e3;color:#a17d12}.statement-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.statement-badge.pl{background:#e7f9ed;color:#248f4b}.statement-badge.bs{background:#fae5e5;color:#ad1f1f}.preview-table-container.scrollable{max-height:400px;overflow-y:auto}.preview-table-container.scrollable thead{position:-webkit-sticky;position:sticky;top:0;z-index:1}.preview-table-container.scrollable thead th{background:var(--panel-2);box-shadow:0 1px 0 var(--border)}.classification-actions{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-top:1rem}.classification-error{align-items:center;color:#d92626;display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center}.classification-error svg{margin-bottom:.75rem}.classification-error p{margin:0 0 1rem}.retry-button{background:#fceded;border:1px solid var(--accent);border-radius:6px;color:var(--accent);cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s}.retry-button:hover{background:var(--accent);color:#fff}.reclassify-option{border-top:1px solid var(--border);display:flex;justify-content:center;margin-top:1rem;padding-top:1rem}.reclassify-button{background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s}.reclassify-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.reclassify-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.file-card-header{align-items:flex-start;gap:.75rem}.file-card-header,.sheet-chips{flex-direction:column}.sheet-chip{justify-content:center;width:100%}.period-card,.period-review-actions,.summary-stats{flex-direction:column}.period-card{align-items:stretch;gap:.75rem}.period-card-meta{align-items:flex-start;flex-direction:column;gap:.5rem}.period-meta-filename{max-width:none}.classification-summary,.statement-options{grid-template-columns:1fr}.classification-actions{flex-direction:column}}.App{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}.App-body{display:flex;flex:1 1;min-height:0}.App-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#fefdfd,#fdfcfc);border-bottom:1px solid #f4e6e6;box-shadow:0 4px 20px #f565650f;flex-shrink:0;padding:1rem 1.25rem}.header-content{justify-content:space-between;max-width:100%}.header-content,.logo{align-items:center;display:flex}.logo{-webkit-user-select:none;user-select:none}.logo img{height:40px;object-fit:contain;width:auto}.header-actions{align-items:center;display:flex;gap:.6rem}.provider-selector{align-items:center;display:flex;gap:.35rem}.provider-label{color:var(--muted);font-size:.8rem;font-weight:600;letter-spacing:.02em}.provider-dropdown{appearance:none;-webkit-appearance:none;background:#f5f5f5;background:var(--panel-2,#f5f5f5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;border:1px solid #ddd;border:1px solid var(--border,#ddd);border-radius:8px;color:var(--text);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem 1.8rem .4rem .6rem;transition:border-color .2s ease,box-shadow .2s ease}.provider-dropdown:focus,.provider-dropdown:hover{border-color:var(--accent)}.provider-dropdown:focus{box-shadow:0 0 0 2px #e76e6e26;outline:none}.provider-dropdown option{font-weight:600}.logout-button{background:none;background-image:linear-gradient(90deg,var(--accent) 0,var(--accent) 50%,#0000 50%,#0000 100%);background-position:100% 0;background-size:200% 100%;border:1px solid var(--accent);border-radius:10px;color:var(--accent);cursor:pointer;font-size:.95rem;font-weight:700;padding:.5rem .9rem;transition:background-position .45s cubic-bezier(.22,1,.36,1),color .45s cubic-bezier(.22,1,.36,1),transform .12s ease,box-shadow .2s ease}.logout-button:hover{background-position:0 0;box-shadow:0 6px 20px #e76e6e4d;color:#fff;transform:translateY(-1px)}.App-header h1{color:var(--text);font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.App-header p{color:var(--muted);font-size:1.05rem;margin:0 0 1rem}.progress-indicator{gap:1.5rem;justify-content:center}.progress-indicator,.step{align-items:center;display:flex}.step{color:var(--muted);font-size:.9rem;gap:.5rem;transition:color .3s ease}.step.active{color:var(--accent)}.step.completed{color:var(--success)}.step-number{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:50%;color:var(--muted);display:flex;font-size:.8rem;font-weight:600;height:24px;justify-content:center;transition:all .3s ease;width:24px}.step.active .step-number{background:var(--accent);border-color:var(--accent);color:#fff}.step.completed .step-number{background:var(--success);border-color:var(--success);color:#fff}.step-label{font-weight:500}.App-main{background:var(--bg);flex:1 1;overflow-y:auto;padding:1.5rem 2rem}.content-container{margin:0 auto;max-width:1200px}.account-page,.chart-of-accounts-page,.content-container,.mapper-page,.recon-page,.tb-converter-page{display:flex;flex-direction:column;gap:1.5rem}.mapper-page .upload-section{max-width:600px}.account-page{max-width:500px}.chart-of-accounts-page{max-width:700px}.recon-page{max-width:900px}.mapper-page .progress-indicator{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.5rem}.period-section,.results-section,.upload-section{background:#0000;border:none;border-radius:0;box-shadow:none;padding:0}.loading-container{background:linear-gradient(135deg,#fefdfd 0,var(--panel) 100%);border:1px solid #edd;border-radius:12px;box-shadow:0 4px 20px #f5656514;color:var(--muted);overflow:hidden;padding:4rem 2rem;position:relative;text-align:center}.loading-container .border-beam{opacity:1}.spinner{animation:spin 1s linear infinite;border-top:3px solid var(--border);border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:40px;margin:0 auto 1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-loading{align-items:center;background:var(--bg);display:flex;flex-direction:column;justify-content:center;min-height:100vh}.auth-loading p{color:var(--muted);margin-top:1rem}.error-container{background:#ef444414;border:1px solid #ef44444d;border-radius:12px;color:#dc2626;margin:2rem auto;max-width:600px;padding:2rem;text-align:center}.error-container h3{color:#dc2626;margin:0 0 1rem}.error-container p{color:#ef4444;margin:0 0 1.5rem}.reset-button{background:linear-gradient(135deg,var(--accent) 0,#e45858 100%);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:transform .2s,filter .2s}.reset-button:hover{filter:brightness(1.05);transform:translateY(-1px)}.back-button{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.back-button:hover{border-color:var(--accent);color:var(--accent)}.button-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;margin-right:.5rem;width:16px}.sample-data-button{background:var(--success);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;margin-bottom:1rem;padding:.5rem 1rem;transition:filter .2s,transform .2s}.sample-data-button:hover{filter:brightness(1.05);transform:translateY(-1px)}.App.streaming{overflow-anchor:auto;scroll-behavior:smooth}.App.streaming .content-container{contain:layout style}.results-section{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);contain:layout;overflow-anchor:auto}.account-row{transition:none}.period-content,.period-group{will-change:auto}.theme-toggle{background:none;background-image:linear-gradient(90deg,#0b0d10,#0b0d10 50%,#d1d5db 0,#d1d5db);background-position:100% 0;background-size:200% 100%;border:1px solid #9aa3ad;border-radius:10px;color:#0f1115;cursor:pointer;font-size:.95rem;font-weight:700;padding:.5rem .9rem;transition:background-position .45s cubic-bezier(.22,1,.36,1),color .45s cubic-bezier(.22,1,.36,1),transform .12s ease}.theme-toggle:hover{background-position:0 0;color:#fff;transform:translateY(-1px)}
/*# sourceMappingURL=main.6fc2dd0b.css.map*/