@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_ab08b109-module__SBr1Ba__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_ab08b109-module__SBr1Ba__variable{--font-body:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_5fb9a3f6-module__xvID5a__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_5fb9a3f6-module__xvID5a__variable{--font-heading:"Space Grotesk", "Space Grotesk Fallback"}
:root{--background:#f5f7fb;--background-deep:#e7ecf4;--surface:#fff;--surface-strong:#fff;--surface-muted:#f8fafc;--surface-sidebar:#111827;--foreground:#111827;--muted:#64748b;--line:#d8e0ea;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#e8f0ff;--success:#047857;--danger:#b42318;--warning:#b45309;--shadow:0 18px 48px #0f172a1a;--shadow-soft:0 8px 22px #0f172a12}html{height:100%}html,body{max-width:100vw;overflow-x:clip}body{min-height:100%;color:var(--foreground);background:linear-gradient(180deg, #e8f0ffe6 0%, #f5f7fb00 240px), var(--background);font-family:var(--font-body), sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}h1,h2,h3,h4{font-family:var(--font-heading), sans-serif;letter-spacing:-.04em}body:before,body:after{content:none}.app-shell{grid-template-columns:300px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.app-shell--sidebar-collapsed{grid-template-columns:86px minmax(0,1fr)}.sidebar{color:#f8fafc;background:linear-gradient(#111827 0%,#172033 58%,#0f172a 100%);border-right:1px solid #94a3b82e;flex-direction:column;gap:22px;height:100vh;padding:24px;display:flex;position:sticky;top:0}.sidebar__top{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.sidebar__brand{align-items:center;gap:14px;min-width:0;display:flex}.sidebar__brand-mark{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:40px;height:40px;display:grid}.sidebar__brand-mark span{background:linear-gradient(#93c5fd 0%,#2563eb 100%);border-radius:10px;box-shadow:inset 0 1px #ffffff59}.sidebar__brand-mark span:last-child{background:linear-gradient(#5eead4 0%,#0f766e 100%);transform:translateY(8px)}.sidebar__brand p{white-space:nowrap;font-size:1.1rem;font-weight:700}.sidebar__brand span{color:#e2e8f0b3;white-space:nowrap;margin-top:4px;font-size:.9rem;display:block}.sidebar__toggle{color:#f8fafcb3;cursor:pointer;background:#ffffff0a;border:1px solid #e2e8f01f;border-radius:7px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:.95rem;font-weight:800;display:inline-flex;position:relative}.sidebar__toggle:hover{color:#f8fafce6;background:#ffffff14;border-color:#93c5fd33}.sidebar__toggle:before,.sidebar__toggle:after{content:"";background:currentColor;border-radius:999px;width:9px;height:1.5px;transition:transform .18s;position:absolute;left:9px}.sidebar__toggle:before{transform:translateY(-3px)rotate(-35deg)}.sidebar__toggle:after{transform:translateY(3px)rotate(35deg)}.app-shell--sidebar-collapsed .sidebar__toggle:before{transform:translateY(-3px)rotate(35deg)}.app-shell--sidebar-collapsed .sidebar__toggle:after{transform:translateY(3px)rotate(-35deg)}.sidebar__intro{color:#e2e8f0d1;background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;padding:16px 18px;font-size:.92rem;line-height:1.6}.sidebar__nav{align-content:start;gap:10px;display:grid}.sidebar__link{color:#e2e8f0c7;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;font-size:.96rem;font-weight:500;transition:transform .18s,background-color .18s,color .18s,border-color .18s;display:flex;position:relative}.sidebar__link-icon{background:#ffffff14;border-radius:8px;place-items:center;width:28px;min-width:28px;height:32px;display:grid}.sidebar__link-icon svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.sidebar__link:hover,.sidebar__link--active{color:#fff;background:#2563eb2e;border-color:#93c5fd3d;transform:translate(3px)}.sidebar__link--active:before{content:"";background:linear-gradient(#60a5fa 0%,#14b8a6 100%);border-radius:999px;width:3px;position:absolute;inset:12px auto 12px -6px}.app-shell--sidebar-collapsed .sidebar{align-items:stretch;gap:22px;padding:24px 14px}.app-shell--sidebar-collapsed .sidebar__top{flex-direction:row;justify-content:center;gap:0;position:relative}.app-shell--sidebar-collapsed .sidebar__toggle{background:#172033d1;border:1px solid #94a3b82e;border-left:0;border-radius:0 999px 999px 0;width:22px;height:38px;margin-left:0;margin-right:-36px;position:absolute;top:50%;right:0;transform:translateY(-50%);box-shadow:6px 8px 16px #0f172a1a}.app-shell--sidebar-collapsed .sidebar__toggle:hover{background:#1d2a42eb}.app-shell--sidebar-collapsed .sidebar__toggle:before,.app-shell--sidebar-collapsed .sidebar__toggle:after{width:8px;left:6px}.app-shell--sidebar-collapsed .sidebar__brand{justify-content:center}.app-shell--sidebar-collapsed .sidebar__brand-copy{display:none}.app-shell--sidebar-collapsed .sidebar__brand-mark{gap:5px;width:34px;height:34px}.app-shell--sidebar-collapsed .sidebar__brand-mark span{border-radius:8px}.app-shell--sidebar-collapsed .sidebar__nav{width:100%}.app-shell--sidebar-collapsed .sidebar__link{justify-content:center;padding:8px}.app-shell--sidebar-collapsed .sidebar__link:hover,.app-shell--sidebar-collapsed .sidebar__link--active{transform:none}.app-shell--sidebar-collapsed .sidebar__link-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell--sidebar-collapsed .sidebar__link--active:before{inset:8px auto 8px -5px}.app-content{padding:30px 32px 42px}.page-section{gap:16px;display:grid}.page-section__header{justify-content:space-between;align-items:end;gap:18px;display:flex}.page-section__header h1{letter-spacing:0;font-size:clamp(1.45rem,1.8vw,1.9rem);line-height:1.02}.page-section__header p{color:var(--muted);max-width:64ch;margin-top:6px;font-size:.92rem;line-height:1.45}.page-section__meta span{color:var(--accent-strong);background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:700;display:inline-flex}.project-detail-grid{grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);align-items:start;gap:16px;display:grid}.project-detail-managers{gap:16px;display:grid}.overview-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.overview-grid,.management-grid{grid-template-columns:minmax(320px,400px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kanban-layout{display:block}.board-toolbar{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.board-filter-shell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.board-search{align-items:center;width:min(280px,100%);display:inline-flex;position:relative}.board-search input{width:100%;min-height:30px;color:var(--foreground);background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:5px 30px 5px 12px;font-size:.82rem;transition:border-color .18s,box-shadow .18s}.board-search input:focus{border-color:#60a5fa;outline:none;box-shadow:0 0 0 3px #2563eb1a}.board-search button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:.78rem;font-weight:800;line-height:1;position:absolute;right:8px}.board-filter-strip{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-height:28px;margin-left:auto;display:flex}.board-filter-toggle,.board-filter-clear-link{color:var(--accent-strong);cursor:pointer;background:0 0;border:0;padding:0;font-size:.86rem;font-weight:800}.board-filter-toggle:hover,.board-filter-clear-link:hover{text-decoration:underline}.board-filter-empty{color:var(--muted);font-size:.82rem}.board-filter-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.board-filter-chip{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:6px;max-width:260px;padding:3px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.board-filter-chip:hover{background:#eff6ff;border-color:#93c5fd}.board-filter-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-filter-chip strong{color:var(--muted);font-size:.78rem;line-height:1}.board-filters{border:1px solid var(--line);background:#f8fafc;border-radius:8px;flex:1 0 100%;gap:8px;padding:8px;display:grid}.board-filter-group{grid-template-columns:78px minmax(0,1fr);align-items:start;gap:8px;display:grid}.board-filter-group>span{color:#475569;letter-spacing:.04em;text-transform:uppercase;padding-top:3px;font-size:.7rem;font-weight:800}.board-filter-group>div{flex-wrap:wrap;gap:5px;display:flex}.board-filter-group button{color:#334155;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;max-width:220px;min-height:24px;padding:3px 7px;font-size:.82rem;font-weight:700;overflow:hidden}.board-filter-group button:hover,.board-filter-group button[aria-pressed=true]{color:var(--accent-strong);background:#dbeafe}.board-filter-group--picker{align-items:start}.board-filter-picker{gap:6px;min-width:0;display:grid}.board-filter-picker__controls{flex-wrap:wrap;gap:5px;display:flex}.board-filter-combobox{width:min(220px,100%);position:relative}.board-filter-picker__controls input{width:min(220px,100%);min-height:26px;color:var(--foreground);background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:4px 9px;font-size:.8rem}.board-filter-picker__controls input:focus{border-color:#60a5fa;outline:none;box-shadow:0 0 0 3px #2563eb1a}.board-filter-popup{z-index:20;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:min(280px,100vw - 48px);max-height:180px;padding:5px;display:grid;position:absolute;top:calc(100% + 5px);left:0;overflow:auto;box-shadow:0 14px 32px #0f172a24}.board-filter-popup button{text-align:left;border-radius:6px;justify-content:start;width:100%;max-width:none;padding:6px 8px}.board-filter-popup>span{color:var(--muted);padding:6px 8px;font-size:.8rem}.board-options{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:.82rem;display:flex}.board-option-toggle{color:#334155;align-items:center;gap:7px;font-size:.84rem;font-weight:800;display:inline-flex}.board-option-toggle input{width:15px;height:15px;accent-color:var(--accent)}.epic-board{gap:16px;min-width:0;display:grid}.epic-board__separator{color:#64748b;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;font-size:.76rem;font-weight:800;display:flex}.epic-board__separator:before,.epic-board__separator:after{content:"";background:#cbd5e1;flex:1;height:1px}.epic-lane{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:12px;padding:12px;scroll-margin-top:18px;overflow:hidden}.epic-lane--cancelled{box-shadow:none;background:#f8fafc;border-color:#cbd5e1}.epic-lane--cancelled .epic-lane__eyebrow,.epic-lane--cancelled .epic-lane__header h2{color:#64748b}.epic-lane__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:0 1px 8px;display:flex}.epic-lane__eyebrow{color:#0f766e;letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px;font-size:.66rem;font-weight:700}.epic-lane__header h2{letter-spacing:0;margin-bottom:3px;font-size:1.08rem}.epic-lane__header p{color:var(--muted);font-size:.84rem;line-height:1.35}.epic-lane__meta{flex-wrap:wrap;justify-content:end;gap:6px;display:flex}.epic-lane__meta span{border:1px solid var(--line);background:var(--surface-muted);color:#334155;border-radius:999px;align-items:center;padding:5px 8px;font-size:.74rem;font-weight:700;display:inline-flex}.kanban-columns{grid-template-columns:repeat(4,minmax(220px,1fr));gap:8px;padding-bottom:4px;display:grid;overflow-x:auto}.kanban-column{background:#f6f8fb;border:1px solid #dbe3ee;border-radius:10px;min-height:340px;padding:8px;transition:background-color .16s,border-color .16s}.epic-lane--empty .kanban-column{min-height:150px}.epic-lane--empty .kanban-column__body{min-height:72px}.epic-lane--empty .kanban-column__empty{padding:12px 10px;font-size:.82rem}.kanban-column:hover{background:#f3f7fc;border-color:#bfdbfe}.kanban-column--active{background:#f1f7ff}.kanban-column--done{background:#f0fdf7}.kanban-column--blocked{background:#fff5f5}.kanban-column__header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;padding:2px 3px 7px;display:flex}.kanban-column__header strong{color:#374151;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.kanban-column__header span{color:#374151;background:#3741511a;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;font-size:.8rem;font-weight:700;display:inline-flex}.kanban-column__body{align-content:start;gap:8px;min-height:270px;display:grid}.kanban-column__empty{color:var(--muted);text-align:center;border:1px dashed #cbd5e1;border-radius:10px;padding:22px 12px;font-size:.9rem}.kanban-column__hidden{color:var(--accent-strong);text-align:center;background:#eff6ff;border:1px dashed #bfdbfe;border-radius:8px;padding:8px 10px;font-size:.78rem;font-weight:800}.kanban-add-card{color:#4b5563;cursor:pointer;background:#ffffff7a;border:1px dashed #37415133;border-radius:10px;justify-content:flex-start;align-items:center;gap:8px;width:100%;padding:10px 11px;font-size:.9rem;font-weight:800;transition:background-color .16s,border-color .16s,color .16s;display:flex}.kanban-add-card:hover{color:#1d4ed8;background:#fff;border-color:#2563eb52}.kanban-add-card span{background:#3741511a;border-radius:999px;place-items:center;width:20px;height:20px;font-size:1rem;line-height:1;display:inline-grid}.kanban-card{cursor:grab;background:#fff;border:1px solid #dbe3ee;border-radius:8px;padding:10px;transition:box-shadow .16s,transform .16s,border-color .16s;box-shadow:0 1px 2px #0f172a0f}.kanban-card:hover{border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 8px 20px #0f172a14}.kanban-card:active{cursor:grabbing}.kanban-card--dragging{opacity:.52;transform:rotate(1deg)scale(.98)}.kanban-card__top{justify-content:space-between;align-items:start;gap:12px;margin-bottom:9px;display:flex}.kanban-card__tag{color:#374151;letter-spacing:.06em;text-transform:uppercase;background:#e5e7eb;border-radius:4px;align-items:center;padding:4px 7px;font-size:.68rem;font-weight:700;display:inline-flex}.kanban-card__tag--high{color:#991b1b;background:#fee2e2}.kanban-card__tag--medium{color:#92400e;background:#fef3c7}.kanban-card__tag--low{color:#166534;background:#dcfce7}.kanban-card h3{font-family:var(--font-body), sans-serif;letter-spacing:0;margin-bottom:8px;font-size:.98rem;line-height:1.35}.kanban-card p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:12px;font-size:.9rem;line-height:1.5;display:-webkit-box;overflow:hidden}.kanban-card__badges{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.card-badge{color:#4b5563;background:#f3f4f6;border-radius:5px;align-items:center;padding:4px 7px;font-size:.74rem;font-weight:700;display:inline-flex}.card-badge--accent{color:#075985;background:#e0f2fe}.card-badge--danger{color:#991b1b;background:#fee2e2}.kanban-card__footer{justify-content:space-between;align-items:center;gap:8px;min-height:26px;display:flex}.kanban-assignee{color:#fff;background:#1d4ed8;border-radius:999px;flex:none;place-items:center;width:26px;height:26px;font-size:.68rem;font-weight:800;display:inline-grid}.kanban-reminder{min-width:0;color:var(--muted);align-items:center;gap:5px;font-size:.74rem;font-weight:700;display:inline-flex}.kanban-reminder span{color:#075985;background:#e0f2fe;border-radius:999px;flex:none;place-items:center;width:18px;height:18px;font-size:.72rem;font-weight:900;display:inline-grid}.board-summary{grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;display:grid}.board-summary div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 14px}.board-summary span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:800;display:block}.board-summary strong{font-family:var(--font-heading), sans-serif;font-size:1.55rem;line-height:1}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.card-modal{background:#fff;width:min(720px,100%);max-height:min(86vh,820px);overflow:auto}.metric-card,.panel{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-soft);position:relative}.metric-card:before,.panel:before{content:none}.metric-card{border-radius:10px;padding:12px 14px}.metric-card span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;font-size:.68rem;font-weight:700;display:block}.metric-card strong{font-family:var(--font-heading), sans-serif;font-size:1.45rem;line-height:.95}.panel{border-radius:12px;padding:16px}.panel--tight{padding:14px}.panel-heading{margin-bottom:14px}.panel-heading--compact{margin-bottom:10px}.panel-heading--split{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading h2{letter-spacing:0;font-size:1.02rem}.stack-list{gap:8px;display:grid}.detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.detail-stat{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;padding:10px}.detail-stat span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:.68rem;font-weight:700;display:block}.detail-stat strong{font-family:var(--font-heading), sans-serif;font-size:1.25rem;line-height:1}.detail-copy{gap:8px;margin-bottom:14px;display:grid}.detail-copy h3{color:#0f766e;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.detail-copy p{color:var(--muted);font-size:.9rem;line-height:1.45}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.profile-item{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;padding:10px}.profile-item span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:.68rem;font-weight:700;display:block}.profile-item strong{line-height:1.45;display:block}.project-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-form-grid__wide{grid-column:1/-1}.project-toolbar{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;margin-bottom:0;display:flex}.project-search{flex:0 320px;width:min(320px,100%)}.project-status-filter{margin-left:0}.member-toolbar{align-items:center;gap:8px;width:fit-content;max-width:100%;display:flex}.member-summary,.member-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bu-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-directory{gap:8px;display:grid}.member-row{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(140px,auto) auto;align-items:center;gap:10px;padding:10px;display:grid}.member-row__identity{align-items:center;gap:10px;min-width:0;display:flex}.member-row__identity h3{letter-spacing:0;margin-bottom:4px;font-size:.96rem}.member-row__identity p,.member-row__contact{color:var(--muted);font-size:.84rem}.member-row__contact{text-align:right}.panel-count{background:var(--accent-soft);color:var(--accent-strong);border:1px solid #bfdbfe;border-radius:999px;padding:4px 8px;font-size:.7rem;font-weight:800}.project-register{gap:8px;display:grid}.project-row{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px;display:grid}.project-row__main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:block}.project-row__main h3{letter-spacing:0;margin-bottom:4px;font-size:.96rem}.project-row__main p{color:var(--muted);font-size:.84rem;line-height:1.35}.project-row__meta{align-items:center;gap:8px;display:flex}.stack-card{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;padding:10px;transition:transform .18s,box-shadow .18s}.stack-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #0f172a14}.stack-card p{color:var(--muted);margin-top:5px;font-size:.86rem}.stack-card__row{justify-content:space-between;align-items:center;gap:12px;display:flex}.pill{background:var(--accent-soft);color:var(--accent-strong);border:1px solid #bfdbfe;border-radius:999px;align-items:center;padding:3px 7px;font-size:.7rem;font-weight:700;display:inline-flex}.entity-form{gap:12px;display:grid}.entity-form--edit{padding-top:8px}.entity-form__grid{gap:10px;display:grid}.field{gap:5px;display:grid}.field--toolbar{min-width:220px}.field span,.checkbox-field span{color:#475569;letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:700}.field input,.field textarea,.field select{width:100%;color:var(--foreground);background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:8px 10px;font-size:.88rem;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s}.field input:focus,.field textarea:focus,.field select:focus{background:#fff;border-color:#60a5fa;outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #2563eb1f}.field textarea{resize:vertical;min-height:88px}.checkbox-field{align-items:center;gap:10px;display:flex}.entity-form__footer,.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.modal-form-footer{justify-content:flex-end}.button{background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;padding:8px 12px;font-size:.86rem;font-weight:700;transition:transform .18s,box-shadow .18s,opacity .18s;display:inline-flex;box-shadow:0 8px 18px #2563eb2e}.button:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:0 12px 24px #2563eb38}.button:disabled{cursor:progress;opacity:.7;transform:none}.button--ghost{color:var(--foreground);box-shadow:none;background:#fff;border-color:#cbd5e1}.button--ghost:hover{background:#f8fafc;box-shadow:0 8px 18px #0f172a14}.button--danger{color:var(--danger);box-shadow:none;background:#fff1f2;border-color:#fecaca}.button--icon{justify-content:center;min-width:30px;min-height:30px;padding:0;font-size:1.05rem;line-height:1}.status-message{border:1px solid #0000;border-radius:8px;margin-bottom:14px;padding:12px 14px;font-size:.92rem}.status-message--success{color:var(--success);background:#f0fdf4;border-color:#bbf7d0}.status-message--error{color:var(--danger);background:#fff1f2;border-color:#fecaca}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.resource-filter{align-items:center;gap:7px;margin-left:auto;display:inline-flex}.resource-filter span{color:#475569;letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:800}.resource-filter select{min-height:30px;color:var(--foreground);background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:4px 28px 4px 10px;font-size:.82rem}.data-table__wrap{border:1px solid var(--line);background:#fff;border-radius:10px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table thead th{z-index:1;-webkit-backdrop-filter:none;backdrop-filter:none;background:#f8fafc;position:sticky;top:0}.data-table th,.data-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e8f0;padding:9px 10px;font-size:.88rem}.data-table tbody tr:hover td{background:#f8fbff}.data-table__row--link{cursor:pointer}.data-table__row--link:focus-visible{outline-offset:4px;outline:2px solid #2563eb57}.data-table th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}.data-table__empty{color:var(--muted);text-align:center}@media (max-width:1280px){.overview-grid,.management-grid,.project-detail-grid,.kanban-layout{grid-template-columns:1fr}.overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.board-summary{grid-template-columns:repeat(2,minmax(130px,1fr))}}@media (max-width:960px){.app-shell,.app-shell--sidebar-collapsed{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar__toggle{width:30px;height:30px;box-shadow:none;background:#ffffff12;border:1px solid #e2e8f02e;border-radius:8px;margin-right:0}.sidebar__toggle:before,.sidebar__toggle:after{width:11px;left:9px}.app-shell--sidebar-collapsed .sidebar{align-items:stretch;padding:24px}.app-shell--sidebar-collapsed .sidebar__top{flex-direction:row}.app-shell--sidebar-collapsed .sidebar__brand{justify-content:flex-start}.app-shell--sidebar-collapsed .sidebar__brand-copy{display:block}.app-shell--sidebar-collapsed .sidebar__brand-mark{gap:6px;width:40px;height:40px}.sidebar__nav,.app-shell--sidebar-collapsed .sidebar__nav{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell--sidebar-collapsed .sidebar__link{justify-content:flex-start;padding:12px 14px}.app-shell--sidebar-collapsed .sidebar__link-label{clip:auto;white-space:normal;width:auto;height:auto;position:static;overflow:visible}.app-shell--sidebar-collapsed .sidebar__link--active:before{inset:12px auto 12px -6px}}@media (max-width:720px){.app-content{padding:18px}.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.page-section__header{flex-direction:column;align-items:start}.detail-stats,.bu-form-grid,.member-form-grid,.member-summary,.project-form-grid,.profile-grid,.board-summary{grid-template-columns:1fr}.board-filters{grid-template-columns:1fr;gap:14px}.panel,.metric-card,.data-table__wrap{border-radius:12px}.kanban-columns,.project-row,.member-row{grid-template-columns:1fr}.member-row__contact{text-align:left}.project-row__meta{justify-content:space-between}.epic-lane__header{flex-direction:column}}@media (max-width:520px){.sidebar__nav,.overview-metrics{grid-template-columns:1fr}}
