@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--zinc-50:#fafafa;--zinc-100:#f4f4f5;--zinc-200:#e4e4e7;--slate-500:#64748b;--slate-900:#0f172a;--blue-50:#eff6ff;--blue-200:#bfdbfe;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--surface:#ffffffeb;--border:#e4e4e7eb;--text-strong:#09090b;--text:#27272a;--muted:#71717a;--sans:"Plus Jakarta Sans", sans-serif;--shadow-sm:0 10px 30px #0f172a0a;color:var(--text);font:15px/1.6 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:linear-gradient(#fff,#fafafa);margin:0}body,button,input{font-family:var(--sans)}h1,h2,h3{color:var(--text-strong);font-family:var(--sans);margin:0}h2,h3{letter-spacing:-.03em;font-weight:600}h1{letter-spacing:-.05em;font-weight:800}p{color:var(--muted)}.app-shell{grid-template-columns:17rem minmax(0,1fr);min-height:100vh;display:grid;position:relative}.app-shell--collapsed{grid-template-columns:5.75rem minmax(0,1fr)}.sidebar{border-right:1px solid var(--zinc-200);background:radial-gradient(circle at 0 0,#3b82f614,#0000 32%),linear-gradient(#fcfcfd,#f7f7f8);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.nav-item,.hero,.page,.upload-card,.inline-message{border:1px solid var(--zinc-200);background:#fff;border-radius:1.5rem}.sidebar__header{justify-content:space-between;align-items:center;gap:.9rem;padding:.35rem .15rem .2rem;display:flex}.sidebar__brand{align-items:center;gap:.9rem;min-width:0;display:flex}.sidebar__brand-text{min-width:0}.sidebar__brand-mark{width:2.75rem;height:2.75rem;color:var(--blue-700);letter-spacing:.08em;background:linear-gradient(#fffffffa,#eff6fff2);border:1px solid #3b82f629;border-radius:1rem;justify-content:center;align-items:center;font-size:.82rem;font-weight:800;display:inline-flex}.sidebar__brand-copy{margin:.22rem 0 0;font-size:.875rem}.sidebar__toggle{width:2.25rem;height:2.25rem;color:var(--slate-500);background:#ffffffdb;border:1px solid #e4e4e7eb;border-radius:.85rem;justify-content:center;align-items:center;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.sidebar__toggle:hover{color:var(--text-strong);background:#fff}.sidebar__toggle svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:1rem;height:1rem}.sidebar__nav{gap:.3rem;margin-top:.4rem;display:grid}.nav-item{text-align:left;background:0 0;border:1px solid #0000;border-radius:1rem;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:.8rem;padding:.9rem .95rem;transition:background .16s,border-color .16s,transform .16s;display:grid}.nav-item:hover:not(:disabled){background:#ffffffeb;transform:translate(2px)}.nav-item__icon{background:var(--zinc-50);width:2.25rem;height:2.25rem;color:var(--slate-500);border-radius:.85rem;justify-content:center;align-items:center;display:inline-flex}.nav-item__icon svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:1rem;height:1rem}.nav-item strong{color:var(--text-strong);font-size:.9375rem}.nav-item__label{transition:opacity .14s,max-width .14s}.nav-item--active{border-color:var(--blue-200);background:linear-gradient(#eff6fff5,#fffffffa);box-shadow:inset 0 1px #ffffffe6,0 10px 24px #3b82f614}.nav-item--active .nav-item__icon{color:var(--blue-700);background:#fff}.nav-item:disabled{cursor:not-allowed}.nav-item:disabled strong,.nav-item:disabled .nav-item__icon{opacity:.58}.sidebar--collapsed{padding-inline:.9rem}.sidebar--collapsed .sidebar__brand{gap:0}.sidebar--collapsed .sidebar__brand-text{opacity:0;max-width:0;overflow:hidden}.sidebar--collapsed .sidebar__header{flex-direction:column;justify-content:center;align-items:center}.sidebar--collapsed .sidebar__toggle{width:2.5rem}.sidebar--collapsed .nav-item{grid-template-columns:1fr;justify-items:center;gap:0;padding-inline:.55rem}.sidebar--collapsed .nav-item__label{display:none}.sidebar--collapsed .nav-item__icon{width:2.5rem;height:2.5rem}.main{align-items:center;padding:2rem 1rem;display:flex}.main--page{align-items:flex-start}.hero,.page{width:min(100%,84rem)}.reports-page{width:min(100%,86rem)}.hero{background:radial-gradient(circle at 100% 0,#bfdbfe73,#0000 26%),linear-gradient(135deg,#fff,#f8fbff 58%,#eef4ff);padding:2.5rem}.hero h1,.page h1{max-width:12ch;margin:0;font-size:clamp(2.4rem,6vw,4rem);line-height:.98}.hero__summary,.page__summary{max-width:42rem;margin:1rem 0 0;font-size:1rem}.hero__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.page{padding:2rem}.page--wide{width:min(100%,86rem)}.page__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page__header-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.inline-message{padding:1.35rem}.report-setup{margin-top:1.5rem;display:block}.field{gap:.55rem;margin-top:1.25rem;display:grid}.field--compact{margin-top:0}.field__label{color:var(--text-strong);font-size:.92rem;font-weight:700}.field__input{border:1px solid var(--zinc-200);width:100%;min-height:3.2rem;color:var(--text-strong);background:#fff;border-radius:1rem;padding:.85rem 1rem;transition:border-color .16s,box-shadow .16s}.field__input:focus{border-color:var(--blue-500);outline:0;box-shadow:0 0 0 4px #3b82f61f}.file-badge{background:var(--zinc-100);color:var(--slate-500);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.38rem .75rem;font-size:.8rem;font-weight:700;display:inline-flex}.file-badge--active{color:#166534;background:#dcfce7}.file-badge--info{color:#1d4ed8;background:#dbeafe}.file-badge--danger{color:#b91c1c;background:#fee2e2}.processing-card{border:1px solid var(--zinc-200);background:radial-gradient(circle at 100% 0,#dbeafe6b,#0000 24%),#fff;border-radius:1.5rem;margin-top:1.5rem;padding:1.4rem}.processing-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.processing-card__header h2{color:var(--text-strong);margin:.25rem 0 0;font-size:1.35rem}.processing-card__summary{max-width:44rem;margin:.9rem 0 0}.processing-state{border:1px solid var(--zinc-200);background:#fafafae6;border-radius:1rem;margin-top:1rem;padding:1rem}.processing-state__topline{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.processing-state__spinner{border:.18rem solid #2563eb29;border-top-color:var(--blue-600);border-radius:999px;width:1rem;height:1rem;animation:.8s linear infinite upload-card-spin}.processing-state__progress{background:var(--zinc-100);border-radius:999px;width:100%;height:.7rem;margin-top:.95rem;overflow:hidden}.processing-state__progress-bar{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#60a5fa);height:100%;transition:width .24s;display:block}.processing-state__meta{color:var(--muted);margin:.8rem 0 0;font-size:.92rem}.upload-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.upload-grid__footnote{text-align:center;margin:.9rem 0 0;font-size:.92rem}.upload-card{padding:1.25rem;transition:border-color .16s,background .16s,transform .16s}.upload-card--active{border-color:var(--blue-500);background:var(--blue-50)}.upload-card--disabled{background:linear-gradient(#fff,#fafafa)}.upload-card__title-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.upload-card__header h3{margin:0;font-size:1.125rem}.upload-card__header p{min-height:2.4em;margin:.45rem 0 0}.upload-card__dropzone{border:1px dashed var(--zinc-200);background:var(--zinc-50);cursor:pointer;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;height:11rem;margin-top:1rem;padding:1.2rem 1.2rem 1rem;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:flex;position:relative;overflow:hidden}.upload-card--active .upload-card__dropzone{border-color:var(--blue-500);background:#fff;box-shadow:inset 0 0 0 1px #3b82f614}.upload-card__dropzone--disabled{cursor:not-allowed;background:repeating-linear-gradient(-45deg,#f4f4f5e6,#f4f4f5e6 12px,#fafafaf5 12px 24px)}.upload-card__input{display:none}.upload-card__dropzone--uploading,.upload-card__dropzone--success{padding:1.5rem 1.5rem 1.2rem}.upload-card__dropzone--uploading{background:radial-gradient(circle at top,#dbeafee6,#eff6ffb8 58%,#fffffff5);border-color:#2563eb47}.upload-card__dropzone--success{background:radial-gradient(circle at top,#dcfce7f0,#ecfdf5db 58%,#fffffffa);border-color:#22c55e47;box-shadow:inset 0 0 0 1px #22c55e14,0 14px 28px #22c55e14}.upload-card__dropzone--error{background:#fef2f2;border-color:#ef444447}.upload-card__drop-copy{color:var(--text-strong);text-align:center;font-weight:600}.upload-card__drop-note{color:var(--muted);text-align:center}.upload-card__filename{width:100%;max-width:100%;color:var(--text-strong);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-weight:700;display:block;overflow:hidden}.upload-card__remove-button{z-index:1;position:absolute;top:.75rem;right:.75rem}.upload-card__state-shell{background:#ffffffad;border-radius:1.5rem;justify-content:center;align-items:center;width:4.75rem;height:4.75rem;display:inline-flex;box-shadow:inset 0 1px #ffffffe6,0 14px 32px #0f172a12}.upload-card__spinner{border:.28rem solid #2563eb29;border-top-color:var(--blue-600);border-radius:999px;width:2.2rem;height:2.2rem;animation:.8s linear infinite upload-card-spin}.upload-card__success-icon{color:#fff;background:linear-gradient(#22c55e,#16a34a);border-radius:999px;justify-content:center;align-items:center;width:2.7rem;height:2.7rem;display:inline-flex;box-shadow:0 10px 24px #22c55e47}.upload-card__success-icon svg{stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:1.35rem;height:1.35rem}.upload-card__error-copy{color:#b91c1c;text-align:center}.empty-state h2,.report-list__cell strong{color:var(--text-strong)}.report-list{border:1px solid var(--zinc-200);background:#ffffffeb;border-radius:1.25rem;margin-top:1.5rem;padding:.4rem;box-shadow:inset 0 1px #ffffffd9}.report-list__header,.report-list__row{grid-template-columns:minmax(0,2.1fr) minmax(10rem,1fr) minmax(10rem,1fr) auto;align-items:center;gap:1rem;display:grid}.report-list__header{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:.55rem .9rem .75rem;font-size:.8rem;font-weight:700}.report-list__row{cursor:pointer;border-radius:.95rem;padding:.95rem .9rem;transition:background .14s,color .14s,transform .14s}.report-list__row:hover,.report-list__row:focus-visible{background:linear-gradient(#f8fafcf5,#f1f5f9f5);outline:none}.report-list__row+.report-list__row{margin-top:.2rem}.report-list__cell{align-items:center;min-width:0;display:flex}.report-list__cell--title strong{font-size:1rem;display:block}.report-list__cell--actions{opacity:.72;justify-content:flex-end;gap:.75rem;transition:opacity .14s;display:flex}.report-list__row:hover .report-list__cell--actions,.report-list__row:focus-visible .report-list__cell--actions{opacity:1}.empty-state h2{margin:.2rem 0 0;font-size:1.45rem}.empty-state{text-align:center;align-content:center;justify-items:center;gap:.75rem;min-height:50vh;display:grid}.empty-state__icon{width:4.75rem;height:4.75rem;color:var(--blue-700);background:radial-gradient(circle at top,#dbeafef2,#eff6ffe6);border-radius:1.5rem;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 1px #ffffffe6,0 20px 44px #2563eb1f}.empty-state__icon svg{stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:1.6rem;height:1.6rem}.inline-message{color:var(--text-strong);margin-top:1rem}.inline-message--error{color:#991b1b;background:#fef2f2;border-color:#ef444438}.report-workspace{flex-direction:column;gap:1rem;width:100%;display:flex}.workspace-toolbar{align-items:center;gap:.75rem;display:flex}.workspace-toolbar .question-dropdown{flex:1;min-width:0}.workspace-toolbar__actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.workspace-toolbar__actions .button{border-radius:.75rem;align-items:center;gap:.4rem;height:2.75rem;padding:0 1rem;font-size:.875rem;display:inline-flex}.workspace-toolbar__actions .button svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:1rem;height:1rem}.workspace-pane__content{background:0 0;border:none;border-radius:0}.question-dropdown{z-index:10;position:relative}.question-dropdown__trigger{border:1px solid var(--zinc-200);text-align:left;cursor:pointer;background:#fff;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.75rem;width:100%;height:2.75rem;padding:0 1rem;transition:border-color .16s,box-shadow .16s;display:flex}.question-dropdown__trigger:hover{border-color:var(--blue-200)}.question-dropdown__trigger svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:1rem;height:1rem;color:var(--slate-500);flex-shrink:0}.question-dropdown__trigger-text{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;font-weight:600;overflow:hidden}.question-dropdown__panel{border:1px solid var(--zinc-200);background:#fff;border-radius:.75rem;gap:.2rem;max-height:min(24rem,60vh);padding:.5rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:hidden auto;box-shadow:0 12px 32px #00000014,0 2px 6px #0000000a}.question-dropdown__item{text-align:left;width:100%;color:var(--text-strong);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.75rem;padding:.7rem .85rem;font-size:.94rem;font-weight:500;line-height:1.35;transition:background .14s,border-color .14s;display:block}.question-dropdown__item:hover{background:var(--zinc-50)}.question-dropdown__item--active{border-color:var(--blue-200);background:#eff6ffb3;font-weight:600}.question-dropdown__status{color:var(--muted);padding:.7rem .85rem;font-size:.9rem}.question-dropdown__status--error{color:#991b1b}.workspace-pane{background:0 0;padding:1.5rem}.workspace-card{border:1px solid var(--zinc-200);background:#fff;border-radius:1.25rem;padding:1.5rem}.workspace-pane__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.chart-type-toggle{border:1px solid var(--zinc-200);background:var(--zinc-50);border-radius:.9rem;flex-shrink:0;align-items:center;gap:.25rem;padding:.25rem;display:inline-flex}.chart-type-toggle__button{color:var(--slate-600);font:inherit;background:0 0;border:none;border-radius:.7rem;padding:.7rem .9rem;font-size:.875rem;font-weight:600;line-height:1;transition:background .16s,color .16s,box-shadow .16s}.chart-type-toggle__button--active{color:var(--text-strong);background:#fff;box-shadow:0 1px 2px #0f172a14}.workspace-pane__header h1{max-width:none;font-size:clamp(1.25rem,2.5vw,1.5rem)}.workspace-pane__content{justify-content:center;align-items:center;min-height:28rem;margin-top:1rem;display:flex}.workspace-pane__content h2,.workspace-pane__empty{text-align:center;max-width:24ch}.workspace-pane__content h2{color:var(--text-strong);margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1.02}.workspace-pane__empty{margin:0}.workspace-summary{border:1px solid var(--zinc-200);background:linear-gradient(#f8fafce6,#fff),#fff;border-radius:1rem;margin-top:1.5rem;padding:1.5rem}.workspace-summary__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.workspace-summary__eyebrow{color:var(--slate-500);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:.8rem;font-weight:700}.workspace-summary__heading{color:var(--text-strong);margin:0;font-size:1.15rem}.workspace-summary__body,.workspace-summary__empty{margin-top:1.25rem}.workspace-summary__title{color:var(--text-strong);margin:0;font-size:clamp(1.25rem,2.8vw,1.6rem);line-height:1.2}.workspace-summary__text{gap:.95rem;margin-top:1rem;display:grid}.workspace-summary__text p,.workspace-summary__empty p,.workspace-summary__status{color:var(--slate-700);margin:0;font-size:1rem;line-height:1.7}.workspace-summary__text strong{color:var(--text-strong);font-weight:700}.workspace-summary__empty{border:1px dashed var(--zinc-300);background:#f8fafcbf;border-radius:.9rem;padding:1rem 1.05rem}.workspace-summary__status{color:var(--slate-500);margin-top:1rem}.answer-chart{grid-template-columns:minmax(0,1fr) minmax(14rem,18rem);align-items:center;gap:1.5rem;width:100%;max-width:56rem;display:grid}.answer-chart__canvas{min-width:0}.answer-chart__legend{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.answer-chart__legend-item{align-items:flex-start;gap:.75rem;display:flex}.answer-chart__legend-swatch{border-radius:999px;flex:none;width:.85rem;height:.85rem;margin-top:.3rem}.answer-chart__legend-label{color:var(--text-strong);font-size:.94rem;font-weight:500;line-height:1.45}.answer-bar-chart{width:100%}@keyframes upload-card-spin{to{transform:rotate(360deg)}}.button{font:inherit;border:1px solid #0000;border-radius:999px;padding:.78rem 1.1rem;font-weight:600}.button--primary{background:var(--blue-600);color:#fff}.button--primary:hover:not(:disabled){background:var(--blue-700)}.button--primary:disabled,.button--ghost:disabled{opacity:.6;cursor:not-allowed}.button--secondary{border-color:var(--zinc-200);color:var(--text-strong);background:#fff}.button--ghost{color:#b91c1c;background:#fff;border-color:#ef44442e}.icon-button{border:1px solid var(--zinc-200);width:2.4rem;height:2.4rem;color:var(--slate-500);background:#fff;border-radius:.8rem;justify-content:center;align-items:center;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.icon-button:hover:not(:disabled){transform:translateY(-1px)}.icon-button svg{stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:1rem;height:1rem}.icon-button--danger:hover:not(:disabled),.icon-button--danger:focus-visible{color:#b91c1c;background:#fef2f2;border-color:#ef44444d}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.75rem;font-weight:600}a{color:inherit;text-decoration:none}button{cursor:pointer}a,button,input,label{font:inherit}button:focus-visible,a:focus-visible,.field__input:focus-visible,.upload-card__dropzone:focus-within{outline:2px solid var(--blue-500);outline-offset:2px}@media (width<=1200px){.report-workspace,.upload-grid,.report-list__header,.report-list__row{grid-template-columns:1fr}.report-list__header{display:none}.report-list__row{border:1px solid var(--zinc-200);border-radius:1rem;margin-top:.9rem;padding:1rem}.report-list{box-shadow:none;background:0 0;border:0;padding:0}.report-list__cell--actions{opacity:1;justify-content:flex-start}.question-rail{max-height:none;position:static}}@media (width<=960px){.app-shell,.app-shell--collapsed{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--zinc-200)}.sidebar--collapsed{padding-inline:1.5rem}.sidebar--collapsed .sidebar__header{flex-direction:row;justify-content:space-between;align-items:center}.sidebar--collapsed .sidebar__brand{gap:.9rem}.sidebar--collapsed .sidebar__brand-text,.sidebar--collapsed .nav-item__label{opacity:1;max-width:none;overflow:visible}.sidebar--collapsed .nav-item{grid-template-columns:2.25rem minmax(0,1fr);justify-items:stretch;padding-inline:.95rem}.main{padding:1rem}.report-workspace--rail-collapsed{grid-template-columns:1fr}.question-rail--collapsed{padding-inline:1.25rem}.question-rail--collapsed .question-rail__heading{display:block}.question-rail--collapsed .question-rail__header{justify-content:space-between}.question-rail--collapsed .question-rail__item{grid-template-columns:2.5rem minmax(0,1fr);justify-items:stretch;padding-inline:.9rem}.question-rail--collapsed .question-rail__item-label{opacity:1;max-width:none;overflow:visible}}@media (width<=720px){.page,.hero{padding:1.3rem}.page__header,.page__header-actions,.workspace-pane__header,.workspace-summary__header,.report-list__cell--actions,.upload-card__title-row,.report-list__row{flex-direction:column;align-items:stretch}.question-rail,.workspace-pane,.workspace-pane__content,.workspace-summary{padding:1rem}.chart-type-toggle{width:100%}.chart-type-toggle__button{flex:1 1 0}.answer-chart{grid-template-columns:1fr}}
