.cas-upload{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000001a;margin:2rem auto;max-width:600px;padding:2rem}.upload-header{margin-bottom:2rem;text-align:center}.upload-header h2{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.upload-header p{color:#64748b;font-size:.95rem;margin:0}.upload-dropzone{background:#fafafa;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;margin-bottom:1.5rem;padding:3rem 2rem;text-align:center;transition:all .2s ease}.upload-dropzone:hover{background:#f5f3ff;border-color:#6366f1}.upload-dropzone.active{background:#eef2ff;border-color:#6366f1;border-style:solid}.upload-dropzone.has-file{background:#f0fdf4;border-color:#10b981;border-style:solid}.dropzone-icon{display:block;font-size:3rem;margin-bottom:1rem}.upload-dropzone p{color:#64748b;margin:0}.dropzone-hint{color:#94a3b8;font-size:.875rem;margin-top:.5rem}.file-selected{align-items:center;display:flex;gap:.75rem;justify-content:center}.file-icon{font-size:2rem}.file-name{color:#1e293b;font-weight:600;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-remove{align-items:center;background:#fee2e2;border:none;border-radius:50%;color:#dc2626;cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;transition:background .2s;width:28px}.file-remove:hover{background:#fecaca}.password-section{margin-bottom:1.5rem}.password-section label{color:#1e293b;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.password-input-wrapper input{border:1px solid #e2e8f0;border-radius:8px;font-family:monospace;font-size:1rem;letter-spacing:.05em;padding:.875rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}.password-input-wrapper input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.password-hint{background:#fef3c7;border-radius:8px;color:#92400e;display:flex;font-size:.875rem;gap:.75rem;margin-top:.75rem;padding:1rem}.hint-icon{flex-shrink:0}.hint-example{color:#a16207;font-size:.8rem}.family-member-section{margin-bottom:1.5rem}.family-member-section label{color:#1e293b;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.family-member-select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:1rem;padding:.875rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}.family-member-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.family-hint{color:#64748b;font-size:.813rem;margin-top:.5rem}.error-message{align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1.5rem;padding:1rem}.error-icon{flex-shrink:0}.upload-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-cancel:hover:not(:disabled){background:#f8fafc}.btn-cancel:disabled{cursor:not-allowed;opacity:.5}.btn-upload{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;transition:transform .2s,box-shadow .2s}.btn-upload:hover:not(:disabled){box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.btn-upload:disabled{cursor:not-allowed;opacity:.5;transform:none}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:600px){.cas-upload{margin:1rem;padding:1.5rem}.upload-dropzone{padding:2rem 1rem}.upload-actions{flex-direction:column-reverse}.btn-cancel,.btn-upload{justify-content:center;width:100%}}.portfolio-review{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000001a;margin:2rem auto;max-width:900px;padding:2rem}.review-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.review-title h2{align-items:center;color:#16a34a;display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;margin:0 0 .25rem}.review-title h2:before{content:"✅"}.review-title p{color:#64748b;font-size:.95rem;margin:0}.review-total{text-align:right}.total-label{color:#64748b;display:block;font-size:.875rem;margin-bottom:.25rem}.total-value{color:#1e293b;font-size:1.75rem;font-weight:700}.review-instructions{color:#64748b;font-size:.95rem;margin:0 0 1.5rem}.asset-type-filter{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-bottom:1.5rem;padding:.875rem 1rem}.filter-bar{flex-wrap:wrap;gap:.75rem}.filter-bar,.filter-checkbox{align-items:center;display:flex}.filter-checkbox{cursor:pointer;gap:.375rem;-webkit-user-select:none;user-select:none}.filter-checkbox input[type=checkbox]{accent-color:#16a34a;cursor:pointer;height:16px;width:16px}.filter-label{color:#1e293b;font-size:.875rem;font-weight:500}.filter-divider{color:#cbd5e1;font-size:1rem}.filter-hint{color:#64748b;font-size:.8rem;margin:.5rem 0 0}.investment-section{margin-bottom:2rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.section-header h3{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0}.section-total{color:#6366f1;font-size:1rem;font-weight:600}.investments-table-wrapper{overflow-x:auto}.investments-table{border-collapse:collapse;font-size:.9rem;width:100%}.investments-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:.8rem;font-weight:600;letter-spacing:.03em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.investments-table td{border-bottom:1px solid #f1f5f9;color:#1e293b;padding:.875rem 1rem}.investments-table tr:hover{background:#f8fafc}.name-cell{max-width:300px}.investment-name{color:#1e293b;display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-symbol{background:#e0e7ff;border-radius:4px;color:#4338ca;display:inline-block;font-size:.75rem;font-weight:600;margin-top:.25rem;padding:.125rem .5rem}.isin-cell{color:#64748b;font-family:monospace;font-size:.8rem}.text-right{text-align:right}.value-cell{color:#1e293b;font-weight:600;white-space:nowrap}.actions-col{width:80px}.actions-cell,.actions-col{text-align:center}.btn-icon{background:#0000;border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.375rem;transition:background .2s}.btn-icon:hover{background:#f1f5f9}.btn-delete:hover{background:#fee2e2}.no-investments{background:#f8fafc;border-radius:12px;color:#64748b;padding:3rem;text-align:center}.review-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.btn-cancel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:1rem;font-weight:500;padding:.875rem 1.5rem;transition:background .2s}.btn-cancel:hover{background:#f8fafc}.btn-save{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 1.5rem;transition:transform .2s,box-shadow .2s}.btn-save:hover:not(:disabled){box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.btn-save:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.portfolio-review{margin:1rem;padding:1.25rem}.review-header{flex-direction:column}.review-total{text-align:left}.investments-table td,.investments-table th{padding:.625rem .5rem}.review-actions{flex-direction:column-reverse}.btn-cancel,.btn-save{justify-content:center;text-align:center;width:100%}}
/*# sourceMappingURL=4077.b30e74f7.chunk.css.map*/