@font-face{font-family:Inter;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,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:Inter;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/inter-latin-ext.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}:root{--navy-900: #0a1330;--navy-800: #0f1c44;--navy-700: #182a5e;--navy-600: #24388a;--brand-700: #4338ca;--brand-600: #4f46e5;--brand-500: #6366f1;--brand-400: #818cf8;--brand-800: #3730a3;--brand-100: #e0e7ff;--brand-50: #eef2ff;--sky-500: #0ea5e9;--sky-100: #e0f2fe;--bg: #eef1f7;--surface: #ffffff;--surface-2: #f6f8fc;--border: #e6e9f1;--border-2: #ccd3e1;--text: #0b1220;--text-2: #334155;--muted: #5b6779;--muted-2: #626d81;--muted-ink: #5d6b80;--green-700: #15803d;--green-600: #16a34a;--green-100: #dcfce7;--amber-700: #b45309;--amber-600: #d97706;--amber-100: #fef3c7;--red-700: #b91c1c;--red-600: #dc2626;--red-100: #fee2e2;--stage-1-bg: #eef1f7;--stage-1-fg: #475569;--stage-1-bd: #dde3ee;--stage-2-bg: #e0e7ff;--stage-2-fg: #312e81;--stage-2-bd: #c7d2fe;--stage-3-bg: #c7d2fe;--stage-3-fg: #2a2668;--stage-3-bd: #a5b4fc;--stage-4-bg: #9daaf5;--stage-4-fg: #1b1a45;--stage-4-bd: #7c8cee;--stage-done-bg: #dcfce7;--stage-done-fg: #15803d;--stage-done-bd: #bbf7d0;--chip-bg: #f1f5f9;--chip-ink: #475569;--chip-bd: #cbd5e1;--radius-xs: 6px;--radius-sm: 8px;--radius: 10px;--radius-lg: 14px;--shadow: 0 1px 2px rgba(16,24,40,.04), 0 2px 8px rgba(16,24,40,.06);--shadow-over: 0 12px 28px -8px rgba(16,24,40,.28);--ring: 0 0 0 3px var(--brand-100);--fs-sup: 8px;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 28px;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);font-size:var(--fs-md);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:700;color:var(--text);letter-spacing:-.015em}a{color:var(--brand-600);text-decoration:none}button{font-family:inherit}::selection{background:var(--brand-100)}:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.nav-group-label,.emp-tag,table.tbl th,table.matrix thead th,.legend .leg-label,.steprole,.stage-kv .k,.role-col-head .rc-role,.alloc-tbl th.alloc-person .ap-role,.toolbar-grouped .fg-label,.sec-title,.doc-row2 .step-lbl,.org-band .tier-tag,.form-section>.fs-title,.cg-nowtag,.cg-grp .cg-rowlab,.cg-chip{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:700}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:var(--radius-sm);border:2px solid var(--surface-2)}::-webkit-scrollbar-thumb:hover{background:var(--muted-2)}.app-shell{display:grid;grid-template-columns:256px 1fr;min-height:100vh}.sidebar{background:var(--navy-900);color:#cdd9ec;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-x:hidden}.brand{display:flex;align-items:center;gap:12px;padding:20px 20px 18px;border-bottom:1px solid rgba(255,255,255,.07)}.brand .logo{width:38px;height:38px;border-radius:var(--radius);background:var(--brand-600);display:grid;place-items:center;color:#fff;font-weight:700;font-size:var(--fs-lg);flex:none}.brand>div:not(.logo){min-width:0}.brand .brand-name{font-size:var(--fs-lg);font-weight:700;color:#fff;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-toggle{margin-left:auto;flex:none;width:32px;height:32px;padding:0;display:inline-grid;place-items:center;cursor:pointer;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);background:#ffffff0f;color:#b9c8de}.nav-toggle:hover{background:#ffffff1f;color:#fff}.nav-toggle .icon{width:17px;height:17px}.nav{padding:14px 12px;flex:1;overflow-y:auto}.nav-group-label{color:#6f87a8;margin:16px 12px 6px}.nav-item{display:flex;align-items:center;gap:13px;padding:11px 13px;margin:3px 0;border-radius:var(--radius-sm);color:#b9c8de;font-weight:500;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-size:var(--fs-md);position:relative;transition:background .12s,color .12s}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:#6366f142;color:#fff}.nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand-400)}.nav-item .icon{width:20px;height:20px;flex:none;opacity:.9}.nav-item .count{margin-left:auto;background:#ffffff1f;color:#dbeafe;font-size:var(--fs-sm);font-weight:700;padding:2px 9px;border-radius:999px}.nav-item.active .count{background:var(--brand-600);color:#fff}.sidebar-foot{padding:12px;border-top:1px solid rgba(255,255,255,.07)}.user-chip{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-sm);background:#ffffff0d;cursor:pointer}.user-chip:hover{background:#ffffff1a}.user-chip .meta{overflow:hidden}.user-chip .nm{color:#fff;font-weight:600;font-size:var(--fs-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip .rl{color:#8aa3c4;font-size:var(--fs-xs)}.user-chip .swap{margin-left:auto;color:#8aa3c4}@media(min-width:861px)and (max-width:1279px){.app-shell:not(.nav-expanded){grid-template-columns:72px 1fr}.app-shell:not(.nav-expanded) .brand{flex-direction:column;gap:10px;padding:16px 8px 14px}.app-shell:not(.nav-expanded) .brand>div:not(.logo){display:none}.app-shell:not(.nav-expanded) .nav-toggle{margin-left:0}.app-shell:not(.nav-expanded) .nav{padding:14px 8px}.app-shell:not(.nav-expanded) .nav-group-label{display:none}.app-shell:not(.nav-expanded) .nav-item{justify-content:center;gap:0;padding:11px 0}.app-shell:not(.nav-expanded) .nav-item>span{display:none}.app-shell:not(.nav-expanded) .nav-item .count{position:absolute;top:2px;right:4px;margin-left:0;padding:0 5px;font-size:var(--fs-xs);line-height:16px}.app-shell:not(.nav-expanded) .sidebar-foot{padding:12px 8px}.app-shell:not(.nav-expanded) .user-chip{justify-content:center;gap:0;padding:8px 0}.app-shell:not(.nav-expanded) .user-chip .meta{display:none}.app-shell:not(.nav-expanded) .user-chip .swap{display:none}}@media(min-width:1280px){.app-shell.nav-collapsed{grid-template-columns:72px 1fr}.app-shell.nav-collapsed .brand{flex-direction:column;gap:10px;padding:16px 8px 14px}.app-shell.nav-collapsed .brand>div:not(.logo){display:none}.app-shell.nav-collapsed .nav-toggle{margin-left:0}.app-shell.nav-collapsed .nav{padding:14px 8px}.app-shell.nav-collapsed .nav-group-label{display:none}.app-shell.nav-collapsed .nav-item{justify-content:center;gap:0;padding:11px 0}.app-shell.nav-collapsed .nav-item>span{display:none}.app-shell.nav-collapsed .nav-item .count{position:absolute;top:2px;right:4px;margin-left:0;padding:0 5px;font-size:var(--fs-xs);line-height:16px}.app-shell.nav-collapsed .sidebar-foot{padding:12px 8px}.app-shell.nav-collapsed .user-chip{justify-content:center;gap:0;padding:8px 0}.app-shell.nav-collapsed .user-chip .meta,.app-shell.nav-collapsed .user-chip .swap{display:none}}.main{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:20;background:#ffffffd9;backdrop-filter:blur(8px);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:24px 32px 20px}.topbar .page-title{font-size:var(--fs-2xl);font-weight:800;line-height:1.12;letter-spacing:-.02em}.topbar .page-sub{font-size:var(--fs-base);color:var(--muted);margin-top:3px}.topbar .spacer{flex:1}.topbar .topbar-chip{margin-right:6px}.searchbox{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:7px 14px;min-width:240px;color:var(--muted)}.searchbox input{border:none;background:none;outline:none;flex:1;font-size:var(--fs-md);color:var(--text)}.searchbox .icon{width:16px;height:16px}.content{padding:28px 32px 64px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:var(--radius-sm);font-weight:600;font-size:var(--fs-md);letter-spacing:-.01em;border:1px solid transparent;cursor:pointer;transition:background .14s,box-shadow .14s,border-color .14s,transform .04s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.btn .icon{width:18px;height:18px}.btn-primary{background:var(--brand-600);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-700)}.btn-secondary{background:var(--surface);color:var(--text-2);border-color:var(--border-2);box-shadow:var(--shadow)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted-2)}.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-success{background:var(--green-700);color:#fff}.btn-success:hover:not(:disabled){background:#166534}.btn-danger{background:var(--surface);color:var(--red-600);border-color:#fecaca}.btn-danger:hover:not(:disabled){background:var(--red-100)}.btn-warn{background:var(--amber-700);color:#fff}.btn-warn:hover:not(:disabled){background:#92400e}.btn-sm{padding:8px 14px;font-size:var(--fs-base);border-radius:var(--radius-sm)}.btn-sm .icon{width:16px;height:16px}.btn-xs{padding:3px 8px;font-size:var(--fs-sm);border-radius:var(--radius-xs);gap:3px;font-weight:500}.btn-xs .icon{width:13px;height:13px}.btn-block{width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.btn-icon{padding:8px;gap:0}.btn-icon .icon{width:17px;height:17px}.collab-add-btn{margin-top:3px;align-self:flex-start;color:var(--muted-2)}.collab-add-btn:hover:not(:disabled){color:var(--brand-600);background:var(--surface-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius) var(--radius) 0 0}.card-head h2{font-size:var(--fs-lg)}.card-head .sub{font-size:var(--fs-sm);color:var(--muted)}.card-body,.card-pad{padding:22px}.row{display:flex;gap:16px}.col{display:flex;flex-direction:column;gap:16px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.grid{display:grid;gap:16px}.mt-2{margin-top:10px}.mt-3{margin-top:16px}.mt-4{margin-top:26px}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.strong{font-weight:600}.center{text-align:center}.divider{height:1px;background:var(--border);margin:14px 0}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid>.kpi:last-child:nth-child(odd){grid-column:1 / -1}}@media(max-width:620px){.kpi-grid{grid-template-columns:1fr}}.alert-card{border-color:#fecaca}.alert-card .card-head h2{color:var(--red-700);display:flex;align-items:center;gap:6px}.alert-card .card-head h2 .icon{width:17px;height:17px}.stale-list{display:flex;flex-direction:column;gap:2px}.stale-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 4px;border-bottom:1px solid var(--border);cursor:pointer}.stale-row:last-child{border-bottom:none}.stale-row:hover{background:var(--surface-2)}tr.row-overdue>td{background:#fef2f2}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow);display:flex;gap:16px;align-items:flex-start}.kpi-go{cursor:pointer}.kpi-go:hover{border-color:var(--brand-400)}.kpi-go:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.kpi .kpi-icon{width:52px;height:52px;border-radius:var(--radius);display:grid;place-items:center;flex:none;background:var(--brand-50);color:var(--brand-800)}.kpi .kpi-icon .icon{width:26px;height:26px}.kpi .kpi-val{font-size:var(--fs-2xl);font-weight:800;line-height:1.02;letter-spacing:-.035em}.kpi .kpi-label{font-size:var(--fs-base);color:var(--muted);margin-top:4px;font-weight:500}.kpi .kpi-trend{font-size:var(--fs-sm);margin-top:6px;font-weight:600}.kpi-icon.warn{background:var(--amber-100);color:var(--amber-700)}.kpi-icon.ok{background:var(--green-100);color:var(--green-700)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:var(--fs-sm);font-weight:600;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);white-space:nowrap}.badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.badge-blue{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand-100)}.badge-green{background:var(--green-100);color:#15803d;border-color:#bbf7d0}.badge-amber{background:var(--amber-100);color:#b45309;border-color:#fde68a}.badge-red{background:var(--red-100);color:var(--red-700);border-color:#fecaca}.badge-gray{background:var(--chip-bg);color:var(--chip-ink);border-color:var(--chip-bd)}.stage-intake,.stage-data_entry{background:var(--stage-1-bg);color:var(--stage-1-fg);border-color:var(--stage-1-bd)}.stage-senior_review{background:var(--stage-2-bg);color:var(--stage-2-fg);border-color:var(--stage-2-bd)}.stage-manager_review{background:var(--stage-3-bg);color:var(--stage-3-fg);border-color:var(--stage-3-bd)}.stage-partner_signoff{background:var(--stage-4-bg);color:var(--stage-4-fg);border-color:var(--stage-4-bd)}.stage-completed{background:var(--stage-done-bg);color:var(--stage-done-fg);border-color:var(--stage-done-bd)}.stage-not_started{background:var(--stage-1-bg);color:var(--stage-1-fg);border-color:var(--stage-1-bd)}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-xs);font-weight:700;color:#fff;flex:none;background:var(--brand-600)}.avatar.sm{width:24px;height:24px;font-size:var(--fs-xs)}.avatar.lg{width:44px;height:44px;font-size:var(--fs-md)}.avatar-row{display:flex;align-items:center;gap:8px}.avatar-stack{display:flex}.avatar-stack .avatar{border:2px solid var(--surface);margin-left:-8px}.avatar-stack .avatar:first-child{margin-left:0}.emp-tag{padding:1px 6px;border-radius:var(--radius-xs);border:1px solid var(--chip-bd)}.emp-ft,.emp-pt{background:var(--chip-bg);color:var(--chip-ink)}.table-wrap{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-md)}table.tbl th{text-align:left;color:var(--muted);padding:13px 16px;border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap;position:sticky;top:0}table.tbl td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}table.tbl tr:last-child td{border-bottom:none}table.tbl tbody tr{transition:background .1s}table.tbl tbody tr.clickable{cursor:pointer}table.tbl tbody tr.clickable:hover{background:var(--brand-50);box-shadow:inset 3px 0 0 var(--brand-500)}.cell-strong{font-weight:600;color:var(--text)}.cell-code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--fs-sm);color:var(--muted)}.toolbar{display:flex;align-items:center;gap:10px;row-gap:12px;flex-wrap:wrap;margin-bottom:22px}.toolbar>.spacer{flex:1}.toolbars{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.toolbars>.toolbar{margin-bottom:0}.toolbar .select,.toolbar .seg,.toolbar .filt-dates,.toolbar .btn{height:42px;box-sizing:border-box}.toolbar .select{width:auto;padding:0 34px 0 14px;font-size:var(--fs-md)}.toolbar .seg{align-items:center}.toolbar .seg button{padding:7px 16px}.toolbar .count{color:var(--muted);font-size:var(--fs-base);white-space:nowrap}.toolbar .seg-label{font-size:var(--fs-base);color:var(--muted);font-weight:600}.toolbar .filt-dates{display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface)}.toolbar .filt-dates input.input{height:30px;border:none;padding:0}.toolbar .filt-dates input.input:focus{box-shadow:none}.toolbar .filt-dates .lbl{font-size:var(--fs-sm);font-weight:600;color:var(--muted)}.toolbar-search{flex:1 1 380px;min-width:260px;max-width:560px;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:0 18px;height:42px;box-sizing:border-box}.toolbar-search .ic{color:var(--muted);display:inline-flex}.toolbar-search .ic .icon{width:18px;height:18px}.toolbar-search input.input{border:none;padding:2px 0;font-size:var(--fs-md);background:none}.toolbar-search input.input:focus{box-shadow:none}.toolbar-grouped{align-items:flex-end;gap:10px 18px}.toolbar-grouped .fgroup{display:flex;flex-direction:column;gap:5px}.toolbar-grouped .fg-label{color:var(--muted)}.toolbar-grouped .fg-body{display:flex;flex-wrap:wrap;gap:8px}.toolbar-grouped .fgroup+.fgroup{border-left:1px solid var(--border);padding-left:18px}.toolbar-grouped .count,.toolbar-grouped .btn{align-self:flex-end;margin-bottom:9px}.matrix-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}table.matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-base)}table.matrix th,table.matrix td{padding:0}table.matrix thead th{position:sticky;top:0;z-index:5;background:var(--surface-2);border-bottom:1px solid var(--border);padding:10px 8px;color:var(--muted);text-align:center}table.matrix thead th.now{background:var(--brand-50);color:var(--brand-700)}.matrix .client-col{position:sticky;left:0;z-index:6;background:var(--surface);border-right:1px solid var(--border);min-width:230px;text-align:left!important;padding:10px 14px!important}.matrix thead .client-col{z-index:7;background:var(--surface-2)}.matrix tbody td{border-bottom:1px solid var(--border);border-right:1px solid #eef2f7;height:52px;text-align:center}.matrix tbody td.now-col{background:#fafcff}.matrix .client-meta .nm{font-weight:600;font-size:var(--fs-base)}.matrix .client-meta .sub{font-size:var(--fs-xs);color:var(--muted);display:flex;gap:6px;align-items:center}.matrix th .yy{font-size:var(--fs-xs);color:var(--muted-2);margin-left:2px}.assign-tbl td{vertical-align:middle}td.assign-client{cursor:pointer;position:relative}td.assign-client:hover{background:var(--brand-50);box-shadow:inset 3px 0 0 var(--brand-500)}td.assign-client:hover .cell-strong{color:var(--brand-700)}td.assign-client:after{content:"⇱";position:absolute;top:8px;right:10px;font-size:var(--fs-xs);color:var(--muted-2);opacity:0;transition:opacity .12s}td.assign-client:hover:after{opacity:1}.assign-tbl select.select{min-width:118px;padding:6px 8px;font-size:var(--fs-sm)}.fin-tbl td.num,.fin-tbl th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fin-tbl input.input{width:110px;padding:6px 8px;font-size:var(--fs-sm);text-align:right}.fin-tbl .tbl-foot td{font-weight:700;background:var(--surface-2);border-top:2px solid var(--border)}.assign-tbl td:first-child,.fin-tbl td:first-child{min-width:200px}.assign-tbl tbody tr:hover,.fin-tbl tbody tr:not(.tbl-foot):hover{background:var(--surface-2)}.fin-tbl input[type=number]::-webkit-inner-spin-button,.fin-tbl input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.content-matrix{padding:40px 48px 72px}.content-matrix .legend{margin:0 0 16px}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px;font-size:var(--fs-sm);color:var(--muted)}.legend .item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.legend .item .icon{width:14px;height:14px;flex:none}.legend .leg-label{color:var(--muted);min-width:52px}.legend.legend-tight{gap:6px 8px;margin:0 0 14px}.legend.legend-tight .item{cursor:help}.step:before,.step:after{content:"";position:absolute;top:19px;height:2px;background:var(--border-2);z-index:1}.now-with{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;border:1px solid var(--border);font-size:var(--fs-sm);font-weight:700;white-space:nowrap}.steps{margin-top:0}.stepcard{margin-bottom:10px;overflow:hidden}.stepcard summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:13px;padding:13px 16px;user-select:none}.stepcard summary::-webkit-details-marker{display:none}.stepcard summary:hover{background:var(--surface-2)}.stepnum{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:var(--fs-md);border:2px solid var(--border-2);color:var(--muted);background:#fff;flex:none}.stepnum .icon{width:16px;height:16px}.stepcard.st-data_entry .stepnum{background:var(--stage-1-bg);border-color:var(--stage-1-fg);color:var(--stage-1-fg)}.stepcard.st-senior_review .stepnum{background:var(--stage-2-bg);border-color:var(--stage-2-fg);color:var(--stage-2-fg)}.stepcard.st-manager_review .stepnum{background:var(--stage-3-bg);border-color:var(--stage-3-fg);color:var(--stage-3-fg)}.stepcard.st-partner_signoff .stepnum{background:var(--stage-4-bg);border-color:var(--stage-4-fg);color:var(--stage-4-fg)}.stepcard.waiting .stepnum{background:#fff;border-color:var(--border-2);color:var(--muted-2)}.steptitle{font-weight:800;font-size:var(--fs-md)}.steprole{color:var(--muted)}.stepmeta{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.stepmeta .stamp{font-size:var(--fs-sm);color:var(--muted);text-align:right;line-height:1.5}.stepmeta .stamp strong{color:var(--text-2);font-weight:700}.stepcard .chev{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid var(--muted-2);transition:transform .15s;flex:none;margin-left:2px}.stepcard[open] .chev{transform:rotate(90deg)}.stepbody{border-top:1px solid var(--border);padding:16px;background:var(--surface)}.stepcard.active{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100),var(--shadow)}.stepcard.waiting{opacity:.62}.stage-kv{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stage-kv .box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px}.stage-kv .k{color:var(--muted);margin-bottom:3px}.stage-kv .v{font-size:var(--fs-base);font-weight:700;color:var(--text-2)}.assign-row .assign-people{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.assign-person{display:inline-flex;align-items:center;gap:6px}@media(max-width:720px){.stepmeta .stamp{display:none}.stage-kv{grid-template-columns:1fr}}.now-with .icon{width:14px;height:14px}.kv-stack{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}.kv-stack .kv-s{display:flex;flex-direction:column;gap:4px;min-width:0}.kv-stack .kv-s .k{font-size:var(--fs-sm);font-weight:700;color:var(--muted)}.kv-stack .kv-s .v{font-size:var(--fs-md);font-weight:500;word-break:break-word}.kv-stack .kv-s .v.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--fs-sm)}@media(max-width:720px){.kv-stack{grid-template-columns:1fr;gap:12px}}.doc-row2 .mini-date{width:144px;padding:5px 8px;font-size:var(--fs-sm)}@media(max-width:720px){.doc-row2 .mini-date{width:100%}}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{display:flex;flex-direction:column;gap:7px}.field label,.field .lbl-t{font-size:var(--fs-base);font-weight:600;color:var(--text-2)}.field .check-line{flex-direction:row;align-items:center}.field .hint{font-size:var(--fs-sm);color:var(--muted)}.input,.select,.textarea{width:100%;padding:11px 14px;border:1px solid var(--border-2);border-radius:var(--radius-sm);font-size:var(--fs-md);font-family:inherit;color:var(--text);background:var(--surface);outline:none;transition:border .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand-500);box-shadow:var(--ring)}.textarea{resize:vertical;min-height:80px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.phone-row{display:flex;gap:8px}.phone-row .phone-code{width:64px;flex:none;text-align:center}.phone-row .phone-no{flex:1;min-width:0}.phone-row .phone-ext{width:72px;flex:none}.linkbtn{border:none;background:none;color:var(--brand-600);font-weight:600;font-size:var(--fs-sm);cursor:pointer;padding:0 4px}.linkbtn:hover{text-decoration:underline}.fee-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.fee-row .fee-fy{width:90px;flex:none}.fee-row .fee-amt{width:130px;flex:none}.fee-row .fee-notes{flex:1;min-width:0}.bar-row{display:flex;align-items:center;gap:12px;padding:5px 0}.bar-row .bar-label{width:200px;flex:none;font-size:var(--fs-base);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-row .bar-track{flex:1;height:14px;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar-row .bar-fill{height:100%;background:var(--amber-600);border-radius:999px}.bar-row .bar-val{width:110px;flex:none;text-align:right;font-variant-numeric:tabular-nums;font-size:var(--fs-base)}.bars{width:100%;display:flex;flex-direction:column;gap:2px}.bars .bar-row{min-width:0;width:100%}.bars .bar-label{width:190px;min-width:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bars .bar-track{min-width:40px}.bars .bar-val{width:130px;color:var(--muted);white-space:nowrap}.bars.brand .bar-fill{background:var(--brand-600)}.stats-tabs{display:inline-flex;flex-wrap:wrap}.ac-wrap{position:relative}.ac-menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-sm);box-shadow:var(--shadow-over);overflow:hidden;max-height:240px;overflow-y:auto}.ac-menu.open{display:block}.ac-item{padding:9px 12px;font-size:var(--fs-base);cursor:pointer;border-bottom:1px solid var(--border)}.ac-item:last-child{border-bottom:none}.ac-item:hover{background:var(--brand-50, #eef2ff);color:var(--brand-700)}.ac-item .muted{color:var(--muted)}.cost-company-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:2px 0 16px}.cost-company-head h2{font-size:var(--fs-xl);font-weight:800;letter-spacing:-.01em;margin:0}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.chip{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:999px;padding:4px 10px;font-size:var(--fs-sm);font-weight:600;white-space:nowrap}.chip .muted{font-weight:500}.chip-x{background:none;border:none;color:var(--muted);cursor:pointer;display:inline-flex;padding:0;margin-left:2px}.chip-x:hover{color:var(--red-600)}.chip-x .icon{width:12px;height:12px}.assign-tbl .collab-add{min-width:150px}.assign-tbl .role-stack{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:150px}.assign-tbl .role-stack>.select{width:100%}.assign-tbl .role-stack>.chip{align-self:flex-start}.assign-tbl .owner-line{display:flex;align-items:center;gap:6px;justify-content:space-between}.assign-tbl .assign-hist{font-size:var(--fs-xs);color:var(--muted-2);margin:1px 0 2px}.assign-tbl .notes-col{min-width:200px;max-width:280px;vertical-align:top}.assign-note{font-size:var(--fs-sm);color:var(--text-2);line-height:1.5;white-space:normal}.assign-note.muted{color:var(--muted-2)}.assign-note .an-when{font-weight:700;color:var(--muted)}.assign-note .an-role{font-weight:700;color:var(--brand-700)}.assign-note .ev-add{color:var(--green-700);font-weight:700}.assign-note .ev-rm{color:var(--red-700);font-weight:700}.avatar-row .small.strong{font-weight:700;color:var(--text)}.chip-person{background:none;border:none;border-radius:0;padding:2px 0;gap:4px;font-weight:400}.chip-person .avatar-row{gap:6px}.date-wrap{display:inline-flex;align-items:center;gap:6px}.btn-today{border:1px solid var(--border-2);background:var(--surface-2);color:var(--brand-700);font-size:var(--fs-xs);font-weight:700;padding:5px 9px;border-radius:var(--radius-xs);cursor:pointer;white-space:nowrap}.btn-today:hover{background:var(--brand-50, #eef2ff);border-color:var(--brand-300, #a5b4fc)}.ye-chip{font-size:var(--fs-xs);padding:1px 6px;margin-left:6px;vertical-align:middle}.role-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}.role-col{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.role-col-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.role-col-head .rc-role{opacity:.85}.role-col-head .rc-stage{font-size:var(--fs-base);font-weight:700}.role-col-head .rc-count{background:#ffffffa6;border-radius:999px;padding:2px 10px;font-size:var(--fs-base);font-weight:800}.role-col-body{padding:10px;display:flex;flex-direction:column;gap:9px}.role-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--brand-500);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;box-shadow:var(--shadow);transition:box-shadow .08s,border-color .08s}.role-card:hover{border-color:var(--brand-400);box-shadow:var(--shadow)}.role-card.onhold{border-left-color:var(--amber-600)}.role-card.reverted{border-left-color:var(--red-600)}.role-card .rc-client{font-weight:700;font-size:var(--fs-base)}.role-card .rc-foot{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}@media(max-width:1100px){.role-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.role-board{grid-template-columns:1fr}}.alloc-tbl td{vertical-align:middle}.alloc-tbl td:first-child{min-width:96px}.alloc-tbl .alloc-amt{width:104px;text-align:right}.alloc-tbl th.alloc-person{white-space:nowrap}.alloc-tbl th.alloc-person .ap-role{display:block;color:var(--muted)}.alloc-tbl .alloc-pct{width:62px;text-align:right}.alloc-tbl .pct-sign{color:var(--muted-2);font-size:var(--fs-xs);margin-left:2px}.alloc-tbl .alloc-pctview{font-weight:600;font-variant-numeric:tabular-nums}.alloc-tbl .chip-person{margin-right:4px}.team-chips{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.alloc-line .pct-sign{color:var(--muted);font-size:var(--fs-sm)}.alloc-sum{font-weight:700;font-variant-numeric:tabular-nums}.alloc-sum.ok{color:var(--green-700)}.alloc-sum.warn{color:var(--amber-700)}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px;gap:4px}.seg button{border:none;background:none;padding:8px 14px;border-radius:var(--radius-xs);font-size:var(--fs-base);font-weight:600;color:var(--muted);cursor:pointer}.seg button.on{background:var(--surface);color:var(--brand-700);box-shadow:var(--shadow)}.overlay{position:fixed;inset:0;background:#0f172a80;backdrop-filter:blur(3px);display:grid;place-items:center;z-index:100;padding:24px;animation:fade .15s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-over);width:100%;max-width:760px;max-height:90vh;display:flex;flex-direction:column;animation:pop .16s ease}.modal.narrow{max-width:460px}.modal.wide{max-width:920px}@keyframes pop{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}.modal-head{display:flex;align-items:flex-start;gap:12px;padding:22px 26px;border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-head .titles h2{font-size:var(--fs-xl)}.modal-head .titles .sub{font-size:var(--fs-base);color:var(--muted);margin-top:3px}.modal-head .x{margin-left:auto;cursor:pointer;color:var(--muted);border:none;background:none;border-radius:var(--radius-sm);display:inline-grid;place-items:center;width:32px;height:32px;flex:none;padding:0}.modal-head .x .icon{width:18px;height:18px}.modal-head .x:hover{background:var(--surface-2);color:var(--text)}.modal-body{padding:24px 26px;overflow-y:auto}.modal-foot{padding:16px 26px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.sec-title{color:var(--muted);margin:20px 0 11px}.sec-title:first-child{margin-top:0}.doc-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;background:var(--surface)}.doc-row.received{border-color:#bbf7d0;background:#f0fdf4}.doc-check{width:20px;height:20px;border-radius:var(--radius-xs);border:2px solid var(--border-2);display:grid;place-items:center;cursor:pointer;flex:none;color:transparent}.doc-row.received .doc-check{background:var(--green-600);border-color:var(--green-600);color:#fff}.doc-row .doc-name{font-weight:600;font-size:var(--fs-base);min-width:150px}.doc-row .doc-controls{margin-left:auto;display:flex;align-items:center;gap:8px}.doc-row .input-sm{padding:5px 9px;font-size:var(--fs-sm);width:150px;border:1px solid var(--border-2);border-radius:var(--radius-xs);outline:none}.doc-row .input-sm:focus{border-color:var(--brand-500);box-shadow:var(--ring)}.doc-row .chk{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-sm);font-weight:600;color:var(--muted);cursor:pointer}.doc-row .chk input{width:15px;height:15px;accent-color:var(--brand-600);cursor:pointer}.doc-row2{display:grid;grid-template-columns:minmax(150px,1.4fr) 1fr 1fr;align-items:center;gap:10px 16px;padding:11px 14px;border:1px solid var(--border);border-left:3px solid var(--border-2);border-radius:var(--radius-sm);margin-bottom:8px;background:var(--surface)}.doc-row2.received{border-left-color:var(--brand-500);background:var(--brand-50)}.doc-row2.entered{border-left-color:var(--green-600);background:#f0fdf4}.doc-row2 .doc-name{display:flex;align-items:center;gap:6px;font-weight:700;font-size:var(--fs-base)}.doc-row2 .doc-step{display:flex;flex-direction:column;gap:5px}.doc-row2 .step-lbl{color:var(--muted)}.doc-row2 .doc-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.doc-row2 .chk{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-sm);font-weight:600;color:var(--muted);cursor:pointer}.doc-row2 .chk input{width:15px;height:15px;accent-color:var(--brand-600);cursor:pointer}.doc-row2 .chk-enter{color:var(--green-700, #15803d)}.doc-row2 .chk-enter input{accent-color:var(--green-600)}.doc-del{background:none;border:none;color:var(--muted);cursor:pointer;padding:2px;border-radius:var(--radius-xs);display:inline-flex}.doc-del:hover{color:var(--red-600);background:var(--surface-2)}.doc-del .icon{width:13px;height:13px}.doc-add{display:flex;gap:8px;align-items:center;margin:6px 0 4px}.doc-add .input{flex:1;min-width:0}@media(max-width:720px){.doc-row2{grid-template-columns:1fr;gap:8px}}.query{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:10px}.query.open{border-left:3px solid var(--amber-600)}.query.closed{border-left:3px solid var(--green-600);opacity:.85}.query .q-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.query .q-text{font-size:var(--fs-base);color:var(--text)}.query .q-meta{font-size:var(--fs-xs);color:var(--muted);margin-top:6px}.timeline{position:relative;padding-left:22px}.timeline:before{content:"";position:absolute;left:6px;top:4px;bottom:4px;width:2px;background:var(--border)}.tl-item{position:relative;padding:6px 0 12px}.tl-item:before{content:"";position:absolute;left:-20px;top:8px;width:10px;height:10px;border-radius:50%;background:var(--brand-500);border:2px solid var(--surface)}.tl-item .tl-action{font-size:var(--fs-base)}.tl-item .tl-meta{font-size:var(--fs-xs);color:var(--muted)}.org{display:flex;flex-direction:column;gap:18px;padding:8px 0 4px}.org-band{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px 14px 14px}.org-band .band-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.org-band .tier-tag{color:var(--muted)}.org-band .count{font-size:var(--fs-xs);color:var(--muted-2)}.org-level{display:flex;gap:12px;flex-wrap:wrap}.org-node{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px;min-width:168px;text-align:center}.org-node .avatar{margin:0 auto 8px}.org-node .nm{font-weight:600;font-size:var(--fs-base)}.org-node .sub{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.org-node.inactive{opacity:.5}.org-vacant{font-size:var(--fs-xs);color:var(--muted-2);border:1px dashed var(--border-2);border-radius:var(--radius-sm);padding:10px 16px}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth-brand{background:linear-gradient(150deg,var(--navy-900),var(--navy-700) 60%,var(--brand-700));color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-brand:after{content:"";position:absolute;right:-120px;bottom:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(96,165,250,.4),transparent 70%)}.auth-brand .logo-lg{width:54px;height:54px;border-radius:var(--radius);background:linear-gradient(135deg,var(--brand-500),var(--sky-500));display:grid;place-items:center;font-size:var(--fs-2xl);font-weight:700;box-shadow:0 10px 28px #2563eb80}.auth-brand h1{color:#fff;font-size:var(--fs-2xl);line-height:1.15;margin-top:26px;letter-spacing:-.02em}.auth-brand p{color:#b9cce6;font-size:var(--fs-md);max-width:420px;margin-top:14px}.auth-features{display:flex;flex-direction:column;gap:14px;margin-top:30px}.auth-features .f{display:flex;gap:12px;align-items:center;color:#d6e2f2;font-size:var(--fs-md)}.auth-features .f .ic{width:34px;height:34px;border-radius:var(--radius-sm);background:#ffffff1a;display:grid;place-items:center;flex:none}.auth-foot{color:#8aa3c4;font-size:var(--fs-sm);position:relative;z-index:2}.auth-panel{display:grid;place-items:center;padding:40px;background:var(--surface)}.auth-card{width:100%;max-width:380px}.auth-card h2{font-size:var(--fs-xl)}.auth-card .lead{color:var(--muted);margin:6px 0 24px;font-size:var(--fs-md)}.profile-list{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto;padding-right:4px}.profile-opt{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);transition:background .12s,border-color .12s;text-align:left;width:100%}.profile-opt:hover{border-color:var(--brand-400);background:var(--brand-50)}.profile-opt .meta{flex:1}.profile-opt .nm{font-weight:600;font-size:var(--fs-base)}.profile-opt .rl{font-size:var(--fs-xs);color:var(--muted);display:flex;gap:6px;align-items:center}.profile-opt .icon{color:var(--muted-2)}.auth-actions{display:flex;flex-direction:column;gap:9px;margin-top:4px}.auth-actions .btn{width:100%;justify-content:center}.auth-sep{display:flex;align-items:center;gap:10px;margin:16px 0;color:var(--muted-2);font-size:var(--fs-sm)}.auth-sep:before,.auth-sep:after{content:"";flex:1;height:1px;background:var(--border)}.auth-ms{width:100%;justify-content:center;gap:9px}.auth-msg{margin-top:14px;padding:10px 12px;border-radius:var(--radius-sm);font-size:var(--fs-base);font-weight:600}.auth-msg.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.auth-msg.info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}@media(max-width:920px){.auth-wrap{grid-template-columns:1fr}.auth-brand{display:none}}.empty-state{text-align:center;padding:48px 20px;color:var(--muted)}.empty-state .icon{width:44px;height:44px;color:var(--border-2);margin-bottom:12px}.pill-filter{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface);font-size:var(--fs-base);font-weight:600;color:var(--text-2);cursor:pointer;box-shadow:var(--shadow);transition:background .12s,border-color .12s}.pill-filter:hover{border-color:var(--muted-2)}.pill-filter.on{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.two-col{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media(max-width:1100px){.two-col,.dash-grid{grid-template-columns:1fr}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-260px;width:260px;z-index:50;transition:left .2s}.sidebar.open{left:0}.field-row{grid-template-columns:1fr}}.menu-toggle{display:none}@media(max-width:860px){.menu-toggle{display:inline-grid}.nav-toggle{display:none}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media(max-width:1100px){.grid-2{grid-template-columns:1fr}}.kv-grid{display:flex;flex-direction:column}.kv{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border);font-size:var(--fs-md)}.kv:last-child{border-bottom:none}.kv .k{color:var(--muted);white-space:nowrap}.kv .v{font-weight:500;text-align:right;word-break:break-word}.kv .v.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--fs-sm)}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.check-line{display:flex;align-items:center;gap:9px;font-size:var(--fs-md);font-weight:500;color:var(--text-2);padding:7px 0;cursor:pointer}.check-line input{width:17px;height:17px;accent-color:var(--brand-600)}.form-section{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:14px;background:var(--surface-2)}.form-section>.fs-title{color:var(--muted);margin-bottom:12px}.archived-banner{background:var(--amber-100);border:1px solid #fde68a;color:#b45309;padding:10px 14px;border-radius:var(--radius-sm);font-size:var(--fs-base);margin-bottom:14px;display:flex;align-items:center;gap:8px}.gridwrap{overflow-x:auto;padding:0 8px}.cg-grid{border-collapse:separate;border-spacing:0;min-width:900px;width:100%;font-variant-numeric:tabular-nums}.cg-grid th,.cg-grid td{border-bottom:1px solid var(--border)}.cg-grid thead th{position:sticky;top:0;background:var(--surface);z-index:2}.cg-rowlab{position:sticky;left:0;background:var(--surface);z-index:1;text-align:left;padding:7px 12px 7px 8px;min-width:200px;max-width:240px;border-right:1px solid var(--border)}.cg-grid thead .cg-rowlab{z-index:3}.cg-mth{text-align:center;font-size:var(--fs-sm);color:var(--muted);font-weight:600;padding:8px 2px 6px;min-width:52px}.cg-mth .yy{color:var(--muted-2, var(--muted));font-weight:500}.cg-mth.cg-nowh{color:var(--brand-700)}.cg-nowtag{display:block;color:var(--brand-600)}.cg-c.cg-now,.cg-txt.cg-now{background:var(--brand-50, #eef2ff)}.cg-grp td{background:var(--surface-2);border-bottom:1px solid var(--border)}.cg-grp .cg-rowlab{background:var(--surface-2);color:var(--muted);padding:5px 8px}.cg-lab{display:flex;align-items:center;gap:8px;font-size:var(--fs-base)}.cg-docic{width:8px;height:8px;border-radius:2px;background:var(--border-2);flex:none}.cg-chip{padding:2px 7px;border-radius:var(--radius-xs);border:1px solid transparent;flex:none}.cg-chip.cg-entry,.cg-chip.cg-check,.cg-chip.cg-review,.cg-chip.cg-final{background:var(--surface);color:var(--chip-ink);border-color:var(--chip-bd)}.cg-c{text-align:center;height:42px;padding:2px 0}.cg-tick{display:inline-flex;flex-direction:column;align-items:center;line-height:1.05}.cg-date{font-size:var(--fs-xs);color:var(--muted);margin-top:1px}.cg-tk{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-sm);font-weight:800;position:relative;user-select:none}.cg-tk.cg-done{background:var(--stage-done-bg);color:var(--stage-done-fg)}.cg-tk.cg-done[data-action]{cursor:pointer}.cg-tk .cg-sh{position:absolute;right:-8px;top:-4px;font-size:var(--fs-sup);font-weight:800;color:var(--muted)}.cg-tk.cg-wip{background:var(--stage-2-bg);color:var(--stage-2-fg);cursor:pointer}.cg-tk.cg-open{border:1.5px dashed var(--border-2);cursor:pointer}.cg-tk.cg-open:hover{border-color:var(--brand-600);background:var(--brand-50, #eef2ff)}.cg-tk.cg-miss{border:1.5px solid #f0c383;background:#fdf3e3;color:#b45309;font-size:var(--fs-xs);cursor:pointer}.cg-tk.cg-na{color:var(--border-2);font-weight:500}.cg-tk.cg-rev{background:#fdecec;color:#b91c1c;border:1.5px solid #f3b4b4;cursor:pointer}.cg-c.cg-holdcol{background:repeating-linear-gradient(-45deg,transparent 0 6px,rgba(100,116,139,.06) 6px 12px)}.cg-txt{font-size:var(--fs-xs);color:var(--muted);text-align:center;padding:6px 3px;max-width:64px}.cg-loc{display:inline-block;background:var(--surface-2);border-radius:var(--radius-xs);padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58px;cursor:pointer}.cg-loc:hover{outline:1px solid var(--brand-600)}.cg-q{display:inline-block;font-size:var(--fs-xs);font-weight:700;border-radius:999px;padding:2px 6px;background:#fdf3e3;color:#b45309;cursor:pointer;white-space:nowrap}.cg-q.cg-qc{background:var(--surface-2);color:var(--muted)}.cg-addrow td{border-bottom:0}.cg-add{color:var(--brand-600);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.cg-link{cursor:pointer}.cg-link:hover{color:var(--brand-600);text-decoration:underline}.cg-below{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.team-line{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid var(--border);font-size:var(--fs-base)}.team-line:last-child{border-bottom:0}.cg-rolecol{width:80px;color:var(--muted);font-size:var(--fs-xs);font-weight:600;flex:none}.cg-editing{outline:2px solid var(--brand-300, #a5b4fc);outline-offset:-2px}.cg-edithint{font-size:var(--fs-sm);color:var(--brand-700);background:var(--brand-50, #eef2ff);padding:8px 16px;border-bottom:1px solid var(--border)}.cg-editc{text-align:center;padding:2px 0}.cg-sh-set{display:inline-flex;gap:3px}.cg-shb{width:20px;height:20px;border-radius:var(--radius-xs);border:1.5px solid var(--border-2);background:var(--surface);color:var(--muted);font-size:var(--fs-xs);font-weight:800;cursor:pointer;padding:0;line-height:1}.cg-shb:hover{border-color:var(--brand-600)}.cg-shb.on{background:var(--green-700);border-color:var(--green-700);color:#fff}.cg-entrybox{width:22px;height:22px;border-radius:50%;border:1.5px dashed var(--border-2);background:var(--surface);color:var(--green-700);font-size:var(--fs-sm);font-weight:800;cursor:pointer;padding:0;line-height:1}.cg-entrybox:hover{border-color:var(--brand-600)}.cg-entrybox.on{background:var(--stage-done-bg);border-style:solid;border-color:var(--stage-done-fg)}.cg-tk.cg-await{border:1.5px dashed var(--border);color:transparent;opacity:.5}.cg-locked{opacity:.42}.cg-locked .cg-rowlab{color:var(--muted)}.cg-stagebtn{cursor:pointer;border:1.5px dashed var(--border-2)}.cg-stagebtn.cg-open{color:transparent}.cg-stagebtn.cg-wip{border-style:solid}.cg-stagebtn:hover{border-color:var(--brand-600)}.cg-legdim{opacity:.55;font-style:italic}.cg-chip.cg-ops{background:var(--surface);color:var(--chip-ink);border-color:var(--chip-bd)}.prog-chip{font-size:var(--fs-sm);font-weight:700;color:var(--brand-700);background:var(--brand-50, #eef2ff);padding:3px 10px;border-radius:999px}.ye-list{display:flex;flex-direction:column}.ye-row{display:grid;grid-template-columns:26px 1fr auto;gap:12px;align-items:center;padding:11px 18px;border-bottom:1px solid var(--surface-2)}.ye-row:last-of-type{border-bottom:0}.ye-row.done{background:#f0fdf4}.ye-tick{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:var(--fs-base);padding:0}.ye-tick.on{background:var(--stage-done-bg);color:var(--stage-done-fg);border:0}.ye-tick.off{border:1.5px dashed var(--brand-line, #c9cdf7);color:transparent;cursor:pointer;background:var(--surface)}.ye-tick.off:hover{border-color:var(--brand-600);background:var(--brand-50, #eef2ff)}.ye-tick.locked{border:1.5px dashed var(--border);color:transparent;opacity:.5}button.ye-tick.on{cursor:pointer}.ye-main .nm{font-weight:600}.ye-meta{font-size:var(--fs-xs);margin-top:1px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ye-right{text-align:right;font-size:var(--fs-xs);color:var(--muted);min-width:118px}.ye-who{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text)}.note-line{font-size:var(--fs-sm);color:var(--muted);padding:12px 18px;border-top:1px solid var(--surface-2)}.actbtn{width:22px;height:22px;border-radius:var(--radius-xs);border:1.5px solid var(--brand-line, #c9cdf7);background:var(--surface);color:var(--brand-600);cursor:pointer;font-weight:800;font-size:var(--fs-sm)}.actbtn:hover{background:var(--brand-50, #eef2ff)}.notif-arch td{opacity:.62}details.arch-wrap{border-top:1px solid var(--border)}details.arch-wrap>summary{list-style:none;cursor:pointer;padding:10px 18px;font-size:var(--fs-sm);font-weight:600;color:var(--muted);display:flex;gap:8px;align-items:center}details.arch-wrap>summary::-webkit-details-marker{display:none}details.arch-wrap .caret{transition:transform .15s;display:inline-block}details.arch-wrap[open] .caret{transform:rotate(90deg)}.matrix.board td,.matrix.board th{white-space:nowrap}.matrix.board tbody td{height:40px}.matrix.board tbody tr:nth-child(2n) td{background:var(--surface-2)}.matrix.board tbody tr:nth-child(2n) td.c-reg,.matrix.board tbody tr:nth-child(2n) .client-col{background:var(--surface-2)}.matrix.board tbody tr:nth-child(2n) td.c-grp{background:var(--surface-2)}.matrix.board tbody tr:hover td{background:var(--brand-50)}.matrix.board .yr-none{min-width:30px}.matrix.board .client-col .nm{display:flex;align-items:center;gap:7px}.matrix.board td.lft,.matrix.board th.lft{text-align:left;padding-left:12px;padding-right:12px}.matrix.board td.lft .mono{font-size:var(--fs-sm);color:var(--text-2)}.matrix.board .client-col{width:420px;min-width:420px;max-width:420px}.matrix.board .client-col .nm-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix.board td.c-reg,.matrix.board th.c-reg,.matrix.board td.c-grp,.matrix.board th.c-grp{position:sticky;z-index:6;background:var(--surface);border-right:1px solid var(--border)}.matrix.board td.c-reg,.matrix.board th.c-reg{left:420px;width:132px;min-width:132px}.matrix.board td.c-grp,.matrix.board th.c-grp{left:552px;width:140px;min-width:140px}.matrix.board thead th.c-reg,.matrix.board thead th.c-grp{z-index:7;background:var(--surface-2)}@media(max-width:1100px){.matrix.board td.c-reg,.matrix.board th.c-reg,.matrix.board td.c-grp,.matrix.board th.c-grp{position:static}}.yr-cell{display:inline-block;min-width:60px;text-align:center;padding:2px 7px;border-radius:var(--radius-xs);font-size:var(--fs-xs);font-weight:700;letter-spacing:.01em;cursor:pointer;border:1px solid transparent;user-select:none}.yr-cell:hover{outline:2px solid var(--brand-600);outline-offset:1px}.yr-done{background:var(--stage-done-bg);color:var(--stage-done-fg);border-color:var(--stage-done-bd)}.yr-process{background:var(--stage-2-bg);color:var(--stage-2-fg);border-color:var(--stage-2-bd)}.yr-awaiting{background:var(--surface);color:var(--text-2);border-color:var(--border-2);border-style:dashed}.yr-hold{background:var(--chip-bg);color:var(--chip-ink);border-color:var(--chip-bd)}.yr-none{background:transparent;color:var(--muted-ink);font-weight:500;min-width:40px}.yr-custom{background:var(--surface);color:var(--text-2);border-color:var(--chip-bd);font-style:italic}.yr-lbl-done{background:var(--stage-done-bg);color:var(--stage-done-fg);border-color:var(--stage-done-bd);font-style:normal;font-weight:600}.yr-lbl-process{background:var(--stage-2-bg);color:var(--stage-2-fg);border-color:var(--stage-2-bd);font-style:normal;font-weight:600}.yr-lbl-client{background:var(--surface-2);color:var(--muted-ink);border-color:var(--border-2)}.yr-cell.yr-inert{cursor:default;opacity:.55}.yr-cell.yr-inert:hover{background:var(--surface-2)}.yr-cell.yr-inert.yr-editing{cursor:pointer;opacity:1}.yr-lbl-kiv{background:var(--amber-100);color:var(--amber-700);border-color:var(--amber-600);font-style:normal;font-weight:600}.yr-lbl-stop{background:var(--red-100);color:var(--red-700);border-color:var(--red-600);font-style:normal;font-weight:600}.yr-editing{box-shadow:inset 0 0 0 1px var(--brand-line, #c9cdf7)}.legend .yr-cell{cursor:default;min-width:0}.legend .yr-cell:hover{outline:none}th.sortable{cursor:pointer;user-select:none}th.sortable:hover{color:var(--brand-700)}.sort-ind{font-size:var(--fs-xs);color:var(--brand-600);margin-left:2px}#toast-root{position:fixed;left:0;right:0;bottom:24px;z-index:200;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{max-width:min(560px,calc(100vw - 48px));background:var(--navy-800);color:#fff;padding:11px 18px;border-radius:var(--radius-sm);box-shadow:var(--shadow-over);font-size:var(--fs-base);font-weight:600;line-height:1.45;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}.toast.in{opacity:1;transform:none}.toast-error{background:var(--red-700)}.toast{display:flex;align-items:flex-start;gap:12px;pointer-events:auto}.toast-msg{flex:1}.toast-x{flex:none;background:none;border:0;color:inherit;opacity:.7;cursor:pointer;font-size:18px;line-height:1;padding:0 2px}.toast-x:hover{opacity:1}.boot-screen{position:fixed;inset:0;display:grid;place-content:center;justify-items:center;gap:18px;background:var(--bg, #f6f7fb)}.boot-screen .boot-mark{width:54px;height:54px;border-radius:var(--radius);background:var(--brand-600, #4f46e5);color:#fff;display:grid;place-items:center;font-weight:800;font-size:var(--fs-xl);letter-spacing:.02em}.boot-screen .boot-bar{width:180px;height:4px;border-radius:999px;background:var(--border-2, #dde1ea);overflow:hidden}.boot-screen .boot-bar span{display:block;width:40%;height:100%;border-radius:999px;background:var(--brand-600, #4f46e5);animation:boot-slide 1.1s ease-in-out infinite}@keyframes boot-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.boot-screen .boot-msg{font-size:var(--fs-base);color:var(--muted, #6b7280)}@media(prefers-reduced-motion:reduce){.boot-screen .boot-bar span{animation:none;width:100%}}.u-hidden{display:none!important}.u-flex1{flex:1!important}.u-flex2-220{flex:2!important;min-width:220px!important}.u-w-auto{width:auto!important}.u-w36{width:36px!important}.u-num90{width:90px!important;text-align:right!important}.u-mw380{max-width:380px!important}.u-mw420{max-width:420px!important}.u-ic16{width:16px!important;height:16px!important}.u-ic18{width:18px!important;height:18px!important}.u-p14{padding:14px!important}.u-p16{padding:16px!important}.u-p18{padding:18px!important}.u-p20{padding:20px!important}.u-p8-14{padding:8px 14px!important}.u-p8-0{padding:8px 0!important}.u-pt3{padding-top:3px!important}.u-mt4{margin-top:4px!important}.u-mt12{margin-top:12px!important}.u-mt16{margin-top:16px!important}.u-mt12-mb0{margin-top:12px!important;margin-bottom:0!important}.u-mb0{margin-bottom:0!important}.u-mb10{margin-bottom:10px!important}.u-ml8{margin-left:8px!important}.u-mr10{margin-right:10px!important}.u-m2-0-10{margin:2px 0 10px!important}.u-m-6-0-12{margin:-6px 0 12px!important}.u-gap8{gap:8px!important}.u-wrap-gap6{flex-wrap:wrap!important;gap:6px!important}.u-row-gap10{display:flex!important;align-items:center!important;gap:10px!important}.u-center-gap10{align-items:center!important;gap:10px!important}.u-row-gap8-mt12{gap:8px!important;align-items:center!important;margin-top:12px!important}.u-row-gap8-mt14{gap:8px!important;align-items:center!important;margin-top:14px!important}.u-top-gap12{align-items:flex-start!important;gap:12px!important}.u-top-gap14{align-items:flex-start!important;gap:14px!important}.u-end-gap10{align-items:flex-end!important;gap:10px!important}.u-end-gap10-wrap{align-items:flex-end!important;gap:10px!important;flex-wrap:wrap!important}.u-listrow{padding:8px 0!important;border-bottom:1px solid var(--border)!important}.u-listrow7{padding:7px 0!important;border-bottom:1px solid var(--border)!important}.u-listrow7-top{padding:7px 0!important;border-bottom:1px solid var(--border)!important;align-items:flex-start!important}.u-listrow6{padding:6px 0!important;border-bottom:1px solid var(--border)!important}.u-foot-row{padding:10px 16px 14px!important;border-top:1px solid var(--border)!important}.u-fs14{font-size:14px!important}.u-fs20{font-size:20px!important}.u-fw600{font-weight:600!important}.u-fw500-15{font-weight:500!important;font-size:15px!important}.u-nowrap{white-space:nowrap!important}.u-right-nowrap{text-align:right!important;white-space:nowrap!important}.u-green-mt6{color:var(--green-600)!important;margin-top:6px!important}.u-bg-slate{background:#cbd5e1!important}.u-dim{opacity:.55!important}.u-pointer{cursor:pointer!important}.u-cursor-default{cursor:default!important}.avatar.av-0{background:#106453}.avatar.av-1{background:#116267}.avatar.av-2{background:#155f7e}.avatar.av-3{background:#1a58a3}.avatar.av-4{background:#2347d8}.avatar.av-5{background:#4f4ab4}.avatar.av-6{background:#643bc4}.avatar.av-7{background:#8120c7}
