*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #2d6ca3;--color-primary-light: #67bfce;--color-primary-dark: #102a5a;--color-primary-glow: rgba(45,108,163,.28);--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #3b82f6;--color-bg: #f3f6fb;--color-surface: #ffffff;--color-surface-2: #e9eff8;--color-surface-glass: rgba(255,255,255,.78);--color-border: rgba(15,23,42,.12);--color-border-subtle: rgba(15,23,42,.06);--color-text: #0f172a;--color-text-muted: #475569;--color-text-subtle: #64748b;--sidebar-width: 260px;--sidebar-collapsed: 72px;--bottom-nav-height: 68px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0,0,0,.2), 0 0 0 1px rgba(255,255,255,.03);--shadow: 0 4px 24px rgba(0,0,0,.3), 0 0 0 1px rgba(255,255,255,.04);--shadow-lg: 0 12px 48px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.04);--shadow-glow: 0 0 32px var(--color-primary-glow);--transition: .2s ease;--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--font-sans: "Inter", "SF Pro Display", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}[data-theme=dark]{--color-bg: #0a0f1e;--color-surface: #131a2e;--color-surface-2: #1b2540;--color-surface-glass: rgba(19,26,46,.72);--color-border: rgba(255,255,255,.08);--color-border-subtle: rgba(255,255,255,.04);--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-text-subtle: #64748b;--shadow-sm: 0 1px 3px rgba(0,0,0,.2), 0 0 0 1px rgba(255,255,255,.03);--shadow: 0 4px 24px rgba(0,0,0,.3), 0 0 0 1px rgba(255,255,255,.04);--shadow-lg: 0 12px 48px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.04)}[data-accent=true-north]{--color-primary: #2d6ca3;--color-primary-light: #67bfce;--color-primary-dark: #102a5a;--color-primary-glow: rgba(45,108,163,.28)}[data-accent=indigo]{--color-primary: #6366f1;--color-primary-light: #818cf8;--color-primary-dark: #4f46e5;--color-primary-glow: rgba(99,102,241,.25)}[data-accent=cyan]{--color-primary: #06b6d4;--color-primary-light: #22d3ee;--color-primary-dark: #0891b2;--color-primary-glow: rgba(6,182,212,.25)}[data-accent=emerald]{--color-primary: #10b981;--color-primary-light: #34d399;--color-primary-dark: #059669;--color-primary-glow: rgba(16,185,129,.25)}[data-accent=rose]{--color-primary: #f43f5e;--color-primary-light: #fb7185;--color-primary-dark: #e11d48;--color-primary-glow: rgba(244,63,94,.25)}[data-accent=amber]{--color-primary: #f59e0b;--color-primary-light: #fbbf24;--color-primary-dark: #d97706;--color-primary-glow: rgba(245,158,11,.25)}[data-accent=violet]{--color-primary: #8b5cf6;--color-primary-light: #a78bfa;--color-primary-dark: #7c3aed;--color-primary-glow: rgba(139,92,246,.25)}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;overflow-x:hidden;max-width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-primary{color:var(--color-primary)}.fw-600{font-weight:600}.fw-700{font-weight:700}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:box-shadow var(--transition),transform var(--transition);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.card:hover{box-shadow:var(--shadow)}.card__title{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-4)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:99px;font-size:.72rem;font-weight:600}.badge--success{background:#10b9811f;color:var(--color-success)}.badge--danger{background:#ef44441f;color:var(--color-danger)}.badge--warning{background:#f59e0b1f;color:var(--color-warning)}.badge--primary{background:#6366f11f;color:var(--color-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius);border:none;cursor:pointer;font-size:.875rem;font-weight:500;transition:all var(--transition);text-decoration:none;font-family:var(--font-sans);min-height:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-dark)}.btn--primary:active{transform:scale(.97)}.btn--ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn--ghost:hover{background:var(--color-surface-2);color:var(--color-text)}.btn--ghost:active{transform:scale(.97)}.btn--sm{padding:var(--space-1) var(--space-3);font-size:.8rem;min-height:36px}.progress-bar{width:100%;height:8px;background:var(--color-surface-2);border-radius:99px;overflow:hidden}.progress-bar__fill{height:100%;border-radius:99px;transition:width .6s ease}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.table td{padding:var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.table tbody tr:hover{background:var(--color-surface-2)}.table tbody tr:last-child td{border-bottom:none}.input{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-family:var(--font-sans);font-size:1rem;padding:var(--space-3) var(--space-4);outline:none;transition:border-color var(--transition),box-shadow var(--transition);min-height:44px;-webkit-appearance:none}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}select.input{cursor:pointer}.page-header{margin-bottom:var(--space-8)}.page-header h1{font-size:1.75rem;font-weight:700;margin-bottom:var(--space-1)}.page-header p{color:var(--color-text-muted);font-size:.9rem}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}@media(max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.icon-circle{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-6) 0}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .4s ease both}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media(max-width:768px){.page-header h1{font-size:1.4rem}.page-header{margin-bottom:var(--space-5)}}.true-north-logo{display:inline-flex;align-items:center;gap:10px}.true-north-logo__mark{width:42px;height:42px;flex-shrink:0}.true-north-logo__wordmark{display:inline-flex;align-items:baseline;gap:6px;font-size:1.05rem;font-weight:700;letter-spacing:.01em}.true-north-logo__wordmark-main{color:#e6edf8}.true-north-logo__wordmark-accent{color:#c8a14a}.true-north-logo--compact .true-north-logo__mark{width:34px;height:34px}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0009;z-index:99;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity var(--transition-slow)}.sidebar-overlay--visible{display:block;opacity:1}.sidebar{width:var(--sidebar-width);height:100vh;height:100dvh;position:fixed;top:0;left:0;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;z-index:100;transition:width var(--transition-slow);overflow:hidden}.sidebar--collapsed{width:var(--sidebar-collapsed)}.sidebar__logo{display:flex;align-items:center;padding:16px;border-bottom:1px solid var(--color-border);min-height:76px}.sidebar__brand{width:100%}.sidebar__nav{flex:1;overflow-y:auto;padding:12px 10px}.sidebar__nav ul{list-style:none;display:flex;flex-direction:column;gap:2px}.sidebar__link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);text-decoration:none;color:var(--color-text-muted);font-size:.875rem;font-weight:500;transition:all var(--transition);white-space:nowrap;min-height:44px;-webkit-tap-highlight-color:transparent}.sidebar__link:hover{background:var(--color-surface-2);color:var(--color-text)}.sidebar__link--active{background:var(--color-primary-glow);color:var(--color-primary-light)}.sidebar__link-icon{width:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar__link-label{flex:1}.sidebar__bottom{padding:10px 10px 16px}.sidebar__profile{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-top:8px;border-radius:var(--radius);background:var(--color-surface-2)}.sidebar__avatar{width:34px;height:34px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.sidebar__profile-name{font-size:.82rem;font-weight:600;white-space:nowrap}.sidebar__profile-email{font-size:.72rem;color:var(--color-text-muted);white-space:nowrap}@media(max-width:768px){.sidebar{transform:translate(-100%);width:280px!important;transition:transform var(--transition-slow);box-shadow:var(--shadow-lg);padding-top:var(--safe-top)}.sidebar--collapsed{transform:translate(-100%)}.sidebar--mobile-open{transform:translate(0)}}.header{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-6);height:64px;background:var(--color-surface-glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:50}.header__menu-btn{display:flex;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:var(--space-3);border-radius:var(--radius);transition:background var(--transition);min-width:44px;min-height:44px;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.header__menu-btn:hover,.header__menu-btn:active{background:var(--color-surface-2)}.header__menu-btn span{display:block;width:20px;height:2px;background:var(--color-text-muted);border-radius:99px;transition:all var(--transition)}.header__title{font-size:1.1rem;font-weight:600;flex:1;letter-spacing:-.01em}.header__actions{display:flex;align-items:center;gap:var(--space-2)}.header__icon-btn{position:relative;width:44px;height:44px;border-radius:var(--radius);background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.header__icon-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.header__icon-btn:active{background:var(--color-surface-2);transform:scale(.95)}.header__badge{position:absolute;top:5px;right:5px;width:17px;height:17px;background:var(--color-danger);color:#fff;font-size:.6rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-surface);animation:pulse 2s infinite}.header__profile-wrap{position:relative}.header__avatar{width:40px;height:40px;border-radius:var(--radius);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;cursor:pointer;border:none;transition:transform var(--transition),box-shadow var(--transition);-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-family:var(--font-sans)}.header__avatar:hover{transform:scale(1.05);box-shadow:var(--shadow-glow)}.header__avatar:active{transform:scale(.95)}.header__profile-backdrop{position:fixed;inset:0;z-index:99}.header__profile-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:180px;padding:var(--space-1);z-index:100;animation:fadeUp .15s ease}.header__profile-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:.875rem;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);min-height:44px;-webkit-tap-highlight-color:transparent}.header__profile-item:hover{background:var(--color-surface-2);color:var(--color-text)}.header__profile-item--danger:hover{background:#ef44441a;color:var(--color-danger)}@media(max-width:768px){.header{padding:0 var(--space-4);padding-top:var(--safe-top);height:calc(56px + var(--safe-top))}.header__title{font-size:1rem}.header__menu-btn{display:none}}.bottom-nav{display:none}@media(max-width:768px){.bottom-nav{display:flex;align-items:stretch;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;z-index:200;height:var(--bottom-nav-height);padding-bottom:var(--safe-bottom);background:var(--color-surface-glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--color-border);box-shadow:0 -4px 24px #0000004d}.bottom-nav__tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;padding:8px 4px;text-decoration:none;color:var(--color-text-subtle);font-size:.65rem;font-weight:500;letter-spacing:.01em;transition:color var(--transition);-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative;min-width:0}.bottom-nav__tab--active{color:var(--color-primary)}.bottom-nav__tab--active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:2px;background:var(--color-primary);border-radius:0 0 2px 2px}.bottom-nav__icon{display:flex;align-items:center;justify-content:center;width:44px;height:30px;border-radius:99px;transition:background var(--transition)}.bottom-nav__tab--active .bottom-nav__icon{background:var(--color-primary-glow)}.bottom-nav__label{display:block;line-height:1}}.app-layout{display:flex;min-height:100vh;min-height:100dvh;width:100%;overflow-x:hidden}.app-layout__main{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;min-width:0;transition:margin-left var(--transition-slow)}.app-layout--collapsed .app-layout__main{margin-left:var(--sidebar-collapsed)}.app-layout__content{flex:1;padding:var(--space-8);max-width:1400px;width:100%;box-sizing:border-box}@media(max-width:768px){.app-layout__main{margin-left:0}.app-layout__content{padding:var(--space-5);padding-bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + var(--space-4))}}@media(max-width:480px){.app-layout__content{padding:var(--space-4);padding-bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + var(--space-4))}}.stat-card__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.stat-card__value{font-size:1.6rem;font-weight:700;letter-spacing:-.03em;margin:4px 0}.stat-card__sub{font-size:.78rem;font-weight:500}.dashboard__charts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin-bottom:var(--space-6)}.chart-card{overflow:hidden}.pie-layout{display:flex;align-items:center;gap:var(--space-4)}.pie-legend{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.pie-legend li{display:flex;align-items:center;gap:var(--space-2);font-size:.8rem;white-space:nowrap;overflow:hidden}.pie-legend__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dashboard__bottom{display:grid;grid-template-columns:1fr 380px;gap:var(--space-6)}.dashboard__side{display:flex;flex-direction:column;gap:var(--space-6)}.accounts-list{display:flex;flex-direction:column;gap:var(--space-3)}.account-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius);background:var(--color-surface-2);transition:background var(--transition)}.account-item:hover{background:var(--color-border)}.account-item__icon{width:38px;height:38px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.account-item__info{flex:1;min-width:0}.account-item__name{font-size:.85rem;font-weight:600}.account-item__bank{font-size:.75rem}.account-item__balance{font-size:.9rem;font-weight:700;white-space:nowrap}.goals-list{display:flex;flex-direction:column;gap:var(--space-4)}.goal-item{display:flex;flex-direction:column;gap:6px}.goal-item__top{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:500}.card-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-header-row .card__title{margin-bottom:0}.tx-desc{display:flex;align-items:center;gap:var(--space-3)}.chart-tooltip{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-size:.83rem}.chart-tooltip__label{font-weight:600;margin-bottom:var(--space-1);color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase}@media(max-width:1100px){.dashboard__bottom{grid-template-columns:1fr}.dashboard__side{flex-direction:row;flex-wrap:wrap}.dashboard__side>*{flex:1;min-width:280px}}@media(max-width:900px){.dashboard__charts{grid-template-columns:1fr}}@media(max-width:600px){.pie-layout,.dashboard__side{flex-direction:column}}.plaid-link-wrapper{display:flex;flex-direction:column;gap:var(--space-3)}.plaid-link-btn{gap:var(--space-3);padding:var(--space-3) var(--space-6);font-size:.9rem;font-weight:600}.plaid-link-btn:disabled{opacity:.6;cursor:not-allowed}.plaid-link-btn__icon{font-size:1rem}.plaid-link-btn__spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.plaid-link-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);padding:var(--space-3) var(--space-4);color:var(--color-danger);font-size:.83rem}.plaid-banner{display:flex;align-items:flex-start;gap:var(--space-6);flex-wrap:wrap;border:1px dashed var(--color-primary);background:#6366f10a}.plaid-banner__icon{font-size:2.5rem;flex-shrink:0}.plaid-banner__body{flex:1;min-width:220px}.plaid-banner__body h3{font-size:1rem;margin-bottom:var(--space-2)}.plaid-banner__body p{font-size:.85rem;line-height:1.6;margin-bottom:var(--space-3)}.plaid-banner__features{display:flex;flex-wrap:wrap;gap:var(--space-2)}.market-clock{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:99px;font-size:.8rem;font-weight:600}.market-clock--open{background:#10b98126;color:var(--color-success)}.market-clock--closed{background:#64748b26;color:var(--color-text-muted)}.market-clock__dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 1.8s ease-in-out infinite}.market-clock--closed .market-clock__dot{animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.trading-grid{display:grid;grid-template-columns:1fr 340px;gap:var(--space-6);align-items:start}.trading-grid__main{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.trading-grid__sidebar{position:sticky;top:88px}.side-toggle{display:flex;border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-border);margin-bottom:var(--space-5)}.side-toggle__btn{flex:1;padding:var(--space-3);background:transparent;border:none;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--color-text-muted);transition:all var(--transition);font-family:var(--font-sans)}.side-toggle__btn--buy{background:#10b98126;color:var(--color-success)}.side-toggle__btn--sell{background:#ef444426;color:var(--color-danger)}.order-form-card{position:sticky;top:88px}.order-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:4px}.form-label{font-size:.78rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.04em}.qty-mode{display:flex;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.qty-mode__btn{flex:1;padding:6px;background:transparent;border:none;cursor:pointer;font-size:.8rem;font-weight:500;color:var(--color-text-muted);font-family:var(--font-sans);transition:all var(--transition)}.qty-mode__btn--active{background:var(--color-surface-2);color:var(--color-text)}.order-form__submit{width:100%;justify-content:center;padding:var(--space-3);font-size:.95rem;font-weight:700;border:none;border-radius:var(--radius);cursor:pointer;margin-top:var(--space-2);transition:all var(--transition)}.order-form__submit--buy{background:var(--color-success);color:#fff}.order-form__submit--buy:hover{background:#059669}.order-form__submit--sell{background:var(--color-danger);color:#fff}.order-form__submit--sell:hover{background:#dc2626}.order-form__submit:disabled{opacity:.6;cursor:not-allowed}.order-form__error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);padding:var(--space-3);color:var(--color-danger);font-size:.82rem}.order-form__success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius);padding:var(--space-3);color:var(--color-success);font-size:.82rem}.order-form__success code{font-family:var(--font-mono);font-size:.8rem}.order-form__disclaimer{font-size:.72rem;color:var(--color-text-subtle);text-align:center}.order-badge--buy{background:#10b98126;color:var(--color-success)}.order-badge--sell{background:#ef444426;color:var(--color-danger)}.setup-card{max-width:700px}.setup-card h2{font-size:1.25rem;margin-bottom:var(--space-3)}.setup-steps{display:flex;flex-direction:column;gap:var(--space-4)}.setup-step{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface-2);border-radius:var(--radius)}.setup-step__num{width:28px;height:28px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}.setup-step__code{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-muted);white-space:pre-wrap;margin:4px 0 0}.trading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.trading-grid{grid-template-columns:1fr}.trading-grid__sidebar,.order-form-card{position:static}}.auth-page{min-height:100vh;padding:28px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top right,rgba(103,191,206,.24),transparent 45%),radial-gradient(circle at bottom left,rgba(45,108,163,.2),transparent 50%),var(--color-bg)}.auth-shell{width:min(1260px,100%);display:grid;grid-template-columns:1.5fr 1fr;border:1px solid var(--color-border);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);background:var(--color-surface-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-marketing{padding:36px;color:var(--color-text);background:linear-gradient(145deg,color-mix(in oklab,var(--color-surface),#fff 24%),var(--color-surface));border-right:1px solid var(--color-border);overflow-y:auto;max-height:calc(100vh - 56px)}.auth-badge{display:inline-block;padding:6px 12px;margin-bottom:18px;border-radius:999px;font-size:.78rem;letter-spacing:.02em;color:var(--color-primary-dark);background:#67bfce2e;border:1px solid rgba(45,108,163,.25)}.auth-logo .true-north-logo__mark{width:56px;height:56px}.auth-logo .true-north-logo__wordmark{font-size:1.9rem}.auth-marketing h1{margin:14px 0 10px;font-size:clamp(1.5rem,2.2vw,2.1rem)}.auth-marketing>p{margin-bottom:20px;color:var(--color-text-muted)}.auth-section{margin-top:18px}.auth-section h3{font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-subtle);margin-bottom:8px}.auth-section p{color:var(--color-text-muted)}.auth-section ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}.auth-section li{position:relative;padding-left:20px;color:var(--color-text)}.auth-section li:before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:700}.auth-grid-row{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-info-card{border:1px solid var(--color-border);border-radius:12px;padding:12px;background:color-mix(in oklab,var(--color-surface),#fff 18%)}.auth-info-card h4{font-size:.88rem;margin-bottom:6px}.auth-info-card p{font-size:.85rem;color:var(--color-text-muted)}.auth-pill-list{display:flex;gap:8px;flex-wrap:wrap}.auth-pill-list span{border:1px solid var(--color-border);border-radius:999px;padding:5px 10px;font-size:.78rem;background:var(--color-surface);color:var(--color-text-muted)}.auth-small-text{margin-top:8px;font-size:.85rem}.auth-screenshots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.auth-screen-card{border:1px solid var(--color-border);border-radius:14px;padding:10px;background:var(--color-surface)}.auth-screen-preview{height:88px;border-radius:10px;background:linear-gradient(120deg,#2d6ca3e6,#67bfcecc),repeating-linear-gradient(90deg,rgba(255,255,255,.2) 0px,rgba(255,255,255,.2) 2px,transparent 2px,transparent 12px);margin-bottom:8px}.auth-screen-card h4{font-size:.82rem;margin-bottom:4px}.auth-screen-card p{font-size:.76rem;color:var(--color-text-muted)}.auth-card{padding:32px;background:color-mix(in oklab,var(--color-surface),#fff 15%)}.auth-card h2{color:var(--color-text);font-size:1.5rem}.auth-subtitle{margin:10px 0 20px;color:var(--color-text-muted)}.auth-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.auth-switch button{border:1px solid var(--color-border);border-radius:10px;padding:11px;cursor:pointer;color:var(--color-text-muted);background:var(--color-surface)}.auth-switch .active{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));border-color:transparent;color:#fff;font-weight:700}.auth-form{display:grid;gap:14px}.auth-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-form label{display:grid;gap:6px;color:var(--color-text);font-size:.95rem}.auth-form input{border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text);padding:11px 12px}.auth-form input:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px #64b7c933}.auth-submit{margin-top:6px;border:none;border-radius:10px;padding:12px;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(90deg,var(--color-primary-dark),var(--color-primary))}.auth-submit:disabled{cursor:wait;opacity:.75}.auth-error{margin:0;color:var(--color-danger)}.auth-demo-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--color-text-subtle);font-size:.8rem}.auth-demo-divider:before,.auth-demo-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-demo-btn{width:100%;border:1px dashed var(--color-border);border-radius:10px;padding:12px;cursor:pointer;color:var(--color-text-muted);background:var(--color-surface);font-size:.9rem;font-weight:600;font-family:inherit}.auth-demo-btn:hover{color:var(--color-text);border-color:var(--color-primary-light)}@media(max-width:1140px){.auth-shell{grid-template-columns:1fr}.auth-marketing{border-right:none;border-bottom:1px solid var(--color-border);max-height:none}}@media(max-width:760px){.auth-screenshots,.auth-grid-row,.auth-grid-2{grid-template-columns:1fr}.auth-page{padding:14px}.auth-marketing,.auth-card{padding:22px}}
