:root{--nch-visionary-violet:#3c1053;--nch-flat-steel-3:#5d5a60;--nch-flat-steel-2:#aaa9a9;--nch-flat-steel-1:#cbcbcb;--nch-white:#fff;--nch-surgical-steel:linear-gradient(135deg, #cbcbcb 0%, #e8e8e8 40%, #f5f5f5 60%, #cbcbcb 100%);--nch-surgical-steel-subtle:linear-gradient(135deg, #e8e8e8 0%, #f5f5f5 100%);--nch-violet-gradient:linear-gradient(135deg, #4a1a6b 0%, #3c1053 55%, #2a0a3b 100%);--nch-legacy-blue:#313c5e;--nch-palm-green:#366532;--nch-ocean-blue:#225466;--nch-seaglass-teal:#459296;--nch-coral-reef:#e35750;--nch-paradise-pink:#c52a55;--nch-golden-hour:#eca73e;--nch-vitality-red:#c92d2e;--nch-violet-accessible:#4a1a6b;--nch-blue-accessible:#3a4570;--bg:var(--nch-white);--bg-subtle:#f4f3f5;--bg-muted:var(--nch-flat-steel-1);--bg-inverse:var(--nch-visionary-violet);--fg:#1c1a20;--fg-muted:var(--nch-flat-steel-3);--fg-subtle:var(--nch-flat-steel-2);--fg-inverse:var(--nch-white);--fg-link:var(--nch-violet-accessible);--fg-link-hover:#2a0a3b;--border:#e3e1e6;--border-strong:var(--nch-flat-steel-1);--border-inverse:#ffffff2e;--accent:var(--nch-visionary-violet);--accent-hover:#2a0a3b;--accent-pressed:#1e0628;--accent-contrast:var(--nch-white);--cta:var(--nch-vitality-red);--cta-hover:#a82425;--cta-pressed:#8e1f20;--success:var(--nch-palm-green);--info:var(--nch-ocean-blue);--warning:var(--nch-golden-hour);--danger:var(--nch-vitality-red);--critical:var(--nch-coral-reef);--accent-2:var(--nch-seaglass-teal);--accent-3:var(--nch-paradise-pink);--font-display:"Geometric 415", "Avenir", "Avenir Next", "Montserrat", system-ui, -apple-system, sans-serif;--font-sans:"Avenir", "Avenir Next", "Geometric 415", "Montserrat", system-ui, -apple-system, sans-serif;--font-serif:"Palatino", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-body:var(--font-serif);--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-11:.6875rem;--fs-12:.75rem;--fs-13:.8125rem;--fs-14:.875rem;--fs-15:.9375rem;--fs-16:1rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-24:1.5rem;--fs-28:1.75rem;--fs-32:2rem;--fs-40:2.5rem;--fs-48:3rem;--fs-56:3.5rem;--fs-72:4.5rem;--lh-tight:1.1;--lh-snug:1.25;--lh-normal:1.5;--lh-loose:1.7;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.04em;--tracking-caps:.12em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--radius-0:0;--radius-1:2px;--radius-2:4px;--radius-3:8px;--radius-4:12px;--radius-pill:9999px;--shadow-1:0 1px 2px #1c0a280f, 0 1px 1px #1c0a280a;--shadow-2:0 2px 4px #1c0a280f, 0 4px 12px #1c0a280f;--shadow-3:0 6px 16px #1c0a281a, 0 2px 4px #1c0a280f;--shadow-4:0 16px 40px #1c0a2824, 0 4px 10px #1c0a2814;--ring-focus:0 0 0 3px #3c105347;--dur-fast:.12s;--dur-base:.2s;--dur-slow:.36s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1)}html{color:var(--fg);background:var(--bg)}body{font-family:var(--font-body);font-size:var(--fs-16);line-height:var(--lh-normal);color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.t-display{font-family:var(--font-display);font-weight:900;font-size:clamp(var(--fs-40), 5.5vw, var(--fs-72));line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);text-transform:uppercase;color:var(--nch-visionary-violet)}.t-display-italic{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(var(--fs-24), 2.5vw, var(--fs-32));line-height:var(--lh-snug);color:var(--nch-visionary-violet);text-transform:uppercase;letter-spacing:.04em}h1,.t-h1{font-family:var(--font-display);font-weight:900;font-size:var(--fs-48);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);text-transform:uppercase;color:var(--nch-visionary-violet);margin:0 0 var(--space-5)}h2,.t-h2{font-family:var(--font-display);font-weight:700;font-size:var(--fs-32);line-height:var(--lh-snug);letter-spacing:var(--tracking-normal);text-transform:uppercase;color:var(--nch-visionary-violet);margin:0 0 var(--space-4)}h3,.t-h3{font-family:var(--font-display);font-weight:500;font-size:var(--fs-24);line-height:var(--lh-snug);color:var(--nch-visionary-violet);margin:0 0 var(--space-3)}h4,.t-h4{font-family:var(--font-display);font-weight:500;font-size:var(--fs-20);line-height:var(--lh-snug);color:var(--fg);margin:0 0 var(--space-3)}h5,.t-h5{font-family:var(--font-display);font-weight:500;font-size:var(--fs-16);line-height:var(--lh-snug);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--nch-visionary-violet);margin:0 0 var(--space-2)}.t-eyebrow{font-family:var(--font-display);font-weight:500;font-size:var(--fs-13);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--nch-violet-accessible)}.t-section-italic{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:var(--fs-24);line-height:var(--lh-snug);color:var(--nch-visionary-violet)}p,.t-body{font-family:var(--font-body);font-size:var(--fs-15);line-height:var(--lh-loose);color:var(--fg);margin:0 0 var(--space-4);text-wrap:pretty}.t-body-lg{font-size:var(--fs-18);line-height:var(--lh-loose)}.t-body-sm{font-size:var(--fs-13);line-height:var(--lh-normal);color:var(--fg-muted)}.t-quote{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:var(--fs-32);line-height:var(--lh-snug);color:var(--nch-visionary-violet)}.t-label{font-family:var(--font-sans);font-weight:500;font-size:var(--fs-14);line-height:var(--lh-snug);color:var(--fg)}.t-caption{font-family:var(--font-sans);font-weight:400;font-size:var(--fs-12);line-height:var(--lh-snug);color:var(--fg-muted)}.t-overline{font-family:var(--font-display);font-weight:500;font-size:var(--fs-12);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--fg-muted)}.t-ui{font-family:var(--font-sans);font-weight:500;font-size:var(--fs-14);letter-spacing:.01em;line-height:1}code,kbd,.t-mono{font-family:var(--font-mono);font-size:.95em}a{color:var(--fg-link);text-underline-offset:2px;transition:color var(--dur-fast) var(--ease-out);text-decoration:underline;text-decoration-thickness:1px}a:hover{color:var(--fg-link-hover)}.surface-steel{background:var(--nch-surgical-steel);color:var(--fg)}.surface-steel-subtle{background:var(--nch-surgical-steel-subtle);color:var(--fg)}.surface-violet{background:var(--nch-visionary-violet);color:var(--fg-inverse)}.surface-violet-gradient{background:var(--nch-violet-gradient);color:var(--fg-inverse)}:root{--rally-lane-brain:#6b4c8a;--rally-lane-brain-bg:#f4eff7;--rally-lane-notstart:#5d5a60;--rally-lane-notstart-bg:#f2f1f2;--rally-lane-progress:#225466;--rally-lane-progress-bg:#ebf1f4;--rally-lane-delayed:#eca73e;--rally-lane-delayed-bg:#fbf1df;--rally-lane-onhold:#c92d2e;--rally-lane-onhold-bg:#fbe9e9;--rally-lane-completed:#366532;--rally-lane-completed-bg:#e9f1e8;--rally-lane-cancelled:#aaa9a9;--rally-lane-cancelled-bg:#f2f1f2;--rally-pri-critical:#c92d2e;--rally-pri-high:#e35750;--rally-pri-medium:#eca73e;--rally-pri-low:#5d5a60;--rally-on-track:#366532;--rally-at-risk:#eca73e;--rally-off-track:#e35750;--rally-cancelled-s:#aaa9a9;--rally-surface:#fff;--rally-surface-alt:#faf9fb;--rally-surface-sunk:#f4f2f6;--rally-sidebar-bg:#2a0a3b;--rally-sidebar-fg:#ece4f1;--rally-sidebar-active:#4a1a6b}.rally-dark{--rally-surface:#1b1320;--rally-surface-alt:#221829;--rally-surface-sunk:#150e1a;--rally-sidebar-bg:#0f0814;--rally-sidebar-fg:#ece4f1;--rally-sidebar-active:#3c1053;--bg:#1b1320;--bg-subtle:#221829;--fg:#f0eaf4;--fg-muted:#b5a6bf;--fg-subtle:#7e6f88;--border:#38293f;--border-strong:#4a3854;--rally-lane-brain-bg:#2c1f36;--rally-lane-notstart-bg:#261e2c;--rally-lane-progress-bg:#1f2c33;--rally-lane-delayed-bg:#322817;--rally-lane-onhold-bg:#321a1a;--rally-lane-completed-bg:#1e2a1d;--rally-lane-cancelled-bg:#232024}.rally-app,.rally-app *{box-sizing:border-box}.rally-app{font-family:var(--font-sans);color:var(--fg);background:var(--rally-surface-alt);-webkit-font-smoothing:antialiased;height:100%;font-size:14px;line-height:1.4}.rally-app p{font-family:var(--font-sans);margin:0;font-size:14px;line-height:1.5}.rally-app h1,.rally-app h2,.rally-app h3,.rally-app h4,.rally-app h5{color:var(--fg);font-family:var(--font-display);letter-spacing:0;text-transform:none;margin:0;font-weight:700}.rally-app button{font-family:var(--font-sans);cursor:pointer;color:inherit;background:0 0;border:none;font-size:13px}.rally-app input,.rally-app textarea,.rally-app select{font-family:var(--font-sans);color:var(--fg);font-size:14px}.rally-app a{color:var(--accent);text-decoration:none}.rally-wordmark{font-family:var(--font-display);letter-spacing:-.02em;color:var(--accent);text-transform:uppercase;align-items:center;gap:8px;font-weight:900;display:inline-flex}.rally-wordmark .dot{background:var(--accent);border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 3px #3c10532e}.rally-wordmark.on-violet{color:#fff}.rally-wordmark.on-violet .dot{background:#eca73e;box-shadow:0 0 0 3px #eca73e40}.rally-sidebar{background:var(--rally-sidebar-bg);width:240px;color:var(--rally-sidebar-fg);flex-direction:column;flex-shrink:0;padding:16px 0;display:flex}.rally-sidebar.collapsed{width:64px}.rally-sidebar .brand{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;margin-bottom:12px;padding:4px 18px 18px;display:flex}.rally-sidebar .brand-name{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;color:#fff;font-size:22px;font-weight:900}.rally-sidebar .brand-sub{letter-spacing:.18em;text-transform:uppercase;color:#ffffff80;font-size:9px;font-family:var(--font-sans);margin-top:2px;font-weight:500}.rally-sidebar .nav-section{letter-spacing:.16em;text-transform:uppercase;color:#ffffff73;font-size:10px;font-family:var(--font-sans);padding:8px 12px 4px;font-weight:600}.rally-sidebar .nav-item{color:#ffffffc7;font-size:13.5px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);border-left:3px solid #0000;align-items:center;gap:12px;padding:9px 18px;display:flex}.rally-sidebar .nav-item:hover{color:#fff;background:#ffffff0d}.rally-sidebar .nav-item.active{background:var(--rally-sidebar-active);color:#fff;border-left-color:#eca73e}.rally-sidebar .nav-item .ico{text-align:center;opacity:.85;width:16px}.rally-sidebar .nav-item .badge{color:#fff;font-size:10px;font-weight:700;font-family:var(--font-sans);background:#ffffff24;border-radius:9999px;margin-left:auto;padding:2px 6px}.rally-sidebar .nav-item.active .badge{color:#2a0a3b;background:#eca73e}.rally-sidebar .user-card{border-top:1px solid #ffffff14;align-items:center;gap:10px;margin-top:auto;padding:12px 16px;display:flex}.rally-sidebar .user-avatar{background:var(--nch-surgical-steel);width:32px;height:32px;color:var(--accent);font-size:12px;font-weight:700;font-family:var(--font-sans);border-radius:50%;justify-content:center;align-items:center;display:flex}.rally-sidebar .user-name{color:#fff;font-size:13px;font-weight:600;line-height:1.2}.rally-sidebar .user-role{color:#ffffff8c;margin-top:2px;font-size:11px}.rally-topbar{background:var(--rally-surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:16px;height:56px;padding:0 20px;display:flex}.rally-topbar .crumbs{color:var(--fg-muted);font-size:13px;font-family:var(--font-sans);align-items:center;gap:8px;display:flex}.rally-topbar .crumbs .current{color:var(--fg);font-weight:600}.rally-topbar .crumbs .sep{opacity:.4}.rally-topbar .search{flex:1;align-items:center;max-width:420px;display:flex;position:relative}.rally-topbar .search input{border:1px solid var(--border);background:var(--rally-surface-sunk);border-radius:6px;width:100%;padding:7px 10px 7px 32px;font-size:13px}.rally-topbar .search .ico{color:var(--fg-subtle);font-size:13px;position:absolute;left:10px}.rally-topbar .actions{align-items:center;gap:10px;margin-left:auto;display:flex}.rally-btn{font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:7px 13px;line-height:1;display:inline-flex}.rally-btn.primary{background:var(--accent);color:#fff}.rally-btn.primary:hover{background:var(--accent-hover)}.rally-btn.secondary{background:var(--rally-surface);color:var(--fg);border-color:var(--border)}.rally-btn.secondary:hover{border-color:var(--border-strong);background:var(--rally-surface-alt)}.rally-btn.ghost{color:var(--fg-muted);background:0 0}.rally-btn.ghost:hover{background:var(--rally-surface-sunk);color:var(--fg)}.rally-btn.danger{background:var(--cta);color:#fff}.rally-btn.danger:hover{background:var(--cta-hover)}.rally-btn.sm{padding:5px 10px;font-size:12px}.rally-btn.icon{justify-content:center;width:32px;height:32px;padding:7px}.rally-pill{font-size:11px;font-weight:600;font-family:var(--font-sans);letter-spacing:.02em;border-radius:9999px;align-items:center;gap:5px;padding:2px 8px;line-height:1.5;display:inline-flex}.rally-pill .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.rally-pill.critical{color:var(--rally-pri-critical);background:#c92d2e1a}.rally-pill.high{color:var(--rally-pri-high);background:#e357501a}.rally-pill.medium{color:#b47419;background:#eca73e24}.rally-pill.low{color:var(--rally-pri-low);background:#5d5a601a}.rally-pill.on-track{color:var(--rally-on-track);background:#3665321a}.rally-pill.at-risk{color:#b47419;background:#eca73e24}.rally-pill.off-track{color:var(--rally-off-track);background:#e357501a}.rally-pill.cancelled{color:#6f6d72;background:#aaa9a92e}.rally-pill.solid{background:var(--accent);color:#fff}.rally-status-dot{vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.rally-status-dot.brain{background:var(--rally-lane-brain)}.rally-status-dot.notstart{background:var(--rally-lane-notstart)}.rally-status-dot.progress{background:var(--rally-lane-progress)}.rally-status-dot.delayed{background:var(--rally-lane-delayed)}.rally-status-dot.onhold{background:var(--rally-lane-onhold)}.rally-status-dot.completed{background:var(--rally-lane-completed)}.rally-status-dot.cancelled{background:var(--rally-lane-cancelled)}.rally-input,.rally-select,.rally-textarea{border:1px solid var(--border);background:var(--rally-surface);width:100%;color:var(--fg);font-size:13.5px;font-family:var(--font-sans);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);border-radius:6px;padding:8px 12px}.rally-input:focus,.rally-select:focus,.rally-textarea:focus{border-color:var(--accent);box-shadow:var(--ring-focus);outline:none}.rally-textarea{resize:vertical;min-height:80px;line-height:1.5}.rally-field{flex-direction:column;gap:6px;display:flex}.rally-field-label{color:var(--fg-muted);font-size:12px;font-weight:600;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em}.rally-field-hint{color:var(--fg-subtle);font-size:12px;font-family:var(--font-sans)}.rally-avatar{width:28px;height:28px;font-size:10.5px;font-weight:700;font-family:var(--font-sans);background:var(--nch-surgical-steel);color:var(--accent);border:2px solid var(--rally-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.rally-avatar.sm{width:22px;height:22px;font-size:9px}.rally-avatar.lg{width:36px;height:36px;font-size:13px}.rally-avatar.xl{width:56px;height:56px;font-size:18px}.rally-avatar.violet{background:var(--accent);color:#fff}.rally-avatar-stack{display:inline-flex}.rally-avatar-stack .rally-avatar:not(:first-child){margin-left:-8px}.rally-card{background:var(--rally-surface);border:1px solid var(--border);box-shadow:var(--shadow-1);border-radius:8px}.rally-card.elevated{box-shadow:var(--shadow-2)}.kanban-board{background:var(--rally-surface-alt);flex:1;grid-template-columns:110px repeat(7,minmax(220px,1fr));gap:0;display:grid;overflow:auto}.kanban-corner{background:var(--rally-surface-alt);border-bottom:2px solid var(--border-strong);border-right:1px solid var(--border)}.kanban-col-header{border-bottom:2px solid var(--border-strong);border-right:1px solid var(--border);background:var(--rally-surface-alt);z-index:2;padding:12px;position:sticky;top:0}.kanban-col-header .name{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.kanban-col-header .count{color:var(--fg-muted);background:#0000000a;border-radius:9999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.kanban-col-header .lane-bar{border-radius:2px;height:3px;margin-top:8px}.kanban-row-header{border-right:2px solid var(--border-strong);border-bottom:1px solid var(--border);background:var(--rally-surface-alt);z-index:1;align-items:flex-start;padding:16px 10px;display:flex;position:sticky;left:0}.kanban-row-header .label{writing-mode:vertical-rl;font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:700;transform:rotate(180deg)}.kanban-row-header .pri-bar{border-radius:2px;align-self:stretch;width:4px;min-height:80px;margin-right:8px}.kanban-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:8px;min-height:140px;padding:10px;display:flex}.task-card{background:var(--rally-surface);border:1px solid var(--border);box-shadow:var(--shadow-1);cursor:grab;transition:box-shadow var(--dur-fast), transform var(--dur-fast);border-radius:6px;padding:10px;position:relative}.task-card:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.task-card.project-overlay{border-color:#d6bce8;border-left:3px solid var(--accent);background:linear-gradient(#faf6fe 0%,#fff 100%)}.rally-dark .task-card.project-overlay{background:linear-gradient(#2d1a38 0%,#221828 100%);border-color:#5d3d7c}.task-card .pri-stripe{border-radius:6px 0 0 6px;width:3px;position:absolute;top:0;bottom:0;left:0}.task-card .pri-stripe.critical{background:var(--rally-pri-critical)}.task-card .pri-stripe.high{background:var(--rally-pri-high)}.task-card .pri-stripe.medium{background:var(--rally-pri-medium)}.task-card .pri-stripe.low{background:var(--rally-pri-low)}.task-card .title{color:var(--fg);font-size:13px;font-weight:600;font-family:var(--font-sans);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;line-height:1.35;display:-webkit-box;overflow:hidden}.task-card .meta{color:var(--fg-muted);font-size:11.5px;font-family:var(--font-sans);align-items:center;gap:8px;margin-top:8px;display:flex}.task-card .meta .duedate{align-items:center;gap:4px;display:flex}.task-card .meta .duedate.overdue{color:var(--rally-pri-critical);font-weight:600}.task-card .progress{background:#0000000f;border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.task-card .progress>.fill{background:var(--accent);border-radius:2px;height:100%}.task-card .proj-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:700;font-family:var(--font-sans);align-items:center;gap:4px;margin-bottom:4px;display:inline-flex}.task-card .proj-badge .swatch{background:currentColor;border-radius:2px;width:8px;height:8px}.note-annotation{color:#5a4a2a;font-family:var(--font-sans);z-index:100;pointer-events:none;background:#fef4a8;border-radius:4px;max-width:200px;padding:8px 11px;font-size:11px;font-weight:500;line-height:1.4;position:absolute;box-shadow:0 4px 12px #00000026}.note-annotation:before{content:"";width:0;height:0;position:absolute}.note-annotation.arrow-left:before{border:7px solid #0000;border-left:0;border-right-color:#fef4a8;top:12px;left:-7px}.note-annotation.arrow-right:before{border:7px solid #0000;border-left-color:#fef4a8;border-right:0;top:12px;right:-7px}.note-annotation.arrow-down:before{border:7px solid #0000;border-top-color:#fef4a8;border-bottom:0;bottom:-7px;left:18px}.phone-bezel{background:#1a1a1a;border-radius:38px;flex-shrink:0;width:360px;height:740px;padding:10px;position:relative;box-shadow:0 18px 50px #0000002e}.phone-bezel .screen{background:var(--rally-surface);border-radius:28px;width:100%;height:100%;position:relative;overflow:hidden}.phone-bezel .notch{z-index:5;background:#000;border-radius:13px;width:100px;height:26px;position:absolute;top:18px;left:50%;transform:translate(-50%)}.phone-bezel .status-bar{height:44px;font-size:13px;font-weight:600;font-family:var(--font-sans);color:var(--fg);z-index:1;justify-content:space-between;align-items:center;padding:14px 24px 0;display:flex;position:relative}.phone-bezel .home-indicator{background:#0000004d;border-radius:2px;width:130px;height:4px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.mobile-nav{background:var(--rally-surface);border-top:1px solid var(--border);z-index:10;justify-content:space-around;align-items:center;height:72px;padding:0 4px 16px;display:flex;position:absolute;bottom:0;left:0;right:0}.mobile-nav .item{color:var(--fg-subtle);font-size:10px;font-weight:600;font-family:var(--font-sans);flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 0;display:flex}.mobile-nav .item.active{color:var(--accent)}.mobile-nav .item .ico{font-size:18px}.mobile-nav .fab{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;display:flex;position:absolute;top:-22px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #3c105359}.drawer-shell{background:var(--rally-surface);border-left:1px solid var(--border);flex-direction:column;height:100%;display:flex;box-shadow:-16px 0 40px #1c0a281a}.rally-tabs{border-bottom:1px solid var(--border);gap:4px;padding:0 16px;display:flex}.rally-tabs .tab{font-size:13px;font-weight:600;font-family:var(--font-sans);color:var(--fg-muted);cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-1px;padding:11px 14px}.rally-tabs .tab.active{color:var(--accent);border-bottom-color:var(--accent)}.rally-tabs .tab .count{color:var(--fg-muted);background:#0000000f;border-radius:9999px;margin-left:6px;padding:1px 6px;font-size:11px}.rally-table{border-collapse:collapse;width:100%;font-family:var(--font-sans)}.rally-table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);border-bottom:1px solid var(--border);background:var(--rally-surface-alt);padding:10px 14px;font-size:11px;font-weight:700}.rally-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px;font-size:13px}.rally-table tr:hover td{background:var(--rally-surface-alt)}.heatmap{grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(53,1fr);grid-auto-flow:column;gap:3px;display:grid}.heatmap .cell{background:#3c10530f;border-radius:2px;width:11px;height:11px}.heatmap .cell.l1{background:#3c10532e}.heatmap .cell.l2{background:#3c10535c}.heatmap .cell.l3{background:#3c10539e}.heatmap .cell.l4{background:#3c1053eb}.wizard-stepper{align-items:center;gap:0;padding:24px 0 36px;display:flex}.wizard-stepper .step{flex:1;align-items:center;gap:10px;display:flex}.wizard-stepper .step .num{background:var(--rally-surface-sunk);width:30px;height:30px;color:var(--fg-muted);font-size:13px;font-weight:700;font-family:var(--font-sans);border:2px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.wizard-stepper .step.active .num{background:var(--accent);color:#fff;box-shadow:var(--ring-focus)}.wizard-stepper .step.complete .num{background:var(--rally-lane-completed);color:#fff}.wizard-stepper .step .label{font-size:12.5px;font-weight:600;font-family:var(--font-sans);color:var(--fg-muted);white-space:nowrap}.wizard-stepper .step.active .label,.wizard-stepper .step.complete .label{color:var(--fg)}.wizard-stepper .step .line{background:var(--border);flex:1;height:2px;margin:0 12px}.wizard-stepper .step.complete .line{background:var(--rally-lane-completed)}.divider-h{background:var(--border);height:1px;margin:0}.divider-v{background:var(--border);align-self:stretch;width:1px}.section-title{font-family:var(--font-display);color:var(--fg);font-size:16px;font-weight:700}.eyebrow{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted);font-size:10.5px;font-weight:700}.thumbprint-bg{opacity:.12;pointer-events:none;filter:brightness(2);background-position:130%;background-repeat:no-repeat;background-size:80%;position:absolute;inset:0}.rally-app ::-webkit-scrollbar{width:8px;height:8px}.rally-app ::-webkit-scrollbar-thumb{background:#3c10532e;border-radius:4px}.rally-app ::-webkit-scrollbar-track{background:0 0}
