@font-face{font-family:Work Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/10f65c94012f0d89-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Work Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/f0a6239bc4153746-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Work Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/c9e6921c7fc300d8-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Work Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/10f65c94012f0d89-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Work Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f0a6239bc4153746-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Work Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c9e6921c7fc300d8-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Work Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/10f65c94012f0d89-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Work Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f0a6239bc4153746-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Work Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c9e6921c7fc300d8-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Work Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/10f65c94012f0d89-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Work Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f0a6239bc4153746-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Work Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c9e6921c7fc300d8-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Work Sans Fallback;src:local("Arial");ascent-override:83.09%;descent-override:21.71%;line-gap-override:0.00%;size-adjust:111.93%}.__className_7012d0{font-family:Work Sans,Work Sans Fallback;font-style:normal}.__variable_7012d0{--font-work-sans:"Work Sans","Work Sans Fallback"}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_154f82{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_154f82{--font-plus-jakarta:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}:root{--font-heading:var(--font-plus-jakarta),"Helvetica Neue",Arial,sans-serif;--font-body:var(--font-work-sans),"Helvetica Neue",Arial,sans-serif;--mmu-surface:#F0F2F6;--mmu-clarity:#FAFAFA;--mmu-navy:#2A2C41;--mmu-blue:#7194D1;--mmu-lavender:#C1AAFA;--mmu-lime:#E7FF81;--rgb-navy:42,44,65;--rgb-blue:113,148,209;--rgb-lavender:193,170,250;--rgb-lime:231,255,129;--bg-base:var(--mmu-surface);--bg-surface:var(--mmu-clarity);--bg-elevated:#FFFFFF;--bg-hover:rgba(var(--rgb-blue),0.08);--bg-glass:rgba(255,255,255,0.72);--bg-glass-border:rgba(var(--rgb-navy),0.08);--mmu-wash:linear-gradient(180deg,#FFFFFF 0%,rgba(var(--rgb-lavender),0.30) 24%,rgba(var(--rgb-lavender),0.30) 79%,#FFFFFF 100%);--mmu-wash-soft:linear-gradient(180deg,rgba(var(--rgb-blue),0.10) 0%,rgba(var(--rgb-lavender),0.10) 59%,var(--mmu-clarity) 100%);--brand-primary:var(--mmu-navy);--brand-primary-light:var(--mmu-blue);--brand-secondary:var(--mmu-lavender);--brand-gradient:linear-gradient(135deg,#2A2C41,#4A5273);--brand-gradient-soft:linear-gradient(135deg,rgba(var(--rgb-blue),0.16),rgba(var(--rgb-lavender),0.22));--text-primary:var(--mmu-navy);--text-secondary:rgba(var(--rgb-navy),0.72);--text-tertiary:rgba(var(--rgb-navy),0.50);--text-accent:#5A7FC0;--status-pending-bg:rgba(var(--rgb-navy),0.06);--status-pending-text:rgba(var(--rgb-navy),0.62);--status-pending-border:rgba(var(--rgb-navy),0.12);--status-progress-bg:rgba(var(--rgb-blue),0.16);--status-progress-text:#33507E;--status-progress-border:rgba(var(--rgb-blue),0.32);--status-completed-bg:rgba(var(--rgb-lime),0.45);--status-completed-text:#4C5A16;--status-completed-border:rgba(163,191,74,0.45);--status-blocked-bg:rgba(199,91,91,0.12);--status-blocked-text:#A94F4F;--status-blocked-border:rgba(199,91,91,0.28);--project-active-bg:rgba(var(--rgb-lime),0.45);--project-active-text:#4C5A16;--project-paused-bg:rgba(var(--rgb-lavender),0.30);--project-paused-text:#5B47A0;--project-completed-bg:rgba(var(--rgb-blue),0.16);--project-completed-text:#33507E;--border-subtle:rgba(var(--rgb-navy),0.07);--border-default:rgba(var(--rgb-navy),0.12);--border-strong:rgba(var(--rgb-navy),0.20);--border-accent:rgba(var(--rgb-blue),0.40);--shadow-sm:0 1px 2px rgba(82,88,102,0.06);--shadow-md:0 1px 10px rgba(0,0,0,0.05);--shadow-lg:0 10px 50px rgba(82,53,239,0.10);--shadow-glow:0 10px 50px rgba(82,53,239,0.10);--sidebar-width:248px;--header-height:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-full:9999px;--transition-fast:0.15s ease;--transition-base:0.25s ease;--transition-slow:0.4s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:300;background:var(--bg-base);line-height:1.6;font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.1;letter-spacing:-.02em}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.15rem}h4{font-size:1rem}p{color:var(--text-secondary)}a{color:var(--text-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--mmu-navy)}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(var(--rgb-navy),.15);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:rgba(var(--rgb-navy),.28)}::selection{background:rgba(var(--rgb-lime),.6);color:var(--mmu-navy)}.card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.5rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.card:hover{border-color:var(--border-default);box-shadow:var(--shadow-md)}.card-glass{background:var(--bg-glass);border:1px solid var(--bg-glass-border);border-radius:var(--radius-xl);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.125rem;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast);white-space:nowrap;text-decoration:none;line-height:1.2}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--mmu-navy);color:#FFFFFF;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:#363954;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-accent)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:rgba(var(--rgb-navy),.05);color:var(--text-primary)}.btn-danger{background:var(--status-blocked-bg);color:var(--status-blocked-text);border-color:var(--status-blocked-border)}.btn-danger:hover:not(:disabled){background:rgba(199,91,91,.2)}.btn-sm{padding:.4rem .75rem;font-size:.8125rem}.btn-lg{padding:.8rem 1.5rem;font-size:.95rem}.btn-icon{padding:.5rem;border-radius:var(--radius-md)}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-size:.75rem;font-weight:500;color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase}.form-input,.form-select,.form-textarea{width:100%;padding:.7rem .875rem;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-weight:400;font-size:.9rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--mmu-blue);box-shadow:0 0 0 3px rgba(var(--rgb-blue),.15)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232A2C41' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.5rem;cursor:pointer}.form-select option{background:var(--bg-elevated);color:var(--text-primary)}.form-textarea{resize:vertical;min-height:100px}.form-error{font-size:.8rem;color:var(--status-blocked-text)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500;border:1px solid transparent;white-space:nowrap}.badge-pending{background:var(--status-pending-bg);color:var(--status-pending-text);border-color:var(--status-pending-border)}.badge-completed{background:var(--status-completed-bg);color:var(--status-completed-text)}.badge-active,.badge-completed{border-color:var(--status-completed-border)}.badge-active{background:var(--project-active-bg);color:var(--project-active-text)}.badge-paused{background:var(--project-paused-bg);color:var(--project-paused-text);border-color:rgba(var(--rgb-lavender),.5)}.badge-project-completed{background:var(--project-completed-bg);color:var(--project-completed-text);border-color:rgba(var(--rgb-blue),.3)}.badge-secondary{background:rgba(var(--rgb-navy),.06);color:var(--text-secondary);border-color:var(--border-subtle)}.table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-elevated)}table{width:100%;border-collapse:collapse}thead tr{background:rgba(var(--rgb-navy),.035)}th{padding:.85rem 1rem;text-align:left;font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.07em}td,th{border-bottom:1px solid var(--border-subtle)}td{padding:.9rem 1rem;color:var(--text-secondary);font-size:.875rem}tr:last-child td{border-bottom:none}tbody tr{background:transparent;transition:background var(--transition-fast)}tbody tr:hover{background:rgba(var(--rgb-blue),.05)}.modal-overlay{position:fixed;inset:0;background:rgba(var(--rgb-navy),.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn var(--transition-fast) ease}.modal{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp var(--transition-base) ease}.modal-header{align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-subtle)}.modal-body,.modal-header{display:flex;padding:1.5rem}.modal-body{flex-direction:column;gap:1.25rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-subtle)}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:2000;display:flex;flex-direction:column;gap:.5rem}.toast{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:.875rem;color:var(--text-primary);animation:slideInRight var(--transition-base) ease;min-width:280px;max-width:400px}.toast-success{background:var(--status-completed-bg);border:1px solid var(--status-completed-border);color:var(--status-completed-text);border-radius:var(--radius-md)}.toast-error{border-left:3px solid var(--status-blocked-text)}.toast-info{border-left:3px solid var(--mmu-blue)}.progress-bar-track{width:100%;height:8px;background:rgba(var(--rgb-navy),.08);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;border-radius:var(--radius-full);background:var(--mmu-lime);transition:width .8s cubic-bezier(.4,0,.2,1)}.page-header{margin-bottom:2rem}.page-header h1{font-size:1.65rem;color:var(--text-primary);margin-bottom:.3rem}.page-header p{font-size:.9rem;color:var(--text-tertiary)}.page-actions{justify-content:space-between;flex-wrap:wrap}.empty-state,.page-actions{display:flex;align-items:center;gap:1rem}.empty-state{flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state-icon{width:64px;height:64px;background:var(--brand-gradient-soft);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--mmu-navy)}.empty-state h3{color:var(--text-primary);font-size:1rem}.empty-state p{font-size:.875rem;color:var(--text-tertiary);max-width:320px}.viz-card{--viz-surface:#FBFBFC;--viz-series:#4F72B4;--viz-grid:rgba(42,44,65,0.10);--viz-axis:rgba(42,44,65,0.22);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem}.viz-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.viz-title{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0}.viz-sub{font-size:.72rem;margin:.15rem 0 0}.viz-empty,.viz-sub{color:var(--text-tertiary)}.viz-empty{font-size:.75rem;font-style:italic;margin:.5rem 0 0}.viz-toggle{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0;padding:.3rem .55rem;font-size:.7rem;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer}.viz-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.viz-plot{position:relative}.viz-axis-text{font-size:10px;fill:var(--text-tertiary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.viz-tooltip{position:absolute;transform:translate(-50%,-100%);pointer-events:none;background:var(--mmu-navy);color:#FFFFFF;padding:.4rem .6rem;border-radius:var(--radius-sm);font-size:.7rem;line-height:1.35;max-width:220px;box-shadow:0 4px 14px rgba(42,44,65,.25);z-index:3}.viz-tooltip.is-below{transform:translate(-50%)}.viz-tooltip-value{font-weight:700}.viz-tooltip-meta{opacity:.8}.viz-table-wrap{overflow-x:auto}.viz-table{width:100%;border-collapse:collapse;font-size:.75rem}.viz-table td,.viz-table th{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.viz-table th{color:var(--text-tertiary);font-weight:600;text-transform:uppercase;font-size:.65rem;letter-spacing:.04em}.viz-table td{color:var(--text-secondary)}.viz-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--border-subtle)}.viz-legend-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;color:var(--text-secondary)}.viz-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.viz-tooltip-row{display:flex;align-items:baseline;gap:.35rem}.viz-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:1rem;gap:1rem}.gantt-scroll{border:none;border-radius:0;background:transparent}.gantt-grid{--label-width:230px;min-width:max(100%,calc(var(--label-width) + var(--track-width, 0px)));padding-right:8px}.gantt-head,.gantt-row{display:grid;grid-template-columns:var(--label-width) 1fr;align-items:center}.gantt-head{height:30px;border-bottom:1px solid var(--border-subtle);margin-bottom:.35rem}.gantt-head-track{height:100%}.gantt-label{display:flex;flex-direction:column;gap:.1rem;padding-right:.75rem;min-width:0}.gantt-head-label{font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;padding-left:.75rem}.gantt-label-text{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-label-date{font-size:.65rem;color:var(--text-tertiary);white-space:nowrap}.gantt-row{height:42px;border-radius:var(--radius-sm)}.gantt-row:hover{background:var(--bg-hover)}.gantt-row.is-stage .gantt-label-text{font-weight:600;font-size:.82rem}.gantt-row.is-stage{margin-top:.5rem}.gantt-track{position:relative;height:100%}.gantt-tick{position:absolute;bottom:.25rem;transform:translateX(2px);font-size:.62rem;color:var(--text-tertiary);white-space:nowrap}.gantt-gridline{width:1px;background:var(--viz-grid)}.gantt-gridline,.gantt-today{position:absolute;top:0;bottom:0}.gantt-today{width:2px;background:var(--mmu-lavender);opacity:.85}.gantt-bar{transform:translateY(-50%);height:10px;border-radius:var(--radius-full)}.gantt-bar,.gantt-point{position:absolute;top:50%}.gantt-point{width:9px;height:9px;margin-left:-4px;transform:translateY(-50%) rotate(45deg);border-radius:2px}.gantt-bar.gantt-stage{height:14px;opacity:.9}.gantt-bar.gantt-stage,.gantt-point.gantt-stage{background:var(--brand-primary)}.gantt-bar.gantt-session,.gantt-point.gantt-session{background:var(--mmu-blue)}.gantt-bar.gantt-session.is-done,.gantt-point.gantt-session.is-done{background:var(--status-completed-border)}.gantt-bar.gantt-deliverable,.gantt-point.gantt-deliverable{background:var(--mmu-lavender)}.gantt-legend{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.68rem;color:var(--text-tertiary)}.gantt-legend span{display:inline-flex;align-items:center;gap:.3rem}.gantt-key{width:10px;height:10px;border-radius:var(--radius-full)}.gantt-key.gantt-stage{background:var(--brand-primary)}.gantt-key.gantt-session{background:var(--mmu-blue)}.gantt-key.gantt-deliverable{background:var(--mmu-lavender)}.gantt-undated{display:flex;flex-wrap:wrap;gap:.5rem}.gantt-undated-item{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.75rem;color:var(--text-secondary)}@media (max-width:768px){.gantt-grid{--label-width:160px}.gantt-label-date{font-size:.6rem}}.tabs-bar{border-bottom:1px solid var(--border-subtle);padding-bottom:.5rem;overflow-x:auto}.tab-btn,.tabs-bar{display:flex;gap:.5rem}.tab-btn{align-items:center;padding:.6rem 1rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;font-weight:500;font-family:inherit;white-space:nowrap;cursor:pointer;transition:all var(--transition-fast)}.tab-btn:hover{color:var(--text-primary);background:var(--bg-elevated)}.tab-btn-active{background:var(--brand-gradient-soft);color:var(--brand-primary-light);border-color:var(--border-accent)}.badge-meta{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle)}.filter-bar{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.filter-bar>.flex{align-self:center}.filter-field{display:flex;flex-direction:column;gap:.25rem;min-width:200px;flex:1 1}.filter-field .form-label{margin:0}.subtabs-bar{display:inline-flex;gap:.25rem;max-width:100%;padding:.25rem;margin-bottom:1.5rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow-x:auto}.subtab-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-family:inherit;font-size:.85rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:all var(--transition-fast)}.subtab-btn-active,.subtab-btn:hover{color:var(--text-primary)}.subtab-btn-active{background:var(--bg-surface);box-shadow:var(--shadow-sm)}.drag-handle{display:inline-flex;align-items:center;color:var(--text-tertiary);cursor:-webkit-grab;cursor:grab;flex-shrink:0;opacity:0;transition:opacity var(--transition-fast)}.drag-handle:focus-visible,.editor-milestone:hover .drag-handle,.editor-stage:hover .drag-handle,.milestone-item:hover .drag-handle,.stage-card:hover .drag-handle{opacity:1}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.is-dragging{opacity:.4}.is-drop-target{position:relative;outline:2px dashed var(--brand-primary);outline-offset:2px;border-radius:var(--radius-md)}@media (prefers-reduced-motion:reduce){.drag-handle{opacity:1;transition:none}}.test-fail,.test-ok{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.85rem;line-height:1.4}.test-ok{background:var(--status-completed-bg);color:var(--status-completed-text);border:1px solid var(--status-completed-border)}.test-fail{background:var(--status-blocked-bg);color:var(--status-blocked-text);border:1px solid var(--status-blocked-border)}.switch-row{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 0}.switch-row+.switch-row{border-top:1px solid var(--border-subtle)}.switch{position:relative;flex-shrink:0;width:38px;height:22px;margin-top:.1rem}.switch input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.switch-track{display:block;width:100%;height:100%;border-radius:var(--radius-full);background:var(--border-strong);transition:background var(--transition-fast);pointer-events:none}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:var(--radius-full);background:white;transition:transform var(--transition-fast)}.switch input:checked~.switch-track{background:var(--brand-primary)}.switch input:checked~.switch-track:after{transform:translateX(16px)}.switch input:focus-visible~.switch-track{outline:2px solid var(--brand-primary);outline-offset:2px}.switch input:disabled{cursor:not-allowed}.switch input:disabled~.switch-track{opacity:.45}.grid-2{grid-template-columns:repeat(2,1fr);grid-gap:1rem}.grid-2,.grid-3{display:grid;gap:1rem}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:1rem}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem}@media (max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.divider{height:1px;background:var(--border-subtle);margin:1rem 0}.skeleton{background:linear-gradient(90deg,rgba(var(--rgb-navy),.04) 25%,rgba(var(--rgb-navy),.08) 50%,rgba(var(--rgb-navy),.04) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.spinner{width:18px;height:18px;border:2px solid rgba(var(--rgb-navy),.15);border-top-color:var(--mmu-navy);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.btn-primary .spinner{border-color:#FFFFFF rgba(255,255,255,.35) rgba(255,255,255,.35)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.w-full{width:100%}.min-h-vh{min-height:100vh}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent{color:var(--text-accent)}.text-danger{color:var(--status-blocked-text)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex-1{flex:1 1}.flex-wrap{flex-wrap:wrap}.relative{position:relative}.overflow-hidden{overflow:hidden}.cursor-pointer{cursor:pointer}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tracking-wider{letter-spacing:.05em}.leading-relaxed{line-height:1.65}.whitespace-pre-line{white-space:pre-line}.text-center{text-align:center}.text-right{text-align:right}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.rounded{border-radius:var(--radius-md)}.rounded-full{border-radius:var(--radius-full)}.border{border:1px solid var(--border-default)}.border-b{border-bottom:1px solid var(--border-subtle)}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.no-select{-webkit-user-select:none;-moz-user-select:none;user-select:none}