:root{color-scheme:light;--bg-1: #edf3f6;--bg-2: #edf1f5;--bg-3: #e1eaee;--panel: rgba(255, 255, 255, .68);--panel-strong: rgba(255, 255, 255, .8);--surface: rgba(255, 255, 255, .52);--surface-strong: rgba(248, 251, 253, .9);--surface-alt: rgba(241, 246, 248, .9);--border: rgba(123, 143, 163, .2);--border-strong: rgba(77, 97, 120, .2);--text: #122131;--text-soft: #52657a;--muted: #5d6d7c;--green: #157c62;--green-soft: rgba(21, 124, 98, .12);--green-deep: #0a5b49;--amber: #8d6514;--amber-soft: rgba(141, 101, 20, .12);--blue: #2e5478;--blue-soft: rgba(46, 84, 120, .1);--red: #9b4747;--shadow: rgba(17, 33, 49, .08);--shadow-strong: rgba(17, 33, 49, .12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(119,146,168,.18),transparent 26%),radial-gradient(circle at bottom right,rgba(21,124,98,.08),transparent 24%),linear-gradient(180deg,var(--bg-1) 0%,var(--bg-2) 100%)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.74}img{max-width:100%;display:block}#root{min-height:100vh}.app-shell{position:relative;min-height:100vh;overflow:hidden}.background-glow{position:absolute;border-radius:50%;filter:blur(100px);opacity:.42;pointer-events:none}.glow-one{width:420px;height:420px;top:-120px;left:-60px;background:#177b641f}.glow-two{width:500px;height:500px;right:-120px;bottom:-80px;background:#4f7aaa1a}.page-container{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:28px 20px 52px}.glass-panel{background:#ffffff8f;border:1px solid rgba(132,150,170,.18);box-shadow:0 20px 40px #1121310d,inset 0 1px #fffc;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border-radius:20px;margin-bottom:20px;position:sticky;top:12px;z-index:10}.brand-wrap{display:flex;align-items:center;gap:14px;min-width:0}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#157c621f,#2e547814);color:var(--green-deep);border:1px solid rgba(123,143,163,.18)}.brand-copy{display:flex;flex-direction:column;min-width:0}.brand-copy h1{margin:0;font-size:1.08rem;line-height:1.2;letter-spacing:-.05em}.brand-copy p{margin:2px 0 0;font-size:.72rem;color:var(--muted)}.status-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:7px 12px;border-radius:999px;background:#ffffff80;border:1px solid rgba(130,148,167,.2);color:var(--green-deep);font-weight:600;font-size:.76rem;letter-spacing:-.01em}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #157c621f}.main-content{display:flex;flex-direction:column;gap:24px}.workspace-panel{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);gap:20px;padding:24px;border-radius:28px}.workspace-main,.workspace-side,.result-summary-panel,.results-panel{position:relative}.workspace-main{display:flex;flex-direction:column;gap:18px;min-width:0}.panel-kicker{margin:0;color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700}.workspace-title,.result-summary-head h2{margin:0;line-height:1.1;letter-spacing:-.06em}.workspace-title{font-size:clamp(2rem,2.8vw,3rem)}.workspace-subtitle{margin:0;max-width:64ch;color:var(--muted);line-height:1.6}.workspace-side{display:flex;align-items:stretch}.side-panel{width:100%;display:flex;flex-direction:column;gap:16px;padding:18px;border-radius:22px;background:linear-gradient(180deg,#ffffff85,#f1f6fad1);border:1px solid rgba(129,146,167,.18)}.side-header{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 10px;border-radius:999px;background:#ffffff73;border:1px solid rgba(130,148,167,.14);color:var(--green-deep);font-size:.74rem;font-weight:700}.file-summary{display:flex;align-items:center;gap:12px;padding:14px 12px;border-radius:16px;background:#ffffff6b;border:1px solid rgba(130,148,167,.16)}.file-summary-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#157c6217;color:var(--green-deep)}.file-summary-copy{display:flex;flex-direction:column;min-width:0}.file-summary-copy strong{font-size:.9rem;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-summary-copy span{color:var(--muted);font-size:.74rem}.checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.checklist li{display:flex;align-items:center;gap:8px;padding:7px 0;color:var(--text-soft);border-bottom:1px solid rgba(130,148,167,.12)}.checklist li:last-child{border-bottom:none}.checklist svg{color:var(--green)}.empty-side-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:220px;text-align:center;border-radius:16px;background:#ffffff2e;border:1px dashed rgba(130,148,167,.2);color:var(--muted)}.empty-side-state strong{font-size:1rem;color:var(--text)}.empty-side-state span{display:block;max-width:22ch;line-height:1.5;font-size:.8rem}.upload-zone{position:relative;border-radius:22px;padding:18px;border:1.2px dashed rgba(117,140,166,.35);background:#ffffff5c;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}.upload-zone:hover{border-color:#157c625c}.upload-zone.is-dragging{background:#ffffffad;border-color:#157c6280;box-shadow:0 20px 30px #1121310f}.upload-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;min-height:254px;text-align:center}.upload-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;color:var(--green-deep);background:linear-gradient(135deg,#157c621f,#2e547814);border:1px solid rgba(123,143,163,.2)}.upload-copy{display:flex;flex-direction:column;gap:8px}.upload-copy h2{margin:0;font-size:clamp(1.2rem,2vw,1.8rem);letter-spacing:-.05em}.upload-copy p{margin:0;color:var(--muted);line-height:1.6}.selected-file-card{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:120px;padding:18px 16px;border-radius:18px;background:#ffffff80;border:1px solid rgba(123,143,163,.18)}.file-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#157c6217;color:var(--green-deep);flex-shrink:0}.file-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.file-meta strong{font-size:.96rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta span{color:var(--muted);font-size:.76rem}.ghost-button,.primary-button,.secondary-button,.download-card{appearance:none;border:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border-radius:12px;background:#ffffff6b;border:1px solid rgba(155,71,71,.14);color:var(--red)}.secondary-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;border-radius:12px;font-weight:700;letter-spacing:-.02em}.primary-button{background:linear-gradient(135deg,#0e5d4d,#183f63);color:#fff;box-shadow:0 12px 24px #11213124}.secondary-button{background:#ffffff6e;color:var(--text);border:1px solid rgba(130,148,167,.18)}.primary-button:hover,.secondary-button:hover,.download-card:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:active,.secondary-button:active,.download-card:active,.ghost-button:active{transform:translateY(0)}.error-banner{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#9b47470f;border:1px solid rgba(155,71,71,.12);color:var(--red);font-weight:600}.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.processing-status{display:flex;flex-direction:column;gap:14px;padding:18px 20px;border-radius:18px;background:#ffffff57;border:1px solid rgba(130,148,167,.14)}.processing-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.processing-label{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.processing-tag{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:5px 10px;border-radius:999px;background:#157c621a;color:var(--green-deep);font-size:.7rem;font-weight:700}.step-list{display:grid;gap:10px}.step-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:#ffffff2e;color:var(--text-soft);border:1px solid transparent;transition:all .2s ease}.step-item.done{color:var(--green-deep);background:#157c620f;border-color:#157c6214}.step-item.active{color:var(--blue);background:#2e54780d;border-color:#2e547814}.step-item.pending{opacity:.7}.step-bullet{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#1121310f;font-size:.66rem;font-weight:700;color:currentColor}.step-item.done .step-bullet{background:#157c621f}.step-item.active .step-bullet{background:#2e54781f}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.result-summary-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:24px}.result-summary-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}.result-summary-head h2{font-size:clamp(1.5rem,2vw,2.2rem)}.results-panel{padding:24px;border-radius:26px}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.results-header h2{margin:6px 0 0;font-size:clamp(1.1rem,1.8vw,1.6rem);letter-spacing:-.04em}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.summary-card{display:flex;flex-direction:column;gap:14px;min-height:160px;padding:16px 16px 14px;border-radius:18px;background:#ffffff6b;border:1px solid rgba(130,148,167,.16);box-shadow:inset 0 1px #fff9}.summary-success{border-color:#157c6224}.summary-warning{border-color:#8d65142e}.summary-info{border-color:#2e547824}.summary-danger{border-color:#9b47471f}.card-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.summary-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#ffffff6b;border:1px solid rgba(130,148,167,.14);color:var(--blue)}.trend-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:#ffffff61;color:var(--muted);font-size:.7rem;font-weight:600}.summary-body{display:flex;flex-direction:column;gap:6px}.summary-label{margin:0;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;font-weight:700}.summary-body h3{margin:0;font-size:clamp(2rem,2.5vw,2.7rem);line-height:1;letter-spacing:-.07em;font-variant-numeric:tabular-nums}.summary-body span{color:var(--muted);font-size:.74rem;line-height:1.5}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.detail-section{margin-top:22px}.review-section{padding:16px;border-radius:18px;background:#ffffff38;border:1px solid rgba(130,148,167,.14)}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title-row h3{margin:4px 0 0;font-size:1.08rem;letter-spacing:-.04em}.mini-tag{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 10px;border-radius:999px;font-size:.7rem;font-weight:700}.mini-tag.amber{background:#8d65141a;color:var(--amber);border:1px solid rgba(141,101,20,.12)}.mini-tag.green{background:#157c621f;color:var(--green-deep);border:1px solid rgba(21,124,98,.14)}.table-wrap{overflow-x:auto;border-radius:14px;border:1px solid rgba(130,148,167,.16);background:#ffffff1f}.review-table{width:100%;min-width:880px;border-collapse:collapse}.review-table th,.review-table td{padding:12px 11px;border-bottom:1px solid rgba(130,148,167,.14);text-align:left;vertical-align:top}.review-table th{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:#ffffff1f}.review-table td{font-size:.88rem;color:var(--text)}.motives-list{display:flex;flex-wrap:wrap;gap:8px}.motivo-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#8d651414;color:var(--amber);border:1px solid rgba(141,101,20,.16);font-size:.72rem;line-height:1.2}.empty-state{display:flex;align-items:center;justify-content:center;gap:10px;min-height:72px;padding:12px 14px;border-radius:14px;background:#ffffff24;border:1px solid rgba(130,148,167,.14);color:var(--muted)}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.download-card{display:flex;align-items:center;gap:14px;min-height:82px;padding:15px 16px;border-radius:16px;text-decoration:none;color:var(--text);background:#ffffff57;border:1px solid rgba(130,148,167,.16);box-shadow:inset 0 1px #ffffff6b}.download-card.primary{background:linear-gradient(135deg,#ffffff70,#e1eaf061)}.download-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#2e547814;color:var(--blue)}.download-icon.warning{background:#8d651414;color:var(--amber)}.download-card strong{display:block;margin:0 0 3px;font-size:.98rem}.download-card span{color:var(--muted);font-size:.78rem}@media(max-width:980px){.workspace-panel{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr}}@media(max-width:720px){.page-container{padding:18px 14px 36px}.topbar,.result-summary-head{flex-direction:column;align-items:flex-start}.topbar{padding:14px 16px}.panel-kicker{letter-spacing:.1em}.workspace-panel,.results-panel,.result-summary-panel{padding:18px 16px}.summary-grid,.download-grid{grid-template-columns:1fr}.selected-file-card{flex-direction:column;align-items:flex-start}.ghost-button,.primary-button,.secondary-button{width:100%}.cta-row{flex-direction:column;align-items:stretch}}
