body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--bg: hsl(0, 20%, 99%);--panel: hsl(0, 30%, 99.5%);--panel-2: hsl(0, 25%, 97%);--panel-3: hsl(0, 20%, 95%);--text: hsl(220, 13%, 18%);--muted: hsl(220, 9%, 42%);--border: hsl(0, 30%, 92%);--border-hover: hsl(0, 40%, 85%);--accent: hsl(0, 72%, 67%);--accent-hover: hsl(0, 72%, 60%);--accent-2: hsl(0, 65%, 75%);--accent-light: hsl(0, 72%, 95%);--accent-rgb: 245, 101, 101;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--shadow: 0 4px 20px rgba(245, 101, 101, .08);--radius: 12px}body{background:var(--bg);color:var(--text)}html{filter:invert(0) hue-rotate(0deg);transition:filter .5s cubic-bezier(.4,0,.2,1)}html.dark-mode{filter:invert(1) hue-rotate(180deg)}html.dark-mode img:not(.theme-logo),html.dark-mode video,html.dark-mode iframe,html.dark-mode svg,html.dark-mode canvas,html.dark-mode [data-preserve-color]{filter:invert(1) hue-rotate(180deg)}html.dark-mode img.theme-logo{filter:none}img,video,iframe,svg,canvas,[data-preserve-color]{transition:filter .5s cubic-bezier(.4,0,.2,1)}*,*:before,*:after{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)}button,.btn-animated,.btn-coral-animated,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{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}input,select,textarea{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e76e6e26}input::placeholder,textarea::placeholder{color:var(--muted)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0px 1000px var(--panel) inset;box-shadow:0 0 0 1000px var(--panel) inset;transition:background-color 5000s ease-in-out 0s;caret-color:var(--text);border:1px solid var(--border)}input:-moz-autofill,textarea:-moz-autofill,select:-moz-autofill{box-shadow:0 0 0 1000px var(--panel) inset;-moz-text-fill-color:var(--text);caret-color:var(--text);border:1px solid var(--border)}button{background:linear-gradient(135deg,var(--accent) 0%,hsl(0,72%,62%) 100%);color:#fff;border:1px solid transparent;border-radius:10px}button:hover{filter:brightness(1.05)}.btn-secondary{background:var(--panel);color:var(--text);border:1px solid var(--border)}.btn-coral-animated{position:relative;overflow:hidden;background:none;background-image:linear-gradient(90deg,var(--accent) 0%,var(--accent) 50%,transparent 50%,transparent 100%);background-size:200% 100%;background-position:100% 0;color:var(--accent);border:1px solid var(--accent);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{position:relative;overflow:hidden;transform:translateZ(0);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;box-shadow:var(--shadow);isolation:isolate}.btn-animated:hover{transform:translateY(-1px);filter:brightness(1.05)}.btn-animated:active{transform:translateY(0);filter:brightness(.98)}.btn-animated:after{content:"";position:absolute;top:-50%;left:-30%;width:60%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.25),rgba(255,255,255,.05) 60%,transparent 70%);transform:translate(-140%) rotate(15deg);transition:transform .6s ease;pointer-events:none;z-index:0}.btn-animated:hover:after{transform:translate(220%) rotate(15deg)}.btn-animated svg{transition:transform .25s ease,opacity .25s ease;transform:translate(2px);opacity:.9;z-index:1}.btn-animated:hover svg{transform:translate(6px);opacity:1}.border-beam{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;overflow:hidden;padding:2px;-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}.border-beam:before{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:conic-gradient(from 0deg,transparent 0deg 250deg,rgba(245,101,101,0) 250deg,rgba(245,101,101,.2) 265deg,rgba(245,101,101,.5) 275deg,rgba(245,101,101,.7) 282deg,rgba(245,101,101,.85) 288deg,rgba(245,101,101,1) 295deg,rgba(245,101,101,1) 302deg,rgba(245,101,101,.85) 308deg,rgba(245,101,101,.7) 314deg,rgba(245,101,101,.5) 325deg,rgba(245,101,101,.2) 335deg,rgba(245,101,101,0) 345deg,transparent 345deg 360deg);animation:border-beam-spin 4s linear infinite}.border-beam:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;background:var(--panel);border-radius:inherit;z-index:1}@keyframes border-beam-spin{to{transform:rotate(360deg)}}.border-beam-container{position:relative;overflow:hidden}.border-beam-container .border-beam{opacity:0;transition:opacity .3s ease}.border-beam-container.loading .border-beam{opacity:1}html,body{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)}.ccp-wrapper{margin-top:.25rem}.ccp-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.625rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:.85rem;cursor:pointer;transition:all .2s ease}.ccp-toggle:hover{background:var(--panel-2);color:var(--text)}.ccp-toggle-label{display:flex;align-items:center;gap:.5rem}.ccp-toggle-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--panel-2);font-size:.7rem;font-weight:600;color:var(--muted)}.ccp-panel{margin-top:.5rem;padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:8px;animation:ccpSlideDown .2s ease;max-height:320px;overflow-y:auto}.ccp-card{padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:12px;max-height:500px;overflow-y:auto;animation:ccpSlideDown .2s ease}@keyframes ccpSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ccp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.ccp-title{margin:0;font-size:.85rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:.5rem}.ccp-guidelines-badge{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:linear-gradient(135deg,#f565651a,#ec48991a);border:1px solid rgba(245,101,101,.2);border-radius:20px;font-size:.75rem;color:var(--accent)}.ccp-guidelines-badge svg{color:#ec4899}.ccp-loading{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;color:var(--muted);font-size:.85rem}.ccp-spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:ccpSpin 1s linear infinite}@keyframes ccpSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ccp-sections{display:flex;flex-direction:column;gap:.5rem}.ccp-section-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-left:3px solid #6b7280;background:var(--panel-2);border-radius:0 6px 6px 0}.ccp-section-name{font-size:.82rem;font-weight:600;color:var(--text)}.ccp-section-count{font-size:.7rem;font-weight:500;color:var(--muted);background:var(--panel);padding:.125rem .5rem;border-radius:10px}.ccp-section-children{padding:.25rem 0 .25rem 1.25rem}.ccp-child{display:flex;align-items:center;gap:.375rem;padding:.2rem 0}.ccp-child-dot{font-size:1.2rem;line-height:1;color:var(--muted)}.ccp-child-name{font-size:.8rem;color:var(--muted)}.ccp-below-ebitda-divider{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 .25rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#dc2626}.ccp-below-ebitda-divider:after{content:"";flex:1;height:1px;background:#dc262633}.ccp-below-ebitda-item{display:flex;align-items:center;gap:.5rem;padding:.3rem .75rem}.ccp-below-ebitda-dot{width:6px;height:6px;border-radius:50%;background:#dc2626;flex-shrink:0}.ccp-below-ebitda-name{font-size:.82rem;color:var(--text)}.ccp-flat-list{display:flex;flex-wrap:wrap;gap:.375rem}.ccp-flat-item{display:inline-flex;align-items:center;padding:.3rem .625rem;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;font-size:.8rem;color:var(--text)}.ccp-empty{margin:0;color:var(--muted);font-size:.85rem;font-style:italic}.ccp-layout{display:flex;gap:1.5rem;align-items:flex-start}.ccp-layout>.file-upload-container,.ccp-layout>.tb-converter-container{flex:1;min-width:0}.ccp-layout-side{flex:0 0 320px;position:sticky;top:1.5rem}@media(max-width:1024px){.ccp-layout{flex-direction:column}.ccp-layout-side{flex:none;width:100%;position:static}}.ccp-panel::-webkit-scrollbar,.ccp-card::-webkit-scrollbar{width:6px}.ccp-panel::-webkit-scrollbar-track,.ccp-card::-webkit-scrollbar-track{background:var(--panel-2);border-radius:3px}.ccp-panel::-webkit-scrollbar-thumb,.ccp-card::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.ccp-panel::-webkit-scrollbar-thumb:hover,.ccp-card::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media(max-width:768px){.ccp-header{flex-direction:column;align-items:flex-start}.ccp-panel,.ccp-card{max-height:250px}}.file-upload-container{max-width:900px;margin:0 auto;position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.file-upload-container>*:not(.border-beam){position:relative;z-index:2}.dropzone.has-file{border-color:var(--accent);background:#fdf2f2;padding:1rem 1.5rem}.dropzone-text{margin:0;font-size:.9rem;color:var(--muted)}.file-info{display:flex;align-items:center;gap:.75rem;text-align:left}.file-icon{color:var(--accent);flex-shrink:0;width:32px;height:32px}.file-size{margin:.125rem 0 0;color:var(--muted);font-size:.8rem}.config-section{background:#f7fafc;border-radius:8px;padding:1.5rem}.form-group label{font-size:.8rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.form-group input{padding:.625rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.9rem;transition:border-color .2s,box-shadow .2s;background:var(--panel-2);color:var(--text)}.form-group input::placeholder{color:var(--muted)}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f5656526}.form-group input:disabled{opacity:.6;cursor:not-allowed}.sheet-list-selector{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding:.25rem}.sheet-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.sheet-option:hover:not(.disabled){border-color:var(--accent);background:#fef6f6}.sheet-option.selected{border-color:var(--accent);background:#fceded}.sheet-option.selected .radio-circle{border-color:var(--accent);background:var(--accent)}.sheet-option.disabled{opacity:.6;cursor:not-allowed}.sheet-option-name{font-size:.95rem;color:var(--text)}.sheet-empty-state{padding:1rem;text-align:center;color:var(--muted);font-size:.9rem;background:var(--panel-2);border-radius:8px;border:1px dashed var(--border)}.sheet-loading{display:flex;align-items:center;gap:.5rem;padding:.75rem;color:var(--muted);font-size:.9rem}.form-help{margin:.5rem 0 0;font-size:.9rem;color:#718096}.statement-type-selector{display:flex;flex-direction:row;gap:.5rem}.file-upload-container .statement-option{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.5rem;padding:6px 12px;height:32px;border:1px solid var(--border);border-radius:5px;background:var(--panel-2);cursor:pointer;transition:all .15s ease}.file-upload-container .statement-option:hover:not(.disabled){border-color:var(--accent);background:#fef6f6}.file-upload-container .statement-option.selected{border-color:var(--accent);background:#fceded}.file-upload-container .statement-option.selected .radio-circle{border-color:var(--accent);background:var(--accent)}.file-upload-container .statement-option.disabled{opacity:.6;cursor:not-allowed}.file-upload-container .statement-option .statement-text{font-size:.85rem;font-weight:500;color:var(--text);line-height:1;margin:0;padding:0}.radio-circle{width:14px;height:14px;border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease;margin:0}.file-upload-container .statement-option:hover:not(.disabled) .radio-circle{border-color:var(--accent)}.radio-dot{width:6px;height:6px;border-radius:50%;background:#fff}.sheet-selection-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-top:.5rem}.sheet-column{display:flex;flex-direction:column}.sheet-header-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text)}.sheet-header-desc{margin:.25rem 0 1rem;font-size:.9rem;color:var(--muted)}.sheet-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding-right:.5rem}.sheet-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;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{border-color:var(--success);background:var(--success)}.sheet-item.selected-comp{background:#fceded;border-color:var(--accent)}.sheet-item.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.sheet-name-text{font-size:.95rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkbox-square{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.selected-comp .checkbox-square{color:var(--accent)}.config-loading .button-spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);margin-right:0}@media(max-width:768px){.statement-type-selector.three-col,.sheet-selection-container{grid-template-columns:1fr}}.comparative-upload-container{max-width:900px;margin:0 auto;position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.comparative-upload-container>*:not(.border-beam){position:relative;z-index:2}.comparative-upload-container .upload-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.comparative-upload-container .header-icon{background:linear-gradient(135deg,#fceded,#f9e7e7);color:var(--accent);padding:.75rem;border-radius:10px;display:flex;align-items:center;justify-content:center}.comparative-upload-container .upload-header h3{margin:0 0 .25rem;color:var(--text);font-size:1.25rem;font-weight:600}.comparative-upload-container .upload-description{margin:0;color:var(--muted);font-size:.875rem}.comparative-upload-container .upload-form{display:flex;flex-direction:column;gap:1.25rem}.comparative-upload-container .dropzone{border:2px dashed hsl(0,40%,88%);border-radius:8px;padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#fcf8f8,#faf5f5)}.comparative-upload-container .dropzone:hover{border-color:var(--accent);background:#fef6f6}.comparative-upload-container .dropzone.active{border-color:var(--accent);background:#fceded}.comparative-upload-container .dropzone.has-file{border-color:var(--accent);background:#fdf2f2;padding:1rem 1.5rem}.comparative-upload-container .dropzone.disabled{opacity:.6;cursor:not-allowed}.comparative-upload-container .dropzone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.comparative-upload-container .upload-icon{color:var(--muted)}.comparative-upload-container .dropzone-text{margin:0;font-size:.9rem;color:var(--muted)}.comparative-upload-container .file-info{display:flex;align-items:center;gap:.75rem;text-align:left}.comparative-upload-container .file-icon{color:var(--accent);flex-shrink:0;width:32px;height:32px}.comparative-upload-container .file-details{flex:1;min-width:0}.comparative-upload-container .file-name{margin:0;font-weight:500;color:var(--text);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comparative-upload-container .file-size{margin:.125rem 0 0;color:var(--muted);font-size:.8rem}.comparative-upload-container .remove-file-btn{background:#ef44441f;border:none;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#f87171;transition:background-color .2s;flex-shrink:0}.comparative-upload-container .remove-file-btn:hover{background:#ef444433}.comparative-upload-container .sheets-loading-container{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#fcf8f8,#faf5f5);border:1px dashed var(--border);border-radius:8px}.comparative-upload-container .sheets-loading-spinner{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#fceded,#f9e7e7);border-radius:10px}.comparative-upload-container .sheets-loading-spinner .button-spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent)}.comparative-upload-container .sheets-loading-text{display:flex;flex-direction:column;gap:.25rem}.comparative-upload-container .sheets-loading-text .loading-title{font-weight:600;color:var(--text);font-size:1rem}.comparative-upload-container .sheets-loading-text .loading-subtitle{color:var(--muted);font-size:.875rem}.comparative-upload-container .sheet-selection-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.comparative-upload-container .sheet-column{display:flex;flex-direction:column}.comparative-upload-container .sheet-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;color:var(--accent)}.comparative-upload-container .sheet-header-text{flex:1}.comparative-upload-container .sheet-header-title{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.comparative-upload-container .sheet-header-desc{margin:.25rem 0 0;font-size:.85rem;color:var(--muted)}.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{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;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{border-color:var(--success);background:var(--success)}.comparative-upload-container .sheet-item.selected-comp{background:#fceded;border-color:var(--accent)}.comparative-upload-container .sheet-item.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.comparative-upload-container .sheet-item-name{font-size:.95rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comparative-upload-container .radio-circle{width:18px;height:18px;border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.comparative-upload-container .radio-dot{width:8px;height:8px;border-radius:50%;background:#fff}.comparative-upload-container .checkbox-square{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--muted);border:2px solid var(--border);border-radius:4px;transition:all .2s ease}.comparative-upload-container .checkbox-square.checked{background:var(--accent);border-color:var(--accent);color:#fff}.comparative-upload-container .analyze-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:none;background-image:linear-gradient(90deg,var(--accent) 0%,var(--accent) 50%,transparent 50%,transparent 100%);background-size:200% 100%;background-position:100% 0;color:var(--accent);border:1px solid var(--accent);padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),transform .2s ease;position:relative;overflow:hidden;margin-top:.5rem}.comparative-upload-container .analyze-button:hover:not(:disabled){background-position:0 0;color:#fff;transform:translateY(-1px);box-shadow:0 8px 25px #f5656559}.comparative-upload-container .analyze-button:disabled{opacity:.6;cursor:not-allowed}.comparative-upload-container .analyze-button:after{content:"";position:absolute;top:-50%;left:-30%;width:60%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.35),rgba(255,255,255,.08) 60%,transparent 70%);transform:translate(-140%) rotate(15deg);transition:transform .6s ease;pointer-events:none}.comparative-upload-container .analyze-button:hover:after{transform:translate(220%) rotate(15deg)}.comparative-upload-container .analyze-button svg{transition:transform .25s ease}.comparative-upload-container .analyze-button:hover:not(:disabled) svg{transform:translate(4px)}.comparative-upload-container .button-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.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)}.comparative-upload-container .quota-banner{background:linear-gradient(135deg,#fff7f0,#fdf1f1);border:1px solid hsl(25,80%,82%);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem;animation:quota-slide-in .3s ease-out}@keyframes quota-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.comparative-upload-container .quota-banner-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.comparative-upload-container .quota-banner-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;color:#b85814}.comparative-upload-container .quota-banner-title svg{color:#f2800d}.comparative-upload-container .quota-banner-close{background:none;border:none;color:#ba855e;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.comparative-upload-container .quota-banner-close:hover{background:#0000000f}.comparative-upload-container .quota-banner-message{margin:0 0 .75rem;font-size:.875rem;color:#74553e;line-height:1.5}.comparative-upload-container .quota-banner-message strong{color:#7a451f}.comparative-upload-container .quota-request-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer}.comparative-upload-container .quota-request-btn:disabled{opacity:.7;cursor:default;transform:none!important;box-shadow:none!important}.comparative-upload-container .quota-request-btn .button-spinner{width:14px;height:14px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@media(max-width:768px){.comparative-upload-container .sheet-selection-container{grid-template-columns:1fr}}.period-selector-card{max-width:900px;margin:0 auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;position:relative;overflow:hidden}.period-selector-card>*:not(.border-beam){position:relative;z-index:2}.context-bar{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.context-bar .back-button{display:flex;align-items:center;gap:.4rem;background:var(--panel-2);color:var(--text);border:1px solid var(--border);padding:.4rem .75rem;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s;flex-shrink:0}.context-bar .back-button:hover{border-color:var(--accent);color:var(--accent)}.context-meta{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;overflow:hidden}.meta-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;font-size:.8rem;color:var(--text);max-width:220px;flex-shrink:0;pointer-events:none;-webkit-user-select:none;user-select:none}.meta-chip svg{color:var(--muted);flex-shrink:0}.chip-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta-separator{color:var(--muted);font-size:.75rem;flex-shrink:0}.selection-badge{display:flex;align-items:center;gap:.15rem;padding:.4rem .75rem;background:#fceded;border:1px solid hsl(0,60%,88%);border-radius:20px;font-size:.8rem;font-weight:600;flex-shrink:0}.selection-count{color:var(--accent)}.selection-separator,.selection-total{color:var(--muted)}.period-section{display:flex;flex-direction:column;gap:.5rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:20px;pointer-events:none}.section-header>*{pointer-events:auto}.section-title{margin:0;font-size:.8rem;font-weight:500;color:var(--muted);letter-spacing:.04em;pointer-events:none;cursor:default}.select-all-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;background:var(--panel-2);border:1px solid var(--border);border-radius:5px;color:var(--text);font-weight:500;font-size:.75rem;cursor:pointer;transition:all .2s ease}.select-all-btn:hover:not(:disabled){border-color:var(--accent);background:#fef6f6}.select-all-btn.active{border-color:var(--accent);background:#fceded;color:var(--accent)}.select-all-btn:disabled{opacity:.5;cursor:not-allowed}.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-y:auto;overflow-x:hidden}.period-table thead{position:sticky;top:0;z-index:10}.period-table thead tr{background:var(--panel)}.period-table thead th{background:inherit;color:var(--muted);text-align:left;padding:.75rem .625rem;border-bottom:1px solid var(--border);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.period-table thead th:first-child{width:44px}.period-table tbody tr{background:transparent;cursor:pointer;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{padding:.625rem;border-bottom:1px solid var(--border);color:var(--text);font-size:.85rem;vertical-align:middle}.check-cell{text-align:center;padding:.625rem .5rem}.check-cell input[type=checkbox]{width:16px;height:16px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--panel);border:2px solid hsl(0,30%,82%);border-radius:4px;cursor:pointer;position:relative;transition:all .15s ease}.check-cell input[type=checkbox]:checked:after{content:"✓";position:absolute;top:-2px;left:2px;font-size:12px;font-weight:700;color:#fff}.date-cell{font-weight:500;font-size:.85rem;color:var(--text)}.name-cell{color:var(--muted);font-size:.8rem}.action-footer{display:flex;justify-content:center;align-items:center;gap:.75rem;padding-top:1.25rem;margin-top:.5rem}.view-results-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--panel-2, #f5f5f5);color:var(--accent);border:1px solid var(--accent);padding:.75rem 1.5rem;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden}.view-results-button:hover:not(:disabled){background:var(--accent);color:#fff;transform:translateY(-1px);box-shadow:0 6px 20px #e76e6e40}.view-results-button svg{transition:transform .25s ease}.process-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:none;background-image:linear-gradient(90deg,var(--accent) 0%,var(--accent) 50%,transparent 50%,transparent 100%);background-size:200% 100%;background-position:100% 0;color:var(--accent);border:1px solid var(--accent);padding:.75rem 1.75rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),transform .2s ease;position:relative;overflow:hidden}.process-button:hover:not(:disabled){background-position:0 0;color:#fff;transform:translateY(-1px);box-shadow:0 8px 25px #f5656559}.process-button:disabled{opacity:.6;cursor:not-allowed}.process-button:hover:not(:disabled):after{transform:translate(220%) rotate(15deg)}.process-button:hover:not(:disabled) svg{transform:translate(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{order:3;flex-basis:100%}.meta-chip{max-width:none}.selection-badge{margin-left:auto}.period-table-wrapper{height:320px}.section-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.comparative-summary-container{max-width:800px;margin:0 auto;animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.summary-header{margin-bottom:1.25rem}.summary-header h2{margin:0 0 .25rem;font-size:1.25rem;font-weight:600;color:var(--text)}.summary-header p{margin:0;font-size:.875rem;color:var(--muted)}.sources-section{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.source-row{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;font-size:.875rem}.source-icon{flex-shrink:0}.source-icon.raw{color:var(--success)}.source-icon.comp{color:var(--accent)}.source-type{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.source-name{font-size:.875rem;font-weight:600;color:var(--text)}.source-meta{font-size:.8rem;color:var(--muted);margin-left:auto}.source-range{font-size:.8rem;color:var(--muted);padding-left:.625rem;border-left:1px solid var(--border)}.source-group{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.source-group-header{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;border-bottom:1px solid var(--border)}.source-group-header .source-type{flex:1}.source-count{font-size:.75rem;color:var(--muted)}.source-group-items{display:flex;flex-direction:column;background:inherit}.source-item{display:flex;align-items:center;gap:.625rem;padding:.5rem .875rem .5rem 2rem;font-size:.875rem;border-bottom:1px solid var(--border);background:transparent}.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;padding:1rem 1.25rem;margin-bottom:1rem}.periods-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.periods-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text)}.periods-count{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--success);color:#fff;border-radius:6px;font-size:.8rem;font-weight:700}.periods-section.error .periods-count{background:var(--danger)}.status-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:600}.status-pill.success{background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.25)}.status-pill.error{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.25)}.periods-list{display:flex;flex-wrap:wrap;gap:.375rem}.period-tag{display:inline-block;padding:.3rem .625rem;background:#ebfaf1;border:1px solid hsl(145,50%,80%);border-radius:5px;font-size:.8rem;font-weight:500;color:#15803d}.no-periods{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#dc2626;font-size:.85rem}.warnings-dropdown{margin-bottom:1rem}.warnings-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .875rem;background:#fdf7ed;border:1px solid hsl(38,60%,80%);border-radius:8px;color:#b45309;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s}.warnings-toggle:hover{background:#fbf1df}.warnings-toggle svg:last-child{margin-left:auto}.warnings-content{margin-top:.5rem;padding:.875rem;background:#fdfbf7;border:1px solid hsl(38,60%,85%);border-radius:8px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.warning-group{margin-bottom:.75rem}.warning-group:last-child{margin-bottom:0}.warning-group-title{display:block;font-size:.75rem;font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.375rem}.warning-group ul{margin:0;padding-left:1rem;font-size:.8rem;color:var(--text)}.warning-group li{margin-bottom:.2rem}.warning-group li strong{color:#b45309}.action-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.5rem}.action-row-right{display:flex;align-items:center;gap:.75rem}.btn-view-results{display:inline-flex;align-items:center;gap:.375rem;background:var(--panel-2, #f5f5f5);color:var(--accent);border:1px solid var(--accent);padding:.6rem 1.1rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .25s ease}.btn-view-results:hover:not(:disabled){background:var(--accent);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #e76e6e40}.btn-view-results:disabled{opacity:.5;cursor:not-allowed}.btn-view-results svg{transition:transform .2s ease}.btn-view-results:hover:not(:disabled) svg{transform:translate(2px)}.btn-back{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-back:hover:not(:disabled){background:var(--panel-2);border-color:var(--border-hover, var(--border))}.btn-back:disabled{opacity:.5;cursor:not-allowed}.btn-process{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1.25rem;background:var(--accent);border:1px solid var(--accent);border-radius:6px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-process:hover:not(:disabled){background:#df3a3a;transform:translateY(-1px);box-shadow:0 4px 12px #f565654d}.btn-process:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:600px){.source-row{flex-wrap:wrap}.source-meta{margin-left:0;width:100%;padding-top:.375rem}.source-range{padding-left:0;border-left:none}.action-row{flex-direction:column}.action-row-right{flex-direction:column;width:100%}.btn-back,.btn-process,.btn-view-results{width:100%;justify-content:center}}.progress-tracker{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px;margin:20px 0;box-shadow:var(--shadow);animation:slideIn .3s ease-out;position:relative;overflow:hidden;width:700px;max-width:100%}.progress-tracker>*:not(.border-beam){position:relative;z-index:2}.progress-tracker.completed{background:#edfdf3;border:1px solid #10b981}.net-profit-summary-row{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(16,185,129,.18);font-size:13px;color:var(--muted)}.net-profit-summary-row strong{color:var(--text);font-weight:600}.net-profit-summary-row .corrections-icon{color:#f59e0b}.net-profit-summary-row .pass-icon{color:#10b981}.net-profit-summary-row .coral-ring-loader.small{width:14px;height:14px;border-width:2px}.net-profit-jump{margin-left:auto;font-size:12px;font-weight:600;color:#7c3aed;text-decoration:none;padding:2px 8px;border-radius:4px;transition:background .15s ease}.net-profit-jump:hover{background:#7c3aed14}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.progress-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.progress-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border-radius:50%;color:#fff}.progress-icon .spinning{animation:spin 2s linear infinite}.progress-icon .trophy{color:#f59e0b;animation:bounce 2s ease-in-out infinite}.progress-icon .target{color:#10b981;animation:pulse 1.5s ease-in-out infinite alternate}.coral-ring-loader{width:32px;height:32px;border-radius:50%;border:3px solid transparent;border-top-color:#f56565;border-right-color:#f5656599;border-bottom-color:#f565654d;border-left-color:#f565651a;animation:coralRingSpin 1.2s linear infinite,coralRingFade 2s ease-in-out infinite}@keyframes coralRingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@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{margin:0;font-size:18px;color:var(--text);font-weight:600}.progress-title p{margin:2px 0 0;font-size:14px;color:var(--muted)}.progress-details{display:flex;flex-direction:column;gap:16px}.progress-stats{display:flex;gap:24px;flex-wrap:wrap}.progress-tracker .stat-item{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:14px;color:var(--muted);font-weight:500;padding:0;background:none;border-radius:0;text-align:left}.progress-tracker .stat-item svg{color:var(--accent)}.progress-bar-container{display:flex;flex-direction:column;gap:8px}.progress-bar{width:100%;height:8px;background-color:var(--border);border-radius:4px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),hsl(0,72%,62%));border-radius:4px;transition:width .5s ease-out;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.progress-text{font-size:12px;color:var(--muted);text-align:center}.period-indicators{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center}.period-indicator{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;cursor:pointer}.period-indicator.completed{background-color:#10b981;color:#fff}.period-indicator.current{background-color:var(--accent);color:#fff;animation:pulseGlow 2s infinite}.period-indicator.pending{background-color:var(--panel-2);border:1px solid var(--border)}.pending-dot{width:8px;height:8px;border-radius:50%;background-color:var(--muted)}@keyframes pulseGlow{0%,to{box-shadow: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{background:linear-gradient(135deg,var(--accent),hsl(0,72%,62%));color:#fff;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:500;animation:glow 2s ease-in-out infinite alternate}.current-period-badge.account-mapping{background:linear-gradient(135deg,#10b981,#059669);animation:accountGlow 2s ease-in-out infinite alternate}@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}}.net-profit-section{margin-top:20px;padding-top:18px;border-top:1px solid rgba(16,185,129,.2);animation:slideIn .3s ease-out}.net-profit-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.net-profit-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.net-profit-icon .coral-ring-loader.small{width:20px;height:20px;border-width:2.5px}.net-profit-icon .corrections-icon{color:#f59e0b}.net-profit-icon .pass-icon{color:#10b981}.net-profit-title h4{margin:0;font-size:14px;font-weight:600;color:var(--text)}.suggestions-list{display:flex;flex-direction:column;gap:10px}.suggestion-card{border-radius:8px;border:1px solid rgba(16,185,129,.18);background:#ffffff8c;padding:14px 16px;border-left:3px solid #d1d5db;transition:all .2s ease}.suggestion-card.approved{border-left-color:#10b981;background:#10b9810a}.suggestion-card.rejected{border-left-color:#ef4444;opacity:.5}.suggestion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.suggestion-account{font-weight:600;font-size:13px;color:var(--text)}.suggestion-value{font-size:12px;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}.suggestion-categories{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.suggestion-arrow{color:var(--muted);opacity:.5;flex-shrink:0}.suggestion-reasoning{font-size:12px;color:var(--muted);margin:0 0 10px;line-height:1.4;font-style:italic}.suggestion-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.suggestion-meta{display:flex;align-items:center;gap:8px}.impact-text{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.impact-text.positive{color:#10b981}.impact-text.negative{color:#ef4444}.confidence-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:3px}.confidence-badge.high{background:#10b9811f;color:#059669}.confidence-badge.medium{background:#f59e0b1f;color:#d97706}.confidence-badge.low{background:#ef44441f;color:#dc2626}.suggestion-actions{display:flex;gap:6px;flex-shrink:0}.btn-approve,.btn-reject{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:5px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid;transition:all .15s ease}.btn-approve{background:#10b98114;color:#059669;border-color:#10b9814d}.btn-approve:hover{background:#10b9812e}.btn-reject{background:#ef44440f;color:#dc2626;border-color:#ef444433}.btn-reject:hover{background:#ef444424}.suggestion-status{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.approved-status{color:#059669}.rejected-status{color:#dc2626}.net-profit-summary{margin:2px 0 0;font-size:12px;color:var(--muted)}.net-profit-fail-no-suggestions{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;background:#f59e0b14;color:#d97706;font-size:13px;font-weight:500}:is(.suggestion-card,.npc-sugg-categories) .category-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;box-shadow:0 1px 2px #0000001a}:is(.suggestion-card,.npc-sugg-categories) .category-badge.old{text-decoration:line-through;opacity:.55;filter:saturate(.5)}:is(.suggestion-card,.npc-sugg-categories) .category-badge.revenue{background:linear-gradient(135deg,#10b981,#059669);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.fees-income{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.cogs-food{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.cogs-tea-coffee{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.cogs-other-bev{background:linear-gradient(135deg,#b91c1c,#991b1b);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.cogs-wine{background:linear-gradient(135deg,#991b1b,#7f1d1d);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.cogs-liquor{background:linear-gradient(135deg,#fca5a5,#f87171);color:#7f1d1d}:is(.suggestion-card,.npc-sugg-categories) .category-badge.cogs-beer{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}:is(.suggestion-card,.npc-sugg-categories) .category-badge.cogs-retails{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.labor-foh-salaried{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.labor-foh-hourly{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.labor-foh-ot{background:linear-gradient(135deg,#93c5fd,#60a5fa);color:#1e3a8a}:is(.suggestion-card,.npc-sugg-categories) .category-badge.labor-boh-salaried{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.labor-boh-hourly{background:linear-gradient(135deg,#1d4ed8,#1e40af);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.labor-boh-ot{background:linear-gradient(135deg,#1e40af,#1e3a8a);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.employer-taxes{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.staff-insurance{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.contract-labor{background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.other-employee-expenses{background:linear-gradient(135deg,#c4b5fd,#a78bfa);color:#4c1d95}:is(.suggestion-card,.npc-sugg-categories) .category-badge.restaurant-supplies{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.maintenance{background:linear-gradient(135deg,#fb923c,#f97316);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.advertising-marketing{background:linear-gradient(135deg,#fdba74,#fb923c);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.other-operating{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#7c2d12}:is(.suggestion-card,.npc-sugg-categories) .category-badge.general-admin{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.travel-entertainment{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.professional-fee{background:linear-gradient(135deg,#fcd34d,#fbbf24);color:#78350f}:is(.suggestion-card,.npc-sugg-categories) .category-badge.insurance-expense{background:linear-gradient(135deg,#fde68a,#fcd34d);color:#92400e}:is(.suggestion-card,.npc-sugg-categories) .category-badge.utilities{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}:is(.suggestion-card,.npc-sugg-categories) .category-badge.occupancy-costs{background:linear-gradient(135deg,#d97706,#b45309);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.uncategorized-expenses{background:linear-gradient(135deg,#b45309,#a16207);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.net-income{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:2px solid #047857;font-weight:700}:is(.suggestion-card,.npc-sugg-categories) .category-badge.corporate-tax{background:linear-gradient(135deg,#b91c1c,#991b1b);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.depreciation{background:linear-gradient(135deg,#a855f7,#9333ea);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.amortization{background:linear-gradient(135deg,#d946ef,#c026d3);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.interest-expense{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.other-expenses{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.other-income{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.uncategorized{background:linear-gradient(135deg,#d1d5db,#9ca3af);color:#374151;border:2px dashed #6b7280}:is(.suggestion-card,.npc-sugg-categories) .category-badge.custom-category{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-food-sales{background:linear-gradient(135deg,#10b981,#059669);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-bev-sales{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-sales-other{background:linear-gradient(135deg,#22d3ee,#06b6d4);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-food-cogs{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-bev-cogs{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-other-cogs{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-staff-foh{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-staff-boh{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-staff-temp{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-staff-mgmt{background:linear-gradient(135deg,#1d4ed8,#1e40af);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-staff-oncosts{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-repairs{background:linear-gradient(135deg,#fb923c,#f97316);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-marketing{background:linear-gradient(135deg,#fdba74,#fb923c);color:#fff}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-office-supplies{background:linear-gradient(135deg,#fcd34d,#fbbf24);color:#78350f}:is(.suggestion-card,.npc-sugg-categories) .category-badge.comp-prof-fees{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.net-profit-pass{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;background:#10b98114;color:#059669;font-size:13px;font-weight:500}.net-profit-pass svg{flex-shrink:0}@media(max-width:768px){.progress-tracker{padding:16px;margin:16px 0}.progress-stats{gap:16px}.progress-tracker .stat-item{font-size:13px}.period-indicators{gap:4px}.period-indicator{width:20px;height:20px}.corrections-table-wrapper{margin:0 -4px}.corrections-table td,.corrections-table th{padding:6px 8px;font-size:12px}.correction-account{max-width:140px}}.npc-breakdown{margin-top:16px;border-radius:10px;border:1px solid rgba(16,185,129,.15);background:#fff9;overflow:hidden}.npc-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.npc-header:hover{background:#10b9810a}.npc-header-left{display:flex;align-items:center;gap:8px}.npc-header h4{margin:0;font-size:13px;font-weight:600;color:var(--text)}.npc-status-summary{display:flex;gap:10px;margin-left:8px}.npc-pass-count,.npc-fail-count{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500}.npc-pass-count{color:#059669}.npc-fail-count{color:#dc2626}.npc-content{padding:0 16px 16px}.npc-layout{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.npc-main{min-width:0}.npc-period-rail{display:flex;flex-direction:column;gap:4px;padding-right:12px;border-right:1px solid rgba(0,0,0,.06);max-height:420px;overflow-y:auto}.npc-period-rail .npc-period-tab{justify-content:space-between;min-width:96px}.npc-suggestion-rail{display:flex;flex-direction:column;gap:6px;padding-left:12px;border-left:1px solid rgba(0,0,0,.06);max-height:420px;overflow-y:auto}.npc-rail-header{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding-bottom:6px;border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:2px;position:sticky;top:0;background:#fffffff2;z-index:1}.npc-rail-count{padding:1px 6px;border-radius:10px;background:#7c3aed1f;color:#7c3aed;font-size:10px;font-weight:700}.npc-no-suggestions{display:flex;align-items:center;gap:6px;padding:10px 8px;font-size:12px;color:#059669}.npc-no-suggestions svg{color:#10b981;flex-shrink:0}.npc-sugg-list{display:flex;flex-direction:column;gap:4px}.npc-sugg-chip{border:1px solid rgba(0,0,0,.08);border-radius:6px;background:#ffffffa6;border-left:3px solid transparent;transition:all .15s ease}.npc-sugg-chip:hover{border-color:#00000029}.npc-sugg-chip.in-period{border-left-color:#7c3aed;background:#7c3aed0a}.npc-sugg-chip.approved{border-left-color:#10b981;background:#10b9810a}.npc-sugg-chip.rejected{border-left-color:#ef4444;opacity:.55}.npc-sugg-chip.expanded{background:#ffffffd9}.npc-sugg-chip-head{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;background:transparent;border:none;cursor:pointer;text-align:left;font-size:12px;color:var(--text)}.npc-sugg-chevron{color:var(--muted);flex-shrink:0}.npc-sugg-name{flex:1;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.npc-sugg-value{font-variant-numeric:tabular-nums;color:var(--muted);font-size:11px;flex-shrink:0}.npc-sugg-dot{width:6px;height:6px;border-radius:50%;background:#d1d5db;flex-shrink:0}.npc-sugg-dot.approved{background:#10b981}.npc-sugg-dot.rejected{background:#ef4444}.npc-sugg-dot.pending{background:#d1d5db}.npc-sugg-body{padding:4px 10px 10px 24px;display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(0,0,0,.05)}.npc-sugg-categories{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.npc-sugg-arrow{color:var(--muted);opacity:.6;flex-shrink:0}.npc-sugg-reasoning{margin:0;font-size:11px;color:var(--muted);line-height:1.4;font-style:italic}.npc-sugg-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.npc-sugg-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.npc-impact{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.npc-impact.positive{color:#10b981}.npc-impact.negative{color:#ef4444}.npc-confidence{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:3px}.npc-confidence.HIGH,.npc-confidence.high{background:#10b9811f;color:#059669}.npc-confidence.MEDIUM,.npc-confidence.medium{background:#f59e0b1f;color:#d97706}.npc-confidence.LOW,.npc-confidence.low{background:#ef44441f;color:#dc2626}.npc-sugg-actions{display:flex;gap:4px}.npc-btn-approve,.npc-btn-reject{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid;transition:background .15s ease}.npc-btn-approve{background:#10b98114;color:#059669;border-color:#10b9814d}.npc-btn-approve:hover{background:#10b9812e}.npc-btn-reject{background:#ef44440f;color:#dc2626;border-color:#ef444440}.npc-btn-reject:hover{background:#ef444424}.npc-sugg-status{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500}.npc-sugg-status.approved{color:#059669}.npc-sugg-status.rejected{color:#dc2626}.npc-sugg-categories .category-badge{padding:3px 7px;font-size:.7rem;max-width:160px}.npc-period-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.06)}.npc-period-tab{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:5px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid transparent;background:#00000008;color:var(--muted);transition:all .15s ease}.npc-period-tab:hover{background:#0000000f}.npc-period-tab.active{background:var(--bg);border-color:#0000001f;color:var(--text);font-weight:600}.npc-period-tab.pass svg{color:#10b981}.npc-period-tab.fail svg{color:#ef4444}.npc-section-table{width:auto;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.npc-section-table thead th{text-align:left;padding:6px 8px;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid rgba(0,0,0,.08)}.npc-section-table thead th.npc-num{text-align:right}.npc-section-table tbody tr{border-bottom:1px solid rgba(0,0,0,.04)}.npc-section-table tbody td{padding:5px 8px}.npc-sign{width:16px;text-align:center;font-weight:600;color:var(--muted)}.npc-section-name{font-weight:500;color:var(--text);padding-right:40px}.npc-account-count{font-size:10px;color:var(--muted);margin-left:4px;font-weight:400}.npc-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.npc-row.positive .npc-num:last-child{color:#059669}.npc-row.negative .npc-num:last-child{color:#dc2626}.npc-section-table tfoot tr{border-top:none}.npc-total-row{border-top:2px solid rgba(0,0,0,.12)!important}.npc-total-row td{padding:8px 8px 4px;font-weight:700;font-size:13px;color:var(--text)}.npc-benchmark-row td{padding:4px 8px;color:var(--muted);font-weight:500}.npc-discrepancy-row td{padding:4px 8px 8px;font-weight:600}.npc-discrepancy-row.pass td{color:#059669}.npc-discrepancy-row.fail td{color:#dc2626}.npc-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-left:6px;vertical-align:middle}.npc-badge.pass{background:#10b9811f;color:#059669}.npc-badge.fail{background:#ef44441f;color:#dc2626}.npc-unassigned-warning{margin-top:10px;padding:8px 12px;border-radius:6px;background:#f59e0b14;color:#d97706;font-size:11px;font-weight:500}@media(max-width:1100px){.npc-layout{grid-template-columns:1fr}.npc-period-rail{flex-direction:row;flex-wrap:wrap;max-height:none;border-right:none;border-bottom:1px solid rgba(0,0,0,.06);padding-right:0;padding-bottom:10px;overflow-y:visible}.npc-suggestion-rail{border-left:none;border-top:1px solid rgba(0,0,0,.06);padding-left:0;padding-top:10px;max-height:320px}}@media(max-width:768px){.npc-period-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.npc-section-table{font-size:11px}}.npc-sugg-chip.in-plan{box-shadow:inset 3px 0 #34b268}.npc-sugg-chip.in-plan.expanded{box-shadow:inset 3px 0 #2e9e5d}html.dark-mode .npc-sugg-chip.in-plan{box-shadow:inset 3px 0 #61d190}html.dark-mode .npc-sugg-chip.in-plan.expanded{box-shadow:inset 3px 0 #4dcb82}.results-container{padding:2rem;height:100%;overflow:auto}.excel-view{overflow-x:auto;border-radius:8px;border:1px solid var(--border);position:relative;background:var(--panel)}.period-limit-notice{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:6px;padding:8px 12px;margin-bottom:12px}.period-limit-notice p{margin:0;font-size:.85rem;color:#15803d;font-weight:500}.table-wrapper{width:100%;overflow-x:auto;position:relative;max-width:100vw;background:var(--panel);border-radius:8px}.excel-table{width:max-content;min-width:100%;border-collapse:collapse;background:var(--panel);position:relative}.excel-table th{background:linear-gradient(135deg,#faf4f4,#fdfcfc)!important;border:1px solid hsl(0,40%,90%);padding:6px;text-align:center;font-weight:700;color:var(--text)}.excel-table .period-col{z-index:10;background:var(--panel-2)!important;color:var(--text)!important;text-align:center}.excel-table td{border:1px solid var(--border);padding:2px 6px;vertical-align:middle;background:var(--panel)!important;color:var(--text)!important;transition:all .3s ease}.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{position:relative;z-index:5;background:var(--panel)!important;color:var(--text)!important}.excel-table tbody tr{background:var(--panel)!important}.excel-table tbody tr:nth-child(2n){background:var(--panel-2)!important}.excel-table tbody tr:nth-child(2n) td{background:var(--panel-2)!important}.excel-table tbody tr:nth-child(2n) .account-name,.excel-table tbody tr:nth-child(2n) .category,.excel-table tbody tr:nth-child(2n) .notes-cell,.excel-table tbody tr:nth-child(2n) .actions-cell,.excel-table tbody tr:nth-child(2n) .period-value{background:var(--panel-2)!important}.excel-table .account-name-col{position:sticky;left:0;background:var(--panel-2)!important;color:var(--text)!important;z-index:20;text-align:center}.excel-table .category-col{position:sticky;left:200px;background:var(--panel-2)!important;color:var(--text)!important;z-index:20;width:140px;text-align:center}.excel-table .notes-col{position:sticky;left:340px;background:var(--panel-2)!important;color:var(--text)!important;z-index:20;text-align:center}.excel-table .account-name,.excel-table .category,.excel-table .notes-cell{position:sticky;background:var(--panel)!important;color:var(--text)!important;z-index:15}.excel-table .account-name{left:0}.excel-table .category{left:200px;font-size:.85rem;line-height:1.1;padding:2px!important}.excel-table .notes-cell{left:340px}.excel-table .account-name,.excel-table .category,.excel-table .notes-cell{box-shadow:2px 0 4px #00000026;border-right:2px solid var(--border)}.excel-table .notes-cell{box-shadow:2px 0 6px #0003;border-right:2px solid var(--border)}.excel-table .account-name-col,.excel-table .category-col,.excel-table .notes-col{box-shadow:2px 0 4px #00000026;border-right:2px solid var(--border)}.excel-table .notes-col{box-shadow:2px 0 6px #0003;border-right:2px solid var(--border)}.excel-table .actions-col{position:sticky;left:0;background:var(--panel-2)!important;color:var(--text)!important;z-index:20;width:68px;text-align:center}.excel-table .actions-cell{position:sticky;left:0;background:var(--panel)!important;color:var(--text)!important;z-index:15;padding:0;display:flex;align-items:center;justify-content:center}.excel-table .actions-cell .action-buttons,.action-buttons{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:100%;margin:0}.action-btn{background:#374151;border:1px solid #4b5563;border-radius:6px;padding:4px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;line-height:1;margin:0;color:#d1d5db;box-shadow:0 1px 2px #0000001a}.action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.action-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.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{color:#dc2626;background:#ef44441a;border-color:#ef444433}.delete-btn:hover{background:#ef444433;border-color:#ef44444d;color:#dc2626}.action-btn .sign-flip-symbol{font-weight:700;font-size:12px;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{width:200px;min-width:200px;max-width:200px;font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-col,.excel-table .category{width:220px;min-width:220px;max-width:220px;font-size:.85rem}.notes-col,.excel-table .notes-cell{width:180px;min-width:180px;max-width:180px;font-size:.8rem}.period-col,.excel-table .period-value{width:140px;min-width:140px;max-width:140px;text-align:center}.excel-table .period-value:last-child{padding-right:20px}.excel-table .notes-container{display:flex;align-items:center;justify-content:center;height:100%}.excel-table .notes-content{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}.excel-table .notes-text{font-size:.75rem;line-height:1.3;color:var(--muted);max-height:.5rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}.excel-table .notes-text.expanded{max-height:200px;overflow-y:auto;-webkit-line-clamp:none;line-clamp:none;display:block}.excel-table .notes-toggle{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.7rem;padding:2px 4px;display:flex;align-items:center;gap:2px;margin-top:2px}.excel-table .notes-toggle:hover{color:var(--accent-hover);text-decoration:underline}.excel-table .notes-view-button{background:linear-gradient(135deg,var(--accent),hsl(0,72%,58%));border:none;color:#fff;cursor:pointer;font-size:.6rem;font-weight:600;padding:2px 6px;border-radius:10px;transition:all .2s ease;box-shadow:0 1px 2px #3b82f64d;margin-bottom:0}.excel-table .notes-view-button:hover{transform:translateY(-1px);box-shadow:0 2px 6px #f5656566;background:linear-gradient(135deg,#e14747,#db2424)}.excel-table .notes-expanded-content{font-size:.75rem;line-height:1.4;color:var(--text);text-align:left;white-space:pre-wrap;word-wrap:break-word;max-width:100%;padding:8px;background:var(--panel-2);border-radius:6px;border:1px solid var(--border);margin-top:6px;box-shadow:inset 0 1px 3px #0003;animation:expandNotes .2s ease-out}@keyframes expandNotes{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:200px;padding-top:8px;padding-bottom:8px}}.excel-table .notes-expanded-row{transition:all .3s ease}.excel-table .notes-expanded-row td{vertical-align:top;padding-bottom:8px}.excel-table .notes-expanded-row .notes-cell{vertical-align:top}.period-value .value{padding:4px 8px;border-radius:5px;font-weight:600;text-align:right;font-size:.8rem;color:var(--text);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;border:1px solid transparent;transition:all .2s ease;min-width:72px;display:inline-block;background:transparent}.period-value .value:hover{transform:translateY(-1px);background:#ffffff08}.period-value .value.positive{color:#1e293b}.period-value .value.negative{color:#dc2626}.period-value .value.neutral{color:#475569}.excel-table .editable-cell{cursor:pointer;position:relative;padding:2px 4px;border-radius:4px;transition:all .2s ease}.excel-table .editable-cell:hover{background:#faf4f4;border:1px solid hsl(0,40%,88%)}.excel-table .category-cell{cursor:pointer;padding:0;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;width:100%}.excel-table .category-cell:hover{background:#fdf2f2;transform:scale(1.01)}.excel-table .category-select{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.8rem;padding:2px 4px;border:1px solid var(--accent);border-radius:4px;background:#fff;width:100%}.excel-table .category-select.compact{font-size:.75rem;padding:1px 2px;min-width:120px;max-width:140px}.excel-table .category-select option{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:1px 2px;font-size:.75rem}.excel-table .category-select optgroup{font-weight:700!important;font-style:italic!important;color:#1f2937!important;background:#fff!important;background-color:#fff!important}select.category-select optgroup{background:#fff!important;background-color:#fff!important;color:#1f2937!important}.category-badge,.excel-table .category-badge{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-align:center;min-width:60px;max-width:130px;transition:all .2s ease;box-shadow:0 1px 2px #0000001a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}.excel-table .category-badge:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.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);color:#fff;border:2px solid #047857;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);color:#374151;border:2px dashed #6b7280}.excel-table .category-select{width:100%;padding:8px 12px;border:2px solid #3b82f6;border-radius:6px;background:#fff;font-size:.85rem;font-weight:500;color:#1f2937;box-shadow:0 4px 6px #3b82f61a}.excel-table .category-select:focus{outline:none;border-color:#1d4ed8;box-shadow:0 4px 12px #3b82f633}@media(max-width:1200px){.account-name-col,.excel-table .account-name{width:140px;min-width:140px;max-width:140px}.category-col,.excel-table .category{width:120px;min-width:120px;max-width:120px}.notes-col,.excel-table .notes-cell{width:130px;min-width:130px;max-width:130px}.period-col,.excel-table .period-value{width:84px;min-width:84px;max-width:84px}.excel-table .category-col,.excel-table .category{left:208px}.excel-table .notes-col,.excel-table .notes-cell{left:328px}}.results-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid hsl(0,40%,90%)}.header-left{display:flex;flex-direction:column;gap:1rem}.header-left h2{margin:0;color:var(--text);font-size:1.8rem}.edit-hint{display:flex;align-items:center;gap:.5rem;color:#667eea;font-size:.9rem;margin:0}.header-actions{display:flex;gap:1rem;align-items:flex-start}.export-button,.reset-button,.category-button,.json-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:1px solid transparent;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:600;position:relative;overflow:hidden;transform:translateZ(0);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;box-shadow:var(--shadow);isolation:isolate;margin:0;height:42px;box-sizing:border-box}.export-button{background:linear-gradient(90deg,var(--accent) 0%,var(--accent) 50%,transparent 50%,transparent 100%)!important;background-size:200% 100%!important;background-position:100% 0!important;color:var(--accent)!important;border:1px solid var(--accent)!important;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;font-weight:700}.export-button:hover{background-position:0 0!important;color:#fff!important;transform:translateY(-1px);letter-spacing:.3px;box-shadow:0 8px 25px #f5656559}.export-button:active{transform:translateY(0);filter:brightness(.98)}.export-button-group{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0;padding:0}.header-actions>.json-button,.header-actions>.reset-button,.header-actions>.qoe-button{align-self:flex-start;margin-top:0}.referencing-toggle{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.referencing-toggle:hover{color:var(--text);background:var(--panel-2)}.referencing-toggle input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border:2px solid var(--border);border-radius:3px;background:var(--panel);cursor:pointer;display:grid;place-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;margin:0}.referencing-toggle input[type=checkbox]:hover{border-color:var(--accent)}.referencing-toggle input[type=checkbox]:checked{border-color:var(--accent);background:var(--panel-2)}.referencing-toggle input[type=checkbox]:after{content:"✓";font-size:12px;font-weight:900;color:var(--accent);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:hover svg{color:var(--accent)}.referencing-toggle input[type=checkbox]:checked+svg{color:var(--accent)}.referencing-toggle span{white-space:nowrap}.referencing-toggle input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.referencing-toggle:has(input:disabled){opacity:.5;cursor:not-allowed}.category-button{background:linear-gradient(90deg,var(--accent) 0%,var(--accent) 50%,transparent 50%,transparent 100%)!important;background-size:200% 100%!important;background-position:100% 0!important;color:var(--accent)!important;border:1px solid var(--accent)!important;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;font-weight:700}.category-button:hover{background-position:0 0!important;color:#fff!important;transform:translateY(-1px);letter-spacing:.3px;box-shadow:0 8px 25px #f5656559}.category-button:active{transform:translateY(0);filter:brightness(.98)}.reset-button{background:linear-gradient(90deg,var(--accent) 0%,var(--accent) 50%,transparent 50%,transparent 100%)!important;background-size:200% 100%!important;background-position:100% 0!important;color:var(--accent)!important;border:1px solid var(--accent)!important;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;font-weight:700}.reset-button:hover{background-position:0 0!important;color:#fff!important;transform:translateY(-1px);letter-spacing:.3px;box-shadow:0 8px 25px #f5656559}.reset-button:active{transform:translateY(0);filter:brightness(.98)}.json-button{background:linear-gradient(90deg,var(--accent) 0%,var(--accent) 50%,transparent 50%,transparent 100%)!important;background-size:200% 100%!important;background-position:100% 0!important;color:var(--accent)!important;border:1px solid var(--accent)!important;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;font-weight:700}.json-button:hover{background-position:0 0!important;color:#fff!important;transform:translateY(-1px);letter-spacing:.3px;box-shadow:0 8px 25px #f5656559}.json-button:active{transform:translateY(0);filter:brightness(.98)}.export-button:after,.category-button:after,.reset-button:after,.json-button:after{content:"";position:absolute;top:-50%;left:-30%;width:60%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.35),rgba(255,255,255,.08) 60%,transparent 70%);transform:translate(-140%) rotate(15deg);transition:transform .6s ease;pointer-events:none;z-index:0}.export-button:hover:after,.category-button:hover:after,.reset-button:hover:after,.json-button:hover:after{transform:translate(220%) rotate(15deg)}.export-button svg,.category-button svg,.reset-button svg,.json-button svg{transition:transform .25s ease,opacity .25s ease;transform:translate(2px);opacity:.9;z-index:1;position:relative}.export-button:hover svg,.category-button:hover svg,.reset-button:hover svg,.json-button:hover svg{transform:translate(6px);opacity:1}.export-button span,.category-button span,.reset-button span,.json-button span{position:relative;z-index:1}.summary-section{background:linear-gradient(135deg,#fefbfb,#fbf8f8);border:1px solid hsl(0,40%,92%);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.summary-cards{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media(max-width:768px){.summary-cards{grid-template-columns:1fr;gap:1rem}}.summary-card{background:var(--panel);border-radius:6px;padding:1rem;border:1px solid var(--border)}.summary-card h3{margin:0 0 .5rem;color:var(--text);font-size:1.2rem}.summary-card h4{margin:0 0 .75rem;color:var(--text);font-size:1rem}.summary-card p{margin:0;color:var(--muted);font-size:1rem}.summary-section{background:linear-gradient(135deg,#fefbfb,#fcf7f7);border:1px solid hsl(0,72%,92%);border-radius:12px}.summary-card{background:linear-gradient(135deg,#fffdfd,#fff);border:1px solid hsl(0,72%,90%);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:transparent!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{max-width:280px;width:100%;text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;align-items:center;margin:0}.results-container.multi-period .overview-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;width:100%}.results-container.multi-period .overview-header h3{margin:0;color:var(--text);text-align:center;font-size:18px;font-weight:600}.results-container.multi-period .metrics-box{border:none;border-radius:0;padding:0;background:transparent;max-width:320px;width:100%;margin:4px auto 0}.results-container.multi-period .overview-metrics{display:flex;flex-direction:column;gap:10px}.results-container.multi-period .overview-metrics .metric{display:flex;align-items:center;justify-content:flex-start;gap:8px;font-size:14px;color:var(--muted);font-weight:500}.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}.results-container.multi-period .summary-card.qoe-widget{background:linear-gradient(135deg,#fafbff,#f5f7ff);border:1px solid #e0e7ff;padding:20px 22px;width:100%;display:flex;flex-direction:column;justify-content:flex-start}.results-container.multi-period .summary-card.qoe-widget .overview-header svg{color:#6366f1}.results-container.multi-period .summary-card.qoe-widget .overview-header h3{color:var(--text)}.qoe-widget-body{display:flex;flex-direction:column;gap:14px;margin-top:8px}.qoe-widget-desc{margin:0;color:var(--muted, #4a5568);font-size:13px;line-height:1.5}.qoe-widget-cta{align-self:stretch;justify-content:center}.qoe-widget-view{align-self:stretch;justify-content:center;width:100%;padding:10px 14px;font-size:.85rem}.filtered-count{color:var(--accent)!important;font-weight:600;margin-top:.25rem!important}.section-counts{display:flex;flex-direction:column;gap:.5rem}.count-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.count-label{font-weight:500;color:#2d3748;font-size:.9rem}.count-value{background:#e2e8f0;color:#4a5568;padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;color:#2d3748;font-size:1.25rem}.modal-close{background:none;border:none;color:#a0aec0;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s}.modal-close:hover{color:#4a5568;background:#f7fafc}.modal-body{padding:2rem}.category-sections{display:flex;flex-direction:column;gap:2rem}.category-section h4{margin:0 0 1rem;color:#2d3748;font-size:1.1rem;font-weight:600;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.category-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f7fafc;border-radius:6px;border:1px solid var(--border);transition:all .2s}.category-item:hover{background:#edf2f7;border-color:#cbd5e0}.category-name{font-weight:500;color:#2d3748;font-size:.9rem}.category-count{background:#667eea;color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:600}.controls-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;padding:1rem;background:#f7fafc;border-radius:8px}.results-table-container{background:var(--panel)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow);border-radius:8px}.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);color:var(--text);border:1px solid var(--border)}.excel-table th{background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.controls-section.multi-period{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow)}.filter-group label{color:var(--text)}.filter-group select{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}.filter-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #60a5fa1a}.results-container.multi-period .period-value .value{background:transparent;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{flex-direction:column;gap:1rem;align-items:flex-start}.header-actions{align-self:stretch;flex-wrap:wrap}.modal-overlay,.modal-body{padding:1rem}.category-grid{grid-template-columns:1fr}}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:600;color:var(--text);font-size:.9rem}.filter-group select{padding:.5rem;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text);font-size:.9rem;cursor:pointer}.results-table-container{overflow-x:auto;border-radius:8px;border:1px solid hsl(0,30%,90%);background:var(--panel);box-shadow:0 2px 12px #f565650f}.results-table{width:100%;border-collapse:collapse;font-size:.9rem}.results-table th{background:#f7fafc;padding:6px;text-align:left;font-weight:600;color:#2d3748;border-bottom:2px solid var(--border);position:sticky;top:0;z-index:10;line-height:1.1}.results-table td{padding:2px 6px;border-bottom:1px solid var(--border);vertical-align:middle;line-height:1.1}.account-row{animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.account-row:hover{background:var(--panel-2)}.original-name{font-weight:500;color:#2d3748;max-width:200px}.editable-cell{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:background-color .2s}.editable-cell:hover{background:#f7fafc}.editable-cell .edit-icon{opacity:0;transition:opacity .2s;color:#a0aec0}.edit-cell{display:flex;align-items:center;gap:.5rem;position:relative}.edit-select{padding:.25rem .5rem;border:1px solid #667eea;border-radius:4px;font-size:.8rem;background:#fff;min-width:200px;max-width:250px}.edit-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.edit-select optgroup{font-weight:600;color:#2d3748;background:#f7fafc}.edit-select option{padding:.25rem;font-weight:400}.edit-input{padding:.25rem .5rem;border:1px solid #667eea;border-radius:4px;font-size:.8rem;background:#fff;min-width:120px;max-width:150px;font-family:Courier New,monospace;text-align:right}.edit-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.edit-input::placeholder{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;color:#a0aec0}.edit-actions{display:flex;gap:.25rem}.edit-save,.edit-cancel{background:none;border:none;padding:.25rem;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.edit-save{color:#48bb78}.edit-save:hover{background:#f0fff4}.edit-cancel{color:#e53e3e}.edit-cancel:hover{background:#fed7d7}.section-badge{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500;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;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.value{font-weight:600;text-align:right;font-family:Courier New,monospace}.value-display{font-weight:600;font-family:Courier New,monospace}.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{color:#4a5568;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.notes-text:not(.expanded){max-height:4.2em;overflow:hidden;position:relative}.notes-text:not(.expanded):after{content:"";position:absolute;bottom:0;right:0;width:30px;height:1.4em;background:linear-gradient(to right,transparent,var(--panel) 50%);pointer-events:none}.notes-text.expanded{max-height:none;overflow:visible}.notes-toggle{background:none;border:none;color:#667eea;cursor:pointer;font-size:.8rem;padding:.25rem 0;display:flex;align-items:center;gap:.25rem;margin-top:.5rem}.notes-toggle:hover{color:#5a6fd8}.no-results{text-align:center;padding:3rem;color:#718096}.no-results p{margin:0 0 .5rem;font-size:1.1rem}.no-results p:last-child{margin:0;font-size:1rem;color:#a0aec0}.results-container.multi-period{scroll-behavior:smooth;overflow-anchor:auto}.progress-overview-container{display:flex;gap:1.5rem;margin:8px 0 20px;align-items:flex-start}.progress-section{flex:0 0 auto;min-width:0;padding:0}.progress-overview-container .progress-section .progress-tracker{max-width:550px;width:100%;padding:20px 24px;margin:0}.progress-overview-container .progress-section .progress-tracker.has-net-profit{max-width:800px}.progress-overview-container .progress-section .progress-tracker.multi-section{max-width:550px;padding:20px 24px}.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{display:flex;flex-direction:row;gap:20px;flex-wrap:nowrap}.progress-overview-container .progress-section .stat-item{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px;padding:0;background:none;border-radius:0;text-align:left}.progress-overview-container .summary-section{flex:1 1 auto;min-width:0;margin:0;padding:0}@media(max-width:1024px){.progress-overview-container{flex-direction:column}.progress-overview-container .progress-section .progress-tracker{max-width:100%}.progress-overview-container .progress-section .progress-stats{flex-wrap:wrap}}.period-table-container{max-height:300px;overflow-y:auto;border:none;border-radius:8px;scroll-behavior:smooth;transition:max-height .3s ease;background:var(--panel)}.period-table-container.expanded{max-height:600px}.period-footer{padding:12px 16px;background:#f8fafc;border-top:1px solid var(--border);border-radius:0 0 8px 8px}.more-accounts{margin:0;color:#64748b;font-size:14px;display:flex;align-items:center;gap:8px}.show-all-button{background:none;border:none;color:#3b82f6;text-decoration:underline;cursor:pointer;font-size:14px;padding:0}.show-all-button:hover{color:#1d4ed8;text-decoration-color:#1d4ed8}.show-all-button:active{transform:translateY(1px)}.button-spinner{width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite;margin-right:0}.export-button:disabled,.category-button:disabled,.reset-button:disabled,.json-button:disabled{opacity:.6;cursor:not-allowed;filter:grayscale(.3)}.export-button:disabled:hover,.category-button:disabled:hover,.reset-button:disabled:hover,.json-button:disabled:hover{transform:none;filter:grayscale(.3)}.export-button:disabled:after,.category-button:disabled:after,.reset-button:disabled:after,.json-button:disabled:after{display:none}.export-button:disabled svg,.category-button:disabled svg,.reset-button:disabled svg,.json-button:disabled svg{transform:translate(2px);opacity:.6}.editable-cell{position:relative;cursor:pointer;display:flex;align-items:center;gap:4px;padding:2px 4px;border-radius:4px;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{display:flex;align-items:center;gap:8px;width:100%}.edit-input,.edit-select{flex:1;padding:2px 6px;border:1px solid #3b82f6;border-radius:4px;font-size:14px;min-width:120px}.edit-input:focus,.edit-select:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 2px #3b82f633}.edit-actions{display:flex;gap:4px}.edit-save,.edit-cancel{padding:4px;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;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{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin:20px 0;padding:16px;background:var(--panel)!important;border-radius:8px;border:1px solid var(--border)!important;box-shadow:var(--shadow)}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:150px}.filter-group label{font-size:14px;font-weight:500;color:var(--text)!important}.filter-group select{padding:8px 12px;border:1px solid var(--border)!important;border-radius:6px;background:var(--panel-2)!important;color:var(--text)!important;font-size:14px}.filter-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f5656526}.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{flex-direction:column;align-items:stretch}.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,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 6px center;background-repeat:no-repeat;background-size:12px;padding:6px 24px 6px 8px;border:none;border-radius:4px;font-size:.75rem;font-weight:600;text-align:left;width:100%!important;min-width:200px;max-width:none;transition:all .2s ease;box-shadow:0 1px 2px #0000001a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:#fff;box-sizing:border-box}.excel-table .category-combo:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026;filter:brightness(1.1)}.excel-table .category-combo:focus{outline:none;transform:translateY(-1px);box-shadow:0 4px 12px #0003;filter:brightness(1.2)}.excel-table .category-combo:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.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);color:#374151;border:2px dashed #6b7280}.excel-table .category-combo.comp-food-sales,.excel-table .category-badge.comp-food-sales{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600}.excel-table .category-combo.comp-bev-sales,.excel-table .category-badge.comp-bev-sales{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;font-weight:600}.excel-table .category-combo.comp-sales-other,.excel-table .category-badge.comp-sales-other{background:linear-gradient(135deg,#22d3ee,#06b6d4);color:#fff}.excel-table .category-combo.comp-food-cogs,.excel-table .category-badge.comp-food-cogs{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.excel-table .category-combo.comp-bev-cogs,.excel-table .category-badge.comp-bev-cogs{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.excel-table .category-combo.comp-other-cogs,.excel-table .category-badge.comp-other-cogs{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff}.excel-table .category-combo.comp-staff-foh,.excel-table .category-badge.comp-staff-foh{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:600}.excel-table .category-combo.comp-staff-boh,.excel-table .category-badge.comp-staff-boh{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:600}.excel-table .category-combo.comp-staff-temp,.excel-table .category-badge.comp-staff-temp{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}.excel-table .category-combo.comp-staff-mgmt,.excel-table .category-badge.comp-staff-mgmt{background:linear-gradient(135deg,#1d4ed8,#1e40af);color:#fff;font-weight:600}.excel-table .category-combo.comp-staff-oncosts,.excel-table .category-badge.comp-staff-oncosts{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-weight:600}.excel-table .category-combo.comp-repairs,.excel-table .category-badge.comp-repairs{background:linear-gradient(135deg,#fb923c,#f97316);color:#fff}.excel-table .category-combo.comp-marketing,.excel-table .category-badge.comp-marketing{background:linear-gradient(135deg,#fdba74,#fb923c);color:#fff}.excel-table .category-combo.comp-office-supplies,.excel-table .category-badge.comp-office-supplies{background:linear-gradient(135deg,#fcd34d,#fbbf24);color:#78350f}.excel-table .category-combo.comp-prof-fees,.excel-table .category-badge.comp-prof-fees{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.excel-table .category-combo.custom-category,.excel-table .category-badge.custom-category{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.excel-table .category-combo option{background:#fff;color:#374151;padding:4px 8px;font-weight:400}.excel-table .category-combo optgroup{background:#f8fafc;color:#4a5568;font-weight:600;padding:4px 8px}.excel-table .category-cell{padding:2px 4px;border-radius:4px;display:flex;align-items:center;max-width:140px}.excel-table .account-name{padding-left:6px;font-size:.85rem;font-weight:600;line-height:1}.excel-table .account-name.opex-line-item{padding-left:16px}.validation-summary{border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin:12px 0 16px;background:var(--panel);box-shadow:var(--shadow)}.validation-summary.ok{border-color:#16a34a;background:var(--panel);border-left:4px solid #16a34a}.validation-summary.warn{border-color:#f59e0b;background:var(--panel);border-left:4px solid #f59e0b}.validation-summary.fixed{border-color:#fb923c;background:var(--panel);border-left:4px solid #fb923c}.validation-summary.loading{border-color:var(--border);background:var(--panel)}.validation-loading{display:flex;align-items:center;gap:12px;padding:8px 2px}.validation-spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:valspin 1s linear infinite}@keyframes valspin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.validation-phrase{color:var(--text);font-size:13px}.validation-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.validation-header h3{margin:0;font-size:14px;color:var(--text);font-weight:600}.validation-status{margin:4px 0 8px;font-size:13px;color:var(--text)}.validation-periods{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.validation-period{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:6px;background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:all .2s ease}.validation-period:hover{background:#ffffff0f;border-color:var(--accent);transform:translateY(-1px);box-shadow:0 2px 4px #0003}.validation-period.ok{background-color:#22c55e26;border:1px solid rgba(34,197,94,.3);color:#4ade80}.validation-period.ok:hover{background-color:#22c55e40;border-color:#22c55e}.validation-period.warn{background-color:#f59e0b26;border:1px solid rgba(245,158,11,.3);color:#fbbf24}.validation-period.warn:hover{background-color:#f59e0b40;border-color:#f59e0b}.validation-period.fixed{background-color:#fb923c26;border:1px solid rgba(251,146,60,.35);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{display:inline-block;min-width:48px;text-align:center;padding:3px 8px;border-radius:9999px;font-weight:600;font-size:12px;border:1px solid transparent}.vp-score-badge.good{background:#22c55e33;color:#4ade80;border-color:#22c55e4d}.vp-score-badge.ok{background:#f59e0b33;color:#fbbf24;border-color:#f59e0b4d}.vp-score-badge.warn{background:#ef444433;color:#f87171;border-color:#ef44444d}.validation-detail{margin-top:12px;border-top:1px solid var(--border);background:var(--panel-2);border-radius:6px;padding:12px;box-shadow:inset 0 1px 3px #0003}.vd-section{margin-bottom:12px}.vd-title{font-weight:600;font-size:14px;margin-bottom:8px;color:var(--text);border-bottom:1px solid var(--border);padding-bottom:4px}.validation-fixes-notice{background:#fb923c1f;border:1px solid rgba(251,146,60,.3);border-radius:6px;padding:8px 12px;margin:8px 0;font-size:13px;color:#fb923c;font-weight:500}.ni-comparison{display:flex;flex-direction:column;gap:8px;font-size:.95rem}.ni-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:var(--panel);border-radius:4px}.ni-row.difference{font-weight:600;border-top:2px solid var(--border);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{margin:0;padding-left:18px;font-size:13px;color:var(--muted);line-height:1.4}.vd-list li{margin-bottom:4px;color:var(--text)}.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%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:500px}}.validation-suggestions{padding:0;display:flex;flex-direction:column;gap:14px}.suggestion-item{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:16px;box-shadow:0 2px 4px #0000001a;transition:all .2s ease;display:flex;flex-direction:column;gap:14px}.suggestion-item:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026;border-color:var(--accent)}.suggestion-item.reclassify{border-left:4px solid var(--accent)}.suggestion-item.exclude{border-left:4px solid #f59e0b}.suggestion-item.applied{opacity:.7;background:var(--panel)}.suggestion-content{display:flex;flex-direction:column;gap:12px}.suggestion-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.suggestion-item .account-name{font-weight:700;color:var(--text);font-size:15px;flex:1;min-width:150px}.action-badge{padding:4px 8px;border-radius:6px;font-size:.65rem;font-weight:700;text-transform:uppercase;color:#fff;letter-spacing:.5px;box-shadow:0 1px 2px #0003}.action-badge.reclassify{background:linear-gradient(135deg,var(--accent),hsl(0,72%,62%))}.action-badge.exclude{background:linear-gradient(135deg,#f59e0b,#d97706)}.suggestion-value{font-family:Courier New,monospace;font-weight:600;color:var(--muted);font-size:14px;background:var(--panel);padding:3px 8px;border-radius:4px;border:1px solid var(--border)}.suggestion-details{display:flex;flex-direction:column;gap:10px;color:var(--text);font-size:14px}.current-mapping,.recommended-mapping{display:flex;align-items:center;gap:12px}.mapping-label{font-weight:600;color:var(--muted);min-width:80px;font-size:13px}.suggestion-reason{color:var(--muted);font-style:italic;font-size:13px;line-height:1.5;padding:10px 12px;background:var(--panel);border-radius:6px;border-left:3px solid var(--border)}.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);color:#fff;border:2px solid #047857;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);color:#374151;border:2px dashed #6b7280}.apply-suggestion-btn{background:linear-gradient(135deg,var(--accent),hsl(0,72%,62%));color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #f565654d;display:flex;align-items:center;justify-content:center;gap:6px;align-self:flex-start}.apply-suggestion-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #f5656566;background:linear-gradient(135deg,#e45858,#e04242)}.apply-suggestion-btn:active{transform:translateY(0)}.suggestion-applied{color:#22c55e;font-weight:700;font-size:14px;display:flex;align-items:center;gap:6px;padding:10px 18px;background:#22c55e1a;border-radius:8px;border:1px solid rgba(34,197,94,.3);align-self:flex-start}.comparative-section-wrapper{margin-bottom:4rem;background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.section-header-bar{background:var(--panel-2);padding:1rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center}.section-header-bar h3{margin:0;color:var(--text);font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.75rem}.section-header-bar h3:before{content:"";display:block;width:4px;height:24px;background:var(--accent);border-radius:2px}.entity-section{margin-bottom:0;border-bottom:1px solid var(--border)}.entity-section:last-child{border-bottom:none}.entity-header{background:var(--panel-2);padding:.75rem 1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.entity-title{color:var(--text);font-size:1rem;font-weight:600}.entity-count{background:var(--panel);color:var(--text-secondary);border:1px solid var(--border);font-size:.75rem;padding:.25rem .75rem;border-radius:999px}.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;padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow);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{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.section-item{display:flex;flex-direction:column;gap:.5rem}.section-info{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;font-weight:500;color:var(--text)}.section-stats{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.8rem;font-family:SF Mono,monospace}.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{height:6px;background:var(--border);border-radius:3px;overflow:hidden;width:100%}.progress-bar.mini .progress-fill{height:100%;background:var(--accent);transition:width .3s ease}.section-item.completed .progress-fill{background:#10b981}.section-item.pending .progress-fill{background:transparent}.category-badge.revenue-green,.excel-table .category-badge.revenue-green,.suggestion-details .category-badge.revenue-green,.excel-table .category-combo.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;padding:12px 16px;margin-bottom:16px}.merger-source-legend .legend-header{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text);margin-bottom:10px;font-size:.9rem}.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{display:flex;align-items:center;gap:8px;font-size:.85rem}.merger-source-legend .source-badge-legend{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:.75rem;font-weight:700;color:#fff;border-radius:4px;flex-shrink:0}.merger-source-legend .legend-file-name{font-weight:500;color:var(--text)}.merger-source-legend .legend-sheet-name{color:var(--muted);font-size:.8rem}.sources-col{width:80px;min-width:80px;text-align:center}.sources-cell{text-align:center;vertical-align:middle;padding:4px 8px}.source-badges{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.source-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:.7rem;font-weight:700;color:#fff;border-radius:4px;flex-shrink:0;cursor:default;transition:transform .15s ease}.source-badge:hover{transform:scale(1.1)}.qoe-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:1px solid transparent;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:600;position:relative;overflow:hidden;background:linear-gradient(90deg,#8b5cf6 0%,#8b5cf6 50%,transparent 50%,transparent 100%)!important;background-size:200% 100%!important;background-position:100% 0!important;color:#8b5cf6!important;border:1px solid #8b5cf6!important;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;color:#fff!important;transform:translateY(-1px);letter-spacing:.3px;box-shadow:0 8px 25px #8b5cf659}.qoe-button:active:not(:disabled){transform:translateY(0);filter:brightness(.98)}.qoe-button:disabled{opacity:.6;cursor:not-allowed;filter:grayscale(.3)}.qoe-button:disabled:hover{transform:none;box-shadow:none}.qoe-button:after{content:"";position:absolute;top:-50%;left:-30%;width:60%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.35),rgba(255,255,255,.08) 60%,transparent 70%);transform:translate(-140%) rotate(15deg);transition:transform .6s ease;pointer-events:none}.qoe-button:hover:not(:disabled):after{transform:translate(220%) rotate(15deg)}.qoe-button svg{transition:transform .25s ease,opacity .25s ease;transform:translate(2px);opacity:.9;z-index:1;position:relative}.qoe-button:hover:not(:disabled) svg{transform:translate(6px);opacity:1}.qoe-panel{background:var(--panel);border:1px solid #8b5cf6;border-radius:12px;margin-bottom:16px;overflow:hidden;box-shadow:0 4px 20px #8b5cf626}.qoe-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#8b5cf626,#8b5cf60d);border-bottom:1px solid rgba(139,92,246,.3)}.qoe-header-left{display:flex;align-items:center;gap:12px}.qoe-header-left h3{margin:0;font-size:1rem;font-weight:700;color:var(--text)}.qoe-icon{color:#8b5cf6}.qoe-count{background:#8b5cf6;color:#fff;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.qoe-header-right{display:flex;align-items:center;gap:16px}.qoe-total-value{font-size:.9rem;font-weight:600;color:#8b5cf6}.qoe-toggle-btn{background:transparent;border:1px solid var(--border);border-radius:6px;padding:6px 8px;cursor:pointer;color:var(--muted);transition:all .2s ease}.qoe-toggle-btn:hover{background:var(--panel-2);color:var(--text)}.qoe-panel-body{padding:16px 20px;max-height:400px;overflow-y:auto}.qoe-panel.qoe-master-detail .qoe-panel-body{max-height:500px;overflow:hidden}.qoe-split-layout{display:grid;grid-template-columns:280px 1fr;gap:0;height:100%}.qoe-sidebar{border-right:1px solid var(--border);display:flex;flex-direction:column;height:450px}.qoe-sidebar-header{padding:12px 16px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:var(--panel-2);border-bottom:1px solid var(--border)}.qoe-candidate-list{flex:1;overflow-y:auto;padding:8px}.qoe-candidate-item{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .15s ease;border:1px solid transparent;margin-bottom:4px}.qoe-candidate-item:hover{background:var(--panel-2)}.qoe-candidate-item.selected{background:#8b5cf61a;border-color:#8b5cf666}.qoe-candidate-row{display:flex;align-items:center;gap:8px}.qoe-priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.qoe-candidate-name{font-size:.85rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qoe-candidate-meta{display:flex;align-items:center;justify-content:space-between}.qoe-candidate-value{font-size:.75rem;font-family:JetBrains Mono,SF Mono,monospace;color:var(--muted)}.qoe-detail-panel{padding:20px 24px;overflow-y:auto;height:450px}.qoe-detail-header{margin-bottom:16px}.qoe-detail-title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.qoe-detail-name{font-size:1.25rem;font-weight:700;color:var(--text);margin:0}.qoe-detail-meta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.qoe-detail-category{font-size:.8rem;color:var(--muted);padding:3px 10px;background:var(--panel-2);border-radius:4px}.qoe-detail-value{font-size:1.1rem;font-weight:700;color:var(--text);font-family:JetBrains Mono,SF Mono,monospace}.qoe-detail-confidence{font-size:.8rem;color:#8b5cf6;font-weight:600}.qoe-detail-reason{padding:12px 16px;background:var(--panel-2);border-radius:8px;font-size:.9rem;color:var(--muted);line-height:1.5;margin-bottom:20px}.qoe-detail-reason .reason-label{font-weight:600;color:var(--text)}.qoe-detail-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:.9rem}@media(max-width:900px){.qoe-split-layout{grid-template-columns:1fr}.qoe-sidebar{height:200px;border-right:none;border-bottom:1px solid var(--border)}.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{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.qoe-priority-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:4px;font-size:.65rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;min-width:50px}.qoe-item-name{font-weight:600;color:var(--text);flex:1;min-width:150px}.qoe-item-category{font-size:.8rem;color:var(--muted);padding:2px 8px;background:var(--panel);border-radius:4px}.qoe-item-value{font-weight:700;color:var(--text);font-family:JetBrains Mono,SF Mono,monospace}.qoe-confidence{font-size:.75rem;color:#8b5cf6;font-weight:600}.qoe-item-reason{margin-top:8px;font-size:.85rem;color:var(--muted);line-height:1.4}.qoe-item-reason .reason-label{font-weight:600;color:var(--text)}.qoe-period-analysis{display:grid;grid-template-columns:minmax(180px,250px) 1fr;gap:24px;padding:20px 24px;border-top:1px solid var(--border);background:var(--panel);flex-shrink:0}.qoe-period-grid{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.qoe-period-grid-header{padding:8px 12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:var(--panel-2);border-bottom:1px solid var(--border)}.qoe-period-list{height:240px;overflow-y:auto}.qoe-period-row{display:flex;justify-content:space-between;align-items:center;padding:4px 12px;font-size:.75rem;border-bottom:1px solid rgba(255,255,255,.03);color:var(--muted);transition:background .15s ease}.qoe-period-row:last-child{border-bottom:none}.qoe-period-row.has-value{color:var(--text);background:#8b5cf60d}.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{min-width:24px;font-size:.65rem;font-weight:600;color:var(--muted);opacity:.7}.qoe-period-name{font-weight:500;flex:1;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;overflow:hidden;display:flex;flex-direction:column}.qoe-chart-container .qoe-bar-chart{height:240px;flex:1}.qoe-detail-panel .qoe-chart-container{min-height:240px}.qoe-detail-panel .qoe-bar-chart{height:240px}.qoe-chart-header{padding:8px 12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:var(--panel-2);border-bottom:1px solid var(--border)}.qoe-bar-chart{display:flex;flex-direction:column;height:160px;padding:12px}.qoe-bars-area{position:relative;flex:1;min-height:0}.qoe-zero-line{position:absolute;left:0;right:0;top:50%;height:0;border-top:1px solid var(--border);z-index:5}.qoe-mean-line{position:absolute;left:0;right:0;height:0;border-top:2px dashed #8b5cf6;pointer-events:none;z-index:10}.qoe-mean-label{position:absolute;right:0;top:-18px;font-size:.65rem;font-weight:600;color:#8b5cf6;background:var(--panel);padding:2px 6px;border-radius:3px;white-space:nowrap;border:1px solid rgba(139,92,246,.3)}.qoe-bars{display:flex;justify-content:space-between;height:100%;gap:3px}.qoe-bar-wrapper{flex:1;max-width:20px;min-width:6px;height:100%;display:flex;align-items:flex-end;cursor:pointer;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{height:50%;align-self:flex-start;align-items:flex-end}.qoe-bar-chart.has-negatives .qoe-bar-wrapper.negative-wrapper{height:50%;align-self:flex-end;align-items:flex-start}.qoe-bar{width:100%;min-height:2px;background:linear-gradient(180deg,#64748bb3,#64748b66);border-radius:2px 2px 0 0;transition:all .2s ease}.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{filter:brightness(1.4);box-shadow:0 0 12px #8b5cf699}.qoe-bar-wrapper.selected .qoe-bar:not(.spike){background:linear-gradient(180deg,#8b5cf6,#7c3aed)}.qoe-bar-tooltip{position:fixed;transform:translate(-50%) translateY(-100%);background:var(--panel-2);border:1px solid #8b5cf6;border-radius:8px;padding:10px 14px;z-index:100;pointer-events:none;box-shadow:0 8px 24px #0006,0 0 0 1px #8b5cf633;min-width:120px;text-align:center;animation:tooltipFadeIn .15s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-90%)}to{opacity:1;transform:translate(-50%) translateY(-100%)}}.qoe-bar-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #8b5cf6}.qoe-tooltip-period{font-size:.7rem;color:var(--muted);margin-bottom:4px;font-weight:500}.qoe-tooltip-value{font-size:1rem;font-weight:700;color:var(--text);font-family:JetBrains Mono,SF Mono,monospace}.qoe-tooltip-comparison{font-size:.65rem;margin-top:6px;padding-top:6px;border-top:1px solid var(--border);color:#8b5cf6;font-weight:600}.qoe-bar-labels{display:flex;justify-content:space-between;gap:3px;margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.qoe-bar-label{flex:1;max-width:20px;min-width:6px;font-size:.6rem;color:var(--muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color .15s ease,font-weight .15s ease}.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{text-align:center;padding:24px;color:var(--muted)}.qoe-no-items p{margin:0}.qoe-panel-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--panel-2);border-top:1px solid var(--border)}.qoe-summary{font-size:.85rem;color:var(--muted)}.qoe-close-btn{background:transparent;border:1px solid var(--border);border-radius:6px;padding:6px 16px;cursor:pointer;color:var(--text);font-size:.8rem;font-weight:500;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{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:var(--panel);border:1px solid rgba(139,92,246,.3);border-radius:8px;cursor:pointer;color:#8b5cf6;font-size:.85rem;font-weight:500;transition:all .2s ease}.qoe-expand-btn:hover{background:#8b5cf61a;border-color:#8b5cf6}.qoe-expand-btn svg{flex-shrink:0}.qoe-expand-btn span{flex: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{color:#000;-webkit-text-fill-color:black}.ebitda-check-banner{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid var(--border);font-size:.85rem;line-height:1.5;transition:background .3s ease,border-color .3s ease}.ebitda-check-banner.checking{background:linear-gradient(135deg,#f4f7fa,#ecf2f9);border-bottom-color:#c9d9e8}.ebitda-check-banner.checking .ebitda-check-icon{color:#4d8ccb}.ebitda-check-banner.pass{background:linear-gradient(135deg,#f0f9f4,#e4f6ec);border-bottom-color:#b8e0c9}.ebitda-check-banner.pass .ebitda-check-icon{color:#2e9e5d}.ebitda-check-banner.fail{background:linear-gradient(135deg,#fcf3f3,#f7e8e8);border-bottom-color:#eac8c8}.ebitda-check-banner.fail .ebitda-check-icon{color:#c33}.ebitda-check-banner.skip{background:linear-gradient(135deg,#fbf8f4,#f7f2e8);border-bottom-color:#e3d7bf}.ebitda-check-banner.skip .ebitda-check-icon{color:#b28834}.ebitda-check-icon{flex-shrink:0;display:flex;align-items:center;padding-top:1px}.ebitda-spinner{animation:ebitda-spin 1.2s linear infinite}@keyframes ebitda-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ebitda-check-content{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:0}.ebitda-check-text{color:var(--text-secondary, #6b7280);font-weight:500}.ebitda-check-title{font-weight:600;color:var(--text)}.ebitda-period-details{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem}.ebitda-period-row{display:flex;align-items:center;gap:.75rem;font-size:.8rem;padding:.3rem .5rem;border-radius:4px;background:#ffffff73}.ebitda-period-row.pass{background:#22c55e0f}.ebitda-period-row.fail{background:#ef44440f}.ebitda-period-name{font-weight:600;color:var(--text);min-width:100px}.ebitda-val{color:var(--text-secondary, #6b7280);white-space:nowrap}.ebitda-val.muted{font-style:italic;opacity:.65}.ebitda-disc{font-weight:600;white-space:nowrap}.ebitda-disc.match{color:#2e9e5d}.ebitda-disc.over,.ebitda-disc.under{color:#c33}.ebitda-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-left:auto}.ebitda-status-dot.pass{background:#34b268}.ebitda-status-dot.fail{background:#d14747}.ebitda-corrections-note{font-size:.8rem;color:var(--text-secondary, #6b7280);font-style:italic;margin-top:.15rem}html.dark-mode .ebitda-check-banner.checking{background:linear-gradient(135deg,#1f2933,#202e3c);border-bottom-color:#364759}html.dark-mode .ebitda-check-banner.checking .ebitda-check-icon{color:#75a6d7}html.dark-mode .ebitda-check-banner.pass{background:linear-gradient(135deg,#1d2b23,#1f3327);border-bottom-color:#355040}html.dark-mode .ebitda-check-banner.pass .ebitda-check-icon{color:#4dcb82}html.dark-mode .ebitda-check-banner.fail{background:linear-gradient(135deg,#2e1f1f,#362121);border-bottom-color:#533737}html.dark-mode .ebitda-check-banner.fail .ebitda-check-icon{color:#d16161}html.dark-mode .ebitda-check-banner.skip{background:linear-gradient(135deg,#2e291f,#362f21);border-bottom-color:#534937}html.dark-mode .ebitda-check-banner.skip .ebitda-check-icon{color:#cba14d}html.dark-mode .ebitda-period-row{background:#ffffff0a}html.dark-mode .ebitda-period-row.pass{background:#22c55e14}html.dark-mode .ebitda-period-row.fail{background:#ef444414}html.dark-mode .ebitda-disc.match{color:#4dcb82}html.dark-mode .ebitda-disc.over,html.dark-mode .ebitda-disc.under{color:#d16161}.balance-plan-banner{display:flex;align-items:center;gap:.875rem;padding:.875rem 1.25rem;margin:.5rem 0 0;border:1px solid var(--border);border-radius:8px;font-size:.85rem;line-height:1.5;transition:background .3s ease,border-color .3s ease}.balance-plan-banner.recommended-found{background:linear-gradient(135deg,#f0f9f4,#e4f6ec);border-color:#b8e0c9}.balance-plan-banner.recommended-found .balance-plan-icon{color:#2e9e5d}.balance-plan-banner.best-partial-only{background:linear-gradient(135deg,#fbf8f4,#f7f2e8);border-color:#e3d7bf}.balance-plan-banner.best-partial-only .balance-plan-icon{color:#b28834}.balance-plan-banner.no-plan{background:linear-gradient(135deg,#fcf3f3,#f7e8e8);border-color:#eac8c8}.balance-plan-banner.no-plan .balance-plan-icon{color:#c33}.balance-plan-icon{flex-shrink:0;display:flex;align-items:center}.balance-plan-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.balance-plan-title{font-weight:600;color:var(--text)}.balance-plan-text{color:var(--text-secondary, #6b7280)}.balance-plan-cta{flex-shrink:0;padding:.5rem 1rem;border-radius:6px;border:1px solid currentColor;background:#fff9;color:#257e4a;font-weight:600;font-size:.82rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.balance-plan-cta:hover:not(:disabled){background:#ffffffe6;transform:translateY(-1px)}.balance-plan-cta:disabled{opacity:.55;cursor:not-allowed}.balance-plan-banner.best-partial-only .balance-plan-cta{color:#8e6d29}.balance-plan-banner.no-plan .balance-plan-cta{color:#b82e2e}html.dark-mode .balance-plan-banner.recommended-found{background:linear-gradient(135deg,#1d2b23,#1f3327);border-color:#355040}html.dark-mode .balance-plan-banner.recommended-found .balance-plan-icon,html.dark-mode .balance-plan-banner.recommended-found .balance-plan-cta{color:#61d190}html.dark-mode .balance-plan-banner.best-partial-only{background:linear-gradient(135deg,#2e291f,#362f21);border-color:#534937}html.dark-mode .balance-plan-banner.best-partial-only .balance-plan-icon,html.dark-mode .balance-plan-banner.best-partial-only .balance-plan-cta{color:#d1ac61}html.dark-mode .balance-plan-banner.no-plan{background:linear-gradient(135deg,#2e1f1f,#362121);border-color:#533737}html.dark-mode .balance-plan-banner.no-plan .balance-plan-icon,html.dark-mode .balance-plan-banner.no-plan .balance-plan-cta{color:#d77575}html.dark-mode .balance-plan-cta{background:#ffffff0a}html.dark-mode .balance-plan-cta:hover:not(:disabled){background:#ffffff14}html.dark-mode .ebitda-status-dot.pass{background:#4dcb82}html.dark-mode .ebitda-status-dot.fail{background:#d16161}.gl-drill-button{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;border:1px solid #22c55e;border-radius:6px;background:#22c55e1a;color:#22c55e;cursor:pointer;transition:all .15s ease;white-space:nowrap}.gl-drill-button:hover:not(:disabled){background:#22c55e33}.gl-drill-button:disabled{opacity:.5;cursor:not-allowed}.gl-match-indicator{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0;margin-left:auto}.gl-match-indicator.matched{background:#22c55e26;color:#22c55e}.gl-match-indicator.fuzzy{background:#f59e0b26;color:#f59e0b}.gl-match-indicator.unmatched{background:#ef444426;color:#ef4444}.gl-no-match-notice{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:12px;border-radius:6px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:13px}.gl-transaction-section{margin-bottom:16px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.gl-section-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--border)}.gl-section-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}.gl-account-badge{font-weight:400;font-size:11px;padding:2px 8px;border-radius:4px;background:#8b5cf61a;color:#8b5cf6}.gl-section-stats{display:flex;gap:12px;font-size:12px;color:var(--muted)}.gl-adj-count{color:#ef4444;font-weight:600}.gl-transaction-table-wrapper{max-height:300px;overflow-y:auto}.gl-transaction-table{width:100%;border-collapse:collapse;font-size:12px}.gl-transaction-table th{position:sticky;top:0;background:var(--surface);padding:8px 10px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);border-bottom:1px solid var(--border);z-index:1}.gl-transaction-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.gl-transaction-table th.sortable:hover{color:var(--foreground)}.gl-transaction-table th.sortable.active{color:#8b5cf6}.gl-transaction-table th.amount-col{text-align:right}.gl-transaction-table td{padding:6px 10px;border-bottom:1px solid rgba(var(--border-rgb, 0,0,0),.05);white-space:nowrap}.gl-transaction-table tbody tr:hover{background:#8b5cf608}.gl-date{color:var(--muted);font-size:11px}.gl-vendor{max-width:180px;overflow:hidden;text-overflow:ellipsis}.gl-type{color:var(--muted);font-size:11px}.gl-amount{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.gl-dc{text-align:center;font-size:10px;font-weight:700}.gl-dc.debit{color:#ef4444}.gl-dc.credit{color:#22c55e}.gl-row-adjustment{background:#ef44440a!important}.gl-row-adjustment.adj-non-recurring{border-left:3px solid #ef4444}.gl-row-adjustment.adj-owner-related{border-left:3px solid #f59e0b}.gl-row-adjustment.adj-pro-forma{border-left:3px solid #3b82f6}.gl-adj-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;color:#fff;white-space:nowrap}.gl-table-overflow{padding:8px 14px;font-size:11px;color:var(--muted);text-align:center;background:var(--surface);border-top:1px solid var(--border)}.gl-adjustment-summary{padding:12px 16px;border-top:1px solid var(--border);background:#8b5cf608}.gl-summary-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px}.gl-summary-row.net{margin-top:4px;padding-top:8px;border-top:1px solid var(--border);font-weight:700;font-size:14px}.gl-summary-label{color:var(--muted)}.gl-summary-value{font-variant-numeric:tabular-nums}.gl-summary-value.add-back{color:#22c55e}.gl-summary-value.deduction{color:#ef4444}.gl-summary-by-type{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.gl-type-chip{padding:3px 8px;border-radius:4px;border:1px solid;font-size:11px;font-weight:500;background:var(--surface)}.qoe-full-page{display:flex;flex-direction:column;min-height:calc(100vh - 64px)}.qoe-full-body{min-height:520px}.qoe-full-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--panel);border:1px solid rgba(139,92,246,.3);border-radius:12px 12px 0 0;flex-shrink:0;gap:16px}.qoe-full-header .qoe-header-left{display:flex;align-items:center;gap:12px}.qoe-full-header .qoe-header-left h3{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.qoe-back-button{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.qoe-back-button:hover{background:var(--panel-2);border-color:#8b5cf666}.qoe-full-body{display:grid;grid-template-columns:320px 1fr;border-left:1px solid rgba(139,92,246,.3);border-right:1px solid rgba(139,92,246,.3);background:var(--panel)}.qoe-full-gl-section{flex-shrink:0;height:420px;overflow-y:auto;border-left:1px solid rgba(139,92,246,.3);border-right:1px solid rgba(139,92,246,.3);border-top:1px solid var(--border);background:var(--panel);padding:0 24px 8px}.qoe-full-gl-section .gl-section-header{position:sticky;top:0;background:var(--panel);padding:10px 0;z-index:2;border-bottom:1px solid var(--border);margin-bottom:4px}.qoe-gl-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:.85rem}.qoe-full-body{--qoe-block-height: 720px}.qoe-full-sidebar{border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;height:var(--qoe-block-height)}.qoe-full-sidebar .qoe-candidate-list{flex:1;min-height:0;overflow-y:auto}.qoe-full-detail{height:var(--qoe-block-height);display:flex;flex-direction:column;min-height:0}.qoe-detail-scroll{flex:1;min-height:0;overflow-y:auto}.qoe-detail-top{padding:24px}.qoe-full-gl-table{max-height:none!important}.qoe-full-gl-section .gl-transaction-table-wrapper{max-height:none;overflow-y:visible}.qoe-full-footer{padding:12px 24px;border:1px solid rgba(139,92,246,.3);border-radius:0 0 12px 12px;flex-shrink:0;background:var(--panel)}.qoe-full-footer-summary{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.qoe-full-footer .qoe-summary{font-size:.85rem;color:var(--muted)}.qoe-account-adjustments{margin-top:16px;padding:12px;background:#8b5cf60a;border:1px solid rgba(139,92,246,.15);border-radius:8px}.qoe-adj-header{font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:8px}.qoe-adj-list{display:flex;flex-direction:column;gap:6px}.qoe-adj-item{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted)}.qoe-adj-direction{font-weight:500;color:var(--text)}.qoe-adj-amount{font-variant-numeric:tabular-nums;font-weight:600}.qoe-adj-reason{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qoe-complete-banner{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:linear-gradient(135deg,#8b5cf614,#8b5cf608);border:1px solid rgba(139,92,246,.25);border-radius:10px;margin-bottom:16px}.qoe-banner-left{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:500;color:var(--text)}.qoe-banner-left svg{color:#f59e0b;flex-shrink:0}.qoe-banner-net{color:var(--muted);font-size:.85rem;padding-left:10px;border-left:1px solid var(--border)}.qoe-view-button{display:flex;align-items:center;gap:6px;padding:8px 18px;background:#8b5cf6;color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.qoe-view-button:hover{background:#7c3aed;transform:translateY(-1px);box-shadow:0 2px 8px #8b5cf64d}.qoe-view-button:active{transform:translateY(0)}.qoe-category-pills{display:flex;gap:4px;flex-shrink:0}.qoe-category-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase;color:#fff;white-space:nowrap;letter-spacing:.3px}.qoe-category-badge-more{display:inline-flex;align-items:center;padding:2px 5px;border-radius:4px;font-size:.6rem;font-weight:600;color:var(--muted);background:var(--panel-2)}.qoe-category-badge.full-remove{background:#ef4444}.qoe-category-badge.full-replace{background:#f59e0b}.qoe-category-badge.partial-period-linear{background:#3b82f6}.qoe-category-badge.partial-period-runrate{background:#8b5cf6}.qoe-category-badge.discrete-event-delta{background:#06b6d4}.qoe-category-badge.smoothing{background:#22c55e}.qoe-tier-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:3px;font-size:.65rem;font-weight:600;white-space:nowrap;flex-shrink:0}.qoe-tier-chip.auto{background:#22c55e1f;color:#22c55e}.qoe-tier-chip.needs-input{background:#f59e0b1f;color:#f59e0b}.qoe-adjustment-details{margin-bottom:20px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.qoe-adjustment-details-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:8px 16px;background:var(--panel-2);border-bottom:1px solid var(--border)}.qoe-adjustment-detail{padding:12px 16px;border-bottom:1px solid var(--border)}.qoe-adjustment-detail:last-child{border-bottom:none}.qoe-adjustment-detail-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.qoe-adjustment-reasoning{font-size:.85rem;color:var(--muted);line-height:1.5;padding-left:4px}.qoe-direction-indicator{font-size:.75rem;font-weight:600;white-space:nowrap}.qoe-direction-indicator.add-back{color:#22c55e}.qoe-direction-indicator.deduction{color:#ef4444}.qoe-direction-indicator.neutral{color:var(--muted)}.qoe-input-callout{display:flex;gap:10px;padding:10px 14px;margin-top:8px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:6px;color:#f59e0b;font-size:.8rem}.qoe-input-callout svg{flex-shrink:0;margin-top:2px}.qoe-input-prompt{font-weight:500;color:var(--text);margin-bottom:4px}.qoe-input-needed-list{margin:4px 0 0;padding-left:18px;color:var(--muted);font-size:.75rem}.qoe-input-needed-list li{margin-bottom:2px}@media(max-width:900px){.qoe-full-body{grid-template-columns:1fr}.qoe-full-sidebar{max-height:250px;border-right:none;border-bottom:1px solid var(--border)}.qoe-complete-banner{flex-direction:column;gap:10px;align-items:flex-start}.qoe-full-header{flex-direction:column;align-items:flex-start;gap:10px}}.results-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.5rem;padding-bottom:0;flex-wrap:wrap}.toolbar-title{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1 1 auto;font-size:.95rem;font-weight:600;color:var(--text, #111)}.toolbar-back-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border, rgba(0, 0, 0, .1));border-radius:8px;background:transparent;color:var(--muted, #888);cursor:pointer;padding:0;margin-right:.25rem;transition:background .12s ease,color .12s ease}.toolbar-back-button:hover{background:var(--surface-hover, rgba(0, 0, 0, .04));color:var(--text, #111)}.toolbar-title-label{font-weight:700;letter-spacing:.01em}.toolbar-title-sep{color:var(--muted, #aaa);font-weight:400;-webkit-user-select:none;user-select:none}.toolbar-title-muted{color:var(--muted, #666);font-weight:500;text-transform:capitalize}.toolbar-title-file{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:22ch;text-transform:none}.toolbar-actions{display:flex;align-items:flex-end;gap:.5rem;flex-shrink:0}.toolbar-actions>.excel-button,.toolbar-actions>.save-session-button,.toolbar-actions>.toolbar-reset-button{height:40px}.excel-group{display:flex;flex-direction:column;align-items:center;gap:.35rem}.excel-group .excel-button{height:40px}.excel-group .referencing-toggle{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.75rem;color:var(--muted, #666)}.excel-group .referencing-toggle input[type=checkbox]{accent-color:var(--accent, hsl(7, 85%, 60%));cursor:pointer;width:13px;height:13px}.excel-button{display:inline-flex;align-items:center;gap:.5rem;padding:0 1.1rem;border:1px solid var(--accent, hsl(7, 85%, 60%));border-radius:10px;background:transparent;color:var(--accent, hsl(7, 85%, 55%));font-weight:600;font-size:.9rem;cursor:pointer;transition:background .12s ease,color .12s ease}.excel-button:hover:not(:disabled){background:var(--accent, hsl(7, 85%, 60%));color:#fff}.excel-button:disabled{opacity:.5;cursor:not-allowed}.save-session-button{display:inline-flex;align-items:center;gap:.5rem;padding:0 1.1rem;border:1px solid transparent;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:700;background:#f5bd14;color:#fff;box-shadow:0 1px 2px #0000000f;transition:background .12s ease,transform .12s ease,opacity .12s ease}.save-session-button:hover:not(:disabled){background:#e1ab09;transform:translateY(-1px)}.save-session-button:disabled{opacity:.45;cursor:not-allowed}.reupload-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center}.reupload-modal{position:relative;background:var(--surface, #fff);border-radius:14px;padding:1.25rem 1.5rem 1.1rem;max-width:460px;width:calc(100% - 2rem);box-shadow:0 18px 48px #00000038;color:var(--text, #111)}.reupload-modal h3{margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.reupload-desc{margin:0 0 .75rem;color:var(--muted, #555);font-size:.88rem;line-height:1.45}.reupload-original{margin:0 0 .85rem;font-size:.85rem;color:var(--muted, #666)}.reupload-original code{background:var(--surface-hover, rgba(0, 0, 0, .05));padding:1px 6px;border-radius:4px;font-size:.85rem}.reupload-warn{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;background:#fef4e6;border:1px solid hsl(35,90%,75%);border-radius:8px;color:#9c5516;font-size:.82rem;margin:0 0 .85rem}.reupload-warn code{background:#0000000f;padding:0 4px;border-radius:3px}.reupload-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.reupload-primary,.reupload-secondary{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .95rem;font-size:.88rem;font-weight:600;border-radius:8px;cursor:pointer;border:1px solid transparent}.reupload-primary{background:#ef4e39;color:#fff}.reupload-primary:hover:not(:disabled){background:#ec2c13}.reupload-secondary{background:transparent;color:var(--muted, #444);border-color:var(--border, rgba(0, 0, 0, .12))}.reupload-secondary:hover:not(:disabled){background:var(--surface-hover, rgba(0, 0, 0, .04));color:var(--text, #111)}.reupload-close{position:absolute;top:.65rem;right:.65rem;background:transparent;border:none;color:var(--muted, #888);cursor:pointer;padding:4px;border-radius:6px}.reupload-close:hover{background:var(--surface-hover, rgba(0, 0, 0, .05));color:var(--text, #111)}.qoe-export-json-button{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.82rem;font-weight:600;border-radius:8px;cursor:pointer;border:1px solid hsl(270,55%,55%);background:transparent;color:#7f39c6;transition:background .12s ease,color .12s ease}.qoe-export-json-button:hover:not(:disabled){background:#8c4dcb;color:#fff}.qoe-export-json-button:disabled{opacity:.45;cursor:not-allowed}.qoe-open-workbench-button{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.82rem;font-weight:600;border-radius:8px;cursor:pointer;border:1px solid #ff7f50;background:coral;color:#fff;transition:filter .12s ease,transform 80ms ease}.qoe-open-workbench-button:hover:not(:disabled){filter:brightness(1.05)}.qoe-open-workbench-button:active:not(:disabled){transform:scale(.96)}.qoe-open-workbench-button:disabled{opacity:.45;cursor:not-allowed}.gl-status{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .7rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}.gl-status-loaded{background:#22c55e1f;color:#15803d;border:1px solid rgba(34,197,94,.32)}.gl-status-loading{background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.3)}.gl-status-missing{background:#f59e0b1f;color:#b45309;border:1px solid rgba(245,158,11,.32)}.gl-status .button-spinner{width:12px;height:12px;border-width:2px}.qoe-widget-cache-line{margin:6px 0 0}.qoe-gl-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:2.25rem 1.25rem;margin:.5rem;border:2px dashed hsl(270,40%,65%);border-radius:14px;background:#f5f1f980;color:#4c3663;cursor:pointer;text-align:center;transition:background .12s ease,border-color .12s ease,transform .12s ease}.qoe-gl-dropzone:hover{background:#ebe2f3b3;border-color:#8c4dcb}.qoe-gl-dropzone.is-dragging{background:#e0cef3e6;border-color:#7f26d9;transform:scale(1.01)}.qoe-gl-dropzone.is-analyzing{cursor:default}.qoe-gl-dropzone-icon{color:#8c4dcb}.qoe-gl-dropzone-title{margin:0;font-size:.95rem;font-weight:600;color:#402d53}.qoe-gl-dropzone-subtitle{margin:0;font-size:.82rem;color:var(--muted, #666)}.qoe-gl-dropzone-subtitle code{background:#0000000f;padding:1px 6px;border-radius:4px;font-size:.8rem}.qoe-reupload-button{display:inline-flex;align-items:center;gap:.45rem;margin-top:.5rem;padding:.45rem .8rem;background:transparent;border:1px dashed hsl(270,40%,65%);color:#7f39c6;border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:500}.qoe-reupload-button:hover{background:#f5f1f9}.qoe-reupload-hint{color:var(--muted, #666);font-weight:400;font-size:.78rem}.qoe-gl-loaded-badge{display:inline-flex;align-items:center;gap:6px;margin-top:.5rem;padding:6px 10px;border-radius:6px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#16a34a;font-size:.8rem;font-weight:500}.qoe-gl-loaded-badge strong{color:#16a34a;font-weight:600}.qoe-gl-reupload-toast{display:inline-flex;align-items:center;gap:6px;margin-top:.5rem;padding:6px 10px;border-radius:6px;background:#22c55e24;border:1px solid rgba(34,197,94,.35);color:#15803d;font-size:.78rem;font-weight:500;animation:qoe-gl-toast-in .18s ease-out}@keyframes qoe-gl-toast-in{0%{transform:translateY(-4px);opacity:0}to{transform:translateY(0);opacity:1}}.save-session-button.save-with-qoe{background:#9449df}.save-session-button.save-with-qoe:hover:not(:disabled){background:#7f26d9}.toolbar-reset-button{display:inline-flex;align-items:center;justify-content:center;width:40px;padding:0;border:1px solid var(--border, rgba(0, 0, 0, .12));border-radius:10px;background:transparent;color:var(--muted, #666);cursor:pointer;transition:background .12s ease,color .12s ease}.toolbar-reset-button:hover:not(:disabled){background:var(--surface-hover, rgba(0, 0, 0, .04));color:var(--text, #111)}.toolbar-reset-button:disabled{opacity:.4;cursor:not-allowed}.coa-editor{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.5rem;height:fit-content;position:relative;overflow:hidden;display:grid;grid-template-columns:280px 1fr;grid-template-rows:auto auto 1fr;gap:0 1.5rem;grid-template-areas:"header  header" "message message" "sidebar editor"}.coa-editor>*:not(.border-beam){position:relative;z-index:2}.coa-header{grid-area:header;margin-bottom:1.25rem}.coa-header h3{margin:0 0 .25rem;color:var(--text);font-size:1.25rem;font-weight:600}.coa-description{margin:0;color:var(--muted);font-size:.875rem}.coa-message{grid-area:message;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.coa-message.success{background:#22c55e1f;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.coa-message.error{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.3)}.coa-message.info{background:#fdf2f2;color:var(--accent);border:1px solid hsl(0,72%,88%)}.coa-left-panel{grid-area:sidebar;border-right:1px solid var(--border);padding-right:1.5rem;max-height:70vh;overflow-y:auto;display:flex;flex-direction:column}.coa-right-panel{grid-area:editor;max-height:70vh;overflow-y:auto}.coa-left-panel::-webkit-scrollbar,.coa-right-panel::-webkit-scrollbar{width:5px}.coa-left-panel::-webkit-scrollbar-track,.coa-right-panel::-webkit-scrollbar-track{background:transparent}.coa-left-panel::-webkit-scrollbar-thumb,.coa-right-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.coa-left-panel::-webkit-scrollbar-thumb:hover,.coa-right-panel::-webkit-scrollbar-thumb:hover{background:var(--muted)}.coa-editor>.border-beam{grid-column:1 / -1;grid-row:1 / -1}.coa-saved-configs{flex:1;margin-bottom:.75rem}.coa-saved-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.coa-saved-header h4{display:flex;align-items:center;gap:.5rem;margin:0;color:var(--text);font-size:.9rem;font-weight:600}.coa-reset-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;transition:all .2s;flex-shrink:0}.coa-reset-btn:hover{color:var(--accent);border-color:var(--accent);background:#fdf2f2}.coa-new-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;width:100%;padding:.5rem .75rem;background:transparent;border:1px dashed rgba(34,197,94,.4);border-radius:6px;color:#22c55e;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;flex-shrink:0}.coa-new-btn:hover{background:#22c55e1a;border-color:#22c55e}@keyframes coa-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.coa-configs-skeleton{display:flex;flex-direction:column;gap:.5rem}.coa-config-skeleton-item{display:flex;align-items:center;justify-content:space-between;padding:.625rem .75rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.coa-skeleton-content{display:flex;flex-direction:column;gap:.375rem}.coa-skeleton-line{height:13px;border-radius:4px;background:linear-gradient(90deg,var(--panel-2) 25%,var(--border) 50%,var(--panel-2) 75%);background-size:200% 100%;animation:coa-shimmer 1.5s infinite}.coa-skeleton-line-sm{height:10px;opacity:.7}.coa-skeleton-actions{display:flex;gap:.375rem}.coa-skeleton-btn{width:26px;height:26px;border-radius:6px;background:linear-gradient(90deg,var(--panel-2) 25%,var(--border) 50%,var(--panel-2) 75%);background-size:200% 100%;animation:coa-shimmer 1.5s infinite}.coa-configs-group{margin-bottom:1rem}.coa-configs-group:last-child{margin-bottom:0}.coa-configs-group-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.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{display:flex;align-items:center;justify-content:space-between;padding:.625rem .75rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;transition:all .2s}.coa-config-item:hover{border-color:var(--border-hover)}.coa-config-item.selected{border-color:var(--accent);background:#fdf2f2}.coa-config-item.private{border-left:3px solid #a855f7}.coa-config-item.private.selected{border-color:#a855f7;background:#a855f714}.coa-config-item-content{flex:1;cursor:pointer}.coa-config-item-name{font-size:.9rem;font-weight:500;color:var(--text);margin-bottom:.25rem}.coa-config-item-meta{display:flex;align-items:center;gap:.5rem}.coa-config-type-badge{padding:.125rem .375rem;background:#fbe9e9;border-radius:4px;font-size:.7rem;font-weight:600;color:var(--accent);text-transform:uppercase}.coa-config-count{font-size:.75rem;color:var(--muted)}.coa-config-separator{color:var(--border);font-size:.75rem}.coa-config-creator{font-size:.7rem;color:var(--muted)}.coa-config-type-badge.private{background:#a855f726;color:#a855f7}.coa-config-item-actions{display:flex;align-items:center;gap:.25rem}.coa-config-edit-btn,.coa-config-delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s;opacity:.6}.coa-config-item:hover .coa-config-edit-btn,.coa-config-item:hover .coa-config-delete-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{display:flex;align-items:center;gap:.375rem}.coa-delete-confirm-text{font-size:.75rem;color:#f87171;font-weight:500}.coa-delete-yes-btn,.coa-delete-no-btn{padding:.25rem .5rem;font-size:.7rem;font-weight:600;border-radius:4px;cursor:pointer;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{opacity:.5;cursor:not-allowed}.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{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;background:var(--panel-2);border:1px dashed var(--border);border-radius:8px;text-align:center}.coa-configs-empty svg{color:var(--muted);margin-bottom:.5rem;opacity:.5}.coa-configs-empty p{margin:0 0 .25rem;color:var(--muted);font-size:.875rem;font-weight:500}.coa-configs-empty span{font-size:.75rem;color:var(--muted);opacity:.7}.coa-editor-section{margin-bottom:1.5rem}.coa-editor-section-header{margin-bottom:.75rem}.coa-editor-section-header h4{margin:0;color:var(--text);font-size:.9rem;font-weight:600}.coa-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:640px){.coa-form-row{grid-template-columns:1fr}}.coa-config-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.coa-form-group{display:flex;flex-direction:column;gap:.375rem}.coa-form-group label{font-size:.8rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.coa-input,.coa-select{padding:.625rem .75rem;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;transition:border-color .2s,box-shadow .2s;max-width:320px}.coa-input:focus,.coa-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f5656526}.coa-input::placeholder{color:var(--muted)}.coa-select{cursor:pointer}.coa-visibility-selector{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.coa-visibility-option{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:var(--panel-2);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.coa-visibility-option:hover{border-color:var(--border-hover)}.coa-visibility-option.selected{border-color:var(--accent);background:#fdf2f2}.coa-visibility-option.selected:nth-child(2){border-color:#a855f7;background:#a855f714}.coa-visibility-option svg{flex-shrink:0;margin-top:.125rem;color:var(--muted)}.coa-visibility-option.selected svg{color:var(--accent)}.coa-visibility-option.selected:nth-child(2) svg{color:#a855f7}.coa-visibility-option.disabled{opacity:.5;cursor:not-allowed;background:var(--panel-2);border-color:var(--border)}.coa-visibility-option.disabled:hover{border-color:var(--border);background:var(--panel-2)}.coa-visibility-option.disabled svg{color:var(--muted)}.coa-visibility-option.disabled .coa-visibility-title{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{font-size:.85rem;font-weight:600;color:var(--text)}.coa-visibility-desc{font-size:.75rem;color:var(--muted)}@media(max-width:480px){.coa-visibility-selector{grid-template-columns:1fr}}.coa-categories-section{margin-bottom:1.5rem}.coa-categories-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.coa-categories-header h4{margin:0;color:var(--text);font-size:.9rem;font-weight:600}.coa-add-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#fceded;border:1px solid hsl(0,72%,85%);border-radius:6px;color:var(--accent);font-size:.8rem;font-weight:500;cursor:pointer;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{padding:2rem;text-align:center;background:var(--panel-2);border-radius:8px;border:1px dashed var(--border)}.coa-empty p{margin:0;color:var(--muted);font-size:.875rem}.coa-indent{flex-shrink:0}.coa-category-row{display:flex;align-items:center;gap:.375rem;padding:.375rem;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;transition:border-color .2s}.coa-category-row:hover{border-color:var(--border-hover)}.coa-category-drag{color:var(--muted);cursor:grab;padding:.25rem;opacity:.5;transition:opacity .2s}.coa-category-row:hover .coa-category-drag{opacity:1}.coa-expand-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;color:var(--muted);cursor:pointer;border-radius:4px;transition:all .2s}.coa-expand-btn:hover{background:var(--panel);color:var(--text)}.coa-expand-placeholder{width:24px;height:24px}.coa-category-input{flex:1;padding:.375rem .5rem;background:var(--panel);border:1px solid transparent;border-radius:4px;color:var(--text);font-size:.875rem;transition:all .2s}.coa-category-input:focus{outline:none;border-color:var(--accent);background:var(--panel-2)}.coa-category-input::placeholder{color:var(--muted)}.coa-add-sub-btn,.coa-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s;opacity:.5}.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{margin:0 0 .25rem;color:var(--text);font-size:.9rem;font-weight:600}.coa-pl-sections-header p{margin:0;color:var(--muted);font-size:.8rem}.coa-pl-section{margin-bottom:.5rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.coa-pl-section-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .2s}.coa-pl-section-header:hover{background:#fef6f6}.coa-pl-section-toggle{color:var(--muted);display:flex;align-items:center}.coa-pl-section-info{flex:1}.coa-pl-section-name{font-weight:600;color:var(--text);font-size:.9rem}.coa-pl-section-desc{font-size:.75rem;color:var(--muted);margin-top:.125rem}.coa-pl-section-badge{padding:.25rem .5rem;background:#fbe9e9;border-radius:4px;font-size:.7rem;font-weight:500;color:var(--accent)}.coa-pl-section-content{padding:.75rem 1rem 1rem;border-top:1px solid var(--border);background:var(--panel)}.coa-pl-categories{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.coa-pl-category-tree{display:flex;flex-direction:column}.coa-pl-category-row{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;margin-bottom:.375rem;transition:all .2s}.coa-pl-category-row:hover{border-color:var(--border-hover);background:#fef6f6}.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{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.coa-pl-indent-icon{color:var(--muted);opacity:.5}.coa-pl-expand-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;border-radius:4px;color:var(--muted);cursor:pointer;flex-shrink:0;transition:all .2s}.coa-pl-expand-btn:hover{background:var(--panel);color:var(--accent)}.coa-pl-expand-placeholder{width:22px;height:22px;flex-shrink:0}.coa-pl-children{margin-left:1rem;padding-left:.5rem;border-left:1px dashed var(--border)}.coa-pl-category-input{flex:1;padding:.5rem .75rem;background:var(--panel);border:1px solid transparent;border-radius:6px;color:var(--text);font-size:.85rem;transition:all .2s;min-width:0}.coa-pl-category-input:focus{outline:none;border-color:var(--accent);background:var(--panel-2)}.coa-pl-category-input::placeholder{color:var(--muted)}.coa-pl-add-sub-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:1px dashed var(--border);border-radius:4px;color:var(--muted);cursor:pointer;flex-shrink:0;opacity:0;transition:all .2s}.coa-pl-category-row:hover .coa-pl-add-sub-btn{opacity:.7}.coa-pl-add-sub-btn:hover{opacity:1;border-color:var(--accent);color:var(--accent);background:#fceded}.coa-pl-remove-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:none;border-radius:4px;color:#f87171;cursor:pointer;flex-shrink:0;opacity:0;transition:all .2s}.coa-pl-category-row:hover .coa-pl-remove-btn{opacity:.7}.coa-pl-remove-btn:hover{opacity:1;background:#ef444426}.coa-pl-add-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:transparent;border:1px dashed var(--border);border-radius:6px;color:var(--muted);font-size:.8rem;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.coa-pl-add-btn:hover{border-color:var(--accent);color:var(--accent);background:#fef6f6}.coa-below-ebitda{margin-top:1rem;padding:1rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.coa-below-ebitda-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--muted);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.coa-below-ebitda-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media(max-width:640px){.coa-below-ebitda-grid{grid-template-columns:1fr}}.coa-below-ebitda-item{display:flex;align-items:center;justify-content:center;padding:.5rem .75rem;background:var(--panel);border:1px solid var(--border);border-radius:6px}.coa-below-ebitda-name{font-size:.85rem;color:var(--text)}.coa-below-ebitda-note{margin-top:.75rem;font-size:.75rem;color:var(--muted);text-align:center;font-style:italic}.coa-actions{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border)}.coa-save-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--accent) 0%,hsl(0,72%,62%) 100%);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #f5656540}.coa-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #f5656559}.coa-save-btn:disabled{opacity:.6;cursor:not-allowed}.coa-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:coa-spin .8s linear infinite}@keyframes coa-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.coa-editor{grid-template-columns:1fr;grid-template-areas:"header" "message" "sidebar" "editor"}.coa-left-panel{border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:1.5rem;max-height:300px}.coa-right-panel{max-height:none;overflow-y:visible}}@media(max-width:640px){.coa-editor{padding:1rem}.coa-categories-header{flex-direction:column;gap:.75rem;align-items:flex-start}}.comparative-sub-section{margin-top:.5rem;display:flex;flex-direction:column;gap:.35rem}.comparative-sub-divider{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.feature-usage-row{padding:.625rem 0;border-bottom:1px solid var(--border)}.feature-usage-row:first-child{padding-top:0}.feature-usage-row:last-child{border-bottom:none;padding-bottom:0}.feature-usage-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.feature-usage-count{font-size:.9rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.feature-unlimited-badge{font-size:.75rem;color:var(--muted);margin-left:.25rem}.feature-unlimited-label{margin:0;font-size:.75rem;color:var(--muted)}.account-overview-page{max-width:800px;margin:0 auto;padding:0 1rem}.account-overview-skeleton{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:400px}.skeleton-line{height:16px;background:linear-gradient(90deg,var(--panel-2) 25%,var(--border) 50%,var(--panel-2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:4px;width:100%}.skeleton-line.short{width:60%}.skeleton-avatar{width:56px;height:56px;border-radius:14px;background:linear-gradient(90deg,var(--panel-2) 25%,var(--border) 50%,var(--panel-2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;flex-shrink:0}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.account-page-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.account-header-info{display:flex;align-items:center;gap:1rem}.account-avatar-large{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:linear-gradient(135deg,var(--accent) 0%,hsl(0,72%,62%) 100%);border-radius:14px;color:#fff;box-shadow:0 4px 12px #f5656540}.account-page-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--text)}.account-page-subtitle{margin:.25rem 0 0;font-size:.9rem;color:var(--muted)}.account-back-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .75rem .4rem .6rem;margin:0 0 .5rem;font-size:.82rem;font-weight:500;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease,transform .12s ease}.account-back-btn:hover{color:var(--text);background:var(--panel-2);border-color:var(--border)}.account-back-btn:active{transform:translate(-1px)}.account-back-btn:focus-visible{outline:2px solid var(--accent, hsl(0, 72%, 67%));outline-offset:2px}.ios-theme-switch{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem .5rem .35rem .7rem;border-radius:999px;background:linear-gradient(180deg,#ffffffb3,#fff6);border:1px solid hsla(220,15%,60%,.22);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);box-shadow:inset 0 1px #fffc,0 1px 2px #1f242e0d,0 6px 14px #1f242e0f;-webkit-user-select:none;user-select:none;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.ios-theme-switch:hover{border-color:#6c799352;box-shadow:inset 0 1px #ffffffeb,0 2px 4px #1f242e12,0 10px 22px #1f242e1a}.ios-theme-switch-icon{color:#4e5565;opacity:.78;flex-shrink:0}.ios-theme-switch-label{font-size:.82rem;font-weight:600;letter-spacing:.01em;color:#31363f}.ios-theme-switch-track{position:relative;width:44px;height:26px;flex-shrink:0;border:none;padding:0;border-radius:999px;cursor:pointer;background:linear-gradient(180deg,#dddfe4,#cccfd7);box-shadow:inset 0 1px 2px #1f242e1f,inset 0 -1px #fff6;transition:background .26s ease,box-shadow .26s ease}.ios-theme-switch.is-on .ios-theme-switch-track{background:linear-gradient(180deg,var(--accent, hsl(0, 72%, 67%)) 0%,hsl(0,72%,58%) 100%);box-shadow:inset 0 1px 2px #9a191940,inset 0 -1px #ffffff2e}.ios-theme-switch-knob{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:linear-gradient(180deg,#fff,#f5f5f5);box-shadow:0 1px 2px #1f242e2e,0 2px 6px #1f242e1f,inset 0 1px #ffffffe6;transition:transform .26s cubic-bezier(.35,1.2,.45,1)}.ios-theme-switch.is-on .ios-theme-switch-knob{transform:translate(18px)}.ios-theme-switch-track:active .ios-theme-switch-knob{width:26px}.ios-theme-switch-track:focus-visible{outline:2px solid var(--accent, hsl(0, 72%, 67%));outline-offset:2px}@media(max-width:768px){.ios-theme-switch-label{display:none}.ios-theme-switch{padding:.3rem .4rem}}.account-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.account-tab{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--muted);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:-1px}.account-tab:hover{color:var(--text);background:var(--panel-2)}.account-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:transparent}.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{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--panel-2);border-bottom:1px solid var(--border)}.account-card-header h3{margin:0;font-size:.95rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:.5rem}.account-card-header h3 svg{color:var(--accent)}.account-card-header.clickable{cursor:pointer;width:100%;background:var(--panel-2);border:none;text-align:left;transition:background .2s}.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}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.account-edit-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.account-edit-btn:hover{background:var(--panel);border-color:var(--accent);color:var(--accent)}.account-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.account-info-item{display:flex;flex-direction:column;gap:.375rem}.account-info-item label{font-size:.75rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.account-info-value{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text);font-weight:500}.account-info-value svg{color:var(--muted);flex-shrink:0}.account-info-value.company-name{font-weight:600;color:var(--text)}.account-info-value.mono{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.85rem;color:var(--muted)}.role-badge{display:inline-flex;padding:.25rem .625rem;background:var(--panel-2);border-radius:20px;font-size:.75rem;font-weight:600;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{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;color:var(--text)}.status-icon.active{color:var(--success)}.session-note{margin:0;font-size:.85rem;color:var(--muted);line-height:1.5}.company-setup-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.8rem;font-weight:500;color:var(--muted)}.form-group input,.form-group select{padding:.625rem .875rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;font-size:.9rem;color:var(--text);transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f5656526}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.btn-primary{padding:.625rem 1.25rem;background:linear-gradient(135deg,var(--accent) 0%,hsl(0,72%,62%) 100%);border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f565654d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:.625rem 1.25rem;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.btn-secondary:hover{background:var(--panel-2);border-color:var(--border-hover)}.btn-small{padding:.5rem .875rem;font-size:.8rem}.btn-danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#dc262614}.btn-danger:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.company-hero{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background:var(--panel);border:1px solid var(--border);border-radius:12px}.company-hero-identity{display:flex;align-items:center;gap:1rem}.company-avatar{width:48px;height:48px;border-radius:12px;flex-shrink:0;background:linear-gradient(135deg,var(--accent) 0%,hsl(0,72%,62%) 100%);color:#fff;font-size:1.25rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #f5656540}.company-hero-name{font-size:1.05rem;font-weight:700;color:var(--text)}.company-hero-meta{display:flex;align-items:center;gap:.4rem;margin-top:.3rem;font-size:.8rem;color:var(--muted)}.company-slug-chip{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.78rem;padding:.1rem .45rem;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--muted)}.company-hero-dot{opacity:.4}.company-config-list{display:flex;flex-direction:column}.company-config-row{border-bottom:1px solid var(--border)}.company-config-row.last{border-bottom:none}.company-config-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.65rem 0;background:transparent;border:none;text-align:left;cursor:pointer;font-size:.875rem;color:var(--text);transition:color .15s}.company-config-toggle:hover{color:var(--accent)}.company-config-toggle:hover .company-config-row-icon{opacity:1}.company-config-row-icon{color:var(--accent);opacity:.75;flex-shrink:0}.company-config-count-badge{margin-left:auto;margin-right:.25rem;font-size:.8rem;font-weight:600;color:var(--muted)}.company-config-chevron{color:var(--muted);transition:transform .2s ease;flex-shrink:0}.company-config-chevron.open{transform:rotate(180deg)}.company-config-sub{padding:.2rem 0 .75rem 1.625rem;display:flex;flex-direction:column;gap:.45rem}.company-config-subitem{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted)}.company-config-subitem svg{flex-shrink:0;opacity:.5}.company-config-subitem-name{flex:1}.company-config-type{font-size:.72rem;font-weight:600;padding:.1rem .35rem;background:var(--panel-2);border:1px solid var(--border);border-radius:3px;color:var(--muted)}.company-config-loading,.company-config-empty{font-size:.82rem;color:var(--muted);font-style:italic}.company-features-list{display:flex;flex-direction:column}.company-feature-row{display:flex;align-items:center;gap:.625rem;padding:.6rem 0;border-bottom:1px solid var(--border);font-size:.875rem;color:var(--text)}.company-feature-row:first-child{padding-top:0}.company-feature-row:last-child{border-bottom:none;padding-bottom:0}.company-feature-icon{color:var(--accent);flex-shrink:0}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stats-grid .stat-item{display:flex;flex-direction:column;align-items:center;padding:1rem;background:var(--panel-2);border-radius:10px;text-align:center}.stat-value{font-size:1.75rem;font-weight:700;color:var(--accent)}.stat-label{font-size:.8rem;color:var(--muted);margin-top:.25rem}.features-list{display:flex;flex-wrap:wrap;gap:.75rem}.feature-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:var(--accent-light);border-radius:20px;font-size:.85rem;font-weight:500;color:var(--text)}.feature-check{color:var(--success)}.security-list{display:flex;flex-direction:column;gap:1rem}.security-item{display:flex;gap:1rem;align-items:flex-start}.security-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--panel-2);border-radius:8px;flex-shrink:0}.security-icon.success{background:#16a34a1a;color:var(--success)}.security-content{flex:1}.security-content strong{display:block;font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:.25rem}.security-content p{margin:0;font-size:.85rem;color:var(--muted);line-height:1.5}.residency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.residency-item{display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem;background:var(--panel-2);border-radius:10px;text-align:center;gap:.75rem}.residency-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--panel);border-radius:10px;color:var(--accent)}.residency-content{display:flex;flex-direction:column;gap:.25rem}.residency-content strong{font-size:.85rem;font-weight:600;color:var(--text)}.residency-content span{font-size:.8rem;color:var(--muted)}.data-rights-section{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.data-stored h4,.data-not-stored h4{margin:0 0 .75rem;font-size:.85rem;font-weight:600;color:var(--text)}.data-stored ul,.data-not-stored ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.data-stored li,.data-not-stored li{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted)}.data-stored li svg{color:var(--success);flex-shrink:0}.data-not-stored li svg{color:var(--muted);flex-shrink:0}.data-rights-actions{padding-top:1rem;border-top:1px solid var(--border)}.rights-note{margin:0 0 1rem;font-size:.85rem;color:var(--muted);line-height:1.5}.rights-buttons{display:flex;gap:.75rem}.rights-buttons button{display:flex;align-items:center;gap:.5rem}.security-contact{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:var(--panel-2);border-radius:10px;font-size:.85rem;color:var(--muted);margin-top:.5rem}.security-contact a{color:var(--accent);text-decoration:none;font-weight:500}.security-contact a:hover{text-decoration:underline}.account-error{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;font-size:.85rem;color:#f87171}.account-error-dismiss{background:none;border:none;color:#f87171;cursor:pointer;font-size:1.25rem;line-height:1;padding:0;opacity:.7;transition:opacity .2s}.account-error-dismiss:hover{opacity:1}.quota-billing-period{font-size:.8rem;font-weight:400;color:var(--muted);margin-left:.375rem}.quota-activity-list{display:flex;flex-direction:column}.quota-activity-row{display:flex;align-items:center;justify-content:space-between;padding:.625rem 0;border-bottom:1px solid var(--border)}.quota-activity-row:first-child{padding-top:0}.quota-activity-row:last-child{border-bottom:none;padding-bottom:0}.quota-activity-label{font-size:.9rem;color:var(--muted)}.quota-activity-count{font-size:.9rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.quota-plan-row{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;background:var(--panel-2);border-radius:8px;margin-bottom:1.25rem}.quota-plan-badge{font-size:.85rem;font-weight:600;color:var(--text)}.quota-renewal{font-size:.8rem;color:var(--muted)}.quota-rows{display:flex;flex-direction:column;gap:1.25rem}.quota-row-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.quota-row-label{font-size:.8rem;font-weight:600;color:var(--muted)}.quota-row-numbers{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.quota-bar-track{height:6px;background:var(--panel-2);border-radius:3px;overflow:hidden}.quota-bar-fill{height:100%;border-radius:3px;transition:width .6s ease}.quota-bar-fill.normal{background:var(--success)}.quota-bar-fill.warning{background:#f59e0b}.quota-bar-fill.danger{background:var(--accent)}.quota-pie-section{margin-bottom:1.25rem}.quota-pie-title{display:block;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.quota-pie-layout{display:flex;align-items:center;gap:1.5rem}.quota-pie-chart{width:140px;height:140px;flex-shrink:0}.quota-pie-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--muted);background:var(--panel-2);border-radius:50%}.quota-pie-legend{display:flex;flex-direction:column;gap:.625rem;flex:1}.quota-pie-legend-item{display:flex;align-items:center;gap:.5rem}.quota-pie-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.quota-pie-legend-label{font-size:.85rem;color:var(--muted);flex:1}.quota-pie-legend-value{font-size:.85rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.quota-pie-legend-total{padding-top:.5rem;border-top:1px solid var(--border)}.quota-pie-legend-total .quota-pie-legend-label{font-weight:600;color:var(--text)}.quota-row-total{padding-top:.75rem;border-top:1px solid var(--border)}.quota-row-total .quota-row-label{font-weight:700;color:var(--text)}.quota-row-total .quota-row-numbers{font-weight:600;color:var(--text)}.quota-bar-track-total{height:8px}.quota-skeleton{display:flex;flex-direction:column}.quota-refresh-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:var(--muted);cursor:pointer;transition:color .2s,background .2s;flex-shrink:0}.quota-refresh-btn:hover:not(:disabled){color:var(--text);background:var(--panel-3)}.quota-refresh-btn:disabled{cursor:not-allowed;opacity:.4}.quota-refresh-btn .spinning{animation:quota-spin .8s linear infinite}@keyframes quota-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.quota-error-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.85rem;color:var(--muted)}.quota-retry-btn{padding:.25rem .625rem;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:.8rem;cursor:pointer;white-space:nowrap;transition:border-color .2s,color .2s;flex-shrink:0}.quota-retry-btn:hover{border-color:var(--accent);color:var(--accent)}.quota-request-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.quota-request-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}.quota-request-btn:hover:not(:disabled){background:var(--accent);color:#fff}.quota-request-btn:disabled{opacity:.5;cursor:not-allowed}.quota-request-success{font-size:.85rem;color:var(--success);font-weight:500}.quota-request-error{font-size:.8rem;color:var(--accent)}.quota-unavailable{margin:0;font-size:.85rem;color:var(--muted);text-align:center;padding:.5rem 0}@media(max-width:768px){.account-overview-page{padding:0 .75rem}.account-page-header{padding:1rem 0}.account-avatar-large{width:48px;height:48px}.account-page-title{font-size:1.25rem}.account-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.account-tab{padding:.75rem 1rem;white-space:nowrap}.account-info-grid{grid-template-columns:1fr;gap:1rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}.stats-grid{grid-template-columns:1fr}.residency-grid{grid-template-columns:1fr;gap:.75rem}.residency-item{flex-direction:row;text-align:left;padding:1rem}.data-rights-section{grid-template-columns:1fr;gap:1rem}.rights-buttons{flex-direction:column}.rights-buttons button{width:100%;justify-content:center}}@media(max-width:480px){.account-header-info{gap:.75rem}.account-avatar-large{width:40px;height:40px;border-radius:10px}.account-avatar-large svg{width:20px;height:20px}.account-page-title{font-size:1.1rem}.account-page-subtitle{font-size:.8rem}.account-tab{padding:.625rem .75rem;font-size:.85rem}.account-tab svg{width:14px;height:14px}}.qoe-wb{display:flex;flex-direction:column;gap:24px;padding:24px 32px;max-width:1400px;margin:0 auto;width:100%}.qoe-wb-header-actions{display:flex;gap:8px;align-items:center}.qoe-wb-landing{display:flex;flex-direction:column;gap:24px;padding:32px;max-width:1080px;margin:0 auto;width:100%}.qoe-wb-landing-header{display:flex;gap:16px;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:24px}.qoe-wb-landing-icon-circle{width:44px;height:44px;border-radius:50%;background:#ff7f5026;color:#c2410c;display:flex;align-items:center;justify-content:center;flex-shrink:0}.qoe-wb-landing-subtitle{margin:8px 0 0;font-size:13px;line-height:1.55;color:var(--text);opacity:.7;max-width:640px}.qoe-wb-landing-empty{border:1px dashed var(--border);border-radius:8px;padding:32px;background:var(--panel);font-size:13px;line-height:1.55;color:var(--text)}.qoe-wb-landing-empty p{margin:0 0 8px}.qoe-wb-landing-empty p:last-child{margin:0;opacity:.75}.qoe-wb-landing-search{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:6px;background:var(--panel);padding:6px 12px;max-width:360px;color:var(--text)}.qoe-wb-landing-search input{border:none;background:transparent;flex:1;font-size:13px;outline:none;color:var(--text)}.qoe-wb-landing-search input::placeholder{opacity:.5}.qoe-wb-landing-table-wrap{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--panel)}.qoe-wb-landing-table{width:100%;border-collapse:collapse;font-size:13px}.qoe-wb-landing-table th,.qoe-wb-landing-table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border)}.qoe-wb-landing-table th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;background:var(--bg);opacity:.7}.qoe-wb-landing-table td.amount,.qoe-wb-landing-table th.amount{text-align:right;font-variant-numeric:tabular-nums}.qoe-wb-landing-table tr{cursor:pointer;transition:background .12s ease}.qoe-wb-landing-table tbody tr:hover{background:#ff7f500f}.qoe-wb-landing-table tbody tr:last-child td{border-bottom:none}.qoe-wb-landing-name{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text)}.qoe-wb-landing-sparkle{color:#c2410c;flex-shrink:0}.qoe-wb-landing-pinned{color:#f59e0b;font-size:14px;margin-left:4px}.qoe-wb-landing-shared{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#22c55e1f;color:#16a34a;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.qoe-wb-landing-meta{display:inline-flex;align-items:center;gap:6px;font-size:12px;opacity:.7}.qoe-wb-landing-cta{text-align:right}.qoe-wb-landing-open{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#ff7f501f;color:#c2410c;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.qoe-wb-landing-table tbody tr:hover .qoe-wb-landing-open{background:coral;color:#fff}.qoe-wb-empty,.qoe-wb-loading,.qoe-wb-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 24px;text-align:center;color:var(--text)}.qoe-wb-empty h2,.qoe-wb-error h2{margin:0;font-size:20px;font-weight:600}.qoe-wb-empty p,.qoe-wb-error p{color:var(--text);opacity:.7;max-width:420px}.qoe-wb-header{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:16px}.qoe-wb-eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.qoe-wb-title{margin:0;font-size:24px;font-weight:600;color:var(--text)}.qoe-wb-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:filter .15s ease}.qoe-wb-btn:hover{filter:brightness(1.05)}.qoe-wb-btn.ghost{background:transparent;color:var(--text);border-color:var(--border)}.qoe-wb-btn.ghost:hover{background:var(--panel)}.qoe-wb-btn.danger{background:#ef4444;border-color:#ef4444}.qoe-wb-btn.success{background:#22c55e;border-color:#22c55e}.qoe-wb-btn:disabled{opacity:.5;cursor:not-allowed}.qoe-wb-tactile{transition:transform .08s ease,filter .08s ease,box-shadow .12s ease}.qoe-wb-tactile:not(:disabled):active{transform:scale(.94);filter:brightness(.92)}.qoe-wb-tactile:not(:disabled):hover{box-shadow:0 1px #0000000d,0 2px 4px #0000000f}.qoe-wb-saving-indicator{display:inline-flex;align-items:center;gap:6px;margin-left:12px;padding:3px 10px;border-radius:999px;background:#3b82f61a;border:1px solid rgba(59,130,246,.25);color:#2563eb;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;font-family:inherit;vertical-align:middle}.qoe-wb-saving-indicator .spinning{animation:qoe-wb-spin .9s linear infinite}.qoe-wb-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px}.qoe-wb-modal{width:min(560px,100%);max-height:88vh;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 48px #0000002e;display:flex;flex-direction:column;overflow:hidden;animation:qoe-wb-modal-in .16s ease-out}@keyframes qoe-wb-modal-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.qoe-wb-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);background:var(--panel);gap:16px}.qoe-wb-modal-header h2{margin:4px 0 0;font-size:17px;font-weight:600;color:var(--text)}.qoe-wb-modal-subtitle{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--text);opacity:.7;max-width:420px}.qoe-wb-modal-body{padding:18px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.qoe-wb-modal-section h3{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text);opacity:.7}.qoe-wb-modal-meta{font-size:12px;color:var(--text);opacity:.6;margin:0}.qoe-wb-share-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.qoe-wb-share-list li{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:6px;padding:8px 12px;background:var(--panel);font-size:13px}.qoe-wb-share-email{color:var(--text)}.qoe-wb-share-revoke{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;border:1px solid rgba(239,68,68,.3);background:transparent;color:#ef4444;font-size:11px;cursor:pointer;transition:background .12s ease}.qoe-wb-share-revoke:hover:not(:disabled){background:#ef44441a}.qoe-wb-share-revoke:disabled{opacity:.5;cursor:not-allowed}.qoe-wb-share-picker{list-style:none;margin:8px 0 0;padding:0;max-height:240px;overflow-y:auto;border:1px solid var(--border);border-radius:6px}.qoe-wb-share-row{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border);font-size:13px;transition:background .1s ease}.qoe-wb-share-row:last-child{border-bottom:none}.qoe-wb-share-row:hover:not(.disabled){background:#3b82f60f}.qoe-wb-share-row.disabled{opacity:.5;cursor:default}.qoe-wb-share-checkbox{width:16px;height:16px;border-radius:3px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;background:var(--bg);color:var(--accent);flex-shrink:0}.qoe-wb-share-row.disabled .qoe-wb-share-checkbox{background:#22c55e2e;color:#16a34a;border-color:transparent}.qoe-wb-share-already{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#16a34a;font-weight:600}.qoe-wb-modal-footer{display:flex;align-items:center;gap:8px;padding:14px 22px;border-top:1px solid var(--border);background:var(--panel)}.qoe-wb-modal-toast{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#22c55e26;color:#16a34a;font-size:11px;font-weight:600}.qoe-wb-row-saving{display:inline-flex;align-items:center;margin-left:4px;color:#3b82f6;opacity:.85}.qoe-wb-row-saving .spinning{animation:qoe-wb-spin .9s linear infinite}.qoe-wb-nav{display:flex;gap:4px;position:sticky;top:0;z-index:5;background:var(--bg);padding:8px 0;border-bottom:1px solid var(--border)}.qoe-wb-nav-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text);opacity:.7;font-size:13px;cursor:pointer}.qoe-wb-nav-link:hover{background:var(--panel);opacity:1}.qoe-wb-main{display:flex;flex-direction:column;gap:32px}.qoe-wb-main section{scroll-margin-top:60px}.qoe-wb-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.qoe-wb-kpi-card{padding:18px 20px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.qoe-wb-kpi-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text);opacity:.6;margin-bottom:6px}.qoe-wb-kpi-value{font-size:22px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.qoe-wb-kpi-sub{font-size:12px;color:var(--text);opacity:.6;margin-top:4px}.qoe-wb-kpi-value.adjusted{color:var(--accent)}.qoe-wb-findings{border:1px solid var(--border);border-radius:8px;padding:18px 22px;background:var(--panel)}.qoe-wb-findings h3{margin:0 0 10px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.qoe-wb-findings ul{list-style:disc;padding-left:20px;margin:0}.qoe-wb-findings li{font-size:14px;color:var(--text);line-height:1.55;margin-bottom:4px}.qoe-wb-section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.qoe-wb-section-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:8px}.qoe-wb-section-header .qoe-wb-section-meta{font-size:12px;color:var(--text);opacity:.6}.qoe-wb-refresh-section{background:transparent;border:1px solid var(--border);border-radius:4px;padding:4px 6px;cursor:pointer;color:var(--text);opacity:.55;display:inline-flex;align-items:center;transition:opacity .12s ease,background .12s ease}.qoe-wb-refresh-section:hover:not(:disabled){opacity:1;background:var(--panel)}.qoe-wb-refresh-section:disabled{cursor:not-allowed}.qoe-wb-refresh-section .spinning{animation:qoe-wb-spin .9s linear infinite}@keyframes qoe-wb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.qoe-wb-waterfall-wrap{border:1px solid var(--border);border-radius:8px;padding:16px;background:var(--panel)}.qoe-wb-waterfall-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:12px;font-size:12px;color:var(--text);opacity:.8}.qoe-wb-waterfall-empty{padding:32px;text-align:center;color:var(--text);opacity:.6;font-size:13px}.qoe-wb-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.qoe-wb-toolbar select,.qoe-wb-toolbar input[type=text]{padding:6px 10px;border-radius:4px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px}.qoe-wb-table-wrap{border:1px solid var(--border);border-radius:8px;overflow:auto;background:var(--panel)}.qoe-wb-table{width:100%;border-collapse:collapse;font-size:13px;color:var(--text)}.qoe-wb-table th,.qoe-wb-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}.qoe-wb-table th{background:var(--bg);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.05em;position:sticky;top:0;z-index:1}.qoe-wb-table td.amount{text-align:right;font-variant-numeric:tabular-nums}.qoe-wb-table tr.expanded td{background:var(--bg)}.qoe-wb-status-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.qoe-wb-status-pill.proposed{background:#3b82f626;color:#3b82f6}.qoe-wb-status-pill.needs_input{background:#f59e0b2e;color:#f59e0b}.qoe-wb-status-pill.approved{background:#22c55e2e;color:#22c55e}.qoe-wb-status-pill.rejected{background:#ef44442e;color:#ef4444}.qoe-wb-cat-chip{display:inline-block;padding:1px 8px;border-radius:4px;font-size:11px;font-weight:500;background:var(--bg);border:1px solid var(--border);color:var(--text)}.qoe-wb-row-actions{display:flex;gap:6px;flex-wrap:wrap}.qoe-wb-row-actions button{padding:4px 10px;font-size:12px}.qoe-wb-detail-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px;background:var(--bg);border-top:1px solid var(--border)}.qoe-wb-detail-panel h4{margin:0 0 8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text);opacity:.7}.qoe-wb-detail-panel p{margin:0 0 12px;font-size:13px;color:var(--text);line-height:1.5}.qoe-wb-input-row{display:grid;grid-template-columns:160px 1fr;gap:8px 12px;align-items:center;margin-bottom:8px}.qoe-wb-input-row label{font-size:12px;color:var(--text);opacity:.7}.qoe-wb-input-row input{padding:6px 10px;border-radius:4px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px;width:100%}.qoe-wb-error-inline{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#ef4444;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:4px;padding:8px 10px;margin-top:8px;line-height:1.4}.qoe-wb-error-inline svg{flex-shrink:0;margin-top:2px}.qoe-wb-row-error{display:flex;gap:8px;align-items:flex-start;font-size:12px;border-radius:4px;padding:6px 8px;margin-top:6px;line-height:1.4;max-width:360px}.qoe-wb-row-error svg{flex-shrink:0;margin-top:2px}.qoe-wb-row-error.warn{color:#b45309;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3)}.qoe-wb-row-error.fail{color:#ef4444;background:#ef444414;border:1px solid rgba(239,68,68,.25)}.qoe-wb-row-error-msg{font-weight:500}.qoe-wb-row-error-fields{margin-top:2px;opacity:.85;font-size:11px;font-style:italic}.qoe-wb-input-actions{margin-top:10px;display:flex;gap:8px}.qoe-wb-account-link{background:none;border:none;padding:0;text-align:left;font:inherit;font-weight:500;color:var(--text);cursor:pointer;text-decoration:none;border-bottom:1px dotted transparent}.qoe-wb-account-link:hover:not(:disabled){color:var(--accent);border-bottom-color:var(--accent)}.qoe-wb-account-link:disabled{cursor:default}.qoe-wb-table.qoe-wb-is th{white-space:nowrap}.qoe-wb-is-section-row td{background:var(--bg);padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--text);opacity:.85}.qoe-wb-is-section-label{margin-left:4px}.qoe-wb-is-section-count{font-size:10px;font-weight:400;text-transform:none;letter-spacing:0;margin-left:6px;opacity:.6}.qoe-wb-is-account-row td{padding-left:24px}.qoe-wb-is-account-row:hover td{background:#3b82f60d}.qoe-wb-is-account{font-weight:500}.qoe-wb-is-cat{font-size:11px;opacity:.55;margin-top:1px}.qoe-wb-is-subtotal-row td{background:var(--panel);font-weight:700;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.qoe-wb-is-ebitda-row td{background:#ff7f501f;border-top:2px solid #ff7f50;border-bottom:2px solid #ff7f50;color:#c2410c;font-weight:700;font-size:14px}.qoe-wb-is-net-row td{background:var(--panel);border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);font-weight:700;font-size:14px;color:var(--accent)}.qoe-wb-is-margin-row td{background:transparent;font-style:italic;font-size:12px;color:var(--text);opacity:.8;padding-top:4px;padding-bottom:4px}.qoe-wb-is-margin-row td:first-child{padding-left:16px}.qoe-wb-trend-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:1100px){.qoe-wb-trend-grid{grid-template-columns:1fr 1fr}}.qoe-wb-trend-card{border:1px solid var(--border);border-radius:8px;padding:16px;background:var(--panel)}.qoe-wb-trend-card h3{margin:0 0 12px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text);opacity:.75}.qoe-wb-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:50;display:flex;justify-content:flex-end}.qoe-wb-drawer{width:min(640px,100vw);height:100vh;background:var(--bg);border-left:1px solid var(--border);display:flex;flex-direction:column;box-shadow:-8px 0 24px #00000026;animation:qoe-wb-drawer-slide .18s ease-out}@keyframes qoe-wb-drawer-slide{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.qoe-wb-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);background:var(--panel)}.qoe-wb-drawer-header h2{margin:4px 0 0;font-size:18px;font-weight:600;color:var(--text)}.qoe-wb-drawer-subtitle{font-size:12px;color:var(--text);opacity:.6;margin-top:2px}.qoe-wb-drawer-body{flex:1;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:22px}.qoe-wb-drawer-section h3{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text);opacity:.75}.qoe-wb-drawer-text{margin:0;font-size:13px;line-height:1.5;color:var(--text)}.qoe-wb-drawer-meta{font-size:11px;color:var(--text);opacity:.6;margin-top:4px}.qoe-wb-drawer-adj-list{display:flex;flex-direction:column;gap:8px}.qoe-wb-drawer-adj{border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--panel)}.qoe-wb-drawer-adj-head{display:flex;align-items:center;gap:8px;font-size:12px}.qoe-wb-drawer-adj-status{width:8px;height:8px;border-radius:50%}.qoe-wb-drawer-adj-cat{text-transform:capitalize;font-weight:600;color:var(--text)}.qoe-wb-drawer-adj-status-label{text-transform:capitalize;opacity:.6}.qoe-wb-drawer-adj-impact{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:500}.qoe-wb-drawer-adj-reason{margin-top:6px;font-size:12px;line-height:1.45;color:var(--text);opacity:.85}.qoe-wb-drawer-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:6px}.qoe-wb-drawer-table{width:100%;border-collapse:collapse;font-size:12px}.qoe-wb-drawer-table th,.qoe-wb-drawer-table td{padding:6px 10px;border-bottom:1px solid var(--border);text-align:left}.qoe-wb-drawer-table th{background:var(--bg);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.qoe-wb-drawer-table td.amount,.qoe-wb-drawer-table th.amount{text-align:right;font-variant-numeric:tabular-nums}.qoe-wb-conc-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:1100px){.qoe-wb-conc-grid{grid-template-columns:1fr 1fr}.qoe-wb-conc-card-wide{grid-column:1 / -1}}.qoe-wb-conc-card{border:1px solid var(--border);border-radius:8px;padding:16px 18px;background:var(--panel)}.qoe-wb-conc-card h3{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text);opacity:.8}.qoe-wb-conc-meta{margin-left:auto;font-size:11px;font-weight:400;text-transform:none;letter-spacing:0;opacity:.55}.qoe-wb-conc-empty{font-size:13px;color:var(--text);opacity:.6;padding:16px 0;line-height:1.5}.qoe-wb-conc-hhi,.qoe-wb-conc-perk-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}.qoe-wb-conc-hhi-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text);opacity:.55;margin-bottom:4px}.qoe-wb-conc-hhi-value{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.qoe-wb-conc-hhi-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.qoe-wb-conc-pie-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.qoe-wb-conc-pie-row>:first-child{flex-shrink:0}.qoe-wb-conc-table{flex:1;min-width:280px;width:100%;border-collapse:collapse;font-size:12px}.qoe-wb-conc-table th,.qoe-wb-conc-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border)}.qoe-wb-conc-table th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;opacity:.7;font-weight:600}.qoe-wb-conc-table td.amount,.qoe-wb-conc-table th.amount{text-align:right;font-variant-numeric:tabular-nums}.qoe-wb-conc-table tr:hover td{background:#3b82f60d}.qoe-wb-conc-swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.qoe-wb-conc-reason{font-size:11px;opacity:.75;max-width:360px;line-height:1.4}.qoe-wb-punch-summary{display:flex;gap:16px;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:10px 14px;font-size:13px;color:var(--text);margin-bottom:16px}.qoe-wb-punch-summary>div{display:inline-flex;align-items:center;gap:6px}.qoe-wb-punch-summary>div.warn{color:#b45309}.qoe-wb-punch-summary strong{font-variant-numeric:tabular-nums;font-weight:600}.qoe-wb-punch-theme{margin-bottom:22px}.qoe-wb-punch-theme-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.qoe-wb-punch-theme-header h3{margin:0;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.qoe-wb-punch-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.qoe-wb-punch-item{border:1px solid var(--border);border-radius:6px;padding:12px 14px;background:var(--panel)}.qoe-wb-punch-item-head{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:6px}.qoe-wb-punch-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.qoe-wb-punch-impact{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:500;color:var(--text);opacity:.85}.qoe-wb-punch-copy{background:transparent;border:1px solid var(--border);border-radius:4px;padding:3px 6px;cursor:pointer;color:var(--text);display:inline-flex;align-items:center}.qoe-wb-punch-copy:hover{background:var(--bg)}.qoe-wb-punch-question{margin:0;font-size:13px;line-height:1.5;color:var(--text)}.qoe-wb-punch-note{margin-top:6px;font-size:12px;color:var(--text);opacity:.7;font-style:italic}.qoe-wb-punch-needed{margin-top:4px;font-size:11px;color:#b45309;font-weight:500}.sidebar{width:220px;min-width:220px;flex-shrink:0;background:linear-gradient(180deg,#fefdfd,#fbf9f9);border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar-nav{padding:1.25rem .75rem;display:flex;flex-direction:column;gap:1.5rem;flex:1;min-height:0;overflow-y:auto}.sidebar-section{display:flex;flex-direction:column;gap:.25rem}.sidebar-section-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);padding:0 .75rem;margin-bottom:.5rem;text-align:center}.sidebar-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:8px;font-size:.9rem;font-weight:500;color:var(--text);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .2s ease;text-align:left;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{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-session-item{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border-radius:8px;font-size:.8rem;color:var(--text);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .2s ease;position:relative}.sidebar-session-item:hover{background:var(--panel-2);border-color:var(--border)}.sidebar-session-item.active{background:var(--accent-light);border-color:#f0d1d1}.sidebar-session-item .session-icon{color:var(--muted);flex-shrink:0}.sidebar-session-item.active .session-icon{color:var(--accent)}.session-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.session-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;font-size:.78rem;line-height:1.3}.session-date{font-size:.65rem;color:var(--muted);line-height:1.2}.session-delete-btn{display:none;align-items:center;justify-content:center;padding:2px;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:4px;flex-shrink:0;transition:color .15s ease}.sidebar-session-item:hover .session-delete-btn{display:flex}.session-delete-btn:hover{color:#d22d2d}.sidebar-subsection-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:.25rem .75rem .15rem;opacity:.7}.session-pin-btn{display:flex;align-items:center;justify-content:center;padding:2px;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:4px;flex-shrink:0;transition:color .15s ease}.session-pin-btn:hover,.session-pin-btn.pinned{color:#f4c025}.session-qoe-badge{margin-left:.35rem;color:#9952e0;vertical-align:middle}.session-eviction-hint{color:#cb4d4d;font-style:italic;opacity:.8}.session-info-no-pin{padding-left:2px}.session-info-no-pin .session-date{display:flex;flex-wrap:wrap;align-items:center;row-gap:2px}.agent-session-time{white-space:nowrap}.agent-session-fail-pill{display:inline-block;margin-left:6px;padding:0 5px;border-radius:4px;font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#ef44441f;color:#dc2626}.agent-session-running-pill{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:0 5px;border-radius:4px;font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#3b82f61f;color:#2563eb}.agent-session-running-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:agent-session-pulse 1.4s ease-in-out infinite}@keyframes agent-session-pulse{0%,to{opacity:.35}50%{opacity:1}}.sidebar-section-title-with-action{display:flex;align-items:center;justify-content:space-between;gap:6px}.sidebar-subgroup{display:flex;flex-direction:column;gap:.25rem}.sidebar-subgroup-title{font-size:.8rem;font-weight:600;color:var(--text);padding:0 .75rem;margin:.1rem 0 .4rem}.sidebar-subgroup-title-with-action{display:flex;align-items:center;justify-content:space-between;gap:6px}.sidebar-subgroup-divider{height:1px;background:var(--border);margin:.6rem .75rem}.sidebar-clear-all-btn{font-size:.65rem;font-weight:500;color:var(--muted);background:transparent;border:none;cursor:pointer;padding:2px 4px;border-radius:4px;text-transform:none;letter-spacing:0;transition:color .15s,background .15s}.sidebar-clear-all-btn:hover{color:#dc2626;background:#ef444414}.confirm-delete-popover{position:fixed;transform-origin:left center;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px;min-width:180px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 18px #0000001a,0 2px 4px #0000000d;font-size:12px;white-space:nowrap;z-index:200;will-change:transform,opacity}.confirm-delete-question{color:var(--text);font-size:12px;line-height:1.35}.confirm-delete-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.confirm-delete-btn{border:none;cursor:pointer;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:500;font-family:inherit;transition:background .12s,color .12s}.confirm-delete-btn.cancel{background:transparent;color:var(--muted)}.confirm-delete-btn.cancel:hover{background:var(--panel-2);color:var(--text)}.confirm-delete-btn.confirm{background:var(--accent);color:#fff}.confirm-delete-btn.confirm:hover{background:var(--accent-hover)}.sidebar-account-banner{display:flex;align-items:center;gap:.625rem;margin:.5rem .625rem .75rem;padding:.55rem .65rem;border-radius:12px;background:var(--panel, #fff);border:1px solid var(--border, hsl(0, 30%, 92%));cursor:pointer;text-align:left;font:inherit;color:var(--text);box-shadow:0 1px #00000005,0 4px 12px #0000000a;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease;flex-shrink:0}.sidebar-account-banner:hover{background:var(--panel-2, #faf5f5);border-color:#f2d9d9;box-shadow:0 2px 4px #0000000a,0 8px 22px #00000012}.sidebar-account-banner:active{transform:translateY(.5px)}.sidebar-account-banner.active{background:var(--accent-light);border-color:#f0d1d1}.sidebar-account-banner:focus-visible{outline:2px solid var(--accent, hsl(0, 72%, 67%));outline-offset:2px}.sidebar-account-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;flex-shrink:0;background:linear-gradient(135deg,var(--accent, hsl(0, 72%, 67%)) 0%,hsl(0,72%,58%) 100%);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.02em;box-shadow:inset 0 1px #ffffff40,0 2px 6px #e2505047}.sidebar-account-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.2}.sidebar-account-label{font-size:.72rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-account-email{font-size:.65rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-account-chevron{color:var(--muted);flex-shrink:0;transition:color .16s ease,transform .16s ease}.sidebar-account-banner:hover .sidebar-account-chevron{color:var(--text);transform:translate(1px)}@media(max-width:768px){.sidebar{width:60px;min-width:60px}.sidebar-section-title{display:none}.sidebar-item{justify-content:center;padding:.75rem}.sidebar-item span{display:none}.sidebar-account-banner{justify-content:center;margin:.5rem .5rem .75rem;padding:.5rem}.sidebar-account-text,.sidebar-account-chevron{display:none}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:1rem}.login-box{background:linear-gradient(135deg,hsl(0,45%,99.5%) 0%,var(--panel) 100%);border:1px solid hsl(0,40%,92%);box-shadow:0 8px 32px #f565651a;padding:2.5rem;border-radius:12px;width:100%;max-width:400px}.login-logo{display:flex;justify-content:center;margin-bottom:2rem}.login-logo img{height:64px;width:auto;object-fit:contain}.login-header h2{text-align:center;margin-bottom:.5rem;color:var(--text);font-weight:600}.login-header p{text-align:center;color:var(--muted);margin-bottom:2rem;font-size:.95rem}.login-form{margin-bottom:1.5rem}.input-group{position:relative;margin-bottom:1.25rem}.input-group input{width:100%;padding:.85rem .85rem .85rem 3rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;box-sizing:border-box;transition:border-color .3s,box-shadow .3s;background-color:var(--panel-2);color:var(--text)}.input-group input::placeholder{color:var(--muted)}.input-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f5656526}.input-group input:disabled{opacity:.6;cursor:not-allowed}.input-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.login-button{width:100%;padding:.85rem;background:none;background-image:linear-gradient(90deg,var(--accent) 0%,var(--accent) 50%,transparent 50%,transparent 100%);background-size:200% 100%;background-position:100% 0;color:var(--accent);border:1px solid var(--accent);border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;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}.login-button:hover:not(:disabled){background-position:0 0;color:#fff;transform:translateY(-1px);letter-spacing:.3px;box-shadow:0 6px 20px #e76e6e4d}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{color:#dc2626;font-size:.875rem;margin-bottom:1rem;text-align:center;background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:6px;padding:.5rem}.demo-info{background:#fdf2f2;border:1px solid hsl(0,72%,88%);border-radius:6px;padding:1rem;text-align:center}.demo-info p{margin:.25rem 0;font-size:.875rem;color:var(--text)}.demo-info p:first-child{font-weight:600;margin-bottom:.5rem}.success-message{color:#16a34a;font-size:.875rem;margin-bottom:1rem;text-align:center;background:#10b98114;border:1px solid rgba(16,185,129,.3);border-radius:6px;padding:.75rem}.auth-links{margin-top:1.5rem;text-align:center}.link-button{background:none;border:none;color:var(--accent);font-size:.875rem;cursor:pointer;padding:.5rem;display:inline-flex;align-items:center;justify-content:center;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);padding:0 .75rem;color:var(--muted);font-size:.85rem;position:relative;z-index:1}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border)}.secondary-button{width:100%;padding:.75rem;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.secondary-button:hover{background:#f5656514;border-color:var(--accent);color:var(--accent)}.confirm-message{text-align:center;padding:1.5rem 0}.confirm-icon{font-size:3rem;margin-bottom:1rem}.confirm-message p{color:var(--text);line-height:1.6;margin-bottom:1rem}.confirm-note{font-size:.85rem;color:var(--muted)}.reset-note{font-size:.85rem;color:var(--muted);margin-top:1rem;line-height:1.5}.merger-upload-container{max-width:900px;margin:0 auto;position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.merger-upload-container>*:not(.border-beam){position:relative;z-index:2}.files-list{display:flex;flex-direction:column;gap:.75rem}.files-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.files-header h4{margin:0;font-size:.9rem;font-weight:600;color:var(--text)}.files-count{font-size:.8rem;color:var(--accent);font-weight:600;background:#fceded;padding:.25rem .75rem;border-radius:20px}.file-card-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--border);background:var(--panel)}.source-key{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,var(--accent) 0%,hsl(0,72%,58%) 100%);color:#fff;font-weight:700;font-size:.85rem;border-radius:6px}.sheet-selection{padding:.75rem 1rem}.sheet-loading{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;color:var(--muted);font-size:.85rem}.sheet-loading .button-spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);margin-right:0}.sheet-chips{display:flex;flex-wrap:wrap;gap:.5rem}.sheet-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--panel);border:1px solid var(--border);border-radius:20px;font-size:.85rem;color:var(--text);cursor:pointer;transition:all .2s ease}.sheet-chip:hover:not(:disabled){border-color:var(--accent);background:#fef6f6}.sheet-chip.selected{border-color:var(--accent);background:#fceded;color:var(--accent);font-weight:500}.sheet-chip:disabled{opacity:.6;cursor:not-allowed}.no-sheets{margin:0;color:var(--muted);font-size:.85rem;font-style:italic}.add-more-zone{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem;border:2px dashed var(--border);border-radius:8px;color:var(--muted);font-size:.9rem;cursor:pointer;transition:all .2s ease}.add-more-zone:hover{border-color:var(--accent);color:var(--accent);background:#fefbfb}.statement-type-label{font-size:.8rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.375rem}.statement-type-label .required{color:#ef4444;margin-left:2px}.statement-type-selector{display:flex;flex-direction:column;gap:.5rem}.statement-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);cursor:pointer;transition:all .2s ease}.statement-option:hover:not(.disabled){border-color:var(--accent);background:#fef6f6}.statement-option.selected{border-color:var(--accent);background:#fceded}.statement-option.selected .radio-circle{border-color:var(--accent);background:var(--accent)}.statement-option.disabled{opacity:.6;cursor:not-allowed}.radio-circle{width:18px;height:18px;border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.statement-option:hover:not(.disabled) .radio-circle{border-color:var(--accent)}.radio-dot{width:8px;height:8px;border-radius:50%;background:#fff}.statement-content h4{margin:0;font-size:.9rem;font-weight:500;color:var(--text)}.config-selector-group{margin-top:.5rem}.label-icon{opacity:.7}.config-loading{display:flex;align-items:center;gap:.5rem;padding:.75rem;color:var(--muted);font-size:.9rem}.config-selector{display:flex;flex-direction:column;gap:.75rem}.config-options{display:flex;flex-direction:column;gap:.5rem}.config-option{padding:.875rem 1rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.config-option:hover:not(.disabled){border-color:var(--accent);background:#fef6f6}.config-option.selected{border-color:var(--accent);background:#fceded;box-shadow:0 0 0 1px #f5656533}.config-option-header{display:flex;align-items:center;gap:.75rem}.config-option-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.config-name{font-size:.95rem;font-weight:500;color:var(--text)}.config-meta{font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.config-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.config-badge.ai-badge{background:linear-gradient(135deg,#f5656526,#ec489926);color:var(--accent);border:1px solid rgba(245,101,101,.3)}.config-badge.ai-badge svg{color:#ec4899}.config-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;background:var(--panel-2);border:1px dashed var(--border);border-radius:8px;text-align:center}.config-empty-icon{color:var(--muted);opacity:.5}.config-empty-state p{margin:0;font-size:.9rem;color:var(--text);font-weight:500}.config-empty-state span{font-size:.8rem;color:var(--muted)}@media(max-width:768px){.file-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.sheet-chips{flex-direction:column}.sheet-chip{width:100%;justify-content:center}}.merger-period-selector-container{max-width:1200px;margin:0 auto}.merger-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid hsl(0,40%,92%)}.merger-header .header-content h2{margin:0 0 .5rem;color:var(--text);font-size:1.8rem}.step-description{margin:0;color:var(--muted);font-size:1rem}.back-button{display:flex;align-items:center;gap:.5rem;background:var(--panel);color:var(--text);border:1px solid var(--border);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s;flex-shrink:0}.source-legend{background:linear-gradient(135deg,#fefbfb,#fbf8f8);border:1px solid hsl(0,40%,92%);border-radius:10px;padding:1.25rem;margin-bottom:1.5rem}.source-legend h4{margin:0 0 .75rem;color:var(--text);font-size:.95rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.source-list{display:flex;flex-wrap:wrap;gap:1rem}.source-item{display:flex;align-items:center;gap:.5rem;background:var(--panel);padding:.5rem .875rem;border-radius:8px;border:1px solid var(--border)}.source-badge{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#fff;font-weight:700;font-size:.8rem;border-radius:5px}.source-name{font-size:.9rem;color:var(--text);font-weight:500}.source-sheet{font-size:.8rem;color:var(--muted)}.file-info-summary{background:linear-gradient(135deg,#fefbfb,#fbf8f8);border:1px solid hsl(0,40%,92%);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.file-info-summary h3{margin:0 0 1rem;color:var(--text)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.info-item{color:var(--muted);font-size:.9rem}.info-item strong{color:var(--text)}.select-all-section{margin-top:6px;margin-bottom:1rem}.select-all-button{display:inline-flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;background:var(--panel-2);border:2px solid var(--border);border-radius:10px;color:var(--text);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow)}.select-all-button:hover:not(:disabled){border-color:var(--accent);background:#fdf2f2;transform:translateY(-1px);box-shadow:0 4px 12px #f5656533}.select-all-button.selected{border-color:var(--accent);background:#fceded}.select-all-button:disabled{opacity:.5;cursor:not-allowed}.select-help{margin-top:.75rem;color:var(--muted);font-size:.9rem;line-height:1.5}.period-selection{margin-bottom:2rem}.period-selection h3{margin:0 0 1.5rem;color:var(--text)}.stacked-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;max-height:500px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;box-shadow:var(--shadow)}.period-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.period-table thead{position:sticky;top:0;z-index:20;background:var(--panel-2)}.period-table thead th{background:inherit;color:var(--text);text-align:left;padding:12px 10px;border-bottom:2px solid var(--border);font-weight:600;font-size:.95rem}.period-table thead th:first-child{width:50px}.period-table tbody tr{background:transparent;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{padding:10px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;line-height:1.25}.check-cell{text-align:center;padding:12px 8px}.check-cell input[type=checkbox]{width:18px;height:18px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--panel);border:2px solid hsl(0,40%,85%);border-radius:4px;cursor:pointer;position:relative;transition:all .2s ease;outline:none}.check-cell input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.check-cell input[type=checkbox]:checked:after{content:"✓";position:absolute;top:-2px;left:2px;font-size:14px;font-weight:700;color:#fff}.date-cell{font-weight:500;font-size:.95rem;color:var(--text)}.sources-cell{width:100px}.source-keys{display:flex;gap:.375rem}.source-key-badge{display:flex;align-items:center;justify-content:center;width:22px;height:22px;color:#fff;font-weight:700;font-size:.75rem;border-radius:4px}.name-cell{color:var(--muted);font-size:.85rem}.action-buttons{display:flex;justify-content:center;align-items:center;margin-top:1.5rem;gap:1rem}.merger-period-selector-container .view-results-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--panel-2, #f5f5f5);color:var(--accent);border:1px solid var(--accent);padding:.75rem 1.5rem;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s ease}.merger-period-selector-container .view-results-button:hover:not(:disabled){background:var(--accent);color:#fff;transform:translateY(-1px);box-shadow:0 6px 20px #e76e6e40}.merger-period-selector-container .view-results-button:disabled{opacity:.5;cursor:not-allowed}.merger-period-selector-container .view-results-button svg{transition:transform .25s ease}.merger-period-selector-container .view-results-button:hover:not(:disabled) svg{transform:translate(3px)}.process-button,.process-button.multi-period{display:inline-flex;align-items:center;gap:.5rem;background:none;background-image:linear-gradient(90deg,var(--accent) 0%,var(--accent) 50%,transparent 50%,transparent 100%);background-size:200% 100%;background-position:100% 0;color:var(--accent);border:1px solid var(--accent);padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),transform .2s ease;position:relative;overflow:hidden}.process-button:hover:not(:disabled){background-position:0 0;color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #f5656559}.process-button:after{content:"";position:absolute;top:-50%;left:-30%;width:60%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.35),rgba(255,255,255,.08) 60%,transparent 70%);transform:translate(-140%) rotate(15deg);transition:transform .6s ease;pointer-events:none}.process-button:hover:after{transform:translate(220%) rotate(15deg)}.process-button svg{transition:transform .25s ease}.process-button:hover svg{transform:translate(6px)}.process-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.merger-header{flex-direction:column;align-items:flex-start}.source-list{flex-direction:column}.info-grid{grid-template-columns:1fr 1fr}}.recon-page-container{display:flex;flex-direction:column;gap:1.5rem;max-width:900px;margin:0 auto}.recon-upload-container{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.recon-upload-container>*:not(.border-beam){position:relative;z-index:2}.recon-icon,.pl-icon{background:linear-gradient(135deg,#fceded,#f9e7e7);color:var(--accent)}.header-icon{padding:.75rem;border-radius:10px;display:flex;align-items:center;justify-content:center}.dropzone{border:2px dashed hsl(0,40%,88%);border-radius:8px;padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#fcf8f8,#faf5f5)}.dropzone:hover{border-color:var(--accent);background:#fef6f6}.dropzone.active{border-color:var(--accent);background:#fceded}.dropzone.has-files{padding:1.25rem}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-icon{color:var(--muted)}.dropzone-text{margin:0;font-size:.95rem;color:var(--text);font-weight:500}.dropzone-hint{font-size:.8rem;color:var(--muted)}.file-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.file-card-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;background:var(--panel)}.file-card-info{display:flex;align-items:center;gap:.75rem}.file-icon{color:var(--accent);flex-shrink:0}.file-details{flex:1;min-width:0}.file-name{margin:0;font-weight:500;color:var(--text);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{margin:.125rem 0 0;color:var(--muted);font-size:.75rem}.remove-file-btn{background:#ef44441f;border:none;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#f87171;transition:background-color .2s;flex-shrink:0}.remove-file-btn:hover{background:#ef444433}.sheet-selector{display:flex;align-items:center;gap:.75rem}.sheet-selector label{font-size:.9rem;font-weight:500;color:var(--text)}.sheet-selector select{flex:1;padding:.625rem .875rem;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font-size:.9rem;cursor:pointer;transition:border-color .2s ease}.sheet-selector select:hover{border-color:var(--accent)}.sheet-selector select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f565651a}.analyze-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:none;background-image:linear-gradient(90deg,var(--accent) 0%,var(--accent) 50%,transparent 50%,transparent 100%);background-size:200% 100%;background-position:100% 0;color:var(--accent);border:1px solid var(--accent);padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),transform .2s ease;position:relative;overflow:hidden;margin-top:.5rem}.analyze-button:hover:not(:disabled){background-position:0 0;color:#fff;transform:translateY(-1px);box-shadow:0 8px 25px #f5656559}.analyze-button:disabled{opacity:.6;cursor:not-allowed}.analyze-button:hover:not(:disabled) svg{transform:translate(4px)}.button-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.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{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--panel);border:none;cursor:pointer;transition:background .2s ease}.section-header:hover{background:var(--panel-2)}.section-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--text)}.section-title svg{color:var(--accent)}.section-content{padding:1.25rem;border-top:1px solid var(--border)}.summary-list{display:flex;flex-direction:column}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.625rem 0;border-bottom:1px solid var(--border)}.summary-row:last-child{border-bottom:none}.summary-row.highlight-row{background:linear-gradient(135deg,#fef6f6,#fcf3f3);margin:.5rem -1.25rem -1.25rem;padding:1rem 1.25rem;border-radius:0 0 10px 10px}.summary-label{font-size:.9rem;color:var(--muted)}.summary-value{font-size:.9rem;font-weight:600;color:var(--text)}.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{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;background:var(--panel-2)}.employee-info{display:flex;align-items:center;gap:.5rem}.employee-name{font-weight:600;color:var(--text);font-size:.9rem}.employee-number{font-size:.8rem;color:var(--muted);font-family:SF Mono,Monaco,Inconsolata,monospace}.employee-gross{font-weight:700;color:#1daf52;font-size:.95rem;font-family:SF Mono,Monaco,Inconsolata,monospace}.employee-earnings{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.employee-earning-item{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text)}.employee-earning-item span:last-child{font-family:SF Mono,Monaco,Inconsolata,monospace;color:var(--muted)}.wages-info{margin-bottom:1rem}.wages-account{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.wages-label{font-size:.85rem;color:var(--muted)}.wages-account-name{font-weight:600;color:var(--text);font-size:1rem}.wages-reasoning{margin:.75rem 0 0;font-size:.85rem;color:var(--muted);font-style:italic}.wages-candidate-selector{margin-bottom:1rem;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.75rem;max-width:640px}.wages-candidate-header{margin-bottom:.5rem}.wages-candidate-title{font-weight:650;color:var(--text);font-size:.9rem}.wages-candidate-table-container{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.wages-candidate-table{width:100%;border-collapse:collapse;font-size:.9rem}.wages-candidate-table th,.wages-candidate-table td{padding:.4rem .6rem;border-bottom:1px solid var(--border);text-align:left}.wages-candidate-table th:first-child,.wages-candidate-table td:first-child{width:52px;text-align:center}.wages-candidate-table .candidate-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;display:inline-grid;place-content:center;border:1px solid var(--border);border-radius:3px;background:var(--panel);cursor:pointer}.wages-candidate-table .candidate-checkbox:hover{border-color:var(--accent)}.wages-candidate-table .candidate-checkbox:checked{border-color:var(--accent);background:var(--panel)}.wages-candidate-table .candidate-checkbox:checked:after{content:"✓";font-size:12px;line-height:1;font-weight:900;color:var(--accent)}.wages-candidate-table th{background:var(--panel);position:sticky;top:0;z-index:1;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.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{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.candidate-mono{font-family:SF Mono,Monaco,Inconsolata,monospace;color:var(--muted);font-size:.85rem}.candidate-pill{display:inline-flex;align-items:center;padding:.2rem .45rem;border-radius:999px;border:1px solid var(--border);background:var(--panel-2);color:var(--muted);font-size:.75rem;font-weight:600}.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{display:block;margin-bottom:.5rem;font-size:.9rem;font-weight:600;color:var(--text)}.wages-period-selector select{width:100%;padding:.65rem .85rem;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text)}.wages-reconcile-card{border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:1rem;max-width:520px;width:100%}.reconcile-title{font-weight:650;color:var(--text);font-size:.95rem;margin-bottom:.5rem}.reconcile-grid{display:grid;grid-template-columns:1fr;gap:.65rem}.reconcile-item{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.reconcile-label{color:var(--muted);font-size:.85rem}.reconcile-value{font-weight:650;color:var(--text);font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:.9rem}.reconcile-diff{color:var(--accent)}.reconcile-pct{margin-left:.5rem;color:var(--muted);font-weight:600;font-size:.8rem}.reconcile-hint{margin-top:.65rem;color:var(--muted);font-size:.8rem}.wages-table-container{overflow-x:auto;overflow-y:auto;max-height:360px;border:1px solid var(--border);border-radius:8px}.wages-table{width:100%;border-collapse:collapse;font-size:.9rem}.wages-table th,.wages-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.wages-table th{background:var(--panel);font-weight:600;color:var(--text);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0;z-index:1}.wages-table td{color:var(--text)}.wages-table .amount-cell{font-family:SF Mono,Monaco,Inconsolata,monospace;font-weight:600;color:var(--accent)}.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{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.reset-button:hover{background:var(--panel);border-color:var(--accent);color:var(--accent)}.extraction-error{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.9rem;margin-top:1rem}.employees-list::-webkit-scrollbar,.wages-table-container::-webkit-scrollbar{width:6px;height: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{flex-direction:column;align-items:flex-start}.wages-reconcile-row{justify-content:stretch}.employee-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.tb-converter-container{max-width:900px;margin:0 auto;position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.tb-converter-container>*:not(.border-beam){position:relative;z-index:2}.upload-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.header-icon{background:linear-gradient(135deg,#fceded,#f9e7e7);color:var(--accent);padding:.75rem;border-radius:10px;display:flex;align-items:center;justify-content:center}.header-icon.tb-icon{background:linear-gradient(135deg,#fceded,#f9e7e7);color:var(--accent)}.upload-header h3{margin:0 0 .25rem;color:var(--text);font-size:1.25rem;font-weight:600}.upload-description{margin:0;color:var(--muted);font-size:.875rem}.upload-form{display:flex;flex-direction:column;gap:1.25rem}.dropzone{border:1.5px dashed var(--border);border-radius:10px;padding:1.5rem 1.25rem;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--panel-2)}.dropzone:hover{border-color:var(--accent);background:#fef8f8}.dropzone.active{border-color:var(--accent);background:#fdf2f2;box-shadow:0 0 0 3px #e76e6e14}.dropzone.has-files{padding:1rem}.dropzone.disabled{opacity:.6;cursor:not-allowed}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:.375rem}.upload-icon{color:var(--muted);opacity:.5}.dropzone-text{margin:0;font-size:.875rem;color:var(--text);font-weight:500}.dropzone-hint{font-size:.75rem;color:var(--muted)}.files-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.files-header{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;background:var(--panel-2);border-bottom:1px solid var(--border)}.files-header h4{margin:0;font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.files-count{font-size:.7rem;color:var(--accent);font-weight:600;background:#fceded;padding:.15rem .5rem;border-radius:10px}.file-row{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background:var(--panel);transition:background .15s ease}.file-row:not(:last-child){border-bottom:1px solid var(--border)}.file-row:hover{background:#fcfafa}.file-row-key{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--accent);color:#fff;font-weight:700;font-size:.7rem;border-radius:5px;flex-shrink:0}.file-row-icon{color:var(--accent);opacity:.6;flex-shrink:0}.file-row-info{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem}.file-row-name{font-size:.825rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-row-size{font-size:.7rem;color:var(--muted);white-space:nowrap}.file-row-sheets{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap;flex-shrink:0}.sheet-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:var(--panel-2);border:1px solid var(--border);border-radius:5px;font-size:.7rem;color:var(--muted);cursor:pointer;transition:all .15s ease;white-space:nowrap;line-height:1.3}.sheet-pill:hover:not(:disabled){border-color:#e8c9c9;color:var(--text)}.sheet-pill.selected{border-color:var(--accent);background:#fceded;color:var(--accent);font-weight:600}.sheet-pill:disabled{opacity:.5;cursor:not-allowed}.sheet-pill-check{width:12px;height:12px;border:1.5px solid var(--border);border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.sheet-pill.selected .sheet-pill-check{background:var(--accent);border-color:var(--accent)}.sheet-pill-loading{display:flex;align-items:center;gap:.375rem;font-size:.7rem;color:var(--muted);padding:.2rem 0}.sheet-pill-loading .mini-spinner{width:10px;height:10px;border:1.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.file-row-remove{background:none;border:none;border-radius:4px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);opacity:0;transition:all .15s ease;flex-shrink:0}.file-row:hover .file-row-remove{opacity:1}.file-row-remove:hover{background:#ef44441a;color:#ef4444}.add-more-row{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem;background:var(--panel-2);color:var(--muted);font-size:.75rem;cursor:pointer;transition:all .15s ease;border-top:1px solid var(--border)}.add-more-row:hover{color:var(--accent);background:#fef8f8}.form-group{display:flex;flex-direction:column;gap:.375rem}.statement-type-label{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.statement-type-label .label-icon{opacity:.7}.config-selector-group{margin-top:.25rem}.config-selector-group .statement-type-label{display:flex;align-items:center;gap:.5rem}.config-loading{display:flex;align-items:center;gap:.75rem;padding:.75rem;color:var(--muted);font-size:.85rem}.config-selector{display:flex;flex-direction:column;gap:.5rem}.config-options{display:flex;flex-direction:column;gap:.375rem}.config-option{padding:.65rem .75rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease}.config-option:hover:not(.disabled){border-color:#e8c9c9}.config-option.selected{border-color:var(--accent);background:#fdf2f2;box-shadow:0 0 0 1px #f5656526}.config-option.selected .radio-circle{border-color:var(--accent);background:var(--accent)}.config-option.disabled{opacity:.6;cursor:not-allowed}.config-option-default{background:var(--panel);border-style:dashed}.config-option-default:hover:not(.disabled){background:var(--panel-2)}.config-option-header{display:flex;align-items:center;gap:.625rem}.config-option-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.config-name{font-size:.85rem;font-weight:500;color:var(--text)}.config-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--muted)}.config-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.config-badge.ai-badge{background:linear-gradient(135deg,#f0e8fc,#e1d6f5);color:#773cdd}.config-check{color:var(--accent);flex-shrink:0}.radio-circle{width:16px;height:16px;border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.radio-dot{width:7px;height:7px;background:#fff;border-radius:50%}.config-empty-state{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:1.25rem;background:var(--panel-2);border:1px dashed var(--border);border-radius:8px;text-align:center}.config-empty-state .config-empty-icon{color:var(--muted)}.config-empty-state p{margin:0;font-size:.85rem;color:var(--text);font-weight:500}.config-empty-state span{font-size:.75rem;color:var(--muted)}.analyze-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:none;background-image:linear-gradient(90deg,var(--accent) 0%,var(--accent) 50%,transparent 50%,transparent 100%);background-size:200% 100%;background-position:100% 0;color:var(--accent);border:1px solid var(--accent);padding:.625rem 1.25rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background-position .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),transform .2s ease;position:relative;overflow:hidden;margin-top:.25rem}.analyze-button:hover:not(:disabled){background-position:0 0;color:#fff;transform:translateY(-1px);box-shadow:0 6px 20px #f565654d}.analyze-button:disabled{opacity:.5;cursor:not-allowed}.analyze-button:after{content:"";position:absolute;top:-50%;left:-30%;width:60%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.35),rgba(255,255,255,.08) 60%,transparent 70%);transform:translate(-140%) rotate(15deg);transition:transform .6s ease;pointer-events:none}.analyze-button:hover:after{transform:translate(220%) rotate(15deg)}.analyze-button svg{transition:transform .25s ease}.analyze-button:hover:not(:disabled) svg{transform:translate(3px)}.button-spinner{width:14px;height:14px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.period-review-container{max-width:900px;margin:0 auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.period-review-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.period-review-header h3{margin:0 0 .25rem;color:var(--text);font-size:1.25rem;font-weight:600}.period-review-description{margin:0;color:var(--muted);font-size:.875rem}.period-timeline{position:relative;padding-left:14px;margin-bottom:1.25rem}.timeline-line{position:absolute;left:27px;top:14px;bottom:14px;width:2px;background:var(--border)}.timeline-entry{position:relative;display:flex;align-items:flex-start;gap:1rem;padding-bottom:1.25rem}.timeline-entry:last-of-type{padding-bottom:1.25rem}.timeline-node{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;box-shadow:0 0 0 4px var(--panel)}.timeline-content{flex:1;min-width:0;padding-top:2px;display:flex;flex-direction:column;gap:.25rem}.timeline-content-primary{display:flex;align-items:center;gap:.75rem}.timeline-period-label{font-size:.925rem;font-weight:600;color:var(--text)}.timeline-account-count{font-size:.75rem;font-weight:600;color:var(--muted);white-space:nowrap;flex-shrink:0}.timeline-content-secondary{display:flex;align-items:center;gap:.3rem;font-size:.725rem;color:var(--muted);padding-left:.05rem}.timeline-content-secondary svg{color:var(--accent);opacity:.5;flex-shrink:0}.timeline-filename{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text)}.timeline-divider{color:var(--border);font-size:.65rem}.timeline-sheet{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-summary{position:relative;display:flex;align-items:center;gap:1rem}.timeline-node-summary{width:28px;height:28px;border-radius:50%;background:transparent;border:2px dashed var(--muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;box-shadow:0 0 0 4px var(--panel)}.timeline-summary-content{font-size:.8rem;color:var(--muted);font-weight:500}.period-review-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem}.period-review-actions-right{display:flex;align-items:center;gap:.625rem}.back-button{display:flex;align-items:center;gap:.375rem;padding:.55rem 1rem;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.825rem;font-weight:500;cursor:pointer;transition:all .15s}.back-button:hover{border-color:#e8c9c9;color:var(--accent)}.view-results-button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;background:var(--panel-2, #f5f5f5);color:var(--accent);border:1px solid var(--accent);padding:.55rem 1rem;border-radius:8px;font-size:.825rem;font-weight:600;cursor:pointer;transition:all .2s ease}.view-results-button:hover:not(:disabled){background:var(--accent);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #e76e6e33}.view-results-button:disabled{opacity:.5;cursor:not-allowed}.view-results-button svg{transition:transform .2s ease}.view-results-button:hover:not(:disabled) svg{transform:translate(3px)}.classification-container{max-width:900px;margin:0 auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.classification-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.classification-header h3{margin:0 0 .25rem;color:var(--text);font-size:1.25rem;font-weight:600}.classification-description{margin:0;color:var(--muted);font-size:.875rem}.classification-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.loading-spinner-large{width:40px;height:40px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.classification-loading p{margin:0 0 .375rem;font-size:.95rem;font-weight:500;color:var(--text)}.loading-hint{font-size:.8rem;color:var(--muted)}.classification-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.summary-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.summary-card.total{justify-content:center;background:linear-gradient(135deg,#fceded,#f9e7e7)}.summary-icon{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.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}.summary-label{font-size:.675rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:.125rem}.summary-value{font-size:1.375rem;font-weight:700;color:var(--text)}.summary-detail{font-size:.7rem;color:var(--muted);margin-top:.125rem}.statement-type-selection{margin-bottom:1.25rem}.statement-type-selection h4{margin:0 0 .25rem;font-size:.95rem;font-weight:600;color:var(--text)}.selection-hint{margin:0 0 .75rem;font-size:.8rem;color:var(--muted)}.statement-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.statement-option{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;background:var(--panel);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s ease;text-align:left}.statement-option:hover:not(:disabled){border-color:var(--accent);background:#fefbfb}.statement-option.selected{border-color:var(--accent);background:#fdf2f2}.statement-option.disabled{opacity:.7;cursor:not-allowed;background:var(--panel-2)}.option-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem;width:100%}.option-check{color:var(--accent)}.statement-option:not(.selected) .option-check{opacity:0}.option-lock{color:var(--muted)}.option-title{font-weight:600;font-size:.9rem;color:var(--text)}.coming-soon-badge{margin-left:auto;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:.2rem .4rem;background:var(--muted);color:#fff;border-radius:4px}.option-description{margin:0 0 .5rem;font-size:.8rem;color:var(--muted);line-height:1.4}.option-count{font-size:.75rem;font-weight:600;color:var(--accent);background:#fceded;padding:.2rem .625rem;border-radius:10px}.statement-option.disabled .option-count{background:var(--panel);color:var(--muted)}.account-preview{margin-bottom:1.25rem}.account-preview h4{margin:0 0 .625rem;font-size:.85rem;font-weight:600;color:var(--text)}.preview-table-container{border:1px solid var(--border);border-radius:8px;overflow:hidden}.preview-table{width:100%;border-collapse:collapse;font-size:.8rem}.preview-table th,.preview-table td{padding:.625rem .875rem;text-align:left;border-bottom:1px solid var(--border)}.preview-table th{background:var(--panel-2);font-weight:600;color:var(--text);font-size:.7rem;text-transform:uppercase;letter-spacing:.5px}.preview-table tr:last-child td{border-bottom:none}.preview-table tr:hover{background:var(--panel-2)}.account-name{font-weight:500;color:var(--text);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-badge{display:inline-block;padding:.2rem .4rem;border-radius:4px;font-size:.7rem;font-weight:500;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{display:inline-block;padding:.2rem .4rem;border-radius:4px;font-size:.7rem;font-weight:600}.statement-badge.pl{background:#e7f9ed;color:#248f4b}.statement-badge.bs{background:#fae5e5;color:#ad1f1f}.preview-table-container.scrollable{max-height:360px;overflow-y:auto}.preview-table-container.scrollable thead{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{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem}.classification-actions-right{display:flex;align-items:center;gap:.625rem}.classification-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:#d92626}.classification-error svg{margin-bottom:.625rem}.classification-error p{margin:0 0 .75rem}.retry-button{padding:.45rem .875rem;background:#fceded;border:1px solid var(--accent);border-radius:6px;color:var(--accent);font-weight:500;font-size:.825rem;cursor:pointer;transition:all .15s}.retry-button:hover{background:var(--accent);color:#fff}.reclassify-option{display:flex;justify-content:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.reclassify-button{padding:.4rem .875rem;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:.8rem;cursor:pointer;transition:all .15s}.reclassify-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.reclassify-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.file-row{flex-wrap:wrap;gap:.5rem}.file-row-sheets{width:100%;padding-left:calc(22px + .75rem)}.period-timeline{padding-left:8px}.timeline-content-primary{flex-wrap:wrap}.period-review-actions{flex-direction:column}.period-review-actions-right{flex-direction:column;width:100%}.classification-summary,.statement-options{grid-template-columns:1fr}.classification-actions{flex-direction:column}.classification-actions-right{flex-direction:column;width:100%}}@keyframes cellRefToggleMount{0%{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cell-ref-toggle{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem .5rem .35rem .7rem;border-radius:999px;background:linear-gradient(180deg,#ffffffb3,#fff6);border:1px solid hsla(220,15%,60%,.22);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);box-shadow:inset 0 1px #fffc,0 1px 2px #1f242e0d,0 6px 14px #1f242e0f;-webkit-user-select:none;user-select:none;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;animation:cellRefToggleMount .32s cubic-bezier(.35,1.2,.45,1) both}.cell-ref-toggle:hover{border-color:#6c799352;box-shadow:inset 0 1px #ffffffeb,0 2px 4px #1f242e12,0 10px 22px #1f242e1a}.cell-ref-toggle.is-disabled{cursor:not-allowed;opacity:.55}.cell-ref-toggle-icon{color:#4e5565;opacity:.78;flex-shrink:0}.cell-ref-toggle-label{font-size:.82rem;font-weight:600;letter-spacing:.01em;color:#31363f}.cell-ref-toggle-track{position:relative;width:44px;height:26px;flex-shrink:0;border:none;padding:0;border-radius:999px;cursor:pointer;background:linear-gradient(180deg,#dddfe4,#cccfd7);box-shadow:inset 0 1px 2px #1f242e1f,inset 0 -1px #fff6;transition:background .26s ease,box-shadow .26s ease}.cell-ref-toggle.is-on .cell-ref-toggle-track{background:linear-gradient(180deg,var(--accent, hsl(0, 72%, 67%)) 0%,hsl(0,72%,58%) 100%);box-shadow:inset 0 1px 2px #9a191940,inset 0 -1px #ffffff2e}.cell-ref-toggle-knob{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:linear-gradient(180deg,#fff,#f5f5f5);box-shadow:0 1px 2px #1f242e2e,0 2px 6px #1f242e1f,inset 0 1px #ffffffe6;transition:transform .26s cubic-bezier(.35,1.2,.45,1)}.cell-ref-toggle.is-on .cell-ref-toggle-knob{transform:translate(18px)}.cell-ref-toggle-track:active:not(:disabled) .cell-ref-toggle-knob{width:26px}.cell-ref-toggle-track:focus-visible{outline:2px solid var(--accent, hsl(0, 72%, 67%));outline-offset:2px}.cell-ref-toggle-track:disabled{cursor:not-allowed}.cell-ref-toggle-row{display:flex;width:100%;margin-top:.5rem}.rt-wrap{padding:16px;display:flex;flex-direction:column;gap:16px}.rt-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px 16px;font-size:12.5px;color:var(--muted)}.rt-state-error{color:var(--danger)}.rt-spin{animation:rt-spin .9s linear infinite}@keyframes rt-spin{to{transform:rotate(360deg)}}.rt-note{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-radius:8px;font-size:12px;line-height:1.4;background:#f59e0b1a;color:#b45309;border:1px solid rgba(245,158,11,.3)}.rt-note svg{flex-shrink:0;margin-top:1px}.rt-ledger{display:flex;flex-direction:column;width:fit-content;max-width:100%;margin:0 auto}.rt-ledger-row{display:flex;align-items:baseline;justify-content:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--border)}.rt-ledger-row:last-child{border-bottom:0}.rt-ledger-label{font-size:12.5px;color:var(--muted);display:inline-flex;align-items:center}.rt-help{position:relative;display:inline-flex;align-items:center;margin-left:5px;color:var(--muted);opacity:.55;cursor:help}.rt-help svg{display:block}.rt-help:hover,.rt-help:focus-visible{opacity:1;color:var(--accent);outline:none}.rt-help:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:-4px;z-index:50;width:240px;padding:8px 10px;background:var(--text);color:var(--panel);font-size:11.5px;font-weight:400;line-height:1.45;text-transform:none;letter-spacing:normal;border-radius:8px;box-shadow:0 6px 24px #0000002e;white-space:normal;opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .14s ease,transform .14s ease;pointer-events:none}.rt-help:before{content:"";position:absolute;top:calc(100% + 2px);left:4px;z-index:51;border:6px solid transparent;border-bottom-color:var(--text);opacity:0;visibility:hidden;transition:opacity .14s ease;pointer-events:none}.rt-help:hover:after,.rt-help:focus-visible:after,.rt-help:hover:before,.rt-help:focus-visible:before{opacity:1;visibility:visible;transform:translateY(0)}.rt-ledger-value{font-size:15px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}.rt-chart-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 12px 8px}.rt-chart-title{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text)}.rt-chart-title svg{color:var(--accent)}.rt-table-wrap{max-height:380px;overflow:auto;border:1px solid var(--border);border-radius:8px}.rt-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;color:var(--text)}.rt-table thead th{position:sticky;top:0;background:var(--panel-2);padding:7px 10px;text-align:right;font-weight:600;font-size:11px;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.rt-table th.rt-col-account{text-align:left}.rt-table td{padding:6px 10px;border-top:1px solid var(--border)}.rt-table tbody tr:first-child td{border-top:0}.rt-num{text-align:right;font-feature-settings:"tnum" 1;white-space:nowrap}.rt-account{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rt-footnotes{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.it-wrap{display:flex;flex-direction:column;gap:14px;padding:14px 16px 18px;--coral: var(--accent, #d9776a)}.it-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:30px 16px;font-size:13px;color:var(--muted, #6b7280);flex-wrap:wrap}.it-state-error{color:var(--danger, #dc2626)}.it-spin{animation:it-spin .9s linear infinite}@keyframes it-spin{to{transform:rotate(360deg)}}.it-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:34px 24px;color:var(--text, #111827)}.it-empty h4{margin:4px 0 0;font-size:15px}.it-empty p{margin:0;max-width:440px;font-size:13px;line-height:1.55;color:var(--muted, #6b7280)}.it-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:7px;border:1px solid var(--border, #e5e7eb);background:var(--panel, #fff);color:var(--text, #111827);font-size:13px;cursor:pointer}.it-btn:hover{background:var(--hover, #f3f4f6)}.it-btn-primary{margin-top:6px;border-color:transparent;background:var(--accent, #4f46e5);color:#fff}.it-btn-primary:hover{filter:brightness(1.06)}.it-btn-ghost{border:none;background:transparent;color:var(--muted, #6b7280);padding:4px 8px}.it-verdict{border:1px solid var(--border, #e5e7eb);border-left:3px solid var(--coral);background:#d9776a1a;background:color-mix(in srgb,var(--coral) 10%,transparent);border-radius:8px;padding:12px 14px}.it-verdict-call{display:flex;align-items:center;gap:7px;font-weight:600;font-size:13px;color:var(--coral)}.it-verdict-headline{margin-top:6px;font-size:14px;font-weight:600;color:var(--text, #111827)}.it-verdict-rationale{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--text, #374151)}.it-section{display:flex;flex-direction:column;gap:8px}.it-section-title{display:flex;align-items:center;gap:6px;margin:4px 0 2px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted, #6b7280)}.it-finding{border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--panel, #fff);overflow:hidden}.it-finding-head{display:flex;width:100%;align-items:flex-start;gap:10px;padding:11px 12px;background:none;border:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.it-finding.is-open .it-finding-head{border-bottom:1px solid var(--border, #eceff3)}.it-finding-rank{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px;border-radius:5px;background:var(--coral);color:#fff;font-size:11px;font-weight:700;line-height:1}.it-finding-headings{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.it-finding-title{font-weight:700;font-size:15px;letter-spacing:-.01em;line-height:1.3;color:var(--text, #111827)}.it-finding-takeaway{font-size:13px;line-height:1.4;color:var(--muted, #6b7280)}.it-q-pill{flex:0 0 auto;align-self:center;font-size:11px;white-space:nowrap;color:var(--coral);background:#d9776a1f;background:color-mix(in srgb,var(--coral) 12%,transparent);padding:2px 8px;border-radius:999px}.it-chevron{flex:0 0 auto;align-self:center;color:var(--muted, #9ca3af);transition:transform .18s ease}.it-finding.is-open .it-chevron{transform:rotate(180deg)}.it-finding-body{display:flex;flex-direction:column;gap:10px;padding:11px 12px 12px}.it-takeaway-lead{margin:0;font-size:13.5px;font-weight:500;line-height:1.45;color:var(--text, #111827)}.it-guess{border:1px solid rgba(217,119,106,.22);border:1px solid color-mix(in srgb,var(--coral) 22%,transparent);background:#d9776a0f;background:color-mix(in srgb,var(--coral) 6%,transparent);border-radius:7px;padding:8px 10px}.it-guess-tag{display:block;margin-bottom:3px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--coral)}.it-guess p,.it-line{margin:0;font-size:13px;line-height:1.5;color:var(--text, #374151)}.it-line-tag{display:inline-block;margin-right:6px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--coral)}.it-evidence{margin:0;font-size:12px;line-height:1.45;color:var(--muted, #6b7280)}.it-finding-qs{margin:2px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:5px}.it-finding-qs li{display:flex;gap:6px;align-items:baseline;font-size:12.5px;color:var(--coral)}.it-q-text{flex:1 1 auto;min-width:0}.it-copy{flex:0 0 auto;border:none;background:none;padding:0 2px;color:var(--coral);opacity:.55;cursor:pointer}.it-copy:hover{opacity:1}.it-foot{display:flex;align-items:center;justify-content:space-between;margin-top:2px;padding-top:8px;border-top:1px solid var(--border, #eee)}.it-disclaimer{font-size:11px;font-style:italic;color:var(--muted, #9ca3af)}.eb-wrap{display:flex;flex-direction:column;gap:12px;padding:12px 14px 16px}.eb-wrap,.eb-empty,.eb-state{--coral: var(--accent, #d9776a);--eb-green: var(--success, #16a34a);--eb-red: var(--danger, #dc2626)}.eb-pos{color:var(--eb-green)}.eb-neg{color:var(--eb-red)}.eb-zero{color:var(--muted, #9ca3af)}.eb-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:30px 16px;font-size:13px;color:var(--muted, #6b7280);flex-wrap:wrap}.eb-state-error{color:var(--eb-red)}.eb-spin{animation:eb-spin .9s linear infinite}@keyframes eb-spin{to{transform:rotate(360deg)}}.eb-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:30px 24px;color:var(--text, #111827)}.eb-empty p{margin:0;max-width:460px;font-size:13px;line-height:1.55;color:var(--muted, #6b7280)}.eb-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;border:1px solid var(--border, #e5e7eb);border-radius:7px;background:var(--surface, #fff);color:var(--text, #111827);cursor:pointer;transition:background .15s,border-color .15s,filter .15s}.eb-btn:hover{border-color:var(--coral)}.eb-btn-primary{background:var(--coral);border-color:var(--coral);color:#fff}.eb-btn-primary:hover{filter:brightness(.96)}.eb-btn-ghost{border-color:transparent;color:var(--muted, #6b7280);padding:5px 8px}.eb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.eb-head-text{display:flex;flex-direction:column;gap:1px}.eb-title{font-size:14px;font-weight:700;color:var(--text, #111827)}.eb-sub{font-size:11.5px;color:var(--muted, #6b7280);max-width:560px;line-height:1.4}.eb-note{font-size:12px;color:var(--muted, #6b7280);line-height:1.45}.eb-note-warn{display:flex;align-items:center;gap:6px;color:var(--eb-red)}.eb-table-wrap{overflow-x:auto;border:1px solid var(--border, #e5e7eb);border-radius:11px}.eb-table{border-collapse:collapse;width:100%;font-size:12.5px}.eb-table th,.eb-table td{padding:8px 12px;white-space:nowrap;border-bottom:1px solid var(--border, #f0f0f2)}.eb-table thead th{font-weight:600;color:var(--muted, #6b7280);background:var(--surface-2, #fafafa);position:sticky;top:0}.eb-col-num{text-align:right;font-variant-numeric:tabular-nums}.eb-col-label{position:sticky;left:0;z-index:1;text-align:left;min-width:210px;max-width:260px;background:var(--surface, #fff);border-right:1px solid var(--border, #ececef)}.eb-table thead .eb-col-label{z-index:2;background:var(--surface-2, #fafafa);font-weight:600;color:var(--text, #111827)}.eb-namecell{display:flex;align-items:center;gap:10px}.eb-switch{flex:none;position:relative;width:32px;height:18px;padding:0;border:none;border-radius:999px;background:var(--switch-track, #d4d7dd);cursor:pointer;transition:background .16s ease}.eb-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .16s ease}.eb-switch.is-on{background:var(--coral)}.eb-switch.is-on .eb-knob{transform:translate(14px)}.eb-switch:disabled{opacity:.45;cursor:not-allowed}.eb-switch:focus-visible{outline:2px solid color-mix(in srgb,var(--coral) 50%,transparent);outline-offset:2px}.eb-name-btn{flex:1 1 auto;min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:6px;background:none;border:none;padding:0;cursor:pointer;text-align:left}.eb-ab-name{font-size:12.5px;font-weight:600;color:var(--text, #111827);white-space:normal;line-height:1.35}.eb-chev{flex:none;margin-top:2px;color:var(--muted, #9ca3af);transition:transform .15s}.eb-chev.is-open{transform:rotate(180deg)}.eb-ab-tr.is-off .eb-col-num{opacity:.45}.eb-ab-tr.is-off .eb-ab-name{color:var(--muted, #6b7280)}td.eb-detail-td{padding:0;border-bottom:none}.eb-detail-grid{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease}.eb-detail-grid.is-open{grid-template-rows:1fr}.eb-detail-inner{overflow:hidden;min-height:0}.eb-detail-body{display:flex;flex-direction:column;gap:9px;margin:4px 14px 12px 42px;padding:11px 14px;background:var(--surface, #fff);border:1px solid var(--border, #ececef);border-left:2.5px solid var(--coral);border-radius:8px;white-space:normal;opacity:0;transform:translateY(-3px);transition:opacity .2s ease .04s,transform .2s ease .04s}.eb-detail-grid.is-open .eb-detail-body{opacity:1;transform:none}.eb-ab-why{margin:0;font-size:12px;line-height:1.55;color:var(--text, #374151);max-width:760px}.eb-ab-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.eb-tag{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,#b45309 14%,transparent);color:#b45309;letter-spacing:.01em}.eb-table tfoot th,.eb-table tfoot td{border-bottom:none}.eb-row-reported th,.eb-row-reported td{border-top:2px solid var(--border, #e5e7eb);padding-top:10px;font-weight:600;color:var(--text, #111827)}.eb-row-diff th,.eb-row-diff td{font-weight:600;font-size:11.5px}.eb-row-diff .eb-col-label{color:var(--muted, #6b7280)}.eb-row-adjusted th,.eb-row-adjusted td{font-weight:800;color:var(--text, #0b0b0c);padding-bottom:11px}.eb-row-adjusted .eb-col-label,.eb-row-adjusted .eb-col-num{background:color-mix(in srgb,var(--coral) 6%,transparent)}.eb-table tfoot .eb-col-label{background:var(--surface, #fff)}.eb-row-adjusted .eb-col-label{background:color-mix(in srgb,var(--coral) 6%,var(--surface, #fff))}.eb-flags{margin-top:2px;border:1px solid var(--border, #e5e7eb);border-radius:11px;overflow:hidden}.eb-flags-head{display:flex;align-items:center;gap:8px;padding:9px 14px;background:color-mix(in srgb,var(--coral) 9%,var(--surface, #fff));border-bottom:1px solid var(--border, #ececef)}.eb-flags-icon{flex:none;color:var(--coral)}.eb-flags-title{font-size:12.5px;font-weight:700;letter-spacing:.01em;color:var(--text, #111827)}.eb-flags-sub{font-size:12px;font-weight:500;color:color-mix(in srgb,var(--text, #111827) 58%,transparent)}.eb-flags-list{list-style:none;margin:0;padding:2px 14px 4px;display:flex;flex-direction:column;background:var(--surface, #fff)}.eb-flag{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:7px 0;border-bottom:1px solid var(--border, #f3f4f6);font-size:12px}.eb-flag:last-child{border-bottom:none}.eb-flag-name{flex:none;font-weight:600;color:var(--text, #374151)}.eb-flag-why{color:var(--muted, #6b7280);line-height:1.45}.eb-foot{padding-top:2px}.eb-disclaimer{font-size:11.5px;color:var(--muted, #9ca3af);font-style:italic}.ebt-trend{display:flex;flex-wrap:wrap;align-items:flex-start;gap:30px;margin-top:8px;padding-top:13px;border-top:1px solid var(--border, #f0f0f2)}.ebt-grid{flex:0 0 auto;width:230px}.ebt-chart{flex:0 1 auto;min-width:0;--ebt-plot-h: 185px}.ebt-plot-row{display:flex;align-items:flex-start}.ebt-avg-gutter{position:relative;flex:0 0 auto;width:100px;height:var(--ebt-plot-h, 185px)}.ebt-grid-head,.ebt-chart-head{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted, #9ca3af);margin-bottom:10px}.ebt-grid-list{display:flex;flex-direction:column;max-height:288px;overflow-y:auto}.ebt-grid-row{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:9px;min-height:24px;box-sizing:border-box;padding:4px 2px;font-size:11.5px;border-bottom:1px solid var(--border, #f3f4f6)}.ebt-grid-row:last-child{border-bottom:none}.ebt-grid-row.hl{background:color-mix(in srgb,var(--coral) 8%,transparent)}.ebt-grid-idx{font-size:10px;text-align:right;color:var(--muted, #b6bdc7);font-variant-numeric:tabular-nums}.ebt-grid-row.flag .ebt-grid-idx{color:var(--coral);font-weight:800}.ebt-grid-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text, #374151)}.ebt-grid-row.flag .ebt-grid-name{font-weight:600}.ebt-grid-val{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text, #111827)}.ebt-grid-val.neg{color:var(--eb-red)}.ebt-grid-val.muted{color:var(--muted, #c2c8d0);font-weight:500}.ebt-bar-chart{position:relative;width:max-content;max-width:514px;overflow-x:auto}.ebt-plot{width:max-content}.ebt-bars-area{position:relative;height:var(--ebt-plot-h, 185px);width:100%}.ebt-bar-chart:not(.has-neg) .ebt-bars-area:after{content:"";position:absolute;left:0;right:0;bottom:0;border-top:1px solid color-mix(in srgb,var(--text, #111827) 14%,transparent)}.ebt-bars,.ebt-bar-labels{display:flex;justify-content:flex-start;gap:14px}.ebt-bars{align-items:flex-end;height:100%}.ebt-bar-chart.has-neg .ebt-bars{align-items:stretch}.ebt-bar-wrap{flex:0 0 30px;width:30px;height:100%;display:flex;align-items:flex-end}.ebt-bar-chart.has-neg .ebt-bar-wrap.pos-wrap{height:50%;align-self:flex-start;align-items:flex-end}.ebt-bar-chart.has-neg .ebt-bar-wrap.neg-wrap{height:50%;align-self:flex-end;align-items:flex-start}.ebt-bar{width:100%;min-height:2px;border-radius:2px 2px 0 0;background:var(--ebt-bar, #cbd5e1);transition:filter .12s ease}.ebt-bar-chart.has-neg .ebt-bar-wrap.neg-wrap .ebt-bar{border-radius:0 0 2px 2px}.ebt-bar.flag{background:var(--coral)}.ebt-bar.zero{background:color-mix(in srgb,var(--muted, #94a3b8) 20%,transparent)}.ebt-bar-wrap:hover .ebt-bar,.ebt-bar-wrap.hl .ebt-bar{filter:brightness(.9)}.ebt-bar-wrap:hover .ebt-bar.flag,.ebt-bar-wrap.hl .ebt-bar.flag{filter:brightness(1.07)}.ebt-zero-line{position:absolute;left:0;right:0;top:50%;border-top:1px solid color-mix(in srgb,var(--text, #111827) 15%,transparent);z-index:1}.ebt-mean-line{position:absolute;left:0;right:0;border-top:1px dashed color-mix(in srgb,var(--text, #111827) 26%,transparent);z-index:2;pointer-events:none}.ebt-mean-label{position:absolute;left:6px;transform:translateY(50%);padding:1px 6px;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted, #6b7280);background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:4px;white-space:nowrap}.ebt-bar-labels{margin-top:7px;padding-top:7px;border-top:1px solid var(--border, #f0f0f2)}.ebt-bar-label{flex:0 0 30px;width:30px;text-align:center;font-size:10px;color:var(--muted, #b6bdc7);font-variant-numeric:tabular-nums}.ebt-bar-label.hl{color:var(--coral);font-weight:800}.ebt-tip{position:absolute;top:2px;transform:translate(-50%);z-index:20;pointer-events:none;background:var(--text, #111827);color:#fff;border-radius:7px;padding:5px 9px;min-width:82px;text-align:center;line-height:1.3;box-shadow:0 6px 16px #00000038}.ebt-tip-name{font-size:9.5px;font-weight:700;letter-spacing:.02em}.ebt-tip-val{font-size:11px;font-variant-numeric:tabular-nums}.ebt-tip-cmp{font-size:9px;margin-top:1px;color:color-mix(in srgb,#fff 66%,transparent)}@media(max-width:640px){.ebt-grid{width:100%}}.tieout-wrap{display:flex;flex-direction:column}.tieout-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--panel-2);flex-wrap:wrap}.tieout-counts{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.tieout-count{font-size:10.5px;font-weight:700;letter-spacing:.03em;padding:3px 8px;border-radius:999px}.tieout-count-tie{background:#10b98124;color:#059669}.tieout-count-flag{background:#ef444424;color:#dc2626}.tieout-count-warn{background:#f59e0b24;color:#b45309}.tieout-count-muted{background:var(--panel);color:var(--muted);border:1px solid var(--border)}.tieout-filters{display:inline-flex;gap:2px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:2px}.tieout-filter{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--muted);font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;cursor:pointer;transition:color .12s ease,background .12s ease}.tieout-filter:hover{color:var(--text)}.tieout-filter.is-active{color:var(--accent);background:rgba(var(--accent-rgb),.12)}.tieout-note{margin:10px 12px 0;padding:8px 12px;border-radius:8px;font-size:11.5px;line-height:1.4;background:#f59e0b1f;color:#b45309;border:1px solid rgba(245,158,11,.3)}.tieout-note-muted{background:var(--panel);color:var(--muted);border:1px solid var(--border)}.tieout-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 7px;border-radius:999px;white-space:nowrap}.tieout-badge-tie{background:#10b98124;color:#059669}.tieout-badge-flag{background:#ef444424;color:#dc2626}.tieout-badge-warn{background:#f59e0b24;color:#b45309}.tieout-badge-muted{background:var(--panel);color:var(--muted);border:1px solid var(--border)}.tieout-table th{white-space:nowrap}.tieout-cell{font-family:Menlo,Monaco,monospace;font-size:11px;color:var(--text);white-space:nowrap}.tieout-fx{margin-left:5px;font-size:9px;font-weight:700;font-style:italic;color:var(--accent);cursor:help}.tieout-cat{display:inline-block;max-width:100%;padding:2px 8px;border-radius:6px;color:#fff;font-size:10.5px;font-weight:600;border:1px solid transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tieout-expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;display:inline-flex;align-items:center;gap:6px;padding:0;cursor:pointer;color:var(--text);min-width:0;max-width:100%;text-align:left}.tieout-chevron{flex-shrink:0;color:var(--muted);transform:rotate(-90deg);transition:transform .15s ease}.tieout-row.is-open .tieout-chevron{transform:rotate(0)}.tieout-detail-row td{background:var(--panel-2);padding:10px 14px 12px 32px;border-bottom:1px solid var(--border)}.tieout-detail{display:flex;flex-direction:column;gap:8px}.tieout-line{margin:0;font-size:11.5px;line-height:1.45;color:var(--text)}.tieout-line-tag{display:inline-block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-right:7px}.tieout-conf{margin-left:8px;font-size:10px;font-weight:600;color:var(--muted)}.tieout-correction,.tieout-warn-line{color:#b45309}.tieout-formula{font-family:Menlo,Monaco,monospace;font-size:10.5px;background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.tieout-period-table{width:100%;border-collapse:separate;border-spacing:0;font-size:11px;margin-top:2px}.tieout-period-table th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--muted);padding:4px 8px;border-bottom:1px solid var(--border)}.tieout-period-table th.fmc-num,.tieout-period-table td.fmc-num{text-align:right;font-variant-numeric:tabular-nums;font-family:Menlo,Monaco,monospace}.tieout-period-table td{padding:4px 8px;border-bottom:1px solid var(--border);color:var(--text)}.tieout-footnotes{padding:8px 14px;display:flex;flex-direction:column;gap:4px}.tieout-footnote{font-size:10.5px;color:var(--muted);line-height:1.4}.tieout-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:12px;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer}.tieout-btn:hover{border-color:var(--accent)}.fmc-status-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;cursor:pointer;font-family:inherit}.fmc-status-btn:hover{filter:brightness(.97)}.agent-root{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg);color:var(--text);--agent-content-width: 1164px}.agent-header{display:block;padding:0 0 0 max(20px,calc((100% - var(--agent-content-width)) * .2));border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0}.agent-header-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--agent-content-width);padding:12px 0;box-sizing:border-box}.agent-header-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text)}.agent-header-title svg{color:var(--accent)}.agent-beta-pill{font-size:10px;font-weight:600;padding:2px 6px;border-radius:6px;background:var(--accent-light);color:var(--accent-hover);text-transform:uppercase;letter-spacing:.04em}.agent-header-actions{display:flex;align-items:center;gap:12px}.agent-file-chips{display:flex;gap:6px;flex-wrap:wrap;max-width:480px}.agent-file-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;font-size:11px;border-radius:999px;background:var(--panel-2);color:var(--text);border:1px solid var(--border);max-width:200px}.agent-file-chip svg{color:var(--accent)}.agent-file-chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-file-chip-divider{color:var(--muted)}.agent-newchat-btn{font-size:12px;padding:4px 10px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;transition:all .15s}.agent-newchat-btn:hover:not(:disabled){background:var(--panel-2);border-color:var(--border-hover)}.agent-newchat-btn:disabled{opacity:.4;cursor:not-allowed}.agent-empty{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:72px 20px 40px}.agent-empty-dropzone{max-width:540px;width:100%;padding:56px 40px;border:2px dashed var(--border-hover);border-radius:var(--radius);text-align:center;background:var(--panel);cursor:pointer;transition:all .2s;box-shadow:var(--shadow)}.agent-empty-dropzone:hover,.agent-empty-dropzone.drag-active{border-color:var(--accent);background:var(--accent-light);transform:translateY(-1px)}.agent-empty-icon{display:inline-flex;width:56px;height:56px;border-radius:14px;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent) 0%,hsl(0,72%,62%) 100%);color:#fff;margin-bottom:16px;box-shadow:0 6px 20px rgba(var(--accent-rgb),.25)}.agent-empty-title{font-size:20px;font-weight:600;margin:0 0 8px;color:var(--text)}.agent-empty-sub{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.agent-loading{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:72px 20px 40px}.agent-loading-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}.agent-loading-orb{position:relative;width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center}.agent-loading-mark{position:relative;z-index:1;width:56px;height:56px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent) 0%,hsl(0,72%,62%) 100%);color:#fff;box-shadow:0 6px 20px rgba(var(--accent-rgb),.28);animation:agent-loading-breathe 2.6s ease-in-out infinite}.agent-loading-halo{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;background:rgba(var(--accent-rgb),.2);z-index:0;animation:agent-loading-halo 2.6s ease-out infinite}.agent-loading-halo-2{animation-delay:1.3s}.agent-loading-status{min-height:20px;display:flex;align-items:center;justify-content:center}.agent-loading-caption{font-size:14px;font-weight:600;color:var(--text);letter-spacing:.01em}.agent-loading-file{display:inline-flex;align-items:center;gap:6px;max-width:280px;padding:5px 11px;border-radius:999px;background:var(--panel-2, var(--panel));border:1px solid var(--border);color:var(--muted);font-size:12px}.agent-loading-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes agent-loading-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes agent-loading-halo{0%{transform:scale(.9);opacity:.55}70%{opacity:0}to{transform:scale(1.55);opacity:0}}@media(prefers-reduced-motion:reduce){.agent-loading-mark{animation:none}.agent-loading-halo{animation:none;opacity:0}}.agent-run{flex:1;display:flex;flex-direction:column;min-height:0}.agent-run-stream{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px 0 32px max(20px,calc((100% - var(--agent-content-width)) * .2));display:flex;flex-direction:column;align-items:flex-start;gap:10px}.agent-run-stream>.fmc-card{align-self:flex-start;width:100%;max-width:var(--agent-content-width)}.agent-run-stream::-webkit-scrollbar{width:8px}.agent-run-stream::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}.agent-run-pending{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;padding:8px 4px}.agent-thought{margin:0;font-size:13px;align-self:flex-start;width:100%;max-width:880px}.agent-thought-header{display:inline-flex;align-items:center;gap:9px;max-width:100%;padding:6px 8px 6px 10px;border-radius:8px;box-sizing:border-box;background:none;border:none;cursor:pointer;color:inherit;text-align:left;font-size:inherit;font-family:inherit;letter-spacing:.01em;line-height:1.4;transition:background .15s}.agent-thought-header:hover{background:var(--accent-light)}.agent-thought-chevron{color:var(--muted);flex-shrink:0;opacity:.6}.agent-thought-body{overflow:hidden}.agent-thought-prose{padding:4px 8px 10px 31px;max-width:880px;font-size:12.5px;line-height:1.65;color:var(--muted);white-space:pre-wrap}.agent-thought-prose .thought-seg{animation:agent-thought-seg-in .26s cubic-bezier(.22,1,.36,1) both}@keyframes agent-thought-seg-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.agent-thought-prose .thought-seg{animation:none}}.agent-done-pill{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:6px 12px;border-radius:999px;background:var(--accent-light);color:var(--accent-hover);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-top:8px}.tool-block{margin:4px 0 4px 38px;font-size:12.5px;width:100%;max-width:560px}.tool-block-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:4px;transition:color .15s}.tool-block-toggle:hover{color:var(--text)}.tool-block-body{overflow:hidden}.tool-block-list{margin-top:6px;padding-left:12px;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:6px}.tool-call-row{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.tool-call-row.running{border-color:var(--accent-2)}.tool-call-row.error{border-color:var(--danger)}.tool-call-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;cursor:pointer;font-size:12.5px;color:inherit;text-align:left;transition:background .15s}.tool-call-header:not(:disabled):hover{background:var(--panel-2)}.tool-call-header:disabled{cursor:default}.tool-call-label{font-weight:500;color:var(--text)}.tool-call-summary{color:var(--muted);font-weight:400;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-call-spacer{flex:1}.tool-call-detail{padding:0 12px 10px;overflow:hidden}.tool-detail-error{background:var(--accent-light);color:var(--danger);padding:8px 10px;border-radius:6px;font-size:12px;white-space:pre-wrap}.tool-detail-raw{background:var(--panel-2);color:var(--text);padding:8px 10px;border-radius:6px;font-size:11px;max-height:360px;overflow:auto;font-family:Menlo,Monaco,monospace}.result-card{padding:10px 0 4px;font-size:12.5px}.result-card.compact{padding:6px 0}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 16px;margin-bottom:10px}.field-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:2px}.field-value{font-weight:500;font-size:12.5px;color:var(--text)}.result-subhead{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:10px 0 6px}.result-row{display:flex;align-items:center;gap:8px;padding:4px 0}.result-row.spread{justify-content:space-between}.chips-row{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);font-size:11.5px}.chip-strong{font-weight:600;color:var(--text)}.chip-muted{color:var(--muted)}.conf-pill,.status-pill{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.04em}.result-table{width:100%;border-collapse:collapse;font-size:12px;color:var(--text)}.result-table th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:500;text-align:left;padding:4px 8px;border-bottom:1px solid var(--border)}.result-table td{padding:4px 8px;border-bottom:1px solid var(--border)}.result-table.scroll{display:block;max-height:260px;overflow-y:auto}.result-table tr.low-conf{background:var(--accent-light)}.result-table .strong{font-weight:600}.result-table .muted-small{color:var(--muted);font-size:11px}.result-table .mono{font-family:Menlo,Monaco,monospace}.evidence-list{margin:0;padding-left:16px;font-size:11.5px;color:var(--muted)}.muted{color:var(--muted)}.muted-small{color:var(--muted);font-size:11px}.strong{font-weight:600;color:var(--text)}.result-pre{background:var(--panel-3);color:var(--text);padding:8px 10px;border-radius:6px;font-size:11px;max-height:200px;overflow:auto;margin:0;font-family:Menlo,Monaco,monospace}.result-pre.err{color:var(--danger)}.agent-error-banner{display:flex;align-items:center;gap:8px;margin:0 20px 12px;padding:8px 12px;background:var(--accent-light);color:var(--danger);border-radius:8px;font-size:12.5px;border:1px solid var(--border)}.agent-error-dismiss{margin-left:auto;background:none;border:none;color:var(--danger);cursor:pointer;font-size:11px;text-decoration:underline;padding:0}.spin{animation:spin 1s linear infinite}.spin-slow{animation:spin 2.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.agent-thinking{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;padding:8px 4px 8px 12px;font-size:12.5px;letter-spacing:.01em}.agent-thinking-orb{position:relative;display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;flex-shrink:0}.agent-thinking-orb-core{width:7px;height:7px;border-radius:50%;background:var(--accent)}.agent-thinking-orb-ripple{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid rgba(var(--accent-rgb),.5);opacity:0}.is-breathing .agent-thinking-orb-core{animation:agent-thinking-breathe 1.8s ease-in-out infinite}.is-breathing .agent-thinking-orb-ripple{animation:agent-thinking-ripple 1.8s ease-out infinite}@keyframes agent-thinking-breathe{0%,to{transform:scale(.82);opacity:.8}50%{transform:scale(1);opacity:1}}@keyframes agent-thinking-ripple{0%{transform:scale(.5);opacity:.7}80%{opacity:0}to{transform:scale(1.7);opacity:0}}.agent-thinking-name{font-weight:600;color:var(--text);flex-shrink:0}.agent-thinking-text{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}.is-breathing .agent-thinking-text{background:linear-gradient(90deg,var(--muted) 0%,var(--muted) 38%,var(--text) 50%,var(--muted) 62%,var(--muted) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:agent-thinking-shimmer 2.4s ease-in-out infinite}@keyframes agent-thinking-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.agent-thinking-elapsed{color:var(--muted);opacity:.5;font-size:11px;font-variant-numeric:tabular-nums;flex-shrink:0}@media(prefers-reduced-motion:reduce){.is-breathing .agent-thinking-orb-core,.is-breathing .agent-thinking-orb-ripple{animation:none}.is-breathing .agent-thinking-orb-ripple{opacity:0}.is-breathing .agent-thinking-text{animation:none;-webkit-text-fill-color:var(--muted);color:var(--muted)}}.agent-empty-status{margin-top:16px;color:var(--accent);font-weight:500}.agent-page{display:flex;flex-direction:column;height:100%;min-height:0}.classify-table .classify-account{font-weight:500;color:var(--text);display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classify-table .classify-reasoning{margin-top:2px;font-size:10.5px;color:var(--muted);font-style:italic;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-badge{display:inline-block;padding:3px 10px;border-radius:999px;border:1px solid transparent;font-size:11px;font-weight:600;color:#fff;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 2px #00000014}.vp-card .vp-status-counts{display:flex;align-items:center;gap:12px;font-size:11.5px}.vp-pass-count{display:inline-flex;align-items:center;gap:3px;color:#059669;font-weight:500}.vp-fail-count{display:inline-flex;align-items:center;gap:3px;color:#dc2626;font-weight:500}.vp-layout{display:flex;gap:14px;align-items:flex-start}.vp-period-rail{display:flex;flex-direction:column;gap:4px;flex-shrink:0;min-width:120px;max-height:332px;overflow-y:auto;padding-right:4px}.vp-period-rail::-webkit-scrollbar{width:8px}.vp-period-rail::-webkit-scrollbar-track{background:transparent}.vp-period-rail::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.28);border-radius:4px}.vp-period-rail::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.48)}.vp-period-tab{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 10px;font-size:11.5px;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;text-align:left;transition:all .12s}.vp-period-tab:hover{background:var(--panel-2)}.vp-period-tab.active{border-color:var(--accent);background:var(--accent-light);font-weight:600}.vp-period-tab.pass svg{color:#10b981}.vp-period-tab.fail svg{color:#ef4444}.vp-period{flex:1;min-width:0}.vp-breakdown-table{width:100%;border-collapse:collapse;font-size:12px;color:var(--text)}.vp-breakdown-table th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:500;text-align:left;padding:6px 8px;border-bottom:1px solid var(--border)}.vp-breakdown-table th.vp-num,.vp-breakdown-table td.vp-num{text-align:right;font-variant-numeric:tabular-nums;font-family:Menlo,Monaco,monospace;font-size:11.5px}.vp-breakdown-table td{padding:5px 8px;border-bottom:1px solid var(--border)}.vp-row.positive .vp-num{color:#059669}.vp-row.negative .vp-num{color:#dc2626}.vp-sign{font-weight:700;color:var(--muted);width:14px;text-align:center}.vp-count{color:var(--muted);margin-left:4px;font-size:10.5px}.vp-total-row td{background:var(--panel-2);font-weight:600;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding-top:7px;padding-bottom:7px}.vp-benchmark-row td{color:var(--muted);padding-top:6px;padding-bottom:6px}.vp-disc-row td{font-weight:600;padding-top:8px;padding-bottom:8px}.vp-disc-row.pass td{color:#059669}.vp-disc-row.fail td{color:#dc2626}.vp-badge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:4px;font-size:9.5px;font-weight:700;letter-spacing:.05em;color:#fff}.vp-badge.pass{background:#10b981}.vp-badge.fail{background:#ef4444}.vp-unassigned{margin-top:8px;padding:6px 10px;font-size:11px;border-radius:6px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#92400e}.fmc-card{margin:12px 0 16px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;flex-shrink:0}.fmc-empty{flex-direction:row;align-items:center;gap:8px;padding:12px 16px;font-size:12.5px;color:var(--muted);background:#f59e0b14;border-color:#f59e0b4d;box-shadow:none}.fmc-empty svg{color:#d97706;flex-shrink:0}.fmc-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--panel-2);flex-wrap:wrap}.fmc-header-left{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--text);min-width:0}.fmc-header-right{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.fmc-header-left svg{color:var(--accent);flex-shrink:0}.fmc-filename{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.fmc-status{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px}.fmc-status-good{background:#10b9811f;color:#059669}.fmc-status-warn{background:#f59e0b1f;color:#b45309}.result-notice{padding:8px 12px;margin-bottom:8px;border-radius:6px;font-size:13px;line-height:1.4}.result-notice.warn{background:#f59e0b1f;color:#b45309;border:1px solid rgba(245,158,11,.32)}.fmc-status-bad{background:#ef44441f;color:#dc2626}.fmc-status-muted{background:var(--panel);color:var(--muted);border:1px solid var(--border)}.fmc-tabs{display:flex;gap:4px;padding:8px 12px 0;border-bottom:1px solid var(--border);background:var(--panel-2)}.fmc-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:600;padding:7px 12px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.fmc-tab:hover{color:var(--text)}.fmc-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.fmc-table-wrap{max-height:min(720px,65vh);overflow:auto;flex-shrink:0;border-bottom:1px solid var(--border)}.fmc-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;color:var(--text)}.fmc-table thead th{position:sticky;top:0;z-index:2;background:var(--panel-2);font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--muted);text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.fmc-table th.fmc-col-period,.fmc-table td.fmc-num{text-align:right;font-variant-numeric:tabular-nums;font-family:Menlo,Monaco,monospace;font-size:11.5px}.fmc-table td{padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.fmc-col-account{min-width:220px}.fmc-col-category{min-width:160px}.fmc-col-period{min-width:110px}.fmc-group-row td{background:var(--panel-2);font-weight:600;font-size:11.5px;border-top:1px solid var(--border);padding:7px 10px}.fmc-group-name{color:var(--text)}.fmc-group-count{color:var(--muted);margin-left:6px;font-weight:400;font-size:10.5px}.fmc-group-total{color:var(--text)}.fmc-row:hover td{background:rgba(var(--accent-rgb),.08)}.fmc-row.fmc-corrected td{background:#ffc80014}.fmc-row.fmc-corrected:hover td{background:#ffc80029}.fmc-row.fmc-sign-flipped td{background:#6366f114}.fmc-row.fmc-sign-flipped:hover td{background:#6366f129}.fmc-account{max-width:320px}.fmc-account-name{display:flex;align-items:center;gap:6px;min-width:0}.fmc-account-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.fmc-corrected-tag{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#b45309;background:#f59e0b2e;padding:1px 5px;border-radius:4px}.fmc-sign-flipped-tag{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;color:#4338ca;background:#6366f12e;padding:1px 5px;border-radius:4px}.fmc-category{white-space:nowrap}.fmc-cat-combo{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 6px center;background-repeat:no-repeat;background-size:12px;padding:4px 22px 4px 10px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:600;color:#fff;cursor:pointer;white-space:nowrap;max-width:220px;text-overflow:ellipsis;overflow:hidden;box-shadow:0 1px 2px #00000014}.fmc-cat-combo:hover{box-shadow:0 2px 5px #0000001f;filter:brightness(1.06)}.fmc-cat-combo:focus{outline:none;box-shadow:0 0 0 2px rgba(var(--accent-rgb),.35),0 3px 10px #00000029;filter:brightness(1.08)}.fmc-cat-combo.edited{box-shadow:0 0 0 2px rgba(var(--accent-rgb),.55),0 2px 6px #0000001f}.fmc-cat-combo option{background:var(--panel);color:var(--text);font-weight:500}.fmc-edited .fmc-account-name{color:var(--accent)}.fmc-neg{color:#dc2626}.fmc-muted{color:var(--muted)}.fmc-recon-wrap{padding:8px 16px 12px;border-bottom:1px solid var(--border)}.fmc-recon-scroll{max-height:296px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;background:var(--panel)}.fmc-recon-scroll::-webkit-scrollbar{width:8px}.fmc-recon-scroll::-webkit-scrollbar-track{background:transparent}.fmc-recon-scroll::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.28);border-radius:4px}.fmc-recon-scroll::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.48)}.fmc-recon-table{width:100%;border-collapse:separate;border-spacing:0;font-size:11.5px}.fmc-recon-table thead th{position:sticky;top:0;z-index:1;background:var(--panel);border-bottom:1px solid var(--border)}.fmc-recon-table th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--muted);text-align:left;padding:6px 10px}.fmc-recon-table th.fmc-num,.fmc-recon-table td.fmc-num{text-align:right;font-variant-numeric:tabular-nums;font-family:Menlo,Monaco,monospace}.fmc-recon-table td{padding:6px 10px;border-top:1px solid var(--border)}.fmc-recon-table tbody tr:first-child td{border-top:0}.fmc-recon-badge{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.05em;padding:2px 8px;border-radius:4px;color:#fff}.fmc-recon-badge.pass{background:#10b981}.fmc-recon-badge.fail{background:#ef4444}.fmc-tieout{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:8px;font-size:11.5px}.fmc-tieout-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--muted)}.fmc-tieout b{font-family:Menlo,Monaco,monospace;font-weight:600;font-variant-numeric:tabular-nums}.fmc-actions{display:flex;align-items:center;gap:8px;padding:10px 16px 12px;flex-wrap:wrap}.fmc-actions-lg{gap:10px;padding:14px 18px 16px}.fmc-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.fmc-btn:hover:not(:disabled){background:var(--panel-2);border-color:var(--border-hover)}.fmc-btn:disabled{opacity:.6;cursor:default}.fmc-btn-lg{gap:8px;padding:10px 18px;font-size:13px;font-weight:600;letter-spacing:.01em;border-radius:12px}.fmc-btn-primary{background:linear-gradient(180deg,var(--accent, hsl(0, 72%, 67%)) 0%,hsl(0,72%,58%) 100%);border-color:var(--accent, hsl(0, 72%, 67%));color:#fff;box-shadow:inset 0 1px #ffffff3d,inset 0 -1px #9a19192e,0 1px 2px #9a19192e,0 4px 12px #db24242e}.fmc-btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#e66565,#df3a3a);border-color:#e25050;box-shadow:inset 0 1px #ffffff52,inset 0 -1px #9a191938,0 2px 4px #9a19193d,0 8px 22px #db242447;transform:translateY(-1px)}.fmc-btn-primary:active:not(:disabled){transform:translateY(0)}.fmc-action-error{color:#dc2626;font-size:11px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fmc-action-hint{color:var(--text-muted, #6b7280);font-size:11px;font-style:italic;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fmc-spin{animation:fmc-spin .8s linear infinite;transform-origin:center}@keyframes fmc-spin{to{transform:rotate(360deg)}}.fmc-btn-loading{position:relative;overflow:hidden;cursor:progress}.fmc-btn-loading:disabled{opacity:1}.fmc-btn-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.28) 50%,transparent 100%);transform:translate(-100%);animation:fmc-shimmer 1.4s ease-in-out infinite}@keyframes fmc-shimmer{to{transform:translate(100%)}}.fmc-btn-label{display:inline-flex;align-items:center}.fmc-export-wrap{position:relative;display:inline-flex}.fmc-export-trigger-chevron{margin-left:2px;transition:transform .22s cubic-bezier(.32,.72,0,1);flex-shrink:0}.fmc-export-wrap.is-open .fmc-export-trigger-chevron{transform:rotate(180deg)}.fmc-export-anchor{position:fixed;z-index:9999;transform:translateY(-50%);pointer-events:none}.fmc-export-panel{opacity:0;transform:translate(-12px) scale(.97);transition:opacity .24s cubic-bezier(.32,.72,0,1),transform .24s cubic-bezier(.32,.72,0,1);pointer-events:auto;width:min(440px,calc(100vw - 80px));padding:18px 20px 16px;border-radius:16px;background:linear-gradient(180deg,#ffffffe0,#ffffffbd);border:1px solid hsla(220,15%,60%,.22);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);box-shadow:inset 0 1px #ffffffd9,0 2px 6px #1f242e0f,0 14px 32px #1f242e24,0 28px 60px #1f242e14;display:flex;flex-direction:column;gap:14px}.fmc-export-panel.is-open{opacity:1;transform:translate(0) scale(1)}.fmc-export-panel:after{content:"";position:absolute;left:-7px;top:50%;width:14px;height:14px;transform:translateY(-50%) rotate(45deg);background:linear-gradient(135deg,#ffffffe0,#ffffffe0);border-left:1px solid hsla(220,15%,60%,.22);border-bottom:1px solid hsla(220,15%,60%,.22);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px)}.fmc-export-panel .fmc-picker{padding:0;border-top:none;background:transparent}.fmc-export-panel .fmc-picker-summary{font-size:12px;margin-top:8px}.fmc-export-toggle-row{display:flex;justify-content:center;padding-top:14px;border-top:1px solid hsla(220,15%,60%,.18)}.fmc-export-note{margin-top:8px;font-size:10.5px;line-height:1.4;color:var(--muted);text-align:center}.fmc-export-confirm{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 18px;border-radius:12px;border:1px solid var(--accent, hsl(0, 72%, 67%));background:linear-gradient(180deg,var(--accent, hsl(0, 72%, 67%)) 0%,hsl(0,72%,58%) 100%);color:#fff;font-size:13px;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:inset 0 1px #ffffff47,inset 0 -1px #9a19192e,0 1px 2px #9a191938,0 6px 16px #db24243d;transition:transform .12s ease,box-shadow .16s ease,background .16s ease}.fmc-export-confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffff57,inset 0 -1px #9a191938,0 2px 4px #9a191942,0 10px 24px #db24244d}.fmc-export-confirm:active:not(:disabled){transform:translateY(0)}.fmc-export-confirm:disabled{cursor:not-allowed;opacity:.7}.fmc-export-confirm.is-loading{opacity:1;cursor:progress}.fmc-export-error{display:block;font-size:11.5px;color:#b91c1c;text-align:center;margin-top:-4px}@media(prefers-reduced-motion:reduce){.fmc-export-panel{animation:none}.fmc-export-trigger-chevron{transition:none}}.fmc-picker{padding:18px 18px 20px;border-top:1px solid var(--border);background:var(--panel-2)}.fmc-picker-header{text-align:center;margin-bottom:12px}.fmc-picker-title{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.fmc-preset-wrap{display:flex;justify-content:center;margin-bottom:14px}.fmc-preset-segmented{position:relative;display:grid;grid-template-columns:repeat(var(--preset-count, 2),1fr);align-items:stretch;padding:3px;border-radius:999px;background:linear-gradient(180deg,#ffffffb3,#fff6);border:1px solid hsla(220,15%,60%,.22);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);box-shadow:inset 0 1px #fffc,0 1px 2px #1f242e0d,0 6px 14px #1f242e0f}.fmc-preset-pill{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--preset-count, 2));border-radius:999px;background:linear-gradient(180deg,var(--accent, hsl(0, 72%, 67%)) 0%,hsl(0,72%,58%) 100%);box-shadow:inset 0 1px #ffffff47,inset 0 -1px #9a19192e,0 1px 2px #9a191940,0 4px 12px #db242438;transform:translate(calc(var(--preset-active, 0) * 100%));transition:transform .38s cubic-bezier(.32,.72,0,1);pointer-events:none;z-index:0}.fmc-preset-option{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;padding:8px 22px;min-height:30px;border:none;background:transparent;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.01em;color:#474e5c;cursor:pointer;white-space:nowrap;transition:color .32s cubic-bezier(.32,.72,0,1)}.fmc-preset-option:hover:not(.is-active){color:#1b1d23}.fmc-preset-option.is-active{color:#fff}.fmc-preset-option:focus-visible{outline:2px solid var(--accent, hsl(0, 72%, 67%));outline-offset:3px}@media(prefers-reduced-motion:reduce){.fmc-preset-pill{transition:none}}.fmc-picker-summary{margin:4px auto 0;max-width:560px;text-align:center;font-size:12.5px;line-height:1.55;color:#474e5c}.agent-sheet-picker{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}.agent-sheet-picker-card{max-width:480px;width:100%;padding:28px 32px 24px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.agent-sheet-picker-file{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;margin-bottom:18px;font-size:11px;font-weight:500;color:var(--text);background:var(--accent-light);border:1px solid var(--accent-light);border-radius:999px;max-width:100%}.agent-sheet-picker-file svg{color:var(--accent);flex-shrink:0}.agent-sheet-picker-filename{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.agent-sheet-picker-title{font-size:18px;font-weight:600;color:var(--text);margin:0 0 6px}.agent-sheet-picker-sub{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.5}.agent-sheet-picker-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto;padding:2px;margin-bottom:20px}.agent-sheet-picker-list::-webkit-scrollbar{width:6px}.agent-sheet-picker-list::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}.agent-sheet-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s ease;text-align:left;font:inherit;color:var(--text)}.agent-sheet-option:hover:not(:disabled){border-color:var(--accent);background:var(--accent-light)}.agent-sheet-option.selected{border-color:var(--accent);background:var(--accent-light)}.agent-sheet-option:disabled{opacity:.6;cursor:not-allowed}.agent-sheet-option-name{font-size:13.5px;line-height:1.3;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-radio-circle{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--border-hover);display:inline-flex;align-items:center;justify-content:center;background:var(--panel);flex-shrink:0;transition:border-color .15s ease,background .15s ease}.agent-sheet-option.selected .agent-radio-circle{border-color:var(--accent);background:var(--accent)}.agent-radio-dot{width:6px;height:6px;border-radius:50%;background:#fff}.agent-sheet-picker-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.agent-sheet-picker-cancel{display:inline-flex;align-items:center;background:none;border:none;padding:6px 4px;font-size:12px;color:var(--muted);cursor:pointer;transition:color .15s}.agent-sheet-picker-cancel:hover:not(:disabled){color:var(--text)}.agent-sheet-picker-cancel:disabled{opacity:.5;cursor:not-allowed}.agent-sheet-picker-confirm{display:inline-flex;align-items:center;padding:9px 18px;font-size:13px;font-weight:600;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:10px;cursor:pointer;transition:all .15s;box-shadow:0 2px 8px rgba(var(--accent-rgb),.2)}.agent-sheet-picker-confirm:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--accent-rgb),.28)}.agent-sheet-picker-confirm:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.ssc{display:flex;flex-direction:column;gap:14px;padding:10px 0 4px;font-size:12.5px}.ssc-fileline{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:600}.ssc-fileline svg{color:var(--accent);flex-shrink:0}.ssc-filename{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:460px}.ssc-subhead{display:inline-flex;align-items:center;gap:5px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--muted);margin-bottom:6px}.ssc-subhead svg{opacity:.7}.ssc-hero{display:flex;align-items:stretch;gap:0;padding:6px 4px 12px;margin:0}.ssc-stat{flex:1 1 0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:4px 22px;min-width:0;position:relative}.ssc-stat:first-child{padding-left:4px}.ssc-stat:last-child{padding-right:4px}.ssc-stat+.ssc-stat:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--accent) 0%,rgba(var(--accent-rgb),.15) 100%)}.ssc-stat-number{margin:0;font-size:22px;font-weight:700;line-height:1;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.ssc-stat-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:500;margin:0}.ssc-periods{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.ssc-periods-summary{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:transparent;border:none;text-align:left;cursor:pointer;font-size:12.5px;color:var(--text);font-family:inherit}.ssc-periods-summary:hover{background:var(--panel-2)}.ssc-periods-icon{display:inline-flex;color:var(--muted);width:13px}.ssc-periods-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.ssc-periods-range{font-weight:600;color:var(--text)}.ssc-arrow{color:var(--accent);margin:0 3px;font-weight:600}.ssc-periods-meta{margin-left:auto;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.ssc-periods-detail{padding:0 12px 12px;border-top:1px solid var(--border)}.ssc-periods-tablebar{display:flex;flex-wrap:wrap;gap:16px;padding:8px 0 10px;font-size:11px;color:var(--muted)}.ssc-periods-tablebar strong{color:var(--text);font-weight:600;margin-right:4px}.ssc-period-strip,.ssc-ni-values{display:flex;flex-direction:column;gap:4px;max-height:196px;overflow-y:auto;padding:2px 6px 2px 2px;scroll-snap-type:y proximity}.ssc-period-strip::-webkit-scrollbar,.ssc-ni-values::-webkit-scrollbar{width:7px}.ssc-period-strip::-webkit-scrollbar-track,.ssc-ni-values::-webkit-scrollbar-track{background:transparent}.ssc-period-strip::-webkit-scrollbar-thumb,.ssc-ni-values::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:999px}.ssc-period-cell{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;font-size:12px;font-variant-numeric:tabular-nums;scroll-snap-align:start;flex-shrink:0}.ssc-period-name{color:var(--text);font-weight:500}.ssc-period-col{color:var(--muted);font-size:11px}.ssc-ni{background:linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 100%);border:1px solid var(--border);border-radius:12px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px #0f172a05}.ssc-ni-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ssc-ni-headline{display:flex;align-items:baseline;gap:10px;min-width:0}.ssc-ni-eyebrow{font-size:14px;font-weight:700;color:var(--accent);letter-spacing:-.005em}.ssc-ni-meta{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}.ssc-ni-empty{gap:6px}.ssc-ni-empty-row{display:flex;align-items:center;gap:8px}.ssc-ni-empty-icon{color:#d97706;font-size:14px}.ssc-ni-empty-title{font-weight:600;color:var(--text)}.ssc-ni-empty-reason{font-size:11.5px;color:var(--muted)}.ssc-ni-runners{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font-size:11px}.ssc-ni-runners-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.ssc-ni-runner{padding:2px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.ssc-ni-body{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:18px;align-items:stretch}.ssc-ni-chart{min-width:0}.ssc-kpis{margin:0;padding:4px 4px 4px 0;display:flex;flex-direction:column;justify-content:center;gap:0;min-width:148px}.ssc-kpi{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:18px;padding:6px 0}.ssc-kpi dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.ssc-kpi dd{margin:0;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;color:var(--text);line-height:1.1}.ssc-kpi dd.pos{color:#047857}.ssc-kpi dd.neg{color:#b91c1c}.ssc-kpi-total{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.ssc-kpi-total dt{color:var(--text)}.ssc-kpi-total dd{font-size:17px}.ssc-ni-disclosure{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;padding:4px 10px 4px 6px;background:transparent;border:1px solid var(--border);border-radius:999px;font-size:11px;color:var(--muted);cursor:pointer;font-family:inherit;transition:background .15s,color .15s,border-color .15s}.ssc-ni-disclosure:hover{background:var(--panel-2);color:var(--text);border-color:var(--border-hover)}.ssc-ni-value{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px 7px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;font-size:12px;font-variant-numeric:tabular-nums;scroll-snap-align:start;flex-shrink:0}.ssc-ni-value-label{color:var(--text);font-weight:500}.ssc-ni-value-amount{font-weight:700;font-size:11.5px;padding:3px 9px;border-radius:999px;font-variant-numeric:tabular-nums;line-height:1.2;border:1px solid transparent}.ssc-ni-value.pos .ssc-ni-value-amount{color:#047857;background:#10b9811f;border-color:#10b98147}.ssc-ni-value.neg .ssc-ni-value-amount{color:#b91c1c;background:#ef44441f;border-color:#ef444447}.ssc-ni-evidence{margin-top:4px;font-size:11.5px;color:var(--muted)}.ssc-ni-evidence summary{cursor:pointer;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ssc-ni-evidence summary:hover{color:var(--text)}.ssc-ni-evidence ul{margin:6px 0 0;padding-left:18px}.ssc-ni-evidence li{margin-bottom:2px}.spark-wrap{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 10px 6px}.spark-svg{display:block;width:100%;height:120px}.spark-svg rect{transition:fill .1s;cursor:crosshair}.spark-legend{display:flex;gap:14px;margin-top:4px;font-size:10.5px;color:var(--muted)}.spark-legend-item{display:inline-flex;align-items:center;gap:5px}.spark-swatch{display:inline-block;width:9px;height:9px;border-radius:2px}.spark-empty{padding:12px;text-align:center;font-size:11px;color:var(--muted);background:var(--panel-2);border:1px dashed var(--border);border-radius:8px}.spark-tooltip{position:absolute;top:-10px;transform:translate(-50%,-100%);background:var(--text);color:var(--panel);padding:6px 10px;border-radius:6px;font-size:11px;white-space:nowrap;box-shadow:0 4px 12px #0000002e;pointer-events:none;z-index:10}.spark-tooltip-label{font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin-bottom:1px}.spark-tooltip-value{font-weight:700;font-variant-numeric:tabular-nums;font-size:12.5px}.spark-tooltip-value.pos{color:#34d399}.spark-tooltip-value.neg{color:#fca5a5}.spark-tooltip-col{font-size:10px;opacity:.6;margin-top:1px}.ssc-subhead-count{margin-left:6px;padding:0 6px;background:var(--panel-2);border:1px solid var(--border);border-radius:999px;font-size:10px;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0}.ssc-deriv{margin:10px 0 4px}.ssc-deriv-transform{font-size:11px;line-height:1.45;color:var(--muted);margin-bottom:8px}.ssc-deriv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.ssc-deriv-row{display:flex;align-items:baseline;gap:8px;font-size:11px}.ssc-deriv-count{flex:0 0 auto;min-width:26px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.ssc-deriv-reason{flex:1 1 auto}.ssc-deriv-eg{flex:0 1 auto;color:var(--muted);font-variant-numeric:tabular-nums}.ssc-sections-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;color:var(--text)}.ssc-sections-table col.col-name{width:30%}.ssc-sections-table col.col-range{width:1fr}.ssc-sections-table col.col-rows{width:80px}.ssc-sections-table thead th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;text-align:left;padding:6px 10px 6px 12px;border-bottom:1px solid var(--border)}.ssc-sections-table thead th.num{text-align:right}.ssc-sections-table td{padding:7px 10px 7px 12px;vertical-align:top;font-variant-numeric:tabular-nums}.ssc-sections-table td.num{text-align:right}.ssc-sections-table .ssc-sec-name{border-left:3px solid var(--border);font-weight:600;display:table-cell;position:relative}.ssc-sec-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:middle;position:relative;top:-1px}.ssc-sections-table .ssc-sec-row.first td{border-top:1px solid var(--border)}.ssc-sections-table .ssc-sec-row td.ssc-sec-range,.ssc-sections-table .ssc-sec-row td.ssc-sec-rownum,.ssc-sections-table .ssc-sec-row.cont td{color:var(--text)}.ssc-sections-table tr.ssc-sec-subtotal td{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding-top:6px;padding-bottom:6px;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ssc-sections-table tr.ssc-sec-subtotal td.ssc-sec-subtotal-num{font-weight:700;font-size:12.5px;text-transform:none;letter-spacing:0}@media(max-width:720px){.ssc-hero{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.ssc-stat{padding:10px 16px}.ssc-stat+.ssc-stat:before{display:none}.ssc-stat:nth-child(2n):after,.ssc-stat:nth-child(odd):after{content:none}.ssc-stat:nth-child(odd){border-right:1px solid var(--border)}.ssc-stat:nth-child(-n+2){border-bottom:1px solid var(--border)}.ssc-stat-number{font-size:20px}.ssc-ni-body{grid-template-columns:minmax(0,1fr)}.ssc-kpis{flex-direction:row;flex-wrap:wrap;min-width:0}.ssc-kpi{padding:4px 12px}.ssc-kpi-total{width:100%;border-top:1px solid var(--border);border-left:none;margin-top:0;padding-top:8px}}.session-expired-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:sessionOverlayIn .3s ease-out}@keyframes sessionOverlayIn{0%{opacity:0}to{opacity:1}}.session-expired-modal{background:var(--panel, #fff);border:1px solid var(--border, #e5e7eb);border-radius:16px;padding:2.5rem;width:100%;max-width:400px;box-shadow:0 24px 64px #0003;animation:sessionModalIn .35s ease-out}@keyframes sessionModalIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.session-expired-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#f59e0b1f;color:#f59e0b;margin:0 auto 1.25rem}.session-expired-header{text-align:center;margin-bottom:1.75rem}.session-expired-header h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--text, #1f2937)}.session-expired-header p{margin:0;font-size:.9rem;color:var(--muted, #6b7280);line-height:1.5}.session-expired-form{margin-bottom:1rem}.session-input-group{position:relative;margin-bottom:1rem}.session-input-group input{width:100%;padding:.8rem .8rem .8rem 2.75rem;border:1px solid var(--border, #e5e7eb);border-radius:8px;font-size:.95rem;box-sizing:border-box;transition:border-color .3s,box-shadow .3s;background-color:var(--panel-2, #f9fafb);color:var(--text, #1f2937)}.session-input-group input::placeholder{color:var(--muted, #9ca3af)}.session-input-group input:focus{outline:none;border-color:var(--accent, #f56565);box-shadow:0 0 0 3px #f5656526}.session-input-group input:disabled{opacity:.6;cursor:not-allowed}.session-input-icon{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--muted, #9ca3af);pointer-events:none}.session-reauth-button{width:100%;padding:.8rem;background:var(--accent, #f56565);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;margin-top:.5rem}.session-reauth-button:hover:not(:disabled){background:#e25050;transform:translateY(-1px);box-shadow:0 6px 20px #e76e6e4d}.session-reauth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.session-error-message{color:#dc2626;font-size:.85rem;margin-bottom:.75rem;text-align:center;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:6px;padding:.5rem .75rem}.session-expired-note{text-align:center;font-size:.8rem;color:var(--muted, #9ca3af);margin:0;line-height:1.4}.App{height:100vh;background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;overflow:hidden}.App-body{display:flex;flex:1;min-height:0}.App-header{background:linear-gradient(180deg,#fefdfd,#fdfcfc);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 1.25rem;box-shadow:0 4px 20px #f565650f;border-bottom:1px solid hsl(0,40%,93%);flex-shrink:0}.header-content{display:flex;align-items:center;justify-content:space-between;max-width:100%}.logo{display:flex;align-items:center;-webkit-user-select:none;user-select:none}.logo img{height:40px;width:auto;object-fit:contain}.header-actions{display:flex;align-items:center;gap:.6rem}.provider-selector{display:flex;align-items:center;gap:.35rem}.provider-label{font-size:.8rem;font-weight:600;color:var(--muted);letter-spacing:.02em}.provider-dropdown{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--panel-2, #f5f5f5);border:1px solid var(--border, #ddd);border-radius:8px;padding:.4rem 1.8rem .4rem .6rem;font-size:.85rem;font-weight:600;color:var(--text);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;background-image:url("data:image/svg+xml,%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%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}.provider-dropdown:hover{border-color:var(--accent)}.provider-dropdown:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #e76e6e26}.provider-dropdown option{font-weight:600}.logout-button{background:none;background-image:linear-gradient(90deg,var(--accent) 0%,var(--accent) 50%,transparent 50%,transparent 100%);background-size:200% 100%;background-position:100% 0;color:var(--accent);border:1px solid var(--accent);padding:.5rem .9rem;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;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;color:#fff;transform:translateY(-1px);box-shadow:0 6px 20px #e76e6e4d}.App-header h1{margin:0 0 .5rem;color:var(--text);font-size:2.5rem;font-weight:700}.App-header p{margin:0 0 1rem;color:var(--muted);font-size:1.05rem}.progress-indicator{display:flex;justify-content:center;align-items:center;gap:1.5rem}.step{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.9rem;transition:color .3s ease}.step.active{color:var(--accent)}.step.completed{color:var(--success)}.step-number{width:24px;height:24px;border-radius:50%;background:var(--panel-2);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;transition:all .3s ease;border:1px solid var(--border)}.step.active .step-number{background:var(--accent);color:#fff;border-color:var(--accent)}.step.completed .step-number{background:var(--success);color:#fff;border-color:var(--success)}.step-label{font-weight:500}.step.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.step.clickable:hover{opacity:.85}.step.clickable:hover .step-number{transform:scale(1.1);box-shadow:0 2px 8px #0000001f}.step.clickable .step-label{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px;transition:text-decoration-color .2s ease}.step.clickable:hover .step-label{text-decoration-color:currentColor}.App-main{flex:1;padding:1.5rem 2rem;background:var(--bg);display:flex;flex-direction:column;min-height:0;overflow:hidden}.content-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;width:100%;flex:1;min-height:0;overflow-y:auto}.App-main:has(.agent-page){padding:0}.content-container:has(.agent-page){max-width:none;margin:0}.mapper-page,.chart-of-accounts-page,.account-page,.recon-page,.tb-converter-page{display:flex;flex-direction:column;gap:1.5rem}.account-page{max-width:500px}.App-body.account-fullscreen .account-page{max-width:none}.chart-of-accounts-page{max-width:1100px}.recon-page{max-width:900px}.mapper-page .progress-indicator{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.5rem;box-shadow:var(--shadow)}.upload-section,.period-section,.results-section{background:transparent;border-radius:0;padding:0;box-shadow:none;border:none}.loading-container{text-align:center;padding:4rem 2rem;color:var(--muted);background:linear-gradient(135deg,hsl(0,40%,99.5%) 0%,var(--panel) 100%);border-radius:12px;box-shadow:0 4px 20px #f5656514;border:1px solid hsl(0,35%,90%);position:relative;overflow:hidden}.loading-container .border-beam{opacity:1}.spinner{border:3px solid var(--border);border-top:3px solid var(--accent);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg)}.auth-loading p{color:var(--muted);margin-top:1rem}.connection-error{text-align:center;max-width:400px;padding:2rem}.connection-error h2{color:var(--text);margin-bottom:.5rem;font-size:1.4rem}.connection-error p{color:var(--muted);margin-bottom:1.5rem;line-height:1.5}.retry-button{padding:.6rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.95rem;cursor:pointer;transition:opacity .2s}.retry-button:hover{opacity:.85}.error-container{background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:2rem;margin:2rem auto;max-width:600px;text-align:center;color:#dc2626}.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%,hsl(0,72%,62%) 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;cursor:pointer;font-size:1rem;transition:transform .2s,filter .2s}.reset-button:hover{filter:brightness(1.05);transform:translateY(-1px)}.back-button{display:flex;align-items:center;gap:.5rem;background:var(--panel);color:var(--text);border:1px solid var(--border);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.back-button:hover{border-color:var(--accent);color:var(--accent)}.button-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}.sample-data-button{background:var(--success);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;margin-bottom: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{contain:layout;overflow-anchor:auto;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow)}.account-row{transition:none}.period-group,.period-content{will-change:auto}.session-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--muted)}.session-loading-container p{margin-top:.5rem;font-size:.95rem}.toast-notification{position:fixed;top:1.5rem;right:1.5rem;background:var(--card-bg, #fff);color:var(--text, #1a1a2e);border:1px solid #34d399;border-radius:8px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;box-shadow:0 4px 12px #0000001a;z-index:9999;display:flex;align-items:center;gap:.5rem;animation:toast-in .3s ease,toast-out .3s ease 2.7s forwards}.toast-check{color:#34d399;font-weight:700;font-size:1.1rem}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}
