:root{--bg: #f5f4fb;--surface: #ffffff;--ink: #1b1730;--muted: #6b6785;--line: #e7e4f2;--violet: #5b4bdb;--violet-deep: #2a1b5e;--violet-soft: #efecff;--cyan: #22b8cf;--green: #10b981;--amber: #f59f00;--red: #ef4444;--radius: 16px;--shadow: 0 1px 2px rgba(27, 23, 48, .03), 0 10px 28px rgba(27, 23, 48, .045)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font-family:inherit}h1,h2,h3,h4,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}table{border-collapse:collapse;width:100%}::selection{background:#ddd6fe}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:266px;z-index:40;display:flex;flex-direction:column;padding:18px 14px 16px;overflow-y:auto;background:radial-gradient(120% 55% at 18% 0%,#2c1560 0%,transparent 62%),linear-gradient(180deg,#1b0b3b,#150a30 55%,#100625);color:#beb5dc}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:2px 8px 14px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#7c3aed,#22b8cf);box-shadow:0 8px 20px #22b8cf40;flex:none}.sidebar-brand strong{display:block;color:#fff;font-size:17px;letter-spacing:.07em;line-height:1.2}.sidebar-brand span{font-size:10.5px;color:#a89ec9}.sidebar-close{display:none;margin-left:auto;border:0;background:transparent;color:#beb5dc;cursor:pointer}.nav{flex:1}.nav-label{margin:16px 10px 6px;font-size:9.5px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#786d9c}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;margin-bottom:2px;border-radius:10px;color:#beb5dc;font-size:13px;font-weight:500;transition:background .16s ease,color .16s ease;position:relative}.nav-item svg{flex:none;opacity:.85}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:linear-gradient(90deg,#7c3aed61,#22b8cf14);color:#fff;box-shadow:inset 2px 0 #22d3ee}.nav-role{padding:7px 10px;font-size:12.5px}.nav-role-icon{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;color:#fff;flex:none;box-shadow:inset 0 0 0 1px #ffffff29}.sidebar-foot{margin-top:18px;padding:14px 8px 0;border-top:1px solid rgba(255,255,255,.08)}.year-chip{display:inline-block;font-size:10.5px;color:#d8d0f0;background:#ffffff12;border:1px solid rgba(255,255,255,.1);padding:4px 9px;border-radius:99px;margin-bottom:8px}.sidebar-foot p{font-size:10.5px;color:#7d739e;line-height:1.5}.scrim{display:none}.main{margin-left:266px;min-height:100vh;display:flex;flex-direction:column}.sticky-top{position:sticky;top:0;z-index:30}.reminder{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 24px;font-size:11.5px;line-height:1.35;color:#fee2e2;background:linear-gradient(90deg,#7f1d1d,#b91c1c)}.reminder strong{color:#fff}.reminder a{flex:none;padding:2px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.35);background:#ffffff24;color:#fff;font-weight:600;font-size:11.5px}.topbar{height:62px;display:flex;align-items:center;gap:14px;padding:0 24px;background:#f7f6fce6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.menu-btn{display:none}.crumbs{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);min-width:0}.crumbs strong{color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;color:#514c6b;cursor:pointer;transition:border-color .15s ease,color .15s ease}.icon-btn:hover{border-color:#cfc7ee;color:var(--violet)}.search-wrap{position:relative;display:flex;align-items:center;gap:7px;width:230px;padding:7px 11px;background:#fff;border:1px solid var(--line);border-radius:10px;color:#8a86a3}.search-wrap:focus-within{border-color:#b9a9f5;box-shadow:0 0 0 3px #5b4bdb14}.search-wrap input{width:100%;border:0;outline:0;background:transparent;font-size:12.5px;color:var(--ink)}.search-pop{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:60;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px #1b173024;padding:6px;max-height:300px;overflow-y:auto}.search-pop button{display:flex;align-items:center;gap:9px;width:100%;padding:8px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.search-pop button:hover{background:#f7f5fd}.search-pop strong{display:block;font-size:12.5px}.search-pop em{display:block;font-style:normal;font-size:10.5px;color:var(--muted)}.search-dot{width:8px;height:8px;border-radius:50%;flex:none}.alerts-wrap,.bell{position:relative}.bell i{position:absolute;top:7px;right:7px;width:7px;height:7px;background:var(--red);border:2px solid #fff;border-radius:50%}.alerts-pop{position:absolute;top:calc(100% + 10px);right:0;width:324px;z-index:60;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 44px #1b173029;padding:8px}.alerts-pop-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;font-size:11px;color:var(--muted)}.alerts-pop-head strong{font-size:12.5px;color:var(--ink)}.alert-mini{display:flex;gap:9px;padding:9px 10px;border-radius:9px}.alert-mini:hover{background:#f8f7fd}.alert-mini strong{display:block;font-size:12px;line-height:1.4}.alert-mini em{display:block;font-style:normal;font-size:10.5px;color:var(--muted);line-height:1.45;margin-top:2px}.dot-danger,.dot-warn,.dot-info{width:8px;height:8px;border-radius:50%;margin-top:4px;flex:none}.dot-danger{background:var(--red)}.dot-warn{background:var(--amber)}.dot-info{background:#3b82f6}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:#fff;border:1px solid var(--line);border-radius:99px}.user-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10.5px;font-weight:700;background:linear-gradient(135deg,#5b4bdb,#22b8cf)}.user-chip strong{display:block;font-size:11.5px;line-height:1.2}.user-chip span{font-size:9.5px;color:var(--muted)}.content{width:100%;max-width:1480px;margin:0 auto;padding:24px 26px 40px}.app-foot{margin-top:auto;padding:18px 26px;border-top:1px solid var(--line);background:#fbfaff;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;color:#8a86a3}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.page{display:flex;flex-direction:column;gap:18px}.grid{display:grid;gap:16px}.g-4{grid-template-columns:repeat(4,1fr)}.g-3{grid-template-columns:repeat(3,1fr)}.g-2{grid-template-columns:repeat(2,1fr)}.split{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;align-items:stretch}.badge{display:inline-flex;align-items:center;padding:3.5px 9px;border-radius:99px;font-size:10.5px;font-weight:700;letter-spacing:.01em;white-space:nowrap}.badge-neutral{background:#f1f0f7;color:#5f5b75}.badge-info{background:#eaf2ff;color:#1d4ed8}.badge-ok{background:#e8fbf3;color:#087f5b}.badge-warn{background:#fff7e6;color:#b45309}.badge-danger{background:#feeceb;color:#c92a2a}.badge-cyan{background:#e6f8fb;color:#0e7490}.badge-violet{background:#f0ecff;color:#5b4bdb}.tone-bg-info{background:#eaf2ff;color:#1d4ed8}.tone-bg-ok{background:#e8fbf3;color:#087f5b}.tone-bg-warn{background:#fff7e6;color:#b45309}.tone-bg-danger{background:#feeceb;color:#c92a2a}.tone-bg-neutral{background:#f1f0f7;color:#5f5b75}.tone-bg-violet{background:#f0ecff;color:#5b4bdb}.tone-bg-cyan{background:#e6f8fb;color:#0e7490}.tone-text-ok{color:#087f5b}.tone-text-warn{color:#b45309}.tone-text-danger{color:#c92a2a}.tone-text-info{color:#1d4ed8}.tone-text-violet{color:#5b4bdb}.tone-text-muted{color:#8a86a3}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:10px;border:1px solid transparent;font-size:12.5px;font-weight:600;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.btn-primary{background:linear-gradient(135deg,#5b4bdb,#7c3aed);color:#fff;box-shadow:0 8px 18px #5b4bdb3d}.btn-primary:hover{transform:translateY(-1px)}.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:#cfc7ee;color:var(--violet)}.btn-sm{padding:6px 11px;font-size:11.5px}.btn-hero{background:#ffffff21;border-color:#ffffff3d;color:#fff}.btn-hero:hover{background:#ffffff38}.btn-hero-ghost{background:transparent;border-color:#ffffff52;color:#fff}.btn-hero-ghost:hover{background:#ffffff1a}.btn-mini{padding:5px 9px;border-radius:7px;border:1px solid transparent;font-size:10.5px;font-weight:600;cursor:pointer;background:#fff;white-space:nowrap;transition:background .14s ease}.btn-ok{background:#e8fbf3;border-color:#b9eeda;color:#087f5b}.btn-ok:hover{background:#d4f7e9}.btn-danger{background:#feeceb;border-color:#fbd3d0;color:#c92a2a}.btn-danger:hover{background:#fde0de}.btn-neutral{background:#f4f3fa;border-color:#e4e1f0;color:#5f5b75}.btn-neutral:hover{background:#ebe9f6}.btn-mini:disabled{opacity:.45;cursor:default}.link-more{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--violet);white-space:nowrap}.link-more:hover{color:#4338ca}.role-avatar{display:inline-grid;place-items:center;color:#fff;flex:none;box-shadow:inset 0 0 0 1px #ffffff2e}.kpi{padding:16px 18px;display:flex;flex-direction:column;gap:5px}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.kpi-label{font-size:11.5px;font-weight:600;color:var(--muted)}.kpi-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none}.kpi-value{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.18;font-variant-numeric:tabular-nums}.kpi-sub{font-size:10.5px;font-weight:600}.pbar{width:100%;background:#efeef7;border-radius:99px;overflow:hidden}.pbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#5b4bdb,#8b7bff);transition:width .3s ease}.pbar-green{background:linear-gradient(90deg,#10b981,#34d399)}.pbar-amber{background:linear-gradient(90deg,#f59f00,#fbbf24)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}.section-head h3{font-size:15.5px;font-weight:700;letter-spacing:-.01em}.section-head p{font-size:11.5px;color:var(--muted);margin-top:2px}.block{display:flex;flex-direction:column}.hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:26px;padding:30px 32px;border-radius:22px;color:#fff;background:radial-gradient(800px 320px at 88% -10%,rgba(34,184,207,.35),transparent 62%),linear-gradient(120deg,#241056,#3b1b83 55%,#2b1266);box-shadow:0 18px 40px #24105640}.hero-copy{position:relative;z-index:2;max-width:660px}.hero-eyebrow{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#d8ccff;background:#ffffff17;border:1px solid rgba(255,255,255,.15);margin-bottom:13px}.hero h1{font-size:clamp(26px,3vw,38px);line-height:1.12;letter-spacing:-.025em;font-weight:700;margin-bottom:12px}.hero h1 em{font-style:normal;color:#a5f3fc}.hero-copy>p{font-size:13.5px;line-height:1.62;color:#d9d2f2;max-width:620px}.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.hero-chips span{font-size:11px;color:#e6dffa;background:#ffffff17;border:1px solid rgba(255,255,255,.13);padding:5px 10px;border-radius:99px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.hero-side{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:226px;padding-left:26px;border-left:1px solid rgba(255,255,255,.12);z-index:2}.ring-wrap{position:relative;width:144px;height:144px}.ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-text strong{font-size:30px;letter-spacing:-.02em;line-height:1}.ring-text span{font-size:10px;color:#cfc6ea;margin-top:4px}.hero-side p{font-size:11px;line-height:1.65;color:#cfc6ea;text-align:center}.hero-side p span{color:#9d92c4;font-size:10px}.hero-atom{position:absolute;right:-40px;bottom:-110px;color:#ffffff0e;z-index:1;pointer-events:none}.funding{padding:18px 20px}.fund-list{display:flex;flex-direction:column;gap:13px;margin-top:14px}.fund-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:5px}.fund-top span{display:flex;align-items:center;gap:6px;color:#494460}.fund-top i{width:8px;height:8px;border-radius:3px}.fund-top strong{font-size:12.5px;font-variant-numeric:tabular-nums}.fund-meta{display:flex;justify-content:space-between;font-size:10px;color:#8a86a3;margin-top:4px}.alert-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-left:3px solid #cbd5e1;border-radius:14px;transition:transform .16s ease,box-shadow .16s ease}.alert-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px #1b173014}.tone-border-danger{border-left-color:#ef4444}.tone-border-warn{border-left-color:#f59f00}.tone-border-info{border-left-color:#3b82f6}.alert-ico{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;margin-bottom:2px}.alert-card strong{font-size:13px;line-height:1.4}.alert-card p{font-size:11.5px;line-height:1.55;color:var(--muted)}.alert-link{margin-top:4px;display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--violet)}.role-grid{grid-template-columns:repeat(3,1fr)}.role-card{display:flex;align-items:center;gap:12px;padding:14px 16px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.role-card:hover{transform:translateY(-2px);border-color:#d8cff5;box-shadow:0 14px 30px #1b173014}.role-card-body{display:flex;flex-direction:column;min-width:0}.role-group{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#8a86a3}.role-card-body strong{font-size:12.5px;line-height:1.35}.role-card-body em{font-style:normal;font-size:10.5px;color:var(--muted);margin-top:1px}.role-arrow{margin-left:auto;color:#b3aec9;flex:none}.module-chips{display:flex;flex-wrap:wrap;gap:8px}.module-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:11.5px;transition:border-color .15s ease}.module-chip:hover{border-color:#c9bdf3}.module-chip>svg{color:var(--violet);flex:none}.module-chip strong{display:block;font-size:11.5px;font-weight:600}.module-chip em{display:block;font-style:normal;font-size:9.5px;color:var(--muted)}.module-chips.compact .module-chip{padding:7px 10px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:4px 0 2px}.eyebrow{font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#7c3aed}.page-head h1{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.025em;margin:6px 0 8px}.page-head p{max-width:740px;font-size:13px;line-height:1.6;color:var(--muted)}.head-stat{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:12px 18px;background:#fff;border:1px solid var(--line);border-radius:14px}.head-stat strong{font-size:26px;line-height:1;color:var(--violet);letter-spacing:-.03em}.head-stat span{font-size:10.5px;color:var(--muted)}.stepper{display:flex;padding:12px 16px 10px;overflow-x:auto}.step{flex:1;min-width:92px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;border:0;background:transparent;color:var(--muted);cursor:pointer;position:relative}.step:not(:last-child):after{content:"";position:absolute;top:20px;left:calc(50% + 17px);width:calc(100% - 34px);height:1.5px;background:#e7e4f2;z-index:0}.step-dot{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;border:1.5px solid #d8d4e8;background:#fff;display:grid;place-items:center;font-size:11.5px;font-weight:700;color:#736e8f;transition:all .16s ease}.step-code{font-size:9px;letter-spacing:.07em;color:#a5a0b8;text-transform:uppercase}.step-title{font-size:10.5px;font-weight:600;text-align:center;line-height:1.25}.step.active .step-dot{background:linear-gradient(135deg,#5b4bdb,#7c3aed);color:#fff;border-color:transparent;box-shadow:0 0 0 4px #efecff}.step.active .step-title{color:var(--ink)}.step.active .step-code{color:#7c3aed}.step:hover .step-dot{border-color:#a78bfa}.stage-detail{padding:22px 24px}.stage-head{display:flex;justify-content:space-between;gap:22px}.stage-code{font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:700;color:#7c3aed}.stage-head h2{font-size:20px;letter-spacing:-.015em;margin:5px 0 8px}.stage-head p{font-size:12.5px;line-height:1.6;color:var(--muted);max-width:720px}.stage-actors{display:flex;flex-direction:column;gap:6px;min-width:210px;flex:none}.actor-chip{display:flex;align-items:center;gap:8px;padding:6px 9px;background:#faf9fe;border:1px solid var(--line);border-radius:10px}.actor-chip:hover{border-color:#c9bdf3}.actor-chip strong{display:block;font-size:11.5px;line-height:1.3}.actor-chip em{display:block;font-style:normal;font-size:9.5px;color:var(--muted)}.stage-grid{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:14px;margin-top:18px;padding-top:18px;border-top:1px dashed var(--line)}.io-block{background:#faf9fe;border:1px solid var(--line);border-radius:12px;padding:14px 16px}.io-block.io-out{background:#f7fdfa;border-color:#d8f3e8}.io-block h4{display:flex;align-items:center;gap:6px;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#5f5b75;margin-bottom:9px}.io-block li{display:flex;align-items:flex-start;gap:7px;font-size:11.5px;color:#494460;padding:4px 0;line-height:1.45}.io-block li svg{flex:none;margin-top:3px;color:var(--violet)}.io-block.io-out li svg{color:var(--green)}.stage-meta{display:flex;flex-direction:column;gap:12px;padding:4px 2px}.stage-meta span{display:flex;align-items:center;gap:5px;font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;color:#8a86a3;font-weight:700;margin-bottom:3px}.stage-meta strong{font-size:12.5px}.stage-meta p{font-size:11.5px;line-height:1.5;color:var(--muted)}.lifecycle{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.life-step{display:flex;align-items:center;gap:4px}.life-pill{display:flex;flex-direction:column;gap:1px;min-width:116px;padding:8px 12px;border-radius:10px}.life-pill span{font-size:9px;font-weight:700;opacity:.65}.life-pill strong{font-size:11.5px;line-height:1.3}.life-pill em{font-style:normal;font-size:9px;line-height:1.35;opacity:.75}.life-arrow{color:#b7b1cc;flex:none}.life-extra{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:11px;color:var(--muted)}.tabs{display:flex;gap:4px;padding:4px;background:#f2f0fa;border-radius:10px}.tabs button{border:0;background:transparent;padding:7px 12px;border-radius:8px;font-size:11.5px;font-weight:600;color:#676280;cursor:pointer}.tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 6px #1b173012}.subflow-card{padding:18px 20px}.subflow-intro{font-size:12px;color:var(--muted);margin-bottom:14px}.subflow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.subflow-step{position:relative;display:flex;gap:10px;padding:14px;background:#faf9fe;border:1px solid var(--line);border-radius:12px}.subflow-num{font-size:11px;font-weight:700;color:#7c3aed;letter-spacing:.05em}.subflow-step strong{display:block;font-size:12px;line-height:1.35}.subflow-step em{display:block;font-style:normal;font-size:10px;color:#8a86a3;margin:2px 0 6px}.subflow-step p{font-size:10.5px;line-height:1.45;color:var(--muted)}.subflow-arrow{position:absolute;right:-14px;top:50%;transform:translateY(-50%);color:#c6c1d8;background:var(--bg);border-radius:50%;z-index:1}.raci-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:10px;color:var(--muted)}.raci{width:20px;height:20px;border-radius:6px;display:inline-grid;place-items:center;font-size:10px;font-weight:700;font-style:normal;flex:none}.raci-P{background:#ede9fe;color:#5b21b6}.raci-A{background:#dcfce7;color:#087f5b}.raci-C{background:#e0f2fe;color:#0369a1}.raci-I{background:#f1f0f7;color:#5f5b75}.table-card{padding:6px 8px;overflow:hidden}.table-scroll{overflow-x:auto}.raci-table th{padding:9px 8px;border-bottom:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;text-align:center;vertical-align:bottom;line-height:1.35;white-space:normal;min-width:62px}.raci-table th span{display:block;font-size:9.5px;color:#7c3aed}.raci-table th:first-child{text-align:left;min-width:150px}.raci-table td{padding:6px 8px;border-bottom:1px solid #f3f1f9;text-align:center}.raci-table tr:last-child td{border-bottom:0}.raci-role{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;white-space:nowrap}.raci-empty{color:#d5d1e3}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;background:radial-gradient(600px 200px at 92% 0%,#efe9ff,transparent 70%),#fff}.cta-band h2{font-size:18px;letter-spacing:-.015em;margin:8px 0 4px}.cta-band p{font-size:12px;color:var(--muted);line-height:1.55;max-width:720px}.cta-band .btn{flex:none}.cta-band.slim{padding:18px 22px}.cta-band.slim h2{font-size:16px}.filter-row{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{display:flex;align-items:center;gap:6px;padding:7px 12px;background:#fff;border:1px solid var(--line);border-radius:99px;font-size:11.5px;font-weight:600;color:#5f5b75;cursor:pointer}.filter-chip span{font-size:10px;background:#f1f0f7;padding:1px 6px;border-radius:99px}.filter-chip.active{background:var(--violet);border-color:transparent;color:#fff}.filter-chip.active span{background:#ffffff38}.role-grid-lg{grid-template-columns:repeat(3,1fr)}.role-big{padding:18px;display:flex;flex-direction:column;gap:7px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.role-big:hover{transform:translateY(-3px);border-color:#d8cff5;box-shadow:0 16px 34px #1b173017}.role-big-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.role-big h3{font-size:15px;letter-spacing:-.01em}.role-person{font-size:11px;color:var(--muted)}.role-sum{font-size:11.5px;line-height:1.55;color:#5d5878;margin-top:2px}.role-io-mini{display:flex;gap:8px;margin-top:auto;padding-top:8px}.role-io-mini>div{flex:1;background:#faf9fe;border:1px solid #f0edf9;border-radius:10px;padding:8px 10px}.role-io-mini span{display:flex;align-items:center;gap:4px;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#8a86a3;font-weight:700}.role-io-mini strong{display:block;font-size:11.5px;margin-top:2px}.role-open{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--violet);margin-top:6px}.io-table th{padding:10px 12px;border-bottom:1px solid var(--line);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;text-align:left;white-space:nowrap}.io-table td{padding:12px;border-bottom:1px solid #f3f1f9;vertical-align:top;font-size:11.5px}.io-table tr:last-child td{border-bottom:0}.io-role{display:flex;align-items:center;gap:9px;min-width:170px}.io-role a{display:block;font-size:12.5px;font-weight:600}.io-role a:hover{color:var(--violet)}.io-role em{display:block;font-style:normal;font-size:10px;color:var(--muted)}.io-list{min-width:210px}.io-list li{position:relative;padding-left:11px;margin-bottom:7px}.io-list li:last-child{margin-bottom:0}.io-list li:before{content:"";position:absolute;left:0;top:5px;width:5px;height:5px;border-radius:50%;background:#a78bfa}.io-list.out li:before{background:#34d399}.io-list strong{display:block;font-size:11.5px;font-weight:600;line-height:1.4}.io-list span{display:block;font-size:10px;color:#8a86a3;line-height:1.4}.tag-cloud{display:flex;flex-wrap:wrap;gap:5px;min-width:150px}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;background:#f6f4fc;border:1px solid #eae6f6;border-radius:6px;font-size:10px;color:#5f5b75}.module-grid{grid-template-columns:repeat(2,1fr)}.module-card{padding:18px 20px;display:flex;flex-direction:column;gap:8px}.module-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.module-num{font-size:11px;font-weight:700;letter-spacing:.1em;color:#b3aec9}.module-card h3{font-size:15.5px;letter-spacing:-.01em}.module-card>p{font-size:12px;line-height:1.55;color:var(--muted)}.module-artifacts{display:flex;flex-wrap:wrap;gap:5px}.module-foot{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.module-actors{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--muted)}.module-link{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--violet)}.doc-list{padding:8px 10px}.doc-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid #f4f2f9}.doc-row:last-child{border-bottom:0}.doc-ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#f0ecff;color:#5b4bdb;flex:none}.doc-row>div{flex:1;min-width:0}.doc-row strong{display:block;font-size:12.5px}.doc-row em{display:block;font-style:normal;font-size:10.5px;color:var(--muted)}.back-link{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted);width:fit-content}.back-link:hover{color:var(--violet)}.role-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:22px;padding:26px 28px;border-radius:20px;color:#fff;background:radial-gradient(700px 280px at 88% -30%,rgba(255,255,255,.22),transparent 62%),linear-gradient(120deg,var(--from),var(--to));box-shadow:0 16px 36px #1e143c38}.role-hero-main{display:flex;gap:16px;position:relative;z-index:2}.role-hero .hero-eyebrow{margin-bottom:8px;color:#f1ecff}.role-hero h1{font-size:clamp(23px,2.5vw,31px);letter-spacing:-.025em;line-height:1.15;margin-bottom:4px}.role-hero-person{font-size:11.5px;color:#ffffffdb;margin-bottom:8px}.role-hero-sum{font-size:12.5px;line-height:1.6;color:#ffffffc7;max-width:640px}.role-quick{position:relative;z-index:2;display:flex;flex-direction:column;gap:7px;min-width:196px;align-self:center}.quick-label{font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#ffffffb8;margin-bottom:2px}.quick-label.dark{color:#8a86a3}.quick-btn{justify-content:space-between;padding:7px 11px;font-size:11.5px}.hero-glyph{position:absolute;right:-50px;bottom:-80px;color:#ffffff14;z-index:1;pointer-events:none}.hero-glyph>svg{display:block}.tasks-split{grid-template-columns:1.65fr 1fr;align-items:start}.task-card{padding:18px 20px}.chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.chart-head h3{font-size:14px;font-weight:700;letter-spacing:-.01em}.chart-head p{font-size:11px;color:var(--muted);margin-top:2px}.task-table th{padding:8px;border-bottom:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#8a86a3;font-weight:700;text-align:left;white-space:nowrap}.task-table td{padding:10px 8px;border-bottom:1px solid #f3f1f9;vertical-align:top;font-size:11.5px}.task-table tr:last-child td{border-bottom:0}.task-ref{display:block;font-size:9.5px;font-weight:700;letter-spacing:.04em;color:#7c3aed}.task-title{display:block;font-size:12.5px;font-weight:600;line-height:1.4;margin:1px 0 2px;max-width:280px}.task-meta{display:block;font-size:9.5px;color:#8a86a3}.num{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.due{white-space:nowrap;font-size:10.5px;color:#6b6785}.task-actions{display:flex;flex-wrap:wrap;gap:4px;min-width:100px}.row-done .task-title,.row-done .num{opacity:.6}.demo-note{display:flex;align-items:center;gap:5px;margin-top:10px;font-size:10px;color:#8a86a3}.role-focus{padding:18px 20px}.meter-list{display:flex;flex-direction:column;gap:12px;margin-top:6px}.meter-top{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;margin-bottom:5px}.meter-top span{color:#494460}.meter-list em{display:block;font-style:normal;font-size:9.5px;color:#8a86a3;margin-top:3px}.focus-proc{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:5px}.focus-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:7px;font-size:11.5px}.focus-row:hover{background:#faf9fe}.focus-row>i{font-style:normal;font-size:9px;font-weight:700;color:#7c3aed;background:#f0ecff;padding:2px 5px;border-radius:4px}.focus-row>span{flex:1}.focus-row .raci{width:18px;height:18px;font-size:9px}.focus-proc .link-more{margin-top:4px;align-self:flex-start}.chart-card{padding:18px 20px 12px;min-width:0}.chart-key{display:flex;flex-wrap:wrap;gap:10px;font-size:10px;color:var(--muted)}.chart-key span{display:flex;align-items:center;gap:4px}.chart-key i{width:7px;height:7px;border-radius:50%}.hbars{display:flex;flex-direction:column;gap:14px;padding:12px 0}.hbar-top{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;margin-bottom:5px}.hbar-top strong{font-size:12px;font-variant-numeric:tabular-nums}.donut-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.donut-chart{position:relative;width:55%;min-width:170px}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-center strong{font-size:15px;letter-spacing:-.01em}.donut-center span{font-size:9.5px;color:var(--muted)}.donut-legend{flex:1;min-width:130px;display:flex;flex-direction:column;gap:8px}.donut-legend li{display:flex;align-items:center;gap:7px;font-size:11px}.donut-legend i{width:8px;height:8px;border-radius:3px;flex:none}.donut-legend span{color:#5f5b75}.donut-legend strong{margin-left:auto;font-size:11px;font-variant-numeric:tabular-nums}.io-panel{padding:18px 20px}.io-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.io-ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none}.io-panel.in .io-ico{background:#eaf2ff;color:#1d4ed8}.io-panel.out .io-ico{background:#e8fbf3;color:#087f5b}.io-head h3{font-size:14px}.io-head p{font-size:10.5px;color:var(--muted)}.io-head .badge{margin-left:auto}.io-detail li{display:flex;gap:10px;padding:9px 0;border-bottom:1px dashed #f0eef7}.io-detail li:last-child{border-bottom:0}.io-num{font-size:9.5px;font-weight:700;letter-spacing:.06em;color:#b3aec9;padding-top:2px}.io-detail strong{display:block;font-size:12px;font-weight:600;line-height:1.4}.io-detail em{display:block;font-style:normal;font-size:10.5px;color:#8a86a3;margin-top:1px}.proc-card{padding:18px 20px}.proc-strip{display:flex;gap:4px;overflow-x:auto;padding-top:6px}.proc-node{flex:1;min-width:88px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 4px;border:1px solid transparent;border-radius:10px}.proc-node i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#f4f2fb;color:#8a86a3;font-size:10.5px;font-weight:700;font-style:normal}.proc-node span{font-size:9.5px;font-weight:600;color:#8a86a3;text-align:center;line-height:1.25}.proc-node.on{background:#f6f3ff;border-color:#e2dafb}.proc-node.on i{background:linear-gradient(135deg,#5b4bdb,#7c3aed);color:#fff}.proc-node.on span{color:#4c1d95}.proc-node:hover{border-color:#ded6f7}.role-modules{padding:18px 20px}.toast{position:fixed;right:22px;bottom:22px;z-index:100;display:flex;align-items:flex-start;gap:10px;max-width:370px;padding:12px 14px;border-radius:12px;background:#1b1730;color:#fff;box-shadow:0 18px 40px #00000047;animation:toastIn .22s ease}.toast-dot{width:8px;height:8px;border-radius:50%;background:#22d3ee;margin-top:5px;flex:none}.toast strong{display:block;font-size:12px;line-height:1.4}.toast p{font-size:11px;color:#c9c2e0;margin-top:2px}.toast-x{margin-left:auto;border:0;background:transparent;color:#9d94bb;cursor:pointer;padding:2px}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1240px){.g-4,.role-grid,.role-grid-lg{grid-template-columns:repeat(2,1fr)}.split,.tasks-split{grid-template-columns:1fr}.stage-grid{grid-template-columns:1fr 1fr}.stage-meta{grid-column:1 / -1}}@media (max-width: 1080px){.sidebar{transform:translate(-100%);transition:transform .22s ease;box-shadow:24px 0 60px #0f081e4d}.sidebar.open{transform:translate(0)}.sidebar-close{display:block}.main{margin-left:0}.menu-btn{display:grid}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;border:0;background:#0f081e73;cursor:pointer}.content{padding:20px 20px 34px}.role-hero{flex-direction:column}.role-quick{flex-direction:row;flex-wrap:wrap;align-self:stretch;min-width:0}.role-quick .quick-label{width:100%}.subflow{grid-template-columns:1fr 1fr}.subflow-arrow{display:none}.module-grid{grid-template-columns:1fr}.g-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 820px){.page-head{flex-direction:column;align-items:flex-start}.head-stat{align-items:flex-start}.hero{flex-direction:column;padding:24px}.hero-side{border-left:0;border-top:1px solid rgba(255,255,255,.12);padding:18px 0 0;flex-direction:row;justify-content:flex-start;gap:18px}.hero-side p{text-align:left}.hero-atom{display:none}.topbar{padding:0 16px}.search-wrap{width:170px}.user-chip>div{display:none}.reminder{padding:6px 16px;font-size:10.5px}.g-3,.g-2,.stage-grid{grid-template-columns:1fr}.stage-meta{grid-column:auto}.stage-head{flex-direction:column}.stage-actors{flex-direction:row;flex-wrap:wrap}.raci-legend{display:none}.section-head,.cta-band{flex-direction:column;align-items:flex-start}.app-foot{flex-direction:column;gap:4px}}@media (max-width: 640px){.content{padding:14px 14px 30px}.g-4{grid-template-columns:1fr 1fr}.role-grid,.role-grid-lg{grid-template-columns:1fr}.hero h1{font-size:25px}.hero{padding:20px}.hero-side{flex-direction:column;align-items:flex-start}.search-wrap{display:none}.role-hero{padding:20px}.role-hero-main{flex-direction:column}.role-hero-sum{font-size:12px}.subflow,.g-4{grid-template-columns:1fr}.lifecycle{flex-direction:column;align-items:flex-start}.life-arrow{transform:rotate(90deg);margin-left:12px}.tabs{width:100%;overflow-x:auto}.toast{left:14px;right:14px;bottom:14px;max-width:none}.kpi-value{font-size:22px}}
