.portfoy-wrap{max-width:var(--container-max);margin:0 auto;padding:2.5rem var(--container-pad) 4rem}.auth-gate{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center}.auth-gate__card{text-align:center;max-width:400px;padding:3rem 2rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.auth-gate__icon{font-size:2.5rem;margin-bottom:1rem}.auth-gate__title{font-family:var(--font-display);font-size:1.6rem;margin-bottom:.75rem;color:var(--color-text)}.auth-gate__body{font-size:var(--fs-md);color:var(--color-text-muted);margin-bottom:1.75rem;line-height:1.6}.auth-gate__actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.portfoy-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.portfoy-header__title{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:400;color:var(--color-text);margin:0}.portfoy-header__title em{font-style:italic;color:var(--color-accent-text)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:2.5rem}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem 1.25rem 1rem;box-shadow:var(--shadow-sm)}.summary-card__label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-subtle);margin-bottom:.5rem}.summary-card__value{font-family:var(--font-mono);font-size:1.35rem;font-weight:600;color:var(--color-text);white-space:nowrap}.summary-card__value.positive{color:var(--color-positive)}.summary-card__value.negative{color:var(--color-negative)}.summary-card__sub{font-size:var(--fs-xs);color:var(--color-text-subtle);margin-top:.25rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.section-title{font-size:var(--fs-md);font-weight:700;color:var(--color-text)}.holdings-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:auto;box-shadow:var(--shadow-sm);margin-bottom:2.5rem}.holdings-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.holdings-table th{padding:.75rem 1rem;text-align:left;font-size:var(--fs-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-subtle);background:var(--color-bg-soft);border-bottom:1px solid var(--color-border);white-space:nowrap}.holdings-table th.num{text-align:right}.holdings-table td{padding:.875rem 1rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.holdings-table tr:last-child td{border-bottom:none}.holdings-table tr:hover td{background:var(--color-bg-soft)}.holdings-table td.num{text-align:right;font-family:var(--font-mono)}.fund-code-link{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:600;color:var(--color-brand-text);text-decoration:none}.fund-code-link:hover{text-decoration:underline}.fund-name-small{font-size:var(--fs-xs);color:var(--color-text-muted);margin-top:2px}.change-pill{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-xs);font-weight:700;padding:3px 7px;border-radius:var(--radius-pill)}.change-pill.pos{background:var(--color-positive-bg);color:var(--color-positive)}.change-pill.neg{background:var(--color-negative-bg);color:var(--color-negative)}.change-pill.neu{background:var(--color-neutral-bg);color:var(--color-neutral)}.btn-icon{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;font-size:12px;cursor:pointer;color:var(--color-text-muted);transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.btn-icon:hover{background:var(--color-negative-bg);color:var(--color-negative);border-color:var(--color-negative)}.empty-state{padding:3rem 1.5rem;text-align:center}.empty-state__icon{font-size:2rem;margin-bottom:.75rem}.empty-state p{font-size:var(--fs-sm);color:var(--color-text-muted)}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2.5rem}@media (max-width:768px){.bottom-grid{grid-template-columns:1fr}}.bottom-grid.bottom-grid--single{grid-template-columns:1fr}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.panel__title{font-size:var(--fs-sm);font-weight:700;color:var(--color-text);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.donut-wrap{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.donut-legend{width:100%;display:flex;flex-direction:column;gap:.5rem}.legend-row{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-xs)}.legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.legend-label{flex:1;color:var(--color-text-muted)}.legend-pct{font-family:var(--font-mono);font-weight:600;color:var(--color-text)}.lt-row{display:flex;align-items:center;gap:.625rem;padding:.5rem 0;border-bottom:1px solid var(--color-border);font-size:var(--fs-xs)}.lt-row:last-child{border-bottom:none}.lt-bar-wrap{flex:1;height:6px;background:var(--color-bg-muted);border-radius:3px;overflow:hidden}.lt-bar{height:100%;border-radius:3px;background:var(--color-brand-mid)}.lt-name{width:130px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lt-pct{width:44px;text-align:right;font-family:var(--font-mono);font-weight:600;color:var(--color-text)}.nav-user{position:relative}.nav-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-brand);color:#fff;border:none;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.nav-user__drop{position:absolute;right:0;top:calc(100%+8px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:200px;padding:.5rem 0;z-index:var(--z-dropdown)}.nav-user__email{display:block;padding:.5rem 1rem;font-size:var(--fs-xs);color:var(--color-text-subtle)}.nav-user__divider{border:none;border-top:1px solid var(--color-border);margin:.25rem 0}.nav-user__item{display:block;width:100%;padding:.5rem 1rem;text-align:left;background:none;border:none;cursor:pointer;font-size:var(--fs-sm);color:var(--color-text);text-decoration:none;transition:background var(--transition-fast)}.nav-user__item:hover{background:var(--color-bg-muted)}.nav-user__item--danger{color:var(--color-negative)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.modal-overlay.open{opacity:1;pointer-events:auto}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2rem;width:100%;max-width:440px;box-shadow:var(--shadow-lg);transform:translateY(12px);transition:transform var(--transition-base)}.modal-overlay.open .modal{transform:translateY(0)}.modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.modal__title{font-size:var(--fs-md);font-weight:700;color:var(--color-text)}.modal__close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--color-text-muted);padding:2px 6px;border-radius:4px}.modal__close:hover{background:var(--color-bg-muted)}.modal-form{display:flex;flex-direction:column;gap:1rem}.mfield{display:flex;flex-direction:column;gap:.375rem}.mfield label{font-size:var(--fs-sm);font-weight:600;color:var(--color-text)}.mfield .minput{width:100%;padding:9px 11px;background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--fs-md);color:var(--color-text);outline:none;transition:border-color var(--transition-fast);box-sizing:border-box}.mfield .minput:focus{border-color:var(--color-brand-mid)}.mfield .hint{font-size:var(--fs-xs);color:var(--color-text-subtle)}.modal-autocomplete{position:relative}.mac-list{position:absolute;top:calc(100%+4px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:220px;overflow-y:auto;box-shadow:var(--shadow-md);z-index:10;display:none}.mac-list.open{display:block}.mac-item{padding:.625rem .875rem;cursor:pointer;border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.mac-item:last-child{border-bottom:none}.mac-item:hover{background:var(--color-bg-muted)}.mac-item__code{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:600;color:var(--color-brand-text)}.mac-item__name{font-size:var(--fs-xs);color:var(--color-text-muted);margin-top:1px}.fund-preview{padding:.75rem;background:var(--color-bg-muted);border-radius:var(--radius-md);font-size:var(--fs-xs);color:var(--color-text-muted);display:none}.fund-preview.show{display:block}.fund-preview strong{color:var(--color-text)}.modal-actions{display:flex;gap:.625rem;margin-top:.25rem}.btn-save{flex:1;padding:10px;background:var(--color-brand);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:700;cursor:pointer;transition:background var(--transition-fast)}.btn-save:hover:not(:disabled){background:var(--color-brand-light)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-cancel-modal{padding:10px 16px;background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast)}.btn-cancel-modal:hover{background:var(--color-bg-soft)}.modal-err{font-size:var(--fs-xs);color:var(--color-negative);display:none}.modal-err.show{display:block}@media (max-width:640px){.holdings-table:not(.returns-table)>thead>tr>th:nth-child(3),.holdings-table:not(.returns-table)>tbody>tr.pos-row>td:nth-child(3),.holdings-table:not(.returns-table)>thead>tr>th:nth-child(4),.holdings-table:not(.returns-table)>tbody>tr.pos-row>td:nth-child(4){display:none}.summary-grid{grid-template-columns:1fr 1fr}}.settings-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;margin:0 0 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-md,10px);background:var(--color-bg-subtle,var(--color-bg))}.settings-bar__title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.settings-check{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.settings-check input{width:1.05rem;height:1.05rem;accent-color:var(--color-brand-mid,#42b869);cursor:pointer}.settings-bar__hint{font-size:var(--fs-xs);color:var(--color-text-subtle);flex:1 1 260px}.settings-bar__msg{font-size:var(--fs-xs);color:var(--color-positive,#1b8a4a);min-width:5rem}.tax-tag{font-size:var(--fs-xs);color:var(--color-text-subtle);border:1px solid var(--color-border);border-radius:999px;padding:0 .4rem}.mac-list.open{max-height:320px;overflow-y:auto}.minput--select{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2rem}.holdings-table td.num,.holdings-table th.num{white-space:nowrap}.settings-bar[hidden]{display:none}.pf-tabs{display:flex;gap:.25rem;margin:0 0 1rem;border-bottom:1px solid var(--color-border)}.pf-tab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:.6rem .9rem;font:inherit;font-size:var(--fs-sm);font-weight:600;color:var(--color-text-muted);cursor:pointer}.pf-tab:hover{color:var(--color-text)}.pf-tab.active{color:var(--color-text);border-bottom-color:var(--color-brand-mid,#42b869)}.minput-row{display:flex;align-items:center;gap:.75rem}.minput-row .minput{flex:1 1 auto;min-width:0}.implied-amt{flex:0 0 auto;font-size:var(--fs-sm);font-weight:600;color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.holdings-table .sub-num{font-size:var(--fs-xs);color:var(--color-text-subtle);margin-top:.15rem;font-variant-numeric:tabular-nums}.holdings-table .row-actions{white-space:nowrap;text-align:right}.holdings-table .row-actions .btn-icon+.btn-icon{margin-left:.25rem}.holdings-table .fund-code-link{position:relative;font-weight:700}.holdings-table .fund-code-link[data-tip]:hover::after,.holdings-table .fund-code-link[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;left:0;top:calc(100%+6px);z-index:20;width:max-content;max-width:320px;white-space:normal;padding:.45rem .6rem;border-radius:8px;background:var(--color-text);color:var(--color-bg);font-size:var(--fs-xs);font-weight:500;line-height:1.35;box-shadow:var(--shadow-md,0 4px 14px rgba(0,0,0,.18));pointer-events:none}.holdings-table .fund-code-link.tip-open::after{content:attr(data-tip) "\A Fon sayfası için tekrar dokunun";white-space:pre-line;position:absolute;left:0;top:calc(100%+6px);z-index:20;width:max-content;max-width:min(320px,80vw);padding:.45rem .6rem;border-radius:8px;background:var(--color-text);color:var(--color-bg);font-size:var(--fs-xs);font-weight:500;line-height:1.35;box-shadow:var(--shadow-md,0 4px 14px rgba(0,0,0,.18));pointer-events:none}@media (hover:none){.holdings-table .fund-code-link{text-decoration:underline dotted;text-underline-offset:3px}}.holdings-table tbody tr:nth-last-child(-n+2):not(:first-child) .fund-code-link::after{top:auto;bottom:calc(100%+6px)}.beta-tag{display:inline-block;margin-left:.5rem;padding:.05rem .4rem;border-radius:999px;vertical-align:middle;font-size:.65rem;font-weight:700;letter-spacing:.08em;line-height:1.4;color:var(--color-accent-text);border:1px solid currentColor;cursor:help}.holdings-table .usd-line{display:flex;align-items:center;justify-content:flex-end;gap:.35rem}.holdings-table .usd-line+.sub-num+.usd-line{margin-top:.35rem}.holdings-table .usd-lbl{font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-subtle)}.returns-table .returns-total td{border-top:2px solid var(--color-border);background:var(--color-bg-muted)}.returns-table td.num .sub-num{white-space:nowrap}.lot-toggle{appearance:none;background:none;border:0;padding:0 .3rem 0 0;font-size:.75rem;color:var(--color-text-muted);cursor:pointer;vertical-align:middle}.lot-toggle:hover{color:var(--color-text)}.pos-row--closed td{color:var(--color-text-subtle)}.pos-row.open td{border-bottom-color:transparent}.holdings-table tr.lot-detail>td{padding:.25rem 1rem 1rem 2rem;background:var(--color-bg-soft)}.holdings-table tr.lot-detail:hover>td{background:var(--color-bg-soft)}.lots-table{width:100%;border-collapse:collapse;font-size:var(--fs-xs)}.lots-table th{text-align:left;font-weight:600;color:var(--color-text-subtle);padding:.4rem .5rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.lots-table th.num{text-align:right}.holdings-table .lots-table td{padding:.45rem .5rem;border-bottom:1px solid var(--color-border);background:none}.holdings-table .lots-table tr:last-child td{border-bottom:none}.lots-table .sale-tr td{background:var(--color-bg-muted)}.lots-note{margin-top:.4rem;font-size:var(--fs-xs);color:var(--color-text-subtle)}.tx-tag{display:inline-block;padding:.05rem .45rem;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tx-buy{color:var(--color-positive);background:var(--color-positive-bg)}.tx-sell{color:var(--color-negative);background:var(--color-negative-bg)}.holdings-table .real-line{white-space:nowrap}.btn-icon.btn-buy,.btn-icon.btn-sell{font-weight:700;min-width:1.9rem}.btn-icon.btn-buy:hover{background:var(--color-positive-bg);color:var(--color-positive);border-color:var(--color-positive)}.btn-icon.btn-sell:hover,.btn-icon.btn-sedit:hover,.btn-icon.btn-edit:hover{background:var(--color-bg-soft);color:var(--color-text);border-color:var(--color-text-muted)}.btn-icon:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.btn-all-units{flex:0 0 auto;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.35rem .6rem;font:inherit;font-size:var(--fs-xs);font-weight:600;color:var(--color-text-muted);cursor:pointer}.btn-all-units:hover{color:var(--color-text);border-color:var(--color-text-muted)}.btn-all-units[hidden]{display:none}.minput--locked{background-image:none;padding-right:.75rem;cursor:default;background-color:var(--color-bg-soft)}@media (max-width:640px){.holdings-table tr.lot-detail>td{padding:.25rem .5rem .75rem;overflow-x:auto}}