*,:after,:before{box-sizing:border-box}.app-shell{background:#f1f5f9;display:flex;min-height:100vh}.sidebar{background:#1e293b;color:#cbd5e1;display:flex;flex-direction:column;flex-shrink:0;height:100vh;left:0;overflow-y:auto;position:fixed;scrollbar-color:#334155 #0000;scrollbar-width:thin;top:0;width:220px;z-index:100}.sidebar-logo{align-items:center;border-bottom:1px solid #334155;color:#f8fafc;display:flex;font-size:1rem;font-weight:700;gap:.5rem;letter-spacing:-.02em;padding:.85rem 1rem;-webkit-user-select:none;user-select:none}.sidebar-logo-img{border-radius:4px;flex-shrink:0;height:28px;object-fit:contain;width:28px}.sidebar-logo span{color:#38bdf8}.sidebar-nav{flex:1 1;padding:.4rem 0}.sidebar-link{align-items:center;border-left:2px solid #0000;color:#94a3b8;display:flex;font-size:.85rem;font-weight:500;gap:.65rem;padding:.6rem 1rem;text-decoration:none;transition:background .12s,color .12s;white-space:nowrap}.sidebar-link:hover{background:#263348;color:#e2e8f0}.sidebar-link.active{background:#0f172a;border-left-color:#38bdf8;color:#38bdf8}.sidebar-link svg{flex-shrink:0;opacity:.8}.sidebar-link.active svg{opacity:1}.sidebar-section{color:#475569;font-size:.65rem;font-weight:600;letter-spacing:.08em;padding:.6rem 1rem .25rem;text-transform:uppercase}.sidebar-footer{border-top:1px solid #334155;padding:.85rem 1rem}.sidebar-user{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.sidebar-username{color:#94a3b8;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{background:none;border:1px solid #334155;border-radius:4px;color:#64748b;cursor:pointer;flex-shrink:0;font-size:.72rem;padding:.22rem .55rem;transition:border-color .12s,color .12s}.sidebar-logout:hover{border-color:#64748b;color:#e2e8f0}.main-content{flex:1 1;margin-left:220px;min-height:100vh;min-width:0}.mobile-nav{background:#1e293b;border-top:1px solid #334155;bottom:0;display:none;height:56px;left:0;position:fixed;right:0;z-index:100}.mobile-nav-inner{display:flex;height:100%;overflow-x:auto;scrollbar-width:none}.mobile-nav-inner::-webkit-scrollbar{display:none}.mobile-nav-link{align-items:center;color:#475569;display:flex;flex:1 1;flex-direction:column;font-size:.58rem;font-weight:500;gap:2px;justify-content:center;min-width:52px;padding:.2rem;text-decoration:none;transition:color .12s;-webkit-user-select:none;user-select:none}.mobile-nav-link svg{opacity:.7}.mobile-nav-link.active{color:#38bdf8}.mobile-nav-link.active svg{opacity:1}.mobile-nav-link:hover{color:#94a3b8}@media (max-width:768px){.sidebar{display:none}.main-content{margin-left:0;padding-bottom:56px}.mobile-nav{display:block}}@media (max-width:480px){.mobile-nav-link{font-size:0;min-width:44px}}.bottom-nav{align-items:stretch;background:#1e293b;border-top:1px solid #334155;bottom:0;display:none;flex-direction:row;height:56px;left:0;position:fixed;right:0;z-index:200}@media (max-width:768px){.bottom-nav{display:flex}}.bottom-tab{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.6rem;font-weight:600;gap:2px;justify-content:center;padding:6px 0;text-decoration:none;transition:color .15s;-webkit-user-select:none;user-select:none}.bottom-tab.active{color:#38bdf8}.bottom-tab:hover{color:#94a3b8}.drawer-backdrop{background:#0000008c;inset:0;position:fixed;z-index:198}.drawer-panel{background:#1e293b;border-radius:16px 16px 0 0;border-top:1px solid #334155;bottom:56px;left:0;position:fixed;right:0;z-index:199}.drawer-header{align-items:center;border-bottom:1px solid #334155;display:flex;justify-content:space-between;padding:.65rem 1rem}.drawer-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(4,1fr);padding:10px 8px 14px}.drawer-item{align-items:center;background:#0000;border-radius:10px;color:#94a3b8;display:flex;flex-direction:column;font-size:.62rem;font-weight:600;gap:4px;justify-content:center;line-height:1.2;padding:10px 4px;text-align:center;text-decoration:none;transition:background .15s,color .15s}.drawer-item.active{background:#0c4a6e59;color:#38bdf8}.page{padding:1.25rem 1.5rem}@media (max-width:768px){.page{padding:1rem}}@media (max-width:480px){.page{padding:.75rem}}.page-header{margin-bottom:1.25rem}.page-title{color:#0f172a;font-size:1.2rem;font-weight:700;margin:0 0 .15rem}.page-subtitle{color:#64748b;font-size:.82rem;margin:0}.card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.25rem}.card-title{color:#64748b;font-size:.78rem;font-weight:600;letter-spacing:.06em;margin:0 0 .5rem;text-transform:uppercase}.data-table{border-collapse:collapse;font-size:.83rem;width:100%}.data-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:.72rem;font-weight:600;letter-spacing:.05em;padding:.5rem .75rem;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{border-bottom:1px solid #f1f5f9;color:#1e293b;padding:.55rem .75rem;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#f8fafc}.data-table .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.badge{border-radius:3px;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:.18rem .5rem;text-transform:uppercase}.badge-green{background:#dcfce7;color:#15803d}.badge-red{background:#fee2e2;color:#b91c1c}.badge-orange{background:#fff7ed;color:#c2410c}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-gray{background:#f1f5f9;color:#475569}.form-row{grid-gap:.75rem;align-items:end;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.form-group{display:flex;flex-direction:column;gap:.3rem}.form-label{color:#475569;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.form-input,.form-select{background:#fff;border:1px solid #cbd5e1;border-radius:5px;color:#1e293b;font-size:.85rem;outline:none;padding:.45rem .6rem;transition:border-color .12s;width:100%}.form-input:focus,.form-select:focus{border-color:#38bdf8}.btn{align-items:center;border:none;border-radius:5px;cursor:pointer;display:inline-flex;font-size:.83rem;font-weight:600;gap:.35rem;padding:.45rem .9rem;transition:opacity .12s,background .12s;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#0ea5e9;color:#fff}.btn-primary:hover:not(:disabled){background:#0284c7}.btn-danger{background:#fee2e2;color:#b91c1c}.btn-danger:hover:not(:disabled){background:#fecaca}.btn-ghost{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.btn-ghost:hover:not(:disabled){background:#e2e8f0}.btn-buy{background:#dcfce7;color:#15803d}.btn-buy:hover:not(:disabled){background:#bbf7d0}.btn-sell{background:#fee2e2;color:#b91c1c}.btn-sell:hover:not(:disabled){background:#fecaca}.btn-sm{font-size:.75rem;padding:.28rem .6rem}.toggle-group{border:1px solid #e2e8f0;border-radius:5px;display:flex;overflow:hidden}.toggle-option{background:#fff;border:none;color:#64748b;cursor:pointer;flex:1 1;font-size:.83rem;font-weight:600;padding:.45rem;text-align:center;transition:background .12s,color .12s}.toggle-option.active-buy{background:#dcfce7;color:#15803d}.toggle-option.active-sell{background:#fee2e2;color:#b91c1c}.metrics-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:1.25rem}.metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.85rem 1rem}.metric-label{color:#94a3b8;font-size:.72rem;font-weight:600;letter-spacing:.06em;margin-bottom:.3rem;text-transform:uppercase}.metric-value{font-feature-settings:"tnum";color:#0f172a;font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:700}.metric-sub{color:#64748b;font-size:.75rem;margin-top:.15rem}.text-green{color:#16a34a}.text-red{color:#dc2626}.text-muted{color:#94a3b8}.text-right{text-align:right}.table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.inline-edit-input{font-feature-settings:"tnum";border:1px solid #38bdf8;border-radius:3px;font-size:.83rem;font-variant-numeric:tabular-nums;outline:none;padding:.2rem .4rem;width:90px}.spinner{animation:spin .6s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#38bdf8;display:inline-block;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.alert{border-radius:6px;font-size:.83rem;margin-bottom:1rem;padding:.65rem .9rem}.alert-error{background:#fee2e2;border:1px solid #fecaca;color:#b91c1c}.alert-success{background:#dcfce7;border:1px solid #bbf7d0;color:#15803d}.alert-info{background:#dbeafe;border:1px solid #bfdbfe;color:#1d4ed8}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.outline{outline-style:solid}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.e871edae.css.map*/