.workspace #work-filter.work-filter-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#work-filter.work-filter-four .field{min-width:0;width:auto;margin:0}
#work-filter.work-filter-four .filters-actions{grid-column:4;display:flex;flex-wrap:nowrap;gap:8px;align-self:end;justify-content:flex-end}
.work-person{display:flex;align-items:center;gap:8px;margin:3px 0;min-width:0}
#visual-filter-panel[hidden]{display:none!important}
.visual-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:0}
.visual-filter-heading>#toggle-visual-filter{margin-left:auto;white-space:nowrap;font-size:12px;gap:8px}
#toggle-visual-filter>i:last-child{font-size:10px}#toggle-visual-filter[aria-expanded=true]>i:last-child{transform:rotate(180deg)}
.work-list-filter{margin:0 0 16px;border:0}
.work-list-filter[hidden]{display:none!important}
.work-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:0}
.work-list-heading>#toggle-list-filter{margin-left:auto;font-size:12px;white-space:nowrap;gap:8px}
#toggle-list-filter>i:last-child{font-size:10px}#toggle-list-filter[aria-expanded=true]>i:last-child{transform:rotate(180deg)}
#work-table .work-status-cell .badge,#work-table .work-priority-cell .badge{font-size:10px;font-weight:400;line-height:1.4;padding:4px 8px;border-radius:4px;white-space:nowrap}
.work-person .avatar{width:30px;height:30px;flex:0 0 30px;font-size:12px}
.work-person-support .avatar{width:23px;height:23px;flex-basis:23px;font-size:10px}
.work-person-support{position:relative;display:inline-flex;margin:3px 4px 0 0;vertical-align:middle;font-size:12px;color:var(--muted);cursor:help}
.work-person-tooltip{display:none;position:absolute;bottom:calc(100% + 7px);left:0;z-index:20;padding:8px 10px;border-radius:7px;background:#243a34;color:#fff;white-space:nowrap;font-size:12px;box-shadow:0 4px 12px #0002;pointer-events:none}
.work-person-tooltip small{display:block;color:#d6e7de;font-size:11px;margin-top:3px}
.work-person-support:hover .work-person-tooltip,.work-person-support:focus .work-person-tooltip{display:block}
#work-filter.work-filter-four .check-label{min-height:40px;margin-top:20px}
#ui-datepicker-div{font-family:"Roboto",sans-serif;font-size:14px;width:290px;box-shadow:0 8px 30px #163e2926;border:1px solid #dce8e1;padding:8px;border-radius:10px;z-index:1000!important}
#ui-datepicker-div .ui-datepicker-header{background:#19765d;color:#fff;border:0;border-radius:6px}
#ui-datepicker-div .ui-datepicker-title{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 30px;line-height:32px}
#ui-datepicker-div .ui-datepicker-title select{display:inline-block;width:auto;height:32px;min-width:0;padding:3px 5px;appearance:auto;-webkit-appearance:auto;background:#fff;color:#243a34;margin:0;border:0;border-radius:4px;font-size:14px}
#ui-datepicker-div .ui-datepicker-prev,#ui-datepicker-div .ui-datepicker-next{top:5px;width:28px;height:28px;cursor:pointer}
#ui-datepicker-div .ui-datepicker-prev-hover,#ui-datepicker-div .ui-datepicker-next-hover{background:#ffffff24;border:0}
#ui-datepicker-div .ui-state-default{border:0;background:#f1f6f3;text-align:center;padding:7px;border-radius:4px}
#ui-datepicker-div .ui-state-active{background:#19765d;color:#fff}
#ui-datepicker-div .ui-state-highlight{outline:1px solid #b77a25}
.date-picker-display{background:#fff!important;cursor:pointer}
.calendar-priority-0{--calendar-priority:#7c3aed}.calendar-priority-1{--calendar-priority:#2563eb}.calendar-priority-2{--calendar-priority:#d97706}.calendar-priority-3{--calendar-priority:#dc2626}
#work-visual .calendar-task[class*="calendar-priority-"]{border-left-color:var(--calendar-priority,#7b9d8c)}
.calendar-priority-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:11px;margin:0 0 10px}
.calendar-priority-key{border-left:3px solid var(--calendar-priority);padding-left:6px}
#work-visual .calendar-task .calendar-assignee{display:flex;align-items:center;flex-wrap:nowrap;gap:5px;min-width:0;white-space:nowrap;opacity:1;margin-top:4px}
.calendar-assignee-avatar{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;border-radius:50%;overflow:hidden;background:#d8e9df;color:#46765e;font-size:9px}
.calendar-assignee-avatar img{width:100%;height:100%;object-fit:cover}
.calendar-assignee-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:18px}
#work-visual .timeline-task-name .timeline-assignee{display:flex;align-items:center;flex-wrap:nowrap;gap:5px;min-width:0;white-space:nowrap;margin-top:4px}
#work-visual .timeline-grid{min-width:calc(310px + var(--timeline-width));grid-template-columns:310px minmax(var(--timeline-width),1fr)}
@media(max-width:800px){#work-visual .timeline-grid{min-width:calc(210px + var(--timeline-width));grid-template-columns:210px minmax(var(--timeline-width),1fr)}}
#work-visual .timeline-scroll{position:relative;isolation:isolate}
#work-visual .timeline-task-name{position:sticky;left:0;z-index:3;background:#fff;border-right:1px solid #dce5df;box-shadow:3px 0 5px #183f350a}
#work-visual .timeline-days{position:sticky;top:0;z-index:4}
#work-visual .timeline-heading{position:sticky;left:0;top:0;z-index:5;background:#205d4c;border-right:1px solid #ffffff20;box-shadow:3px 0 5px #183f350a}
#work-visual .timeline-track>.timeline-assignee{position:absolute;top:18px;height:26px;width:180px;display:flex;align-items:center;flex-wrap:nowrap;gap:6px;white-space:nowrap;min-width:0;font-size:12px;color:var(--muted)}
#work-visual .timeline-track .calendar-assignee-avatar{width:24px;height:24px;flex-basis:24px;font-size:11px}
#work-visual .timeline-assignee.is-inside{color:var(--ink);font-size:11px}#work-visual .timeline-assignee.is-avatar-only .calendar-assignee-name{display:none}#work-visual .timeline-bar.assignee-covers-label{text-indent:-9999px}
.visual-legend-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.visual-legend-row>.visual-legend{margin:0}
.visual-legend-row>.calendar-priority-legend{margin:0 0 0 auto}
@media(max-width:700px){.visual-legend-row>.calendar-priority-legend{margin-left:0}}
@media(max-width:1100px){.workspace #work-filter.work-filter-four{grid-template-columns:repeat(2,minmax(0,1fr))}#work-filter.work-filter-four .filters-actions{grid-column:1/-1}}
@media(max-width:600px){.workspace #work-filter.work-filter-four{grid-template-columns:1fr}}
.work-project-summary{display:block;color:var(--muted);font-size:13px;margin-top:5px}
.badge.priority-0{background:#ede9fe;color:#5b21b6}.badge.priority-1{background:#dbeafe;color:#1e40af}.badge.priority-2{background:#fef3c7;color:#92400e}.badge.priority-3{background:#fee2e2;color:#b91c1c}
#work-table .work-delete,#work-table .work-delete i{color:#c42d3a}
#work-table .work-delete:not(.delete-unavailable):hover{background:#fff0f1;border-color:#efb6bd}
.delete-unavailable{opacity:.45;cursor:not-allowed}
.workspace #visual-filter.visual-filter-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#visual-filter.visual-filter-four .field{min-width:0;width:auto;margin:0}
#visual-filter.visual-filter-four .filters-actions{grid-column:3/5;display:flex;gap:8px;align-self:end;justify-content:flex-end}
#visual-filter.visual-filter-four .check-label{min-height:40px;margin-top:20px}
.kanban-column[data-status="0"]{--column-color:#425b9c;--column-tint:#eef1fa}.kanban-column[data-status="1"]{--column-color:#0369a1;--column-tint:#edf7fe}.kanban-column[data-status="2"]{--column-color:#976100;--column-tint:#fff8e8}.kanban-column[data-status="3"]{--column-color:#166534;--column-tint:#eef9f0}.kanban-column[data-status="4"]{--column-color:#7540a0;--column-tint:#f6effc}
.kanban-board .kanban-column{border-top:4px solid var(--column-color);background:var(--column-tint)}
.kanban-column>h2{color:var(--column-color)}
.kanban-column>h2 .badge{color:var(--column-color);background:#fff}
@media(max-width:1100px){.workspace #visual-filter.visual-filter-four{grid-template-columns:repeat(2,minmax(0,1fr))}#visual-filter.visual-filter-four .filters-actions{grid-column:1/-1}}
@media(max-width:600px){.workspace #visual-filter.visual-filter-four{grid-template-columns:1fr}}
@media(hover:hover) and (pointer:fine){.kanban-board .kanban-task .kanban-change{position:absolute;width:1px;height:1px;min-width:0;min-height:0;padding:0;margin:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.kanban-board .kanban-task .kanban-change:focus-visible{position:static;width:auto;height:auto;padding:7px 10px;border:1px solid var(--border);overflow:visible;clip-path:none}}
.workspace #visual-filter.calendar-work-filter{display:block;width:100%;align-items:normal}
.workspace #visual-filter.calendar-work-filter>.calendar-basic-filters,.workspace #visual-filter.calendar-work-filter>.calendar-advanced{width:100%;min-width:0}
.calendar-basic-filters>.field{width:auto;min-width:0;flex:none}
.calendar-basic-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.calendar-advanced{margin:12px 0}.calendar-advanced summary{cursor:pointer;color:var(--green);font-weight:500}.calendar-advanced .calendar-basic-filters{margin-top:12px}
.calendar-work-filter .filters-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.calendar-filter-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.calendar-filter-tags:empty{margin:0}
.calendar-filter-tags button{border:1px solid var(--border);background:var(--green-light);color:var(--green-dark);border-radius:16px;padding:5px 10px;font-size:13px}
@media(max-width:1100px){.calendar-basic-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.calendar-basic-filters{grid-template-columns:1fr}}
.visual-toolbar .visual-period-nav{align-self:end;display:flex;align-items:center;gap:6px;margin:0;padding-bottom:0}
.visual-toolbar .visual-period-nav .btn{height:41px;min-height:41px;padding:0 12px}
.visual-toolbar .visual-period-nav #period-prev,.visual-toolbar .visual-period-nav #period-next{width:36px;padding:0}
.timeline-scroll .timeline-grid{width:100%;min-width:calc(310px + var(--timeline-width));grid-template-columns:310px minmax(var(--timeline-width),1fr)}
.timeline-grid .timeline-track{background-image:linear-gradient(to right,transparent calc(100% - 1px),#e9efeb calc(100% - 1px));background-size:calc(100% / var(--timeline-days)) 100%;background-repeat:repeat}
.timeline-grid .timeline-bar{font-size:12px;font-weight:500;box-shadow:inset 0 -2px 0 #00000012}
.timeline-grid .timeline-bar.status-0{background:#dce4fa;color:#354b87}.timeline-grid .timeline-bar.status-1{background:#bae0fb;color:#075985}.timeline-grid .timeline-bar.status-2{background:#f8db94;color:#754b00}.timeline-grid .timeline-bar.status-3{background:#b4e4c4;color:#166534}.timeline-grid .timeline-bar.status-4{background:#dec5f3;color:#6b3295}
@media(max-width:800px){.timeline-scroll .timeline-grid{min-width:calc(210px + var(--timeline-width));grid-template-columns:210px minmax(var(--timeline-width),1fr)}}
#visual-notice:empty{display:none}
#work-table tbody td:last-child{white-space:nowrap}
#work-table tbody td:last-child .btn.small{width:34px;height:34px;padding:0;vertical-align:middle}
#work-table tbody td:last-child .btn.small+.btn.small{margin-left:7px}
.work-detail-page .detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0}
.work-detail-page .badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 10px}
.work-detail-page .badge>i{margin:0;flex-shrink:0}
.work-detail-page .panel-title h2{display:flex;align-items:center;gap:8px;margin:0}
.work-detail-page .page-heading p>i,.work-detail-page p.muted>i{margin-right:6px}
.work-detail-page .work-checklist-row{display:flex;align-items:center;gap:8px;margin:10px 0}
.work-detail-page .work-checklist-row button:first-of-type{min-height:34px}
.work-detail-page [data-checklist-trash]:not([data-restore]),.work-detail-page [data-delete-comment],.work-detail-page #delete-work{color:#c42d3a}
.work-detail-page .work-checklist-row [data-checklist-trash]{flex-shrink:0}
.work-detail-page .work-checklist-add{margin-bottom:12px}
.work-detail-page .heading-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:800px){.work-detail-page .heading-actions{justify-content:flex-start}.work-detail-page .work-checklist-add{flex-wrap:wrap}}
.work-detail-page .comment-actions{border-top:0;padding-top:0;margin-top:12px}
.work-detail-page .discussion-history{margin-top:16px}
.work-detail-page .work-discussion label>i{margin-right:6px}
.work-detail-page .discussion-history:empty{display:none}
.work-detail-page .discussion-history .discussion-item{position:relative;background:#f5f9f7;border:1px solid #e1ebe5;border-radius:9px;padding:14px 54px 14px 14px;margin:12px 0 0}
.work-detail-page .discussion-item>small{display:block;font-size:13px;color:#71857a}
.work-detail-page .discussion-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;line-height:1.6}
.work-detail-page .discussion-item>button{position:absolute;right:12px;top:12px;width:32px;height:32px;padding:0}
.work-detail-page .discussion-item:last-child{border-bottom:1px solid #e1ebe5;margin-bottom:0}
.discussion-author{display:flex;align-items:center;gap:10px;margin-bottom:6px}.discussion-author img,.comment-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.comment-avatar{display:grid;place-items:center;background:#dceee4;color:#19765d;font-weight:600}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.work-discussion .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.avatar-upload{display:flex;align-items:center;gap:24px;padding:20px;background:#f5f9f7;border:1px dashed #bfd5c8;border-radius:12px}
.avatar-preview{width:112px;height:112px;flex-shrink:0;border-radius:50%;background:#e1eee7;display:grid;place-items:center;overflow:hidden;color:#56816b;font-size:40px}
.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-preview [hidden]{display:none}
.avatar-upload-content{min-width:0}.avatar-upload-content p{margin:6px 0 12px;color:var(--muted)}.avatar-upload-content #avatar-file-name{margin:10px 0 0;font-size:13px;overflow-wrap:anywhere}
.avatar-picker{position:relative;display:inline-block}.avatar-picker input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;border:0}
.avatar-picker:focus-within label{outline:2px solid var(--green);outline-offset:3px}.avatar-picker label{cursor:pointer;margin:0}
.avatar-save{display:flex;justify-content:flex-end;margin-top:18px}
@media(max-width:600px){.avatar-upload{flex-direction:column;text-align:center;gap:16px;padding:18px}.avatar-save .btn{width:100%}}
.project-leader-profile{display:flex;align-items:center;gap:10px;min-width:210px}.project-leader-profile img{width:36px;height:36px;object-fit:cover;border-radius:50%;flex-shrink:0}.project-leader-profile strong{font-weight:500}.project-leader-profile small{display:block;color:var(--muted);font-size:12px;margin-top:4px;overflow-wrap:anywhere}.project-date-range{display:grid;gap:6px;white-space:nowrap;font-size:13px}.project-date-range span{display:flex;align-items:center;gap:7px}.project-date-range i{color:#7c9b88}
.work-detail-page form.work-checklist-row{display:flex;gap:12px;width:100%;padding:10px 12px;border:1px solid #e3ebe6;border-radius:8px;background:#f8faf9;margin:8px 0}
.work-detail-page form.work-checklist-row button:first-of-type{flex:1;justify-content:flex-start;border:0;background:transparent;padding:0;min-width:0;box-shadow:none;font-size:14px;line-height:1.5}
.work-detail-page form.work-checklist-row button:first-of-type i{font-size:17px;flex-shrink:0;color:#19765d}
.work-detail-page form.work-checklist-row:has(.fa-square-check){background:#eef7f1;border-color:#d7e9de}
.work-detail-page form.work-checklist-row:has(.fa-square-check) button:first-of-type{color:#56816a}
.work-detail-page form.work-checklist-row [data-checklist-trash]{width:32px;height:32px;padding:0;background:#fff}
.work-detail-page .work-checklist-add{margin-top:16px;gap:10px}
.work-detail-page .work-checklist-add input{min-width:0;flex:1}
.work-detail-page .work-checklist-add+details{margin-top:14px}
.work-detail-page .work-checklist-add+details summary{cursor:pointer;font-size:13px;color:var(--muted)}
.work-detail-page form.work-checklist-row{padding:8px 12px}
.work-detail-page form.work-checklist-row button[data-checklist-trash]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;gap:0}
.work-detail-page form.work-checklist-row button[data-checklist-trash] i{margin:0;width:auto;color:#c42d3a}
.work-detail-page form.work-checklist-add{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 10px}
.work-detail-page form.work-checklist-add input[name=text]{grid-column:1;grid-row:1;width:100%}
.work-detail-page form.work-checklist-add>.btn{grid-column:2;grid-row:1}
.work-detail-page form.work-checklist-add>.field-validation-error,.work-detail-page form.work-checklist-add>label.error{grid-column:1;grid-row:2;margin:0;font-size:13px}
.checklist-drag-handle{display:flex;align-items:center;justify-content:center;align-self:stretch;width:20px;color:#91a69a;cursor:grab;flex-shrink:0}.work-checklist-row.ui-sortable-helper{box-shadow:0 8px 24px #1a493322}.work-checklist-row.ui-sortable-placeholder{visibility:visible!important;border:1px dashed #77a38a!important;background:#edf5ef!important}
.work-detail-page form.work-checklist-row:has(.checklist-drag-handle),.work-detail-page form.work-checklist-row:has(.checklist-drag-handle) button:first-of-type{cursor:grab}
.work-detail-page form.work-checklist-row.ui-sortable-helper,.work-detail-page form.work-checklist-row.ui-sortable-helper button:first-of-type{cursor:grabbing}
.work-detail-page .work-update-fields label>i{margin-right:7px;color:#6c9480;width:15px;text-align:center}
.work-detail-page .work-update-fields textarea{min-height:76px}
.work-history-collapse>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;border-bottom:0}
.work-history-collapse>summary::-webkit-details-marker{display:none}
.work-history-collapse[open]>summary{border-bottom:1px solid var(--border)}
.work-history-collapse .history-chevron{color:var(--muted);font-size:13px;transition:transform .15s}
.work-history-collapse[open] .history-chevron{transform:rotate(180deg)}
.language-picker{display:flex;align-items:center;gap:6px;margin:0}.language-picker label{margin:0;color:var(--green)}.language-picker .select2-container{width:110px!important}.language-picker .btn{padding:6px}.auth-main>.language-picker{position:absolute;right:24px;top:18px;z-index:2}
@font-face{font-family:'Noto Sans KR';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/noto-sans-kr/NotoSansKR.ttf') format('truetype')}
html[lang=ko] body,html[lang=ko] input,html[lang=ko] button,html[lang=ko] select,html[lang=ko] textarea{font-family:'Roboto','Noto Sans KR',sans-serif}
.language-option{display:inline-flex;align-items:center;gap:8px;vertical-align:middle}.language-option img{width:22px;height:16px;object-fit:contain;flex-shrink:0;border-radius:2px}.language-picker .select2-container{width:140px!important}
