:root{--warm-500: #ff5a5a;--warm-400: #ff8b5a;--warm-300: #ffa95a;--warm-200: #ffd45a;--surface-0: #fffdfb;--surface-1: #fff8f3;--surface-2: #fff3ea;--border-soft: #f3e2d7;--text-strong: #2f261f;--text-body: #54463a;--text-muted: #7b6a5d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--text-strong);background-color:#fdf7f1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#fff4ed,#fff9f3 42%,#fffdf9)}.page-shell{min-height:100vh;padding:clamp(1.2rem,3vw,2.5rem) clamp(.9rem,4vw,1.8rem) clamp(2.2rem,6vw,4rem)}.hero{max-width:920px;margin:0 auto clamp(1.2rem,3.8vw,2.4rem);text-align:center}.brand{margin:0;color:var(--warm-400);font-weight:600;letter-spacing:.14em;text-transform:uppercase}.hero h1{margin:.6rem 0 0;font-size:clamp(1.55rem,4.6vw,2.7rem);line-height:1.22;color:var(--text-strong);margin-inline:auto}.content{max-width:920px;margin:0 auto;display:grid;gap:clamp(.75rem,2.2vw,1rem)}.card,.empty-state,.loading-card,.error-alert,.results,.summary-card,.group-card{border-radius:22px;background:color-mix(in srgb,var(--surface-0) 92%,white 8%);border:1px solid var(--border-soft);box-shadow:0 18px 40px #67452b14}.card{padding:clamp(.95rem,3.4vw,1.7rem)}.form-layout{display:grid;gap:1rem}.field-group{position:relative;display:grid;gap:.45rem;font-weight:600;color:#44352a;min-width:0}select:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.dropzone:focus-visible,.select-trigger:focus-visible,.option-item:focus-visible{outline:3px solid color-mix(in srgb,var(--warm-500) 36%,transparent);outline-offset:2px}.dropzone{border:1.5px dashed color-mix(in srgb,var(--warm-300) 65%,#eacfbf 35%);border-radius:16px;padding:clamp(.95rem,3vw,1.45rem);background:linear-gradient(180deg,var(--surface-1),var(--surface-0));cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.dropzone:hover{border-color:var(--warm-400);box-shadow:0 14px 26px #ff8b5a24;transform:translateY(-1px)}.dropzone.is-disabled{opacity:.65;cursor:not-allowed}.dropzone-content{text-align:center}.dropzone-title{margin:0;color:#382c22;font-weight:600;font-size:clamp(.95rem,2.7vw,1.03rem)}.dropzone-subtitle{margin:.25rem 0 0;color:var(--text-muted);font-size:clamp(.83rem,2.3vw,.95rem)}.file-chip{margin:.9rem auto 0;display:block;border-radius:999px;max-width:260px;background:color-mix(in srgb,var(--warm-200) 24%,white);border:1px solid color-mix(in srgb,var(--warm-300) 52%,#f0cdb3);padding:.35rem .75rem;font-size:.87rem;color:#8f4628;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid #e8d7cb;border-radius:12px;padding:.82rem .9rem;background:#fffdf9;color:var(--text-strong);font:inherit;cursor:pointer;min-height:46px;min-width:0}.select-trigger:disabled{opacity:.65;cursor:not-allowed}.selected-broker{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.selected-broker>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placeholder{color:#917c6c}.select-chevron{color:var(--warm-400);transition:transform .2s ease}.select-chevron.is-open{transform:rotate(180deg)}.select-options{margin:0;margin-top:.45rem;padding:.35rem;list-style:none;border:1px solid #ecdacb;border-radius:12px;background:#fffdf9;box-shadow:0 18px 36px #5e3c2524;display:grid;gap:.2rem;position:absolute;top:100%;left:0;right:0;z-index:20}.option-item{width:100%;border:0;background:transparent;border-radius:10px;padding:.58rem .62rem;text-align:left;display:flex;align-items:center;gap:.55rem;color:#33271d;cursor:pointer;font:inherit}.option-item:hover{background:color-mix(in srgb,var(--warm-300) 16%,white)}.option-item.is-selected{background:color-mix(in srgb,var(--warm-200) 36%,white);color:#8c4625}.broker-badge{width:28px;height:28px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff}.badge-trading212{background:#e6f8ee;color:#25784b}.badge-ibkr{background:#ffe9e7;color:#9c2d2a}.badge-etoro{background:#eaf8e9;color:#2f5d2f}.badge-revolut{background:#e9edf8;color:#1f2a4f}.helper-text,.note-text{margin:0;color:var(--text-muted);font-size:clamp(.84rem,2.25vw,.93rem)}.primary-button,.secondary-button{border:0;border-radius:12px;padding:.88rem 1.15rem;font-size:.98rem;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease;min-height:46px}.primary-button{color:#fff;background:var(--warm-500);box-shadow:0 14px 26px #ff5a5a52}.primary-button:disabled{cursor:not-allowed;filter:grayscale(.2);opacity:.75}.primary-button:not(:disabled):hover{background:#f85050;transform:translateY(-1px)}.secondary-button{color:#543a2b;background:color-mix(in srgb,var(--warm-200) 20%,white);border:1px solid color-mix(in srgb,var(--warm-300) 40%,#f1d5c1)}.secondary-button:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--warm-200) 30%,white)}.loading-card,.empty-state,.error-alert{padding:1.05rem 1.1rem}.loading-card{display:flex;align-items:center;gap:.75rem;color:#725541}.spinner{width:18px;height:18px;border:3px solid color-mix(in srgb,var(--warm-300) 35%,white);border-top-color:var(--warm-500);border-radius:50%;animation:spin .9s linear infinite}.error-alert{color:#7a3025;border-color:color-mix(in srgb,var(--warm-500) 30%,#f6d2c7);background:#fff4f0}.empty-state{text-align:center}.empty-state h2{margin:0;color:#3c2f25;font-size:clamp(1.1rem,3.3vw,1.4rem)}.empty-state p{margin-bottom:0;color:#786656}.results{padding:1rem;display:grid;gap:1rem}.summary-card{padding:clamp(.95rem,2.8vw,1.15rem);display:flex;justify-content:space-between;align-items:flex-end;border-color:color-mix(in srgb,var(--warm-300) 40%,#ebd5c5);background:linear-gradient(180deg,color-mix(in srgb,var(--warm-200) 28%,white),color-mix(in srgb,var(--warm-300) 12%,white))}.summary-label{margin:0;color:#7f5a42;font-size:.9rem}.summary-value{margin:.3rem 0 0;color:#b84338;font-size:clamp(1.45rem,4.4vw,2.1rem);font-weight:700}.summary-currency{color:#745947;font-size:.94rem}.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.group-card{padding:.85rem}.group-card h3{margin-top:0;margin-bottom:.75rem;color:#413126}.metric-card{padding:.66rem .75rem;background:color-mix(in srgb,var(--surface-0) 94%,white);border:1px solid #f0e3d8;border-radius:12px}.metric-card+.metric-card{margin-top:.55rem}.metric-card p{margin:0;color:#796554;font-size:.84rem}.metric-card strong{margin-top:.14rem;display:block;color:var(--text-strong)}.results-actions{display:flex;justify-content:flex-end}.results-enter{animation:slideUp .35s ease}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.broker-icon{width:100%;height:100%;object-fit:cover}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 840px){.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{flex-direction:column;align-items:flex-start;gap:.55rem}}@media (max-width: 700px){.card,.results,.empty-state,.loading-card,.error-alert,.summary-card,.group-card{border-radius:16px}.results-grid{grid-template-columns:1fr}.results-actions{justify-content:stretch}.results-actions .secondary-button{width:100%}}@media (max-width: 560px){.page-shell{padding-top:1rem}.hero{text-align:left}.hero h1{margin-inline:0}.select-options{max-height:min(300px,55vh);overflow-y:auto}.dropzone-content{text-align:left}.file-chip{margin-inline:0}.primary-button,.secondary-button{width:100%}}
