@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-main:#0b0f19;--bg-card:#151a28;--bg-input:#1f2937;--primary:#6366f1;--primary-hover:#4f46e5;--text-main:#f9fafb;--text-muted:#9ca3af;--profit:#10b981;--profit-bg:#10b98126;--loss:#f43f5e;--loss-bg:#f43f5e26;--border:#ffffff1a;--glass-bg:#151a28b3;--glass-border:#ffffff0d;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--shadow-glow:0 4px 14px 0 #6366f163}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;line-height:1.5}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:0 4px 30px #0000001a}.container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit;transition:all .2s}button:active{transform:scale(.98)}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;font-weight:600}input,textarea{font-family:inherit}.profit-text{color:var(--profit)}.loss-text{color:var(--loss)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.navbar{background-color:var(--bg-card);border-right:1px solid var(--glass-border);flex-direction:column;gap:2rem;width:250px;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.nav-brand{align-items:center;padding:0 .5rem;display:flex}.nav-brand-logo{color:#fff;border-radius:var(--radius-sm);background-color:#1a213d;padding:.6rem 1rem;font-size:1rem;font-weight:700}.nav-group{flex-direction:column;gap:.5rem;display:flex}.nav-group-title{color:var(--text-muted);margin-bottom:.5rem;padding:0 .5rem;font-size:.8rem;font-weight:500}.nav-item{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;align-items:center;gap:.8rem;padding:.75rem .5rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover:not(.disabled){color:var(--text-main);background-color:#ffffff0d}.nav-item.active{color:var(--text-main);background-color:#ffffff1a;font-weight:600}.nav-item.disabled{opacity:.5;cursor:not-allowed}.metric-card{border-radius:var(--radius-lg);flex-direction:column;gap:.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex}.metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0003}.metric-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:500}.metric-value{font-size:2rem;font-weight:700}.metric-subtitle{color:var(--text-muted);font-size:.875rem}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container{border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:90vh;padding:2rem;animation:.3s ease-out modalSlideIn;overflow-y:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header-mobile{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.modal-header-mobile h2{margin:0;font-size:1.2rem}.header-actions{gap:.8rem;display:flex}.btn-cancel-top{border:1px solid var(--border);color:var(--text-main);background:0 0;border-radius:20px;padding:.3rem 1rem;font-size:.85rem;font-weight:600}.btn-save-top{background-color:var(--primary);color:#fff;border:none;border-radius:20px;padding:.3rem 1rem;font-size:.85rem;font-weight:600}.segment-control{background-color:var(--bg-input);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:4px;display:flex}.segment-btn{color:var(--text-muted);border-radius:8px;flex:1;padding:.8rem;font-weight:600;transition:all .2s}.segment-btn.buy.active{color:var(--primary);background-color:#6366f126;box-shadow:0 2px 8px #0003}.segment-btn.sell.active{color:var(--loss);background-color:#f43f5e26;box-shadow:0 2px 8px #0003}.form-row{gap:1rem;margin-bottom:1rem;display:flex}.form-row>div{flex:1}.form-row-single{margin-bottom:1rem}.form-group label{color:var(--text-muted);margin-bottom:.4rem;font-size:.85rem;display:block}.form-group input,.form-group select,.form-group textarea{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-main);padding:.8rem}.form-group input.readonly-input{border-color:#0000;border-bottom:1px solid var(--border);background-color:#0000;border-radius:0;padding-left:0;font-size:1.1rem}.highlight{font-weight:700;color:var(--primary)!important}.block-group{margin-bottom:1.5rem}.tag-selector{flex-wrap:wrap;gap:.5rem;display:flex}.sel-chip{background-color:var(--bg-input);border:1px solid var(--border);color:var(--text-muted);border-radius:20px;padding:.4rem .8rem;font-size:.8rem}.sel-chip.active{background-color:var(--primary);border-color:var(--primary);color:#fff}.autocomplete-container{position:relative}.autocomplete-dropdown{background-color:var(--bg-card);border:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);z-index:10;border-top:none;max-height:200px;margin:0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a}.autocomplete-dropdown li{cursor:pointer;border-bottom:1px solid var(--border);justify-content:space-between;padding:.75rem 1rem;display:flex}.autocomplete-dropdown li:hover{background-color:var(--bg-input)}.mobile-toggle-wrapper{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem 0;display:flex}.switch{width:44px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:var(--bg-input);transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:var(--primary)}input:checked+.slider:before{transform:translate(20px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;display:flex}.btn-cancel,.btn-submit{border-radius:var(--radius-sm);cursor:pointer;padding:.75rem 1.5rem;font-weight:600;transition:opacity .2s}.btn-cancel{background-color:var(--bg-input);color:var(--text-main);border:1px solid var(--border)}.btn-cancel:hover{background-color:var(--bg-card)}.btn-submit{background-color:var(--primary);color:#fff;border:none}.btn-submit:hover{opacity:.9}.app-wrapper.mobile-mode .modal-container{border-radius:0;width:100%;max-width:none;height:100%;max-height:100%;margin:0;padding:1.5rem;animation:.3s ease-out forwards slideUpMobile}.app-wrapper.mobile-mode .modal-overlay{border-radius:40px 40px 0 0;position:absolute;bottom:65px}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.analysis-page{flex-direction:column;gap:2rem;width:100%;max-width:1000px;margin:0 auto;padding-bottom:3rem;display:flex}.analysis-header{margin-bottom:.5rem}.analysis-header h1{color:var(--text-primary);margin:0;font-size:1.5rem}.summary-cards{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.summary-card{border-radius:.75rem;flex-direction:column;gap:.5rem;padding:1.25rem 1.5rem;display:flex}.summary-card h3{color:var(--text-secondary);margin:0;font-size:.85rem;font-weight:500}.summary-val{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}.summary-val.profit{color:var(--success-color)}.summary-val.loss{color:var(--danger-color)}.analysis-grid{grid-template-columns:1fr 1fr;gap:3rem;margin-top:1rem;display:grid}.analysis-col{flex-direction:column;gap:2.5rem;display:flex}.stats-section h2{color:var(--text-primary);margin:0 0 1.25rem;font-size:1.1rem;font-weight:600}.bar-list{flex-direction:column;gap:1rem;display:flex}.bar-row{align-items:center;gap:1rem;display:flex}.bar-label{width:80px;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.bar-track{background-color:var(--bg-secondary);border-radius:4px;flex:1;height:8px;overflow:hidden}.bar-fill{border-radius:4px;height:100%;transition:width .5s ease-out}.bar-value{text-align:right;width:40px;color:var(--text-primary);font-size:.85rem;font-weight:600}.notes-section{flex-direction:column;height:100%;display:flex}.notes-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.notes-header h2{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.btn-add-note{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:.5rem;padding:.4rem .75rem;font-size:.8rem;transition:all .2s}.btn-add-note:hover{background-color:var(--text-primary);color:var(--bg-primary)}.notes-list{flex-direction:column;gap:1rem;display:flex}.note-card{border:1px solid var(--border-color);background-color:var(--bg-secondary);border-radius:.5rem;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.note-header{align-items:center;gap:.75rem;display:flex}.note-badge{color:var(--danger-color);background-color:#dc262626;border-radius:.25rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.note-meta{color:var(--text-muted);font-size:.8rem}.note-content{color:var(--text-primary);word-break:keep-all;margin:0;font-size:.9rem;line-height:1.5}.more-btn-container{justify-content:center;margin-top:1.5rem;display:flex}.btn-more{background-color:var(--bg-secondary);border:1px solid var(--border-color);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-more:hover{background-color:var(--bg-tertiary);transform:translateY(2px)}.more-icon{font-size:1.2rem}.empty-msg{color:var(--text-muted);text-align:center;padding:1rem 0;font-size:.85rem}.app-wrapper.mobile-mode .summary-cards{grid-template-columns:repeat(3,1fr);gap:.5rem}.app-wrapper.mobile-mode .summary-card{text-align:center;align-items:center;padding:1rem .5rem}.app-wrapper.mobile-mode .summary-card h3{font-size:.7rem}.app-wrapper.mobile-mode .summary-val{font-size:1rem}.app-wrapper.mobile-mode .analysis-grid{grid-template-columns:1fr;gap:1.5rem}.app-wrapper.mobile-mode .notes-section,.app-wrapper.mobile-mode .stats-section{gap:1rem}.dashboard-page{flex-direction:column;gap:2rem;padding-bottom:3rem;display:flex}.page-header h1{margin-bottom:.5rem;font-size:2rem}.text-muted{color:var(--text-muted)}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.app-wrapper.mobile-mode .metrics-grid{grid-template-columns:1fr 1fr;gap:.8rem}.app-wrapper.mobile-mode .metric-card{padding:1rem}.app-wrapper.mobile-mode .metric-card h3{font-size:.75rem}.app-wrapper.mobile-mode .metric-card .metric-value{font-size:1.25rem}.chart-section{border-radius:var(--radius-lg);padding:1.5rem}.section-header{margin-bottom:1.5rem}.section-header h3{color:var(--text-main);font-size:1.125rem}.strategy-list{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.strategy-item{border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.strategy-stats{align-items:center;gap:2rem;font-weight:500;display:flex}.win-rate{color:var(--text-main)}.calendar-page{flex-direction:column;gap:1.5rem;display:flex}.calendar-header-top{justify-content:space-between;align-items:center;display:flex}.month-navigation{border-radius:var(--radius-md);align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.nav-btn{color:var(--text-muted);align-items:center;gap:.2rem;font-weight:500;display:flex}.nav-btn:hover{color:var(--text-main)}.current-month-display{color:var(--text-main);font-size:1.2rem;font-weight:700}.summary-cards{gap:1rem;display:flex}.summary-card{border-radius:var(--radius-md);flex-direction:column;flex:1;gap:.5rem;padding:1.5rem;display:flex}.summary-label{color:var(--text-muted);font-size:.9rem}.summary-value{font-size:1.7rem;font-weight:700}.calendar-grid{border-radius:var(--radius-lg);grid-template-columns:repeat(7,1fr);gap:.5rem;padding:1.5rem;display:grid}.calendar-day-header{text-align:center;color:var(--text-muted);padding-bottom:.5rem;font-weight:500}.calendar-cell{aspect-ratio:1.2;border-radius:var(--radius-sm);cursor:pointer;border:2px solid #0000;flex-direction:column;justify-content:space-between;padding:.8rem;transition:all .2s;display:flex}.calendar-cell:not(.empty):hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.calendar-cell.selected{border-color:var(--primary)}.calendar-cell.empty-bg{background:#ffffff08}.calendar-cell.profit-bg{background:var(--profit-bg)}.calendar-cell.loss-bg{background:var(--loss-bg)}.calendar-cell.empty{cursor:default;background:0 0}.day-number{color:var(--text-muted);font-size:1rem;font-weight:600}.has-trades .day-number{color:var(--text-main)}.day-pnl{text-align:center;margin-top:auto;font-size:.9rem;font-weight:700}.calendar-legend{justify-content:flex-start;gap:1.5rem;padding:0 1rem;display:flex}.legend-item{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.legend-color{border-radius:2px;width:12px;height:12px}.legend-color.empty-bg{background:#ffffff0d}.day-detail-panel{border-radius:var(--radius-lg);margin-top:1rem;padding:1.5rem}.day-detail-panel h3{border-bottom:1px solid var(--glass-border);margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.2rem}.detail-trades-list{flex-direction:column;gap:.8rem;display:flex}.detail-trade-item{border-radius:var(--radius-sm);background:#ffffff08;border-left:3px solid #0000;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex}.border-buy{border-left-color:#10b981}.border-sell{border-left-color:#f43f5e}.detail-trade-info{align-items:center;gap:1rem;display:flex}.trade-type{font-size:.85rem;font-weight:700}.trade-type.buy{color:#10b981}.trade-type.sell{color:#f43f5e}.trade-name{color:var(--text-main);min-width:100px;font-weight:600}.trade-price,.trade-qty{color:var(--text-muted);font-size:.9rem}.detail-trade-pnl{font-size:1.1rem;font-weight:700}.tag-chip{white-space:nowrap;background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border);border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;transition:all .2s;display:inline-flex}.tag-chip.strategy{color:var(--primary);background:#6366f11a;border-color:#6366f133}.tag-chip.emotion{color:var(--loss);background:#f43f5e1a;border-color:#f43f5e33}.tag-chip.clickable{cursor:pointer}.tag-chip.clickable:hover{filter:brightness(1.2);transform:translateY(-1px)}.tag-chip.selected{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 10px #6366f166}.history-page{padding-bottom:2rem}.desktop-row-item{align-items:center;gap:1.5rem;flex-direction:row!important;padding:1.2rem 1.5rem!important;display:flex!important}.desktop-row-item .trade-info-inline{align-items:baseline;gap:.5rem;width:250px;display:flex}.desktop-row-item .trade-info-inline .name{font-size:1.05rem;font-weight:600}.desktop-row-item .trade-info-inline .ticker{color:var(--text-muted);font-size:.85rem}.desktop-row-item .trade-date{width:180px;color:var(--text-muted);font-size:.9rem}.desktop-row-item .detail-inline{flex-direction:column;width:100px;display:flex}.desktop-row-item .detail-inline .label{color:var(--text-muted);margin-bottom:.2rem;font-size:.75rem}.desktop-row-item .detail-inline .val,.desktop-row-item .detail-inline .profit-text,.desktop-row-item .detail-inline .loss-text{font-size:.95rem;font-weight:600}.desktop-row-item .trade-actions-inline{gap:.5rem;margin-left:auto;display:flex}.history-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.btn-header-action{background-color:var(--bg-input);color:var(--text-main);border:1px solid var(--border);border-radius:20px;padding:.4rem 1rem;font-size:.85rem;font-weight:600}.history-tabs{border-bottom:1px solid var(--border);margin-bottom:1rem;display:flex}.tab-btn{color:var(--text-muted);background:0 0;border-bottom:2px solid #0000;flex:1;padding:.8rem;font-weight:600}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.filters-bar-mobile{margin-bottom:1rem}.search-input{border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--bg-card);width:100%;color:var(--text-main);margin-bottom:.8rem;padding:.8rem 1rem}.filter-chips{-ms-overflow-style:none;scrollbar-width:none;gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.filter-chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border);white-space:nowrap;color:var(--text-muted);cursor:pointer;border-radius:20px;padding:.4rem 1rem;font-size:.8rem}.trades-summary{color:var(--text-muted);margin-top:.5rem;font-size:.8rem}.trade-card{border-radius:var(--radius-md);margin-bottom:.8rem;padding:1rem}.trade-card-top{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.trade-card-top .ticker{margin-right:.3rem;font-size:.8rem;font-weight:600}.trade-card-top .name{font-size:1rem;font-weight:600}.trade-price-group{text-align:right;font-weight:600}.trade-pnl.profit{color:var(--profit)}.trade-pnl.loss{color:var(--loss)}.trade-card-mid{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.badge-type{border-radius:4px;padding:.1rem .4rem;font-size:.75rem;font-weight:600}.badge-type.buy{color:#818cf8;background:#6366f133}.badge-type.sell{color:#fb7185;background:#f43f5e33}.trade-date-tag{color:var(--text-muted)}.ml-auto{margin-left:auto}.holdings-summary-banner{border-radius:var(--radius-lg);margin-bottom:1rem;padding:1rem 0;display:flex}.summary-col{border-right:1px solid var(--border);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.summary-col:last-child{border-right:none}.summary-col .label{color:var(--text-muted);margin-bottom:.3rem;font-size:.75rem}.summary-col .val{font-size:1.1rem;font-weight:700}.summary-col .val.profit{color:var(--profit)}.summary-col .val.loss{color:var(--loss)}.holdings-subtext{color:var(--text-muted);margin-bottom:.8rem;font-size:.8rem}.holding-card{border-radius:var(--radius-md);margin-bottom:1rem;padding:1.25rem 1rem}.holding-top{justify-content:space-between;align-items:flex-end;display:flex}.holding-top .ticker{margin-right:.4rem;font-size:.85rem;font-weight:700}.holding-top .name{color:var(--text-main);font-size:1.1rem;font-weight:600}.holding-pnl-group{flex-direction:column;align-items:flex-end;display:flex}.holding-pnl-group .val{font-size:1.1rem;font-weight:700}.holding-pnl-group .pct{margin-top:2px;font-size:.85rem}.profit{color:var(--profit)}.loss{color:var(--loss)}.holding-mid{color:var(--text-muted);margin:.6rem 0}.holding-grid{border-radius:var(--radius-sm);background-color:#ffffff08;margin-bottom:.8rem;padding:.8rem;display:flex}.grid-cell{flex-direction:column;flex:1;display:flex}.grid-cell.center{border-left:1px solid var(--border);border-right:1px solid var(--border);align-items:center}.grid-cell.right{align-items:flex-end}.grid-cell .label{color:var(--text-muted);margin-bottom:.2rem;font-size:.7rem}.grid-cell .val{font-size:.9rem;font-weight:600}.weight-bar-container{flex-wrap:wrap;align-items:center;margin-top:1rem;display:flex;position:relative}.weight-label{color:var(--text-muted);font-size:.75rem}.weight-val-small{color:var(--text-muted);margin-left:auto;font-size:.75rem}.weight-track{background-color:var(--bg-input);border-radius:2px;width:100%;height:4px;margin-top:.4rem;overflow:hidden}.weight-fill{border-radius:2px;height:100%}.holdings-page{flex-direction:column;gap:1.5rem;display:flex}.holdings-header{justify-content:space-between;align-items:center;display:flex}.holdings-header h1{font-size:1.5rem;font-weight:700}.header-actions{align-items:center;gap:.5rem;display:flex}.add-btn{background-color:var(--bg-input);border:1px solid var(--glass-border);color:var(--text-main);border-radius:var(--radius-md);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:flex}.add-btn:hover{background-color:#ffffff1a}.more-btn{background-color:var(--bg-input);border:1px solid var(--glass-border);color:var(--text-main);border-radius:var(--radius-md);justify-content:center;align-items:center;width:38px;height:38px;display:flex}.holdings-filters{border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem;display:flex}.search-input{border:1px solid var(--border);color:var(--text-main);border-radius:var(--radius-lg);background-color:#ffffff0d;min-width:250px;padding:.6rem 1rem;font-size:.95rem}.search-input:focus{border-color:var(--primary);outline:none}.filter-chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;background-color:#ffffff0d;border-radius:20px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}.chip:hover{color:var(--text-main);background-color:#ffffff1a}.chip.active{background-color:var(--primary);color:#fff;border-color:var(--primary)}.holdings-summary{color:var(--text-muted);font-size:.9rem}.holdings-table-container{border-radius:var(--radius-md);overflow:hidden}.holdings-table{border-collapse:collapse;width:100%}.holdings-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--glass-border);padding:1rem;font-size:.85rem;font-weight:500}.holdings-table td{border-bottom:1px solid var(--glass-border);vertical-align:middle;padding:1.2rem 1rem}.holdings-table tr:last-child td{border-bottom:none}.text-right{text-align:right!important}.col-ticker{width:12%}.col-name{width:45%}.col-tags{width:20%}.col-price{width:13%}.col-qty{width:10%}.ticker-badge{color:var(--text-main);font-size:1.05rem;font-weight:600}.name-wrapper{flex-direction:column;gap:.3rem;display:flex}.name-wrapper strong{color:var(--text-main);font-size:1.05rem}.name-date{color:var(--text-muted);font-size:.8rem}.tags-wrapper{flex-wrap:wrap;gap:.3rem;display:flex}.tag-chip{color:var(--text-muted);background-color:#ffffff14;border-radius:12px;padding:.2rem .6rem;font-size:.8rem}.empty-state{text-align:center;color:var(--text-muted);padding:3rem!important}.auth-container{background-color:var(--bg-primary);background-image:radial-gradient(circle at 50% 0%, var(--bg-tertiary) 0%, transparent 70%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{border-radius:1.5rem;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 20px 40px #0006}.auth-title{color:var(--text-primary);text-align:center;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.auth-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:2rem;font-size:.95rem}.auth-error{color:var(--danger-color);text-align:center;background-color:#ef44441a;border:1px solid #ef444433;border-radius:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem}.auth-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-group input{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:.75rem;padding:.875rem 1rem;font-size:1rem;transition:all .2s}.form-group input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #6366f133}.form-group input::placeholder{color:var(--text-muted)}.auth-button{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;cursor:pointer;border:none;border-radius:.75rem;margin-top:.5rem;padding:.875rem;font-size:1rem;font-weight:600;transition:all .2s}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:2rem;font-size:.875rem}.auth-link{color:var(--accent-primary);cursor:pointer;font-weight:600;transition:color .2s}.auth-link:hover{color:var(--accent-secondary);text-decoration:underline}.bottom-nav{background-color:var(--bg-card);border-top:1px solid var(--border-color);z-index:1000;width:100%;height:65px;padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;align-items:center;display:flex;position:absolute;bottom:0;left:0}.bottom-nav-item{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:.65rem;text-decoration:none;display:flex}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item.disabled{opacity:.5;cursor:not-allowed}.bottom-nav-item svg{margin-bottom:2px}.bottom-nav-fab-container{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;position:relative;top:-15px}.bottom-nav-fab{background-color:var(--primary);width:50px;height:50px;box-shadow:var(--shadow-glow);border-radius:50%;justify-content:center;align-items:center;margin-bottom:6px;transition:transform .2s;display:flex}.bottom-nav-fab:hover{transform:scale(1.05)}.fab-label{color:var(--text-muted);font-size:.65rem}.app-layout{min-height:100vh;display:flex}.main-content{flex:1;min-height:100vh}.app-wrapper.mobile-mode{background-color:#0a0a0a;justify-content:center;align-items:center;min-height:100vh;display:flex}.app-wrapper.mobile-mode .app-layout{background-color:var(--bg-main);border:8px solid #333;border-radius:40px;flex-direction:column;width:375px;height:812px;min-height:auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 50px #00000080}.app-wrapper.mobile-mode .main-content{flex:1;min-height:auto;margin-left:0;padding-bottom:70px;overflow:hidden auto}.app-wrapper.mobile-mode .main-content::-webkit-scrollbar{width:4px}.app-wrapper.mobile-mode .main-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}
