:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.4;color:#111;background:#fafafa}*,*:before,*:after{box-sizing:border-box}.container{max-width:1100px;margin:0 auto;padding:18px}.topbar{display:grid;position:sticky;top:10px;z-index:70;grid-template-columns:136px minmax(0,1fr) 136px;grid-template-rows:auto auto;align-items:center;column-gap:16px;row-gap:8px;margin-bottom:16px;padding:10px 12px;background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 6px 20px #1111110f;transition:padding .18s ease,column-gap .18s ease,row-gap .18s ease,box-shadow .18s ease}.topbar.compact{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto;column-gap:12px;row-gap:0;padding:8px 12px}.topbar.compact .topbarLogoWrap,.topbar.compact .brandTitle,.topbar.compact .topbarUserNameBox{display:none}.topbar.compact .topbarNav{grid-column:1;grid-row:1;justify-self:start}.topbar.compact .topbarRight{grid-column:2;grid-row:1}.topbarLogoWrap{display:flex;justify-content:center;align-items:center;width:100%;grid-column:1;grid-row:1 / span 2}.brandLogo{width:112px;height:auto;border-radius:6px;flex:0 0 auto;display:block}.brandTitle{grid-column:2;grid-row:1;justify-self:center;font-weight:700;color:#111;font-size:21px;line-height:1.1;text-align:center}.nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.topbarNav{grid-column:2;grid-row:2;justify-self:center;min-width:0}.topbarMobileNav{display:none}.nav a{color:#111;text-decoration:none;font-weight:700}.topbarAction{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid #ddd;border-radius:10px;padding:0 12px;background:#fff}.topbarAction:hover{border-color:#bbb}.topbarUserNameBox{grid-column:3;grid-row:1;justify-self:end;align-self:center}.topbarRight{display:flex;grid-column:3;grid-row:2;justify-self:end;align-self:center}.topbarUserName{line-height:1;text-align:right}.logoutButton{min-width:88px;line-height:1}.authShell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.authCard{width:min(420px,100%);display:flex;flex-direction:column;gap:10px}.passwordFieldRow{display:flex;gap:8px;align-items:center}.passwordFieldRow input{flex:1}.passwordToggleBtn{white-space:nowrap}.settingsDormantHoursRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}.settingsDormantHoursField{display:flex;flex-direction:column;gap:4px}.card{background:#fff;border:1px solid #eee;border-radius:16px;padding:16px}.projectTitleMain{font-size:34px;line-height:1.1;font-weight:800}.departmentsOnlyCard{min-height:68vh;display:flex;align-items:flex-start;justify-content:center;padding-top:28px}.departmentsAdminCard{position:relative}.departmentsAdminActions{position:absolute;top:18px;right:18px;display:flex;flex-direction:column;gap:10px}.departmentsOnlyList{display:flex;flex-direction:column;align-items:center;gap:18px}.departmentBigRow{width:100%;display:flex;justify-content:center;cursor:grab}.departmentBigRow:active{cursor:grabbing}.departmentBigLink{font-size:42px;line-height:1.1;font-weight:800;color:#111;text-decoration:none}.departmentBigLink:hover{text-decoration:underline}.projectsModalCard{width:min(92vw,560px)}.projectsDeleteList{display:flex;flex-direction:column;gap:10px}.projectsDeleteRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #ddd;border-radius:12px;background:#fff}.projectsDeleteName,.projectDeleteName{font-weight:700}.projectsDeleteIconBtn{color:#111}.projectsDeleteConfirm{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:14px;align-items:center}.row.gap{gap:12px}.row.space-between{justify-content:space-between}.col{flex:1;min-width:0}.form label{display:block;margin-top:10px;margin-bottom:4px;color:#333;font-size:14px}input{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;border:1px solid #ddd;outline:none}input:focus{border-color:#bbb}.btn{padding:9px 12px;border-radius:10px;border:1px solid #ddd;background:#111;color:#fff;font-weight:700;cursor:pointer}.btn:hover{opacity:.92}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.btn-secondary{background:#fff;color:#111}.table{width:100%;border-collapse:collapse;margin-top:10px}.table th,.table td{border-bottom:1px solid #eee;padding:8px;text-align:left;font-size:14px}.usersLayout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:start}.usersCreatePanel,.usersListPanel{min-width:0}.usersTableWrap{overflow-x:auto}.usersTable{min-width:900px;table-layout:fixed}.usersTable td:nth-child(1),.usersTable th:nth-child(1){width:46px}.usersTable td:nth-child(2),.usersTable th:nth-child(2){width:90px}.usersTable td:nth-child(3),.usersTable th:nth-child(3){width:120px}.usersTable td:nth-child(4),.usersTable th:nth-child(4){width:80px}.usersTable td:nth-child(5),.usersTable th:nth-child(5){width:84px;text-align:center}.usersTable td:nth-child(6),.usersTable th:nth-child(6){width:108px}.usersTable td:nth-child(7),.usersTable th:nth-child(7){width:104px;padding-left:14px;white-space:nowrap}.usersTable input,.usersTable .select{max-width:100%;box-sizing:border-box}.usersActionRow td{padding-top:6px;padding-bottom:12px}.usersActionRowInner{display:flex;gap:8px;justify-content:flex-start}.taskSectionHeader{display:flex;flex-direction:column;gap:12px}.taskSectionTopRow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.taskSectionTitle{margin:0;line-height:1.1}.taskSectionControls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.taskToolbarBtn{width:38px;height:38px;min-width:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:0}.taskToolbarBtnIcon{display:inline-flex;line-height:0}.taskToolbarBtnLabel{display:none}@media (max-width: 980px){.usersLayout{grid-template-columns:1fr}}.badge{display:inline-block;padding:2px 8px;border:1px solid #ddd;border-radius:999px;font-size:12px;background:#fff}.pill{display:inline-block;padding:6px 10px;border:1px solid #ddd;border-radius:999px;font-size:13px;background:#fff}.pill.pill-warn{border-color:#f0c36d;background:#fff7e6}.muted{color:#666;font-size:14px}.error{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid #f3b6b6;background:#fff2f2;color:#8a1f1f}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;display:flex;align-items:center;justify-content:center;padding:18px;z-index:9999}.modalCard{width:720px;max-width:100%;background:#fff;border-radius:16px;border:1px solid #eee;overflow:hidden}.modalHeader{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eee}.modalTitle{font-weight:700;margin-bottom:0}.modalCloseBtn{border:none;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:#666;padding:0 2px}.modalCloseBtn:hover{color:#111}.modalBody{padding:14px 16px;max-height:60vh;overflow:auto}.modalFooter{padding:14px 16px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:10px}.taskModalCard{width:min(1180px,96vw)}.taskModalBody{height:68vh;max-height:68vh;overflow:hidden}.taskModalLayout{display:grid;grid-template-columns:2fr 1fr;gap:14px;height:100%;min-height:0}.taskModalMain{overflow:auto;min-height:0;padding-right:4px}.taskCommentsPane{border:1px solid #e7e7e7;border-radius:12px;padding:10px;background:#fafafa;display:flex;flex-direction:column;gap:8px;min-height:0}.taskCommentsHeader{font-weight:700}.taskCommentsList{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px}.taskCommentItem{border:1px solid #ddd;border-radius:10px;background:#fff;padding:8px}.taskCommentMeta{font-size:12px;color:#666;margin-bottom:4px}.taskCommentText{white-space:pre-wrap;word-break:break-word}.taskCommentInputWrap{display:flex;flex-direction:column;gap:8px}.taskCommentInput{resize:none;overflow-y:hidden;min-height:76px;max-height:120px}.rteWrap{border:1px solid #ddd;border-radius:12px;overflow:hidden;background:#fff}.rteToolbar{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border-bottom:1px solid #eee;background:#fafafa}.rteToolbarMainRow,.rteToolbarSecondaryRow{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:100%}.rteSecondaryBtn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.rteSecondaryBtnIcon{display:none;line-height:0}.rteSecondaryBtnIcon svg{fill:currentColor}.iconOnlyBtn{width:36px;min-width:36px;padding:8px 0;display:inline-flex;align-items:center;justify-content:center}.iconOnlyBtn svg{fill:currentColor}.formatGlyph{font-size:14px;line-height:1;font-weight:700}.rteSizeSelect{width:70px;min-width:70px;padding:9px 8px}.rteColorLabel{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ddd;border-radius:10px;width:36px;min-width:36px;padding:4px;background:#fff}.rteColorLabel input{width:100%;height:28px;padding:0;border:none;border-radius:6px;cursor:pointer}.rteEditor{height:260px;max-height:260px;overflow:auto;padding:10px;line-height:1.45;outline:none}.rteEditor:empty:before{content:attr(data-placeholder);color:#999}.rteEditor .rteImageBox{display:inline-block;max-width:100%;min-width:48px;width:min(320px,100%);resize:both;overflow:hidden;line-height:0;vertical-align:middle;border:1px dashed transparent;border-radius:6px}.rteEditor .rteImageBox img{width:100%;height:auto;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.rteEditor .rteImageBox.selected{border-color:#2f6bd8;position:relative}.rteEditor .rteImageBox.selected:after{content:"";position:absolute;top:-4px;left:-4px;width:8px;height:8px;background:#2f6bd8;border:1px solid #fff;box-shadow:calc(100% + 2px) 0 0 0 #2f6bd8,0 calc(100% + 2px) 0 0 #2f6bd8,calc(100% + 2px) calc(100% + 2px) 0 0 #2f6bd8;pointer-events:none}.checkRow{display:grid;grid-template-columns:18px 1fr;align-items:center;column-gap:8px;padding:4px 0;width:100%}.checkRow input{margin:0}.checkRow span{text-align:left}.assigneesList{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.dueField{max-width:320px}.dueField input[type=date],.dueField input[type=time]{width:100%}.dueField input+input{margin-top:8px}.dueBadgeToday{background:#fff0d9;border-color:#f3be6a;color:#8a4f00}.dueBadgeExpired{background:#ffe2e2;border-color:#f3a2a2;color:#8a1f1f}.approvalBadgePending{background:#fff1d6;border-color:#efc67f;color:#8a5600}.approvalBadgeApproved{background:#e3f7e8;border-color:#8ccf9a;color:#1f6a33}.approvalBadgeRejected{background:#ffe3e3;border-color:#e8a5a5;color:#912a2a}.dropZone{border:1px dashed #bbb;border-radius:12px;padding:12px;background:#fafafa}.dropZone.active{border-color:#666;background:#f2f2f2}.attachmentsList{display:flex;flex-direction:column;gap:6px}.attachmentRow{display:flex;justify-content:space-between;gap:10px;width:100%;border:1px solid #ddd;border-radius:10px;padding:6px 8px;background:#fff}.attachmentRow:hover{border-color:#bbb}.attachmentLink{display:flex;justify-content:space-between;align-items:center;flex:1;gap:10px;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit;padding:2px 4px}.attachmentDeleteBtn{width:34px;min-width:34px;padding:4px 0;text-align:center}:root[data-theme=dark]{color:#e6e6e6;background:#121212}:root[data-theme=dark] .topbar,:root[data-theme=dark] .card,:root[data-theme=dark] .modalCard{background:#1e1e1e;border-color:#333}:root[data-theme=dark] .topbar{box-shadow:0 8px 24px #00000057}:root[data-theme=dark] .brand,:root[data-theme=dark] .brandTitle,:root[data-theme=dark] .nav a,:root[data-theme=dark] .topbarAction{color:#e6e6e6}:root[data-theme=dark] .topbarMobileTextAction,:root[data-theme=dark] .topbarMobileIconAction{color:#e6e6e6}:root[data-theme=dark] .topbarAction{background:#1e1e1e;border-color:#444}:root[data-theme=dark] .topbarAction:hover{border-color:#666}:root[data-theme=dark] .departmentBigLink{color:#e6e6e6}:root[data-theme=dark] input{background:#151515;color:#e6e6e6;border-color:#444}:root[data-theme=dark] .btn.btn-secondary{background:#1e1e1e;color:#e6e6e6;border-color:#444}:root[data-theme=dark] .badge,:root[data-theme=dark] .pill{background:#1e1e1e;border-color:#444;color:#e6e6e6}:root[data-theme=dark] .approvalBadgePending{background:#3b2d12;border-color:#8b6932;color:#ffd48a}:root[data-theme=dark] .approvalBadgeApproved{background:#183322;border-color:#3c7a4f;color:#9fe0b0}:root[data-theme=dark] .approvalBadgeRejected{background:#3a1818;border-color:#8b4949;color:#ffb0b0}:root[data-theme=dark] .table th,:root[data-theme=dark] .table td{border-bottom-color:#333}:root[data-theme=dark] .muted{color:#aaa}:root[data-theme=dark] .error{background:#2a1414;border-color:#7a3a3a;color:#ffb3b3}:root[data-theme=dark] .dropZone{background:#1b1b1b;border-color:#444}:root[data-theme=dark] .dropZone.active{background:#222;border-color:#666}:root[data-theme=dark] .attachmentRow{background:#1e1e1e;border-color:#444;color:#e6e6e6}:root[data-theme=dark] .taskCommentsPane{background:#1b1b1b;border-color:#444}:root[data-theme=dark] .taskCommentItem{background:#1e1e1e;border-color:#444}:root[data-theme=dark] .modalCloseBtn{color:#bbb}:root[data-theme=dark] .modalCloseBtn:hover{color:#fff}:root[data-theme=dark] .rteWrap{border-color:#444;background:#1e1e1e}:root[data-theme=dark] .rteToolbar{border-color:#444;background:#1b1b1b}:root[data-theme=dark] .rteColorLabel{background:#1e1e1e;border-color:#444}:root[data-theme=dark] .taskHistoryItem{background:#1e1e1e;border-color:#444}:root[data-theme=dark] .rteEditor .rteImageBox.selected{border-color:#7da7ff}:root[data-theme=dark] .rteEditor .rteImageBox.selected:after{background:#7da7ff;border-color:#1e1e1e;box-shadow:calc(100% + 2px) 0 0 0 #7da7ff,0 calc(100% + 2px) 0 0 #7da7ff,calc(100% + 2px) calc(100% + 2px) 0 0 #7da7ff}@media (max-width: 980px){.taskModalCard{width:min(96vw,760px)}.taskModalBody{height:72vh;max-height:72vh}.taskModalLayout{grid-template-columns:1fr}.taskCommentsPane{max-height:42vh}}@media (max-width: 900px){.container{padding:10px}.settingsDormantHoursRow{grid-template-columns:1fr}.topbar{grid-template-columns:72px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:12px;row-gap:8px;padding:10px}.topbarLogoWrap{width:100%;justify-content:flex-start}.brandLogo{width:56px;height:auto}.brandTitle{font-size:18px;white-space:nowrap;line-height:1.1}.topbarNav{grid-column:2;grid-row:2;justify-self:start}.nav{flex-wrap:nowrap}.topbarAction{min-height:36px;padding:0 10px;font-size:13px}.topbarUserNameBox{grid-column:3;grid-row:1;align-self:center;justify-self:end}.topbarRight{margin-left:0;align-self:center;width:auto;grid-column:3;grid-row:2;justify-self:end}.board{grid-template-columns:1fr;gap:10px}.sidebar{position:static;top:auto}.row.space-between{flex-wrap:wrap;align-items:flex-start;gap:10px}.projectTitleMain{font-size:28px}.taskTitleRow{flex-direction:column;align-items:flex-start;gap:8px}.taskBadges{justify-content:flex-start}.taskFooter{flex-direction:column;align-items:flex-start;gap:8px}.taskBtns{width:100%}.taskBtns .btn{flex:1 1 auto}.modalCard{width:min(96vw,720px)}.usersTable{min-width:760px}}@media (max-width: 720px){.container.hasCompactTopbar{padding-top:70px}.row.space-between{justify-content:center}.departmentsOnlyCard{padding-top:16px;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:72vh}.departmentsAdminActions{position:static;width:100%;order:2;margin-top:auto;margin-bottom:0;padding-top:28px;padding-bottom:4px;flex-direction:row;flex-wrap:wrap;justify-content:center}.departmentsOnlyList{order:1;flex:1 1 auto}.departmentBigLink{font-size:30px;text-align:center}.topbar{grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:"logo title" "mobile mobile";align-items:center;row-gap:10px}.topbar.compact{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"mobile";position:fixed;top:8px;left:10px;right:10px;width:auto;margin-bottom:0;padding:6px 8px}.topbar.compact .topbarLogoWrap,.topbar.compact .brandTitle{display:none}.topbar.compact .topbarMobileNav,.topbar.compact .topbarMobileNavRow{gap:6px}.topbar.compact .topbarMobileTextAction{min-height:30px;padding:0 8px;font-size:12px}.topbar.compact .topbarMobileIconAction{width:30px;min-width:30px;height:30px;min-height:30px}.topbar.compact .topbarMobileIconSvg,.topbar.compact .topbarMobileIconSvg svg{width:16px;height:16px}.topbar.compact .topbarMobileUserName{font-size:12px}.topbarLogoWrap{grid-area:logo;justify-content:flex-start;align-self:center}.brandTitle{grid-area:title;justify-self:start;text-align:left;white-space:normal;font-size:24px;line-height:1.05}.topbarNav,.topbarUserNameBox,.topbarRight{display:none}.brandLogo{width:48px;height:auto}.topbarMobileNav{grid-area:mobile;display:flex;flex-direction:column;gap:8px;width:100%;min-width:0}.topbarMobileNavRow{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}.topbarMobileNavRowPrimary{flex-wrap:wrap;justify-content:flex-start}.topbarMobileTextAction{min-height:34px;padding:0 10px;font-size:13px;color:#111;text-decoration:none}.topbarMobileNavRowSecondary{display:grid;grid-template-columns:repeat(4,34px) minmax(0,1fr);justify-content:center;gap:8px}.topbarMobileIconAction{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;font-size:0;color:#111;text-decoration:none}.topbarMobileIconAction.logoutButton{min-width:34px}.topbarMobileIconSvg{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:inherit}.topbarMobileIconSvg svg{width:18px;height:18px;display:block}.topbarMobileUserName{min-width:0;align-self:center;justify-self:end;text-align:right;font-size:13px;font-weight:700;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width: 560px){.brandTitle{font-size:20px}.topbarAction{min-height:34px;font-size:14px}.logoutButton{min-width:76px}.projectTitleMain{width:100%;text-align:center}.projectTitleMain{font-size:24px}.btn{padding:8px 10px;font-size:14px}.card{padding:12px}.folderItem{padding:8px}.rteToolbar{gap:6px;padding:6px}.rteToolbarMainRow{gap:6px}.iconOnlyBtn{width:34px;min-width:34px;padding:7px 0}.rteSizeSelect{width:68px;min-width:68px;padding:8px 6px}.rteToolbarSecondaryRow{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.rteSecondaryBtn{min-width:0;width:100%;padding:8px 0}.rteSecondaryBtnLabel{display:none}.rteSecondaryBtnIcon{display:inline-flex;align-items:center;justify-content:center}}.board{display:grid;grid-template-columns:280px 1fr;gap:14px;align-items:start;min-width:0}.sidebar{background:#fff;border:1px solid #eee;border-radius:16px;padding:12px;position:sticky;top:86px;min-width:0}.sidebarHeader{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.folderList{display:flex;flex-direction:column;gap:6px;margin-top:8px}.folderItem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid #eee;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff}.folderItem:hover{border-color:#ddd}.folderItem.active{border-color:#bbb;background:#f6f6f6}.folderItemAssigned{border-color:#8fcca4;background:#ecfff1}.folderItemAssigned:hover{border-color:#78bb8f}.folderItemAssigned.active{border-color:#4e9d6a;background:#dcf7e6}.folderItemApproval{border-color:#f0b15a;background:#fff3e0}.folderItemApproval:hover{border-color:#de9840}.folderItemApproval.active{border-color:#c77817;background:#ffe7c7}.folderMeta{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.folderName{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.folderKind{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid #ddd;background:#fff}.folderActions{display:flex;gap:6px;align-items:center}.iconBtn{padding:6px 8px;border-radius:10px;border:1px solid #ddd;background:#fff;cursor:pointer}.iconBtn:hover{opacity:.9}.iconBtn svg{display:block;margin:0 auto;fill:currentColor}.taskList{display:flex;flex-direction:column;gap:10px;margin-top:12px}.taskItem{border:1px solid #eee;border-style:solid;border-radius:16px;padding:12px;background:#fff;cursor:grab;min-width:0}.taskColorSelect{min-width:100%;color:transparent;text-shadow:none}.taskColorSelect option{color:transparent}.taskColorFilterWrap{display:flex;flex-wrap:wrap;gap:8px}.taskColorFilterBtn,.taskColorFilterSwatch{border:1px solid #d6d6d6;border-radius:999px;background:#fff;min-width:38px;height:32px;padding:0 10px;cursor:pointer}.taskColorFilterSwatch{padding:0}.taskColorFilterBtn.active,.taskColorFilterSwatch.active{border-width:2px;border-color:#111}.taskItem:active{cursor:grabbing}.taskTitleRow{display:flex;justify-content:space-between;align-items:center;gap:10px}.taskTitle{font-weight:700;font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.taskBadges{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.taskPreview{margin-top:6px;color:#555;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taskFooter{margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.taskBtns{display:flex;gap:8px;flex-wrap:wrap}.taskApprovalInfo{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.approvalModalCard{width:min(92vw,620px)}.projectSearchModalCard{width:min(980px,96vw)}.projectSearchModalBody{max-height:72vh}.projectSearchPanel{display:flex;flex-direction:column;gap:12px}.projectSearchHint{margin-top:-4px}.projectSearchResults{display:flex;flex-direction:column;gap:16px}.projectSearchSection{display:flex;flex-direction:column;gap:10px}.projectSearchSectionTitle{font-size:16px;font-weight:800}.projectSearchList{display:flex;flex-direction:column;gap:10px}.projectSearchResult{width:100%;text-align:left;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:14px;border:1px solid #e5e5e5;background:#fcfcfc;color:inherit;cursor:pointer}.projectSearchResult:hover{border-color:#cfcfcf;background:#fff}.projectSearchMeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.projectSearchTitle{font-weight:800;font-size:15px;line-height:1.3}.projectSearchSnippet{white-space:pre-wrap;line-height:1.35}.approvalModalBody{display:flex;flex-direction:column;gap:14px}.approvalStatusRow{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.sortBoxWrap{position:relative}.sortBox{position:absolute;right:0;top:calc(100% + 6px);width:260px;padding:10px;border:1px solid #ddd;border-radius:12px;background:#fff;z-index:20;box-shadow:0 10px 24px #00000014}.sortBoxLabel{display:block;font-size:12px;color:#666;margin-bottom:4px}.sortSelect{margin-bottom:8px}.sortSelect:last-child{margin-bottom:0}.taskHistoryList{display:flex;flex-direction:column;gap:8px}.taskHistoryItem{border:1px solid #ddd;border-radius:10px;padding:8px;background:#fff}.taskHistoryMeta{font-size:12px;color:#666;margin-bottom:4px}.select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #ddd;outline:none;background:#fff}textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #ddd;outline:none;resize:vertical;min-height:120px;font-family:inherit}.remindersPage{display:grid;gap:16px}.reminderFormCard,.reminderListCard{display:flex;flex-direction:column;gap:14px}.reminderPageTitle{font-size:28px}.reminderFormGrid{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) auto;gap:12px;align-items:end}.reminderActiveToggle,.reminderInlineToggle{display:inline-flex;align-items:center;gap:8px;font-weight:700}.reminderActiveToggle input,.reminderInlineToggle input{width:auto}.reminderItems{display:flex;flex-direction:column;gap:10px}.reminderRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;border:1px solid #ececec;border-radius:14px;padding:14px;background:#fcfcfc}.reminderRow.inactive{opacity:.75}.reminderRowMain{min-width:0}.reminderRowTitle,.reminderModalTitle{font-size:20px;font-weight:800;line-height:1.15}.reminderRowMeta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.reminderRowNote,.reminderModalNote{margin-top:10px;white-space:pre-wrap}.reminderRowActions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.reminderOverlay{background:#0f0f0f70}.reminderModalCard{width:min(560px,96vw)}.remindersOverlayCard{width:min(1100px,96vw);max-height:92vh}.remindersOverlayBody{overflow:auto}.reminderModalBody{display:flex;flex-direction:column;gap:10px}.reminderModalFooter{justify-content:space-between}.deadlinesPage{display:flex;flex-direction:column;gap:16px}.deadlinesHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.deadlinesHeaderText{display:flex;flex-direction:column;gap:10px;width:100%;align-items:center}.deadlinesPageTitle{width:100%;text-align:center}.deadlinesStats{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.deadlinesStatsTools{display:inline-flex;align-items:center;gap:8px}.deadlinesToolWrap{position:relative}.deadlinesToolBtn{width:38px;height:38px;min-width:38px;padding:0;display:inline-flex;align-items:center;justify-content:center}.deadlinesToolBtn.active{border-color:#b72727;color:#b72727}.deadlinesToolBox{top:calc(100% + 8px);right:0;min-width:240px;z-index:25}.deadlinesFilterBox{min-width:220px}.deadlinesToolInput{width:100%}.deadlinesFilterOptions{display:flex;flex-direction:column;gap:8px}.deadlinesFilterOption{border:1px solid #d5d5d5;border-radius:10px;background:#f7f7f7;padding:10px 12px;text-align:left;font-weight:700;cursor:pointer;color:inherit}.deadlinesFilterOption.active{border-color:#202020;background:#202020;color:#fff}.deadlinesReminderBadge{background:#edf4ff;border-color:#9bbcff;color:#245fca}.deadlinesList{display:flex;flex-direction:column;gap:10px}.deadlineListItem{width:100%;text-align:left;display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid #e5e5e5;background:#fcfcfc;cursor:pointer;color:inherit}.deadlineListItem:hover,.deadlineDayModalTask:hover{border-color:#cfcfcf;background:#fff}.deadlineListMeta,.deadlineDayModalMeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.deadlineListText,.deadlineDayModalText{font-weight:700;line-height:1.35}.deadlineListNote{white-space:pre-wrap}.deadlinesCalendarWrap{display:flex;flex-direction:column;gap:14px}.deadlinesCalendarToolbar{display:flex;justify-content:center;gap:10px;align-items:center;flex-wrap:nowrap}.deadlinesNavBtn{width:38px;height:38px;font-size:22px;line-height:1;font-weight:700}.deadlinesCalendarSelect,.deadlinesCalendarYearSelect{min-width:0;text-align:center;text-align-last:center}.deadlinesCalendarSelect{width:132px;flex:0 0 132px}.deadlinesCalendarYearSelect{width:94px;flex:0 0 94px}.deadlinesWeekdays,.deadlinesCalendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.deadlinesWeekday{text-align:center;font-weight:800;color:#616161;padding:6px 0 2px}.deadlineDayCell{min-height:98px;border-radius:14px;border:1px solid #e6e6e6;background:#fafafa;overflow:hidden}.deadlineDayCell.foreign{opacity:.55}.deadlineDayCell.hasContent{border-color:#d2d8e7;background:linear-gradient(180deg,#fff,#f8faff)}.deadlineDayCellButton,.deadlineDayCellStatic{width:100%;height:100%;min-height:98px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:10px;text-align:center}.deadlineDayCellButton{cursor:pointer}.deadlineDayNumber{width:100%;display:flex;align-items:center;justify-content:center;min-height:22px;font-weight:800;font-size:18px;line-height:1;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.deadlineDayMarkers{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;min-height:22px}.deadlineIndicator{display:inline-flex;align-items:center;gap:6px;width:fit-content;max-width:100%;padding:4px 8px;border-radius:999px;border:1px solid #d9d9d9;font-size:12px;font-weight:800;line-height:1.1}.deadlineIndicatorTask{background:#edf8ef;border-color:#8bc79a;color:#2b7d46}.deadlineIndicatorReminder{background:#edf4ff;border-color:#96b9ff;color:#245fca}.deadlineDayMarker{display:none;width:22px;height:22px;align-items:center;justify-content:center;border-radius:999px;border:1px solid #d9d9d9;font-size:14px;font-weight:900;line-height:1}.deadlineDayMarkerTask{background:#edf8ef;border-color:#8bc79a;color:#2b7d46}.deadlineDayMarkerReminder{background:#edf4ff;border-color:#96b9ff;color:#245fca}.deadlinesCalendarLegend{display:flex;flex-wrap:wrap;gap:8px}.deadlinesDayModalCard{width:min(760px,96vw);display:flex;flex-direction:column;gap:14px}.deadlineDayModalTitle{font-size:26px;font-weight:900;line-height:1.1}.deadlineDayModalBody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.deadlineDayModalSection{display:flex;flex-direction:column;gap:10px;min-width:0}.deadlineDayModalSectionTitle{font-size:16px;font-weight:900}.deadlineDayModalList{display:flex;flex-direction:column;gap:10px}.deadlineDayModalTask,.deadlineDayModalReminder{width:100%;text-align:left;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:12px;border:1px solid #e5e5e5;background:#fcfcfc;color:inherit}.deadlineDayModalTask,.deadlineDayModalReminderButton{cursor:pointer}.deadlineDayModalNote{white-space:pre-wrap}.deadlineDayModalFooter{justify-content:space-between}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .folderItem,:root[data-theme=dark] .taskItem{background:#1e1e1e;border-color:#333}:root[data-theme=dark] .folderItem.active{background:#242424}:root[data-theme=dark] .folderItemAssigned{border-color:#2f6f47;background:#1e2c22}:root[data-theme=dark] .folderItemAssigned.active{border-color:#4ca271;background:#22352a}:root[data-theme=dark] .folderItemApproval{border-color:#8f5b23;background:#332617}:root[data-theme=dark] .folderItemApproval.active{border-color:#d28a2e;background:#43301a}:root[data-theme=dark] .folderKind,:root[data-theme=dark] .iconBtn{background:#1e1e1e;border-color:#444;color:#e6e6e6}:root[data-theme=dark] .taskColorFilterBtn,:root[data-theme=dark] .taskColorFilterSwatch{background:#1e1e1e;border-color:#444;color:#e6e6e6}:root[data-theme=dark] .taskColorFilterBtn.active,:root[data-theme=dark] .taskColorFilterSwatch.active{border-color:#f2f2f2}:root[data-theme=dark] .dueBadgeToday{background:#3a2b12;border-color:#9d6f24;color:#ffd08a}:root[data-theme=dark] .dueBadgeExpired{background:#3a1e1e;border-color:#9a4949;color:#ffb3b3}:root[data-theme=dark] textarea,:root[data-theme=dark] .select{background:#151515;color:#e6e6e6;border-color:#444}:root[data-theme=dark] .reminderRow{background:#1b1b1b;border-color:#343434}:root[data-theme=dark] .deadlineListItem,:root[data-theme=dark] .deadlineDayModalTask,:root[data-theme=dark] .deadlineDayModalReminder{background:#1b1b1b;border-color:#343434}:root[data-theme=dark] .projectSearchResult{background:#1b1b1b;border-color:#343434}:root[data-theme=dark] .projectSearchResult:hover{background:#202020;border-color:#4a4a4a}:root[data-theme=dark] .deadlineListItem:hover,:root[data-theme=dark] .deadlineDayModalTask:hover{background:#202020;border-color:#4a4a4a}:root[data-theme=dark] .deadlinesWeekday{color:#b9b9b9}:root[data-theme=dark] .deadlineDayCell{border-color:#353535;background:#191919}:root[data-theme=dark] .deadlineDayCell.hasContent{border-color:#37425a;background:linear-gradient(180deg,#1f2330,#191d28)}:root[data-theme=dark] .deadlineIndicatorTask{background:#173120;border-color:#2e7b46;color:#99e0ad}:root[data-theme=dark] .deadlineIndicatorReminder,:root[data-theme=dark] .deadlinesReminderBadge{background:#15233f;border-color:#3d69c8;color:#b7d0ff}:root[data-theme=dark] .deadlinesToolBtn.active{border-color:#ff8d8d;color:#ff8d8d}:root[data-theme=dark] .deadlinesFilterOption{border-color:#4c4c4c;background:#262626}:root[data-theme=dark] .deadlinesFilterOption.active{border-color:#ededed;background:#ededed;color:#141414}:root[data-theme=dark] .deadlineDayMarkerTask{background:#173120;border-color:#2e7b46;color:#99e0ad}:root[data-theme=dark] .deadlineDayMarkerReminder{background:#15233f;border-color:#3d69c8;color:#b7d0ff}:root[data-theme=dark] .deadlinesMonthTitle{color:#f1f1f1}:root[data-theme=dark] .reminderOverlay{background:#00000094}:root[data-theme=dark] .sortBox{background:#1e1e1e;border-color:#444}@media (max-width: 900px){.container{overflow-x:hidden}.board{display:flex;flex-direction:column;gap:10px;width:100%}.sidebar{position:static;top:auto;width:100%}.board>.card{width:100%;min-width:0}.row{flex-wrap:wrap}.board>.card>.row.space-between>.row{flex-wrap:wrap;width:100%;justify-content:flex-start}.taskSectionTopRow{align-items:center}.taskSectionControls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:10px}.taskSectionControls>.sortBoxWrap{min-width:0}.taskSectionControls>.sortBoxWrap>.btn{width:100%}.taskToolbarBtn{padding-inline:0}.taskToolbarBtnIcon{display:inline-flex}.taskToolbarBtnLabel{display:none}.sortBox{position:fixed;left:12px;right:12px;top:50%;transform:translateY(-50%);width:auto;max-height:min(70vh,520px);overflow:auto;z-index:60}.taskTitle{white-space:normal}.taskModalBody{overflow:auto;height:78vh;max-height:78vh}.taskModalLayout{display:block;height:auto}.taskModalMain{overflow:visible;padding-right:0}.taskCommentsPane{margin-top:12px;max-height:none}.reminderFormGrid,.reminderRow,.deadlineDayModalBody{grid-template-columns:1fr}.projectSearchModalBody{max-height:78vh}.projectSearchResult{padding:10px 12px}.deadlineDayCell,.deadlineDayCellButton,.deadlineDayCellStatic{min-height:84px}.deadlinesCalendarToolbar{display:grid;grid-template-columns:34px minmax(0,1fr) 76px 34px;gap:8px;width:100%;max-width:360px;margin:0 auto}.deadlinesNavBtn{width:34px;height:34px;font-size:20px}.deadlinesCalendarSelect,.deadlinesCalendarYearSelect{width:100%;min-width:0;flex:none;text-align:center;text-align-last:center;padding-inline:8px}.deadlinesCalendarSelect,.deadlinesCalendarYearSelect{font-size:15px}.deadlinesWeekdays,.deadlinesCalendarGrid{gap:6px}.deadlineDayCellButton,.deadlineDayCellStatic{padding:8px 6px;gap:8px}.deadlineDayNumber{min-height:20px;font-size:16px}.deadlineDayMarkers{gap:5px;min-height:20px}.deadlineDayMarkers .deadlineIndicator{display:none}.deadlineDayMarkers .deadlineDayMarker{display:inline-flex}.deadlineDayMarker{width:20px;height:20px;font-size:13px}.deadlineIndicator{font-size:11px}.deadlinesStatsTools{width:100%;justify-content:center}.deadlinesToolBox{right:50%;transform:translate(50%);min-width:min(260px,calc(100vw - 32px))}.reminderRowActions{align-items:stretch}.reminderModalFooter,.deadlineDayModalFooter{flex-direction:column-reverse}}
