:root{--bg: #07111f;--panel: #0f1b2e;--panel2: #13243b;--glass: rgba(255, 255, 255, .08);--text: #eef6ff;--muted: #9fb1c7;--line: rgba(255, 255, 255, .13);--brand: #6ee7ff;--brand2: #8b5cf6;--ok: #22c55e;--warn: #f59e0b;--bad: #ef4444;--blue: #3b82f6;--surface: #102033;--surface2: #17263a;--shadow: 0 24px 80px rgba(0, 0, 0, .35);--input: #24364d;color-scheme:dark;scrollbar-width:thin;scrollbar-color:rgba(110,231,255,.5) rgba(255,255,255,.08)}body.light{--bg: #f4f7fb;--panel: #ffffff;--panel2: #eef4ff;--glass: #ffffff;--text: #132033;--muted: #607089;--line: #d7e1ef;--surface: #ffffff;--surface2: #f8fafc;--input: #ffffff;--shadow: 0 14px 40px rgba(15, 23, 42, .09);color-scheme:light;scrollbar-color:rgba(37,99,235,.5) rgba(15,23,42,.1)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#ffffff0d;border-radius:999px}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#6ee7ffa6,#8b5cf68c);border-radius:999px;border:2px solid rgba(8,15,29,.45)}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#6ee7ffe6,#8b5cf6bf)}*::-webkit-scrollbar-corner{background:#080f1d99}body.light *::-webkit-scrollbar-track{background:#0f172a14}body.light *::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#2563eb99,#7c3aed7a);border-color:#ffffffb3}body.light *::-webkit-scrollbar-corner{background:#f4f7fbe6}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 10% 0,#173866 0,var(--bg) 38%,#050914 100%);color:var(--text);overflow:hidden}body:has(.loginPage){height:auto;min-height:100%;overflow:auto}body.light{background:#f4f7fb}button,input,select,textarea{font:inherit}button{border:0;border-radius:14px;padding:10px 14px;font-weight:750;cursor:pointer;color:#05111f;background:linear-gradient(135deg,var(--brand),#a7f3d0);box-shadow:0 10px 30px #6ee7ff26}button.secondary,a.secondary{background:#ffffff1a;color:var(--text);border:1px solid var(--line);box-shadow:none}a.secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:10px 14px;font-weight:750;text-decoration:none;cursor:pointer}body.light button.secondary,body.light a.secondary{background:#fff;color:#132033}button.danger{background:linear-gradient(135deg,#fb7185,#ef4444);color:#fff}button.mini{padding:7px 9px;border-radius:10px;font-size:12px}button.iconBtn{display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}button.iconBtn.danger{color:#fff;background:#dc2626;border:1px solid rgba(255,255,255,.14);box-shadow:none}button.iconBtn.danger:hover{color:#fff;background:#b91c1c;filter:none}body.light button.iconBtn.danger{color:#fff;background:#ef4444;border-color:#dc2626}body.light button.iconBtn.danger:hover{color:#fff;background:#dc2626}button.iconBtn:not(.danger):hover{color:var(--text)}body.light button.iconBtn:not(.danger):hover{color:#132033}button.iconBtn .navIcon{display:block}button:disabled{opacity:.55;cursor:not-allowed}.saveActionBtn{min-width:132px;box-shadow:none}.saveActionBtn:disabled{opacity:1;filter:brightness(.92);cursor:wait}.app{display:grid;grid-template-columns:292px 1fr;height:100%;min-height:0;max-height:100%;overflow:hidden;transition:grid-template-columns .22s ease}.app.sidebar-collapsed{grid-template-columns:76px 1fr}.side{height:100%;min-height:0;padding:22px;background:#080f1ddb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-right:1px solid var(--line);overflow-x:visible;overflow-y:auto;position:relative;z-index:20;display:flex;flex-direction:column;transition:padding .22s ease}.side.collapsed{padding:14px 10px}body.light .side{background:#fff}.sideHead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:18px}.sideProfileHead{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.side.collapsed .sideHead{flex-direction:column;align-items:center;gap:10px;margin-bottom:14px}.side.collapsed .sideProfileHead{justify-content:center;flex:0}.logo{display:flex;gap:12px;align-items:center;min-width:0;flex:1}.side.collapsed .logo{flex:0;justify-content:center}.logoText{min-width:0}.mark{width:46px;height:46px;border-radius:16px;flex-shrink:0;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 15px 45px #8b5cf659}.side.collapsed .mark{width:40px;height:40px;border-radius:14px}.logo h1,.sideProfileHead .logoText h1{font-size:18px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.logo p{margin:3px 0 0;color:var(--muted);font-size:12px}.sidebarToggle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:12px;color:var(--muted)}.sidebarToggle:hover{color:var(--text)}.sidebarToggle .navIcon{display:block}.navIcon{display:block;flex-shrink:0;color:inherit}.navDragItem{margin:5px 0}.navDragItem.dragging{opacity:.72}.navDragItem:has(a:hover),.navDragItem:has(a:focus-visible){transform:translateY(-1px)}.nav a{display:flex;align-items:center;gap:10px;width:100%;margin:0;text-align:left;text-decoration:none;border-radius:14px;padding:10px 14px;font-weight:750;color:var(--text);background:#ffffff1a;border:1px solid var(--line);transition:background .15s ease,color .15s ease,border-color .15s ease}.side.collapsed .nav a{justify-content:center;padding:10px 8px}.navLabel{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.light .nav a{background:var(--panel2);color:#132033;border-color:var(--line)}.nav a:hover{color:var(--brand)}body.light .nav a:hover{color:#2563eb;background:#e8efff;border-color:#c7d7f5}.nav a.active,body.light .nav a.active{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border-color:transparent;box-shadow:0 8px 22px #2563eb47}.nav a.active:hover{color:#fff}body.light .nav a.active:hover{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed)}.content{padding:20px 30px 16px;min-width:0;min-height:0;height:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}.topbarActions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.profileMenu{position:relative}.side .profileDropdown{left:0;right:auto;z-index:120}.side.collapsed .profileDropdown{left:calc(100% + 8px);right:auto;top:0}.profileTrigger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:14px;color:var(--text);background:#ffffff1a;border:1px solid var(--line);box-shadow:none}body.light .profileTrigger{background:#fff;color:#132033}.profileTrigger:hover{border-color:#6ee7ff73;color:var(--brand)}body.light .profileTrigger:hover{color:#2563eb}.profileTriggerAvatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent}.profileTriggerAvatar .navIcon{width:18px;height:18px}.userAvatar{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;border:1px solid var(--line);background:linear-gradient(135deg,#6ee7ff38,#8b5cf638);color:var(--text);font-weight:800;letter-spacing:.02em}.userAvatar--photo{object-fit:cover;background:#ffffff0a}.userAvatar--placeholder .navIcon{width:42%;height:42%}.userAvatar--sm{width:32px;height:32px;border-radius:10px;font-size:11px}.userAvatar--md{width:48px;height:48px;border-radius:14px;font-size:14px}.userAvatar--xl{width:112px;height:112px;border-radius:28px;font-size:34px}.content:has(.tasksPage){display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.content:has(.tasksPage) .topbar{flex-shrink:0}.tasksPage{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.tasksPage .tasksTable{flex:1;min-height:0;max-height:none;height:auto;margin-top:8px;overflow:auto;border:1px solid var(--line);border-radius:20px;background:#ffffff0a}.tasksPage .row,.tasksPage .tasksTableHint{flex-shrink:0}.topbar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:16px;align-items:center;margin-bottom:18px}.topbarLead{display:flex;flex-direction:column;gap:4px;min-width:0}.topbarSub{margin:0;font-size:13px;line-height:1.35}.profileWorkspaceSwitcher{display:flex;flex-direction:column;gap:6px;padding:8px 12px 10px;margin:0}.profileWorkspaceSwitcherLabel{font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.profileWorkspaceSwitcher select{width:100%;margin:0;min-width:0}.profileDropdown:has(.profileWorkspaceSwitcher){min-width:300px}.milestoneTaskRow td:first-child{border-left:3px solid #a855f7}.milestoneTaskRow td{background:#7c3aed14}body.light .milestoneTaskRow td{background:#7c3aed0f}.milestoneImportedRow td{color:var(--muted)}.checkboxField label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkboxField small{display:block;margin-top:6px}.workspaceCreateCard h3{margin:0 0 8px}.workspaceCreateCardHint{margin:0 0 14px;font-size:13px}.workspaceCreateCard .workspaceCreateForm{max-width:420px}.workspaceSwitcher{display:flex;flex-direction:column;gap:6px;align-self:flex-start;min-width:0;max-width:100%}.workspaceSwitcherCaption{font-size:12px;color:var(--muted);line-height:1.2}.workspaceSwitcherControls{display:inline-flex;align-items:stretch;flex-wrap:wrap;gap:8px;width:fit-content;max-width:100%}.workspaceSwitcherLabel{flex:0 0 auto;margin:0}.workspaceSwitcherLabel select{width:auto;min-width:220px;max-width:min(360px,100vw - 200px);margin:0}.workspaceCreateDetails{position:relative;flex:0 0 auto}.workspaceCreateDetails>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:100%;min-height:42px;padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:#ffffff1a;color:var(--text);font-size:13px;font-weight:750;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;box-shadow:none;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.workspaceCreateDetails>summary::-webkit-details-marker{display:none}.workspaceCreateDetails>summary::marker{content:""}.workspaceCreateDetails>summary:hover{background:#ffffff24;border-color:#6ee7ff59}.workspaceCreateDetails[open]>summary{background:#6ee7ff24;border-color:#6ee7ff80;color:var(--brand);box-shadow:0 0 0 3px #6ee7ff1f}.workspaceNewBtnIcon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:linear-gradient(135deg,var(--brand),#a7f3d0);color:#05111f;font-size:15px;font-weight:800;line-height:1;flex-shrink:0}.workspaceCreatePanel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(320px,calc(100vw - 48px));padding:14px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff1a,#ffffff0d);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.workspaceCreateTitle{margin:0 0 12px;font-size:13px;font-weight:700;color:var(--text)}.workspaceCreateForm{display:flex;flex-direction:column;gap:10px}.workspaceCreateField{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.workspaceCreateField input{width:100%;min-width:0;box-sizing:border-box}.workspaceCreateSubmit{width:100%;margin-top:2px;padding:10px 14px;border-radius:12px;font-size:13px}body.light .workspaceCreateDetails>summary{background:#fff;color:#132033;border-color:var(--line)}body.light .workspaceCreateDetails>summary:hover{background:#f8fafc;border-color:#2563eb59}body.light .workspaceCreateDetails[open]>summary{background:#eef4ff;border-color:#2563eb73;color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}body.light .workspaceCreatePanel{background:#fff}.workspaceSettingsLink{display:inline-flex;align-items:center;align-self:center;min-height:42px;padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:#ffffff14;color:var(--text);font-size:13px;font-weight:650;text-decoration:none;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.workspaceSettingsLink:hover{background:#ffffff1f;border-color:#6ee7ff59}body.light .workspaceSettingsLink{background:#fff;color:#132033}.workspaceSettingsPage .workspaceSettingsHead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-start;gap:12px;margin-bottom:16px}.workspaceSettingsPicker{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);min-width:220px}.workspaceSettingsPicker select{min-width:220px}.workspaceInfoCard h3{margin:0 0 8px}.workspaceMetaLine{margin:0 0 14px}.workspaceInfoForm{display:flex;flex-direction:column;gap:12px}.workspaceInfoForm label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.workspaceInfoActions{display:flex;flex-wrap:wrap;gap:10px}.workspaceCreateUserBlock{margin-top:16px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.workspaceCreateUserForm{width:100%;padding:14px;display:flex;flex-direction:column;gap:12px}.workspaceCreateUserHint{margin:0;font-size:12px}.workspaceCreateUserGrid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.settingsPage{display:flex;flex-direction:column;gap:14px}.settingsGrid{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}.settingsCard{max-width:none;display:flex;flex-direction:column;height:100%}.settingsCardHead h3{margin:0 0 6px}.settingsCardHead p{margin:0}.settingsAvatarCard{grid-column:1;grid-row:auto}.settingsPersonalCard{grid-column:2;height:100%}.settingsSecurityCard{grid-column:3;height:100%}.settingsAvatarBody{display:flex;flex-direction:column;gap:18px;align-items:center;margin-top:18px;text-align:center;height:100%;justify-content:space-between}.settingsAvatarMeta{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}.settingsIdentity{display:flex;flex-direction:column;gap:4px;align-items:center}.settingsRoleChip{margin-top:4px}.settingsAvatarActions{justify-content:center;flex-wrap:wrap}.settingsForm{display:flex;flex-direction:column;gap:10px;margin-top:16px;max-width:440px;flex:1}.settingsForm>button:last-child{margin-top:auto}.settingsHint{font-size:12px;line-height:1.45}.profileDropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:40;min-width:240px;padding:8px;border-radius:18px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.profileDropdown.profileDropdownPortal{position:fixed;top:0;left:0;right:auto;z-index:220}body.light .profileDropdown{background:#fff}.profileDropdownHead{display:flex;flex-direction:column;gap:4px;padding:10px 12px 8px}.profileDropdownHead b{font-size:14px}.profileDropdownDivider{height:1px;margin:4px 0;background:var(--line)}.profileDropdownItem{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:12px;text-align:left;font-weight:700;color:var(--text);background:transparent;box-shadow:none;cursor:pointer}.profileDropdownItem .navIcon{flex-shrink:0;color:var(--muted)}.profileDropdownItem .navIcon.settingsCogIcon{width:22px;height:22px}.profileDropdownItem:hover{background:#ffffff14;color:var(--text)}body.light .profileDropdownItem:hover{background:var(--panel2)}.profileDropdownItem:hover .navIcon{color:var(--brand)}body.light .profileDropdownItem:hover .navIcon{color:#2563eb}.profileDropdownItem.danger,button.profileDropdownItem.danger,.profileDropdownItem.danger .navIcon,button.profileDropdownItem.danger .navIcon{color:#f87171;background:transparent;box-shadow:none}.profileDropdownItem.danger:hover,button.profileDropdownItem.danger:hover{background:#ef44441a;color:#fca5a5}.profileDropdownItem.danger:hover .navIcon,button.profileDropdownItem.danger:hover .navIcon{color:#fca5a5}body.light .profileDropdownItem.danger,body.light button.profileDropdownItem.danger,body.light .profileDropdownItem.danger .navIcon,body.light button.profileDropdownItem.danger .navIcon{color:#ef4444}body.light .profileDropdownItem.danger:hover,body.light button.profileDropdownItem.danger:hover{background:#ef444414;color:#dc2626}body.light .profileDropdownItem.danger:hover .navIcon,body.light button.profileDropdownItem.danger:hover .navIcon{color:#dc2626}.profileThemeRow{justify-content:space-between;cursor:default}.profileThemeRow:hover{background:transparent}.profileThemeLabel{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--text)}.profileThemeLabel .navIcon{color:var(--muted)}.themeSwitch{position:relative;display:inline-flex;width:44px;height:24px;flex-shrink:0;cursor:pointer}.themeSwitch input{position:absolute;opacity:0;width:0;height:0}.themeSwitchSlider{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#ffffff24;border:1px solid var(--line);transition:background .2s ease}body.light .themeSwitchSlider{background:#e2e8f0}.themeSwitchSlider:before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--text);transition:transform .2s ease,background .2s ease}.themeSwitch input:checked+.themeSwitchSlider{background:linear-gradient(135deg,#2563eb8c,#7c3aed80);border-color:transparent}.themeSwitch input:checked+.themeSwitchSlider:before{transform:translate(20px);background:#fff}.topbar h2{margin:0;font-size:28px}.sub,.muted{color:var(--muted);font-size:13px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row input,.row select{min-width:160px}.currencyHeader{display:flex;gap:10px;align-items:center;justify-content:center}.currencyHeader .iconBtn .navIcon{width:34px;height:34px}.currencyHeader .iconBtn{color:var(--text)}body.light .currencyHeader .iconBtn{color:#132033}.fxMini{min-width:118px;padding:9px 12px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#0ea5e92e,#8b5cf629);box-shadow:var(--shadow);cursor:pointer}.fxMini small{display:block;color:var(--muted);font-size:10px}.fxMini b{font-size:19px;display:block;margin-top:3px}.grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px}.tasksAttentionBanner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 14px;border-radius:14px;border:1px solid rgba(239,68,68,.35);background:#ef44441a;color:#fecaca;font-size:14px}body.light .tasksAttentionBanner{color:#991b1b;background:#ef444414;border-color:#dc262640}.grid3{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px}.projectsGrid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;margin-top:14px}.portfoliosGrid{margin-top:14px}.tile.portfolioTile{display:flex;flex-direction:column;min-height:168px}.portfolioTileDesc{flex:1;margin-top:4px;font-size:13px;line-height:1.45}.portfolioTileActions{gap:6px;flex-wrap:wrap;justify-content:flex-end}.projectTileWrap{opacity:1;transform:translateY(0) scale(1);max-height:320px;overflow:hidden;transition:opacity .38s ease,transform .38s ease,max-height .42s ease,margin .42s ease}.projectTileWrap.is-visible{max-height:320px;overflow:visible}.projectTileWrap.is-hidden{overflow:hidden;opacity:0;transform:translateY(12px) scale(.96);max-height:0;margin-bottom:-14px;pointer-events:none;visibility:hidden}.projectTileWrap.is-visible .tile{transition:box-shadow .38s ease,border-color .38s ease}.projectsEmptyHint{margin-top:14px}@media (prefers-reduced-motion: reduce){.projectTileWrap{transition:none}}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card,.tile{background:linear-gradient(180deg,#ffffff17,#ffffff0b);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}body.light .card,body.light .tile{background:#fff}.tile{cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;min-height:116px;position:relative;overflow:hidden;isolation:isolate}.tile:hover,.clickable:hover{transform:translateY(-3px);border-color:#6ee7ff8c}.tile b{display:block;font-size:30px;margin:9px 0 5px}.tile.projectTile{display:flex;flex-direction:column;min-height:168px;overflow:hidden}.tile.projectTile b{font-size:18px;line-height:1.2;margin:6px 0 4px}.projectTileDesc{flex:1;font-size:12px;line-height:1.3}.projectTileSchedule{font-size:12px;margin-top:4px}.projectScheduleRow{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}@media (max-width: 600px){.projectScheduleRow{grid-template-columns:1fr}}.projectTileInitiator{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:0}.projectTileInitiator span:last-child{font-weight:700}.projectTilePeople{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.projectTileTitleRow{min-width:0}.projectTileTitleRow b{display:block}.projectTileStatsFoot{margin-top:8px;padding-top:0}.projectTileStatsFoot .projectTileTasks{margin-top:0}.projectTileStatsFoot .pill{flex-shrink:0}@media (max-width: 700px){.projectTilePeople{grid-template-columns:1fr;gap:6px}}.projectInitiatorSection{margin:0}.projectPeopleGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:10px 0}@media (max-width: 900px){.projectPeopleGrid{grid-template-columns:1fr}}.projectInitiatorRow select{min-width:280px}.projectInitiatorError,.projectTileBar{margin-top:10px}.projectTileTasks{margin-top:0}.modalDeleteBtn{background:#0f172aeb!important;border:1px solid rgba(248,113,113,.5)!important;color:#fca5a5!important;box-shadow:none!important}body.light .modalDeleteBtn{background:#fff!important;border-color:#dc262659!important;color:#dc2626!important}.modalDeleteBtn:hover{background:#ef444429!important;color:#fecaca!important}body.light .modalDeleteBtn:hover{background:#ef44441a!important;color:#b91c1c!important}.projectTileStatic{cursor:default}.projectTileStatic:hover{transform:none}.projectTileFoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px}.modalHeadActions{display:flex;align-items:center;gap:8px;flex-shrink:0}.projectTileDelete{color:#fca5a5;flex-shrink:0}body.light .projectTileDelete{color:#dc2626}.projectTileDelete:hover{background:#ef44441f;color:#fecaca}body.light .projectTileDelete:hover{background:#ef444414;color:#b91c1c}.confirmActions{margin-top:16px;justify-content:flex-end}.taskFormModal .modalBox{width:min(760px,96vw)}.entityForm{display:flex;flex-direction:column;gap:14px}.entityFormSection{margin:0;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#ffffff08}body.light .entityFormSection{background:var(--panel2)}.entityFormSectionTitle{margin:0 0 14px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.entityFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.entityFormGrid3{grid-template-columns:repeat(3,minmax(0,1fr))}.entityFormField{display:flex;flex-direction:column;gap:6px;min-width:0}.entityFormField .fieldLabel{margin:0}.entityFormField input,.entityFormField select,.entityFormField textarea{width:100%;min-width:0;box-sizing:border-box}.entityFormFieldFull{grid-column:1 / -1}.entityFormFieldSpan2{grid-column:span 2}.entityFormTextareaMain{min-height:88px;resize:vertical}.entityFormMilestoneToggle{margin-bottom:14px}.entityFormError{margin-top:14px}.entityFormHint{margin:12px 0 0;font-size:13px}.entityFormFooter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.entityFormStack{display:flex;flex-direction:column;gap:14px}.projectFormModal .modalBox{width:min(860px,96vw)}.taskFormActions{justify-content:space-between;align-items:center;gap:12px}.taskFormPrimaryActions{margin-left:auto}.taskDocumentsBlock{margin-top:14px}.taskDocumentsHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.taskDocumentsHead h4{margin:0}.taskDocumentsBlock .artifactList{margin-bottom:8px}.taskAttachmentList{display:flex;flex-direction:column;gap:8px}.taskAttachmentRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.taskAttachmentLink{text-decoration:none}.taskAttachmentMeta{font-size:12px}.projectDetailActions{margin-top:18px;justify-content:flex-end}.traffic-green{border-left:6px solid var(--ok)}.traffic-yellow{border-left:6px solid var(--warn)}.traffic-red{border-left:6px solid var(--bad)}.trafficPanelHint{margin:-4px 0 12px;font-size:12px;line-height:1.45}.trafficPanel{display:flex;flex-direction:column;gap:12px}.trafficSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.trafficSummaryItem{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#ffffff0a}body.light .trafficSummaryItem{background:var(--panel2)}.trafficSummaryItem b{display:block;font-size:24px;line-height:1.1}.trafficSummaryItem small{display:block;margin-top:4px;color:var(--muted);font-size:11px;text-transform:lowercase}.trafficSummaryItem.traffic-red{border-left:4px solid var(--bad)}.trafficSummaryItem.traffic-yellow{border-left:4px solid var(--warn)}.trafficSummaryItem.traffic-green{border-left:4px solid var(--ok)}.trafficGroup{display:flex;flex-direction:column;gap:8px}.trafficGroupLabel{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.trafficRow{border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#ffffff0a}body.light .trafficRow{background:#fff}.trafficRowHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.trafficRowHead b{font-size:15px}.trafficRowStatus{margin-left:8px;font-size:11px}.trafficBadge{flex-shrink:0;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.trafficBadge.traffic-red{background:#ef444429;color:#fca5a5}.trafficBadge.traffic-yellow{background:#f59e0b29;color:#fcd34d}.trafficBadge.traffic-green{background:#22c55e29;color:#86efac}body.light .trafficBadge.traffic-red{color:#b91c1c}body.light .trafficBadge.traffic-yellow{color:#b45309}body.light .trafficBadge.traffic-green{color:#15803d}.projectTrafficLegend{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.trafficRowMeta{margin-top:6px;font-size:12px}.trafficRowBar{margin-top:8px;height:6px}.trafficRowIssues{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:12px}.trafficIssue{border-radius:999px;padding:3px 8px;font-weight:700}.trafficIssueLate{background:#ef444424;color:#fca5a5}.trafficIssueBad{background:#f59e0b24;color:#fcd34d}.trafficIssueRisk{background:#8b5cf629;color:#c4b5fd}body.light .trafficIssueLate{color:#b91c1c}body.light .trafficIssueBad{color:#b45309}body.light .trafficIssueRisk{color:#6d28d9}.trafficRow.traffic-red{border-left:4px solid var(--bad)}.trafficRow.traffic-yellow{border-left:4px solid var(--warn)}.trafficRow.traffic-green{border-left:4px solid var(--ok)}.trafficRow.clickable:hover{transform:translateY(-1px);border-color:#6ee7ff59}.portfolioLayout{align-items:center}.portfolioDetailHead{margin-bottom:4px}.portfolioBackBtn{padding:10px 12px;flex-shrink:0}.portfolioDetailActions{margin-left:auto;gap:10px}.portfolioDetailTitle{margin:12px 0 0;font-size:22px;font-weight:700;letter-spacing:-.02em}.portfolioDetailDesc{margin-top:6px;font-size:13px;line-height:1.5}.portfolioTrafficCard{position:sticky;top:14px}.portfolioInlineHead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}.portfolioInlineActions{flex-wrap:wrap;justify-content:flex-end}.portfolioInlineStats{margin-top:14px}.portfolioInlineSection,.portfolioInline .section{margin-top:0}.portfolioInlineStats+.section{margin-top:10px}.portfolioHint{text-align:center;padding:18px}.dashboardToolbar{display:flex;justify-content:flex-end;margin-bottom:14px}.dashboardModeSwitcher{display:inline-flex;gap:4px;padding:4px;border-radius:14px;border:1px solid var(--line);background:#ffffff0a}body.light .dashboardModeSwitcher{background:var(--panel2)}.dashboardModeSwitcher button{border:none;background:transparent;color:var(--muted);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.dashboardModeSwitcher button.active{background:#6ee7ff29;color:var(--text)}body.light .dashboardModeSwitcher button.active{background:#fff;box-shadow:0 1px 4px #0f172a14}.dashboardSection{margin-top:14px}.dashboardAnalyticsKpis{grid-template-columns:repeat(5,minmax(150px,1fr))}.dashboardKpiTile b{font-size:28px}.dashboardCardHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.dashboardCardHead h3{margin:0}.healthDonut{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:22px;justify-items:stretch;align-items:center;margin-top:12px;min-height:0}.healthDonutChart{width:min(100%,350px);aspect-ratio:1 / 1;height:auto;border-radius:50%;display:grid;place-items:center;justify-self:center}.healthDonutHole{width:62%;height:62%;border-radius:50%;background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}body.light .healthDonutHole{background:#fff}.healthDonutHole b{font-size:clamp(30px,5vw,42px);line-height:1}.healthDonutHole small{font-size:clamp(12px,1.4vw,14px);color:var(--muted)}.healthDonutLegend{width:100%;display:flex;flex-direction:column;gap:10px}.healthDonutLegendItem{display:grid;grid-template-columns:12px 1fr auto auto;gap:10px;align-items:center;font-size:15px}.healthDonutLegendItem b{font-size:16px}.healthDonutDot{width:10px;height:10px;border-radius:50%}.healthDonutLegendItem.traffic-green .healthDonutDot{background:var(--ok)}.healthDonutLegendItem.traffic-yellow .healthDonutDot{background:var(--warn)}.healthDonutLegendItem.traffic-red .healthDonutDot{background:var(--bad)}.attentionProjectsList{display:flex;flex-direction:column;gap:8px;margin-top:8px;max-height:430px;overflow-y:auto;padding-right:6px;scrollbar-gutter:stable}.attentionProjectRow{border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#ffffff08}body.light .attentionProjectRow{background:#fff}.attentionProjectRowHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.attentionProjectRowMeta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:13px}.dashboardTableWrap{overflow:auto;margin-top:8px}.dashboardTable{width:100%;border-collapse:collapse;font-size:14px}.dashboardTable th,.dashboardTable td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.dashboardTable th{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.dashboardTable tr.clickable{cursor:pointer}.dashboardTable tr.clickable:hover td{background:#6ee7ff0f}.dashboardTableSub{font-size:12px;margin-top:2px}.dashboardTableProgress{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;min-width:120px}.dashboardTableProgress .barBg{height:6px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:5px 9px;font-size:12px;font-weight:800;background:#ffffff1a;border:1px solid var(--line)}.statusPills{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.s-done{background:#dcfce7;color:#166534}.s-work{background:#dbeafe;color:#1e40af}.s-bad{background:#fee2e2;color:#991b1b}.s-new{background:#fef3c7;color:#92400e}.s-other{background:#ede9fe;color:#5b21b6}input,select,textarea{background:var(--input);border:1px solid var(--line);border-radius:14px;color:var(--text);padding:10px 12px}body.light input,body.light select,body.light textarea{background:#fff;color:#132033}select option{background:#0f1b2e;color:#fff}body.light select option{background:#fff;color:#132033}textarea{min-height:90px;width:100%;resize:vertical}label.fieldLabel{font-size:12px;color:var(--muted);display:block;margin:4px 0}.tableWrap{overflow:auto!important;resize:both;max-height:62vh;min-height:160px;max-width:100%;border:1px solid var(--line);border-radius:20px;background:#ffffff0a}.tableWrap table{min-width:1180px;table-layout:fixed}.tableWrap th,.tableWrap td{min-width:120px;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}.tableWrap td:hover{white-space:normal;overflow:visible}.tasksTable{min-height:180px}.tasksTable table{min-width:1180px;table-layout:fixed}.tasksTable th,.tasksTable td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;box-sizing:border-box;border-right:none;border-left:none}.tasksTable th{position:sticky;top:0;z-index:2;padding-right:14px}.tasksTable th .thLabel{display:block;padding-right:8px}.tasksTable td:hover{white-space:normal;overflow:visible}.tasksTable th .col-resizer{position:absolute;right:-3px;top:0;width:8px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:5;border:none;background:transparent;opacity:0}.tasksTable th .col-resizer:hover,.tasksTable th .col-resizer:active{border:none;background:transparent;opacity:0}.tasksTable::-webkit-resizer{display:none}.tasksTableHint{margin:8px 0 0;font-size:12px}body.col-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.col-resizing *{cursor:col-resize!important}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{position:sticky;top:0;background:#12233b;text-align:left;color:#dbeafe;z-index:2}body.light th{background:#f2f6ff;color:#132033}tr:hover td{background:#6ee7ff0a}.barBg{height:10px;border-radius:99px;background:#ffffff1f;overflow:hidden}body.light .barBg{background:#e6edf7}.bar{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--brand2))}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:none;align-items:center;justify-content:center;padding:22px;z-index:30}.modal.show{display:flex}.modal.modalTop{z-index:45}.modalBox{width:min(1180px,96vw);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}body.light .modalBox{background:#fff}.modalHead{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.modalHeadText{min-width:0;flex:1}.modalHeadText b{display:block;font-size:18px;line-height:1.35}.modalHeadSub{margin-top:6px;line-height:1.4}.modalClose,.modalEdit{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:12px;color:var(--muted)}.modalClose:hover,.modalEdit:hover{color:var(--text)}body.light .modalClose:hover,body.light .modalEdit:hover{color:#132033}.modalClose .navIcon,.modalEdit .navIcon{display:block}.modalBody{padding:22px}.section{border:1px solid var(--line);border-radius:18px;padding:14px;margin:10px 0;background:#ffffff0a}.section h4{margin:0 0 10px;font-size:15px}.section p{margin:8px 0;line-height:1.45}.projectDetailTop{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;margin:10px 0}.projectDetailPassport{margin:0}.projectPassportHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.projectPassportHead h4{margin:0}.projectPassportEdit{flex-shrink:0}.projectPassportSummary p{margin:0 0 10px;line-height:1.45}.projectPassportSummaryValue{font-weight:700}.projectPassportForm{display:flex;flex-direction:column;gap:12px;transition:none}.projectPassportSummary{transition:none}.projectPassportField textarea{min-height:72px}.projectPassportField .projectNameInput{min-height:72px;resize:vertical}.projectPassportActions{margin-top:14px}.projectPassportError{margin-top:10px}.projectDetailRight{display:flex;flex-direction:column;gap:14px}.projectDetailStats{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.projectDetailStats .tile{cursor:default}.projectDetailStats .tile:hover{transform:none}.projectDetailArtifacts{margin:0}.projectArtifactsLabel{margin-top:8px;margin-bottom:4px;font-size:12px}.artifactList{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.chip{display:inline-flex;border-radius:999px;padding:4px 8px;background:#14263f;color:#dbeafe;margin:2px;font-size:12px}.artifactChip{text-decoration:none;transition:background .15s ease,color .15s ease}.artifactChip:hover{background:#1e3a5f;color:#fff}body.light .artifactChip:hover{background:#d6e4ff;color:#0f172a}body.light .chip{background:#eaf1ff;color:#132033}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.formgrid3{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px}.financePage{margin-top:0;max-width:100%;overflow:hidden}.financeLayout{display:grid;grid-template-columns:1fr;gap:14px;max-width:100%}.financePage .card{max-width:100%;overflow:hidden}.financeForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;max-width:100%}.fin-field{display:flex;flex-direction:column;gap:5px;min-width:0;max-width:100%}.fin-field input,.fin-field select{width:100%;max-width:100%}.fin-label-row{display:flex;gap:8px;align-items:center;justify-content:flex-start;flex-wrap:wrap}.fin-label-row .fieldLabel{margin:0}.info-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#6ee7ff2e;border:1px solid var(--line);color:var(--text);font-size:12px;font-weight:800;cursor:pointer;flex:0 0 auto;padding:0;box-shadow:none}.info-dot:hover,.info-dot:focus-visible{background:linear-gradient(135deg,var(--brand),#a7f3d0);color:#05111f;outline:none}.abbr-chip{display:inline-flex;border-radius:999px;padding:2px 7px;background:#8b5cf62e;border:1px solid var(--line);font-size:11px;color:var(--muted);white-space:nowrap}.hint{color:var(--muted);font-size:11px;line-height:1.35}.financeActions{margin-top:10px}.financeSaveBtn{min-width:196px}.financeStat.tile{cursor:default;min-height:96px}.financeStat.tile:hover{transform:none;border-color:var(--line);box-shadow:var(--shadow)}.financeFxControls{margin-top:14px}.financeForecast{margin-top:12px;padding:12px 14px;border-radius:12px;background:#ffffff0a;border:1px solid var(--line);line-height:1.5}body.light .financeForecast{background:#f8fbff}.financeExplain{margin-top:14px}.financeFormulaIntro{margin:0 0 10px;line-height:1.55}.pm-help-list{margin:0;padding-left:18px;color:var(--muted);line-height:1.6}.pm-help-list li{margin:8px 0}.financeHelpModal .section h3{margin-top:0}.nsiBlock{margin-top:14px}.nsiBlockHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.nsiBlockHead h3{margin:0}.nsi-actions{display:flex;gap:6px;flex-wrap:wrap}.nsi-section-editor{display:grid;gap:10px}.nsi-section-editor .section-line{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}.nsi-section-editor textarea{min-height:72px}.nsiIndustryHint{margin:10px 0 0;font-size:12px}.issuesCard{overflow:visible;position:relative;z-index:2}.issuesCard h3{margin-top:0}.issuesForm{gap:14px}.issuesForm select,.issuesForm input,.issuesForm textarea{width:100%;min-width:0;box-sizing:border-box;display:block}.issuesForm textarea{min-height:120px}.issuesActions{margin-top:10px}.issuesTable{margin-top:14px;position:relative;z-index:1}.issuesTextCell{max-width:320px;white-space:normal;word-break:break-word}.loginPage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.loginCard{width:min(420px,96vw)}.loginCard input{width:100%;box-sizing:border-box;display:block}.passwordField{position:relative}.passwordField input{padding-right:46px}.passwordToggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;box-shadow:none;color:var(--muted);border-radius:10px}.passwordToggle:hover{color:var(--text);background:transparent;border:none;box-shadow:none}.passwordToggle .navIcon{width:18px;height:18px}.loginCard h1{margin-top:0}.errorBox{background:#ef444426;border:1px solid rgba(239,68,68,.35);border-radius:14px;padding:10px 12px;margin-bottom:12px;color:#fecaca}.placeholderBox{text-align:center;padding:48px 24px}.content:has(.kanbanPage){display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.content:has(.kanbanPage) .topbar{flex-shrink:0}.kanbanPage{display:flex;flex-direction:column;min-height:0;height:100%}.kanbanHint{margin:10px 0 0;flex-shrink:0}.kanbanBoard{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;margin-top:14px;flex:1;min-height:0;overflow-x:auto;padding-bottom:8px}.kanbanColumn{display:flex;flex-direction:column;min-height:430px;max-height:calc(100vh - 240px);border:1px dashed var(--line);border-radius:24px;padding:12px;background:#ffffff09;overflow:hidden}body.light .kanbanColumn{background:#ffffffeb}.kanbanColumn.is-dropTarget{border-color:#6ee7ff8c;box-shadow:0 0 0 1px #6ee7ff40}.kanbanColumnHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.kanbanColumnHead b{display:block;font-size:15px}.kanbanColumnHead small{display:block;margin-top:2px}.kanbanColNew{border-top:4px solid #f59e0b}.kanbanColWork{border-top:4px solid #3b82f6}.kanbanColBad{border-top:4px solid #ef4444}.kanbanColDone{border-top:4px solid #22c55e}.kanbanColumnBody{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.kanbanCard{background:var(--surface2);border:1px solid var(--line);border-radius:18px;padding:12px;margin-bottom:10px;cursor:grab;transition:transform .15s ease,border-color .15s ease,opacity .15s ease}.kanbanCard:active{cursor:grabbing}.kanbanCard:hover{border-color:#6ee7ff59}.kanbanCard.is-dragging{opacity:.45;transform:scale(.98)}.kanbanCardTop{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.kanbanCardCode{font-size:12px;font-weight:800;color:var(--muted)}.kanbanCardProject{font-size:12px;font-weight:800}.kanbanCardTitle{font-size:14px;line-height:1.45;margin-bottom:8px}.kanbanCardMeta{font-size:12px;line-height:1.4}.kanbanEmpty{margin:auto 0;text-align:center;font-size:13px;padding:24px 8px}.content:has(.docsPage){display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.content:has(.docsPage) .topbar{flex-shrink:0}.docsPage{--docs-grid-columns: minmax(260px, 1fr) minmax(240px, 1fr) minmax(0, 2.2fr);display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.docsPage .docsLayout{display:grid;grid-template-columns:var(--docs-grid-columns);gap:14px;margin-top:14px;flex:1;min-height:0}.docsPage>.row,.docsPage>.errorBox{flex-shrink:0}.docsPage>.docsPageToolbar{display:grid;grid-template-columns:var(--docs-grid-columns);gap:14px;align-items:center}.docsPageToolbar .docsProjectSelect{grid-column:1 / 3;min-width:0;width:100%}.docsPageToolbar .docsTemplateSearch{grid-column:3;min-width:0;width:100%}.docsPanel,.docsEditor{min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.docsPanel h3{flex-shrink:0}.docsTemplateList,.docsSavedList{display:flex;flex-direction:column;gap:8px;margin-top:10px;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto}.docsTemplateList{margin-right:-10px;padding-right:6px;scrollbar-gutter:stable}.docsTemplateItem{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;width:100%;min-width:0;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#ffffff0a;color:var(--text);font-weight:600;box-shadow:none}.docsTemplateItem b{display:block;width:100%;font-weight:700;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.docsTemplateItem .muted{display:block;width:100%;font-weight:400;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.docsSavedItem{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;width:100%;min-width:0;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#ffffff0a;color:var(--text);font-weight:600;box-shadow:none;overflow:hidden}.docsSavedItem b{width:100%;overflow-wrap:anywhere;word-break:break-word}.docsTemplateItem:hover,.docsSavedItem:hover{border-color:#ffffff2e;box-shadow:none}body.light .docsTemplateItem:hover,body.light .docsSavedItem:hover{border-color:#0f172a2e}.docsTemplateItem:focus,.docsTemplateItem:focus-visible,.docsSavedItem:focus,.docsSavedItem:focus-visible,.docsDeleteBtn:focus,.docsDeleteBtn:focus-visible{outline:1px solid rgba(255,255,255,.2);outline-offset:0;box-shadow:none}body.light .docsTemplateItem:focus-visible,body.light .docsSavedItem:focus-visible,body.light .docsDeleteBtn:focus-visible{outline-color:#0f172a33}.docsSavedRow{display:flex;align-items:stretch;gap:6px}.docsSavedRow .docsSavedItem{flex:1;min-width:0}.docsDeleteBtn{flex-shrink:0;width:36px;padding:0;border-radius:12px;border:1px solid var(--line);background:#ffffff0a;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-weight:600;box-shadow:none}.docsDeleteBtn:hover{color:#fca5a5;border-color:#f8717173;background:#ef44441f;box-shadow:none}body.light .docsDeleteBtn{background:#fff}body.light .docsDeleteBtn:hover{color:#dc2626;background:#ef444414}.docsDeleteBtn .navIcon{display:block}body.light .docsTemplateItem,body.light .docsSavedItem{background:#fff}.docsSavedRow.active .docsSavedItem{border-color:#38bdf88c;box-shadow:none}.docsEditorToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-shrink:0;flex-wrap:nowrap}.docsEditorToolbarHead{margin-bottom:0;flex-wrap:wrap;justify-content:flex-end;gap:8px}.modal.docsEditorFullscreen.modalTop{z-index:50}.modal.docsEditorFullscreen{padding:10px}.modal.docsEditorFullscreen .modalBox{width:min(1320px,98vw);height:min(940px,96vh);max-height:96vh;display:flex;flex-direction:column;overflow:hidden}.modal.docsEditorFullscreen .modalHead{align-items:center;flex-wrap:wrap;gap:10px 14px}.modal.docsEditorFullscreen .modalBody{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:10px 14px 14px}.docsEditorFullscreenBody{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.docsEditorFullscreenBody .docPaperWrap{flex:1;min-height:0}.modal.docsEditorFullscreen .docPaper{max-width:none}.docsEditorFullscreenBody .docsSignedFiles{flex-shrink:0;margin-top:12px}.docsEditorToolbarActions{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;min-width:0}.docsEditorToolbarActions .secondary{white-space:nowrap;flex-shrink:0}.docsEditorToolbarActions .dataActionBtn.iconBtn{color:var(--text)}body.light .docsEditorToolbarActions .dataActionBtn.iconBtn{color:#132033}.docsEditorToolbarActions .dataActionBtn.iconBtn:hover{color:var(--text)}body.light .docsEditorToolbarActions .dataActionBtn.iconBtn:hover{color:#132033}.docsEditorToolbar .saveActionBtn{flex-shrink:0}.dataActionBtn{width:40px;height:40px;padding:0;flex-shrink:0}.dataActionBtn .navIcon{width:20px;height:20px}.thLabelBtn{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;box-shadow:none;padding:0;font:inherit}.thLabelBtn.sortable{cursor:pointer}.thSortMark{font-size:11px;color:var(--muted);opacity:.7}.thSortMark.active{opacity:1;color:var(--text)}.docPaperWrap{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px 4px 12px;border-radius:16px;background:#ffffff08}body.light .docPaperWrap{background:#0f172a0a}.docPaper{background:#fbfdff;color:#102033;border-radius:18px;padding:26px 30px 34px;line-height:1.45;box-shadow:0 18px 45px #00000029;max-width:980px;margin:0 auto;font-family:Segoe UI,Arial,sans-serif}.docPaper h2{color:#0f172a;font-size:1.05rem;margin:18px 0 8px}.docPaperTitle{display:block;width:100%;border:0;background:transparent;font-size:1.65rem;font-weight:700;color:#0f172a;margin:0 0 10px;padding:0;line-height:1.25}.docPaperTitle:focus{outline:none}.docPaperMeta{margin:0 0 8px;color:#475569;font-size:14px}.docPaperBlock:last-child .docPaperSection{margin-bottom:0}.docPaper .decisionsTable{border:1px solid #d8e2f1;border-radius:12px;background:#fff;margin-bottom:4px}.docPaper .decisionsTable.tableWrap{resize:vertical}.docPaper .decisionsTable table{min-width:100%;width:100%;table-layout:fixed}.docPaper .decisionsTable th,.docPaper .decisionsTable td{max-width:none;text-overflow:unset}.docPaper .decisionsTable th{background:#0f223b;color:#eef6ff}.docPaper .decisionsTable th:nth-child(1),.docPaper .decisionsTable td.decisionsTableTask{width:50%}.docPaper .decisionsTable th:nth-child(2),.docPaper .decisionsTable td:nth-child(2){width:28%}.docPaper .decisionsTable th:nth-child(3),.docPaper .decisionsTable td:nth-child(3){width:140px}.docPaper .decisionsTable td{background:#fff;color:#102033;white-space:normal;overflow:visible;vertical-align:top}.docPaper .decisionsTable td.decisionsTableTask{vertical-align:top}.docPaper .decisionsTable input,.docPaper .decisionsTable textarea{width:100%;background:#fff;color:#102033;border:1px solid #d8e2f1;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:14px;box-sizing:border-box}.docPaper .decisionsTable textarea.decisionsTaskInput{display:block;min-height:96px;line-height:1.45;resize:vertical}.docPaper .decisionsTable input::placeholder,.docPaper .decisionsTable textarea::placeholder{color:#94a3b8}.docPaper .decisionsTable input:focus,.docPaper .decisionsTable textarea:focus{outline:2px solid rgba(37,99,235,.25);border-color:#93c5fd}.docPaper .decisionsTable input[type=date]{color-scheme:light}.docPaper .decisionsTable button.secondary{background:#f1f5f9;color:#132033;border:1px solid #cbd5e1}.docPaper .decisionsTable .decisionsTableActions{width:52px;text-align:center;vertical-align:top}.docPaper .decisionsTable .decisionsRowDeleteBtn{width:36px;height:36px;padding:0;margin:0 auto;border-radius:10px;border:1px solid #cbd5e1;background:#f1f5f9;color:#475569;box-shadow:none}.docPaper .decisionsTable .decisionsRowDeleteBtn:hover{color:#dc2626;border-color:#dc262673;background:#ef44441a}.docPaper .decisionsTable .decisionsRowDeleteBtn .navIcon{display:block}.docPaper .decisionsAddRow{margin-top:8px;background:#f1f5f9;color:#132033;border:1px solid #cbd5e1}.decisionsTasksModalActions{justify-content:flex-end;margin-top:16px;gap:10px}.docPaperSection{width:100%;min-height:96px;border:1px solid #d8e2f1;border-radius:12px;padding:12px 14px;margin:0 0 14px;background:#fff;color:#102033;line-height:1.45;resize:vertical;font-family:inherit;font-size:14px}.docPaperSection:focus{outline:2px solid rgba(37,99,235,.25);border-color:#93c5fd}.docPaperSection::placeholder{color:#94a3b8}.docsEmpty{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 0}.usersPage .usersTopStack{display:flex;flex-direction:column;gap:14px}.usersFormsRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:stretch}.usersFormCard,.usersRoleCard{display:flex;flex-direction:column;max-width:none;height:100%}.usersFormCardFooter{margin-top:auto;padding-top:14px;align-self:flex-start}.usersRoleGrid{grid-template-columns:1fr}.usersFormGrid input,.usersFormGrid select,.usersRoleGrid input,.usersRoleGrid select{width:100%}.usersPasswordHint{margin:6px 0 0;font-size:12px;line-height:1.4}.checkboxRow{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;cursor:pointer}.checkboxRow input{width:auto;margin:0}.usersCreateCheckbox{grid-column:1 / -1}.usersMatrixHint{margin-top:8px}.usersMatrixHead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:4px}.usersMatrixHead h3{margin:0}.usersMatrixActions{gap:10px;flex-shrink:0}.accessMatrixDirty{border-color:#fbbf2473}.accessMatrixDirtyNote{font-size:12px;color:#fbbf24}.accessMatrixReadonlyNote{font-size:12px;color:var(--muted)}.accessMatrixReadonly .permBadge,.accessMatrixReadonly .permCell span{cursor:default}.accessMatrix{margin-top:10px;overflow:visible;border:1px solid var(--line);border-radius:18px;max-width:100%}.accessMatrixLegend{display:flex;flex-wrap:wrap;gap:10px 16px;padding:10px 12px;border-bottom:1px solid var(--line);align-items:center}.accessMatrixLegendItem{display:inline-flex;align-items:center;gap:6px;font-size:12px}.accessMatrix .tableWrap{border:0;border-radius:0;overflow-x:auto;overflow-y:visible}.accessMatrixTable{min-width:1200px}.accessMatrixTable th{text-align:center;vertical-align:middle}.accessMatrixRoleCol{position:sticky;left:0;z-index:2;background:var(--panel);min-width:260px;max-width:320px;width:260px;white-space:nowrap;text-align:left;padding-right:16px}.accessMatrixModuleCol{font-size:11px;min-width:88px;max-width:110px;white-space:normal;line-height:1.25}.permCell{position:relative;display:flex;justify-content:center}.permBadge{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;cursor:pointer;font-size:11px;font-weight:600;line-height:1;min-width:52px;padding:6px 8px;text-align:center;box-shadow:none;background-image:none}.permBadgeNone{background:#94a3b82e;color:#94a3b8}.permBadgeView{background:#38bdf82e;color:#38bdf8}.permBadgeEdit{background:#fbbf242e;color:#fbbf24}.permBadgeFull{background:#4ade802e;color:#4ade80}body.light .permBadgeNone{background:#e2e8f0;color:#64748b}body.light .permBadgeView{background:#dbeafe;color:#2563eb}body.light .permBadgeEdit{background:#fef3c7;color:#d97706}body.light .permBadgeFull{background:#dcfce7;color:#16a34a}.permPopover{min-width:240px;padding:8px;border-radius:14px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.permPopoverPortal{position:fixed;transform:translate(-50%);z-index:200}.permPopoverOption{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:start;padding:8px;border-radius:10px;cursor:pointer}.permPopoverOption:hover{background:#ffffff0a}body.light .permPopoverOption:hover{background:#0f172a0a}.permPopoverOption span:last-child{display:flex;flex-direction:column;gap:2px}.permPopoverOption small{color:var(--muted);font-size:11px;line-height:1.3}.usersRoleHint{margin-top:8px;font-size:13px}.usersRolePreview{margin-top:10px;font-size:13px;line-height:1.45;display:flex;flex-direction:column;gap:4px}.usersAccessCell{min-width:180px;font-size:13px;line-height:1.45}.usersElevatedChip{margin-top:6px;background:#fbbf2429;color:#fbbf24}body.light .usersElevatedChip{background:#fef3c7;color:#b45309}.usersTableWrap{margin-top:14px;max-height:55vh}.usersRowActions{justify-content:flex-end;flex-wrap:nowrap;gap:6px}.usersIconBtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0}.usersIconBtn.secondary{color:var(--text);background:#ffffff14;border:1px solid var(--line)}.usersIconBtn.secondary:hover{color:var(--text);background:#ffffff24}body.light .usersIconBtn.secondary{color:#334155;background:#fff;border-color:#cbd5e1}body.light .usersIconBtn.secondary:hover{color:#0f172a;background:#f8fafc}.approvalStatus{margin-bottom:14px}.approvalSteps{display:flex;flex-direction:column;gap:10px}.approvalStep{padding:12px;border-radius:12px;border:1px solid var(--line);background:#ffffff0a}body.light .approvalStep{background:#fff}.approvalStepHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.approverPicker{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.approverChip{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.traceHash{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.emptyTableNote{padding:16px}.clickRow{cursor:pointer}.clickRow:hover td{background:#ffffff0a}body.light .clickRow:hover td{background:#0f172a0a}.importPage .pageHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.importSteps{display:flex;flex-wrap:wrap;gap:12px 20px;list-style:none;padding:0;margin:0 0 24px}.importSteps li{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.importSteps li.active{color:var(--text);font-weight:600}.importStepNum{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--surface2);font-size:12px}.importSteps li.active .importStepNum{background:var(--accent);color:#fff}.importPanel{margin-bottom:20px}.importPanel h3{margin:0 0 8px}.importFilePicker{display:inline-flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:20px;cursor:pointer;-webkit-user-select:none;user-select:none}.importFilePicker--busy{cursor:wait;opacity:.85}.importFilePickerInput{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.importFilePickerButton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:14px;font-weight:750;font-size:15px;color:#05111f;background:linear-gradient(135deg,var(--brand),#a7f3d0);box-shadow:0 10px 30px #6ee7ff33;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.importFilePickerButton .navIcon{width:22px;height:22px}.importFilePicker:hover .importFilePickerButton{transform:translateY(-1px);box-shadow:0 14px 36px #6ee7ff47;filter:brightness(1.05)}.importFilePicker:active .importFilePickerButton{transform:translateY(0);box-shadow:0 6px 20px #6ee7ff26}.importFilePicker:focus-within .importFilePickerButton{outline:2px solid rgba(110,231,255,.9);outline-offset:3px}.importFilePicker--busy .importFilePickerButton{pointer-events:none}.importFilePickerHint{font-size:13px;color:var(--muted);padding-left:4px}body.light .importFilePickerButton{color:#05111f}.importMappingTable{table-layout:fixed;width:100%}.importMappingTable .importColCode{width:88px;white-space:nowrap}.importMappingTable .importColTasks{width:56px;white-space:nowrap;text-align:center}.importMappingTable .importColSheet{width:140px}.importMappingTable .importColIndustry{width:220px}.importMappingTable .importColName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.importMappingTable td.importColCode code{font-size:12px}.importMappingTable select{width:100%;min-width:0}.importActions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.importWarnings{margin:12px 0;padding-left:20px;color:var(--warn, #b8860b);font-size:13px}.importDone{border-color:var(--accent)}.actionDropdown{position:relative;flex-shrink:0}.actionDropdownTrigger{display:inline-flex;align-items:center;justify-content:center}.actionDropdownMenu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:132px;padding:6px;border-radius:14px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}body.light .actionDropdownMenu{background:#fff}.tasksStatusDropdownMenu{min-width:156px}.tasksFilterScrollMenu{max-height:min(320px,60vh);overflow-y:auto}.tasksPage .tasksProjectFilter{width:400px;min-width:400px;max-width:400px;flex:0 0 400px}.tasksPage .tasksProjectFilter .tasksProjectTrigger{display:flex;width:100%;min-width:100%;max-width:100%;box-sizing:border-box}.tasksPage .tasksProjectDropdownMenu{width:400px;min-width:400px;max-width:400px;box-sizing:border-box}.tasksFilterTriggerLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tasksStatusTrigger{min-width:160px;min-height:44px;justify-content:space-between;background:var(--input);border:1px solid var(--line);border-radius:14px;color:var(--text);padding:10px 12px;font-size:16px;font-weight:500;box-shadow:none;text-align:left}body.light .tasksStatusTrigger{background:#fff;color:#132033}.tasksStatusCaret{color:var(--muted);font-size:12px;margin-left:8px}.tasksStatusDropdownItem{font-size:14px;line-height:1.2;padding:8px 10px}.toastHost{position:fixed;right:24px;bottom:24px;z-index:120;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{pointer-events:auto;padding:12px 16px;border-radius:14px;background:#080f1df5;border:1px solid rgba(56,189,248,.35);color:var(--text);box-shadow:var(--shadow);font-size:14px;line-height:1.4;max-width:min(360px,calc(100vw - 48px));animation:toastLife 3s ease forwards}body.light .toast{background:#fff;border-color:#2563eb40;color:#132033}.toastError{border-color:#f8717173;color:#fecaca}body.light .toastError{border-color:#dc262659;color:#991b1b}@keyframes toastLife{0%{opacity:0;transform:translateY(10px)}8%{opacity:1;transform:translateY(0)}82%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.projectMembersCard{margin:10px 0}.projectMembersCardTitle{margin:0 0 8px;font-size:15px}.projectMembersCardHint{margin:0 0 14px;font-size:13px;line-height:1.45}.projectMembersList{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.45rem}.projectMembersItem{display:flex;align-items:center;gap:.4rem;min-height:52px;padding:.4rem .4rem .4rem .55rem;border:1px solid var(--line);border-radius:10px;background:#ffffff08}body.light .projectMembersItem{background:#0f172a08}.projectMembersItemBody{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.projectMembersItemName{font-size:13px;font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projectMembersItemRole{font-size:11px;line-height:1.2;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projectMembersItemActions{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:2px;border-radius:8px;border:1px solid var(--line);background:#ffffff0a}body.light .projectMembersItemActions{background:#0f172a0a}.projectMembersItemActions .usersIconBtn{width:30px;height:30px}.projectMembersFormRow{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.projectMembersFormRow select{flex:1;min-width:12rem}.projectMembersFormRow input[type=text]{flex:1 1 140px;min-width:120px}.content:has(.ganttPage){display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.content:has(.ganttPage) .topbar{flex-shrink:0}.ganttPage{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.ganttPage>.card{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.ganttPage>.card>.errorBox,.ganttPage>.card>.ganttHint{flex-shrink:0}.ganttHint{margin:0 0 12px}.gantt-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;flex-shrink:0;margin:0 0 12px}.gantt-toolbar label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:12px}.gantt-toolbar input,.gantt-toolbar select{min-width:160px}.ganttChart{--gantt-label-width: 380px;flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#ffffff05;position:relative}.ganttChartScroll{flex:1;min-height:0;overflow:auto}.ganttChartScroll.is-dragScrolling{cursor:grabbing;-webkit-user-select:none;user-select:none}.ganttRowsScrollable .ganttTimelineTrack{cursor:grab}.ganttChartScroll.is-dragScrolling .ganttTimelineTrack{cursor:grabbing}.ganttChartInner{min-width:calc(var(--gantt-label-width) + var(--gantt-track-min-width, 520px))}.ganttHeadRow,.ganttRow{display:grid;grid-template-columns:var(--gantt-label-width) minmax(var(--gantt-track-min-width, 520px),1fr);align-items:stretch}.ganttHeadRow{position:sticky;top:0;z-index:5}.ganttHeadRow .ganttTrackHead{background:#0f1b2e;z-index:5}body.light .ganttHeadRow .ganttTrackHead{background:#fff}.ganttLabelHead,.ganttLabelCell{position:sticky;left:0;z-index:5;background:#0f1b2e;border-right:1px solid var(--line);box-shadow:8px 0 16px #00000047}.ganttHeadRow .ganttLabelHead{top:0;z-index:7}body.light .ganttLabelHead,body.light .ganttLabelCell{background:#fff;box-shadow:8px 0 16px #0f172a14}.ganttLabelHead{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:8px 12px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.ganttTrackHead{border-bottom:1px solid var(--line);padding:4px 10px 4px 12px;overflow:hidden;min-width:0;display:flex;align-items:center}.ganttLabelCell{padding:9px 12px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.45}.ganttTrackCell{display:flex;align-items:center;padding:9px 10px 9px 12px;border-bottom:1px solid var(--line);overflow:hidden;min-width:0;box-sizing:border-box}.ganttLabelCellProject{display:flex;gap:8px;align-items:flex-start;background:#112238}.ganttLabelCellToggle{cursor:pointer;-webkit-user-select:none;user-select:none}.ganttLabelCellToggle:hover{background:#152a45}body.light .ganttLabelCellToggle:hover{background:#e3ecff}body.light .ganttLabelCellProject{background:#eef4ff}.ganttTrackCellProject{background:#3b82f60f}.ganttRowTask .ganttLabelCell,.ganttLabelCellTask{padding-left:28px}.ganttTrackCell .lane{width:100%;height:25px;max-height:25px;flex:0 0 25px;align-self:center}.ganttTrackCell .gbar{max-height:25px}.ganttChartEmpty{padding:12px}.ganttToggleAllBtn{margin-left:auto;flex-shrink:0;font-size:11px;padding:4px 8px;border-radius:10px}.ganttChartInner>.ganttRow:last-child .ganttLabelCell,.ganttChartInner>.ganttRow:last-child .ganttTrackCell{border-bottom:0}.ganttProjectName,.ganttItemCode{font-size:12px}.ganttCollapseBtn{border:none;background:transparent;color:var(--muted);cursor:pointer;width:20px;padding:0;font-size:12px;flex-shrink:0;margin-top:2px}.gbar.gbarProject{height:10px;top:50%;transform:translateY(-50%);opacity:.55}.ganttTicks{position:relative;height:34px;background:#ffffff09;border-radius:12px;overflow:hidden}.ganttTicksDay{height:54px}.ganttTicksWeek{height:50px}body.light .ganttTicks{background:#eef2ff}.ganttTick{position:absolute;top:0;bottom:0;border-left:1px solid var(--line);padding:2px 4px;white-space:nowrap;font-size:11px;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.ganttTick small{display:block;color:var(--muted);font-size:10px;line-height:1.1}.ganttTickWeekCol{display:flex;flex-direction:column;justify-content:center;white-space:normal;overflow:hidden;text-overflow:clip;line-height:1.15}.ganttTickWeekCol .ganttTickDates{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ganttTickWeekNum{color:var(--muted);font-size:10px;line-height:1.1}.ganttTickMonth{top:0;height:22px;bottom:auto;border-bottom:1px solid var(--line);font-weight:700;color:var(--text);padding-top:4px}.ganttChartDay .ganttTicks,.ganttChartDay .lane,.ganttChart .ganttTicks,.ganttChart .lane,.ganttChartWeek .ganttTicks,.ganttChartWeek .lane{min-width:var(--gantt-track-min-width, 520px)}.ganttTickDay{top:22px;bottom:0;height:auto;color:var(--muted);text-align:center;padding:2px 0 0;font-size:10px;line-height:1.2}.ganttTickDay.ganttTickMajor{color:var(--text);font-weight:700}.ganttToday{position:absolute;top:0;bottom:0;width:2px;margin-left:1px;background:#ef4444;box-shadow:none;z-index:1;pointer-events:none}.lane{height:25px;background:#ffffff17;border-radius:999px;position:relative;overflow:hidden}body.light .lane{background:#eef2ff}.gbar{position:absolute;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--brand));min-width:6px;cursor:pointer;transition:filter .15s ease}.gbar:hover{filter:brightness(1.08);z-index:2}.gbar.late{background:linear-gradient(90deg,#ef4444,#fb7185)!important}.gbar.warn{background:linear-gradient(90deg,#f59e0b,#facc15)!important}.gbar.ok{background:linear-gradient(90deg,#22c55e,#6ee7b7)!important}.gbar.gbarMilestone{height:100%;top:0;transform:none;min-width:10px;box-shadow:inset 0 0 0 2px #e9d5ff8c;background:linear-gradient(90deg,#7c3aed,#c084fc)!important}.gbarOverdueTail{position:absolute;top:50%;transform:translateY(-50%);height:4px;min-width:4px;border-radius:999px;background:linear-gradient(90deg,#f97316,#ef4444);box-shadow:0 0 0 1px #ef444473,0 0 8px #f973168c;z-index:1;pointer-events:none}body.light .gbarOverdueTail{background:linear-gradient(90deg,#ea580c,#dc2626);box-shadow:0 0 0 1px #dc262659,0 0 6px #ea580c66}.ganttLabelCellMilestone{background:#15102a;border-left:3px solid #a855f7;box-shadow:inset 0 0 0 1px #a855f733}body.light .ganttLabelCellMilestone{background:#f5f0ff}.ganttTrackCellMilestone{background:#7c3aed0f}.ganttMilestoneBadge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:600;vertical-align:middle;background:#a855f740;color:#e9d5ff}body.light .ganttMilestoneBadge{background:#ede9fe;color:#6d28d9}@media (max-width: 1200px){.topbar{grid-template-columns:1fr}.currencyHeader{justify-content:flex-start}.grid,.grid3,.grid2,.projectsGrid,.portfoliosGrid{grid-template-columns:1fr}.dashboardAnalyticsKpis{grid-template-columns:1fr 1fr}.healthDonut{grid-template-columns:1fr;justify-items:center;min-height:auto}.healthDonutChart{width:min(100%,300px)}.attentionProjectsList{max-height:360px}.kanbanBoard{grid-template-columns:1fr}.kanbanColumn{max-height:none}.portfolioInlineStats{grid-template-columns:1fr 1fr}.ganttChart{--gantt-label-width: 300px}.docsPage .docsLayout{grid-template-columns:1fr}.docsPage>.docsPageToolbar{grid-template-columns:1fr}.docsPageToolbar .docsProjectSelect,.docsPageToolbar .docsTemplateSearch{grid-column:1}.usersFormsRow,.settingsGrid{grid-template-columns:1fr}.settingsAvatarCard{grid-row:auto}.financeForm,.formgrid3{grid-template-columns:1fr}}@media (max-width: 900px){body{overflow:auto}html,body,#root{height:auto;min-height:100%}.app{grid-template-columns:1fr;height:auto;max-height:none;overflow:visible}.side{height:auto;max-height:none;overflow:visible}.content{height:auto;overflow:visible;padding:18px}.content:has(.tasksPage){height:auto;min-height:0;overflow:visible}.tasksPage{overflow:visible}.tasksPage .tasksTable{max-height:none;overflow:auto}.formgrid,.entityFormGrid,.entityFormGrid3{grid-template-columns:1fr}.entityFormFieldSpan2{grid-column:auto}.entityFormFooter{flex-direction:column;align-items:stretch}.taskFormPrimaryActions{margin-left:0;width:100%}.taskFormPrimaryActions button{flex:1}}
