:root{--font-sans: "Inter", "Helvetica Neue", system-ui, sans-serif;--font-display: "Inter", "Helvetica Neue", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", "Consolas", monospace;--c-primary: #5d2bff;--c-primary-dark: #4a1fe0;--c-primary-light: #efe8ff;--c-primary-xlight: #f7f4ff;--c-accent: #ab40ff;--c-gradient: linear-gradient(135deg, #5d2bff 0%, #ab40ff 100%);--c-gradient-hover: linear-gradient(135deg, #4a1fe0 0%, #9630e8 100%);--c-bg: #f4f5ff;--c-surface: #ffffff;--c-surface-raised: #ffffff;--c-border: #dfe5f5;--c-border-light: #eef1fb;--c-text: #111111;--c-text-muted: #7f82a4;--c-text-light: #a8abca;--c-success: #21d191;--c-success-bg: #e8fdf5;--c-success-border: #a7f3d8;--c-error: #ff5c5c;--c-error-bg: #fff1f1;--c-error-border: #ffb3b3;--c-warn: #ffb800;--c-warn-bg: #fffaeb;--c-warn-border: #fde68a;--c-info: #2dd4d0;--c-info-bg: #ecfffe;--c-info-border: #a5f3f1;--c-teal-bg: #d2fffa;--c-yellow-bg: #fff6dd;--c-pink-bg: #fff0f4;--c-orange-bg: #ffeee9;--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-lg: 20px;--r-xl: 24px;--r-2xl: 28px;--r-pill: 99999px;--shadow-sm: 0 1px 4px rgba(93, 43, 255, .08);--shadow-md: 0 4px 16px rgba(93, 43, 255, .1);--shadow-lg: 0 12px 40px rgba(93, 43, 255, .14);--shadow-xl: 0 24px 64px rgba(93, 43, 255, .18);--shadow-dark: 0 8px 24px rgba(17, 17, 17, .14);--t-fast: 80ms ease;--t-base: .16s ease;--t-slow: .28s ease;font-family:var(--font-sans);font-size:15px;line-height:1.55;font-weight:400;color:var(--c-text);background:var(--c-bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}body{min-height:100vh;font-family:var(--font-sans);font-size:1rem;line-height:1.55;letter-spacing:-.008em;color:var(--c-text);background:var(--c-bg)}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.03em;line-height:1.1;color:var(--c-text)}strong,b{font-weight:700}a{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--r-pill);padding:10px 20px;font-size:.92rem;font-weight:600;letter-spacing:-.01em;border:1.5px solid transparent;cursor:pointer;transition:all var(--t-base);white-space:nowrap}.btn-primary{background:var(--c-gradient);color:#fff;border-color:transparent;box-shadow:0 4px 14px #5d2bff4d}.btn-primary:hover{background:var(--c-gradient-hover);box-shadow:0 6px 20px #5d2bff66;transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:wait;transform:none;box-shadow:none}.btn-secondary{background:#fff;color:var(--c-primary);border-color:var(--c-border)}.btn-secondary:hover{background:var(--c-primary-xlight);border-color:var(--c-primary-light)}.btn-ghost{background:transparent;color:var(--c-text-muted);border-color:transparent;padding:8px 14px}.btn-ghost:hover{background:var(--c-primary-xlight);color:var(--c-primary)}.btn-danger{background:var(--c-error-bg);color:var(--c-error);border-color:var(--c-error-border)}.btn-danger:hover{background:#ffe4e4}.btn-sm{padding:6px 14px;font-size:.84rem}.card{background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--r-xl);padding:22px}.input{width:100%;border-radius:var(--r-pill);border:1.5px solid var(--c-border);background:var(--c-surface);padding:11px 16px;color:var(--c-text);font-size:.95rem;transition:border-color var(--t-base),box-shadow var(--t-base)}.input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #5d2bff1f}.input::placeholder{color:var(--c-text-light)}.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--r-pill);font-size:.78rem;font-weight:600;letter-spacing:.005em;background:var(--c-primary-xlight);color:var(--c-primary);border:1.5px solid var(--c-primary-light)}.label{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-muted)}.app-shell{max-width:1200px;margin:0 auto;padding:40px 24px 80px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top left,rgba(93,43,255,.14) 0%,transparent 55%),radial-gradient(ellipse at bottom right,rgba(171,64,255,.1) 0%,transparent 50%),var(--c-bg)}.auth-card{width:min(100%,500px);display:grid;gap:22px;padding:32px;border-radius:var(--r-2xl);background:#fffffff2;border:1.5px solid var(--c-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-xl)}.auth-card__intro h1{margin:0 0 10px;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1;background:var(--c-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-card__intro p:last-child{margin:0;color:var(--c-text-muted);font-size:.96rem}.auth-card__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:5px;background:var(--c-bg);border-radius:var(--r-pill);border:1.5px solid var(--c-border)}.auth-card__tab,.auth-card__primary,.auth-card__secondary{border-radius:var(--r-pill);padding:10px 16px;border:1.5px solid transparent;background:transparent;color:var(--c-text-muted);font-size:.92rem;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:all var(--t-base)}.auth-card__link{justify-self:start;padding:0;border:0;background:transparent;color:var(--c-primary);font-weight:600;cursor:pointer;letter-spacing:-.01em;transition:opacity var(--t-base)}.auth-card__link:hover{opacity:.75}.auth-card__tab.is-active,.auth-card__primary{background:var(--c-gradient);border-color:transparent;color:#fff;box-shadow:0 4px 14px #5d2bff47}.auth-card__primary{width:100%;justify-content:center;padding:12px 20px;font-size:.96rem;cursor:pointer}.auth-card__primary:hover:not(:disabled){background:var(--c-gradient-hover);box-shadow:0 6px 20px #5d2bff61;transform:translateY(-1px)}.auth-card__primary:disabled{opacity:.65;cursor:wait;transform:none;box-shadow:none}.auth-card__secondary{background:#ffffff14;border-color:#fff3;color:#ffffffd9;cursor:pointer}.auth-form{display:grid;gap:14px}.auth-field{display:grid;gap:7px}.auth-field span{font-size:.78rem;font-weight:700;color:var(--c-text-muted);letter-spacing:.04em;text-transform:uppercase}.auth-field input{width:100%;border-radius:var(--r-pill);border:1.5px solid var(--c-border);background:var(--c-bg);padding:12px 18px;color:var(--c-text);font-size:.96rem;transition:border-color var(--t-base),box-shadow var(--t-base)}.auth-field input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #5d2bff1f;background:#fff}.auth-field select,.auth-field textarea{width:100%;border-radius:var(--r-md);border:1.5px solid var(--c-border);background:var(--c-bg);padding:12px 18px;color:var(--c-text);font-size:.96rem;transition:border-color var(--t-base),box-shadow var(--t-base)}.auth-field select:focus,.auth-field textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #5d2bff1f;background:#fff}.auth-password{position:relative}.auth-password input{padding-right:54px}.auth-password__toggle{position:absolute;top:50%;right:8px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:var(--r-pill);background:transparent;color:var(--c-text-muted);transform:translateY(-50%);cursor:pointer;transition:all var(--t-fast)}.auth-password__toggle:hover{background:var(--c-primary-light);color:var(--c-primary)}.auth-password__toggle svg{width:18px;height:18px}.auth-card__note{margin:0;color:var(--c-text-muted);font-size:.88rem}.auth-card__success{margin:0;padding:12px 16px;border-radius:var(--r-md);background:var(--c-success-bg);border:1.5px solid var(--c-success-border);color:#0f7a52;font-size:.92rem}.gantt-notice{margin:12px 16px 0;padding:12px 16px;border-radius:var(--r-md);background:var(--c-primary-xlight);border:1.5px solid var(--c-primary-light);color:var(--c-primary);font-size:.9rem}.home-hero{padding:32px 36px;border-radius:var(--r-xl);color:#fff;background:linear-gradient(135deg,#3b10d4,#7c1fe8 55%,#ab40ff);box-shadow:var(--shadow-xl);position:relative;overflow:hidden}.home-hero:before{content:"";position:absolute;top:-60px;right:-60px;width:320px;height:320px;border-radius:50%;background:#ffffff12;pointer-events:none}.home-hero:after{content:"";position:absolute;bottom:-80px;left:-40px;width:260px;height:260px;border-radius:50%;background:#ffffff0d;pointer-events:none}.home-hero__topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:1}.home-hero h1{margin:0 0 12px;font-size:clamp(2rem,5.5vw,3.8rem);line-height:.97;color:#fff;position:relative;z-index:1}.home-hero p{max-width:60ch;margin:0;color:#ffffffd1;font-size:1rem;position:relative;z-index:1}.home-hero__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;position:relative;z-index:1}.home-hero__meta span{padding:7px 14px;border-radius:var(--r-pill);background:#ffffff26;border:1px solid rgba(255,255,255,.22);font-size:.84rem;font-weight:500;color:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.home-hero__eyebrow{margin:0 0 12px;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#ffffffa6;font-weight:700;position:relative;z-index:1}.project-create{margin-top:24px;padding:26px;border-radius:var(--r-xl);background:var(--c-surface);border:1.5px solid var(--c-border);box-shadow:var(--shadow-sm)}.project-create__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.project-create__header h2{margin:0 0 5px;font-size:1.3rem}.project-create__header p{margin:0;color:var(--c-text-muted);font-size:.92rem}.project-create__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.project-create__wide{grid-column:1 / -1}.project-create__toggle{grid-column:1 / -1;display:flex;align-items:center;gap:10px;color:var(--c-text-muted);font-weight:500;font-size:.92rem}.project-create__toggle input{width:18px;height:18px;accent-color:var(--c-primary)}.project-create__submit{justify-self:start}.project-list{margin-top:24px;padding:22px;border-radius:var(--r-xl);background:var(--c-surface);border:1.5px solid var(--c-border);box-shadow:var(--shadow-sm)}.home-overview{margin-top:20px}.project-list header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.project-list header h2{margin:0;font-size:1.1rem}.project-card{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:16px;padding:16px 20px;border-radius:var(--r-lg);background:var(--c-surface);border:1.5px solid var(--c-border);margin-bottom:10px;transition:transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base)}.project-card strong{font-size:.98rem;color:var(--c-text)}.project-card:hover{transform:translateY(-2px);border-color:var(--c-primary-light);box-shadow:var(--shadow-md)}.project-links{display:flex;gap:8px;margin:-2px 0 14px;padding-left:4px}.project-links a{font-size:.82rem;font-weight:600;color:var(--c-primary);transition:opacity var(--t-fast)}.project-links a:hover{opacity:.75}.gantt-workspace{flex:1;min-height:0;display:flex;flex-direction:column}.project-layout{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr)}.project-layout__content{min-width:0;min-height:100vh;display:flex;flex-direction:column}.project-nav{padding:20px 12px;border-right:1.5px solid var(--c-border);background:var(--c-surface);position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden}.project-nav__header{display:grid;gap:3px;padding:6px 10px 18px}.project-nav__header strong{font-size:.96rem;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-nav__header span{font-size:.68rem;color:var(--c-text-muted);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.project-nav__section-label{padding:6px 10px 4px;font-size:.64rem;color:var(--c-text-light);letter-spacing:.14em;text-transform:uppercase;font-weight:700}.project-nav__link{display:flex;align-items:center;gap:8px;margin:2px 0;padding:10px 13px;border-radius:var(--r-pill);color:var(--c-text-muted);font-size:.91rem;font-weight:600;letter-spacing:-.01em;transition:all var(--t-base)}.project-nav__link:hover{background:var(--c-primary-xlight);color:var(--c-primary)}.project-nav__link.is-active{background:var(--c-primary-light);color:var(--c-primary)}.project-layout__topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1.5px solid var(--c-border);background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.project-layout__home,.project-layout__logout{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--c-border);border-radius:var(--r-pill);padding:8px 16px;background:var(--c-surface);color:var(--c-text-muted);font-size:.88rem;font-weight:600;transition:all var(--t-base)}.project-layout__home:hover,.project-layout__logout:hover{border-color:var(--c-primary-light);color:var(--c-primary);background:var(--c-primary-xlight)}.project-layout__logout{cursor:pointer}.gantt-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 16px;background:#ffffffeb;border-bottom:1.5px solid var(--c-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.gantt-toolbar__cluster{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 10px;border-radius:var(--r-pill);background:var(--c-bg);border:1.5px solid var(--c-border)}.gantt-toolbar__label{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-muted);padding-right:2px}.gantt-toolbar__group{display:flex;align-items:center;border:1.5px solid var(--c-border);border-radius:var(--r-pill);overflow:hidden;background:var(--c-surface)}.gantt-toolbar__button,.gantt-toolbar__toggle,.gantt-toolbar__select{border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-text-muted);border-radius:var(--r-pill);padding:7px 14px;font-size:.86rem;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:all var(--t-base)}.gantt-toolbar__button:hover,.gantt-toolbar__toggle:hover{background:var(--c-primary-xlight);color:var(--c-primary);border-color:var(--c-primary-light)}.gantt-toolbar__group .gantt-toolbar__button,.gantt-toolbar__group .gantt-toolbar__select{border:none;border-radius:0}.gantt-toolbar__button--primary{background:var(--c-gradient);border-color:transparent;color:#fff;box-shadow:0 3px 12px #5d2bff47}.gantt-toolbar__button--primary:hover{background:var(--c-gradient-hover);box-shadow:0 5px 16px #5d2bff61;transform:translateY(-1px);color:#fff}.gantt-toolbar__toggle.is-active{background:var(--c-primary-light);border-color:#5d2bff4d;color:var(--c-primary)}.gantt-toolbar__toggle.is-danger{background:var(--c-error-bg);border-color:var(--c-error-border);color:var(--c-error)}.gantt-toolbar__spacer{flex:1}.gantt-selection-bar{margin:12px 16px 0;padding:14px 18px;border-radius:var(--r-lg);border:1.5px solid var(--c-primary-light);background:var(--c-primary-xlight);display:flex;align-items:center;justify-content:space-between;gap:16px}.gantt-selection-bar__actions{display:flex;flex-wrap:wrap;gap:8px}.gantt-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;align-items:center;justify-content:center;padding:24px;background:#11111173;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto}.gantt-modal-card{width:min(540px,100%);display:grid;gap:20px;padding:26px;border-radius:var(--r-xl);background:var(--c-surface);border:1.5px solid var(--c-border);box-shadow:var(--shadow-xl);max-height:min(calc(100dvh - 48px),920px);overflow:hidden}.gantt-modal-card--wide{width:min(960px,100%)}.gantt-modal-card__header,.gantt-modal-card__actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.gantt-modal-card__header h3{margin:0 0 6px;font-size:1.15rem}.gantt-modal-card__header p{margin:0;color:var(--c-text-muted);font-size:.9rem}.gantt-modal-card__actions{justify-content:flex-end}.gantt-split-pane{flex:1;display:flex;min-height:0}.gantt-split-pane.is-resizing{cursor:col-resize}.gantt-split-pane__left{min-height:0;border-right:1.5px solid var(--c-border);background:var(--c-surface);flex:0 0 auto;overflow:hidden}.gantt-split-pane__divider{position:relative;width:10px;flex:0 0 10px;cursor:col-resize;background:linear-gradient(180deg,var(--c-bg),var(--c-border),var(--c-bg));transition:background var(--t-base)}.gantt-split-pane__divider:hover{background:linear-gradient(180deg,var(--c-primary-xlight),var(--c-primary-light),var(--c-primary-xlight))}.gantt-split-pane__divider:after{content:"";position:absolute;top:50%;left:50%;width:4px;height:48px;transform:translate(-50%,-50%);border-radius:var(--r-pill);background:linear-gradient(180deg,var(--c-border),var(--c-text-light))}.gantt-split-pane__right{flex:1;min-width:0;min-height:0;background:var(--c-bg)}.task-grid{height:100%;display:flex;flex-direction:column}.task-grid__header{display:grid;grid-template-columns:minmax(180px,1.8fr) minmax(110px,.9fr) minmax(100px,.8fr) minmax(100px,.8fr);gap:12px;align-items:center;padding:0 16px;border-bottom:1.5px solid var(--c-border);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-muted);background:var(--c-surface);font-weight:700;height:38px}.task-grid__body{flex:1;overflow:hidden;position:relative}.task-grid__canvas{position:relative}.task-grid__row{width:100%;position:absolute;left:0;display:grid;grid-template-columns:minmax(180px,1.8fr) minmax(110px,.9fr) minmax(100px,.8fr) minmax(100px,.8fr);gap:12px;align-items:center;border:0;border-bottom:1px solid var(--c-border-light);background:transparent;text-align:left;color:var(--c-text);font-size:.8rem;line-height:1.25;cursor:pointer;transition:background var(--t-fast)}.task-grid__row small{margin-right:8px;color:var(--c-text-light);font-size:.64rem;font-weight:600}.task-grid__row.is-selected{background:var(--c-primary-light)}.task-grid__row.is-hovered{background:var(--c-primary-xlight)}.task-grid__name{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-canvas-shell{width:100%;height:100%;min-height:360px;position:relative}.gantt-canvas-shell__task-hotspots,.gantt-canvas-shell__dependency-hotspots{position:absolute;top:0;right:0;bottom:0;left:0}.gantt-canvas-shell__task-hotspots{z-index:4}.gantt-task-hotspot{position:absolute;cursor:grab;background:transparent;border-radius:4px;z-index:1}.gantt-task-hotspot.is-selected{box-shadow:inset 0 0 0 2px #5d2bff59}.gantt-task-hotspot--resize-left,.gantt-task-hotspot--resize-right{cursor:ew-resize;z-index:2}.gantt-drag-tooltip{position:absolute;z-index:6;min-width:160px;padding:10px 12px;border-radius:var(--r-md);background:#111111f0;color:#f8f8f8;box-shadow:0 12px 32px #1111113d;pointer-events:none;display:grid;gap:2px;font-size:.78rem;line-height:1.2}.gantt-drag-tooltip__label{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c}.gantt-dependency-hotspot{position:absolute;pointer-events:auto;cursor:context-menu;background:transparent}.gantt-canvas-shell__dependency-hotspots{z-index:3;pointer-events:none}.gantt-canvas-shell__placeholder{display:flex;align-items:center;justify-content:center;height:100%;min-height:360px;color:var(--c-text-muted);font-size:.95rem;font-weight:600}.gantt-fallback{display:grid;gap:18px;padding:20px}.gantt-fallback__hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px;border:1.5px solid var(--c-border);border-radius:var(--r-xl);background:var(--c-surface);box-shadow:var(--shadow-sm)}.gantt-fallback__hero h1,.gantt-fallback__hero p{margin:0}.gantt-fallback__eyebrow{margin:0 0 8px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-primary);font-weight:700}.gantt-fallback__actions{display:flex;flex-wrap:wrap;gap:10px}.gantt-fallback__notice{display:grid;gap:6px;padding:14px 18px;border-radius:var(--r-md);border:1.5px solid var(--c-error-border);background:var(--c-error-bg);color:#c0392b}.gantt-fallback__table-shell{border:1.5px solid var(--c-border);border-radius:var(--r-xl);overflow:hidden;background:var(--c-surface);box-shadow:var(--shadow-sm)}.gantt-fallback__table-header,.gantt-fallback__row{display:grid;grid-template-columns:1.8fr 1.2fr .9fr 1.2fr .8fr;gap:14px;align-items:center;padding:14px 18px}.gantt-fallback__table-header{background:var(--c-bg);border-bottom:1.5px solid var(--c-border);color:var(--c-text-muted);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.gantt-fallback__row{border-bottom:1px solid var(--c-border-light);transition:background var(--t-fast)}.gantt-fallback__row:last-child{border-bottom:none}.gantt-fallback__row:hover{background:var(--c-primary-xlight)}.gantt-fallback__row strong,.gantt-fallback__row p{margin:0}.gantt-fallback__row p{color:var(--c-text-muted);font-size:.86rem}.gantt-fallback__empty{padding:24px 18px;color:var(--c-text-muted);font-size:.9rem}.gantt-context-menu{position:fixed;z-index:55;min-width:min(260px,calc(100vw - 24px));width:min(300px,calc(100vw - 24px));max-width:min(300px,calc(100vw - 24px));display:grid;gap:4px;padding:10px;border:1.5px solid var(--c-border);border-radius:var(--r-xl);background:#fffffffa;box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.gantt-context-menu__label{padding:4px 8px 8px;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-muted);border-bottom:1.5px solid var(--c-border-light)}.gantt-context-menu button{width:100%;text-align:left;border:1px solid var(--c-border-light);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-text);padding:9px 12px;font-size:.86rem;font-weight:600;letter-spacing:-.01em;line-height:1.25;cursor:pointer;transition:all var(--t-fast)}.gantt-context-menu button:hover,.gantt-context-menu button.is-active{background:var(--c-primary-xlight);border-color:var(--c-primary-light);color:var(--c-primary)}.gantt-context-menu button.is-danger{color:var(--c-error);background:var(--c-error-bg);border-color:var(--c-error-border)}.gantt-context-menu button.is-danger:hover{background:#ffe4e4}.gantt-context-menu button.is-primary{background:var(--c-primary-xlight);border-color:var(--c-primary-light);color:var(--c-primary)}.gantt-context-menu__field,.gantt-context-menu__field-row{display:grid;gap:5px}.gantt-context-menu__field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.gantt-context-menu__field span{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-muted)}.gantt-context-menu__field input,.gantt-context-menu__field select{width:100%;min-width:0;border:1.5px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg);padding:8px 10px;font-size:.82rem;color:var(--c-text);transition:border-color var(--t-base)}.gantt-context-menu__field input:focus,.gantt-context-menu__field select:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #5d2bff1a}.gantt-context-menu__slider-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.gantt-context-menu__slider-row input[type=range],.gantt-selection-bar__slider input[type=range],.task-detail-panel__progress-slider{accent-color:var(--c-primary)}.gantt-selection-bar__slider{display:grid;grid-template-columns:auto minmax(120px,180px) auto;align-items:center;gap:10px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-muted)}.gantt-selection-bar__slider strong{font-size:.88rem;letter-spacing:-.02em;color:var(--c-text)}.task-detail-panel{position:fixed;top:72px;right:0;width:min(380px,calc(100vw - 24px));height:calc(100dvh - 88px);max-height:calc(100dvh - 88px);display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--t-slow);background:var(--c-surface);border-left:1.5px solid var(--c-border);box-shadow:-16px 0 48px #5d2bff1a;z-index:20}.task-detail-panel.is-open{transform:translate(0)}.task-detail-panel__header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1.5px solid var(--c-border);background:var(--c-surface)}.task-detail-panel__header h3{margin:0;font-size:1.05rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.task-detail-panel__eyebrow{margin:0 0 3px;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--c-primary)}.task-detail-panel__header button{border:1.5px solid var(--c-border);background:var(--c-surface);border-radius:var(--r-pill);padding:6px 12px;font-size:.84rem;font-weight:600;color:var(--c-text-muted);cursor:pointer;transition:all var(--t-base)}.task-detail-panel__header button:hover{border-color:var(--c-primary-light);color:var(--c-primary);background:var(--c-primary-xlight)}.task-detail-panel__body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:18px 18px 40px;display:grid;gap:14px;align-content:start}.task-detail-panel__body>div{display:grid;gap:4px;min-width:0}.task-detail-panel__section{display:grid;gap:12px;padding:16px;border-radius:var(--r-lg);background:var(--c-bg);border:1.5px solid var(--c-border)}.task-detail-panel__section--summary{gap:14px;background:var(--c-primary-xlight);border-color:var(--c-primary-light)}.task-detail-panel__chip-row{display:flex;flex-wrap:wrap;gap:8px}.task-detail-panel__chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--r-pill);background:var(--c-surface);border:1.5px solid var(--c-border);color:var(--c-text-muted);font-size:.78rem;font-weight:600}.task-detail-panel__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.task-detail-panel__stats div{display:grid;gap:4px;padding:10px 12px;border-radius:var(--r-md);background:var(--c-surface);border:1.5px solid var(--c-border)}.task-detail-panel__stats strong{font-size:1.15rem;letter-spacing:-.03em}.task-detail-panel__body span{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-muted);font-weight:700}.task-detail-panel__field{display:grid;gap:6px}.task-detail-panel__field span{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-muted);font-weight:700}.task-detail-panel__field input,.task-detail-panel__field select,.task-detail-panel__field textarea{width:100%;border:1.5px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg);padding:9px 12px;font-size:.88rem;color:var(--c-text);transition:border-color var(--t-base),box-shadow var(--t-base)}.task-detail-panel__field input:focus,.task-detail-panel__field select:focus,.task-detail-panel__field textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #5d2bff1a;background:#fff}.task-detail-panel__progress-control{display:grid;gap:10px}.task-detail-panel__progress-input-row{display:inline-grid;grid-template-columns:minmax(0,72px) auto;align-items:center;gap:8px}.task-detail-panel__progress-input-row span{font-size:.82rem;font-weight:700;color:var(--c-text-muted)}.task-detail-panel__select-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.task-detail-panel__section-title{margin:0 0 12px;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--c-text-muted)}.task-detail-panel__actions{display:flex;flex-wrap:wrap;gap:10px}.task-detail-panel__actions>*{min-width:0;flex:1 1 132px}.task-detail-panel__form-grid{display:grid;gap:12px}.task-detail-panel__table-shell{min-width:0;max-width:100%;max-height:min(28vh,260px);overflow:auto;padding-bottom:4px;border-radius:var(--r-md);border:1.5px solid var(--c-border);background:var(--c-surface)}.task-detail-panel__record-list{display:grid;gap:10px}.task-detail-panel__record-card{display:grid;gap:10px;padding:14px;border-radius:var(--r-md);border:1.5px solid var(--c-border);background:var(--c-surface)}.task-detail-panel__record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.task-detail-panel__record-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.task-detail-panel__static-value{min-height:40px;display:flex;align-items:center;padding:8px 12px;border:1.5px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg);font-size:.84rem;color:var(--c-text);line-height:1.35;word-break:break-word}.task-detail-panel__empty-state{padding:14px;border-radius:var(--r-md);border:1.5px dashed var(--c-border);background:var(--c-bg);color:var(--c-text-muted);font-size:.84rem}.task-detail-panel .resource-table-shell,.task-detail-panel .resource-table,.task-detail-panel .secondary-form{min-width:0}.task-detail-panel .resource-table-shell{max-width:100%;max-height:min(42vh,360px);overflow-x:auto;overflow-y:auto;padding-bottom:8px}.task-detail-panel .resource-table{display:block;max-width:100%;overflow:auto;margin:0}.task-detail-panel .resource-table thead,.task-detail-panel .resource-table tbody,.task-detail-panel .resource-table tr{width:100%}.task-detail-panel .resource-table th,.task-detail-panel .resource-table td{vertical-align:top;white-space:nowrap}.task-detail-panel .resource-table th{position:sticky;top:0;z-index:1;background:#f8f9fffa}.task-detail-panel .resource-table td:first-child,.task-detail-panel .resource-table th:first-child{min-width:132px}.task-detail-panel .resource-table td:last-child,.task-detail-panel .resource-table th:last-child{min-width:88px}.task-detail-panel input,.task-detail-panel select,.task-detail-panel textarea,.task-detail-panel button{max-width:100%}.task-detail-panel textarea{resize:vertical}.task-detail-panel .secondary-form{gap:10px}.task-detail-panel .secondary-form>*{min-width:0}.task-detail-panel .resource-link{white-space:nowrap}.gantt-loading,.gantt-error{margin:24px;padding:20px 22px;border-radius:var(--r-lg);background:var(--c-surface);border:1.5px solid var(--c-border);color:var(--c-text-muted);box-shadow:var(--shadow-sm)}.wbs-layout{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:20px;align-items:start}.wbs-command-bar__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.wbs-left-stack{display:grid;gap:18px;align-items:start}.wbs-detail-stack{display:grid;gap:18px;min-width:0}.wbs-nav{position:sticky;top:88px}.wbs-nav__list{display:grid;gap:6px;max-height:calc(100dvh - 180px);overflow:auto}.wbs-nav__item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:0;width:100%;text-align:left;padding:10px 14px;border:1.5px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);cursor:pointer;transition:all var(--t-base)}.wbs-nav__item:hover{border-color:var(--c-primary-light);background:var(--c-primary-xlight)}.wbs-nav__item.is-active{border-color:var(--c-primary-light);background:var(--c-primary-light)}.wbs-nav__indent{display:block;height:1px}.wbs-nav__main{display:grid;gap:3px;min-width:0}.wbs-nav__main strong{font-size:.88rem;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wbs-nav__main small{font-size:.72rem;color:var(--c-text-muted)}.wbs-nav__empty{padding:14px 16px;border:1.5px dashed var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);color:var(--c-text-muted);font-size:.86rem;line-height:1.45}.wbs-inline-actions{flex-wrap:wrap}.wbs-summary-strip{display:flex;flex-wrap:wrap;gap:8px}.wbs-summary-strip span{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--r-pill);background:var(--c-bg);border:1.5px solid var(--c-border);color:var(--c-text-muted);font-size:.78rem;font-weight:600}.wbs-empty-panel__body{padding:16px 18px;border-radius:var(--r-md);border:1.5px dashed var(--c-border);background:var(--c-surface);color:var(--c-text-muted);line-height:1.55}.wbs-baseline-delete-confirm{margin-top:10px;padding:14px 16px;border-radius:var(--r-md);border:1.5px solid rgba(169,53,39,.24);background:linear-gradient(180deg,#ffebe5eb,#fff7f4fa);display:grid;gap:10px}.wbs-baseline-delete-confirm p{margin:0;font-size:.84rem;color:#8b0000;line-height:1.5}.wbs-history-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}.wbs-history-summary__count{display:grid;gap:4px;min-width:128px;padding:14px;border-radius:var(--r-lg);border:1.5px solid var(--c-border);background:var(--c-bg)}.wbs-history-summary__count strong{font-size:1.5rem;line-height:1;color:var(--c-primary);letter-spacing:-.04em}.wbs-history-summary__count span{font-size:.7rem;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.08em}.wbs-history-summary__latest{display:grid;gap:10px}.wbs-history-summary__event{display:grid;gap:4px;padding:12px 14px;border-radius:var(--r-md);border:1.5px solid var(--c-border);background:var(--c-surface)}.wbs-history-summary__event strong{font-size:.88rem;color:var(--c-text)}.wbs-history-summary__event span{font-size:.76rem;color:var(--c-text-muted)}.wbs-history-modal-list,.wbs-baseline-modal-list{max-height:min(65dvh,640px);overflow:auto;padding-right:4px}.wbs-baseline-modal{gap:0;padding:0}.wbs-baseline-modal .gantt-modal-card__header{padding:24px 26px 18px;border-bottom:1px solid var(--c-border-light)}.wbs-baseline-modal-list{padding:0 20px 20px 26px;max-height:min(calc(100dvh - 190px),720px)}.wbs-baseline-list{display:grid;gap:14px;margin:0;padding:18px 6px 0 0}.wbs-baseline-card{display:grid;gap:14px;padding:18px 20px;border-radius:var(--r-lg);background:radial-gradient(circle at top right,rgba(79,156,249,.1),transparent 36%),var(--c-surface);border:1.5px solid var(--c-border);box-shadow:var(--shadow-sm)}.wbs-baseline-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.wbs-baseline-card__identity{display:grid;gap:4px;min-width:0}.wbs-baseline-card__meta{display:flex;flex-wrap:wrap;gap:8px}.wbs-baseline-card__meta span{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border-radius:var(--r-pill);background:var(--c-bg);border:1px solid var(--c-border-light);color:var(--c-text-muted);font-size:.78rem;font-weight:600}.wbs-baseline-card__actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.wbs-baseline-card__primary-actions{flex:1 1 540px}.wbs-baseline-card__delete{align-self:center;color:var(--c-error)}.wbs-baseline-card .inline-actions{flex-wrap:wrap}.wbs-create-baseline-modal{gap:0;padding:0;background:radial-gradient(circle at top left,rgba(79,156,249,.14),transparent 28%),linear-gradient(180deg,#f4f8fff5,#fffffffa 28%),var(--c-surface)}.wbs-create-baseline-modal .gantt-modal-card__header{padding:28px 30px 20px;border-bottom:1px solid rgba(79,156,249,.14)}.wbs-create-baseline-form{display:grid;gap:22px;padding:0 30px 28px}.wbs-create-baseline-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:22px}.wbs-create-baseline-intro__card{display:grid;gap:8px;padding:18px 20px;border-radius:var(--r-lg);background:#ffffffe0;border:1px solid rgba(79,156,249,.18);box-shadow:var(--shadow-sm)}.wbs-create-baseline-intro__card span{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-primary)}.wbs-create-baseline-intro__card strong{font-size:1rem;color:var(--c-text)}.wbs-create-baseline-intro__card p{margin:0;color:var(--c-text-muted);line-height:1.55;font-size:.88rem}.wbs-create-baseline-layout{display:grid;grid-template-columns:1.2fr .9fr;gap:18px}.wbs-create-baseline-panel{display:grid;gap:16px;padding:22px;border-radius:var(--r-xl);background:#ffffffd6;border:1px solid rgba(20,41,82,.08);box-shadow:var(--shadow-sm)}.wbs-create-baseline-panel__header{display:grid;gap:6px}.wbs-create-baseline-panel__header h4{margin:0;font-size:1rem;color:var(--c-text)}.wbs-create-baseline-panel__header p{margin:0;color:var(--c-text-muted);line-height:1.55;font-size:.88rem}.wbs-create-baseline-grid,.wbs-create-baseline-selects{display:grid;gap:14px}.wbs-create-baseline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wbs-create-baseline-grid__wide{grid-column:1 / -1}.wbs-create-baseline-grid__wide textarea{width:100%;max-width:100%;min-width:100%;resize:vertical;box-sizing:border-box}.wbs-create-baseline-note{display:grid;gap:6px;padding:16px 18px;border-radius:var(--r-lg);background:linear-gradient(180deg,#4f9cf914,#4f9cf908);border:1px solid rgba(79,156,249,.16)}.wbs-create-baseline-note strong{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-primary)}.wbs-create-baseline-note p{margin:0;color:var(--c-text-muted);line-height:1.55;font-size:.88rem}.wbs-create-baseline-status{margin:0}.resource-page{padding:24px}.resource-page__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.resource-page__header h1{margin:0 0 5px;font-size:1.7rem;line-height:1}.resource-page__header p{margin:0;color:var(--c-text-muted);font-size:.92rem}.resource-table-shell,.resource-usage-shell,.resource-chart-shell{background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--r-xl);padding:18px;overflow:auto;box-shadow:var(--shadow-sm)}.resource-table,.resource-usage-table{width:100%;border-collapse:collapse;font-size:.9rem}.resource-table th,.resource-table td,.resource-usage-table th,.resource-usage-table td{padding:12px;border-bottom:1px solid var(--c-border-light);text-align:left}.resource-table th,.resource-usage-table th{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-muted);font-weight:700;background:var(--c-bg)}.resource-name,.resource-usage-label{display:flex;align-items:center;gap:10px}.resource-usage-label{justify-content:space-between}.resource-swatch{width:11px;height:11px;border-radius:var(--r-pill);flex-shrink:0}.resource-link{border:0;background:transparent;color:var(--c-primary);cursor:pointer;font-size:.9rem;font-weight:600;transition:opacity var(--t-fast)}.resource-link:hover{opacity:.7}.resource-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--r-pill);font-size:.76rem;font-weight:600}.resource-badge--ok{background:var(--c-success-bg);color:#0f7a52}.resource-badge--danger{background:var(--c-error-bg);color:var(--c-error)}.resource-tabs{display:flex;gap:10px}.evm-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px}.evm-kpi-card{display:grid;gap:6px;padding:16px;border-radius:var(--r-lg);border:1.5px solid var(--c-border);background:var(--c-surface);box-shadow:var(--shadow-sm);transition:box-shadow var(--t-base),transform var(--t-base)}.evm-kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.evm-kpi-card span{font-size:.67rem;text-transform:uppercase;letter-spacing:.14em;color:var(--c-text-muted);font-weight:700}.evm-kpi-card strong{font-size:1.55rem;letter-spacing:-.04em;color:var(--c-text)}.evm-kpi-card small{color:var(--c-text-muted);font-size:.82rem}.evm-kpi-card--good{background:var(--c-success-bg);border-color:var(--c-success-border)}.evm-kpi-card--good strong{color:#0f7a52}.evm-kpi-card--warn{background:var(--c-warn-bg);border-color:var(--c-warn-border)}.evm-kpi-card--warn strong{color:#9a6700}.evm-kpi-card--critical{background:var(--c-error-bg);border-color:var(--c-error-border)}.evm-kpi-card--critical strong{color:var(--c-error)}.progress-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1116;display:flex;align-items:center;justify-content:center;padding:24px;z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.progress-modal{width:min(960px,100%);max-height:80vh;display:flex;flex-direction:column;border-radius:var(--r-xl);background:var(--c-surface);box-shadow:var(--shadow-xl);border:1.5px solid var(--c-border)}.progress-modal__header,.progress-modal__actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1.5px solid var(--c-border)}.progress-modal__actions{border-bottom:0;border-top:1.5px solid var(--c-border)}.progress-modal__body{overflow:auto;padding:8px 20px 20px}.progress-row{display:grid;grid-template-columns:2fr 1fr auto 120px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--c-border-light)}.resource-usage-table td.is-used{background:var(--c-primary-xlight);color:var(--c-primary);font-weight:600}.secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:22px}.dashboard-stat-list{display:grid;gap:10px}.dashboard-stat-list div,.milestone-list__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:var(--r-md);background:var(--c-bg);border:1px solid var(--c-border-light);transition:background var(--t-fast)}.dashboard-stat-list div:hover,.milestone-list__item:hover{background:var(--c-primary-xlight)}.dashboard-stat-list span,.milestone-list__item span{color:var(--c-text-muted);font-size:.86rem}.milestone-list{display:grid;gap:10px}.milestone-list__item{align-items:flex-start}.milestone-list__item div{display:grid;gap:3px}.milestone-list__item em{font-style:normal;color:var(--c-success);font-weight:600}.pmbok-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.pmbok-overview__card{display:grid;gap:6px;padding:16px 20px;border-radius:var(--r-lg);background:var(--c-surface);border:1.5px solid var(--c-border);box-shadow:var(--shadow-sm);transition:box-shadow var(--t-base),transform var(--t-base)}.pmbok-overview__card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.pmbok-overview__card span{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-muted)}.pmbok-overview__card strong{font-size:1.55rem;letter-spacing:-.04em;color:var(--c-primary)}.pmbok-form-shell{margin-bottom:18px}.pmbok-shell__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.pmbok-shell__header h2{margin:0 0 5px}.pmbok-shell__header p{margin:0;max-width:64ch;color:var(--c-text-muted);font-size:.92rem}.secondary-form{display:grid;gap:12px}.secondary-form input,.secondary-form select,.secondary-form textarea{width:100%;padding:10px 14px;border-radius:var(--r-md);border:1.5px solid var(--c-border);background:var(--c-bg);font-size:.93rem;color:var(--c-text);transition:border-color var(--t-base),box-shadow var(--t-base)}.secondary-form input:focus,.secondary-form select:focus,.secondary-form textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #5d2bff1a;background:#fff}.secondary-form__field{display:grid;gap:6px}.secondary-form__field span{color:var(--c-text-muted);font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.secondary-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.secondary-form__row label{display:grid;gap:6px;color:var(--c-text-muted);font-size:.86rem}.pmbok-card-grid{display:grid;gap:18px}.pmbok-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.pmbok-card__header h2{margin:0 0 5px;font-size:1.12rem}.pmbok-card__header p{margin:0;color:var(--c-text-muted);font-size:.9rem}.pmbok-record-card{box-shadow:var(--shadow-sm)}.pmbok-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 16px}.pmbok-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--r-pill);background:var(--c-primary-xlight);border:1.5px solid var(--c-primary-light);color:var(--c-primary);font-size:.78rem;font-weight:600}.pmbok-card__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}.pmbok-card__wide{grid-column:1 / -1}.pmbok-card__grid select[multiple]{min-height:120px}.pmbok-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pmbok-form-grid__wide{grid-column:1 / -1}.table-subtext{margin-top:4px;font-size:.76rem;color:var(--c-text-muted)}.stacked-selects{display:grid;gap:8px}.risk-heatmap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.risk-heatmap__cell{min-height:80px;padding:12px;border-radius:var(--r-lg);display:grid;align-content:space-between;border:1.5px solid transparent;transition:transform var(--t-base)}.risk-heatmap__cell:hover{transform:translateY(-2px)}.risk-heatmap__cell span{font-size:.7rem;color:var(--c-text-muted);font-weight:600}.risk-heatmap__cell strong{font-size:1.5rem;letter-spacing:-.04em}.risk-heatmap__cell.is-low{background:var(--c-teal-bg);border-color:#6dede580}.risk-heatmap__cell.is-low strong{color:#0f7a70}.risk-heatmap__cell.is-medium{background:var(--c-yellow-bg);border-color:#ffe19480}.risk-heatmap__cell.is-medium strong{color:#9a6700}.risk-heatmap__cell.is-high{background:var(--c-orange-bg);border-color:#ffbda780}.risk-heatmap__cell.is-high strong{color:#c94a00}.risk-heatmap__cell.is-critical{background:var(--c-pink-bg);border-color:#eca7c880}.risk-heatmap__cell.is-critical strong{color:#a80045}.inline-actions{display:inline-flex;align-items:center;gap:8px}.stakeholder-form{grid-template-columns:repeat(2,minmax(0,1fr))}.network-shell{border-radius:var(--r-xl);border:1.5px solid var(--c-border);background:var(--c-surface);overflow:auto;min-height:72vh;box-shadow:var(--shadow-sm)}.network-shell__svg{width:100%;min-width:960px;min-height:72vh}.network-shell__title{font:600 12px var(--font-sans);fill:var(--c-text)}.network-shell__meta{font:400 10px var(--font-sans);fill:var(--c-text-muted)}.status-good{color:var(--c-success);font-weight:600}.status-warn{color:var(--c-error);font-weight:600}.page-shell{padding:24px;display:grid;gap:22px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-header h1{margin:0 0 5px;font-size:1.65rem;line-height:1.1}.page-header p{margin:0;color:var(--c-text-muted);font-size:.92rem}.surface-card{background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--r-xl);padding:22px;box-shadow:var(--shadow-sm)}.surface-card--tight{padding:14px 18px}.resource-usage-table td.is-over{background:var(--c-error-bg);color:var(--c-error);font-weight:700}@media (max-width: 1100px){.task-detail-panel__record-grid,.task-detail-panel__record-grid--three{grid-template-columns:1fr}.wbs-command-bar__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wbs-layout{grid-template-columns:1fr}.wbs-nav{position:static}.wbs-nav__list{max-height:none}}@media (max-width: 960px){.project-layout{grid-template-columns:1fr}.project-nav{height:auto;position:static;border-right:0;border-bottom:1.5px solid var(--c-border);display:flex;gap:6px;overflow:auto;padding:12px 16px}.project-nav__header{min-width:110px;padding-bottom:0}.project-nav__link{white-space:nowrap}.secondary-grid,.stakeholder-form,.pmbok-form-grid,.pmbok-card__grid,.pmbok-overview{grid-template-columns:1fr}.resource-page__header{flex-direction:column;align-items:flex-start}.project-create__form{grid-template-columns:1fr}.project-card{grid-template-columns:1fr 1fr}.project-layout__topbar{flex-direction:column;align-items:stretch}.gantt-split-pane__left{display:none}.task-detail-panel{top:64px;width:min(100vw,340px);height:calc(100dvh - 72px);max-height:calc(100dvh - 72px)}.gantt-selection-bar,.gantt-modal-card__header,.gantt-modal-card__actions{flex-direction:column;align-items:stretch}.gantt-modal-card{max-height:calc(100dvh - 24px)}.wbs-baseline-modal-list{padding:0 14px 14px;max-height:min(calc(100dvh - 164px),720px)}.wbs-create-baseline-form{padding:0 16px 18px}.wbs-create-baseline-intro,.wbs-create-baseline-layout,.wbs-create-baseline-grid{grid-template-columns:1fr}.wbs-create-baseline-modal .gantt-modal-card__header{padding:22px 16px 16px}.wbs-create-baseline-panel,.wbs-create-baseline-intro__card,.wbs-baseline-card{padding:16px}.wbs-baseline-card__header,.wbs-baseline-card__actions{flex-direction:column;align-items:stretch}.task-detail-panel__select-row,.task-detail-panel__stats{grid-template-columns:1fr}}
