*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;font-size:16px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;background-color:#f3f4f6;color:#1f2937;overflow-x:hidden}button{border-radius:.375rem;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}button:focus,button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}button:active{transform:scale(.98)}.navigation{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fff;border-top:1px solid #e5e7eb;padding:.5rem 0;box-shadow:0 -2px 10px #0000000d;z-index:1000}.nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;text-decoration:none;color:#6b7280;transition:all .2s;border-radius:.5rem;min-width:60px;flex:1;-webkit-tap-highlight-color:transparent;background:none;border:none;cursor:pointer;font-family:inherit}.nav-link:active{transform:scale(.95)}.nav-icon{font-size:1.5rem;margin-bottom:.25rem}.nav-label{font-size:.65rem;font-weight:500}.nav-link.active{color:#667eea}.nav-link.active .nav-icon{transform:scale(1.1)}.menu-button{position:relative}.menu-overlay{position:fixed;inset:0;background:#00000080;z-index:1001;animation:fadeIn .2s ease}.menu-dropdown{position:fixed;bottom:70px;right:.5rem;width:280px;max-width:calc(100vw - 1rem);background:#fff;border-radius:.75rem;box-shadow:0 10px 25px #0003;z-index:1002;opacity:0;animation:slideUpFade .2s ease forwards}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.menu-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb}.menu-header h3{font-size:1rem;font-weight:600;color:#111827;margin:0}.menu-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:background-color .2s;-webkit-tap-highlight-color:transparent}.menu-close:hover{background-color:#f3f4f6}.menu-close:active{transform:scale(.95)}.menu-items{padding:.5rem}.menu-empty{padding:2rem 1rem;text-align:center}.menu-empty p{color:#9ca3af;font-size:.875rem;margin:0}.menu-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;text-decoration:none;color:#374151;border-radius:.5rem;transition:background-color .2s;-webkit-tap-highlight-color:transparent}.menu-item:hover{background-color:#f3f4f6}.menu-item:active{background-color:#e5e7eb}.menu-item-icon{font-size:1.5rem}.menu-item-label{font-size:.9375rem;font-weight:500}@media(min-width:769px){.navigation{position:static;border-top:none;border-bottom:2px solid #e5e7eb;padding:1rem 0;box-shadow:none}.nav-link{flex-direction:row;gap:.5rem;padding:.75rem 1.5rem;min-width:auto}.nav-icon{font-size:1.25rem;margin-bottom:0}.nav-label{font-size:.875rem}.nav-link:hover{background-color:#f3f4f6}.menu-dropdown{bottom:auto;top:4.5rem;right:1rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-container{background:#fff;border-radius:1rem;padding:2rem;width:100%;max-width:400px;box-shadow:0 10px 25px #0003}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:1.75rem;font-weight:700;color:#111827;margin:0 0 .5rem}.login-header p{font-size:.875rem;color:#6b7280;margin:0}.error-banner{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:.75rem;margin-bottom:1.5rem;color:#dc2626;font-size:.875rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.875rem;font-weight:500;color:#374151}.form-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-btn{width:100%;padding:.875rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:.5rem}.login-btn:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.login-btn:active{transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(min-width:769px){.login-container{padding:3rem}.login-header h1{font-size:2rem}.login-header p,.form-label{font-size:1rem}.form-input{padding:.875rem;font-size:1rem}.login-btn{padding:1rem;font-size:1.125rem}}.fund-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden;transition:box-shadow .2s}.fund-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.fund-card-header{padding:1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;-webkit-tap-highlight-color:transparent}.fund-card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.fund-card-title h3{font-size:1.25rem;font-weight:600;margin:0}.expand-icon{font-size:1.125rem;opacity:.8;margin-left:.5rem}.fund-card-amount{display:flex;align-items:baseline;gap:.5rem}.amount-label{font-size:.75rem;opacity:.9}.amount-value{font-size:1.5rem;font-weight:700}.fund-card-details{padding:1rem;background-color:#f9fafb}.loading{text-align:center;padding:2rem;color:#6b7280}.error{background-color:#fef2f2;color:#dc2626;padding:1rem;border-radius:.375rem;border:1px solid #fecaca}.fund-portion{margin-bottom:1.5rem}.fund-portion h4{font-size:.9rem;font-weight:600;color:#374151;margin:0 0 .625rem}.portion-bar{display:flex;height:3rem;border-radius:.5rem;overflow:hidden;margin-bottom:.625rem;box-shadow:inset 0 2px 4px #0000000f}.portion-stable{background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem;transition:width .3s ease}.portion-volatile{background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem;transition:width .3s ease}.portion-legend{display:flex;gap:1rem;font-size:.8rem;color:#6b7280;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.375rem}.legend-color{width:.875rem;height:.875rem;border-radius:.25rem;flex-shrink:0}.legend-color.stable{background:linear-gradient(135deg,#10b981,#059669)}.legend-color.volatile{background:linear-gradient(135deg,#f59e0b,#d97706)}.fund-assets{margin-top:1.5rem}.assets-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.fund-assets h4{font-size:.9rem;font-weight:600;color:#374151;margin:0}.currency-toggle-btn{background-color:#3b82f6;color:#fff;border:none;padding:.5rem .875rem;border-radius:.375rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:background-color .2s;min-width:60px;-webkit-tap-highlight-color:transparent}.currency-toggle-btn:hover{background-color:#2563eb}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.assets-table{width:100%;border-collapse:collapse;background:#fff;min-width:600px}.assets-table thead{background-color:#f3f4f6}.assets-table th{padding:.625rem .75rem;text-align:left;font-size:.75rem;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;white-space:nowrap}.assets-table td{padding:.625rem .75rem;font-size:.75rem;color:#1f2937;border-bottom:1px solid #f3f4f6;white-space:nowrap}.col-name{min-width:140px;max-width:180px}.col-amount{min-width:110px;text-align:right}.col-profit{min-width:70px;text-align:right}.col-category{min-width:100px}.col-quantity{min-width:80px;text-align:right}.assets-table tbody tr:last-child td{border-bottom:none}.assets-table tbody tr:hover{background-color:#f9fafb}.stable-asset{background-color:#ecfdf5}.stable-asset:hover{background-color:#d1fae5!important}.profit-positive{color:#059669;font-weight:600}.profit-negative{color:#dc2626;font-weight:600}.no-assets{text-align:center;padding:2rem;color:#9ca3af;font-style:italic}@media(min-width:769px){.fund-card-header{padding:1.5rem}.fund-card-title h3{font-size:1.5rem}.expand-icon{font-size:1.25rem}.amount-label{font-size:.875rem}.amount-value{font-size:1.75rem}.fund-card-details{padding:1.5rem}.fund-portion h4,.fund-assets h4{font-size:1rem}.portion-bar{height:2.5rem}.portion-stable,.portion-volatile{font-size:.875rem}.portion-legend{font-size:.875rem;gap:1.5rem}.legend-color{width:1rem;height:1rem}.currency-toggle-btn{font-size:.75rem;padding:.375rem .875rem}.assets-table{min-width:auto}.assets-table th,.assets-table td{padding:.75rem 1rem;font-size:.875rem}.col-name{min-width:160px;max-width:200px}.col-amount{min-width:130px}.col-profit{min-width:80px}.col-category{min-width:120px}.col-quantity{min-width:100px}}.home-page{max-width:1200px;margin:0 auto;padding:1rem;padding-bottom:80px}.home-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.header-content{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.home-header h1{font-size:1.75rem;font-weight:700;color:#111827;margin:0}.toggle-amount-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.5rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 2px #0000001a;white-space:nowrap;min-width:60px}.toggle-amount-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.toggle-amount-btn:active{transform:translateY(0)}.home-content{min-height:400px}.funds-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:769px){.home-page{padding:2rem}.home-header{margin-bottom:2rem;padding-bottom:1.5rem}.home-header h1{font-size:2.5rem}.funds-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}}.modal-overlay{position:fixed;inset:0;background:#00000080;z-index:2000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 2rem);max-width:500px;max-height:calc(100vh - 2rem);background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000004d;z-index:2001;animation:slideUp .3s ease;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:#fff;border-radius:.75rem .75rem 0 0;z-index:1}.modal-header h2{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:background-color .2s;-webkit-tap-highlight-color:transparent}.modal-close:hover{background-color:#f3f4f6}.modal-close:active{transform:scale(.95)}.modal-form{padding:1.25rem}.form-input,.form-select{width:100%;padding:.625rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input.error,.form-select.error{border-color:#dc2626}.form-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #e5e7eb}.section-title{font-size:.9375rem;font-weight:600;color:#111827;margin:0 0 1rem}.submit-error{background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;padding:.75rem;margin-bottom:1rem;font-size:.875rem;color:#dc2626}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e5e7eb;position:sticky;bottom:0;background:#fff;border-radius:0 0 .75rem .75rem}.btn-cancel,.btn-submit{flex:1;padding:.75rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;border:none;-webkit-tap-highlight-color:transparent}.btn-cancel{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-cancel:hover{background:#f9fafb}.btn-cancel:active{transform:scale(.98)}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-submit:hover{box-shadow:0 4px 6px #0000001a}.btn-submit:active{transform:scale(.98)}.btn-submit:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed}@media(min-width:769px){.modal-container{max-width:600px}.modal-header{padding:1.5rem}.modal-header h2{font-size:1.5rem}.modal-form{padding:1.5rem}.form-label{font-size:.9375rem}.form-input,.form-select{padding:.75rem;font-size:.9375rem}.section-title{font-size:1rem}.btn-cancel,.btn-submit{font-size:.9375rem}}.assets-page{max-width:1200px;margin:0 auto;padding:1rem;padding-bottom:80px}.page-header .header-content{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.add-asset-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.625rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 4px #0000001a;white-space:nowrap;-webkit-tap-highlight-color:transparent}.add-asset-btn:hover{transform:translateY(-1px);box-shadow:0 4px 6px #00000026}.add-asset-btn:active{transform:translateY(0)}.filters-section{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.search-input{width:100%;padding:.75rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;background:#fff;transition:border-color .2s}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.category-filter{width:100%}.category-select{width:100%;padding:.75rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;background:#fff;cursor:pointer;transition:border-color .2s}.category-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.error-container p{color:#991b1b;margin:0 0 1rem}.error-container button{background-color:#dc2626;color:#fff;border:none;padding:.5rem 1.5rem;border-radius:.375rem;font-size:1rem;cursor:pointer;transition:background-color .2s}.error-container button:hover{background-color:#b91c1c}.assets-list{display:flex;flex-direction:column;gap:1rem}.asset-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;transition:box-shadow .2s}.asset-card:active{box-shadow:0 4px 6px -1px #0000001a}.asset-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.asset-info{flex:1;min-width:0}.asset-name{font-size:1rem;font-weight:600;color:#111827;margin:0 0 .375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-meta{display:flex;gap:.5rem;flex-wrap:wrap}.asset-code{font-size:.75rem;color:#6b7280;font-family:monospace;background:#f3f4f6;padding:.125rem .375rem;border-radius:.25rem}.asset-category{font-size:.75rem;color:#667eea;background:#ede9fe;padding:.125rem .375rem;border-radius:.25rem}.asset-price{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.current-price{font-size:1.125rem;font-weight:700;color:#111827;white-space:nowrap}.currency-badge{font-size:.625rem;font-weight:600;color:#059669;background:#d1fae5;padding:.125rem .375rem;border-radius:.25rem}.price-range{margin-bottom:.75rem}.range-labels{display:flex;justify-content:space-between;margin-bottom:.375rem;font-size:.75rem;color:#6b7280}.buy-label{color:#059669}.sell-label{color:#dc2626}.range-bar{position:relative;height:.5rem;background:linear-gradient(to right,#d1fae5,#fef3c7,#fecaca);border-radius:.25rem;overflow:visible}.range-progress{height:100%;background:#667eea33;border-radius:.25rem;transition:width .3s ease}.range-indicator{position:absolute;top:50%;transform:translate(-50%,-50%);width:1rem;height:1rem;background:#667eea;border:2px solid white;border-radius:50%;box-shadow:0 2px 4px #0003;transition:left .3s ease}.alert{padding:.5rem .75rem;border-radius:.375rem;font-size:.8rem;font-weight:600;text-align:center;margin-bottom:.75rem}.alert-buy{background:#d1fae5;color:#065f46}.alert-sell{background:#fecaca;color:#991b1b}.asset-details{display:flex;flex-direction:column;gap:.375rem;padding-top:.75rem;border-top:1px solid #f3f4f6}.detail-item{display:flex;justify-content:space-between;font-size:.75rem}@media(min-width:769px){.assets-page{padding:2rem}.page-header{margin-bottom:1.5rem;padding-bottom:1.5rem}.page-header h1{font-size:2.5rem}.filters-section{flex-direction:row;gap:1rem;margin-bottom:1.5rem}.search-input{flex:2;font-size:1rem}.category-filter{width:auto;min-width:200px}.category-select{font-size:1rem}.assets-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.asset-card{padding:1.25rem}.asset-card:hover{box-shadow:0 4px 6px -1px #0000001a}.asset-name{font-size:1.125rem}.current-price{font-size:1.25rem}.range-labels{font-size:.8125rem}.alert{font-size:.875rem}.detail-item{font-size:.8125rem}}.history-page{max-width:1200px;margin:0 auto;padding:1rem;padding-bottom:80px}.filters-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.filter-label{display:block;font-size:.75rem;font-weight:500;color:#6b7280;margin-bottom:.375rem}.fund-selector{width:100%}.fund-select{width:100%;padding:.75rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;background:#fff;cursor:pointer;transition:border-color .2s}.fund-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.date-filters{display:flex;flex-direction:column;gap:.625rem}.date-input-row{display:flex;gap:.5rem}.date-input-group{flex:1}.date-input{width:100%;padding:.5rem;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.75rem;background:#fff;transition:border-color .2s}.date-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.clear-dates-btn{width:100%;padding:.5rem .75rem;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .2s;-webkit-tap-highlight-color:transparent}.clear-dates-btn:hover{background:#e5e7eb}.clear-dates-btn:active{transform:scale(.98)}.summary-cards{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;display:flex;flex-direction:column;gap:.375rem}.summary-card.buy{border-left:3px solid #10b981}.summary-card.sell{border-left:3px solid #ef4444}.summary-label{font-size:.75rem;color:#6b7280;font-weight:500}.summary-value{font-size:1.25rem;font-weight:700;color:#111827}.summary-count{font-size:.7rem;color:#9ca3af}.empty-state{text-align:center;padding:4rem 0;color:#6b7280;font-size:1.125rem}.history-list{display:flex;flex-direction:column;gap:.75rem}.history-item{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;border-left-width:3px}.history-item.buy{border-left-color:#10b981}.history-item.sell{border-left-color:#ef4444}.history-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:.75rem}.history-type{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.type-badge{font-size:.65rem;font-weight:700;padding:.25rem .5rem;border-radius:.25rem;white-space:nowrap}.type-badge.buy{background:#d1fae5;color:#065f46}.type-badge.sell{background:#fee2e2;color:#991b1b}.asset-name{font-size:.9375rem;font-weight:600;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-date{font-size:.75rem;color:#6b7280;white-space:nowrap}.history-details{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.625rem}.detail-row{display:flex;justify-content:space-between;font-size:.8125rem}.detail-label{color:#6b7280}.detail-value{color:#111827;font-weight:500}.detail-value.total{font-weight:700;font-size:.9375rem}.detail-value.total.buy{color:#10b981}.detail-value.total.sell{color:#ef4444}.history-time{font-size:.7rem;color:#9ca3af;text-align:right}@media(min-width:769px){.history-page{padding:2rem}.page-header{margin-bottom:1.5rem;padding-bottom:1.5rem}.page-header h1{font-size:2.5rem}.filters-section{flex-direction:row;align-items:flex-end;gap:1.5rem;margin-bottom:1.5rem}.fund-selector{width:auto;min-width:250px}.fund-select{font-size:1rem}.date-filters{flex-direction:row;align-items:flex-end;gap:1rem}.date-input-row{gap:.75rem}.date-input{padding:.75rem;font-size:1rem}.clear-dates-btn{width:auto;padding:.75rem 1rem;font-size:1rem;white-space:nowrap}.summary-cards{gap:1.5rem;margin-bottom:1.5rem}.summary-card{padding:1.25rem}.summary-label{font-size:.875rem}.summary-value{font-size:1.5rem}.summary-count{font-size:.75rem}.history-list{gap:1rem}.history-item{padding:1.25rem}.asset-name{font-size:1rem}.history-date{font-size:.875rem}.detail-row{font-size:.9375rem}.detail-value.total{font-size:1rem}.history-time{font-size:.75rem}}.market-page{max-width:1200px;margin:0 auto;padding:1rem;padding-bottom:80px}.error-container{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:2rem;text-align:center}.error-container h2{color:#dc2626;margin:0 0 .5rem}.error-container p{color:#991b1b;margin:0}.market-status-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem;margin-bottom:1.5rem}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.status-label{font-size:.875rem;font-weight:600;color:#6b7280}.status-header-right{display:flex;align-items:center;gap:.75rem}.status-date{font-size:.75rem;color:#9ca3af}.update-status-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 2px #0000001a;white-space:nowrap;-webkit-tap-highlight-color:transparent}.update-status-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.update-status-btn:active{transform:translateY(0)}.status-badge{display:inline-block;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1.5rem;font-weight:700;color:#fff;text-align:center;margin-bottom:.75rem;width:100%}.status-description{font-size:.875rem;color:#6b7280;text-align:center;margin-bottom:1.5rem}.market-levels-guide{border-top:1px solid #e5e7eb;padding-top:1.25rem}.market-levels-guide h3{font-size:1rem;font-weight:600;color:#111827;margin:0 0 1rem}.levels-list{display:flex;flex-direction:column;gap:.75rem}.level-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:.5rem;transition:background-color .2s}.level-item.active{background-color:#f3f4f6;border:1px solid #e5e7eb}.level-indicator{width:.75rem;height:.75rem;border-radius:50%;flex-shrink:0}.level-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.level-name{font-size:.875rem;font-weight:600;color:#111827}.level-desc{font-size:.75rem;color:#6b7280}.update-form{padding-top:.5rem}.update-form h3{font-size:1rem;font-weight:600;color:#111827;margin:0 0 1rem}.status-options{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.status-option{display:flex;align-items:center;gap:.75rem;padding:.875rem;border:2px solid #e5e7eb;border-radius:.5rem;background:#fff;cursor:pointer;transition:all .2s;text-align:left;-webkit-tap-highlight-color:transparent}.status-option:hover{border-color:#667eea;background:#f9fafb}.status-option.selected{border-color:#667eea;background:#ede9fe}.status-option:disabled{opacity:.6;cursor:not-allowed}.option-indicator{width:1rem;height:1rem;border-radius:50%;flex-shrink:0}.option-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.option-name{font-size:.875rem;font-weight:600;color:#111827}.option-desc{font-size:.75rem;color:#6b7280}.update-actions{display:flex;gap:.75rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-cancel-update,.btn-confirm-update{flex:1;padding:.75rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;border:none;-webkit-tap-highlight-color:transparent}.btn-cancel-update{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-cancel-update:hover{background:#f9fafb}.btn-cancel-update:active{transform:scale(.98)}.btn-confirm-update{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-confirm-update:hover{box-shadow:0 4px 6px #0000001a}.btn-confirm-update:active{transform:scale(.98)}.btn-confirm-update:disabled,.btn-cancel-update:disabled{opacity:.6;cursor:not-allowed}.indicators-section{margin-top:1.5rem}.indicators-section h2{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 1rem}.indicators-grid{display:grid;gap:1rem;grid-template-columns:1fr}.indicator-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;transition:box-shadow .2s}.indicator-card:active{box-shadow:0 4px 6px -1px #0000001a}.indicator-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:.5rem}.indicator-name{font-size:.875rem;font-weight:600;color:#374151}.indicator-status{font-size:.75rem;color:#6b7280;white-space:nowrap}.indicator-value{font-size:1.75rem;font-weight:700;color:#111827;margin-bottom:.75rem}.graph-container{display:flex;flex-direction:column}.mini-graph{display:flex;align-items:flex-end;gap:.25rem;height:4rem;position:relative}.graph-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.bar-value-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.625rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;margin-bottom:.25rem;z-index:10}.graph-bar-wrapper:hover .bar-value-tooltip{opacity:1}.mini-graph-bar{width:100%;background:linear-gradient(to top,#a5b4fc,#818cf8);border-radius:.125rem .125rem 0 0;transition:all .3s ease;cursor:pointer}.mini-graph-bar:hover{background:linear-gradient(to top,#667eea,#764ba2);transform:scaleY(1.05)}.mini-graph-bar.current{background:linear-gradient(to top,#667eea,#764ba2);box-shadow:0 0 8px #667eea66}.bar-label{position:absolute;bottom:-1.25rem;font-size:.625rem;color:#667eea;font-weight:600;white-space:nowrap}@media(min-width:769px){.market-page{padding:2rem}.page-header{margin-bottom:1.5rem;padding-bottom:1.5rem}.page-header h1{font-size:2.5rem}.market-status-card{padding:1.5rem}.status-label{font-size:1rem}.status-date{font-size:.875rem}.update-status-btn{font-size:.875rem;padding:.625rem 1.25rem}.update-form h3{font-size:1.125rem}.option-name{font-size:1rem}.option-desc{font-size:.875rem}.btn-cancel-update,.btn-confirm-update{font-size:1rem}.status-badge{font-size:2rem;padding:1rem 2rem;width:auto;display:inline-block}.status-description{font-size:1rem}.market-levels-guide h3{font-size:1.125rem}.level-name{font-size:1rem}.level-desc{font-size:.875rem}.indicators-section h2{font-size:1.5rem}.indicators-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.indicator-card{padding:1.25rem}.indicator-card:hover{box-shadow:0 4px 6px -1px #0000001a}.indicator-name{font-size:1rem}.indicator-status{font-size:.875rem}.indicator-value{font-size:2rem}.mini-graph{height:5rem}.bar-value-tooltip{font-size:.7rem;padding:.375rem .625rem}.bar-label{font-size:.7rem}}.invest-page{max-width:800px;margin:0 auto;padding:1rem;padding-bottom:120px}.invest-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem}.form-section h2{font-size:1rem;font-weight:600;color:#111827;margin:0 0 1rem}.transaction-type-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.type-btn{padding:1rem;border:2px solid #e5e7eb;border-radius:.5rem;background:#fff;font-size:1rem;font-weight:700;color:#6b7280;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.type-btn:hover{border-color:#667eea}.type-btn.active.buy{background:#d1fae5;border-color:#10b981;color:#065f46}.type-btn.active.sell{background:#fee2e2;border-color:#ef4444;color:#991b1b}.form-group{margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.375rem}.required{color:#dc2626}.form-select,.form-input{width:100%;padding:.625rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-select:focus,.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-select.error,.form-input.error{border-color:#dc2626}.error-message{display:block;font-size:.75rem;color:#dc2626;margin-top:.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.asset-info-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem}.asset-info-card h3{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 .75rem}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.75rem;color:#6b7280}.info-value{font-size:.875rem;font-weight:600;color:#111827}.total-amount-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:.75rem;padding:1.25rem;display:flex;justify-content:space-between;align-items:center}.total-label{font-size:1rem;font-weight:500}.total-value{font-size:1.75rem;font-weight:700}.submit-btn{width:100%;padding:1rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:700;color:#fff;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.submit-btn.buy{background:linear-gradient(135deg,#10b981,#059669)}.submit-btn.sell{background:linear-gradient(135deg,#ef4444,#dc2626)}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(min-width:769px){.invest-page{padding:2rem}.page-header{margin-bottom:1.5rem;padding-bottom:1.5rem}.page-header h1{font-size:2.5rem}.form-section{padding:1.5rem}.form-section h2,.type-btn{font-size:1.125rem}.form-label{font-size:1rem}.form-select,.form-input{padding:.75rem;font-size:1rem}.asset-info-card{padding:1.25rem}.asset-info-card h3{font-size:1rem}.info-label{font-size:.875rem}.info-value{font-size:1rem}.total-amount-card{padding:1.5rem}.total-label{font-size:1.125rem}.total-value{font-size:2rem}.submit-btn{font-size:1.125rem}}.event-page{max-width:800px;margin:0 auto;padding:1rem;padding-bottom:120px}.page-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 0;color:#6b7280}.spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:1rem;margin-bottom:1rem;color:#dc2626;font-size:.875rem}.success-banner{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;padding:1rem;margin-bottom:1rem;color:#16a34a;font-size:.875rem;font-weight:500}.events-list{display:flex;flex-direction:column;gap:1rem}.event-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.event-header{display:flex;flex-direction:column;gap:.5rem}.event-title-section{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.event-title{font-size:1rem;font-weight:600;color:#111827;margin:0}.event-status-badge{display:inline-block;padding:.25rem .625rem;border-radius:1rem;font-size:.75rem;font-weight:600}.event-status-badge.active{background-color:#d1fae5;color:#065f46}.event-status-badge.inactive{background-color:#f3f4f6;color:#6b7280}.event-description{font-size:.875rem;color:#6b7280;margin:0;line-height:1.5}.event-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.toggle-btn,.launch-btn{padding:.75rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.toggle-btn.active{background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca}.toggle-btn.inactive{background-color:#d1fae5;color:#065f46;border:1px solid #10b981}.toggle-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.toggle-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.launch-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.launch-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.launch-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.no-events{text-align:center;padding:3rem 1rem;color:#6b7280;font-size:.875rem}@media(min-width:769px){.event-page{padding:2rem}.page-header{margin-bottom:1.5rem;padding-bottom:1.5rem}.page-header h1{font-size:2.5rem}.event-card{padding:1.5rem}.event-title{font-size:1.125rem}.event-description{font-size:1rem}.toggle-btn,.launch-btn{font-size:1rem;padding:.875rem}}.settings-page{max-width:1200px;margin:0 auto;padding:1rem;padding-bottom:80px}@media(min-width:769px){.settings-page{padding:2rem}.page-header h1{font-size:2.5rem}.page-header{margin-bottom:2rem;padding-bottom:1.5rem}}.profile-page{max-width:1200px;margin:0 auto;padding:1rem;padding-bottom:80px}@media(min-width:769px){.profile-page{padding:2rem}.page-header h1{font-size:2.5rem}.page-header{margin-bottom:2rem;padding-bottom:1.5rem}}.reports-page{max-width:1200px;margin:0 auto;padding:1rem;padding-bottom:80px}@media(min-width:769px){.reports-page{padding:2rem}.page-header h1{font-size:2.5rem}.page-header{margin-bottom:2rem;padding-bottom:1.5rem}}.analytics-page{max-width:1200px;margin:0 auto;padding:1rem;padding-bottom:80px}.page-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.page-header h1{font-size:1.75rem;font-weight:700;color:#111827;margin:0}.page-content{min-height:400px}.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#9ca3af;text-align:center}.placeholder-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.placeholder p{font-size:1.125rem;margin:0}@media(min-width:769px){.analytics-page{padding:2rem}.page-header h1{font-size:2.5rem}.page-header{margin-bottom:2rem;padding-bottom:1.5rem}}#root,.app-container{width:100%;min-height:100vh}@media(min-width:769px){.app-container{display:flex;flex-direction:column}}
