.trading{min-height:100vh;padding:calc(var(--header-total-height) + var(--space-4)) var(--space-4) var(--space-12)}.hidden{display:none!important}.trading-login{display:flex;align-items:stretch;justify-content:center;min-height:calc(100vh - var(--header-total-height));background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);position:relative;overflow:hidden}.login-split-container{display:flex;width:100%;max-width:1400px;min-height:100%}.login-animation-side{flex:0 0 60%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);background:linear-gradient(135deg,#b4c7c014,#d977570d);position:relative;overflow:hidden}.animation-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.character-container{position:relative;margin-bottom:var(--space-8)}.character-svg{filter:drop-shadow(0 14px 34px rgba(44,33,24,.08));animation:characterFloat 4s ease-in-out infinite}@keyframes characterFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.character-svg .pupil{transition:transform .1s ease-out}.character-svg .mouth,.character-svg .eyebrow{transition:d .3s ease}.speech-bubble{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-lg);white-space:nowrap;animation:bubblePop .5s ease-out}.speech-bubble:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--card-bg)}.speech-text{font-size:var(--text-sm);color:var(--text-secondary)}@keyframes bubblePop{0%{opacity:0;transform:translate(-50%) scale(.8)}to{opacity:1;transform:translate(-50%) scale(1)}}.animation-decoration{position:absolute;inset:0;pointer-events:none;z-index:1}.floating-shape{position:absolute;border-radius:50%;opacity:.1;animation:floatShape 6s ease-in-out infinite}.shape-1{width:200px;height:200px;background:linear-gradient(135deg,var(--color-accent-blue),var(--color-accent-purple));top:10%;left:10%;animation-delay:0s}.shape-2{width:150px;height:150px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent-orange));top:60%;right:15%;animation-delay:1.5s}.shape-3{width:100px;height:100px;background:linear-gradient(135deg,var(--color-accent-pink),var(--color-primary));bottom:20%;left:20%;animation-delay:3s}.shape-4{width:80px;height:80px;background:linear-gradient(135deg,var(--color-accent-blue),var(--color-primary));top:30%;right:25%;animation-delay:4.5s}@keyframes floatShape{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(10deg)}}.animation-info{text-align:center;z-index:2}.animation-title{font-family:var(--font-display);font-size:clamp(2.5rem,4vw,4rem);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-3);line-height:.98}.animation-desc{font-size:var(--text-base);color:var(--text-tertiary);max-width:400px;line-height:1.6}.login-form-side{flex:0 0 40%;display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:var(--bg-primary);border-left:1px solid var(--border-primary)}.login-card{width:100%;max-width:380px;padding:var(--space-8);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);box-shadow:var(--card-shadow-hover)}.login-header{text-align:center;margin-bottom:var(--space-6)}.login-icon{margin-bottom:var(--space-6);animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-title{font-family:var(--font-display);font-size:clamp(2rem,3vw,2.75rem);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.login-subtitle{font-size:var(--text-sm);color:var(--text-tertiary)}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);text-align:left}.form-group label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--space-3);color:var(--text-tertiary);pointer-events:none}.input-wrapper input{width:100%;padding:var(--space-3) var(--space-4);padding-left:var(--space-10);font-size:var(--text-base);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--input-bg);color:var(--text-primary);transition:all .2s ease}.input-wrapper input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d9775729}.input-wrapper input::placeholder{color:var(--text-tertiary)}.toggle-password{position:absolute;right:var(--space-3);background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.login-btn{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.login-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px #d977573d}.login-btn:active{transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-btn .spinner{animation:spin 1s linear infinite}@media(max-width:1024px){.login-split-container{flex-direction:column}.login-animation-side{flex:none;padding:var(--space-6);min-height:300px}.login-form-side{flex:none;border-left:none;border-top:1px solid var(--border-light)}.character-svg{width:150px;height:150px}.animation-title{font-size:var(--text-2xl)}}@media(max-width:640px){.login-animation-side{min-height:250px;padding:var(--space-4)}.login-form-side{padding:var(--space-4)}.login-card{padding:var(--space-6)}.character-svg{width:120px;height:120px}.speech-bubble{display:none}.animation-title{font-size:var(--text-xl)}.animation-desc{font-size:var(--text-sm)}}.input-wrapper input:focus{outline:none;border-color:var(--color-accent-blue);box-shadow:0 0 0 3px #64d2ff26;background:var(--bg-primary)}.toggle-password{position:absolute;right:var(--space-3);color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease-default)}.toggle-password:hover{color:var(--text-secondary)}.toggle-password .hidden{display:none}.login-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);margin-top:var(--space-2);background:linear-gradient(135deg,var(--color-accent-blue),var(--color-accent-purple));color:#fff;font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-lg);transition:all var(--duration-fast) var(--ease-default)}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #64d2ff4d}.login-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;padding:var(--space-5);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.dashboard-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-1)}.dashboard-subtitle{font-size:var(--text-sm);color:var(--text-tertiary)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.gold-price-widget{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,#ffb80014,#ffd7000a);border:1px solid rgba(255,184,0,.2);border-radius:var(--radius-xl);transition:all var(--duration-fast) var(--ease-default);position:relative;min-width:180px}.gold-price-widget:hover{border-color:#ffb80059;box-shadow:0 2px 12px #ffb8001f}.gold-price-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#ffb80026,#ffd7001a);border-radius:var(--radius-lg);color:#ffb800;flex-shrink:0}.gold-price-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.gold-price-label{font-size:11px;color:var(--text-tertiary);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.gold-price-value-row{display:flex;align-items:baseline;gap:4px}.gold-price-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:#ffb800;font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.2}.gold-price-value.loading{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#ffb800 25%,gold,#ffb800 75%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gold-price-value.error{color:var(--text-tertiary);font-size:var(--text-base)}.gold-price-unit{font-size:11px;color:var(--text-quaternary);font-weight:var(--font-medium)}.gold-price-time{font-size:10px;color:var(--text-quaternary);font-family:var(--font-mono)}.gold-price-indicator{display:flex;align-items:center;padding-left:var(--space-2);border-left:1px solid var(--border-primary)}.pulse-dot{width:8px;height:8px;background:#30d158;border-radius:50%;animation:pulse-dot 2s infinite;box-shadow:0 0 #30d15866}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #30d15866}50%{opacity:.8;transform:scale(.9);box-shadow:0 0 0 4px #30d15800}}.action-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);white-space:nowrap}.logout-btn{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-secondary)}.logout-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-hover);transform:translateY(-1px)}.logout-btn:active{transform:translateY(0)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.stats-grid{grid-template-columns:1fr}.dashboard-header{flex-direction:column;align-items:stretch}.header-right{width:100%;justify-content:space-between}}.stat-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);transition:all var(--duration-fast) var(--ease-default);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent-purple));opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-hover)}.stat-card:hover:before{opacity:1}.stat-card .stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-xl);flex-shrink:0}.stat-card.profit .stat-icon{background:#30d15826;color:#30d158}.stat-card.month .stat-icon{background:#64d2ff26;color:#64d2ff}.stat-card.week .stat-icon{background:#bf5af226;color:#bf5af2}.stat-card.quantity .stat-icon{background:#ff9f0a26;color:#ff9f0a}.stat-card .stat-content{display:flex;flex-direction:column}.stat-card .stat-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-card .stat-label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.03em}.main-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}@media(max-width:1024px){.main-grid{grid-template-columns:1fr}}.panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--space-5);transition:all var(--duration-fast) var(--ease-default);position:relative;overflow:hidden}.panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent-purple));opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.panel:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover)}.panel:hover:before{opacity:1}.panel.buy-panel:before{background:linear-gradient(90deg,#30d158,#34c759)}.panel.sell-panel:before{background:linear-gradient(90deg,#ff375f,#ff453a)}.panel.alert-panel:before{background:linear-gradient(90deg,#ff9f0a,#fc0)}.panel-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-primary)}.panel-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.panel-title svg{flex-shrink:0}.buy-panel .panel-title svg{color:#30d158}.sell-panel .panel-title svg{color:#ff375f}.alert-panel .panel-title svg{color:#ff9f0a}.panel-form{display:flex;flex-direction:column;gap:var(--space-3)}.form-group label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.input-with-unit{position:relative;display:flex;align-items:center}.input-with-unit input{width:100%;padding:var(--space-3) var(--space-4);padding-right:60px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-number);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:all var(--duration-fast) var(--ease-default)}.input-with-unit input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0071e326}.input-with-unit input::placeholder{color:var(--text-quaternary)}.input-with-unit .unit{position:absolute;right:var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.calculated-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border-radius:var(--radius-lg);border:1px solid var(--border-primary)}.calc-label{font-size:var(--text-sm);color:var(--text-secondary)}.calc-value{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.submit-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-lg);transition:all var(--duration-fast) var(--ease-default);border:none;cursor:pointer;text-transform:uppercase;letter-spacing:.03em}.submit-btn.buy{background:linear-gradient(135deg,#30d158,#34c759);color:#fff;box-shadow:0 2px 8px #30d1584d}.submit-btn.sell{background:linear-gradient(135deg,#ff375f,#ff453a);color:#fff;box-shadow:0 2px 8px #ff375f4d}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0003}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.alert-panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--space-5)}.alert-panel .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-4)}.alert-panel .form-group{margin-bottom:0}.alert-type-row{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.alert-type-label{flex:1;cursor:pointer}.alert-type-label input{display:none}.alert-type-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);transition:all var(--duration-fast) var(--ease-default)}.alert-type-btn:hover{transform:translateY(-1px)}.alert-type-btn.buy:hover,.alert-type-label input:checked+.alert-type-btn.buy{border-color:#30d158;background:#30d15826;color:#30d158}.alert-type-btn.sell:hover,.alert-type-label input:checked+.alert-type-btn.sell{border-color:#ff375f;background:#ff375f26;color:#ff375f}.tolerance-hint{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:#0071e314;border:1px solid rgba(0,113,227,.15);border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-size:var(--text-xs);color:var(--text-secondary)}.tolerance-hint svg{color:var(--color-primary);flex-shrink:0}.submit-btn.alert{background:linear-gradient(135deg,#bf5af2,#5e5ce6);box-shadow:0 2px 8px #bf5af24d}.submit-btn.alert:hover{transform:translateY(-2px);box-shadow:0 4px 16px #bf5af266}.alert-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4);max-height:200px;overflow-y:auto}.alert-empty{text-align:center;color:var(--text-tertiary);font-size:var(--text-sm);padding:var(--space-4)}.alert-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-lg);font-size:var(--text-sm)}.alert-item .alert-info{display:flex;align-items:center;gap:var(--space-2)}.alert-item .alert-price{font-weight:var(--font-medium);color:var(--text-primary)}.alert-item .alert-tolerance{font-size:10px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm)}.alert-item .alert-type{padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium)}.alert-item .alert-type.buy{background:#30d15826;color:#30d158}.alert-item .alert-type.sell{background:#ff375f26;color:#ff375f}.alert-item .delete-alert{color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease-default);background:none;border:none;cursor:pointer;padding:var(--space-1)}.alert-item .delete-alert:hover{color:#ff375f}.transactions-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);padding:var(--space-5);margin-bottom:var(--space-5)}.tx-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.tx-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);letter-spacing:-.01em}.tx-section-title svg{color:var(--color-primary);width:20px;height:20px}.add-transaction-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-blue) 100%);border:none;border-radius:var(--radius-lg);color:#fff;font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);box-shadow:0 2px 8px #0071e340}.add-transaction-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0071e359}.add-transaction-btn:active{transform:scale(.98)}.filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 20px;background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-primary);gap:16px;flex-wrap:wrap}.filter-segment-control{display:inline-flex;background:var(--bg-tertiary);border-radius:10px;padding:4px;gap:2px}.segment-btn{padding:8px 16px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.segment-btn:hover{color:var(--text-primary)}.segment-btn.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.filter-sort-wrapper{display:flex;align-items:center;gap:12px}.sort-label{font-size:13px;color:var(--text-tertiary);font-weight:500}.sort-select{padding:8px 32px 8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:10px;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.sort-select:hover{border-color:var(--color-primary)}.sort-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0071e31a}.transactions-list-container{display:flex;flex-direction:column;gap:20px}.tx-card{position:relative;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--space-4);margin-bottom:var(--space-3);transition:all var(--duration-fast) var(--ease-default);overflow:hidden}.tx-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent-purple));opacity:0}.tx-card:hover{border-color:var(--card-border-hover);box-shadow:var(--shadow-sm)}.tx-card:hover:before{opacity:1}.tx-card.buy:before{background:linear-gradient(90deg,var(--color-success),var(--color-success-light))}.tx-card.sell:before{background:linear-gradient(90deg,var(--color-danger),var(--color-danger-light))}.tx-card.editing{border-color:var(--color-primary)}.tx-card.editing:before{opacity:1;background:linear-gradient(90deg,var(--color-primary),var(--color-accent-purple))}[data-theme=dark] .tx-card{background:var(--card-bg);border-color:var(--card-border)}[data-theme=dark] .tx-card:hover{border-color:var(--card-border-hover)}.tx-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.tx-card-left{display:flex;align-items:center;gap:12px}.tx-sequence{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:20px;font-family:var(--font-number);font-size:12px;font-weight:600;color:var(--text-tertiary);letter-spacing:.02em}.tx-type-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:12px;font-size:13px;font-weight:600;border:1px solid transparent;letter-spacing:-.01em}.tx-type-badge.buy{background:linear-gradient(135deg,#30d1581f,#30d1580d);color:#30d158;border-color:#30d15840}.tx-type-badge.sell{background:linear-gradient(135deg,#ff375f1f,#ff375f0d);color:#ff375f;border-color:#ff375f40}.tx-type-badge svg{width:14px;height:14px}.tx-card-body{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.tx-data-row{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);transition:all var(--duration-fast) var(--ease-default)}.tx-data-row:hover{background:var(--bg-tertiary);border-color:var(--border-secondary)}.tx-data-item{display:flex;flex-direction:column;gap:6px;flex:1;min-width:120px}.tx-data-item.full-width{flex:0 0 100%}.tx-data-label{font-size:11px;color:var(--text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-sans)}.tx-data-value{font-family:var(--font-number);font-size:17px;font-weight:600;color:var(--text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.tx-data-value.profit.positive{color:#30d158}.tx-data-value.profit.negative{color:#ff375f}.tx-data-value.profit.neutral{color:var(--text-tertiary)}.tx-cell-content{font-family:var(--font-number);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--bg-tertiary);border:1px solid transparent;transition:all var(--duration-fast) var(--ease-default);display:inline-block;min-width:100px}.tx-cell-content:hover{background:var(--bg-secondary);border-color:var(--border-primary)}.tx-recent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-5)}.tx-recent-grid .tx-card{margin-bottom:0}.tx-recent-grid .tx-card .tx-data-row{padding:var(--space-3)}.tx-recent-grid .tx-card .tx-card-header{margin-bottom:var(--space-3)}.tx-recent-grid .tx-card .tx-card-body{margin-bottom:var(--space-3);gap:var(--space-3)}.tx-recent-grid .tx-card .tx-data-label{font-size:10px}.tx-recent-grid .tx-card .tx-cell-content{font-size:var(--text-base);min-width:80px}.tx-recent-grid .tx-card .tx-sequence{padding:4px 10px;font-size:11px}.tx-recent-grid .tx-card .tx-type-badge{padding:6px 12px;font-size:12px}.tx-history-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-primary)}.tx-history-header{font-size:var(--text-sm);color:var(--text-tertiary);font-weight:var(--font-semibold);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.05em}.tx-recent-badge{position:absolute;top:-1px;right:16px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent-purple));color:#fff;font-size:10px;font-weight:600;padding:3px 10px;border-radius:0 0 8px 8px;letter-spacing:.02em;text-transform:uppercase}.tx-card.recent{border-color:var(--color-primary);box-shadow:0 4px 20px #0071e31a}.tx-card.recent:before{opacity:1}.tx-compact{display:flex;align-items:center;gap:var(--space-4);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);transition:all var(--duration-fast) var(--ease-default);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tx-compact:hover{border-color:var(--card-border-hover);background:var(--bg-secondary);transform:translate(4px)}.tx-compact.buy{border-left:3px solid #30d158}.tx-compact.sell{border-left:3px solid #ff375f}.tx-compact-left{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:50px}.tx-compact-type{font-size:12px;font-weight:700;padding:4px 10px;border-radius:6px;letter-spacing:.02em}.tx-compact-type.buy{background:#30d1581f;color:#30d158}.tx-compact-type.sell{background:#ff375f1f;color:#ff375f}.tx-compact-seq{font-size:10px;color:var(--text-tertiary);font-family:var(--font-number);font-weight:500}.tx-compact-main{flex:1;display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);min-width:0}.tx-compact-row{display:flex;align-items:center;gap:var(--space-2)}.tx-compact-label{font-size:11px;color:var(--text-tertiary);font-weight:500;white-space:nowrap}.tx-compact-value{font-size:13px;font-weight:600;color:var(--text-primary);font-family:var(--font-number);font-feature-settings:"tnum";white-space:nowrap}.tx-compact-value.profit.positive{color:#30d158}.tx-compact-value.profit.negative{color:#ff375f}.tx-compact-right{display:flex;align-items:center;gap:var(--space-2);opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.tx-compact:hover .tx-compact-right{opacity:1}.tx-compact-edit,.tx-compact-delete{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);background:var(--bg-tertiary);color:var(--text-tertiary)}.tx-compact-edit:hover{background:#0071e31f;color:var(--color-primary)}.tx-compact-delete:hover{background:#ff375f1f;color:#ff375f}.tx-inline-edit{font-family:var(--font-number);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary);background:var(--input-bg);border:2px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);width:100%;min-width:120px;transition:all var(--duration-fast) var(--ease-default);box-shadow:0 0 0 4px #0071e31a}.tx-inline-edit:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #0071e326}.tx-inline-edit.tx-number{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tx-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-4);border-top:1px solid var(--border-primary);margin-top:var(--space-1)}.tx-time{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary);font-family:var(--font-mono);font-weight:var(--font-medium)}.tx-time svg{width:14px;height:14px;opacity:.5}.tx-actions{display:flex;gap:var(--space-2)}.tx-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);border:none;background:var(--bg-tertiary);color:var(--text-secondary);letter-spacing:-.01em}.tx-action-btn:hover{transform:scale(1.02);background:var(--bg-secondary)}.tx-action-btn:active{transform:scale(.98)}.tx-action-btn.save{background:linear-gradient(135deg,#30d1581f,#30d1580d);color:var(--color-success)}.tx-action-btn.save:hover{background:linear-gradient(135deg,#30d15833,#30d1581a);box-shadow:0 2px 8px #30d15833}.tx-action-btn.delete{background:#ff375f14;color:var(--color-danger)}.tx-action-btn.delete:hover{background:#ff375f26;box-shadow:0 2px 8px #ff375f26}.tx-action-btn svg{width:14px;height:14px}.tx-empty-table{padding:var(--space-16) var(--space-8);text-align:center;background:var(--bg-secondary);border-radius:var(--radius-2xl);border:2px dashed var(--border-primary)}.tx-empty-table-icon{width:64px;height:64px;margin:0 auto var(--space-4);color:var(--text-quaternary);opacity:.5}.tx-empty-table-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.tx-empty-table-desc{font-size:var(--text-sm);color:var(--text-tertiary)}.tx-skeleton{background:var(--bg-secondary);border-radius:var(--radius-2xl);padding:var(--space-6);border:1px solid var(--border-primary);animation:skeleton-pulse 1.5s ease-in-out infinite}.tx-skeleton-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.tx-skeleton-badge{width:60px;height:24px;background:var(--border-primary);border-radius:20px}.tx-skeleton-status{width:48px;height:20px;background:var(--border-primary);border-radius:20px}.tx-skeleton-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.tx-skeleton-item{height:40px;background:var(--border-primary);border-radius:var(--radius-lg)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.delete-confirm-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-5)}.delete-confirm-modal.hidden{display:none}.delete-modal-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(8px);animation:fadeIn var(--duration-fast) var(--ease-default)}.delete-modal-content{position:relative;width:100%;max-width:340px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);padding:var(--space-8);text-align:center;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease}.delete-modal-icon{width:64px;height:64px;margin:0 auto var(--space-4);display:flex;align-items:center;justify-content:center;background:#ff375f1a;border-radius:50%;color:var(--color-danger)}.delete-modal-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.delete-modal-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin-bottom:var(--space-6)}.delete-modal-actions{display:flex;gap:var(--space-3)}.delete-modal-btn{flex:1;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);border:none}.delete-modal-btn.cancel{background:var(--bg-tertiary);color:var(--text-primary)}.delete-modal-btn.cancel:hover{background:var(--bg-secondary)}.delete-modal-btn.confirm{background:var(--color-danger);color:#fff}.delete-modal-btn.confirm:hover{background:#ff453a;transform:translateY(-1px)}.edit-transaction-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-5)}.edit-transaction-modal.hidden{display:none}.edit-modal-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(8px);animation:fadeIn var(--duration-fast) var(--ease-default)}.edit-modal-content{position:relative;width:100%;max-width:480px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease;overflow:hidden}.edit-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-primary)}.edit-modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}#edit-transaction-form{padding:var(--space-6)}.edit-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.edit-form-group{display:flex;flex-direction:column;gap:var(--space-2)}.edit-form-group label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.edit-form-group input{padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default)}.edit-form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0071e326}.edit-form-actions{display:flex;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-primary)}.edit-form-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);border:none}.edit-form-btn.cancel{background:var(--bg-tertiary);color:var(--text-primary)}.edit-form-btn.cancel:hover{background:var(--bg-secondary)}.edit-form-btn.save{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-blue) 100%);color:#fff;box-shadow:0 2px 8px #0071e34d}.edit-form-btn.save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0071e366}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:var(--space-4)}.header-actions{width:100%;flex-direction:column;gap:var(--space-3)}.gold-price-widget{width:100%;min-width:unset}.logout-btn{width:100%;justify-content:center}.transactions-section{padding:var(--space-5);border-radius:var(--radius-2xl)}.filter-bar{flex-direction:column;align-items:stretch;padding:var(--space-3) var(--space-4)}.filter-segment-control,.filter-sort-wrapper{width:100%;justify-content:center}.tx-card{padding:var(--space-4);border-radius:var(--radius-2xl)}.tx-recent-grid{grid-template-columns:1fr;gap:var(--space-3)}.tx-data-row{padding:var(--space-3) var(--space-4)}.tx-card-footer{flex-direction:column;gap:var(--space-3);align-items:stretch}.tx-actions{justify-content:flex-end}.tx-compact{flex-wrap:wrap;padding:var(--space-3)}.tx-compact-main{width:100%;flex-direction:column;gap:var(--space-2)}.tx-compact-right{width:100%;justify-content:flex-end;opacity:1;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-primary)}.tx-recent-badge{right:8px;font-size:9px;padding:2px 8px}.edit-form-grid{grid-template-columns:1fr}.tx-section-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.add-transaction-btn span{display:none}.add-transaction-btn{padding:var(--space-2)}}@media(max-width:480px){.tx-data-row{flex-direction:column;gap:var(--space-3)}.tx-data-item{min-width:100%}.tx-data-value,.tx-cell-content{font-size:var(--text-base)}.tx-action-btn{padding:var(--space-2) var(--space-3)}.tx-action-btn span{display:none}}.add-transaction-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-5)}.add-transaction-modal.hidden{display:none}.modal-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(4px);animation:fadeIn var(--duration-fast) var(--ease-default)}.modal-content{position:relative;width:100%;max-width:480px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-primary)}.modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}#add-transaction-form{padding:var(--space-6)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}#add-transaction-form .form-group{margin-bottom:var(--space-4)}#add-transaction-form label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}#add-transaction-form input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-base);transition:all var(--duration-fast) var(--ease-default)}#add-transaction-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0071e326}#add-transaction-form input::placeholder{color:var(--text-quaternary)}.required-hint{color:var(--color-danger);font-weight:var(--font-bold);margin-left:2px}.type-toggle{display:flex;gap:var(--space-2)}.type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.type-btn:hover{border-color:var(--text-tertiary)}.type-btn.active{border-color:var(--color-primary);background:#0071e31a;color:var(--color-primary)}.type-btn[data-type=buy].active{border-color:var(--color-success);background:#30d1581a;color:var(--color-success)}.type-btn[data-type=sell].active{border-color:var(--color-danger);background:#ff375f1a;color:var(--color-danger)}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-primary)}.btn-cancel,.btn-submit{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.btn-cancel{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-secondary)}.btn-cancel:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-submit{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent-blue) 100%);border:none;color:#fff;box-shadow:0 2px 8px #0071e34d}.btn-submit:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0071e366}.btn-submit:active{transform:translateY(0)}.pagination{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-6)}.pagination button{padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--duration-fast) var(--ease-default);cursor:pointer}.pagination button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-hover)}.pagination button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pagination button:disabled{opacity:.5;cursor:not-allowed}.charts-section{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}@media(max-width:768px){.charts-section{grid-template-columns:1fr}}.chart-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);padding:var(--space-6);transition:all var(--duration-fast) var(--ease-default);position:relative;overflow:hidden}.chart-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent-purple));opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.chart-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-hover)}.chart-card:hover:before{opacity:1}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.chart-title{font-size:17px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.chart-subtitle{font-size:12px;color:var(--text-tertiary)}.chart-legend{display:flex;gap:16px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.buy{background:#30d158}.legend-dot.sell{background:#ff375f}.chart-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-tertiary);font-size:14px}.chart-loading.hidden{display:none}.loading-spinner{width:24px;height:24px;border:2px solid var(--border-primary);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chart-container{height:220px;display:flex;align-items:flex-end;gap:6px;padding:16px 0;position:relative}.chart-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.chart-bar-group{display:flex;align-items:flex-end;gap:2px;width:100%;justify-content:center;flex:1}.chart-bar{width:16px;border-radius:4px 4px 0 0;min-height:4px;transition:all .2s ease;position:relative;cursor:pointer}.chart-bar:hover{opacity:.85}.chart-bar.buy{background:linear-gradient(180deg,#30d158,#30d15880)}.chart-bar.sell{background:linear-gradient(180deg,#ff375f,#ff375f80)}.chart-bar.profit{background:linear-gradient(180deg,var(--color-accent-blue),var(--color-accent-purple))}.chart-bar.negative{background:linear-gradient(180deg,#ff375f,#ff453a)}.chart-bar-label{font-size:11px;color:var(--text-tertiary);margin-top:8px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);gap:8px}.chart-empty svg{opacity:.5}.empty-state{text-align:center;padding:48px 32px;color:var(--text-tertiary);background:var(--bg-secondary);border-radius:20px;border:2px dashed var(--border-primary);margin:16px}.empty-state svg{margin-bottom:16px;opacity:.5;color:var(--text-tertiary)}.empty-state p{font-size:15px;font-weight:500}
