:root{--color-primary: #6366f1;--color-primary-dark: #4f46e5;--color-primary-light: #818cf8;--color-primary-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--color-secondary: #e5e7eb;--color-secondary-dark: #d1d5db;--color-accent: #8b5cf6;--color-success: #10b981;--color-success-bg: #d1fae5;--color-warning: #f59e0b;--color-warning-bg: #fef3c7;--color-danger: #ef4444;--color-danger-dark: #dc2626;--color-danger-bg: #fee2e2;--color-error: #ef4444;--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-text-light: #cbd5e1;--color-text-inverse: #ffffff;--color-bg: #f8fafc;--color-bg-secondary: #f1f5f9;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -1px rgb(0 0 0 / .06);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -2px rgb(0 0 0 / .05);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 10px 10px -5px rgb(0 0 0 / .04);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}@media(prefers-color-scheme:dark){:root{--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-text-light: #475569;--color-bg: #0f172a;--color-bg-secondary: #1e293b;--color-surface: #1e293b;--color-surface-elevated: #334155;--color-border: #334155;--color-border-light: #1e293b;--color-secondary: #334155;--color-secondary-dark: #475569;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -1px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -2px rgb(0 0 0 / .3);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 10px 10px -5px rgb(0 0 0 / .3)}}*{box-sizing:border-box}html{font-family:var(--font-sans);line-height:1.5;font-weight:400;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(to bottom,var(--color-bg) 0%,var(--color-bg-secondary) 100%);color:var(--color-text);transition:background var(--transition-slow)}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.25}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:var(--space-xl) var(--space-xl) var(--space-lg);background:var(--color-primary-gradient);color:var(--color-text-inverse);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.app-header__content{max-width:1920px;margin:0 auto;width:100%;position:relative;z-index:1}.app-header__title{text-align:center;margin-bottom:var(--space-lg)}.app-header__upload{max-width:600px;margin:0 auto}.app-header__actions{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-sm);flex-wrap:wrap}.app-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 15s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.app-header h1{margin:0;font-size:2.25rem;font-weight:700;letter-spacing:-.025em;text-shadow:0 2px 4px rgba(0,0,0,.1)}.app-subtitle{margin:var(--space-sm) 0 0;opacity:.95;font-size:1rem;font-weight:400;max-width:600px;margin-left:auto;margin-right:auto}.app-main{flex:1;padding:var(--space-2xl) var(--space-xl);max-width:1920px;width:100%;margin:0 auto;display:grid;gap:var(--space-2xl)}.results-section{background-color:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border);transition:all var(--transition-base);position:relative;overflow:hidden}.results-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary-gradient);opacity:0;transition:opacity var(--transition-base)}.results-section:hover:before{opacity:1}.results-section:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.results-section h2{margin:0 0 var(--space-md);font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:-.025em;display:flex;align-items:center;gap:var(--space-sm)}.results-section h2:before{content:"📊";font-size:1.5rem}.results-section p{margin:0;color:var(--color-text-secondary);line-height:1.6}.app-footer{padding:var(--space-xl);text-align:center;color:var(--color-text-muted);font-size:.875rem;background:var(--color-surface);border-top:1px solid var(--color-border);margin-top:var(--space-2xl)}.app-footer p{margin:0;font-weight:500}@media(max-width:767px){.app-header{padding:var(--space-lg) var(--space-md)}.app-header h1{font-size:1.75rem}.app-subtitle{font-size:.9rem}.app-header__title{margin-bottom:var(--space-md)}.app-main{padding:var(--space-lg) var(--space-md);gap:var(--space-lg)}.results-section{padding:var(--space-lg)}}.results-section__hint{color:var(--color-text-muted);font-style:italic;text-align:center;padding:var(--space-2xl);background:var(--color-bg);border-radius:var(--radius-lg);border:2px dashed var(--color-border)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);text-align:center;background:var(--color-bg);border-radius:var(--radius-lg)}.loading-state__spinner{width:64px;height:64px;border:5px solid var(--color-border);border-top-color:var(--color-primary);border-right-color:var(--color-accent);border-radius:50%;animation:spin 1s cubic-bezier(.68,-.55,.265,1.55) infinite;margin-bottom:var(--space-lg);box-shadow:0 4px 12px #6366f133}.loading-state p{color:var(--color-text);font-weight:600;font-size:1.1rem;margin-top:var(--space-md)}.reasoning-log{margin-top:var(--space-lg);width:100%;max-width:600px;text-align:left}.reasoning-log h3{font-size:.875rem;color:var(--color-text-muted);margin:0 0 var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.reasoning-log__content{background-color:var(--color-bg);border-radius:var(--radius-md);padding:var(--space-md);max-height:200px;overflow-y:auto;font-family:Monaco,Consolas,monospace;font-size:.8rem;line-height:1.5}.reasoning-log__content p{margin:0 0 var(--space-xs);color:var(--color-text)}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);text-align:center;background:linear-gradient(135deg,#ef44440d,#ef444405);border-radius:var(--radius-xl);border:2px solid var(--color-danger-bg)}.error-state__icon{font-size:4rem;margin-bottom:var(--space-lg);animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-state__message{color:var(--color-error);font-weight:600;font-size:1.1rem;margin:0 0 var(--space-xl);max-width:500px;line-height:1.6}.summary-banner{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg);padding:var(--space-xl);background:var(--color-primary-gradient);border-radius:var(--radius-xl);margin-bottom:var(--space-xl);color:var(--color-text-inverse);box-shadow:var(--shadow-xl);position:relative;overflow:hidden;animation:slideInUp .5s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.summary-banner:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);animation:float 8s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(-20px,-20px)}}.summary-banner__item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;z-index:1;padding:var(--space-md);border-radius:var(--radius-lg);transition:all var(--transition-base)}.summary-banner__item:hover{background:#ffffff1a;transform:translateY(-2px)}.summary-banner__value{font-size:2.5rem;font-weight:800;line-height:1;margin-bottom:var(--space-xs);text-shadow:0 2px 4px rgba(0,0,0,.1)}.summary-banner__label{font-size:.75rem;opacity:.95;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.summary-banner__item--flagged .summary-banner__value{color:#fecaca}.summary-banner__item--valid .summary-banner__value{color:#86efac}@media(max-width:600px){.summary-banner{grid-template-columns:repeat(2,1fr)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-xl);animation:fadeIn .3s cubic-bezier(.4,0,.2,1)}.modal-content{max-width:900px;max-height:90vh;overflow-y:auto;border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);animation:slideIn .4s cubic-bezier(.34,1.56,.64,1);background:var(--color-surface);border:1px solid var(--color-border)}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:var(--color-bg);border-radius:var(--radius-full)}.modal-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full);transition:background var(--transition-base)}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:scale(.9) translateY(-30px)}to{opacity:1;transform:scale(1) translateY(0)}}.file-upload{width:100%}.file-upload--disabled{opacity:.6;pointer-events:none}.file-upload__error{background-color:var(--color-error);color:var(--color-text-inverse);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:.875rem}.file-upload__dropzones{display:grid;gap:var(--space-md)}.file-upload__dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);border:2px dashed var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);cursor:pointer;transition:all .2s ease;min-height:120px}.file-upload__dropzone:hover{border-color:var(--color-primary);background-color:#2563eb0d}.file-upload__dropzone--dragging{border-color:var(--color-primary);background-color:#2563eb1a;transform:scale(1.02)}.file-upload__dropzone--has-file{border-color:var(--color-success);border-style:solid;background-color:#16a34a0d}.file-upload__input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.file-upload__icon{font-size:2rem;margin-bottom:var(--space-xs)}.file-upload__label{font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.file-upload__hint{font-size:.875rem;color:var(--color-text-muted)}.file-upload__file-info{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs)}.file-upload__filename{font-size:.875rem;color:var(--color-success);font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload__clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background-color:var(--color-text-muted);color:var(--color-text-inverse);font-size:14px;cursor:pointer;transition:background-color .2s}.file-upload__clear:hover{background-color:var(--color-error)}.file-upload__ready{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background-color:#16a34a1a;color:var(--color-success);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;text-align:center}.file-upload__demo{margin-top:var(--space-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.file-upload__demo-divider{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.file-upload__demo-btn{padding:var(--space-sm) var(--space-lg);border:2px dashed var(--color-primary);border-radius:var(--radius-md);background-color:transparent;color:var(--color-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.file-upload__demo-btn:hover{background-color:var(--color-primary);color:var(--color-text-inverse);border-style:solid}.file-upload__demo-btn:disabled{opacity:.5;cursor:not-allowed}@media(min-width:400px){.file-upload__dropzones{grid-template-columns:1fr 1fr}}.file-upload--header .file-upload__dropzones{grid-template-columns:1fr 1fr;gap:var(--space-md)}.file-upload--header .file-upload__dropzone{min-height:60px;padding:var(--space-sm) var(--space-md);flex-direction:row;gap:var(--space-sm);background-color:#ffffff1a;border-color:#ffffff4d}.file-upload--header .file-upload__dropzone:hover{background-color:#fff3;border-color:#ffffff80}.file-upload--header .file-upload__dropzone--dragging{background-color:#ffffff40;border-color:#fff9;transform:scale(1.02)}.file-upload--header .file-upload__dropzone--has-file{border-color:#86efac99;border-style:solid;background-color:#16a34a26}.file-upload--header .file-upload__icon{font-size:1.25rem;margin-bottom:0}.file-upload--header .file-upload__label{color:var(--color-text-inverse);font-size:.875rem;margin-bottom:0}.file-upload--header .file-upload__hint{font-size:.75rem;color:#ffffffb3}.file-upload--header .file-upload__file-info{margin-top:0}.file-upload--header .file-upload__filename{color:#86eface6;max-width:150px}.file-upload--header .file-upload__ready{margin-top:var(--space-sm);background-color:#16a34a33;color:#86efacf2}.file-upload--header .file-upload__error{margin-bottom:var(--space-sm)}.file-upload--header .file-upload__demo{margin-top:var(--space-sm);flex-direction:row;gap:var(--space-md)}.file-upload--header .file-upload__demo-divider{color:#fff9}.file-upload--header .file-upload__demo-btn{padding:var(--space-xs) var(--space-md);font-size:.8rem;border-color:#fff6;color:var(--color-text-inverse)}.file-upload--header .file-upload__demo-btn:hover{background-color:#fff3;border-color:#fff9;border-style:solid;color:var(--color-text-inverse)}.file-upload__indicators{display:flex;gap:var(--space-md);align-items:center}.file-upload__indicator{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);background:#ffffff1a;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.2)}.file-upload__indicator-icon{font-size:1rem;flex-shrink:0}.file-upload__indicator-name{font-size:.8rem;color:var(--color-text-inverse);font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload__indicator-replace{padding:.15rem .5rem;font-size:.7rem;font-weight:600;color:var(--color-text-inverse);background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;flex-shrink:0}.file-upload__indicator-replace:hover{background:#ffffff4d;border-color:#ffffff80}.file-upload__indicator-replace:disabled{opacity:.5;cursor:not-allowed}@media(max-width:767px){.file-upload--header .file-upload__dropzones{grid-template-columns:1fr}.file-upload__indicators{flex-direction:column;align-items:stretch}}@media(max-width:400px){.file-upload__indicator-name{max-width:120px}}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1rem}.card-title{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--color-text)}.card-content{color:var(--color-text-secondary)}.reasoning-panel{background-color:#64748b0d;border:1px solid var(--color-border)}.reasoning-panel__header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.reasoning-panel__header:hover{background-color:#64748b1a}.reasoning-panel__header:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.reasoning-panel__icon{font-size:1.25rem}.reasoning-panel__title{font-weight:600;flex:1}.reasoning-panel__status{font-size:.75rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background-color:var(--color-bg);color:var(--color-text-muted)}.reasoning-panel__status--active{display:flex;align-items:center;gap:var(--space-xs);background-color:#2563eb1a;color:var(--color-primary)}.reasoning-panel__pulse{width:8px;height:8px;border-radius:50%;background-color:var(--color-primary);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.reasoning-panel__expand{font-size:.75rem;color:var(--color-text-muted)}.reasoning-panel__content{padding:var(--space-md);padding-top:0;overflow-y:auto;position:relative}.reasoning-panel__waiting{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);color:var(--color-text-muted);font-style:italic}.reasoning-panel__dots{display:flex;gap:2px}.reasoning-panel__dots span{animation:bounce 1.4s ease-in-out infinite}.reasoning-panel__dots span:nth-child(1){animation-delay:0s}.reasoning-panel__dots span:nth-child(2){animation-delay:.2s}.reasoning-panel__dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.reasoning-panel__chunk{font-family:Monaco,Consolas,monospace;font-size:.8rem;line-height:1.6;color:var(--color-text);padding:var(--space-xs) 0;border-bottom:1px solid rgba(100,116,139,.1);white-space:pre-wrap;word-break:break-word}.reasoning-panel__chunk:last-child{border-bottom:none}.reasoning-panel__scroll-btn{position:sticky;bottom:0;left:50%;transform:translate(-50%);padding:var(--space-xs) var(--space-md);border:none;border-radius:var(--radius-full);background-color:var(--color-primary);color:var(--color-text-inverse);font-size:.75rem;font-weight:500;cursor:pointer;box-shadow:var(--shadow-md);transition:all .2s}.reasoning-panel__scroll-btn:hover{background-color:var(--color-primary-dark);transform:translate(-50%) translateY(-2px)}@media(prefers-color-scheme:dark){.reasoning-panel{background-color:#64748b1a}.reasoning-panel__chunk{border-color:#94a3b81a}}.session-summary{margin-bottom:var(--space-lg)}.session-summary__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.session-summary__title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.session-summary__time{font-size:.875rem;color:var(--color-text-muted)}.session-summary__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin-bottom:var(--space-lg)}.session-summary__stat{display:flex;flex-direction:column;align-items:center;padding:var(--space-md);background-color:var(--color-bg);border-radius:var(--radius-md);text-align:center;position:relative}.session-summary__stat-value{font-size:2rem;font-weight:700;line-height:1;margin-bottom:var(--space-xs)}.session-summary__stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.session-summary__stat-percent{position:absolute;top:var(--space-xs);right:var(--space-xs);font-size:.7rem;padding:2px 6px;border-radius:var(--radius-sm);background-color:#16a34a1a;color:var(--color-success)}.session-summary__stat--total .session-summary__stat-value{color:var(--color-primary)}.session-summary__stat--valid .session-summary__stat-value{color:var(--color-success)}.session-summary__stat--flagged .session-summary__stat-value{color:var(--color-error)}.session-summary__stat--escalated .session-summary__stat-value{color:var(--color-warning)}.session-summary__progress{margin-bottom:var(--space-lg)}.session-summary__progress-bar{display:flex;height:12px;border-radius:var(--radius-full);overflow:hidden;background-color:var(--color-bg)}.session-summary__progress-segment{transition:width .5s ease}.session-summary__progress-segment--valid{background-color:var(--color-success)}.session-summary__progress-segment--flagged{background-color:var(--color-error)}.session-summary__progress-segment--escalated{background-color:var(--color-warning)}.session-summary__progress-labels{display:flex;justify-content:center;gap:var(--space-lg);margin-top:var(--space-sm)}.session-summary__progress-label{display:flex;align-items:center;gap:var(--space-xs);font-size:.75rem;color:var(--color-text-muted)}.session-summary__progress-label:before{content:"";display:block;width:10px;height:10px;border-radius:50%}.session-summary__progress-label--valid:before{background-color:var(--color-success)}.session-summary__progress-label--flagged:before{background-color:var(--color-error)}.session-summary__progress-label--escalated:before{background-color:var(--color-warning)}.session-summary__breakdown{margin-bottom:var(--space-lg);padding:var(--space-md);background-color:var(--color-bg);border-radius:var(--radius-md)}.session-summary__breakdown-title{margin:0 0 var(--space-sm);font-size:.875rem;font-weight:600;color:var(--color-text-muted)}.session-summary__breakdown-list{display:flex;flex-direction:column;gap:var(--space-xs)}.session-summary__breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) 0}.session-summary__breakdown-label{font-size:.875rem;color:var(--color-text)}.session-summary__breakdown-count{font-size:.875rem;font-weight:600;padding:var(--space-xs) var(--space-sm);background-color:#ef44441a;color:var(--color-error);border-radius:var(--radius-sm)}.session-summary__message{margin-bottom:var(--space-md)}.session-summary__message-text{margin:0;padding:var(--space-md);background-color:var(--color-bg);border-radius:var(--radius-md);font-size:.9rem;color:var(--color-text)}.session-summary__message-text--success{background-color:#16a34a1a;color:var(--color-success)}.session-summary__message-text--warning{background-color:#f59e0b1a;color:var(--color-warning)}.session-summary__actions{display:flex;justify-content:center}.session-summary__new-btn{padding:var(--space-sm) var(--space-lg);border:2px solid var(--color-primary);border-radius:var(--radius-md);background-color:transparent;color:var(--color-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.session-summary__new-btn:hover{background-color:var(--color-primary);color:var(--color-text-inverse)}@media(max-width:600px){.session-summary__stats{grid-template-columns:repeat(2,1fr)}.session-summary__stat-value{font-size:1.5rem}.session-summary__progress-labels{flex-wrap:wrap}}.btn{padding:.875rem 2rem;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;box-shadow:var(--shadow-sm);letter-spacing:.025em}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:active:not(:disabled):before{width:300px;height:300px}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--color-primary-gradient);color:#fff;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border:2px solid var(--color-border);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-danger{background:linear-gradient(135deg,var(--color-danger) 0%,var(--color-danger-dark) 100%);color:#fff;box-shadow:0 4px 12px #ef44444d}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.btn-danger:active:not(:disabled){transform:translateY(0)}.project-group-view{display:flex;flex-direction:column;gap:var(--space-lg)}.project-group-view__empty{text-align:center;padding:var(--space-2xl);color:var(--color-text-muted);background:var(--color-bg);border-radius:var(--radius-lg);border:2px dashed var(--color-border)}.project-group-view__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);padding:var(--space-lg);background:var(--color-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.project-group-view__stats{display:flex;gap:var(--space-xl)}.project-group-view__stat{display:flex;flex-direction:column;align-items:center}.project-group-view__stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text);line-height:1}.project-group-view__stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--space-xs)}.project-group-view__actions{display:flex;align-items:center;gap:var(--space-md)}.project-group-view__analyzing{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-primary);font-weight:500}.project-group-view__spinner{width:20px;height:20px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.project-group-view__error{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-danger-bg);border:1px solid var(--color-danger);border-radius:var(--radius-md)}.project-group-view__error-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-danger);color:#fff;border-radius:50%;font-weight:700;font-size:.875rem;flex-shrink:0}.project-group-view__error-text{flex:1;color:var(--color-danger);font-size:.875rem}.project-group-view__list{display:flex;flex-direction:column;gap:var(--space-md)}.project-group-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}.project-group-card:hover{box-shadow:var(--shadow-md)}.project-group-card--expanded{box-shadow:var(--shadow-lg)}.project-group-card__header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.project-group-card__header:hover{background:var(--color-bg)}.project-group-card__chevron{font-size:.75rem;color:var(--color-text-muted);transition:transform var(--transition-fast);flex-shrink:0;width:16px;text-align:center}.project-group-card__info{flex:1;min-width:0}.project-group-card__name{font-size:1rem;font-weight:600;color:var(--color-text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-group-card__id{font-size:.75rem;color:var(--color-text-muted);font-family:var(--font-mono)}.project-group-card__metrics{display:flex;gap:var(--space-lg);flex-shrink:0}.project-group-card__metric{font-size:.875rem;color:var(--color-text-secondary);white-space:nowrap}.project-group-card__metric strong{color:var(--color-text)}.project-group-card__status-bar{flex-shrink:0}.project-group-card__all-ok{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.25rem .75rem;background:#10b9811a;color:var(--color-success);border-radius:var(--radius-full);font-size:.8rem;font-weight:600}.project-group-card__status-counts{display:flex;gap:var(--space-xs)}.project-group-card__count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--space-sm);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.project-group-card__count--valid{background:#10b98126;color:var(--color-success)}.project-group-card__count--flagged{background:#ef444426;color:var(--color-error)}.project-group-card__count--escalated{background:#f59e0b26;color:var(--color-warning)}.project-group-card__count--resolved{background:#3b82f626;color:#3b82f6}.project-group-card__count--unreviewed{background:#64748b26;color:var(--color-text-muted)}.project-group-card__entries{border-top:1px solid var(--color-border);overflow-x:auto}.project-group-card__table{width:100%;border-collapse:collapse;font-size:.875rem}.project-group-card__table th{text-align:left;padding:var(--space-sm) var(--space-md);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap}.project-group-card__table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-light);color:var(--color-text);vertical-align:top}.project-group-card__row{transition:background var(--transition-fast)}.project-group-card__row:hover{background:var(--color-bg)}.project-group-card__row--flagged{background:#ef44440a}.project-group-card__row--flagged:hover{background:#ef444414}.project-group-card__row--escalated{background:#f59e0b0a}.project-group-card__row--escalated:hover{background:#f59e0b14}.project-group-card__row--manually_resolved{background:#3b82f60a}.project-group-card__row--editing td{padding:0;background:var(--color-bg)}.project-group-card__description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-group-card__edit-btn{padding:.25rem .5rem;font-size:.75rem;color:var(--color-primary);background:transparent;border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.project-group-card__edit-btn:hover{background:var(--color-primary);color:#fff}.project-group-card__detail{margin-top:var(--space-sm);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.8rem}.project-group-card__detail-section{margin-bottom:var(--space-sm);line-height:1.5}.project-group-card__detail-section:last-child{margin-bottom:0}.project-group-card__detail-section ul{margin:var(--space-xs) 0 0 var(--space-lg);padding:0}.project-group-card__detail-section li{margin-bottom:var(--space-xs)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:500;text-transform:capitalize}.status-badge--success{background-color:#16a34a26;color:var(--color-success)}.status-badge--error{background-color:#ef444426;color:var(--color-error)}.status-badge--warning{background-color:#f59e0b26;color:var(--color-warning)}.status-badge--default{background-color:#64748b26;color:var(--color-text-muted)}.status-badge--info{background-color:#3b82f626;color:#3b82f6}.entry-editor{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.entry-editor__form{display:flex;flex-wrap:wrap;gap:var(--space-md)}.entry-editor__field{display:flex;flex-direction:column;gap:var(--space-xs);flex:1;min-width:120px}.entry-editor__field--wide{flex:100%}.entry-editor__label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.entry-editor__input,.entry-editor__textarea{padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;font-family:inherit;background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-fast)}.entry-editor__input:focus,.entry-editor__textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #6366f133}.entry-editor__textarea{resize:vertical}.entry-editor__ai-context{padding:var(--space-md);background:#f59e0b0d;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-md);font-size:.8rem;line-height:1.5}.entry-editor__ai-title{margin:0 0 var(--space-sm);font-size:.8rem;color:var(--color-warning)}.entry-editor__ai-context p{margin:0 0 var(--space-sm)}.entry-editor__ai-context ul{margin:var(--space-xs) 0 0 var(--space-lg);padding:0}.entry-editor__errors{padding:var(--space-sm) var(--space-md);background:var(--color-danger-bg);border-radius:var(--radius-sm);color:var(--color-danger);font-size:.8rem}.entry-editor__errors p{margin:0}.entry-editor__actions{display:flex;gap:var(--space-sm);justify-content:flex-end}
