html,body,#root{width:100%;min-height:100%}html,body{margin:0;padding:0}body{min-height:100vh;min-height:100dvh;overflow-x:hidden}*,*:before,*:after{box-sizing:border-box}.auth-container{position:fixed;inset:0;width:100vw;min-height:100dvh;display:grid;place-items:center;padding:24px;overflow:hidden;z-index:1000;background:radial-gradient(circle at 10% 20%,rgba(99,102,241,.28),transparent 35%),radial-gradient(circle at 85% 15%,rgba(20,184,166,.22),transparent 38%),radial-gradient(circle at 50% 95%,rgba(59,130,246,.2),transparent 42%),linear-gradient(145deg,#060b1b,#0a1229 46%,#101d3f)}.auth-container:before,.auth-container:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;filter:blur(36px);opacity:.36;pointer-events:none}.auth-container:before{background:#22d3ee;top:-120px;right:-70px}.auth-container:after{background:#818cf8;bottom:-150px;left:-110px}.auth-card-wrap{width:100%;max-width:470px;position:relative;z-index:1}.auth-card{width:100%;max-width:470px;padding:38px 34px;display:flex;flex-direction:column;gap:18px;border-radius:22px;border:1px solid rgba(148,163,184,.35);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(165deg,#0a1021e6,#080d1bd1);box-shadow:0 30px 65px #02061773,inset 0 1px #ffffff0f}.auth-header{text-align:center}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:20px}.auth-logo{width:100px;height:100px;object-fit:contain;border-radius:18px;padding:10px;background:#ffffffeb;box-shadow:0 12px 28px #1e293b59,0 0 0 1px #ffffff59 inset}.auth-brand-text{display:flex;flex-direction:column;gap:2px}.auth-brand-text strong{font-size:1.15rem;letter-spacing:.03em;color:#e8eefc}.auth-brand-text span{font-size:.78rem;color:#cbd5e1cc}.auth-header h2{margin:0 0 8px;font-size:30px;color:#f8fafc;letter-spacing:.02em}.auth-header p{color:#cbd5e1eb;font-size:14px;margin:0}.auth-form{display:flex;flex-direction:column;gap:15px}.password-input-wrap{position:relative}.password-input-wrap input{width:100%;padding-right:46px}.password-toggle-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#cbd5e1e6;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.password-toggle-btn:hover{background:#6366f129;border-color:#818cf866;color:#e2e8f0}.auth-submit-btn{width:100%;padding:13px;font-size:16px;margin-top:14px;color:#fff!important;font-weight:700;letter-spacing:.01em;border-radius:12px;background:linear-gradient(135deg,#0f172a,#1d4ed8 52%,#4f46e5);border:1px solid rgba(148,163,184,.45);box-shadow:0 18px 30px #082f7d66}.auth-toggle{text-align:center;margin-top:15px;font-size:14px;color:#cbd5e1e0}.auth-toggle span{color:#93c5fd;cursor:pointer;text-decoration:underline}.auth-error{background-color:#f871711f;color:#fecaca;padding:12px;border-radius:8px;text-align:center;font-size:14px;border:1px solid rgba(248,113,113,.36)}@media(max-width:600px){.auth-container{padding:16px}.auth-card{padding:28px 20px;border-radius:18px}.auth-logo{width:66px;height:66px}.auth-header h2{font-size:25px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--primary-color: #6366f1;--primary-hover: #4f46e5;--bg-color: #f1f5f9;--card-bg: #f8fafc;--text-main: #1e293b;--text-muted: #64748b;--border-color: #cbd5e1;--input-bg: #ffffff;--table-header-bg: #e2e8f0;--tab-bg: #e2e8f0;--success-color: #10b981;--danger-color: #ef4444;--radius-md: .5rem;--radius-lg: .75rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);font-family:Inter,system-ui,-apple-system,sans-serif;transition:background-color .3s ease,color .3s ease,border-color .3s ease}[data-theme=dark]{--bg-color: #020617;--card-bg: #0f172a;--text-main: #f8fafc;--text-muted: #94a3b8;--border-color: #1e293b;--input-bg: #1e293b;--table-header-bg: #1e293b;--tab-bg: #1e293b;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .5);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .8)}body{margin:0;background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased}.app-container{max-width:1500px;margin:0 auto;padding:2rem}.main-content{width:100%}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.header-content h1{margin:0;font-size:2rem;font-weight:800;color:var(--text-main)}.header-content p{margin:.25rem 0 0;color:var(--text-muted)}.header-actions{display:flex;gap:1.5rem;align-items:center}.header-brand{display:flex;align-items:center;gap:15px;cursor:pointer;min-width:0}.header-logo{width:110px;height:110px;object-fit:contain;flex-shrink:0}.header-title-group h1{margin:0;font-size:1.8rem;font-weight:900;letter-spacing:-.7px}.header-title-group p{margin:0;font-size:.9rem;opacity:.8;font-weight:500}.user-profile{display:flex;align-items:center;gap:10px;background:var(--card-bg);padding:5px 15px;border-radius:20px;font-size:14px;font-weight:500;border:1px solid var(--border-color)}.user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.logout-btn{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;padding:0;margin-left:5px}.update-group{display:flex;flex-direction:column;align-items:stretch;gap:.45rem;margin-left:auto;width:fit-content;max-width:100%}.last-update{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:0 1rem;border-radius:14px;font-size:.85rem;color:var(--text-main);font-family:Outfit,sans-serif;font-weight:700;letter-spacing:.01em;background:var(--tab-bg);border:1px solid var(--border-color);white-space:nowrap;box-sizing:border-box}.theme-toggle{background:var(--card-bg);color:var(--text-main);border:1px solid var(--border-color);width:44px;height:44px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:var(--shadow-sm);transition:all .2s}.theme-toggle:hover{transform:translateY(-2px);background:var(--tab-bg)}.update-btn-premium{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;width:fit-content;min-height:46px;padding:0 1.6rem;border:none;border-radius:14px;font-weight:800;font-size:.85rem;cursor:pointer;box-shadow:0 8px 20px -4px #6366f166;display:flex;align-items:center;justify-content:center;gap:.8rem;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:.02em;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-sizing:border-box}.update-btn-premium:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 12px 25px -4px #6366f180;filter:brightness(1.1)}.update-btn-premium:active{transform:translateY(-1px) scale(.98)}.update-btn-premium:disabled{opacity:.8;cursor:not-allowed;background:linear-gradient(135deg,#94a3b8,#64748b);box-shadow:none}.loading-content{display:flex;align-items:center;gap:.8rem;animation:pulse 1.5s infinite ease-in-out}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.sidebar{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:2rem}.filter-card{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:1.5rem;box-shadow:var(--shadow-sm)}.filter-card h3{margin:0 0 1.25rem;font-size:.75rem;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding-bottom:.75rem}.category.name-cell{display:flex;flex-direction:column;gap:.25rem}.category-cell{font-size:.8rem;color:var(--text-muted);white-space:pre-line;line-height:1.25;padding-right:1rem}.category-list{display:flex;flex-direction:column;gap:.5rem}.category-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:var(--radius-md);color:var(--text-main);background:none;border:1px solid transparent;cursor:pointer;font-size:.9rem;text-align:left}.category-item:hover{background:var(--tab-bg)}.category-item.active{background:var(--primary-color);color:#fff}.category-item span{font-size:.75rem;background:#0000001a;padding:2px 8px;border-radius:99px}[data-theme=dark] .category-item span{background:#ffffff1a}.portfolio-modern-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2.5rem}.stat-card{background:var(--card-bg);padding:1.5rem;border-radius:20px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.stat-card.platinum{border-left:5px solid #94a3b8}.stat-card.golden{border-left:5px solid #fbbf24}.stat-card.success{border-left:5px solid #10b981}.stat-card.danger{border-left:5px solid #ef4444}.stat-label{font-size:.7rem;font-weight:800;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.stat-value{font-size:1.75rem;font-weight:800;color:var(--text-main);font-family:JetBrains Mono,Segoe UI Mono,monospace}.stat-sub{font-size:.85rem;font-weight:600;color:var(--text-muted)}.success .stat-sub{color:#10b981}.danger .stat-sub{color:#ef4444}.tabs-container{width:100%;margin-bottom:2rem;overflow-x:auto}.tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(135px,1fr);width:100%;min-width:980px;background:var(--tab-bg);padding:.4rem;border-radius:1rem;gap:.5rem}.tab-btn{width:100%;padding:.75rem 1.2rem;border-radius:.85rem;background:linear-gradient(180deg,#ffffff0a,#0f172a0a);border:1px solid var(--border-color);color:var(--text-muted);font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;transition:all .22s ease}.tab-btn:hover{color:var(--text-main);border-color:#6366f173;transform:translateY(-1px);box-shadow:0 10px 20px #0f172a1f}.tab-btn.active{background:linear-gradient(135deg,#6366f12e,#0ea5e92e);color:var(--primary-color);border-color:#6366f180;box-shadow:0 10px 24px #3b82f62e}.tab-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.primary-btn{border:1px solid rgba(99,102,241,.55);background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;border-radius:.85rem;font-weight:700;cursor:pointer;transition:all .22s ease;box-shadow:0 12px 24px #2563eb40}.primary-btn:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 16px 30px #2563eb47}.primary-btn:active{transform:translateY(0)}.primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;filter:none;box-shadow:none}.toolbar{display:flex;justify-content:space-between;align-items:center;background:var(--card-bg);padding:1rem 1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:1.5rem;gap:1.5rem}.historical-toolbar{flex-wrap:wrap;align-items:flex-end}.category-select-wrapper{min-width:220px}.historical-range-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.75rem}.historical-backfill-inline-status{display:flex;flex-direction:column;justify-content:center;gap:.15rem;min-height:44px;padding:.4rem .25rem;color:var(--text-muted)}.historical-backfill-inline-title{font-size:.84rem;font-weight:700;line-height:1.2}.historical-backfill-inline-sub{font-size:.78rem;line-height:1.2}.historical-series-chart-container{width:100%;height:360px}.historical-allocation-chart-container{width:100%;height:390px}.historical-series-header{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.historical-series-header h3{margin:0;flex:1 1 auto}.historical-series-header p{margin:0;width:100%}.historical-series-toggle-icon{width:22px;height:22px;border-radius:6px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-main);font-size:.75rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.historical-series-toggle-icon:hover{border-color:var(--primary-color);color:var(--primary-color)}.historical-series-collapsed-hint{padding:.7rem 1rem;color:var(--text-muted);font-size:.84rem}.historical-series-table{table-layout:fixed;min-width:700px}.historical-series-table th,.historical-series-table td{white-space:nowrap}.historical-series-table .historical-series-col-date{width:130px;min-width:130px;max-width:130px;text-align:center}.historical-series-table .historical-series-col-price{width:180px;min-width:180px;max-width:180px;text-align:center}.historical-series-table .historical-series-col-investor{width:150px;min-width:150px;max-width:150px;text-align:center}.historical-series-table .historical-series-col-daily{width:130px;min-width:130px;max-width:130px;text-align:right}.historical-range-field{display:flex;flex-direction:column;gap:.35rem;min-width:150px}.historical-quick-range-controls{display:flex;align-items:flex-end;gap:.45rem;flex-wrap:wrap;min-height:44px}.historical-quick-range-btn{min-height:44px;padding:.7rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-main);font-size:.82rem;font-weight:700;line-height:1;cursor:pointer;transition:all .18s ease}.historical-quick-range-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.historical-quick-range-btn:disabled{opacity:.55;cursor:not-allowed}.historical-fund-field{min-width:280px}.historical-fund-input{cursor:text}.historical-allocation-filter{min-width:220px}.historical-allocation-matrix-table{min-width:1320px;table-layout:fixed}.historical-allocation-matrix-table td{white-space:nowrap}.historical-allocation-matrix-table th{white-space:normal;vertical-align:middle;line-height:1.2;text-align:center}.historical-allocation-type-col{width:118px;min-width:118px;max-width:118px;text-align:center}.historical-allocation-type-col-first{border-left:1px solid var(--border-color)}.historical-allocation-type-head{display:inline-flex;flex-direction:column;align-items:center;gap:2px;white-space:normal;word-break:break-word;text-align:center}.historical-allocation-type-head-line{display:block}.historical-allocation-matrix-table .historical-col-date{width:120px;min-width:120px;max-width:120px;text-align:center}.historical-allocation-matrix-table .historical-col-code{width:105px;min-width:105px;max-width:105px;border-right:1px solid var(--border-color);text-align:center}.historical-allocation-value-col{text-align:center}.historical-range-field span{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700}.historical-date-input{padding:.8rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-main);font-size:.92rem}.historical-date-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #0ea5e91f;outline:none}.historical-range-reset{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text-main);min-height:44px;box-shadow:none}.historical-range-reset:disabled{opacity:.6;cursor:not-allowed}.primary-btn.historical-range-reset:hover,.tab-btn.historical-range-reset:hover{transform:none;filter:none;box-shadow:none}@media(max-width:980px){.historical-series-chart-container{height:320px}.historical-toolbar .search-box,.historical-toolbar .historical-range-controls{width:100%}.historical-toolbar .historical-range-field{flex:1;min-width:130px}.historical-toolbar .historical-fund-field{min-width:100%;flex-basis:100%}.historical-toolbar .historical-quick-range-controls{width:100%}.historical-toolbar .category-select-wrapper{min-width:180px;flex:1}}.category-select{width:100%;padding:.8rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-main);font-size:.95rem;font-weight:500;cursor:pointer;outline:none;transition:all .2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem}.category-select:hover{border-color:var(--primary-color)}.category-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #0ea5e91a}.search-box{position:relative;width:300px}.search-box input{background:var(--input-bg);color:var(--text-main)!important;border:1px solid var(--border-color);padding:.8rem 1rem .8rem 2.5rem;border-radius:var(--radius-md);width:100%;font-size:.95rem}.search-icon{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);opacity:.5;pointer-events:none}.clear-search{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%}.clear-search:hover{background:var(--tab-bg);color:var(--text-main)}.bottom-settings-bar{display:flex;justify-content:space-between;align-items:center;margin-top:4rem;border-top:1px solid var(--border-color);padding-top:.5rem}.upload-drawer{flex:1}.table-wrapper{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow-x:auto;box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse}.data-table th{background:var(--table-header-bg);padding:1.25rem 1rem;text-align:left;font-size:.75rem;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border-color);white-space:nowrap}.data-table th.sortable{cursor:pointer;transition:all .2s}.data-table th.sortable:hover{color:var(--primary-color);background:var(--tab-bg)}.data-table th.star-header,.data-table td.fund-name-clickable:hover{text-decoration:underline;color:var(--primary-hover)!important}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:2rem}.fund-detail-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-2xl);padding:2rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.fund-title-group{display:flex;align-items:center;gap:1rem}.fund-code-pill{background:var(--primary-color);color:#fff;padding:.4rem .8rem;border-radius:8px;font-weight:800;font-family:var(--font-mono)}.close-btn{background:none;border:none;font-size:2rem;color:var(--text-muted);cursor:pointer}.fund-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.metric-row{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--border-color)}.metric-row .label{color:var(--text-muted);font-weight:500}.metric-row .value{font-weight:700;font-family:var(--font-mono)}.alloc-table-mini{margin-top:2rem;border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.alloc-table-mini table{width:100%;border-collapse:collapse}.alloc-table-mini th{background:var(--table-header-bg);padding:.8rem;font-size:.8rem;text-align:left}.alloc-table-mini td{padding:.8rem;border-top:1px solid var(--border-color);font-size:.85rem}.modal-footer{margin-top:2rem;display:flex;justify-content:center}.tefas-external-btn{background:var(--bg-main);border:1px solid var(--border-color);padding:.8rem 1.5rem;border-radius:10px;text-decoration:none;color:var(--text-main);font-weight:600;transition:all .2s}.tefas-external-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.animate-scale-in{animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:768px){.fund-detail-grid{grid-template-columns:1fr}}.data-table th.star-header,.data-table td.star-cell{text-align:center;padding-left:0;padding-right:0}.data-table td{padding:1.25rem 1rem;border-bottom:1px solid var(--border-color);font-size:.95rem}.excel-style-table{width:100%;font-size:.85rem;border-collapse:collapse;table-layout:auto}.excel-style-table th{background:var(--tab-bg);position:sticky;top:0;z-index:10;white-space:nowrap;padding:1rem .75rem;text-align:left;border-bottom:2px solid var(--border-color)}.excel-style-table td{padding:1rem .75rem;border-bottom:1px solid var(--border-color);vertical-align:middle}.add-asset-form-container{margin-top:2rem;padding:1.5rem;background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.form-excel-row{display:flex;gap:1rem;align-items:center}.form-field{display:flex;flex-direction:column;gap:.5rem;flex:1}.form-field.wide{flex:3}.form-field label{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.form-field input{background:var(--input-bg);color:var(--text-main);border:1px solid var(--border-color);padding:.8rem;border-radius:8px;font-size:.9rem}.form-field input:disabled{opacity:.6;cursor:not-allowed;background:var(--tab-bg)}.add-btn-excel{background:var(--primary-color);color:#fff;border:none;padding:.8rem 2rem;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s}.add-btn-excel:hover{background:var(--primary-hover);transform:translateY(-1px)}.excel-style-table tr:hover{background:#0ea5e90d!important;cursor:default}.align-center{text-align:center}.tefas-link-static{color:var(--primary-color);font-weight:700;text-decoration:none;font-size:.75rem;opacity:.8;transition:opacity .2s}.tefas-link-static:hover{opacity:1;text-decoration:underline}.action-buttons{display:flex;gap:.4rem;justify-content:center;opacity:0;transition:opacity .2s}.row-action-btn{background:var(--tab-bg);border:1px solid var(--border-color);width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all .2s}.row-action-btn.edit:hover{background:#0ea5e91a;border-color:var(--primary-color);color:var(--primary-color);transform:scale(1.1)}.row-action-btn.delete:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444;transform:scale(1.1)}.action-cell{min-width:120px}.action-buttons{display:flex;gap:.5rem;justify-content:center;opacity:0;transition:opacity .2s}tr:hover .action-buttons{opacity:1}.row-delete-btn{background:#ef44441a;color:#ef4444;border:none;padding:4px 8px;border-radius:4px;font-size:.7rem;font-weight:700;cursor:pointer;transition:all .2s}.row-delete-btn:hover{background:#ef4444;color:#fff}.text-primary{color:var(--primary-color)}.text-sm{font-size:.75rem;opacity:.8}.data-table tr:hover{background:var(--table-header-bg)}.sortable{cursor:pointer;transition:color .2s}.sortable:hover{color:var(--primary-color)}.pct-success{color:var(--success-color);font-weight:700}.pct-danger{color:var(--danger-color);font-weight:700}.pct-neutral{color:var(--text-muted)}.success{color:var(--success-color)}.danger{color:var(--danger-color)}.font-mono{font-family:JetBrains Mono,monospace}.align-right{text-align:right}.upload-drawer{margin-top:4rem;border-top:1px solid var(--border-color)}.upload-drawer summary{padding:1.5rem 0;cursor:pointer;color:var(--text-muted);font-weight:600}.upload-card-compact{padding:1.5rem;background:var(--tab-bg);border-radius:var(--radius-lg);margin-bottom:2rem}.upload-form-compact{display:flex;gap:1rem;align-items:flex-end}.upload-form-compact input{background:var(--input-bg);color:var(--text-main);border:1px solid var(--border-color);padding:.6rem;border-radius:8px}.upload-form-compact button{background:var(--text-main);color:var(--bg-color);border:none;padding:.6rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600}@media(max-width:1200px){.main-content{grid-template-columns:1fr}.sidebar{position:static;flex-direction:row;overflow-x:auto;padding-bottom:1rem}.filter-card{min-width:300px}}.row-action-btn.sell:hover{background:#10b9811a;border-color:#10b981;color:#10b981;transform:scale(1.1)}.cancel-edit{background:none;border:1px solid var(--border-color);color:var(--text-muted);padding:.5rem 1rem;border-radius:8px;margin-left:1rem;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s}.cancel-edit:hover{background:var(--tab-bg);color:var(--text-main);border-color:var(--text-muted)}.sale-confirmation-panel{background:#10b9810d;border:1px solid rgba(16,185,129,.2);padding:1.5rem;border-radius:12px;margin-bottom:2rem;animation:fadeIn .3s ease-out}.sale-confirmation-panel h3{margin-top:0;margin-bottom:1rem;font-size:1rem;color:#10b981}.action-buttons-row{display:flex;gap:.5rem}.loading-content{display:flex;align-items:center;gap:.75rem}.mini-alert{margin-top:1rem;padding:.75rem;border-radius:8px;font-size:.85rem;font-weight:600;background:var(--tab-bg);border:1px solid var(--border-color);animation:fadeIn .3s ease-out}.portfolio-charts-section{display:flex;gap:1.5rem;margin-bottom:2.5rem;flex-wrap:wrap}.portfolio-table-container{width:100%;overflow-x:auto;margin-bottom:3rem}.period-performance-section{margin-top:2.25rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem}.period-performance-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1rem}.period-performance-field{display:flex;flex-direction:column;gap:.35rem;min-width:165px}.period-performance-field span{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700}.period-performance-input{padding:.8rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-main);font-size:.92rem}.period-performance-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #0ea5e91f;outline:none}.period-performance-table-wrapper{border-radius:var(--radius-md)}.period-performance-table{min-width:1180px}.period-performance-note{margin-top:.75rem;color:var(--text-muted);font-size:.83rem}.period-row-clickable{transition:background-color .16s ease}.period-row-clickable:hover{background:color-mix(in srgb,var(--primary-color) 8%,transparent)}.period-row-toggle-btn{display:inline-flex;align-items:center;gap:.4rem;border:none;background:transparent;color:var(--text-main);font:inherit;font-weight:700;padding:0;cursor:pointer}.period-row-toggle-icon{width:16px;text-align:center;color:var(--text-muted)}.period-detail-row td{background:color-mix(in srgb,var(--card-bg) 88%,var(--bg-main) 12%);border-bottom:1px solid var(--border-color);padding:.85rem .9rem 1rem}.period-detail-container{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:var(--card-bg)}.period-detail-summary{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;padding:.7rem .9rem;border-bottom:1px solid var(--border-color);font-size:.83rem;color:var(--text-muted)}.period-detail-table{min-width:960px}.period-detail-fund-name{color:var(--text-muted);font-weight:500;font-size:.82rem}.portfolio-chart-card{flex:1;min-width:400px;background:var(--card-bg);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.portfolio-chart-card h3{margin:0 0 1.25rem;font-size:1rem;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--border-color);padding-bottom:.75rem}.chart-container{width:100%;height:280px}@media(max-width:1200px){.portfolio-chart-card{min-width:100%}.period-performance-field{min-width:140px;flex:1}}.confirm-btn{background:#10b981;color:#fff;border:none;padding:.6rem 1rem;border-radius:8px;cursor:pointer;font-weight:700;font-size:.8rem;transition:all .2s}.confirm-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.cancel-btn{background:var(--input-bg);color:var(--text-main);border:1px solid var(--border-color);padding:.6rem 1rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.8rem}.tefas-link-text{color:inherit;text-decoration:none;font-weight:600;transition:color .2s}.tefas-link-text:hover{color:var(--primary-color);text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.portfolio-management-header{display:flex;justify-content:space-between;align-items:flex-end;background:var(--card-bg);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:2rem;gap:2rem;flex-wrap:wrap;box-shadow:var(--shadow-sm)}.portfolio-selector-group,.portfolio-create-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:300px}.selector-label{font-size:.75rem;font-weight:800;color:var(--text-muted);letter-spacing:.05em}.portfolio-select{padding:.8rem 1rem;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-main);font-weight:700;font-size:1rem;cursor:pointer;outline:none;transition:all .2s}.portfolio-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.portfolio-selector-group{position:relative;display:grid;grid-template-columns:1fr auto;align-items:flex-end}.portfolio-selector-group .selector-label{grid-column:span 2}.portfolio-actions{display:flex;gap:.5rem;margin-left:.5rem}.portfolio-action-btn{width:44px;height:44px;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-color);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.portfolio-action-btn.edit:hover{background:#6366f11a;border-color:var(--primary-color);transform:translateY(-2px)}.portfolio-action-btn.delete:hover{background:#ef44441a;border-color:#ef4444;transform:translateY(-2px)}.portfolio-create-group input{padding:.8rem 1rem;border-radius:12px;border:1px dashed var(--border-color);background:var(--bg-color);color:var(--text-main)}.portfolio-create-group{display:grid;grid-template-columns:1fr auto;align-items:flex-end}.create-portfolio-btn{background:var(--primary-color);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:12px;margin-left:.5rem;font-weight:700;cursor:pointer;transition:all .2s}.create-portfolio-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}@media(max-width:768px){.portfolio-management-header{flex-direction:column;align-items:stretch}}.summary-view-container{padding:1rem 0}.summary-stats{margin-bottom:3rem;grid-template-columns:repeat(5,1fr)}.summary-stats .stat-card{padding:1.25rem;min-height:110px}.summary-table-section{background:var(--card-bg);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.summary-table-section .section-header{margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.summary-period-section{margin-top:2rem}.summary-period-overview-table{min-width:1180px}.summary-period-overview-table th,.summary-period-overview-table td{white-space:nowrap}.summary-portfolio-table{table-layout:fixed}.summary-portfolio-table .summary-col-portfolio-name{width:30%;min-width:260px}.summary-portfolio-table .summary-col-metric{width:14%;min-width:130px}.summary-portfolio-table th,.summary-portfolio-table td{vertical-align:middle}.total-row td{background:#6366f10d!important;font-weight:800!important;color:var(--text-main);border-top:2px solid var(--primary-color)!important}.animate-fade-in{animation:fadeIn .4s ease-out}.portfolio-multi-selector{width:100%}.portfolio-chips{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:.5rem}.portfolio-chip{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:99px;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.portfolio-chip:hover{border-color:var(--primary-color);background:#6366f10d}.portfolio-chip.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 12px #6366f140}.chip-icon{font-size:1rem}.settings-container{display:flex;justify-content:center;padding:2rem;animation:fadeIn .4s ease-out}.settings-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:2.5rem;max-width:800px;width:100%;box-shadow:var(--shadow-md)}.settings-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.settings-header h3{margin:0;font-size:1.25rem;color:var(--text-main)}.settings-icon{font-size:1.5rem}.settings-desc{color:var(--text-muted);margin-bottom:2rem;font-size:.9rem}.backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2.5rem}.action-box{background:var(--tab-bg);border:1px solid var(--border-color);padding:1.5rem;border-radius:12px;display:flex;flex-direction:column;gap:.75rem;transition:all .3s ease}.action-box:hover{transform:translateY(-2px);border-color:var(--primary-color)}.action-box h4{margin:0;font-size:1rem;color:var(--text-main)}.action-box p{font-size:.8rem;color:var(--text-muted);line-height:1.4;flex:1}.backup-btn{padding:.8rem 1rem;border:none;border-radius:8px;font-weight:700;cursor:pointer;text-align:center;transition:all .2s;font-size:.85rem;width:100%}.backup-btn.export{background:#10b981;color:#fff}.backup-btn.export:hover{background:#059669}.backup-btn.import-label{background:#3b82f6;color:#fff;margin:0;display:block}.backup-btn.import-label:hover{background:#2563eb}.danger-zone{border-top:1px dashed var(--border-color);padding-top:1.5rem;margin-top:1.5rem}.settings-header.danger h3{color:#ef4444}.action-box.reset{border-color:#ef444433}.backup-btn.reset{background:#ef4444;color:#fff}.backup-btn.reset:hover{background:#dc2626;box-shadow:0 4px 12px #ef444433}.tab-btn.backup.active{border-bottom-color:var(--primary-color);color:var(--primary-color)}.star-btn{background:none;border:none;font-size:1.05rem;cursor:pointer;color:#94a3b8;transition:transform .2s,color .2s;padding:0;line-height:1}.star-btn:hover{transform:scale(1.15);color:#f59e0b}.star-btn.active{color:#f59e0b;text-shadow:0 0 8px rgba(245,158,11,.3)}@media(max-width:768px){.backup-actions{grid-template-columns:1fr}}@media(max-width:1024px){.app-container{padding:1.25rem}.header{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem}.header-actions{width:100%;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.update-group{margin-left:0}.tabs{min-width:0;grid-auto-columns:minmax(130px,1fr)}.toolbar{flex-wrap:wrap;align-items:stretch;gap:.85rem;padding:.85rem}.search-box,.category-select-wrapper{width:100%;min-width:0}.portfolio-modern-stats,.summary-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}@media(max-width:768px){body{overflow-x:hidden}.app-container{padding:.75rem}.header-brand{gap:.75rem}.header-logo{width:66px;height:66px}.header-title-group h1{font-size:1.35rem;letter-spacing:-.3px}.header-title-group p{font-size:.78rem}.header-actions{align-items:stretch}.user-profile{width:100%;justify-content:space-between;border-radius:12px;padding:.45rem .7rem}.user-name{max-width:calc(100% - 32px);font-size:.82rem}.theme-toggle{width:40px;height:40px;border-radius:10px}.update-group{width:100%;gap:.5rem}.update-btn-premium,.last-update{width:100%;min-height:42px;font-size:.8rem;padding:0 .75rem}.tabs-container{margin-bottom:1rem}.tabs{display:flex;width:auto;min-width:max-content;overflow-x:auto;gap:.45rem;padding:.35rem;scrollbar-width:thin}.tab-btn{flex:0 0 auto;min-width:132px;font-size:.82rem;padding:.62rem .75rem}.tab-icon{font-size:.95rem}.toolbar{margin-bottom:1rem}.historical-range-controls{width:100%;flex-direction:column;align-items:stretch;gap:.6rem}.historical-range-field,.historical-fund-field,.historical-backfill-inline-status{width:100%;min-width:0}.historical-quick-range-controls{width:100%}.historical-quick-range-btn{flex:1 1 calc(50% - .4rem)}.primary-btn.historical-range-reset{width:100%}.table-wrapper{border-radius:12px}.data-table th,.data-table td{padding:.7rem .55rem;font-size:.8rem}.portfolio-modern-stats,.summary-stats{grid-template-columns:1fr}.portfolio-management-header{padding:1rem;gap:1rem}.portfolio-selector-group,.portfolio-create-group{min-width:0;grid-template-columns:1fr}.portfolio-selector-group .selector-label,.portfolio-create-group .selector-label{grid-column:1}.portfolio-actions{margin-left:0;justify-content:flex-end}.create-portfolio-btn{width:100%;margin-left:0;margin-top:.5rem}.form-excel-row,.upload-form-compact,.period-performance-filters{flex-direction:column;align-items:stretch}.portfolio-chart-card{min-width:0;padding:1rem}.chart-container{height:240px}.historical-series-chart-container,.historical-allocation-chart-container{height:250px}.bottom-settings-bar{flex-direction:column;align-items:stretch;gap:.75rem}.settings-container{padding:1rem .35rem}.settings-card{padding:1.2rem}}@media(max-width:480px){.tab-btn{min-width:118px;font-size:.78rem}.historical-quick-range-btn{flex:1 1 100%}}
