*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.left-2{left:.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.z-10{z-index:10}.mt-1{margin-top:.25rem}.flex{display:flex}.h-9{height:2.25rem}.min-h-screen{min-height:100vh}.w-\[220px\]{width:220px}.min-w-max{min-width:-moz-max-content;min-width:max-content}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.gap-1{gap:.25rem}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.border-b{border-bottom-width:1px}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.bg-blue-50\/70{background-color:rgba(239,246,255,.7)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.px-2{padding-left:.5rem;padding-right:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-center{text-align:center}.uppercase{text-transform:uppercase}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.opacity-60{opacity:.6}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}body,html{min-height:100%;background:#f6f7fb}.workspace-shell{--workspace-accent:#4c6ef5;background:#f6f7fb}.workspace-header{background:hsla(0,0%,100%,.92);backdrop-filter:blur(10px);border-bottom:1px solid #e7e9f2}.workspace-navbar{background:#fff;border-right:1px solid #e7e9f2}.workspace-brand{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border-radius:12px}.workspace-brand:hover{background:#f3f5fb}.workspace-mark{width:28px;height:28px;border-radius:8px;background:var(--workspace-accent);box-shadow:0 6px 16px color-mix(in srgb,var(--workspace-accent) 35%,transparent);flex-shrink:0}.workspace-navbar .mantine-NavLink-root{border-radius:10px}.workspace-navbar .mantine-NavLink-root[data-active]{background:color-mix(in srgb,var(--workspace-accent) 12%,#fff)}.workspace-navbar .mantine-NavLink-root[data-active] .mantine-NavLink-description,.workspace-navbar .mantine-NavLink-root[data-active] .mantine-NavLink-label{color:color-mix(in srgb,var(--workspace-accent) 82%,#1e293b)}.workspace-user{display:flex;align-items:center;border-radius:999px}.workspace-user:hover{outline:2px solid color-mix(in srgb,var(--workspace-accent) 28%,transparent);outline-offset:2px}.workspace-main{background:#f6f7fb;min-height:calc(100vh - 56px)}.workspace-main-inner{padding:20px 24px 32px;max-width:1120px}.workspace-main-inner.is-wide{max-width:none}.project-toolbar{position:sticky;top:0;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:-4px -4px 12px;padding:8px 4px 12px;background:linear-gradient(#f6f7fb 70%,color-mix(in srgb,#f6f7fb 70%,transparent))}.project-view-switch{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.project-section-nav{display:flex;gap:2px;padding:3px;background:#e8eaf2;border-radius:8px}.project-section-nav a{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;color:#495057;text-decoration:none;line-height:1.2}.project-section-nav a:hover{color:#1a1b1e}.project-section-nav a.is-active{background:#fff;color:#1a1b1e;box-shadow:0 1px 2px rgba(15,23,42,.08)}.project-section-nav.is-compact a{padding:4px 10px;font-size:12px}.project-card-links{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#868e96}.project-card-links a{color:inherit;text-decoration:none}.project-card-links a:hover{color:var(--workspace-accent,#4c6ef5)}.scan-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.table-panel{overflow:hidden;background:#fff;border:1px solid #e7e9f2;border-radius:12px}.data-table tbody tr td{vertical-align:middle}.data-table .mantine-Table-th{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#64748b;white-space:nowrap}.mono-id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:#64748b;white-space:nowrap}.kanban-board{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;padding-bottom:8px;align-items:stretch}.kanban-column{display:flex;flex-direction:column;min-width:260px;width:260px;max-height:min(640px,calc(100vh - 200px));background:#f3f5fb;border:1px solid #e7e9f2;border-radius:12px;flex-shrink:0}.kanban-column-head{padding:10px 12px 8px;border-bottom:1px solid #e7e9f2;background:#f8f9fd;border-radius:12px 12px 0 0}.kanban-column-body{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.kanban-card{background:#fff;border:1px solid #e7e9f2;border-radius:10px;padding:8px 10px}.gantt-shell{overflow:auto;max-height:min(640px,calc(100vh - 200px));border:1px solid #e7e9f2;border-radius:12px;background:#fff}.gantt-label{position:sticky;left:0;z-index:3;background:#fff;box-shadow:8px 0 12px -12px rgba(15,23,42,.35)}.gantt-group .gantt-label,.gantt-head .gantt-label{background:#f8f9fd}.gantt-row{min-height:44px}.gantt-track{background-image:repeating-linear-gradient(90deg,transparent 0,transparent 35px,#eef0f6 0,#eef0f6 36px)}.gantt-dates-btn{border:0;background:transparent;padding:0;color:#64748b;font-size:11px;cursor:pointer}.gantt-dates-btn:focus-visible,.gantt-dates-btn:hover{color:#4c6ef5}.project-card{display:block;height:100%;text-decoration:none;color:inherit;background:#fff;border:1px solid #e7e9f2;border-radius:14px;padding:16px;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.project-card:hover{border-color:color-mix(in srgb,var(--workspace-accent) 45%,#e7e9f2);box-shadow:0 10px 24px rgba(15,23,42,.06);transform:translateY(-1px)}.project-card h4 a{color:inherit;text-decoration:none}.project-card h4 a:hover{color:var(--workspace-accent,#4c6ef5)}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}