*{box-sizing:border-box}body{margin:0;background:#f3f6fb;color:#14213d;font:14px system-ui,"Noto Sans KR",sans-serif}main{max-width:1180px;margin:auto;padding:28px 18px}.top{display:flex;gap:12px;align-items:center;margin-bottom:18px}.top h1{margin:0}.top p{margin:5px 0 0;color:#64748b}.spacer{flex:1}.card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px;box-shadow:0 4px 18px #17233a0a}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wide{grid-column:1/-1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.stat strong{display:block;font-size:26px;margin-top:6px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}input,button,textarea{font:inherit;border-radius:9px;padding:10px 12px}input,textarea{border:1px solid #cbd5e1;min-width:130px;flex:1}textarea{width:100%;min-height:110px;resize:vertical}button{border:0;background:#2563eb;color:#fff;font-weight:700;cursor:pointer}.secondary{background:#e8eef7;color:#334155}.danger{background:#fee2e2;color:#991b1b}.hidden{display:none!important}.muted{color:#64748b}.error{color:#b91c1c}ul{padding:0;margin-bottom:0}li{list-style:none;padding:10px 0;border-bottom:1px solid #edf2f7}.mail-item{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center}.mail-subject{padding:0;border:0;background:transparent;color:#1e293b;font-weight:750;text-align:left;line-height:1.45;border-radius:0}.mail-subject:hover{color:#0f766e;text-decoration:underline;text-underline-offset:3px}.badge{display:inline-block;border-radius:999px;padding:4px 8px;background:#fee2e2;color:#991b1b;font-size:12px;font-weight:700}.calendar{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px;overflow-x:auto}.day{min-height:165px;border:1px solid #e2e8f0;border-radius:10px;padding:10px;background:#fafcff;cursor:pointer}.day.today{border-color:#2563eb;background:#eff6ff}.day h3{margin:0 0 8px;font-size:13px}.task-chip{display:block;width:100%;border:0;text-align:left;padding:7px;margin:5px 0;border-radius:7px;background:#dbeafe;color:#14213d;font-size:12px}.task-chip.done{background:#dcfce7;text-decoration:line-through}.day-total{margin-top:9px;padding-top:8px;border-top:1px dashed #cbd5e1;color:#0f766e;font-weight:800;font-size:12px}.section-title{display:flex;align-items:center;gap:8px}.section-title h2{margin-right:auto}.week-nav{display:flex;align-items:center;gap:8px}.week-nav button{min-width:76px}.overdue{border-left:4px solid #f59e0b;background:#fffbeb}.overdue-list li{display:grid;grid-template-columns:110px 1fr 80px 34px;gap:10px;align-items:center}.delay{color:#b45309;font-weight:700}.auth-shell{max-width:920px;margin:54px auto;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 24px 70px #17233a24}.auth-intro{padding:54px 46px;background:linear-gradient(145deg,#172554,#2563eb);color:#fff;position:relative}.auth-intro .eyebrow{font-weight:800;letter-spacing:.12em;color:#bfdbfe}.auth-intro h2{font-size:34px;line-height:1.25;margin:18px 0 14px}.auth-intro p{color:#dbeafe;line-height:1.8}.auth-features{margin-top:32px;display:grid;gap:12px}.auth-feature{display:flex;gap:10px;align-items:center}.auth-feature span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#ffffff20}.auth{padding:52px 42px;display:flex;flex-direction:column;justify-content:center}.auth h2{font-size:26px;margin:0 0 8px}.field{display:block;margin-top:18px;color:#475569;font-weight:700}.field input{display:block;width:100%;margin-top:7px;padding:13px}.login-action{width:100%;margin-top:22px;padding:13px}.auth-link{text-align:center;margin-top:20px}@media(max-width:760px){.grid,.stats{grid-template-columns:1fr}.mail-item,.overdue-list li{grid-template-columns:1fr}.top,.section-title{align-items:flex-start;flex-wrap:wrap}.auth-shell{grid-template-columns:1fr;margin:20px auto}.auth-intro{padding:32px 28px}.auth-intro h2{font-size:27px}.auth{padding:32px 28px}.week-nav{width:100%;justify-content:space-between}}

body:has(#loginView:not(.hidden)) .top>button,body:has(#registerView:not(.hidden)) .top>button{display:none!important}body:has(#loginView:not(.hidden)) .top,body:has(#registerView:not(.hidden)) .top{width:100%;max-width:920px;margin:22px auto 14px;padding:0;align-items:center}body:has(#loginView:not(.hidden)) .auth-shell,body:has(#registerView:not(.hidden)) .auth-shell{margin-top:0}@media(max-width:760px){body:has(#loginView:not(.hidden)) .top,body:has(#registerView:not(.hidden)) .top{width:100%;margin:14px 0 12px;padding:0}}

/* 회원 재직 정보: 공통 모달 규칙 */
.employment-modal{width:min(580px,100%)!important;padding:0!important;overflow:hidden!important;background:#f8fafc!important}.employment-modal>.section-title{margin:0;padding:20px 23px;color:#fff;background:linear-gradient(135deg,#0f172a,#1e3a5f)}.employment-modal>.section-title h2{color:#fff}.employment-modal>.section-title .secondary{border-color:#ffffff38;background:#ffffff1d;color:#fff}.employment-form{padding:20px 24px 0}.employment-user{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:11px;align-items:center;padding:13px 14px;border:1px solid #dbeafe;border-radius:12px;background:linear-gradient(135deg,#eff6ff,#fff)}.employment-user::before{content:'ID';display:grid;place-items:center;grid-row:1/3;width:42px;height:42px;border-radius:11px;background:#2563eb;color:#fff;font-size:11px;font-weight:900;letter-spacing:.04em}.employment-user strong,.employment-user span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employment-user strong{color:#1e3a8a;font-size:14px}.employment-user span{margin-top:3px;color:#64748b;font-size:11px}.employment-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.employment-date-grid .field{display:block;margin:0;padding:11px 12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff;color:#475569;font-size:11px;font-weight:850}.employment-date-grid .field:first-child{border-left:3px solid #2563eb}.employment-date-grid .field:last-child{border-left:3px solid #94a3b8}.employment-date-grid input{width:100%;height:38px;margin:6px 0 0;padding:0 8px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#1e293b;font-size:12px;font-weight:700}.employment-date-grid input:focus{border-color:#60a5fa;background:#fff;box-shadow:0 0 0 3px #dbeafe}.employment-note{margin:12px 0 0;padding:9px 11px;border:1px solid #e2e8f0;border-radius:9px;background:#fff;color:#64748b;font-size:11px;line-height:1.45}.employment-note::before{content:'안내';margin-right:7px;color:#475569;font-weight:850}.employment-form .modal-actions{margin:18px -24px 0;padding:14px 24px;border-top:1px solid #e2e8f0;background:#fff}.employment-form #employmentSave{min-width:82px;border-color:#2563eb;background:#2563eb}.employment-form #employmentCancel{min-width:72px}@media(max-width:560px){.employment-modal{width:100%!important;border-radius:18px 18px 0 0!important}.employment-modal>.section-title{padding:16px 18px}.employment-form{padding:15px 14px 0}.employment-date-grid{gap:9px}.employment-date-grid .field{padding:10px}.employment-date-grid input{font-size:11px}.employment-form .modal-actions{margin:16px -14px 0;padding:12px 14px}.employment-form .modal-actions button{flex:1}}

/* 업무 등록·수정: 공통 폼 규칙 */
.task-modal{width:min(680px,100%)!important;max-height:min(90vh,760px)!important;display:flex!important;flex-direction:column;overflow:hidden!important;background:#f8fafc!important}.task-modal>.section-title{flex:0 0 auto}.task-form{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:14px;padding:18px 24px 0;overflow-y:auto}.task-form .field{display:block;min-width:0;margin:0;color:#475569;font-size:11px;font-weight:850}.task-form input,.task-form select,.task-form textarea{display:block;width:100%;min-width:0;margin:6px 0 0;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#1e293b;font-size:13px}.task-form input,.task-form select{height:42px;padding:0 11px}.task-form textarea{min-height:106px;padding:10px 11px;line-height:1.55}.task-form input:focus,.task-form select:focus,.task-form textarea:focus{outline:0;border-color:#60a5fa;box-shadow:0 0 0 3px #dbeafe}.task-form-top{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px}.task-category-field{padding:10px 11px;border:1px solid #dbeafe;border-left:3px solid #2563eb;border-radius:11px;background:#eff6ff}.task-title-field{padding:10px 11px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.task-form-top .field input,.task-form-top .field select{margin-top:5px}.task-detail-field{padding:11px 12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.task-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-date-grid .field{padding:10px 11px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.task-date-grid .field:first-child{border-left:3px solid #0f766e}.task-date-grid .field:nth-child(2){border-left:3px solid #7c3aed}.task-date-grid .field:nth-child(3){border-left:3px solid #2563eb}.task-form>.modal-actions{position:sticky;bottom:0;z-index:2;display:flex;gap:8px;align-items:center;margin:2px -24px 0;padding:14px 24px;border-top:1px solid #e2e8f0;background:#fff;box-shadow:0 -7px 16px #0f172a0d}.task-form>.modal-actions button{min-width:76px}.task-form #taskSave{border-color:#2563eb;background:#2563eb}.task-form #taskDelete{margin-right:auto}@media(max-width:560px){.task-modal{width:100%!important;max-height:92vh!important;border-radius:18px 18px 0 0!important}.task-modal>.section-title{padding:16px 18px}.task-form{gap:11px;padding:14px 14px 0}.task-form-top,.task-date-grid{grid-template-columns:1fr}.task-category-field,.task-title-field,.task-detail-field,.task-date-grid .field{padding:9px 10px}.task-form textarea{min-height:92px}.task-form>.modal-actions{margin:2px -14px 0;padding:12px 14px}.task-form>.modal-actions .spacer{display:none}.task-form>.modal-actions button{flex:1;min-width:0;padding:10px 7px}.task-form #taskDelete{margin-right:0}}

/* 휴가 신청: 업무 등록과 동일한 모달·폼 리듬 */
.leave-request-modal{width:min(640px,100%)!important;max-height:min(90vh,720px)!important;display:flex!important;flex-direction:column;overflow:hidden!important;background:#f8fafc!important}.leave-request-modal>.section-title{flex:0 0 auto!important;background:linear-gradient(135deg,#0f172a,#1e3a5f)!important}.leave-form{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:13px;padding:18px 22px 0;overflow-y:auto}.leave-form .field{display:block;min-width:0;margin:0!important;color:#475569;font-size:11px;font-weight:850}.leave-form input,.leave-form select,.leave-form textarea{display:block;width:100%;min-width:0;margin:6px 0 0;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#1e293b;font-size:13px}.leave-form input,.leave-form select{height:42px;padding:0 11px}.leave-form textarea{min-height:92px;padding:10px 11px;line-height:1.55}.leave-form input:focus,.leave-form select:focus,.leave-form textarea:focus{outline:0;border-color:#a78bfa;box-shadow:0 0 0 3px #ede9fe}.leave-form-lead{display:grid!important;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center!important;margin:0!important;padding:12px 13px!important;border:1px solid #ddd6fe!important;border-radius:11px!important;background:#f5f3ff!important;color:#5b21b6!important}.leave-form-lead b{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#7c3aed;color:#fff;font-size:16px}.leave-form-lead strong,.leave-form-lead span{display:block}.leave-form-lead strong{font-size:12px}.leave-form-lead span{margin-top:3px;color:#6d28d9;font-size:10px;line-height:1.4}.leave-form-top{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:12px}.leave-type-field{padding:10px 11px;border:1px solid #e2e8f0;border-left:3px solid #7c3aed;border-radius:11px;background:#fff}.leave-status-preview{min-height:78px;padding:11px 12px!important;border:1px solid #ddd6fe!important;border-left:3px solid #8b5cf6!important;border-radius:11px!important;background:#faf5ff!important}.leave-status-preview span{color:#6d28d9!important;font-size:10px!important;font-weight:850}.leave-status-preview strong{margin-top:6px!important;color:#5b21b6!important;font-size:13px!important}.leave-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.leave-date-grid .field{padding:10px 11px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.leave-date-grid .field:first-child{border-left:3px solid #0f766e}.leave-date-grid .field:last-child{border-left:3px solid #7c3aed}.leave-reason-field{padding:11px 12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.leave-form-note{margin:0!important;padding:9px 11px;border:1px solid #e2e8f0!important;border-radius:9px;background:#fff;color:#64748b!important;font-size:10px!important;line-height:1.45}.leave-form-note::before{content:'안내';margin-right:7px;color:#475569;font-weight:850}.leave-form>.modal-actions{position:sticky;bottom:0;z-index:2;display:flex;gap:8px;align-items:center;margin:2px -22px 0!important;padding:14px 22px!important;border-top:1px solid #e2e8f0!important;background:#fff!important;box-shadow:0 -7px 16px #0f172a0d}.leave-form>.modal-actions button{min-width:78px}.leave-form #leaveRequestSave{border-color:#7c3aed!important;background:#7c3aed!important}@media(max-width:560px){.leave-request-modal{width:100%!important;max-height:92vh!important;border-radius:18px 18px 0 0!important}.leave-request-modal>.section-title{padding:16px 18px!important}.leave-form{gap:11px;padding:14px 14px 0}.leave-form-top,.leave-date-grid{grid-template-columns:1fr}.leave-form>.modal-actions{margin:2px -14px 0!important;padding:12px 14px!important}.leave-form>.modal-actions .spacer{display:none}.leave-form>.modal-actions button{flex:1;min-width:0;padding:10px 7px}}

/* 승인된 휴가 일정 상세 */
.leave-detail-modal{width:min(600px,100%)!important;overflow:hidden!important;background:#f8fafc!important}.leave-detail-view{display:grid;gap:14px;padding:20px 22px 0}.leave-detail-hero{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:center}.leave-detail-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#7c3aed;color:#fff;font-size:18px;font-weight:900;box-shadow:0 7px 16px #7c3aed28}.leave-detail-tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f3e8ff;color:#6d28d9;font-size:10px;font-weight:850}.leave-detail-hero h3{margin:6px 0 0;color:#172554;font-size:18px;line-height:1.35}.leave-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px}.leave-detail-meta>div{padding:10px 11px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.leave-detail-meta span,.leave-detail-reason>span{display:block;color:#64748b;font-size:10px;font-weight:850}.leave-detail-meta strong{display:block;margin-top:5px;color:#334155;font-size:12px}.leave-detail-reason{padding:12px 13px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.leave-detail-reason>span{color:#7c3aed}.leave-detail-reason p{min-height:42px;margin:7px 0 0;color:#334155;font-size:13px;line-height:1.55}.leave-detail-view>.modal-actions{display:flex;align-items:center;gap:8px;margin:2px -22px 0!important;padding:14px 22px!important;border-top:1px solid #e2e8f0!important;background:#fff!important}.leave-detail-view>.modal-actions button{min-width:78px}@media(max-width:560px){.leave-detail-modal{width:100%!important;border-radius:18px 18px 0 0!important}.leave-detail-modal>.section-title{padding:16px 18px!important}.leave-detail-view{gap:12px;padding:16px 14px 0}.leave-detail-meta{grid-template-columns:1fr}.leave-detail-view>.modal-actions{margin:2px -14px 0!important;padding:12px 14px!important}.leave-detail-view>.modal-actions .spacer{display:none}.leave-detail-view>.modal-actions button{width:100%}}

/* 근태 달력의 주말·공휴일 표시 */
.attendance-month-weekdays .sunday,.attendance-month-day.sunday>span,.attendance-month-day.holiday>span{color:#dc2626!important;font-weight:850}.attendance-month-weekdays .saturday,.attendance-month-day.saturday>span{color:#2563eb!important;font-weight:850}.attendance-month-day.holiday{border-color:#fecaca!important;background:#fff7f7!important}.attendance-month-day.saturday:not(.holiday){border-color:#dbeafe!important;background:#f8fbff!important}.attendance-month-day.sunday:not(.holiday){border-color:#fee2e2!important;background:#fffafa!important}.attendance-month-day.outside.sunday>span,.attendance-month-day.outside.saturday>span{opacity:.65}

/* 관리자 근태: 전체 · 팀 · 개인 조회 */
.admin-attendance-scope{display:inline-grid;grid-template-columns:repeat(3,minmax(54px,1fr));gap:4px;padding:4px;border:1px solid #d7e1ef;border-radius:12px;background:#f5f8fc}.admin-attendance-scope button{min-height:34px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:#60708b;font-size:13px;font-weight:700;white-space:nowrap}.admin-attendance-scope button.active{background:#173d70;color:#fff;box-shadow:0 2px 6px rgba(23,61,112,.2)}.admin-attendance-user-field select:disabled{color:#64748b;background:#f2f6fb;cursor:default}@media(max-width:640px){.admin-attendance-scope{width:100%;order:-1}.admin-attendance-scope button{min-height:36px}.admin-attendance-toolbar{align-items:stretch}.admin-attendance-user-field{width:100%}.admin-attendance-user-field select{width:100%}}

/* 전체·팀 근태 달력 집계 배지: 출근 · 지각 · 외근 · 결근 · 휴가 */
.attendance-all-grid .attendance-count{margin:2px 2px 0 0;padding:2px 5px;border:1px solid transparent;border-radius:999px;font-size:8px;font-weight:850;line-height:1.2}.attendance-all-grid .attendance-count.present{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8!important}.attendance-all-grid .attendance-count.late{border-color:#fed7aa;background:#fff7ed;color:#c2410c!important}.attendance-all-grid .attendance-count.external{border-color:#86efac;background:#ecfdf5;color:#15803d!important}.attendance-all-grid .attendance-count.absent{border-color:#fecaca;background:#fff1f2;color:#be123c!important}.attendance-all-grid .attendance-count.vacation{border-color:#ddd6fe;background:#f5f3ff;color:#6d28d9!important}.admin-attendance-toolbar .attendance-legend i.external{background:#16a34a!important;box-shadow:0 0 0 2px #dcfce7}

/* 출근 확인: 공통 입력·드롭다운 규칙 */
.attendance-check-card .attendance-location-label{display:block;margin:12px 0 10px;color:#53657d;font-size:11px;font-weight:850}.attendance-check-card .attendance-location-label>span{display:flex;align-items:center;gap:6px;margin:0 0 6px;color:#53657d;letter-spacing:.01em}.attendance-check-card .attendance-location-label>span::before{content:'';width:5px;height:5px;border-radius:50%;background:#14b8a6}.attendance-check-card .attendance-location-label select{display:block;width:100%;height:46px;margin:0;padding:0 42px 0 13px;border:1px solid #cbd9e8;border-radius:10px;outline:0;background-color:#f8fbff;background-image:linear-gradient(45deg,transparent 50%,#47617d 50%),linear-gradient(135deg,#47617d 50%,transparent 50%);background-position:calc(100% - 20px) 19px,calc(100% - 14px) 19px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;color:#1e3a5f;font-size:13px;font-weight:750;appearance:none;-webkit-appearance:none;transition:border-color .16s,box-shadow .16s,background .16s}.attendance-check-card .attendance-location-label select:hover{border-color:#8cb9cf;background-color:#f1f8fc}.attendance-check-card .attendance-location-label select:focus{border-color:#14b8a6;background-color:#fff;box-shadow:0 0 0 3px #ccfbf1}.attendance-check-card .attendance-location-label:has(#attendanceAction)>span::before{background:#7c3aed}.attendance-check-card .attendance-location-label:has(#attendanceAction) select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #ede9fe}

/* APP_JS_STATIC_CSS_START */
.task-detail-modal{position:relative}

/* css */
.top{max-width:1180px;margin:20px auto 14px;padding:0;display:flex;align-items:center;gap:18px}
    .top>.spacer{display:none}.brand-lockup{display:flex;align-items:center;gap:11px;min-width:255px}
    .brand-orb{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#0f766e,#2563eb);color:#fff;box-shadow:0 10px 22px #2563eb35;font-size:22px}.brand-orb img{display:block;width:100%;height:100%;border-radius:inherit}
    .brand-copy h1{margin:0;color:#102a43;font-size:18px;letter-spacing:-.03em}.brand-copy p{margin:3px 0 0;color:#728197;font-size:12px}
    .app-nav{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.app-nav button{white-space:nowrap}
    .app-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:#0f172a80}.app-modal.hidden{display:none}.app-modal>article{width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 24px 70px #0f172a55}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
    .floating-actions{position:fixed;right:20px;bottom:20px;z-index:800;display:grid;gap:9px}.floating-actions button{border-radius:999px;padding:11px 16px;box-shadow:0 12px 26px #0f172a35}.floating-actions #quickTask{background:#0f766e}.floating-actions #quickExpense{background:#2563eb}.floating-actions #quickEvent{background:#7c3aed}.floating-actions #quickMeeting{background:#334155}
    .mail-scroll{max-height:460px;overflow-y:auto;padding-right:5px}.mail-actions{display:flex;gap:7px;margin-top:7px}.mail-actions button{font-size:12px;padding:6px 9px}.mail-subject{background:transparent;color:#334155;padding:0;text-align:left;font-weight:700}.mail-subject:hover{color:#0f766e;text-decoration:underline}
    #expenseSearchCard #dailyExpensePanel{border:0;box-shadow:none;padding:18px 0 0}.expense-search-result button{width:100%;margin:4px 0;text-align:left;background:#fff;color:#1e293b;border:1px solid #e2e8f0}.expense-search-result button:hover{border-color:#0f766e;background:#f0fdfa}
    .schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:7px;overflow:auto}.schedule-day{height:245px;display:flex;flex-direction:column;border:1px solid #e2e8f0;border-top:3px solid #94a3b8;border-radius:11px;padding:8px;background:#fff}.schedule-grid.month .schedule-day{height:112px;padding:7px}.schedule-grid.month .schedule-events{margin-top:2px}.schedule-grid.month .event-chip{margin-top:3px;padding:4px 6px;font-size:11px}.schedule-grid.month .event-chip small{font-size:9px}.schedule-grid.month .holiday-label{font-size:9px}.schedule-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.event-count{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:11px;font-weight:800}.schedule-events{min-height:0;overflow-y:auto;margin-top:4px;padding-right:2px}.schedule-day.sunday{border-top-color:#ef4444;background:#fff7f7}.schedule-day.sunday .schedule-day-head strong{color:#dc2626}.schedule-day.saturday{border-top-color:#2563eb;background:#f3f8ff}.schedule-day.saturday .schedule-day-head strong{color:#2563eb}.schedule-day.holiday{border-top-color:#ef4444;background:#fff7f7}.schedule-day.holiday .schedule-day-head strong{color:#dc2626}.holiday-label{margin-top:2px;color:#dc2626;font-size:10px;font-weight:750;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-day.outside-month{background:#f8fafc;border-color:#edf2f7}.schedule-day.outside-month .schedule-day-head{opacity:.42}.schedule-day.outside-month .event-chip{opacity:.58}.schedule-day.drag-over{outline:2px solid #0f766e;background:#ecfdf5}.event-chip{display:block;width:100%;margin-top:6px;padding:7px;border-radius:8px;text-align:left;background:#e0f2fe;color:#0c4a6e;font-size:12px;cursor:grab}.event-chip.shared{background:#f3e8ff;color:#6b21a8}.event-chip.team{background:#cffafe;color:#155e75}.schedule-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.schedule-toolbar .spacer{flex:1}.active{background:#0f766e!important;color:#fff!important}.calendar .day{border-top:3px solid #94a3b8}.calendar .day.sunday{border-top-color:#ef4444;background:#fff7f7}.calendar .day.saturday{border-top-color:#2563eb;background:#f3f8ff}.calendar .day.holiday{border-top-color:#ef4444;background:#fff7f7}.calendar .day.sunday h3,.calendar .day.holiday h3{color:#dc2626}.calendar .day.saturday h3{color:#2563eb}.calendar .day.holiday h3{color:#dc2626}.calendar .day-holiday-name{display:block;margin-top:3px;color:#dc2626;font-size:10px;font-weight:750}
    #projectTabs{padding:3px 0 14px;margin-bottom:14px;overflow-x:auto;flex-wrap:nowrap;border-bottom:1px solid #e2e8f0}#projectTabs button{flex:0 0 auto}.project-summary{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px 14px;margin-bottom:14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.project-summary span{color:#64748b;font-size:12px}.project-summary strong{display:block;margin-top:3px;color:#1e293b}.project-board{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:12px;overflow-x:auto}.project-column{min-height:245px;padding:12px;border-top:4px solid #64748b;border-radius:12px;background:#f8fafc;transition:.15s}.project-column.drag-over{outline:2px solid #0f766e;transform:translateY(-2px)}.project-column:nth-child(2){border-top-color:#f97316;background:#fff7ed}.project-column:nth-child(3){border-top-color:#8b5cf6;background:#f5f3ff}.project-column:nth-child(4){border-top-color:#2563eb;background:#eff6ff}.project-card{display:block;width:100%;margin:9px 0;padding:11px;text-align:left;background:#fff;color:#1e293b;border:1px solid #dbe4ed;border-left:5px solid #64748b;border-radius:9px;cursor:grab}.project-card.status-todo{border-left-color:#64748b}.project-card.status-progress{border-left-color:#f97316}.project-card.status-review{border-left-color:#8b5cf6}.project-card.status-done{border-left-color:#2563eb;background:#f8fbff}.project-card:hover{border-color:#0f766e;background:#f0fdfa}.project-card small{display:block;margin-top:5px;line-height:1.5}.day.drag-over{outline:2px solid #0f766e;background:#ecfdf5}.task-chip[draggable="true"]{cursor:grab}.task-chip.dragging,.project-card.dragging,.event-chip.dragging{opacity:.45}.task-context-menu{position:fixed;z-index:1100;width:170px;padding:7px;border:1px solid #dbe4ed;border-radius:12px;background:#fff;box-shadow:0 18px 45px #0f172a35}.task-context-menu.hidden{display:none}.task-context-menu button{display:block;width:100%;padding:9px 10px;text-align:left;background:transparent;color:#334155}.task-context-menu button:hover{background:#f0fdfa;color:#0f766e}.task-context-menu hr{border:0;border-top:1px solid #e2e8f0;margin:5px 0}
    .issue-dashboard-list{max-height:330px;overflow:auto}.issue-dashboard-row{padding:10px;border-bottom:1px solid #e2e8f0}.issue-dashboard-row.done{opacity:.62}.issue-level{display:inline-block;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800}.issue-level.high{background:#fee2e2;color:#b91c1c}.issue-level.medium{background:#fef3c7;color:#92400e}.issue-level.low{background:#dcfce7;color:#166534}
    .workspace-host{margin:0 0 16px;scroll-margin-top:12px}.workspace-host.hidden{display:none}.workspace-host>.card{margin:0;border-color:#bfdbfe;box-shadow:0 12px 34px #0f172a16}.workspace-close{background:#f1f5f9;color:#475569}.project-tab-card{min-width:230px;padding:11px 13px!important;text-align:left!important;border:1px solid #dbe4ed!important;background:#fff!important;color:#1e293b!important}.project-tab-card.active{background:linear-gradient(135deg,#0f766e,#0d9488)!important;color:#fff!important;border-color:#0f766e!important}.project-tab-card strong,.project-tab-card small{display:block}.project-tab-card small{margin-top:4px;font-size:11px;line-height:1.45;color:#64748b}.project-tab-card.active small{color:#d1fae5}.meeting-workspace{border-color:#c4b5fd!important;background:linear-gradient(145deg,#fff,#faf8ff)}.meeting-workspace>.section-title{padding-bottom:14px;border-bottom:1px solid #ede9fe}.meeting-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.72fr);gap:16px;margin-top:15px}.meeting-note-card,.meeting-summary-card{padding:17px;border:1px solid #e2e8f0;border-radius:13px;background:#fff}.meeting-note-head,.meeting-summary-card h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#312e81;font-size:15px}.meeting-note-head span{margin-left:auto;color:#64748b;font-size:11px;font-weight:600}.meeting-form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);gap:10px;margin-bottom:12px}.meeting-form-row label,.meeting-summary-label{display:block;color:#64748b;font-size:10px;font-weight:850}.meeting-form-row input,.meeting-form-row select{width:100%;height:40px;margin-top:6px;min-width:0;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc}.meeting-attendee-field{margin-bottom:12px}.meeting-attendee-entry{display:flex;gap:7px;margin-top:6px}.meeting-attendee-entry input{height:38px;min-width:0}.meeting-attendee-entry button{padding:8px 10px;font-size:11px}.meeting-attendee-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.meeting-attendee-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #ddd6fe;border-radius:999px;background:#f5f3ff;color:#5b21b6;font-size:11px;font-weight:750}.meeting-attendee-chip button{padding:0;border:0;background:transparent;color:#7c3aed;font-size:14px;line-height:1}.meeting-note-card textarea{min-height:188px;margin-top:10px;line-height:1.65}.meeting-memo{min-height:118px!important;border-color:#bfdbfe!important;background:#f8fbff!important}.meeting-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 10px;border:1px solid #ede9fe;border-radius:10px;background:#faf8ff}.meeting-mic{background:#7c3aed}.meeting-mic.listening{background:#dc2626;animation:meetingPulse 1.15s infinite}.meeting-status{font-size:12px;color:#64748b}.meeting-summary-card textarea{min-height:132px;margin:6px 0 13px;line-height:1.6}.meeting-action-list{min-height:98px!important;margin:6px 0 0!important}.meeting-save-note{margin:12px 0 0;padding-top:11px;border-top:1px solid #f1f5f9;color:#64748b;font-size:11px;line-height:1.55}.meeting-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px;padding-top:14px;border-top:1px solid #e9e5f7}.meeting-actions #meetingSave{background:#7c3aed}.meeting-actions #meetingTasks{background:#0f766e}@keyframes meetingPulse{50%{box-shadow:0 0 0 5px #fecaca}}@media(max-width:760px){.meeting-layout,.meeting-form-row{grid-template-columns:1fr}.meeting-note-card textarea{min-height:185px}}
    @media(max-width:760px){.top{margin:14px 0 12px;align-items:stretch;gap:9px;flex-direction:column}.brand-copy p{display:none}.brand-lockup{min-width:0;padding:0 2px}.app-nav{width:100%;max-width:100%;margin-left:0;justify-content:flex-start;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin}.app-nav button{flex:0 0 auto;padding:8px 11px;font-size:12px}.schedule-grid{grid-template-columns:repeat(7,minmax(92px,1fr))}.floating-actions{right:14px;bottom:14px}}

/* meetingVerificationCss */
.meeting-verify-note{margin:8px 0 0;padding:8px 10px;border:1px solid #dbeafe;border-radius:8px;background:#f8fbff;color:#64748b;font-size:11px;line-height:1.45}
    .meeting-verify-result>p{display:flex;flex-direction:column;gap:4px;margin:0 0 14px;padding:11px 12px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1e3a8a}
    .meeting-verify-result>p span{font-size:12px;color:#475569}.meeting-verify-result textarea{min-height:150px;line-height:1.55}

/* scheduleLineCleanupCss */
.schedule-day,.schedule-day.sunday,.schedule-day.saturday,.schedule-day.holiday{border-top-width:1px;border-top-color:#e2e8f0}
    .schedule-day.outside-month{border-top-color:#edf2f7}

/* scheduleCompactCss */
/* Keep calendar entries readable at a glance: one compact line per event. */
    .schedule-grid{grid-template-columns:minmax(94px,.78fr) repeat(5,minmax(128px,1fr)) minmax(94px,.78fr)}
    .schedule-grid.month{grid-template-columns:minmax(86px,.76fr) repeat(5,minmax(112px,1fr)) minmax(86px,.76fr)}
    .event-chip{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.25}
    .event-chip br{display:none}.event-chip small{display:inline;margin-left:5px;color:inherit;font-size:10px;opacity:.72}.event-chip small::before{content:'· ';}
    .schedule-grid.month .event-chip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    @media(max-width:760px){.schedule-grid,.schedule-grid.month{grid-template-columns:repeat(7,minmax(84px,1fr))}.event-chip small{display:none}}

/* meetingLiveCss */
.meeting-live-indicator{display:inline-flex;align-items:center;gap:7px;margin-left:auto;padding:5px 8px;border:1px solid #dbe4ed;border-radius:999px;background:#fff;color:#64748b;font-size:10px;font-weight:800;white-space:nowrap}
    .meeting-live-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8}.meeting-live-indicator.listening{border-color:#fecaca;background:#fff7f7;color:#b91c1c}.meeting-live-indicator.listening .meeting-live-dot{background:#ef4444;box-shadow:0 0 0 0 #ef444480;animation:meetingLivePulse 1.25s infinite}.meeting-live-indicator.sound .meeting-live-dot{background:#16a34a;box-shadow:0 0 0 4px #bbf7d0}.meeting-live-level{display:flex;align-items:end;gap:2px;height:13px}.meeting-live-level i{display:block;width:2px;height:4px;border-radius:2px;background:currentColor;opacity:.3;transition:height .08s}.meeting-live-level i:nth-child(2){height:7px}.meeting-live-level i:nth-child(3){height:10px}@keyframes meetingLivePulse{70%{box-shadow:0 0 0 6px transparent}100%{box-shadow:0 0 0 0 transparent}}

/* projectCardCss */
#projectWorkspace .project-search,#projectWorkspace .project-task-filter{width:min(300px,100%);height:36px;margin:14px 18px 0;padding:0 11px;border:1px solid #dbe4ed;border-radius:9px;background:#f8fafc;color:#334155;font-size:12px}#projectWorkspace .project-task-filter{margin-top:8px;border-color:#d8dee9;background:#fff}
    #projectWorkspace .project-tab-card{position:relative!important;box-sizing:border-box;width:248px;min-width:248px;height:112px;min-height:112px;overflow:hidden;padding:12px 13px 10px!important}
    #projectWorkspace .project-tab-card>strong{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
    #projectWorkspace .project-tab-card>small{margin-top:6px;font-size:10px;line-height:1.45}.project-delay-line{position:absolute;left:13px;right:13px;bottom:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px!important}
    .project-total-issue-badge{top:10px!important;right:10px!important;bottom:auto!important}.project-task-time{display:block;margin-top:6px;font-size:10px;line-height:1.35}.project-task-time.overdue{color:#dc2626;font-weight:850}.project-task-time.today{color:#d97706;font-weight:850}.project-task-time.normal{color:#64748b}
    #projectWorkspace .project-card small{font-size:11px;line-height:1.45}
    @media(max-width:760px){#projectWorkspace .project-search,#projectWorkspace .project-task-filter{margin:12px 14px 0;width:calc(100% - 28px)}#projectWorkspace .project-task-filter{margin-top:8px}#projectWorkspace .project-tab-card{width:232px;min-width:232px}}

/* eventEditCss */
.event-edit-modal>.row:has(#eventStart){grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:8px;align-items:end;margin-top:10px;padding:8px 10px;border:1px solid #dbe4ed;border-radius:10px;background:#fff}
    .event-edit-modal>.row:has(#eventStart)::before{content:'기간';grid-column:1/-1;margin-bottom:-2px;color:#64748b;font-size:10px;font-weight:850}
    .event-edit-modal>.row:has(#eventStart)::after{content:'→';grid-column:2;grid-row:2;align-self:center;color:#94a3b8;font-size:14px;text-align:center}
    .event-edit-modal>.row:has(#eventStart) .field{grid-row:2;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#64748b;font-size:10px;font-weight:800}
    .event-edit-modal>.row:has(#eventStart) .field:first-child{grid-column:1}.event-edit-modal>.row:has(#eventStart) .field:last-child{grid-column:3}
    .event-edit-modal>.row:has(#eventStart) input{height:33px!important;margin:3px 0 0!important;padding:0 8px!important;border:1px solid #dbe4ed!important;border-radius:7px!important;background:#f8fafc!important;color:#334155!important;font-size:12px!important}
    @media(max-width:620px){.event-edit-modal>.row:has(#eventStart){grid-template-columns:1fr}.event-edit-modal>.row:has(#eventStart)::after{display:none}.event-edit-modal>.row:has(#eventStart) .field,.event-edit-modal>.row:has(#eventStart) .field:first-child,.event-edit-modal>.row:has(#eventStart) .field:last-child{grid-column:1;grid-row:auto}}

/* eventEditCompactCss */
.event-edit-modal>.row:has(#eventStart){grid-template-columns:132px minmax(0,1fr) 16px minmax(0,1fr);align-items:end}
    .event-edit-modal>.row:has(#eventStart)::before{display:none}.event-edit-modal>.row:has(#eventStart)::after{grid-column:3;grid-row:1;margin-bottom:8px}
    .event-edit-modal>.row:has(#eventStart) .event-edit-visibility{grid-column:1;grid-row:1;display:flex!important;align-self:end;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
    .event-edit-modal>.row:has(#eventStart) .event-edit-visibility::before{display:none}.event-edit-modal>.row:has(#eventStart) .event-edit-visibility select{width:100%;height:33px!important;flex:1 1 auto!important;padding:0 8px!important;font-size:12px!important}
    .event-edit-modal>.row:has(#eventStart) .field:has(#eventStart){grid-column:2;grid-row:1}.event-edit-modal>.row:has(#eventStart) .field:has(#eventEnd){grid-column:4;grid-row:1}
    .event-edit-modal>.event-visibility-guide{margin:5px 0 0!important;padding-left:0!important;font-size:10px!important}
    @media(max-width:620px){.event-edit-modal>.row:has(#eventStart){grid-template-columns:1fr}.event-edit-modal>.row:has(#eventStart) .event-edit-visibility,.event-edit-modal>.row:has(#eventStart) .field:has(#eventStart),.event-edit-modal>.row:has(#eventStart) .field:has(#eventEnd){grid-column:1;grid-row:auto}.event-edit-modal>.row:has(#eventStart)::after{display:none}}

/* weeklyDailyCss */
.weekly-daily-card>.section-title{padding:2px 0 12px;border-bottom:1px solid #e2e8f0}.weekly-daily-card>.section-title h2{margin:0;color:#1e3a8a;font-size:18px}
    .weekly-daily-card .week-nav{margin-left:auto;display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.weekly-daily-card .week-nav button{min-width:auto;padding:6px 9px;border:1px solid #dbe4ed;border-radius:7px;background:#f8fafc;color:#475569;font-size:11px;font-weight:800}.weekly-daily-card .week-nav button:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.weekly-daily-card .week-nav #todayWeekBtn{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.weekly-daily-card .week-nav #weeklyReportButton{border-color:#c7d2fe;background:#eef2ff;color:#4338ca}.weekly-daily-card .week-nav #monthlyReportButton{border-color:#bbf7d0;background:#ecfdf5;color:#047857}.weekly-daily-card .week-nav #workSearchToggle{border-color:#dbe4ed;background:#fff;color:#475569}.weekly-daily-card #weekRange{min-width:118px;padding:0 3px;text-align:center;color:#334155;font-size:12px;font-weight:850;white-space:nowrap}
    .weekly-event-chip{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;width:100%;min-width:0;margin:0 0 5px;padding:6px 7px;border:1px solid #bfdbfe;border-left:3px solid #2563eb;border-radius:8px;background:#eff6ff;color:#1e40af;text-align:left}.weekly-event-chip b{font-size:9px;white-space:nowrap}.weekly-event-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:750}.weekly-event-chip.shared{border-color:#c4b5fd;border-left-color:#7c3aed;background:#f5f3ff;color:#6d28d9}.weekly-event-chip.team{border-color:#99f6e4;border-left-color:#0f766e;background:#f0fdfa;color:#0f766e}
    @media(max-width:760px){.weekly-daily-card>.section-title{align-items:center}.weekly-daily-card .week-nav{width:100%;margin:4px 0 0;justify-content:flex-start}.weekly-daily-card #weekRange{min-width:auto;order:2}.weekly-daily-card .week-nav button{padding:6px 8px}}

/* meetingDetailCss */
.meeting-detail-field{margin-bottom:12px}.meeting-detail-input{min-height:82px!important;margin-top:6px!important;padding:10px 11px!important;border-color:#dbe4ed!important;background:#f8fafc!important;font-size:12px!important;line-height:1.55!important}
    #projectWorkspace>.section-title #projectAdd{padding:7px 10px!important;border:1px solid #cbd5e1!important;border-radius:8px!important;background:#f8fafc!important;color:#475569!important;font-size:11px!important;line-height:1.2!important}#projectWorkspace>.section-title #projectAdd:hover{border-color:#93c5fd!important;background:#eff6ff!important;color:#1d4ed8!important}

/* meetingHistoryCss */
.meeting-history{margin-top:16px;padding-top:14px;border-top:1px solid #e9e5f7}.meeting-history.hidden{display:none}.meeting-history-head{display:flex;align-items:center;gap:8px}.meeting-history-head h3{margin:0;color:#312e81;font-size:14px}.meeting-history-head span{color:#94a3b8;font-size:11px}.meeting-history-search{height:34px;margin:10px 0 7px;padding:0 10px;font-size:12px}.meeting-history-list{max-height:245px;margin:0;overflow:auto;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.meeting-history-row{display:grid;width:100%;grid-template-columns:132px minmax(0,1fr) minmax(120px,.72fr);gap:10px;align-items:center;padding:10px 12px;border:0;border-bottom:1px solid #f1f5f9;border-radius:0;background:#fff;color:#334155;text-align:left}.meeting-history-row:last-child{border-bottom:0}.meeting-history-row:hover,.meeting-history-row.active{background:#faf5ff}.meeting-history-row time{color:#64748b;font-size:10px;font-weight:750}.meeting-history-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.meeting-history-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7c3aed;font-size:11px}.meeting-edit-state{margin-right:auto;color:#7c3aed;font-size:11px;font-weight:800}@media(max-width:620px){.meeting-history-row{grid-template-columns:1fr;gap:3px}.meeting-history-row span{font-size:10px}}

/* meetingHistoryCompactCss */
.meeting-history-row{grid-template-columns:132px minmax(0,1fr) minmax(110px,.72fr) minmax(100px,.65fr)}.meeting-history-row .meeting-history-project{color:#94a3b8;font-size:10px;font-weight:600}.meeting-form-row label:last-child{color:#64748b!important;font-size:10px!important;font-weight:800!important}.meeting-form-row #meetingProject{font-size:12px!important;font-weight:600!important;color:#475569!important}.meeting-actions button,.meeting-history-head button{min-width:auto!important;padding:6px 9px!important;border-radius:7px!important;font-size:11px!important;line-height:1.2!important}.meeting-pdf-template{display:flex;align-items:center;gap:6px;margin-right:auto;color:#64748b;font-size:11px;font-weight:800}.meeting-pdf-template select{height:31px;padding:0 27px 0 9px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#334155;font:inherit}.meeting-actions #meetingPdf{background:#1d4ed8;color:#fff}
    @media(max-width:760px){.meeting-history-row{grid-template-columns:132px minmax(0,1fr) minmax(100px,.7fr)}.meeting-history-row .meeting-history-project{display:none}}

/* monthlyAnalysisCss */
.monthly-analysis{display:grid;gap:14px}.monthly-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.monthly-summary div{padding:11px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.monthly-summary span{display:block;color:#64748b;font-size:10px;font-weight:800}.monthly-summary strong{display:block;margin-top:5px;color:#1e293b;font-size:18px}.monthly-summary .danger{border-color:#fecaca;background:#fff7f7}.monthly-summary .danger strong{color:#dc2626}.monthly-task-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.monthly-task-section{min-width:0;padding:12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.monthly-task-section h3{margin:0 0 8px;color:#334155;font-size:13px}.monthly-task-section.overdue{border-left:3px solid #ef4444;background:#fffafa}.monthly-task-row{display:flex;gap:8px;align-items:center;padding:7px 0;border-top:1px solid #f1f5f9}.monthly-task-row:first-of-type{border-top:0}.monthly-task-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.monthly-task-row span{margin-left:auto;white-space:nowrap;color:#64748b;font-size:10px}.monthly-empty{margin:0;color:#94a3b8;font-size:11px}.monthly-expenses{padding:12px;border:1px solid #dbeafe;border-radius:11px;background:#f8fbff}.monthly-expenses h3{margin:0 0 8px;color:#1e3a8a;font-size:13px}.monthly-expenses p{margin:5px 0;color:#475569;font-size:12px}@media(max-width:700px){.monthly-summary{grid-template-columns:repeat(3,1fr)}.monthly-task-grid{grid-template-columns:1fr}}

/* loginLayoutRefineCss */
body:has(#loginView:not(.hidden)) .top,body:has(#registerView:not(.hidden)) .top{width:min(920px,calc(100% - 36px));min-height:64px;margin:18px auto 10px!important;padding:0 8px!important;align-items:center!important}
    body:has(#loginView:not(.hidden)) .brand-lockup,body:has(#registerView:not(.hidden)) .brand-lockup{gap:13px}
    body:has(#loginView:not(.hidden)) .brand-orb,body:has(#registerView:not(.hidden)) .brand-orb{flex:0 0 44px;width:44px;height:44px;border-radius:15px}
    body:has(#loginView:not(.hidden)) .auth-shell,body:has(#registerView:not(.hidden)) .auth-shell{width:min(920px,calc(100% - 36px));margin:0 auto 38px!important}
    .remember-email{display:flex;align-items:center;gap:7px;margin-top:12px;color:#64748b;font-size:12px;font-weight:700;cursor:pointer}.remember-email input{min-width:0;flex:0 0 auto;width:15px;height:15px;margin:0;accent-color:#2563eb}
    @media(max-width:760px){body:has(#loginView:not(.hidden)) .top,body:has(#registerView:not(.hidden)) .top{width:calc(100% - 32px);min-height:56px;margin:10px auto 8px!important;padding:0!important}body:has(#loginView:not(.hidden)) .auth-shell,body:has(#registerView:not(.hidden)) .auth-shell{width:calc(100% - 32px)}}

/* projectTaskStatusCss */
.project-column[data-project-status="할 일"] .project-card { border-left-color: #64748b; }
    .project-column[data-project-status="진행 중"] .project-card { border-left-color: #f97316; }
    .project-column[data-project-status="검토"] .project-card { border-left-color: #8b5cf6; }
    .project-column[data-project-status="완료"] .project-card { border-left-color: #2563eb; background: #f8fbff; }

/* issueWorkCss */
.project-column:nth-child(1) .project-card { border-left-color: #64748b; }
    .project-column:nth-child(2) .project-card { border-left-color: #f97316; }
    .project-column:nth-child(3) .project-card { border-left-color: #8b5cf6; }
    .project-column:nth-child(4) .project-card { border-left-color: #2563eb; background: #f8fbff; }
    .issue-work-modal{width:min(760px,100%)!important;padding:0!important;overflow:visible!important;background:#f8fafc!important}
    .issue-work-modal>.section-title{margin:0;padding:22px 24px;color:#fff;background:linear-gradient(135deg,#0f172a,#1e3a5f)}
    .issue-work-modal>.section-title h2{color:#fff}.issue-work-modal>.section-title .secondary{background:#ffffff22;color:#fff;border-color:#ffffff44}
    .issue-hero{display:flex;justify-content:space-between;gap:16px;padding:20px 24px;background:#fff;border-bottom:1px solid #e2e8f0}.issue-hero p{margin:5px 0 0;color:#64748b}.issue-state{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.issue-state.open{background:#fff7ed;color:#c2410c}.issue-state.done{background:#dcfce7;color:#166534}
    .issue-form{padding:20px 24px 24px}.issue-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.issue-form .field{margin:0}.issue-form-grid>.field:has(#editIssueAssignee){grid-column:1/-1}.issue-form label{font-weight:750;color:#334155}.issue-form input,.issue-form select,.issue-form textarea{margin-top:7px;background:#fff;border-color:#cbd5e1}.issue-form textarea{min-height:130px}.issue-resolution{margin-top:14px;padding:14px;border-radius:12px;background:#fff;border:1px solid #e2e8f0}.issue-resolution label{display:block}.issue-meta-note{margin-top:12px;padding:10px 12px;border-radius:9px;background:#eff6ff;color:#1d4ed8;font-size:12px}.issue-work-modal .modal-actions{margin:20px -24px -24px;padding:16px 24px;background:#fff;border-top:1px solid #e2e8f0}
    @media(max-width:640px){.issue-hero{display:block}.issue-state{margin-top:12px}.issue-form-grid{grid-template-columns:1fr}}

/* issueControlCss */
.issue-form-grid>.field{position:relative;padding:13px 14px 12px;border:1px solid #dbe4ed;border-radius:12px;background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 2px 6px #0f172a08;transition:border-color .18s,box-shadow .18s}.issue-form-grid>.field:hover,.issue-form-grid>.field:focus-within{border-color:#38bdf8;box-shadow:0 6px 17px #0ea5e915}.issue-form-grid>.field:has(#editIssueStatus){border-top:4px solid #f97316}.issue-form-grid>.field:has(#editIssueLevel){border-top:4px solid #eab308}.issue-form-grid>.field:has(#editIssueAssignee){border-top:4px solid #0ea5e9}.issue-form-grid>.field:has(#editIssueDue){border-top:4px solid #64748b}
    .issue-form-grid>.field:has(select)::after{content:'⌄';position:absolute;right:25px;bottom:20px;color:#64748b;pointer-events:none;font-size:17px}.issue-form-grid>.field select,.issue-form-grid>.field input{width:100%;height:42px;margin-top:9px;padding:0 32px 0 11px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font-weight:700;appearance:none}.issue-form-grid>.field:has(input)::after{content:'◷';position:absolute;right:25px;bottom:20px;color:#64748b;pointer-events:none}.issue-form-grid>.field[data-level="HIGH"]{border-color:#fca5a5;background:#fff7f7}.issue-form-grid>.field[data-level="MEDIUM"]{border-color:#fde68a;background:#fffbeb}.issue-form-grid>.field[data-level="LOW"]{border-color:#86efac;background:#f0fdf4}.issue-form-grid>.field[data-level="HIGH"] select{color:#b91c1c}.issue-form-grid>.field[data-level="MEDIUM"] select{color:#a16207}.issue-form-grid>.field[data-level="LOW"] select{color:#15803d}.issue-form-grid>.field:has(#editIssueAssignee)::before{content:'●';margin-right:6px;color:#0ea5e9;font-size:11px}.issue-form-grid>.field:has(#editIssueStatus)::before{content:'◆';margin-right:6px;color:#f97316;font-size:10px}.issue-form-grid>.field:has(#editIssueLevel)::before{content:'●';margin-right:6px;color:#eab308;font-size:11px}

/* adminWorkspaceCss */
.admin-workspace{padding:0!important;overflow:hidden;background:#f8fafc!important}.admin-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:25px 28px;color:#fff;background:linear-gradient(120deg,#0f172a,#164e63 62%,#0f766e)}.admin-hero h2{margin:4px 0 6px;color:#fff}.admin-hero p{margin:0;color:#ccfbf1}.admin-eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800;color:#5eead4!important}.admin-hero .workspace-close{background:#ffffff18;color:#fff;border-color:#ffffff3d}.admin-metrics{display:flex;gap:9px;flex-shrink:0}.admin-metric{min-width:76px;padding:10px 13px;border:1px solid #ffffff30;border-radius:10px;background:#ffffff14;text-align:center}.admin-metric strong,.admin-metric span{display:block}.admin-metric strong{font-size:20px}.admin-metric span{margin-top:2px;font-size:11px;color:#ccfbf1}
    .admin-section-tabs{display:flex;gap:7px;padding:12px 24px;border-bottom:1px solid #dbe4ed;background:#fff}.admin-section-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:142px;padding:10px 15px;border:1px solid #dbe4ed;border-radius:10px;background:#f8fafc;color:#475569;font-size:12px;font-weight:800;box-shadow:none;transition:.18s}.admin-section-tab::before{display:grid;place-items:center;width:20px;height:20px;border-radius:7px;background:#e2e8f0;color:#64748b;font-size:11px}.admin-section-tab[data-admin-tab="company"]::before{content:'⌂'}.admin-section-tab[data-admin-tab="team"]::before{content:'●';font-size:8px}.admin-section-tab[data-admin-tab="codes"]::before{content:'◆';font-size:9px}.admin-section-tab:hover{border-color:#5eead4;background:#f0fdfa;color:#0f766e}.admin-section-tab.active{border-color:#0f766e;background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;box-shadow:0 7px 17px #0f766e24}.admin-section-tab.active::before{background:#ffffff24;color:#fff}.admin-content>[data-admin-panel].admin-panel-hidden{display:none!important}
    .admin-content{display:grid;grid-template-columns:minmax(290px,.9fr) minmax(360px,1.4fr);gap:18px;padding:20px 24px 24px}.admin-create-card,.admin-teams-card,.admin-users-card,.admin-codes-card{padding:18px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.admin-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.admin-card-head h3{margin:0;color:#1e293b}.admin-card-head span{font-size:12px;color:#64748b}.admin-create-card .field{display:block;margin-bottom:13px}.admin-create-card select[multiple]{min-height:150px}.admin-create-card button{width:100%;margin-top:2px}.admin-team-list{display:grid;gap:10px;max-height:390px;overflow:auto;padding-right:3px}.admin-team-card{position:relative;padding:14px 48px 14px 15px;border:1px solid #e2e8f0;border-radius:11px;background:linear-gradient(135deg,#fff,#f8fafc)}.admin-team-card:hover{border-color:#5eead4;box-shadow:0 7px 18px #0f172a0c}.admin-team-card strong{color:#0f172a}.admin-team-card .team-detail{display:block;margin-top:6px;color:#64748b;font-size:12px}.admin-team-card .danger{position:absolute;right:11px;top:13px;padding:6px 8px;font-size:11px}.admin-users-card,.admin-codes-card{grid-column:1/-1}.admin-users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:9px}.admin-user-chip{padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.admin-user-chip strong,.admin-user-chip span{display:block}.admin-user-chip span{margin-top:3px;font-size:11px;color:#64748b}.role-tag{display:inline-block;margin-top:6px;padding:2px 6px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:10px;font-weight:800}
    .admin-code-toolbar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}.admin-code-group-picker{position:relative;display:grid;gap:5px;min-width:230px;color:#0f766e;font-size:10px;font-weight:900;letter-spacing:.06em}.admin-code-group-picker::after{content:'⌄';position:absolute;right:13px;bottom:10px;color:#0f766e;font-size:17px;line-height:1;pointer-events:none}.admin-code-group-picker select{width:100%;height:42px;margin:0;padding:0 38px 0 13px;border:1px solid #99f6e4;border-radius:10px;outline:0;appearance:none;background:linear-gradient(135deg,#f0fdfa,#fff);color:#134e4a;font-size:13px;font-weight:800;box-shadow:0 3px 10px #0f766e0c;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s}.admin-code-group-picker:hover select{border-color:#2dd4bf;background:#f0fdfa}.admin-code-group-picker:focus-within select{border-color:#0d9488;box-shadow:0 0 0 3px #99f6e455,0 6px 16px #0f766e16}.admin-code-toolbar>.muted{padding-bottom:11px;font-size:11px}.admin-code-note{margin:0 0 13px;padding:9px 11px;border-radius:9px;background:#f8fafc;color:#64748b;font-size:11px}.admin-code-list{display:grid;gap:8px}.admin-code-row{display:grid;grid-template-columns:24px minmax(130px,1fr) 76px 72px 90px auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.admin-code-row.system{grid-template-columns:24px minmax(130px,1fr) auto;background:#f8fafc}.admin-code-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-code-system-meta{display:flex;align-items:center;gap:10px}.admin-code-swatch{width:18px;height:18px;border-radius:6px;background:var(--code-color);box-shadow:inset 0 0 0 1px #0f172a18}.admin-code-row input{min-width:0;height:34px}.admin-code-row input[type=color]{width:42px;padding:3px}.admin-code-lock{color:#64748b;font-size:11px;white-space:nowrap}.admin-code-active{display:flex;gap:5px;align-items:center;font-size:11px;color:#475569}.admin-code-actions{display:flex;gap:5px}.admin-code-actions button{padding:7px 9px;font-size:10px}.admin-code-add{display:grid;grid-template-columns:minmax(160px,1fr) 70px auto;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed #cbd5e1}.admin-code-add input{min-width:0;width:100%;height:38px}.admin-code-add input[type=color]{padding:3px}.admin-code-add button{min-width:95px}
    @media(max-width:760px){.admin-hero{display:block}.admin-metrics{margin-top:16px}.admin-section-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:9px 12px}.admin-section-tab{min-width:0;padding:9px 5px;font-size:11px}.admin-section-tab::before{display:none}.admin-content{grid-template-columns:minmax(0,1fr);padding:14px}.admin-content>section{min-width:0}.admin-card-head{align-items:flex-start;gap:6px;flex-wrap:wrap}.admin-users-card,.admin-codes-card{grid-column:auto}.admin-code-row:not(.system){grid-template-columns:22px minmax(0,1fr) 48px}.admin-code-row:not(.system) [data-code-sort]{grid-column:2}.admin-code-row:not(.system) .admin-code-active{grid-column:3}.admin-code-row:not(.system) .admin-code-actions{grid-column:2/-1;justify-content:flex-end}.admin-code-row.system{grid-template-columns:22px minmax(0,1fr);padding:10px}.admin-code-row.system .admin-code-system-meta{grid-column:2;gap:7px;flex-wrap:wrap}.admin-code-title{justify-content:flex-start}.admin-code-add{grid-template-columns:minmax(0,1fr) 48px}.admin-code-add button{grid-column:1/-1}.admin-code-group-picker{width:100%;min-width:0}.admin-code-toolbar>.muted{padding:0 2px}}

/* scheduleFormCss */
.event-form-modal{width:min(720px,100%)!important;background:#f8fafc!important}.event-form-modal>.section-title{padding:20px 22px;margin:0;background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff}.event-form-modal>.section-title h2{color:#fff}.event-form-modal>.section-title .secondary{background:#ffffff1c;color:#fff;border-color:#ffffff36}.event-form-lead{display:flex;align-items:center;gap:9px;margin:0 0 16px;padding:11px 13px;border:1px solid #dbeafe;border-radius:11px;background:#eff6ff;color:#1e40af;font-size:12px;line-height:1.45}.event-form-lead b{display:grid;place-items:center;width:23px;height:23px;border-radius:8px;background:#2563eb;color:#fff;font-size:13px}.event-form-modal>.field{display:block;margin-top:14px}.event-form-modal>.field:has(#eventTitle){padding:13px 14px;border:1px solid #bfdbfe;border-radius:12px;background:#fff;color:#1e3a8a;font-size:11px;font-weight:900;letter-spacing:.06em}.event-form-modal>.field:has(#eventTitle) input{height:38px;margin:6px 0 0;padding:0;border:0;border-radius:0;box-shadow:none;color:#0f172a;font-size:16px;font-weight:750}.event-form-modal>.field:has(#eventDetail){padding:13px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#64748b;font-size:11px;font-weight:850;letter-spacing:.06em}.event-form-modal>.field:has(#eventDetail) textarea{min-height:94px;margin:6px 0 0;padding:0;border:0;border-radius:0;box-shadow:none;color:#334155;resize:vertical}.event-form-modal>.row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.event-form-modal>.row .field{display:block;margin:0;padding:12px 13px;border:1px solid #dbe4ed;border-radius:11px;background:#fff;color:#475569;font-size:11px;font-weight:850}.event-form-modal>.row input{width:100%;height:38px;margin:6px 0 0;padding:0;border:0;background:transparent;color:#0f172a;font-weight:700}.event-visibility-card{display:flex!important;align-items:center;gap:8px;margin-top:13px!important;padding:6px 9px!important;border:1px solid #dbe4ed;border-radius:8px;background:#fff;color:#475569!important}.event-visibility-card::before{content:'구분';flex:0 0 auto;margin:0!important;font-size:11px;letter-spacing:0;font-weight:850;color:#475569!important}.event-visibility-card select{flex:0 0 140px;height:30px;margin:0!important;padding:0 8px;border-color:#cbd5e1;border-radius:6px;background:#f8fafc;color:#334155;font-size:12px;font-weight:750}.event-visibility-guide{min-width:0;flex:1 1 150px;margin:0!important;color:#64748b;font-size:10px;line-height:1.3}.event-visibility-card[data-visibility="SHARED"],.event-visibility-card[data-visibility="TEAM"]{border-color:#dbe4ed;background:#fff;color:#475569!important}.event-visibility-card[data-visibility="SHARED"]::before,.event-visibility-card[data-visibility="TEAM"]::before{color:#475569!important}.event-target-card{display:block;margin-top:10px!important;padding:11px 12px!important;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:none;transition:.18s}.event-target-card.hidden{display:none!important}.event-target-card select{width:100%;margin-top:6px!important;border-color:#cbd5e1;background:#f8fafc}.event-people-card{border-left:3px solid #a855f7}.event-team-card{border-left:3px solid #0284c7}.event-people-card::before,.event-team-card::before{display:block;margin:0!important;padding:0;background:none!important;font-size:11px;letter-spacing:0}.event-people-card::before{content:'공유자 선택';color:#7e22ce}.event-team-card::before{content:'공유 팀 선택';color:#075985}.event-form-modal .modal-actions{position:sticky;bottom:-24px;margin:20px -24px -24px;padding:15px 24px;background:#fff;border-top:1px solid #e2e8f0}.event-form-modal .modal-actions button{min-width:78px}.event-form-modal .modal-actions button:not(.secondary):not(.danger){border-color:#2563eb;background:#2563eb}.event-form-modal .modal-actions .danger{margin-right:auto}@media(max-width:620px){.event-form-modal>.row{grid-template-columns:1fr}.event-visibility-card{flex-wrap:wrap}.event-visibility-card select{flex:0 0 130px}.event-visibility-guide{flex-basis:100%;padding-left:30px}.event-form-modal .modal-actions{flex-wrap:wrap}.event-form-modal .modal-actions button{flex:1}.event-form-modal .modal-actions .danger{margin-right:0}}

/* scheduleFormRefineCss */
.event-form-modal .event-visibility-card{gap:7px!important;padding:6px 9px!important;border-color:#dbe4ed!important;border-radius:8px!important;background:#fff!important}
    .event-form-modal .event-visibility-card::before{font-size:10px!important;color:#64748b!important}
    .event-form-modal .event-visibility-card select{height:29px!important;flex-basis:132px!important;padding:0 7px!important;border-color:#dbe4ed!important;border-radius:6px!important;background:#f8fafc!important;color:#334155!important;font-size:11px!important;font-weight:700!important}
    .event-form-modal .event-visibility-guide{display:block!important;margin:5px 0 0 56px!important;color:#94a3b8!important;font-size:10px!important;line-height:1.35!important;text-align:left!important}
    .event-form-modal .event-target-card{margin-top:9px!important;padding:9px 10px!important;border:1px solid #e2e8f0!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important}
    .event-form-modal .event-people-card,.event-form-modal .event-team-card{border-left:1px solid #e2e8f0!important;border-top:1px solid #e2e8f0!important;background:#fff!important}
    .event-form-modal .event-people-card::before,.event-form-modal .event-team-card::before{margin:0 0 5px!important;padding:0!important;background:none!important;color:#64748b!important;font-size:10px!important;font-weight:850!important;letter-spacing:.04em!important}
    .event-form-modal .event-target-card select{margin-top:0!important;padding:3px 7px!important;border-color:#dbe4ed!important;border-radius:7px!important;background:#f8fafc!important;color:#334155!important;font-size:11px!important;line-height:1.35!important}
    .event-form-modal .event-target-card select[multiple]{min-height:82px!important}.event-form-modal .event-target-card select option{padding:4px 6px!important;border-radius:5px!important}.event-form-modal .event-target-card select option:checked{background:linear-gradient(#dbeafe,#dbeafe)!important;color:#1d4ed8!important}
    .event-form-modal>.field:has(#eventTitle),.event-form-modal>.field:has(#eventDetail){padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:inherit!important;letter-spacing:0!important}
    .event-form-modal>.field:has(#eventTitle) input{height:44px!important;margin:0!important;padding:0 13px!important;border:1px solid #bfdbfe!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;color:#0f172a!important;font-size:14px!important;font-weight:700!important}
    .event-form-modal>.field:has(#eventDetail) textarea{min-height:86px!important;margin:10px 0 0!important;padding:12px 13px!important;border:1px solid #e2e8f0!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;color:#334155!important;font-size:13px!important;line-height:1.55!important}
    .event-form-modal #eventTitle::placeholder,.event-form-modal #eventDetail::placeholder{color:#94a3b8!important;font-weight:500!important}
    @media(max-width:620px){.event-form-modal .event-visibility-guide{margin-left:0!important}}
    .event-form-modal .event-owner-note{margin:10px 0 0!important;color:#64748b;font-size:11px}.event-form-modal .event-owner-note strong{color:#334155}.event-form-modal :disabled{cursor:default!important;opacity:.72!important}
    .event-chip.read-only{cursor:pointer}.shared-event-view{padding:2px 0}.shared-event-tag{display:inline-block;padding:4px 8px;border-radius:999px;background:#f3e8ff;color:#7e22ce;font-size:10px;font-weight:850}.shared-event-view h3{margin:13px 0 7px;color:#0f172a;font-size:18px}.shared-event-owner,.shared-event-period{margin:4px 0;color:#64748b;font-size:12px}.shared-event-owner strong{color:#334155}.shared-event-detail{min-height:88px;margin-top:15px;padding:13px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#334155;font-size:13px;line-height:1.6}.shared-event-view .modal-actions{margin:18px 0 0!important;padding:0!important;border:0!important;background:transparent!important}.shared-event-view .modal-actions button:last-child{border-color:#2563eb;background:#2563eb;color:#fff}

/* teamPickerCss */
.admin-create-card .field:has(#teamLeader),.admin-create-card .field:has(#teamMembers){position:relative;margin-top:15px!important;padding:14px 15px 13px!important;border:1px solid #dbe4ed;border-radius:12px;background:#f8fafc;transition:.18s}.admin-create-card .field:has(#teamLeader){border-left:4px solid #0f766e;background:linear-gradient(135deg,#f0fdfa,#fff)}.admin-create-card .field:has(#teamMembers){border-left:4px solid #2563eb;background:linear-gradient(135deg,#eff6ff,#fff)}.admin-create-card .field:has(#teamLeader)::before,.admin-create-card .field:has(#teamMembers)::before{display:block;margin-bottom:5px;font-size:10px;letter-spacing:.1em;font-weight:900}.admin-create-card .field:has(#teamLeader)::before{content:'TEAM LEAD';color:#0f766e}.admin-create-card .field:has(#teamMembers)::before{content:'TEAM MEMBERS · MULTI SELECT';color:#2563eb}.admin-create-card .field:has(#teamLeader):focus-within,.admin-create-card .field:has(#teamMembers):focus-within{border-color:#38bdf8;box-shadow:0 5px 15px #0ea5e91c}.admin-create-card #teamLeader,.admin-create-card #teamMembers{width:100%;margin-top:8px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#1e293b;font-weight:700}.admin-create-card #teamLeader{height:43px;padding:0 11px}.admin-create-card #teamMembers{min-height:160px;padding:5px}.admin-create-card #teamMembers option{padding:8px 9px;margin:2px 0;border-radius:6px}.admin-create-card #teamMembers option:checked{background:linear-gradient(#dbeafe,#dbeafe);color:#1d4ed8}.admin-create-card .field:has(#teamMembers) small{display:block;margin-top:3px;color:#2563eb!important;font-weight:600}

/* taskManagerCss */
.task-manager-modal{width:min(700px,100%)!important;background:#f8fafc!important}.task-manager-modal>.section-title{margin:0;padding:20px 23px;color:#fff;background:linear-gradient(135deg,#1e293b,#334155)}.task-manager-modal>.section-title h2{color:#fff}.task-manager-modal>.section-title .secondary{background:#ffffff1c;color:#fff;border-color:#ffffff36}.task-manager-modal .row{gap:13px}.task-manager-modal .field:has(#projectTaskEditStatus),.task-manager-modal .field:has(#projectTaskEditAssignee){position:relative;padding:14px 15px!important;border:1px solid #dbe4ed;border-radius:12px;background:#fff;box-shadow:0 3px 10px #0f172a08;transition:.18s}.task-manager-modal .field:has(#projectTaskEditStatus){border-left:4px solid #f97316}.task-manager-modal .field:has(#projectTaskEditAssignee){border-left:4px solid #0284c7}.task-manager-modal .field:has(#projectTaskEditStatus)::before,.task-manager-modal .field:has(#projectTaskEditAssignee)::before{display:block;margin-bottom:5px;font-size:10px;font-weight:900;letter-spacing:.1em}.task-manager-modal .field:has(#projectTaskEditStatus)::before{content:'TASK STATUS';color:#ea580c}.task-manager-modal .field:has(#projectTaskEditAssignee)::before{content:'TASK OWNER';color:#0369a1}.task-manager-modal .field:has(#projectTaskEditStatus):focus-within,.task-manager-modal .field:has(#projectTaskEditAssignee):focus-within{border-color:#38bdf8;box-shadow:0 6px 18px #0ea5e91a}.task-manager-modal #projectTaskEditStatus,.task-manager-modal #projectTaskEditAssignee{width:100%;height:43px;margin-top:8px;padding:0 11px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#1e293b;font-weight:800}.task-manager-modal .field:has(#projectTaskEditStatus)[data-status-index="0"]{border-left-color:#64748b;background:#f8fafc}.task-manager-modal .field:has(#projectTaskEditStatus)[data-status-index="1"]{border-left-color:#f97316;background:#fff7ed}.task-manager-modal .field:has(#projectTaskEditStatus)[data-status-index="2"]{border-left-color:#8b5cf6;background:#f5f3ff}.task-manager-modal .field:has(#projectTaskEditStatus)[data-status-index="3"]{border-left-color:#2563eb;background:#eff6ff}.task-manager-modal .modal-actions{margin:22px -24px -24px;padding:16px 24px;background:#fff;border-top:1px solid #e2e8f0}

/* projectMemberCss */
.project-members-modal{width:min(700px,100%)!important;background:#f8fafc!important}.project-members-modal>.section-title{margin:0;padding:20px 23px;color:#fff;background:linear-gradient(135deg,#312e81,#4c1d95)}.project-members-modal>.section-title h2{color:#fff}.project-members-modal>.section-title .secondary{background:#ffffff1c;color:#fff;border-color:#ffffff36}.project-members-picker{display:block!important;position:relative;margin-top:18px!important;padding:16px!important;border:1px solid #ddd6fe;border-left:4px solid #7c3aed;border-radius:13px;background:linear-gradient(135deg,#faf5ff,#fff);box-shadow:0 4px 12px #4c1d9510}.project-members-picker::before{content:'PROJECT MEMBERS';display:block;margin-bottom:5px;font-size:10px;letter-spacing:.1em;font-weight:900;color:#6d28d9}.project-members-picker select{width:100%;min-height:185px;margin-top:8px!important;padding:6px;border:1px solid #c4b5fd;border-radius:9px;background:#fff;color:#312e81;font-weight:700}.project-members-picker option{margin:2px 0;padding:9px 10px;border-radius:6px}.project-members-picker option:checked{background:linear-gradient(#ede9fe,#ede9fe);color:#5b21b6}.project-members-picker:focus-within{border-color:#a78bfa;box-shadow:0 7px 19px #7c3aed1c}.project-member-count{display:inline-block;margin-left:7px;padding:3px 8px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:11px;font-weight:800}.project-members-modal .modal-actions{margin:22px -24px -24px;padding:16px 24px;background:#fff;border-top:1px solid #e2e8f0}

/* projectWorkflowCss */
.project-workflow-modal{padding:2px 0 0}.project-workflow-intro{margin:0 0 16px!important;padding:11px 13px!important;border:1px solid #ddd6fe;border-radius:10px;background:#faf5ff;color:#5b21b6!important;font-size:12px!important;line-height:1.55}.project-workflow-modal section{margin:0 0 15px;padding:15px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.project-workflow-modal h3{display:flex;align-items:center;gap:8px;margin:0 0 11px;color:#1e293b;font-size:13px}.project-workflow-modal h3 small{font-size:10px;font-weight:700;color:#94a3b8}.project-role-list{display:grid;gap:8px}.project-role-row{display:grid!important;grid-template-columns:minmax(0,1fr) 146px;gap:10px;align-items:center;margin:0!important;padding:10px 11px!important;border:1px solid #e2e8f0!important;border-radius:10px!important;background:#f8fafc!important}.project-role-person{display:flex!important;align-items:center;gap:9px;min-width:0}.project-role-avatar{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:9px;background:#ede9fe;color:#6d28d9;font-size:11px;font-weight:900}.project-role-person strong,.project-role-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-role-person strong{color:#334155;font-size:12px}.project-role-person small{margin-top:2px;color:#94a3b8;font-size:10px}.project-role-row select{width:100%;height:34px!important;margin:0!important;padding:0 9px!important;border:1px solid #cbd5e1!important;border-radius:8px!important;background:#fff!important;color:#334155!important;font-size:11px!important;font-weight:800!important}.project-role-owner{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border-radius:8px;background:#ede9fe;color:#6d28d9;font-size:11px;font-weight:900}.project-workflow-modal .modal-actions{margin:18px -24px -24px!important;padding:14px 24px!important;background:#fff;border-top:1px solid #e2e8f0}@media(max-width:520px){.project-role-row{grid-template-columns:1fr!important}.project-role-row select,.project-role-owner{width:100%}.project-workflow-modal section{padding:12px}}

/* scheduleCollaborationCss */
.event-all-day-toggle{display:flex!important;align-items:center;gap:10px;margin:0!important;padding:11px 13px!important;border:1px solid #dbeafe;border-radius:11px;background:#f8fbff}.event-all-day-toggle input{width:18px!important;height:18px!important;flex:0 0 18px;margin:0!important}.event-all-day-toggle span{display:grid;gap:2px}.event-all-day-toggle strong{color:#1e3a5f;font-size:12px}.event-all-day-toggle small{color:#7890aa;font-size:10px}
    .event-availability{margin:0!important;padding:13px 14px!important;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff}.event-availability>strong{display:block;color:#1d4ed8;font-size:12px}.event-availability>p{margin:4px 0 0;color:#64748b;font-size:11px}.event-availability-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.event-availability-list>span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid #bbf7d0;border-radius:999px;background:#f0fdf4;color:#166534;font-size:11px;font-weight:750}.event-availability-list>span.busy{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.event-availability-list b{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#22c55e;color:#fff;font-size:10px}.event-availability-list .busy b{background:#f97316}.event-availability-list small{color:inherit;font-size:9px;font-weight:650}
    .event-series-scope{padding:12px 13px!important;border:1px solid #ddd6fe!important;border-radius:11px!important;background:#faf5ff!important}.event-series-scope span{color:#6d28d9!important}.event-series-scope select{margin-top:6px!important}
.event-response-panel{margin:2px 0 0;padding:14px;border:1px solid #dbe4ed;border-radius:13px;background:#fff}.event-response-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.event-response-head>div{display:grid;gap:3px}.event-response-head strong{color:#1e293b;font-size:13px}.event-response-head small{color:#64748b;font-size:10px}.event-response-head>span{padding:5px 8px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:10px;font-weight:850}.event-response-list{display:grid;gap:7px;margin-top:11px}.event-response-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.event-response-person{min-width:0}.event-response-person strong,.event-response-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-response-person strong{font-size:11px}.event-response-person small{margin-top:2px;color:#94a3b8;font-size:9px}.event-response-row>b{padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:10px}.event-response-row.accepted>b{background:#dcfce7;color:#15803d}.event-response-row.tentative>b{background:#fef3c7;color:#b45309}.event-response-row.declined>b{background:#fee2e2;color:#b91c1c}.event-proposal{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:5px 8px;align-items:center;padding-top:8px;border-top:1px solid #e2e8f0}.event-proposal small{color:#7c3aed;font-size:9px;font-weight:850}.event-proposal strong{font-size:11px}.event-proposal em{grid-column:2/3;color:#64748b;font-size:10px;font-style:normal}.event-proposal button{grid-column:3;grid-row:1/3;padding:7px 9px!important;background:#7c3aed!important;font-size:10px!important}.event-rsvp-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.event-rsvp-actions button{flex:0 0 auto;width:auto!important;min-width:56px;min-height:36px;height:36px;padding:6px 12px!important;font-size:12px!important;border-radius:8px;border:1px solid #dbe4ed!important;background:#f8fafc!important;color:#475569!important}.event-rsvp-actions button:first-child{border-color:#bbf7d0!important;background:#f0fdf4!important;color:#15803d!important}.event-rsvp-actions button:last-child{border-color:#fecaca!important;background:#fff1f2!important;color:#be123c!important}.event-rsvp-actions button.selected{border-color:#2563eb!important;background:#2563eb!important;color:#fff!important;box-shadow:none}.event-proposal-compose{margin-top:9px;border-top:1px solid #e2e8f0;padding-top:9px}.event-proposal-compose summary{cursor:pointer;color:#6d28d9;font-size:11px;font-weight:800}.event-proposal-compose .row{margin-top:9px}.event-proposal-compose>input{margin-top:8px}.event-proposal-compose>button{width:100%;margin-top:8px;background:#7c3aed}.event-rsvp-status{margin:7px 0 0;color:#64748b;font-size:12px;line-height:1.5}
    @media(max-width:560px){.event-response-row{grid-template-columns:minmax(0,1fr) auto}.event-proposal{grid-template-columns:1fr}.event-proposal small,.event-proposal strong,.event-proposal em,.event-proposal button{grid-column:1;grid-row:auto}.event-proposal button{width:100%}.event-rsvp-actions{grid-template-columns:1fr 1fr 1fr}.event-availability-list>span{flex:1 1 calc(50% - 4px);justify-content:flex-start}}

/* issueActionCss */
.issue-dashboard-row{position:relative;padding-right:108px!important;cursor:pointer;transition:.16s}.issue-dashboard-row:hover{background:#f8fafc}.issue-dashboard-row::after{content:'처리 관리';position:absolute;right:10px;top:12px;padding:7px 9px;border:1px solid #c7d2fe;border-radius:8px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:800}.issue-dashboard-row:hover::after{background:#4f46e5;color:#fff;border-color:#4f46e5}.issue-dashboard-action{position:absolute;right:10px;top:12px;padding:7px 9px!important;border:1px solid #c7d2fe!important;border-radius:8px!important;background:#eef2ff!important;color:#4338ca!important;font-size:11px!important;font-weight:800!important}.issue-dashboard-action:hover{background:#4f46e5!important;color:#fff!important;border-color:#4f46e5!important}.issue-dashboard-row.done .issue-dashboard-action{background:#f1f5f9!important;color:#64748b!important;border-color:#e2e8f0!important}

/* taskDetailCss */
.task-detail-modal{width:min(820px,100%)!important;padding:0!important;overflow:hidden!important;background:#f8fafc!important}.task-detail-modal>.section-title{margin:0;padding:20px 24px;color:#fff;background:linear-gradient(135deg,#0f172a,#1e3a5f)}.task-detail-modal>.section-title h2{color:#fff}.task-detail-modal>.section-title .secondary{background:#ffffff1d;color:#fff;border-color:#ffffff38}.task-detail-hero{padding:20px 24px;background:#fff;border-bottom:1px solid #e2e8f0}.task-detail-status{display:inline-block;padding:5px 9px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:11px;font-weight:900}.task-detail-status[data-status-index="1"]{background:#ffedd5;color:#c2410c}.task-detail-status[data-status-index="2"]{background:#ede9fe;color:#6d28d9}.task-detail-status[data-status-index="3"]{background:#dbeafe;color:#1d4ed8}.task-detail-hero p{margin:11px 0 0;color:#334155;line-height:1.65}.task-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.task-detail-meta div{padding:10px 12px;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc}.task-detail-meta span,.task-detail-meta strong{display:block}.task-detail-meta span{font-size:10px;letter-spacing:.06em;font-weight:900;color:#64748b}.task-detail-meta strong{margin-top:3px;font-size:13px;color:#1e293b}.task-detail-content{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 24px 24px}.task-detail-section{min-width:0}.task-detail-section h3{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;color:#1e293b;font-size:15px}.task-detail-count{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 7px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:11px}.task-detail-list{max-height:235px;overflow:auto;padding-right:3px}.task-detail-modal .team-row{padding:11px;margin:0 0 8px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.task-detail-modal .team-row:hover{border-color:#bae6fd}.task-detail-modal .field{margin-top:12px}.task-detail-modal textarea{min-height:90px}.task-detail-modal .modal-actions{margin-top:10px}.task-detail-modal .issue-entry{margin-top:10px;padding:10px;border-radius:9px;background:#fff7ed;border:1px solid #fed7aa}.task-detail-modal .issue-entry.hidden{display:none}@media(max-width:680px){.task-detail-content{grid-template-columns:1fr}.task-detail-meta{grid-template-columns:1fr}.task-detail-list{max-height:190px}}

/* taskDetailLayoutCss */
.task-detail-content{grid-template-columns:1fr!important;gap:18px!important}.task-detail-section+.task-detail-section{padding-top:18px;border-top:1px solid #dbe4ed}.task-status-history{margin-top:14px;padding:12px 13px;border:1px solid #dbe4ed;border-radius:10px;background:#f8fafc}.task-status-history>span{display:block;margin-bottom:8px;font-size:10px;letter-spacing:.07em;font-weight:900;color:#64748b}.task-status-history ol{display:grid;gap:6px;margin:0;padding:0;list-style:none}.task-status-history li{display:grid;grid-template-columns:auto auto auto 1fr;gap:8px;align-items:center;font-size:12px;color:#475569}.task-status-history b{color:#0f172a}.task-status-arrow{color:#94a3b8}.task-status-history time{justify-self:end;font-size:11px;color:#64748b}@media(max-width:680px){.task-status-history li{grid-template-columns:auto auto auto}.task-status-history time{grid-column:1/-1;justify-self:start}}

/* taskDetailCompactCss */
.task-detail-meta{display:flex!important;flex-wrap:wrap;gap:14px!important;margin-top:13px!important}.task-detail-meta div{display:flex!important;gap:6px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}.task-detail-meta span,.task-detail-meta strong{display:inline!important;margin:0!important;font-size:12px!important}.task-detail-meta span{color:#64748b}.task-detail-meta strong{color:#334155!important}.task-status-inline{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px}.task-status-inline::before{content:'최근 상태';color:#64748b}.task-status-transition{display:inline-flex;align-items:center;gap:5px;cursor:help}.task-status-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:800}.task-status-pill.todo{background:#f1f5f9;color:#475569}.task-status-pill.progress{background:#ffedd5;color:#c2410c}.task-status-pill.review{background:#ede9fe;color:#6d28d9}.task-status-pill.done{background:#dbeafe;color:#1d4ed8}.task-status-pill.is-latest{box-shadow:0 0 0 2px currentColor;font-weight:900}.task-status-inline .task-status-arrow{color:#94a3b8;font-size:13px}@media(max-width:680px){.task-status-inline{width:100%}}

/* taskDetailFlowCss */
.task-detail-modal{display:flex!important;flex-direction:column;max-height:calc(100vh - 32px)!important}.task-detail-modal>.section-title,.task-detail-modal>.task-detail-hero{flex:0 0 auto}.task-detail-content{flex:1 1 auto;min-height:0;max-height:none!important;overflow-y:auto;padding-bottom:18px!important}.task-detail-list{max-height:168px!important}.task-detail-section:last-child{padding-bottom:66px}.task-detail-section:last-child .modal-actions{position:sticky;bottom:-18px;z-index:3;margin:12px -24px -18px;padding:12px 24px;background:#f8fafc;border-top:1px solid #e2e8f0;box-shadow:0 -7px 16px #0f172a12}.task-detail-modal .team-row:has(button[onclick*="editProjectIssue"]){position:relative;display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 112px 10px 12px!important}.task-detail-modal .issue-row .badge{flex:0 0 auto}.task-detail-modal .issue-row .task-issue-status{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-detail-modal button[onclick*="editProjectIssue"]{position:absolute;right:11px;top:50%;float:none!important;transform:translateY(-50%);white-space:nowrap;padding:7px 9px!important;border-color:#bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important;font-size:11px!important}.task-detail-modal button[onclick*="editProjectIssue"]:hover{background:#2563eb!important;color:#fff!important}.task-issue-status{cursor:help;border-bottom:1px dotted #94a3b8}.task-issue-status:hover{color:#1d4ed8}.task-detail-modal .comment-row{position:relative;display:flex;align-items:center;min-height:44px;padding:9px 112px 9px 12px!important}.task-detail-modal .comment-row>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#475569;font-size:12px;font-weight:700}.comment-actions{position:absolute;right:10px;top:50%;display:flex;gap:5px;transform:translateY(-50%)}.comment-actions button{padding:6px 8px!important;font-size:11px!important}.comment-actions .secondary{border-color:#cbd5e1!important;background:#f8fafc!important;color:#475569!important}.comment-actions .comment-delete{border-color:#fecaca!important;background:#fff1f2!important;color:#be123c!important}.comment-actions .comment-delete:hover{background:#fee2e2!important}@media(max-width:680px){.task-detail-modal>.task-detail-hero{max-height:180px;overflow-y:auto}.task-detail-section:last-child .modal-actions{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}}

/* taskRowMetaCss */
.task-detail-modal .issue-row,.task-detail-modal .comment-row{padding-right:268px!important}.task-detail-modal .row-meta{position:absolute;right:102px;top:50%;max-width:150px;overflow:visible;white-space:nowrap;transform:translateY(-50%);color:#94a3b8;font-size:10px;line-height:1.25}.task-detail-modal .task-issue-status{cursor:default!important}.task-detail-modal .comment-row>strong{cursor:pointer}.task-detail-modal .comment-row>strong:hover{color:#1d4ed8;text-decoration:underline;text-underline-offset:3px}.task-detail-modal .comment-row:not(:has(.comment-actions)){padding-right:170px!important}.task-detail-modal .comment-row:not(:has(.comment-actions)) .row-meta{right:12px}.comment-text-view{white-space:pre-wrap;line-height:1.7;color:#334155;word-break:break-word}@media(max-width:680px){.task-detail-modal .issue-row,.task-detail-modal .comment-row{padding-right:202px!important}.task-detail-modal .row-meta{right:94px;max-width:98px;font-size:9px;overflow:hidden;text-overflow:ellipsis}.task-detail-modal .comment-row:not(:has(.comment-actions)){padding-right:120px!important}}

/* projectIssueBadgeCss */
.task-detail-modal .issue-row>.badge{display:none!important}.project-card{position:relative}.project-issue-badge{position:absolute;top:9px;right:9px;padding:3px 7px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:10px;font-weight:900;line-height:1}

/* projectWorkspaceLayoutCss */
#projectWorkspace{padding:0!important;overflow:hidden;background:#f8fafc!important}
    #projectWorkspace>.section-title{margin:0;padding:18px 22px;color:#fff;background:linear-gradient(120deg,#0f172a,#312e81 62%,#7c3aed)}
    #projectWorkspace>.section-title h2{color:#fff}
    #projectWorkspace>.section-title .secondary,#projectWorkspace>.section-title .workspace-close{border-color:#ffffff42;background:#ffffff1d;color:#fff}
    #projectWorkspace>.section-title button:not(.secondary):not(.workspace-close){background:#fff;color:#4c1d95}
    #projectWorkspace>#projectTabs{margin:0;padding:16px 18px 14px;background:#fff;border-bottom:1px solid #e2e8f0}
    #projectWorkspace>#projectBoard{padding:18px;min-height:330px}
    #projectWorkspace .project-tab-card{min-width:250px}
    @media(max-width:760px){#projectWorkspace>.section-title{padding:14px}#projectWorkspace>#projectTabs,#projectWorkspace>#projectBoard{padding-left:14px;padding-right:14px}}

/* scheduleWorkspaceLayoutCss */
#scheduleWorkspace{padding:0!important;overflow:hidden;background:#f8fafc!important}
    #scheduleWorkspace>.section-title{margin:0;padding:18px 22px;color:#fff;background:linear-gradient(120deg,#0f172a,#1e3a8a 62%,#2563eb)}
    #scheduleWorkspace>.section-title h2{color:#fff}
    #scheduleWorkspace>.section-title .secondary,#scheduleWorkspace>.section-title .workspace-close{border-color:#ffffff42;background:#ffffff1d;color:#fff}
    #scheduleWorkspace>.section-title button:not(.secondary):not(.workspace-close){background:#fff;color:#1d4ed8}
    #scheduleWorkspace .schedule-nav{padding:6px 9px!important;font-size:11px!important;line-height:1.2;white-space:nowrap}
    #scheduleWorkspace .schedule-period{min-width:104px;text-align:center;color:#dbeafe;font-size:12px;font-weight:850;white-space:nowrap}
    #scheduleWorkspace .schedule-today{padding:6px 8px!important;font-size:11px!important;color:#dbeafe!important}
    #scheduleWorkspace .schedule-layout{position:relative;display:block;padding:18px}
    #scheduleWorkspace #scheduleCalendar{min-width:0;min-height:330px}
    .schedule-filter-panel{position:absolute;z-index:25;top:12px;right:18px;width:230px;padding:14px;border:1px solid #dbe4ed;border-radius:13px;background:#fff;box-shadow:0 16px 38px #0f172a28}.schedule-filter-panel.hidden{display:none}
    .schedule-filter-panel h3{display:flex;align-items:center;gap:7px;margin:0 0 5px;color:#1e293b;font-size:13px}.schedule-filter-panel h3::before{content:'▣';color:#2563eb}
    .schedule-filter-panel>p{margin:0 0 11px;color:#94a3b8;font-size:10px;line-height:1.4}
    .schedule-filter-list{display:grid;gap:5px}.schedule-filter-item{position:relative;display:grid;grid-template-columns:16px 10px minmax(0,1fr) 28px;align-items:center;column-gap:8px;min-height:32px;padding:6px;border-radius:8px;color:#334155;font-size:11px;font-weight:750;cursor:pointer}.schedule-filter-item:hover{background:#f8fafc}.schedule-filter-item input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.schedule-filter-item::before{content:'';grid-column:1;grid-row:1;display:grid;place-items:center;width:14px;height:14px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:#fff;font-size:10px;line-height:1}.schedule-filter-item:has(input:checked)::before{content:'✓';border-color:var(--filter-color);background:var(--filter-color)}.schedule-filter-item:has(input:focus-visible)::before{outline:2px solid #93c5fd;outline-offset:2px}.schedule-filter-dot{grid-column:2;grid-row:1;display:block;width:9px;height:9px;border-radius:50%;background:var(--filter-color)}.schedule-filter-item>span:not(.schedule-filter-dot){grid-column:3;grid-row:1;min-width:0}.schedule-filter-count{grid-column:4;grid-row:1;display:block;text-align:right;color:#94a3b8;font-size:9px}.schedule-filter-actions{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #eef2f7}.schedule-filter-actions button{flex:1;padding:6px!important;font-size:10px!important}
    #scheduleCalendar .event-chip.private{border-left-color:#8b5cf6;background:#f5f3ff;color:#5b21b6}#scheduleCalendar .event-chip.shared{border-left-color:#0ea5e9;background:#f0f9ff;color:#075985}#scheduleCalendar .event-chip.team{border-left-color:#22c55e;background:#f0fdf4;color:#166534}#scheduleCalendar .event-chip.task{border-left-color:#f59e0b;background:#fffbeb;color:#92400e;text-decoration:none}
    .schedule-day-view{overflow:hidden;border:1px solid #dbe4ed;border-radius:14px;background:#fff;box-shadow:0 8px 24px #0f172a0d}.schedule-day-view.hidden{display:none}.schedule-day-view-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#eff6ff)}.schedule-day-view-head h3{margin:0;color:#1e293b;font-size:16px}.schedule-day-view-head .spacer{flex:1}.schedule-day-view-head button{padding:7px 9px!important;font-size:10px!important}.schedule-day-summary{display:flex;gap:8px;padding:10px 14px;border-bottom:1px solid #eef2f7}.schedule-day-summary span{padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:10px;font-weight:800}.schedule-period-work{display:grid;gap:7px;padding:10px 14px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.schedule-period-work.hidden{display:none}.schedule-period-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px 10px;align-items:start}.schedule-period-row>strong{padding-top:6px;color:#475569;font-size:10px;white-space:nowrap}.schedule-period-list{display:flex;flex-wrap:wrap;gap:6px}.schedule-period-item{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 9px;border:1px solid #fde68a;border-left:4px solid #f59e0b;border-radius:8px;background:#fff;color:#78350f;text-align:left}.schedule-period-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.schedule-period-item small{color:#a16207;font-size:10px;white-space:nowrap}.schedule-period-item.done{border-color:#bfdbfe;border-left-color:#2563eb;background:#eff6ff;color:#1e3a8a}.schedule-period-item.done small{color:#2563eb}.schedule-period-item.event.private{border-color:#ddd6fe;border-left-color:#8b5cf6;background:#f5f3ff;color:#5b21b6}.schedule-period-item.event.shared{border-color:#bae6fd;border-left-color:#0ea5e9;background:#f0f9ff;color:#075985}.schedule-period-item.event.team{border-color:#bbf7d0;border-left-color:#22c55e;background:#f0fdf4;color:#166534}.schedule-period-item.event small{color:inherit;opacity:.78}.schedule-day-timeline-wrap{max-height:620px;overflow:auto;padding:12px 14px 18px}.schedule-day-timeline{display:grid;grid-template-columns:48px minmax(0,1fr);min-height:640px}.schedule-day-axis{position:relative}.schedule-day-axis span{position:absolute;right:8px;transform:translateY(-7px);color:#94a3b8;font-size:9px}.schedule-day-track{position:relative;border-left:1px solid #cbd5e1;background-image:repeating-linear-gradient(to bottom,#e2e8f0 0,#e2e8f0 1px,transparent 1px,transparent 64px);cursor:crosshair}.schedule-time-item{position:absolute;z-index:2;display:flex;align-items:center;gap:6px;min-height:24px;overflow:hidden;padding:5px 7px;border:1px solid var(--item-color);border-left:4px solid var(--item-color);border-radius:7px;background:var(--item-bg);color:#1e293b;text-align:left;box-shadow:0 2px 7px #0f172a16}.schedule-time-item:hover{z-index:4;box-shadow:0 6px 15px #0f172a28}.schedule-time-item strong,.schedule-time-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-time-item strong{flex:1 1 auto;min-width:0;font-size:10px}.schedule-time-item small{display:inline;flex:0 0 auto;margin:0;color:#64748b;font-size:9px;font-weight:650}.schedule-time-item.private{--item-color:#8b5cf6;--item-bg:#f5f3ff}.schedule-time-item.shared{--item-color:#0ea5e9;--item-bg:#f0f9ff}.schedule-time-item.team{--item-color:#22c55e;--item-bg:#f0fdf4}.schedule-time-item.task{--item-color:#f59e0b;--item-bg:#fffbeb}.schedule-time-item.task small{color:#78716c}.schedule-time-empty{position:absolute;inset:22px;display:grid;place-items:center;color:#94a3b8;font-size:11px;pointer-events:none}
    .schedule-discovery{display:grid;gap:12px;margin-bottom:14px;padding:14px;border:1px solid #dbe4ed;border-radius:15px;background:#fff;box-shadow:0 8px 24px #0f172a0a}.schedule-discovery-tools{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:center}.schedule-search{display:flex;align-items:center;gap:9px;min-width:0;height:42px;padding:0 11px;border:1px solid #cbd5e1;border-radius:11px;background:#f8fafc}.schedule-search:focus-within{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb12}.schedule-search>span{color:#2563eb;font-size:17px;font-weight:900}.schedule-search input{min-width:0;width:100%;height:auto!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:12px}.schedule-search button{display:grid;place-items:center;width:26px!important;height:26px!important;padding:0!important;border-radius:8px!important;background:#e2e8f0!important;color:#475569!important;font-size:15px!important}.schedule-search button.hidden{display:none!important}.schedule-quick-date{display:flex;align-items:center;gap:7px}.schedule-quick-date label{color:#64748b;font-size:10px;font-weight:800;white-space:nowrap}.schedule-quick-date input{width:142px!important;height:42px!important;padding:0 10px!important;font-size:11px!important}.schedule-quick-date button{height:42px;padding:0 13px!important;background:#1d4ed8!important;font-size:11px!important}.schedule-upcoming{display:grid;gap:9px;padding-top:11px;border-top:1px solid #eef2f7}.schedule-upcoming-head{display:flex;align-items:center;gap:10px}.schedule-upcoming-title{display:grid;gap:2px}.schedule-upcoming-title strong{color:#1e293b;font-size:13px}.schedule-upcoming-title small{color:#94a3b8;font-size:9px}.schedule-upcoming-head>.spacer{flex:1}.schedule-range-tabs{display:flex;gap:5px}.schedule-range-tabs button{padding:6px 9px!important;border:1px solid #dbe4ed!important;background:#f8fafc!important;color:#64748b!important;font-size:9px!important}.schedule-range-tabs button.active{border-color:#2563eb!important;background:#eff6ff!important;color:#1d4ed8!important}.schedule-upcoming-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.schedule-upcoming-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:9px;align-items:center;min-width:0;padding:9px 10px;border:1px solid #e2e8f0;border-left:4px solid var(--upcoming-color);border-radius:10px;background:#fbfdff;color:#334155;text-align:left}.schedule-upcoming-item.private{--upcoming-color:#8b5cf6}.schedule-upcoming-item.shared{--upcoming-color:#0ea5e9}.schedule-upcoming-item.team{--upcoming-color:#22c55e}.schedule-upcoming-item.task{--upcoming-color:#f59e0b}.schedule-upcoming-date{display:grid;place-items:center;padding:5px;border-radius:8px;background:#f1f5f9;color:#475569;font-size:9px;font-weight:850;line-height:1.25}.schedule-upcoming-copy{min-width:0}.schedule-upcoming-copy strong,.schedule-upcoming-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-upcoming-copy strong{font-size:11px}.schedule-upcoming-copy small{margin-top:3px;color:#8494aa;font-size:9px}.schedule-upcoming-item>em{color:#94a3b8;font-size:15px;font-style:normal}.schedule-upcoming-empty{grid-column:1/-1;margin:0;padding:16px;border:1px dashed #cbd5e1;border-radius:10px;color:#94a3b8;text-align:center;font-size:10px}
    @media(max-width:760px){#scheduleWorkspace>.section-title,#scheduleWorkspace .schedule-layout{padding-left:14px;padding-right:14px}.schedule-filter-panel{position:absolute;top:10px;right:14px;left:14px;width:auto}.schedule-filter-list{grid-template-columns:1fr 1fr}.schedule-discovery-tools{grid-template-columns:1fr}.schedule-quick-date{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.schedule-quick-date input{width:100%!important}.schedule-upcoming-head{align-items:flex-end;flex-wrap:wrap}.schedule-upcoming-head>.spacer{display:none}.schedule-range-tabs{margin-left:auto}.schedule-upcoming-list{grid-template-columns:1fr}.schedule-day-view-head{flex-wrap:wrap}.schedule-day-view-head h3{width:100%}.schedule-day-summary{flex-wrap:wrap}.schedule-day-timeline-wrap{padding-left:8px;padding-right:8px}}

/* commentComposeCss */
.task-detail-modal .comment-compose{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;margin-top:12px;padding:9px 10px;border:1px solid #dbe4ed;border-radius:10px;background:#fff}.task-detail-modal .comment-compose .field{min-width:0;margin:0!important}.task-detail-modal .comment-compose .field textarea{height:38px;min-height:38px;margin:0;padding:9px 10px;resize:none;border-color:#cbd5e1;font-size:12px}.task-detail-modal .comment-compose>label:not(.field){display:flex;align-items:center;gap:5px;white-space:nowrap;color:#64748b;font-size:11px}.task-detail-modal .comment-compose .issue-entry{grid-column:1/-1;margin:0!important}.task-detail-modal .comment-compose .modal-actions{position:static!important;display:contents!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}.task-detail-modal .comment-compose #projectCommentSave{grid-column:3;padding:8px 11px!important;border-color:#0f766e!important;background:#0f766e!important;color:#fff!important;white-space:nowrap;font-size:11px!important}.task-detail-modal .comment-compose #projectCommentSave:hover{background:#115e59!important}@media(max-width:680px){.task-detail-modal .comment-compose{grid-template-columns:1fr auto}.task-detail-modal .comment-compose .field{grid-column:1/-1}.task-detail-modal .comment-compose #projectCommentSave{grid-column:2}}

/* commentCreateCss */
.task-detail-modal .comment-compose{display:none!important}.task-detail-section:last-child{padding-bottom:0!important}.task-detail-section:nth-of-type(2) h3 button{padding:6px 9px!important;border-color:#0f766e!important;background:#f0fdfa!important;color:#0f766e!important;font-size:11px!important}.comment-create-popover{position:absolute;z-index:10;right:20px;bottom:18px;width:min(520px,calc(100% - 40px));padding:15px;border:1px solid #99f6e4;border-radius:12px;background:#fff;box-shadow:0 18px 46px #0f172a30}.comment-create-popover>strong{display:block;color:#0f766e;font-size:14px}.comment-create-popover textarea{min-height:88px;margin-top:7px}.comment-create-toggle{display:flex;align-items:center;gap:7px;margin-top:12px;color:#475569;font-size:12px;font-weight:750}.comment-create-fields{margin-top:12px;padding:11px;border:1px solid #d1fae5;border-radius:10px;background:#f0fdfa}.comment-create-fields.hidden{display:none}.comment-create-popover .modal-actions{margin:14px 0 0!important;padding:0!important;border:0!important;box-shadow:none!important}.comment-create-popover #newCommentSave{background:#0f766e;border-color:#0f766e;color:#fff}

/* commentPopoverRowCss */
.comment-create-popover{display:grid;grid-template-columns:1fr auto;gap:9px;padding:10px!important;border-color:#e2e8f0!important;border-radius:10px!important;background:#fff!important;box-shadow:0 10px 26px #0f172a22!important}.comment-create-popover>strong{display:none}.comment-create-popover .field{min-width:0;margin:0!important}.comment-create-popover .field textarea{height:42px;min-height:42px;margin:0;resize:none;border-color:#cbd5e1;font-size:12px}.comment-create-popover .comment-create-toggle{display:flex;align-items:center;gap:7px;grid-column:1/-1;margin:0;padding:8px 10px;border:1px solid #dbe4ed;border-radius:8px;background:#f8fafc;color:#475569;font-size:11px;font-weight:800;white-space:nowrap}.comment-create-popover .comment-create-toggle input{width:15px;height:15px;margin:0;accent-color:#0f766e}.comment-create-popover .modal-actions{display:flex!important;grid-column:2;grid-row:1;align-self:center;margin:0!important}.comment-create-popover .modal-actions .secondary{padding:8px!important;font-size:11px!important}.comment-create-popover #newCommentSave{padding:8px 11px!important;border-radius:8px!important;font-size:11px!important}.comment-create-popover .comment-create-fields{display:grid;grid-template-columns:1fr 1.25fr 1.25fr;gap:8px;grid-column:1/-1;margin:0!important;padding:24px 10px 10px!important;border:1px solid #bfdbfe!important;border-radius:9px!important;background:#f8fbff!important;position:relative}.comment-create-popover .comment-create-fields::before{content:'이슈 설정';position:absolute;top:8px;left:10px;color:#1d4ed8;font-size:10px;font-weight:900;letter-spacing:.06em}.comment-create-popover .comment-create-fields select,.comment-create-popover .comment-create-fields input{width:100%;height:37px;padding:0 9px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;font-size:11px}.comment-create-popover .comment-create-fields.hidden{display:none}@media(max-width:680px){.comment-create-popover{grid-template-columns:1fr auto}.comment-create-popover .field{grid-column:1/-1}.comment-create-popover .modal-actions{grid-column:2;grid-row:1}.comment-create-popover .comment-create-fields{grid-template-columns:1fr}}

/* commentIssueToggleCss */
.comment-create-popover .comment-create-toggle{grid-column:1!important;justify-self:start;padding:7px 10px!important;border-color:#cbd5e1!important;background:#f8fafc!important;color:transparent!important;cursor:pointer}.comment-create-popover .comment-create-toggle input{display:none}.comment-create-popover .comment-create-toggle::after{content:'+ 이슈 추가';color:#475569;font-size:11px;font-weight:850}.comment-create-popover .comment-create-toggle:has(input:checked){border-color:#bfdbfe!important;background:#eff6ff!important}.comment-create-popover .comment-create-toggle:has(input:checked)::after{content:'이슈 설정 닫기';color:#1d4ed8}.comment-create-popover .modal-actions .secondary{border-color:#cbd5e1!important;background:#f8fafc!important;color:#475569!important}.comment-create-popover #newCommentSave{border-color:#0f766e!important;background:#0f766e!important;color:#fff!important}

/* issueTypographyRefineCss */
.task-detail-modal .issue-row .task-issue-status{font-size:11px!important;font-weight:600!important;color:#475569!important}.task-detail-modal .issue-row .row-meta{font-size:9px!important;font-weight:400!important;color:#94a3b8!important}.issue-work-modal .issue-hero strong{font-size:13px!important;font-weight:700!important}.issue-work-modal .issue-hero p{font-size:11px!important;font-weight:400!important}
    .comment-create-popover .comment-create-fields{padding-top:25px!important}.comment-create-popover .comment-issue-field{display:block;min-width:0;margin:0;color:#64748b;font-size:10px;font-weight:750}.comment-create-popover .comment-issue-field span{display:block;margin:0 0 4px 2px}.comment-create-popover .comment-issue-field select,.comment-create-popover .comment-issue-field input{height:34px!important;margin:0!important;font-size:11px!important;font-weight:600!important}
    .issue-comment-compose{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.issue-comment-compose textarea{height:38px!important;min-height:38px!important;margin:0!important;padding:9px 10px!important;resize:none;font-size:12px!important}.issue-comment-compose button{align-self:center;padding:8px 10px!important;font-size:11px!important;white-space:nowrap}@media(max-width:640px){.issue-comment-compose{grid-template-columns:1fr}.issue-comment-compose button{justify-self:end}}

/* managementHeroCss */
.project-members-modal,.task-manager-modal{padding:0!important;max-height:calc(100vh - 32px)!important;overflow-y:auto!important}.manage-hero{margin:0 0 16px;padding:14px 18px;border-bottom:1px solid #e2e8f0;background:#fff}.manage-hero strong{display:block;color:#1e293b;font-size:14px}.manage-hero span{display:block;margin-top:4px;color:#64748b;font-size:11px}.project-members-modal>.manage-hero,.task-manager-modal>.manage-hero{margin:0 0 16px}.project-members-modal .field:not(.project-members-picker),.task-manager-modal>.field{margin-left:22px;margin-right:22px}.project-members-modal>.row,.task-manager-modal>.row{margin-left:22px;margin-right:22px}.project-members-modal .project-members-picker{margin-left:22px!important;margin-right:22px!important}.project-members-modal .modal-actions,.task-manager-modal .modal-actions{position:sticky;bottom:0;z-index:4;margin:18px 0 0!important;padding:13px 22px!important;background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 -7px 16px #0f172a12}.project-members-modal .project-members-picker select{max-height:128px!important;min-height:112px!important}

/* taskManagerCompactCss */
.task-manager-modal>.row{display:grid!important;grid-template-columns:minmax(120px,.8fr) minmax(150px,1fr) minmax(170px,1fr);gap:10px!important}.task-manager-modal .field:has(#projectTaskEditDue){position:relative;padding:14px 15px!important;border:1px solid #dbe4ed;border-left:4px solid #64748b;border-radius:12px;background:#fff;box-shadow:0 3px 10px #0f172a08}.task-manager-modal .field:has(#projectTaskEditDue)::before{content:'DUE DATE';display:block;margin-bottom:5px;color:#475569;font-size:10px;font-weight:900;letter-spacing:.1em}.task-manager-modal #projectTaskEditDue{width:100%;height:43px;margin-top:8px;padding:0 9px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#1e293b;font-weight:700}@media(max-width:680px){.task-manager-modal>.row{grid-template-columns:1fr}.task-manager-modal>.row .field{margin-left:0;margin-right:0}}

/* manageReadViewCss */
.manage-read-view{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 22px 18px}.manage-read-view div{padding:10px 12px;border:1px solid #e2e8f0;border-radius:9px;background:#fff}.manage-read-view div:last-child:nth-child(odd){grid-column:1/-1}.manage-read-view span,.manage-read-view strong{display:block}.manage-read-view span{font-size:10px;font-weight:900;letter-spacing:.05em;color:#64748b}.manage-read-view strong{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-size:12px}.project-members-modal[data-editing="false"] .modal-actions,.task-manager-modal[data-editing="false"] .modal-actions{margin-top:0!important}@media(max-width:620px){.manage-read-view{grid-template-columns:1fr}}

/* projectManageReadCss */
.project-members-modal[data-editing="false"] .project-members-picker{display:none!important}

/* taskManagerLabelCss */
.comment-create-popover .field{font-size:0}.comment-create-popover .field textarea{font-size:12px!important}.task-manager-modal>.row .field{font-size:12px!important;color:#475569}.task-manager-modal>.row .field::before{display:none!important;content:none!important}.task-manager-modal>.row .field select,.task-manager-modal>.row .field input{font-size:12px!important}.project-members-modal .project-members-picker::before{display:none!important;content:none!important}

/* taskEditorPlainCss */
.task-manager-modal[data-editing="false"]>.row{display:none!important}.task-manager-modal .field:has(#projectTaskEditStatus),.task-manager-modal .field:has(#projectTaskEditAssignee),.task-manager-modal .field:has(#projectTaskEditDue){padding:0!important;border:0!important;border-left:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.task-manager-modal #projectTaskEditStatus,.task-manager-modal #projectTaskEditAssignee,.task-manager-modal #projectTaskEditDue{margin-top:6px!important;background:#fff!important}

/* taskPlanningCss */
.task-create-planning,.task-edit-planning{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important;margin-top:10px}.task-create-planning .field,.task-edit-planning .field{min-width:0;margin:0!important;padding:10px 11px!important;border:1px solid #dbe4ed;border-radius:10px;background:#fff}.task-create-planning .field:last-child,.task-edit-planning .field:last-child{grid-column:span 2}.task-create-planning input,.task-create-planning select,.task-edit-planning input,.task-edit-planning select{width:100%;min-width:0;height:38px;margin-top:6px;padding:0 9px;border:1px solid #cbd5e1;border-radius:7px;background:#f8fafc;color:#334155;font-size:12px}.project-card small{line-height:1.45}@media(max-width:680px){.task-create-planning,.task-edit-planning{grid-template-columns:1fr 1fr}.task-create-planning .field:last-child,.task-edit-planning .field:last-child{grid-column:auto}}@media(max-width:440px){.task-create-planning,.task-edit-planning{grid-template-columns:1fr}}

/* projectPlanningCss */
.project-planning-panel{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 18px 0;padding:12px 14px;border:1px solid #ddd6fe;border-radius:12px;background:linear-gradient(135deg,#faf5ff,#f5f3ff);min-width:0}
    .project-planning-panel>div:first-child{flex:1 1 160px;min-width:0}
    .project-planning-panel strong{display:block;color:#4c1d95;font-size:13px;white-space:nowrap}
    .project-planning-panel span{display:block;margin-top:3px;overflow:hidden;color:#6b7280;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
    .project-planning-controls{display:flex;flex:1 1 560px;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c4b5fd transparent;padding:2px 0 5px}
    .project-planning-controls button,.project-planning-controls select{flex:none;box-sizing:border-box;height:var(--wl-control-height,42px);min-height:var(--wl-control-height,42px);padding:0 12px;border:1px solid #ddd6fe;border-radius:9px;background:#fff;color:#5b21b6;font-size:12px;font-weight:650;white-space:nowrap}
    .project-planning-controls button.active{border-color:#6d28d9;background:#6d28d9;color:#fff}
    .project-planning-controls .project-sprint-manage{border-color:#c4b5fd;background:#f5f3ff}
    .project-planning-controls select{flex:0 0 170px;width:170px;max-width:none;color:#334155;font-weight:500}
    @media(max-width:760px){.project-planning-panel{margin:10px 14px 0}.project-planning-panel>div:first-child{flex-basis:100%}.project-planning-controls{flex-basis:100%}}
    .sprint-manage-list{display:grid;gap:8px;margin:12px 0}.sprint-manage-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.sprint-manage-row strong{font-size:14px;color:#172554}.sprint-manage-row small{display:block;margin-top:3px;color:#64748b;font-size:11px;line-height:1.45}.sprint-status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900}.sprint-status.current{background:#dcfce7;color:#047857}.sprint-status.planned{background:#ede9fe;color:#6d28d9}.sprint-status.closed{background:#e2e8f0;color:#475569}.sprint-manage-actions{display:flex;gap:5px;align-items:center}.sprint-manage-actions button{padding:6px 8px;font-size:11px}.sprint-create-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0}.sprint-create-form .wide{grid-column:1/-1}@media(max-width:760px){.sprint-manage-row{grid-template-columns:1fr}.sprint-manage-actions{justify-content:flex-start}.sprint-create-form{grid-template-columns:1fr}.sprint-create-form .wide{grid-column:auto}}

/* sprintAssignmentCss */
.sprint-select-all{display:flex;align-items:center;gap:8px;margin:12px 0 8px;color:#334155;font-size:13px;font-weight:800}.sprint-task-list{display:grid;gap:7px;max-height:360px;overflow:auto;padding:3px}.sprint-task-option{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff}.sprint-task-option input{width:17px;height:17px;margin:2px 0 0;accent-color:#6d28d9}.sprint-task-option strong{display:block;color:#1e293b;font-size:13px}.sprint-task-option small{display:block;margin-top:3px;color:#64748b;font-size:11px}@media(max-width:760px){.sprint-task-list{max-height:300px}}
#appModal.app-modal article.modal-base.project-sprint-assignment-modal{width:min(640px,100%)}
.project-sprint-assignment-modal>.sprint-assignment-help{margin:20px 24px 16px!important;color:#64748b;font-size:13px;line-height:1.55}
.project-sprint-assignment-modal>.sprint-assignment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 24px 8px;padding-bottom:10px;border-bottom:1px solid #e2e8f0;color:#334155;font-size:13px}
.project-sprint-assignment-modal>.sprint-assignment-toolbar strong{margin-left:4px;color:#1d4ed8;font-variant-numeric:tabular-nums}
.project-sprint-assignment-modal .sprint-select-all{margin:0;font-size:12px;font-weight:650;white-space:nowrap}
.project-sprint-assignment-modal>.sprint-task-list{display:block;max-height:min(43vh,360px);margin:0 24px;padding:0;overflow:auto}
.project-sprint-assignment-modal .sprint-task-option{align-items:center;gap:12px;margin:0;padding:12px 6px;border:0;border-bottom:1px solid #edf1f5;border-radius:0;background:transparent;cursor:pointer}
.project-sprint-assignment-modal .sprint-task-option:last-child{border-bottom:0}
.project-sprint-assignment-modal .sprint-task-option:hover{background:#f7faff}
.project-sprint-assignment-modal .sprint-task-option:has(input:checked){background:#f0f6ff}
.project-sprint-assignment-modal .sprint-task-option input{flex:none;margin:0;accent-color:#2563eb}
.project-sprint-assignment-modal .sprint-task-option span{min-width:0}
.project-sprint-assignment-modal .sprint-task-option strong{line-height:1.45;overflow-wrap:anywhere}
.project-sprint-assignment-modal .sprint-task-option small{margin-top:3px;line-height:1.4}
.project-sprint-assignment-modal .sprint-task-empty{margin:0;padding:32px 12px;color:#64748b;font-size:13px;text-align:center}
@media(max-width:520px){.project-sprint-assignment-modal>.sprint-assignment-help{margin:16px 16px 14px!important}.project-sprint-assignment-modal>.sprint-assignment-toolbar{margin:0 16px 8px}.project-sprint-assignment-modal>.sprint-task-list{margin:0 16px;max-height:42vh}.project-sprint-assignment-modal .sprint-task-option{padding:11px 4px}}

/* sprintReportCss */
.project-sprint-report{border-color:#bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important}.sprint-report-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 14px}.sprint-report-head strong{color:#172554;font-size:16px}.sprint-report-head small{display:block;margin-top:4px;color:#64748b;font-size:12px}.sprint-report-bar{height:10px;overflow:hidden;margin:12px 0 14px;border-radius:999px;background:#e2e8f0}.sprint-report-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#7c3aed)}.sprint-report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sprint-report-grid div{padding:11px;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff}.sprint-report-grid span{display:block;color:#64748b;font-size:11px}.sprint-report-grid strong{display:block;margin-top:4px;color:#1e3a8a;font-size:17px}.sprint-report-summary{margin-top:14px;padding:11px 12px;border-radius:10px;background:#f8fafc;color:#475569;font-size:12px;line-height:1.6}.sprint-workload{margin-top:14px;border:1px solid #dbeafe;border-radius:12px;overflow:hidden}.sprint-workload h4{margin:0;padding:10px 12px;border-bottom:1px solid #dbeafe;background:#f8fbff;color:#1e3a8a;font-size:13px}.sprint-workload-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px;border-bottom:1px solid #eef2ff}.sprint-workload-row:last-child{border-bottom:0}.sprint-workload-name{overflow:hidden;color:#334155;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.sprint-workload-meta{color:#64748b;font-size:11px;text-align:right}.sprint-workload-bar{grid-column:1/-1;height:6px;overflow:hidden;border-radius:999px;background:#e2e8f0}.sprint-workload-bar i{display:block;height:100%;border-radius:inherit;background:#14b8a6}@media(max-width:520px){.sprint-report-grid{grid-template-columns:repeat(2,1fr)}.sprint-report-head{align-items:flex-start;flex-direction:column}.sprint-workload-row{grid-template-columns:1fr}.sprint-workload-meta{text-align:left}}
#appModal.app-modal article.modal-base.project-sprint-report-modal{width:min(620px,100%)}
.project-sprint-report-modal>#projectSprintReportContent{margin:0 24px}
.project-sprint-report-modal>.field{max-width:320px}
.project-sprint-report-modal .sprint-report-head{margin:22px 0 18px;align-items:flex-start;gap:16px}
.project-sprint-report-modal .sprint-report-head strong{font-size:19px;line-height:1.4}
.project-sprint-report-modal .sprint-report-head small{margin-top:7px;line-height:1.6}
.project-sprint-report-modal .sprint-report-progress{padding:18px 20px;border:1px solid #dbeafe;border-radius:14px;background:#fff}
.project-sprint-report-modal .sprint-report-progress>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:16px;color:#64748b;font-size:13px}
.project-sprint-report-modal .sprint-report-progress strong{color:#1e3a8a;font-size:29px;line-height:1}
.project-sprint-report-modal .sprint-report-bar{margin:15px 0 0}
.project-sprint-report-modal .sprint-report-grid{margin-top:12px;gap:10px}
.project-sprint-report-modal .sprint-report-grid div{padding:13px 15px;background:#fff}
.project-sprint-report-modal .sprint-report-grid span{font-size:12px}
.project-sprint-report-modal .sprint-report-details{margin-top:22px;border-top:1px solid #e2e8f0;padding:16px 0 20px}
.project-sprint-report-modal .sprint-report-details summary{cursor:pointer;color:#1e3a8a;font-size:13px;font-weight:700}
.project-sprint-report-modal .sprint-report-time{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:17px;color:#475569;font-size:13px}
.project-sprint-report-modal .sprint-report-summary{margin-top:14px}
@media(max-width:520px){#appModal.app-modal article.modal-base.project-sprint-report-modal{width:100%}.project-sprint-report-modal>#projectSprintReportContent{margin:0 16px}.project-sprint-report-modal>.field{max-width:none}.project-sprint-report-modal .sprint-report-head{flex-direction:row}.project-sprint-report-modal .sprint-report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.project-sprint-report-modal .sprint-report-grid div{padding:10px 8px}.project-sprint-report-modal .sprint-report-grid strong{font-size:15px}}

/* sprintBoardCss */
.project-sprint-board{border-color:#c4b5fd!important;background:#f5f3ff!important;color:#5b21b6!important}.sprint-board-note{margin:0 0 12px;color:#64748b;font-size:12px;line-height:1.55}.sprint-board-scroll{overflow-x:auto;padding:3px 2px 10px}.sprint-board{display:flex;gap:12px;min-width:max-content}.sprint-board-column{width:278px;min-height:340px;padding:11px;border:1px solid #ddd6fe;border-radius:14px;background:#fafaff;transition:.16s}.sprint-board-column.drag-over{border-color:#7c3aed;background:#f3e8ff;box-shadow:0 0 0 3px #ede9fe}.sprint-board-column-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.sprint-board-column-head strong{display:block;color:#312e81;font-size:14px}.sprint-board-column-head small{display:block;margin-top:3px;color:#64748b;font-size:11px}.sprint-board-count{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:11px;font-weight:900}.sprint-board-tasks{display:grid;gap:8px;min-height:280px}.sprint-board-task{padding:10px;border:1px solid #dbeafe;border-left:4px solid #64748b;border-radius:10px;background:#fff;box-shadow:0 2px 5px #0f172a0a;cursor:grab}.sprint-board-task:active{cursor:grabbing}.sprint-board-task strong{display:block;overflow:hidden;color:#1e293b;font-size:13px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.sprint-board-task small{display:block;margin-top:4px;color:#64748b;font-size:11px}.sprint-board-task .sprint-board-children{margin-top:7px;padding-top:6px;border-top:1px solid #eef2ff;color:#64748b;font-size:11px;line-height:1.45}.sprint-board-empty{margin:8px 0;color:#94a3b8;font-size:12px;text-align:center}.sprint-board-closed{opacity:.7}@media(max-width:560px){.sprint-board-column{width:252px}.sprint-board-scroll{margin:0 -4px;padding-left:4px}}

/* sprintAlertCss */
.project-sprint-alerts{display:flex;flex-wrap:wrap;gap:7px;margin:9px 18px 0}.project-sprint-alert{display:inline-flex;align-items:center;min-width:0;gap:6px;padding:7px 9px;border:1px solid #dbeafe;border-radius:9px;background:#f8fbff;color:#475569;font-size:11px;font-weight:700}.project-sprint-alert b{overflow:hidden;color:#1e3a8a;text-overflow:ellipsis;white-space:nowrap}.project-sprint-alert.start{border-color:#c4b5fd;background:#faf5ff;color:#6d28d9}.project-sprint-alert.end{border-color:#fde68a;background:#fffbeb;color:#a16207}.project-sprint-alert.overdue{border-color:#fecaca;background:#fff7f7;color:#b91c1c}@media(max-width:760px){.project-sprint-alerts{margin:8px 14px 0}.project-sprint-alert{width:100%;box-sizing:border-box}}

/* sprintRetroCss */
.sprint-retro-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:12px}.sprint-retro-grid div{padding:13px;border:1px solid #dbeafe;border-radius:11px;background:#f8fbff}.sprint-retro-grid span{display:block;color:#64748b;font-size:11px}.sprint-retro-grid strong{display:block;margin-top:4px;color:#1e3a8a;font-size:19px}.sprint-retro-note{margin:14px 0 0;padding:11px 12px;border-radius:10px;background:#f8fafc;color:#475569;font-size:12px;line-height:1.6}@media(max-width:520px){.sprint-retro-grid{grid-template-columns:1fr 1fr}}

/* projectCreateCss */
.project-create-modal{width:min(700px,100%)!important;padding:0!important;overflow:hidden!important;background:#f8fafc!important}.project-create-modal>.section-title{margin:0;padding:21px 24px;color:#fff;background:linear-gradient(135deg,#312e81,#7c3aed)}.project-create-modal>.section-title h2{color:#fff}.project-create-modal>.section-title .secondary{background:#ffffff1c;color:#fff;border-color:#ffffff3b}.project-create-form{padding:21px 24px 24px}.project-create-intro{margin:-2px 0 18px;padding:12px 14px;border-radius:10px;background:#ede9fe;color:#5b21b6;font-size:13px;line-height:1.55}.project-create-modal .field{display:block;margin-top:14px}.project-create-modal .field:first-of-type{margin-top:0}.project-create-modal input,.project-create-modal textarea{margin-top:7px;border-color:#c4b5fd;background:#fff}.project-create-modal textarea{min-height:105px}.project-create-members{position:relative;padding:15px!important;border:1px solid #ddd6fe;border-left:4px solid #7c3aed;border-radius:12px;background:linear-gradient(135deg,#faf5ff,#fff);box-shadow:0 3px 10px #4c1d9510}.project-create-members::before{content:'PROJECT MEMBERS';display:block;margin-bottom:5px;font-size:10px;letter-spacing:.1em;font-weight:900;color:#6d28d9}.project-create-members select{width:100%;min-height:175px;margin-top:8px!important;padding:6px;border:1px solid #c4b5fd;border-radius:9px;background:#fff;color:#312e81;font-weight:700}.project-create-members option{padding:9px 10px;margin:2px 0;border-radius:6px}.project-create-members option:checked{background:linear-gradient(#ede9fe,#ede9fe);color:#5b21b6}.project-create-members:focus-within{border-color:#a78bfa;box-shadow:0 7px 19px #7c3aed1c}.project-create-count{display:inline-block;margin-left:7px;padding:3px 8px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:11px;font-weight:800}.project-create-modal .modal-actions{margin:22px -24px -24px;padding:16px 24px;background:#fff;border-top:1px solid #e2e8f0}

/* projectCreateLayoutCss */
.project-create-modal{max-height:calc(100vh - 32px)!important}.project-create-form{max-height:calc(100vh - 112px);overflow-y:auto;padding:16px 24px 0!important}.project-create-intro{margin:0 0 12px!important;padding:9px 12px!important;font-size:12px!important}.project-create-modal textarea{min-height:68px!important;height:68px!important;resize:vertical}.project-period-row{gap:12px;margin-top:13px}.project-period-row .field{flex:1;margin-top:0!important}.project-period-row input{width:100%;height:42px}.project-create-members{margin-top:13px!important;padding:12px!important}.project-create-members select{min-height:118px!important;height:118px}.project-create-modal .modal-actions{position:sticky;bottom:0;z-index:2;margin:16px -24px 0!important;padding:14px 24px!important;box-shadow:0 -8px 18px #0f172a12}@media(max-width:620px){.project-period-row{display:block}.project-period-row .field+.field{margin-top:10px!important}}

/* projectMemberChipCss */
.project-create-members select,.project-members-picker select{min-height:104px!important;height:104px!important}.project-member-chips{display:flex;flex-wrap:wrap;gap:7px;min-height:38px;margin-top:10px;padding:8px;border:1px dashed #c4b5fd;border-radius:9px;background:#fff}.project-member-chip{display:inline-flex;align-items:center;padding:6px 10px!important;border:1px solid #c4b5fd!important;border-radius:999px!important;background:#f5f3ff!important;color:#5b21b6!important;font-size:12px!important;font-weight:800!important}.project-member-chip:hover{border-color:#fca5a5!important;background:#fff1f2!important;color:#be123c!important}.project-member-empty{align-self:center;color:#94a3b8;font-size:12px}

/* taskCreateCss */
.task-create-modal{width:min(720px,100%)!important;padding:0!important;overflow:hidden!important;background:#f8fafc!important}.task-create-modal>.section-title{margin:0;padding:21px 24px;color:#fff;background:linear-gradient(135deg,#0f766e,#0f4c5c)}.task-create-modal>.section-title h2{color:#fff}.task-create-modal>.section-title .secondary{background:#ffffff1c;color:#fff;border-color:#ffffff3b}.task-create-form{padding:21px 24px 24px}.task-create-intro{margin:-2px 0 18px;padding:12px 14px;border-radius:10px;background:#ecfdf5;color:#0f766e;font-size:13px;line-height:1.55}.task-create-modal .field{display:block;margin-top:14px}.task-create-modal .field:first-of-type{margin-top:0}.task-create-modal input,.task-create-modal textarea{margin-top:7px;background:#fff;border-color:#99f6e4}.task-create-modal textarea{min-height:108px}.task-create-modal .row{gap:13px;margin-top:14px}.task-create-modal .row .field{position:relative;flex:1;margin:0;padding:14px 15px;border:1px solid #dbe4ed;border-radius:12px;background:#fff;box-shadow:0 3px 10px #0f172a08}.task-create-modal .row .field:has(#newProjectTaskAssignee){border-left:4px solid #0284c7}.task-create-modal .row .field:has(#newProjectTaskDue){border-left:4px solid #f97316}.task-create-modal .row .field:has(#newProjectTaskAssignee)::before,.task-create-modal .row .field:has(#newProjectTaskDue)::before{display:block;margin-bottom:5px;font-size:10px;letter-spacing:.1em;font-weight:900}.task-create-modal .row .field:has(#newProjectTaskAssignee)::before{content:'TASK OWNER';color:#0369a1}.task-create-modal .row .field:has(#newProjectTaskDue)::before{content:'DUE DATE';color:#ea580c}.task-create-modal .row select,.task-create-modal .row input{width:100%;height:43px;margin-top:8px;padding:0 11px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#1e293b;font-weight:800}.task-personal-option{display:flex;align-items:center;gap:9px;margin-top:16px;padding:12px 14px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:750}.task-personal-option input{width:17px;height:17px;margin:0!important;accent-color:#2563eb}.task-create-modal .modal-actions{margin:22px -24px -24px;padding:16px 24px;background:#fff;border-top:1px solid #e2e8f0}@media(max-width:620px){.task-create-modal .row{display:block}.task-create-modal .row .field+.field{margin-top:12px}}

/* projectIssueCardCss */
#issueDashboard{background:linear-gradient(145deg,#fff,#f8fafc)}#issueDashboard .section-title{padding-bottom:12px;border-bottom:1px solid #e2e8f0}#issueSearchInput{margin:14px 0 10px;border-color:#cbd5e1;background:#fff}.issue-dashboard-list{display:grid;gap:10px;max-height:390px;padding:4px;overflow:auto}.issue-dashboard-row{min-height:86px;padding:14px 120px 13px 16px!important;border:1px solid #e2e8f0!important;border-left:5px solid #f59e0b!important;border-radius:12px!important;background:#fff!important;box-shadow:0 3px 10px #0f172a08}.issue-dashboard-row:has(.issue-level.high){border-left-color:#ef4444!important;background:linear-gradient(135deg,#fff,#fff7f7)!important}.issue-dashboard-row:has(.issue-level.medium){border-left-color:#f59e0b!important;background:linear-gradient(135deg,#fff,#fffbeb)!important}.issue-dashboard-row:has(.issue-level.low){border-left-color:#22c55e!important;background:linear-gradient(135deg,#fff,#f0fdf4)!important}.issue-dashboard-row.done{border-left-color:#94a3b8!important;background:#f8fafc!important;box-shadow:none;opacity:.78}.issue-card-top{display:flex;align-items:center;gap:7px;min-width:0}.issue-card-top strong{display:block;min-width:0;margin:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-size:14px}.issue-card-meta{display:flex;align-items:center;gap:5px;min-width:0;margin-left:auto;color:#64748b;font-size:11px;white-space:nowrap}.issue-card-meta span+span::before{content:'·';margin-right:5px;color:#cbd5e1}.issue-card-meta .issue-time.overdue{color:#b91c1c;font-weight:800}.issue-card-detail{display:block;margin-top:8px;color:#475569;font-size:12px;line-height:1.35}.issue-dashboard-row .issue-level{flex:0 0 auto;min-width:43px;text-align:center;padding:4px 8px;font-size:11px;box-shadow:inset 0 0 0 1px #ffffff88}.issue-dashboard-row::after{top:50%!important;transform:translateY(-50%);padding:8px 10px!important;box-shadow:0 3px 8px #4338ca18}.issue-dashboard-row.done::after{content:'처리 이력';background:#f1f5f9;color:#64748b;border-color:#e2e8f0}@media(max-width:820px){.issue-card-top{align-items:flex-start;flex-wrap:wrap}.issue-card-meta{width:100%;margin:0 0 0 50px;white-space:normal}.issue-card-top strong{max-width:calc(100% - 50px)}}
    .issue-card-meta .issue-time.overdue{border-left:0!important;background:transparent!important;padding-left:0!important}.issue-card-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* projectIssuePanelCss */
.project-issues-panel{margin-top:18px;padding:18px;border:1px solid #ddd6fe;border-radius:14px;background:linear-gradient(145deg,#fff,#faf8ff)}.project-issues-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.project-issues-head h3{margin:0;color:#312e81;font-size:16px}.project-issues-head .project-issue-count{padding:4px 8px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:11px;font-weight:900}.project-issues-head .muted{margin-left:auto}.project-issue-filter{display:grid;grid-template-columns:minmax(180px,1fr) 130px 130px;gap:8px;margin-bottom:12px}.project-issue-filter input,.project-issue-filter select{height:40px;margin:0;padding:0 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;font-size:12px}.project-issue-group+.project-issue-group{margin-top:15px}.project-issue-divider{display:flex;align-items:center;gap:8px;margin:0 0 8px;padding-top:11px;border-top:1px solid #e5e7eb;color:#64748b;font-size:11px;font-weight:850;letter-spacing:.02em}.project-issue-group:first-of-type .project-issue-divider{padding-top:0;border-top:0}.project-issue-divider span{margin-left:auto;color:#94a3b8;font-weight:700}.project-issues-list{display:grid;gap:8px;max-height:300px;overflow:auto}.project-issues-list .issue-dashboard-row{min-height:74px!important}.project-issue-stat{position:relative;cursor:pointer;border-top:4px solid #f59e0b!important;background:linear-gradient(145deg,#fffbeb,#fff)!important;transition:.16s}.project-issue-stat::after{content:'이슈 보기';position:absolute;right:13px;bottom:11px;color:#b45309;font-size:10px;font-weight:850}.project-issue-stat:hover,.project-issue-stat:focus-visible{transform:translateY(-2px);border-color:#fbbf24!important;box-shadow:0 10px 24px #f59e0b24;outline:none}@media(min-width:761px){.stats:has(#projectIssueStat){grid-template-columns:repeat(4,1fr)}}@media(max-width:680px){.project-issue-filter{grid-template-columns:1fr}.project-issues-head{align-items:flex-start;flex-wrap:wrap}.project-issues-head .muted{width:100%;margin-left:0}}

/* reviewMailCss */
#reviewMail{display:grid;gap:10px;margin:0;padding:4px!important;list-style:none}.mail-item{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(115px,.42fr) auto auto;gap:10px;align-items:center;padding:12px 14px!important;border:1px solid #e2e8f0;border-left:5px solid #f59e0b;border-radius:12px;background:linear-gradient(135deg,#fff,#fffbeb);box-shadow:0 3px 10px #0f172a08;transition:.16s}.mail-item:hover{border-color:#fbbf24;box-shadow:0 7px 18px #f59e0b18;transform:translateY(-1px)}.mail-priority{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fef3c7;color:#b45309;font-size:16px}.mail-item .badge{flex:0 0 auto;display:inline-block;padding:4px 7px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:10px;font-weight:900}.mail-main{display:flex;align-items:center;gap:7px;min-width:0}.mail-subject{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a!important;font-size:14px}.mail-from{align-self:center;min-width:0;color:#64748b;font-size:12px;line-height:32px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-actions{display:flex;align-items:center;gap:6px;align-self:center;margin:0!important;white-space:nowrap}.mail-actions button{padding:7px 9px!important;border-radius:8px!important;font-size:11px!important}.mail-actions button:first-child{border-color:#bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important}.mail-actions button:last-child{border-color:#bbf7d0!important;background:#f0fdf4!important;color:#15803d!important}.mail-date{align-self:center;color:#64748b;font-size:11px;line-height:32px;white-space:nowrap}.mail-body-view{max-height:52vh;overflow:auto;padding:16px 18px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.mail-body-view pre{margin:0;white-space:pre-wrap;line-height:1.7;font:13px/1.7 ui-monospace,"Noto Sans KR",monospace;color:#334155}.mail-body-empty{display:grid;justify-items:center;gap:8px;min-height:150px;padding:42px 28px;text-align:center;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b}.mail-body-empty strong{color:#334155;font-size:15px}.mail-body-empty span{max-width:340px;line-height:1.6;font-size:12px}.mail-attachments{margin-top:12px;padding:13px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.mail-attachments h3{display:flex;align-items:center;gap:7px;margin:0 0 9px;color:#1e3a8a;font-size:12px}.mail-attachments h3 span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:10px}.mail-attachment-list{display:grid;gap:7px}.mail-attachment{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid #dbe4ed;border-radius:9px;background:#fff;color:#1e293b;text-decoration:none;transition:.16s}.mail-attachment::before{content:'↓';display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#eff6ff;color:#2563eb;font-weight:900}.mail-attachment strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.mail-attachment small{margin-left:auto;color:#64748b;white-space:nowrap}.mail-attachment:hover{border-color:#60a5fa;box-shadow:0 5px 13px #2563eb14}.mail-scroll::-webkit-scrollbar{width:8px}.mail-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:#cbd5e1}@media(max-width:850px){.mail-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:start}.mail-from{grid-column:2;line-height:1.4}.mail-actions{grid-column:2;justify-content:flex-start}.mail-date{grid-column:3;grid-row:1;padding-top:4px;line-height:1.4}}@media(max-width:600px){.mail-item{grid-template-columns:auto minmax(0,1fr)}.mail-from,.mail-actions{grid-column:2}.mail-date{grid-column:2;grid-row:auto;padding:0}.mail-attachment{align-items:flex-start}.mail-attachment small{display:none}}

/* mailIntelligenceCss */
.issue-dashboard-row{padding-right:16px!important}.issue-dashboard-row::after{display:none!important;content:none!important}
    .task-detail-modal .issue-row{padding-right:170px!important;cursor:pointer}.task-detail-modal .issue-row:hover{border-color:#bfdbfe;background:#f8fbff}.task-detail-modal .issue-row .row-meta{right:12px!important;max-width:145px}
    .issue-work-modal #editIssueComplete{border-color:#bbf7d0!important;background:#16a34a!important;color:#fff!important}.issue-work-modal #editIssueComplete:hover{background:#15803d!important}
    .mail-ai-overview{margin:14px 18px 0;padding:14px;border:1px solid #dbeafe;border-radius:13px;background:linear-gradient(135deg,#eff6ff,#fff)}
    .mail-ai-head{display:flex;align-items:center;gap:10px}.mail-ai-head>b{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#2563eb;color:#fff;font-size:12px}.mail-ai-head div{min-width:0;flex:1}.mail-ai-head h3,.mail-ai-head p{margin:0}.mail-ai-head h3{color:#1e3a8a;font-size:14px}.mail-ai-head p{margin-top:3px;color:#64748b;font-size:10px}
    .mail-category-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.mail-category-filter{padding:7px 10px!important;border:1px solid #dbe4ed!important;border-radius:999px!important;background:#fff!important;color:#475569!important;font-size:10px!important;box-shadow:none!important}.mail-category-filter.active{border-color:#2563eb!important;background:#2563eb!important;color:#fff!important}.mail-category-filter b{margin-left:4px}
    .mail-recommendations{margin:10px 18px 0;padding:12px 14px;border:1px solid #e2e8f0;border-left:4px solid #0f766e;border-radius:11px;background:#fff}.mail-recommendations h3{margin:0 0 7px;color:#0f766e;font-size:12px}.mail-recommendations ol{display:grid;gap:5px;margin:0;padding-left:20px}.mail-recommendations li{color:#475569;font-size:11px;line-height:1.4}
    .mail-category{flex:0 0 auto;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900}.mail-category.immediate{background:#fee2e2;color:#b91c1c}.mail-category.week{background:#dbeafe;color:#1d4ed8}.mail-category.reference{background:#e2e8f0;color:#475569}.mail-category.duplicate{background:#ede9fe;color:#6d28d9}.mail-thread-count{color:#7c3aed;font-size:10px;font-weight:800;white-space:nowrap}
    .mail-task-draft-modal{display:flex!important;flex-direction:column;width:min(760px,100%)!important;max-height:min(90vh,760px)!important;overflow:hidden!important}.mail-task-draft-modal>.section-title{flex:0 0 auto}.mail-task-draft-modal>.mail-draft-lead{display:flex;flex:0 0 auto;align-items:center;gap:10px;margin:16px 20px 0;padding:11px 12px;border:1px solid #bfdbfe;border-radius:11px;background:linear-gradient(135deg,#eff6ff,#f8fbff)}.mail-draft-lead b{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:8px;background:#2563eb;color:#fff;font-size:10px}.mail-draft-lead span{color:#475569;font-size:11px;line-height:1.45}.mail-task-draft-modal>.mail-draft-grid{display:grid;flex:1 1 auto;grid-template-columns:minmax(0,1fr) minmax(170px,.55fr);gap:10px;min-height:0;margin:0!important;padding:14px 20px 0;overflow-y:auto;overscroll-behavior:contain}.mail-draft-grid .field{min-width:0;margin-top:0!important}.mail-draft-grid input,.mail-draft-grid select,.mail-draft-grid textarea{width:100%;min-width:0;border-radius:9px;background:#fff}.mail-draft-grid .full{grid-column:1/-1}.mail-draft-next textarea{min-height:72px}.mail-draft-detail textarea{min-height:150px}.mail-task-draft-modal .mail-draft-grid>.modal-actions{position:sticky;bottom:0;z-index:3;grid-column:1/-1;margin:4px -20px 0!important;padding:13px 20px!important;border-top:1px solid #e2e8f0;background:#fff;box-shadow:0 -7px 16px #0f172a0d}.mail-task-draft-modal #mailDraftApprove{background:#2563eb;color:#fff}.mail-task-draft-modal #mailDraftCancel{border-color:#cbd5e1;background:#f8fafc;color:#475569}
    .today-recommend-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 0;padding:0;list-style:none}.today-recommend-list li{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 9px;border:1px solid #dbeafe;border-radius:9px;background:#fff;color:#334155;font-size:10px}.today-recommend-list b{display:grid;place-items:center;flex:0 0 auto;width:18px;height:18px;border-radius:6px;background:#2563eb;color:#fff;font-size:9px}.today-recommend-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .briefing-top-actions{grid-column:1/-1;border-left:3px solid #2563eb}.briefing-top-actions ol{display:grid;gap:6px;margin:0;padding-left:20px}.briefing-top-actions li{color:#475569;font-size:11px}
    @media(max-width:680px){.task-detail-modal .issue-row{padding-right:112px!important}.task-detail-modal .issue-row .row-meta{max-width:92px}.mail-ai-overview,.mail-recommendations{margin-left:12px;margin-right:12px}.mail-task-draft-modal{width:100%!important;max-height:92vh!important;border-radius:18px 18px 0 0!important}.mail-task-draft-modal>.mail-draft-lead{margin:12px 14px 0;padding:10px}.mail-task-draft-modal>.mail-draft-grid{grid-template-columns:1fr;padding:12px 14px 0}.mail-draft-grid .full{grid-column:auto}.mail-draft-detail textarea{min-height:118px}.mail-task-draft-modal .mail-draft-grid>.modal-actions{margin:4px -14px 0!important;padding:11px 14px!important}.mail-task-draft-modal .modal-actions button{flex:1;min-width:0;padding:10px 8px;font-size:11px}.today-recommend-list{grid-template-columns:1fr}.today-recommend-list li{padding:6px 8px}}

/* reviewStatActionCss */
.review-stat-action{position:relative;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.review-stat-action::after{content:'메일 보기';position:absolute;right:13px;bottom:11px;color:#be123c;font-size:10px;font-weight:850;opacity:.78}.review-stat-action:hover,.review-stat-action:focus-visible{transform:translateY(-2px);border-color:#fb7185;box-shadow:0 10px 24px #fb718526;outline:none}.review-stat-action:focus-visible{box-shadow:0 0 0 3px #ffe4e6,0 10px 24px #fb718526}#reviewMailSection{scroll-margin-top:18px}#reviewMailSection.mail-section-highlight{animation:mailSectionPulse .9s ease}@keyframes mailSectionPulse{0%,100%{box-shadow:0 4px 18px #17233a0a}45%{border-color:#fb7185;box-shadow:0 0 0 4px #ffe4e6,0 12px 28px #fb718520}}

/* scheduleVisibilitySpacingCss */
.event-visibility-card{margin-top:22px!important;padding:19px 18px!important}.event-visibility-card::before{margin-bottom:9px!important}.event-visibility-caption{display:block;margin:0 0 9px;color:#134e4a;font-size:14px;font-weight:850}.event-visibility-card select{height:47px!important;padding:0 12px!important;font-size:14px}.event-visibility-guide{margin:11px 4px 0!important;line-height:1.55}.event-target-card{margin-top:16px!important}

/* overdueCompactCss */
#overdueTasks{display:grid;gap:4px;margin:6px 0 0;padding:0;list-style:none}#overdueTasks li{display:grid;grid-template-columns:76px minmax(0,1fr) max-content 20px;gap:8px;align-items:center;min-height:34px;padding:5px 8px;border-bottom:1px solid #f1f5f9;line-height:1.2}#overdueTasks li:last-child{border-bottom:0}#overdueTasks li.muted{display:block;min-height:0;padding:8px;white-space:nowrap}#overdueTasks li strong{font-size:12px;white-space:nowrap}#overdueTasks li button{min-width:0;padding:5px 8px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2}#overdueTasks li .overdue-deadline{grid-column:3!important;white-space:nowrap;font-size:11px}#overdueTasks li .overdue-check{grid-column:4!important;width:15px;height:15px;margin:0}.overdue-date::after{display:none}@media(max-width:620px){#overdueTasks li{grid-template-columns:42px minmax(0,1fr) max-content 18px;gap:5px;padding-inline:5px}#overdueTasks li .overdue-date span{display:none}.overdue-date::after{display:inline;content:attr(data-short);font-size:10px}#overdueTasks li button{padding-inline:5px!important;font-size:11px}#overdueTasks li .overdue-deadline{font-size:9px}#overdueTasks li .overdue-check{justify-self:end}}@media(max-width:380px){#overdueTasks li{grid-template-columns:38px minmax(0,1fr) max-content 16px;gap:3px}#overdueTasks li .overdue-deadline{font-size:8px}#overdueTasks li .overdue-check{width:14px;height:14px}}

/* todayBriefingCss */
.today-briefing-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:12px 0 14px;padding:11px 13px;border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-radius:12px;background:linear-gradient(135deg,#eff6ff,#fff);box-shadow:0 5px 15px #2563eb0d;cursor:pointer}.today-briefing-card.urgent{border-color:#fecaca;border-left-color:#ef4444;background:linear-gradient(135deg,#fff1f2,#fff)}.today-briefing-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#2563eb;color:#fff;font-size:14px;font-weight:900}.today-briefing-card.urgent .today-briefing-icon{background:#ef4444}.today-briefing-copy{min-width:0}.today-briefing-counts,.today-briefing-advice{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.today-briefing-counts{color:#1e3a8a;font-size:12px;font-weight:900}.today-briefing-card.urgent .today-briefing-counts{color:#991b1b}.today-briefing-advice{margin-top:4px;color:#475569;font-size:11px}.today-briefing-open{color:#64748b;font-size:18px}.briefing-modal{width:min(720px,100%)!important;padding:0!important;overflow:hidden!important;background:#f8fafc!important}.briefing-modal>.section-title{margin:0;padding:20px 23px;color:#fff;background:linear-gradient(135deg,#0f172a,#2563eb)}.briefing-modal>.section-title h2{color:#fff}.briefing-modal>.section-title .secondary{border-color:#ffffff38;background:#ffffff1c;color:#fff}.briefing-body{padding:18px 22px 0}.briefing-lead{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid #bfdbfe;border-radius:11px;background:#eff6ff}.briefing-lead>b{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:#2563eb;color:#fff}.briefing-lead strong,.briefing-lead span{display:block}.briefing-lead strong{color:#1e3a8a;font-size:13px}.briefing-lead span{margin-top:4px;color:#475569;font-size:11px;line-height:1.5}.briefing-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:13px}.briefing-metric{padding:10px;border:1px solid #e2e8f0;border-radius:9px;background:#fff}.briefing-metric span,.briefing-metric strong{display:block}.briefing-metric span{color:#64748b;font-size:9px;font-weight:850}.briefing-metric strong{margin-top:4px;color:#1e293b;font-size:17px}.briefing-metric.danger{border-color:#fecaca;background:#fff7f7}.briefing-metric.danger strong{color:#dc2626}.briefing-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.briefing-detail{padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.briefing-detail h3{margin:0 0 7px;color:#334155;font-size:12px}.briefing-detail p{margin:4px 0;color:#64748b;font-size:10px;line-height:1.45}.briefing-detail p strong{color:#334155}.briefing-weather{border-left:3px solid #0ea5e9}.briefing-modal>.modal-actions{margin:17px 0 0;padding:14px 22px;border-top:1px solid #e2e8f0;background:#fff}.briefing-modal #briefingHideToday{margin-right:auto;border-color:#cbd5e1;background:#f8fafc;color:#475569}.app-nav #briefingOpen{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}@media(max-width:760px){.app-nav #briefingOpen{display:none}.today-briefing-card{margin:9px 0 11px;padding:9px 10px;gap:8px}.today-briefing-icon{width:27px;height:27px}.today-briefing-counts{font-size:11px}.today-briefing-advice{font-size:10px}.briefing-modal{align-self:end;width:100%!important;max-height:88vh!important;border-radius:18px 18px 0 0!important}.briefing-metrics{grid-template-columns:repeat(3,1fr)}.briefing-details{grid-template-columns:1fr}.briefing-modal>.modal-actions{position:sticky;bottom:0}.briefing-modal>.modal-actions button{flex:1}}@media(max-width:390px){.today-briefing-counts{font-size:10px}.today-briefing-advice{font-size:9px}.today-briefing-icon{display:none}.today-briefing-card{grid-template-columns:minmax(0,1fr) auto}}

/* briefingMobileFlowCss */
.briefing-modal{display:flex!important;flex-direction:column;max-height:min(90vh,780px)!important}.briefing-modal>.section-title,.briefing-modal>.modal-actions{flex:0 0 auto}.briefing-modal>.briefing-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:18px}.briefing-modal>.modal-actions{position:relative!important;z-index:3;margin:0!important;box-shadow:0 -7px 18px #0f172a12}
    @media(max-width:760px){.app-modal:has(.briefing-modal){align-items:end;padding:0}.briefing-modal{height:min(88vh,760px);max-height:88vh!important}.briefing-modal>.section-title{padding:16px 18px}.briefing-modal>.briefing-body{padding:13px 14px 16px}.briefing-lead{gap:9px;padding:11px}.briefing-metrics{gap:6px;margin-top:9px}.briefing-metric{padding:8px}.briefing-details{gap:7px;margin-top:9px}.briefing-detail{padding:10px}.briefing-modal>.modal-actions{padding:11px 14px}.briefing-modal>.modal-actions button{min-width:0;padding:10px 7px;font-size:11px}}

/* mobileDashboardFlowCss */
.dashboard-mobile-shortcuts{display:none}
    @media(max-width:760px){body{padding-bottom:72px}.dashboard-mobile-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 11px}.dashboard-mobile-shortcuts button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:9px 7px;border:1px solid #dbe4ed;border-radius:10px;background:#fff;color:#334155;box-shadow:0 3px 10px #0f172a0b;font-size:11px;font-weight:800}.dashboard-mobile-shortcuts button span{display:grid;place-items:center;width:18px;height:18px;border-radius:6px;font-size:8px}.dashboard-mobile-shortcuts #mobileAttendance span{background:#ccfbf1;color:#0f766e}.dashboard-mobile-shortcuts #mobileProject span{background:#ede9fe;color:#6d28d9}.dashboard-mobile-shortcuts #mobileSchedule span{background:#dbeafe;color:#1d4ed8}.floating-actions .mobile-primary-shortcuts{display:none!important}.floating-actions{bottom:12px!important}.floating-actions .quick-menu-toggle{min-width:76px!important}.workspace-host:not(.hidden)~.dashboard-mobile-shortcuts{display:none}}

/* taskContinuationCss */
.task-chip.continued{background:#eff6ff;border-left:3px solid #2563eb;border-radius:7px;color:#1e40af}.task-chip.overdue-task{background:#fff1f2;border-left:3px solid #ef4444;color:#b91c1c;font-weight:800}.task-chip.done,.task-chip.status-done{opacity:.7;text-decoration:line-through!important;text-decoration-thickness:1.5px}.task-chip.completed-on{background:#e0f2fe;border-left-color:#0284c7;color:#075985;font-weight:800}.task-chip.stopped{opacity:1;background:#f1f5f9;border-left:3px solid #64748b;color:#475569;text-decoration:none!important}.task-chip.stopped-on{background:#e2e8f0;border-left-color:#475569;color:#334155;font-weight:800}

/* expenseHeadingCss */
#expenseSearchCard #dailyExpensePanel .section-title{justify-content:flex-end;margin:9px 0 5px;padding-top:8px;border-top:1px solid #e2e8f0}#expenseSearchCard #dailyExpensePanel .section-title h2{display:none}#expenseSearchCard #dailyExpensePanel .section-title span{font-size:12px;color:#475569}

/* workSearchCss */
#workSearchCard .row{align-items:center}#workSearchResults{display:grid;gap:11px;margin-top:14px}.work-search-empty{margin:0;padding:14px;border-radius:10px;background:#f8fafc;color:#64748b;font-size:13px}.work-search-group{padding:13px 14px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.work-search-group h3{margin:0 0 9px;color:#1e293b;font-size:13px}.work-search-item{display:flex;align-items:center;gap:9px;width:100%;margin:5px 0;padding:9px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#1e293b;text-align:left}.work-search-item:hover{border-color:#0f766e;background:#f0fdfa}.work-search-item span{margin-left:auto;font-size:11px;color:#64748b;white-space:nowrap}.work-search-type{display:inline-block;padding:3px 6px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:10px;font-weight:900}.work-search-type.event{background:#f3e8ff;color:#6b21a8}.work-search-item.done{text-decoration:line-through;opacity:.72}.work-search-summary{margin:0;color:#64748b;font-size:12px}

/* workSearchToggleCss */
#workSearchToggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:76px;padding:10px 12px;border:0;border-radius:9px;background:#e8eef7;color:#334155;font-size:inherit;font-weight:700;box-shadow:none}#workSearchToggle:hover{background:#dbe5f2;color:#1e293b}#workSearchCard{margin-top:13px}.work-search-body{padding:14px;border-top:1px solid #e2e8f0;border-radius:0 0 10px 10px;background:#f8fafc}.work-search-body.hidden{display:none!important}.work-search-body>.section-title{margin-bottom:11px}.work-search-body>.section-title h2{font-size:15px}.work-search-controls{display:grid;grid-template-columns:minmax(210px,1fr) 138px 132px auto;gap:8px;align-items:center}.work-search-controls input,.work-search-controls select{height:40px!important;min-width:0!important;margin:0!important;font-size:11px!important}.work-search-controls button{height:40px;padding:0 12px!important;font-size:11px!important}.work-search-statuses{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.work-search-statuses button{padding:6px 10px!important;border:1px solid #dbe4ed!important;background:#fff!important;color:#64748b!important;font-size:10px!important}.work-search-statuses button.active{border-color:#2563eb!important;background:#eff6ff!important;color:#1d4ed8!important}.work-search-result-head{display:flex;align-items:center;gap:8px;margin:12px 0 7px}.work-search-result-head strong{color:#1e293b;font-size:12px}.work-search-result-head span{color:#64748b;font-size:10px}.work-search-result-head button{margin-left:auto;padding:5px 8px!important;background:#fff!important;color:#64748b!important;font-size:9px!important}.work-search-group{padding:10px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.work-search-group h3{margin:0 0 5px;color:#334155;font-size:11px}.work-search-item{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px!important;border:0!important;border-top:1px solid #f1f5f9!important;border-radius:0!important;box-shadow:none!important}.work-search-item:first-of-type{border-top:0!important}.work-search-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-search-item span{font-size:9px;white-space:nowrap}.work-search-type{min-width:38px;text-align:center}.work-search-empty,.work-search-summary{margin:0;padding:13px;color:#94a3b8;text-align:center;font-size:10px}@media(max-width:700px){.work-search-controls{grid-template-columns:1fr 1fr}.work-search-controls>input:first-child{grid-column:1/-1}.work-search-controls button{width:100%}}@media(max-width:420px){.work-search-controls{grid-template-columns:1fr}.work-search-controls>input:first-child{grid-column:auto}.work-search-item{grid-template-columns:auto minmax(0,1fr)}.work-search-item>span{grid-column:2}}

/* issueCompactCss */
.issue-work-modal{font-size:13px}.issue-work-modal>.section-title h2{font-size:19px}.issue-hero{padding:16px 20px}.issue-hero p{font-size:12px}.issue-form{padding:16px 20px 20px}.issue-form label{font-size:12px}.issue-form-grid{gap:10px}.issue-form-grid>.field{padding:10px 12px!important}.issue-form-grid>.field select,.issue-form-grid>.field input{height:38px!important;margin-top:6px!important;font-size:12px}.issue-resolution{margin-top:10px;padding:11px}.issue-form textarea{min-height:100px;font-size:13px}.issue-meta-note{margin-top:9px;padding:8px 10px;font-size:11px}.issue-work-modal .modal-actions{margin:16px -20px -20px;padding:12px 20px}.issue-assignee-list{height:auto!important;min-height:118px!important;max-height:160px!important;padding:4px!important;appearance:auto!important;overflow-y:auto}.issue-assignee-list option{padding:6px 8px;font-size:12px}.issue-form-grid>.field:has(.issue-assignee-list)::after{display:none}

/* issueAssigneeCss */
.issue-assignee-info{display:flex;align-items:center;gap:9px;margin-top:10px;padding:10px 12px;border:1px solid #bae6fd;border-radius:10px;background:#f0f9ff;font-size:12px}.issue-assignee-info strong{margin-right:auto;color:#075985}.issue-assignee-info span{color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issue-assignee-info button{padding:5px 7px;font-size:11px}.issue-assignee-picker{position:absolute;z-index:5;right:20px;left:auto;bottom:20px;width:min(380px,calc(100% - 40px));padding:12px;border:1px solid #c4b5fd;border-radius:12px;background:#fff;box-shadow:0 18px 40px #312e8140}.issue-assignee-picker.hidden{display:none}.issue-assignee-picker select{display:block;width:100%;height:112px;max-height:112px;margin:8px 0;padding:4px}.issue-assignee-picker .modal-actions{margin:0;padding:0;border:0}.issue-assignee-history{display:flex;flex-wrap:wrap;gap:6px;margin:10px 20px 0;color:#64748b;font-size:11px}.issue-assignee-history::before{content:'처리자 변경';font-weight:800;color:#475569}.issue-assignee-history span{padding:3px 7px;border-radius:999px;background:#f1f5f9;color:#475569}

/* issueRefineCss */
.issue-work-modal .issue-form-grid{grid-template-columns:minmax(118px,.8fr) minmax(118px,.8fr) minmax(180px,1.25fr);gap:10px}.issue-work-modal .issue-form-grid>.field:has(#editIssueAssignee){display:none}.issue-work-modal .issue-form-grid>.field:has(#editIssueDue){grid-column:auto}.issue-work-modal .issue-resolution{margin-top:12px;background:#fff}.issue-work-modal .issue-assignee-info{margin-top:10px;background:#f8fafc;border-color:#e2e8f0}.issue-work-modal .issue-meta-note{margin:9px 0 0;padding:0;background:transparent;color:#64748b}.issue-work-modal .modal-actions{display:flex;justify-content:flex-end;gap:8px}.issue-work-modal #editIssueCancel{background:#f1f5f9!important;border-color:#cbd5e1!important;color:#475569!important}.issue-work-modal #editIssueSave{background:#0f766e!important;border-color:#0f766e!important;color:#fff!important}.issue-work-modal #editIssueSave:hover{background:#115e59!important}.issue-assignee-info button:first-of-type{border-color:#bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important}.issue-assignee-info button:last-of-type{border-color:#fecaca!important;background:#fff1f2!important;color:#be123c!important}.task-detail-modal .task-issue-status{border-bottom:0!important;color:#334155!important}.task-detail-modal .task-issue-status:hover{color:#334155!important}.task-detail-modal button[onclick*="editProjectIssue"]{border-color:#cbd5e1!important;background:#f8fafc!important;color:#475569!important}.task-detail-modal button[onclick*="editProjectIssue"]:hover{border-color:#94a3b8!important;background:#e2e8f0!important;color:#334155!important}@media(max-width:640px){.issue-work-modal .issue-form-grid{grid-template-columns:1fr}.issue-work-modal .issue-form-grid>.field:has(#editIssueDue){grid-column:auto}}

/* modalBaseCss */
.app-modal article.modal-base{width:min(760px,100%);padding:0;overflow:hidden;background:#f8fafc}
    .modal-base>.section-title{margin:0;padding:20px 24px;color:#fff;background:linear-gradient(135deg,#0f172a,#1e3a5f)}
    .modal-base>.section-title h2{color:#fff}.modal-base>.section-title .secondary{border-color:#ffffff38;background:#ffffff1d;color:#fff}
    .modal-base>.field,.modal-base>.row,.modal-base>form,.modal-base>.comment-text-view{margin-left:24px;margin-right:24px}
    .modal-base>.field:first-of-type,.modal-base>form{margin-top:20px}.modal-base>.modal-actions{margin:20px 0 0;padding:14px 24px;background:#fff;border-top:1px solid #e2e8f0}
    .modal-base>.comment-text-view{margin-top:22px;margin-bottom:24px}.modal-base>form>.modal-actions{margin-left:-24px;margin-right:-24px;padding:14px 24px;background:#fff;border-top:1px solid #e2e8f0}

/* issueModalLayoutCss */
.issue-work-modal{position:relative;display:flex!important;flex-direction:column;width:min(720px,100%)!important;max-height:min(90vh,760px)!important;overflow:hidden!important}.issue-work-modal>.section-title,.issue-work-modal>.issue-hero,.issue-work-modal>.issue-assignee-history{flex:0 0 auto}.issue-work-modal>.issue-form{flex:1 1 auto;min-height:0;margin:0!important;padding:14px 20px 0!important;overflow-y:auto;overscroll-behavior:contain}.issue-work-modal .issue-form-grid{margin:0}.issue-work-modal .issue-form>.modal-actions{position:sticky;bottom:0;z-index:4;margin:12px -20px 0!important;padding:12px 20px!important;border-top:1px solid #e2e8f0;background:#fff;box-shadow:0 -7px 16px #0f172a0d}.issue-work-modal .issue-form>.modal-actions button{min-width:76px}.issue-work-modal .issue-assignee-picker{bottom:14px;max-height:calc(100% - 90px);overflow-y:auto}
    @media(max-width:640px){.issue-work-modal{width:100%!important;max-height:92vh!important;border-radius:18px 18px 0 0!important}.issue-work-modal>.section-title{padding:16px 18px}.issue-work-modal>.issue-hero{padding:13px 14px}.issue-work-modal>.issue-assignee-history{margin-left:14px;margin-right:14px}.issue-work-modal>.issue-form{padding:12px 14px 0!important}.issue-work-modal .issue-form>.modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px -14px 0!important;padding:11px 14px!important}.issue-work-modal .issue-form>.modal-actions button{width:100%;min-width:0;padding:9px 7px!important;font-size:11px}.issue-work-modal .issue-form>.modal-actions .danger:first-child:nth-last-child(4){grid-column:1}.issue-work-modal .issue-assignee-picker{right:14px;left:14px;bottom:12px;width:auto}}

/* settingsLayoutCss */
.settings-modal{width:min(720px,100%)!important}.settings-modal>.section-title{background:linear-gradient(135deg,#0f172a,#334155)}.settings-body{padding:20px 24px 4px}.settings-section{padding:17px;border:1px solid #e2e8f0;border-radius:13px;background:#fff}.settings-section+.settings-section{margin-top:12px}.settings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.settings-head h3{margin:0;color:#1e293b;font-size:15px}.settings-status{padding:4px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:10px;font-weight:800}.settings-status.off{background:#fee2e2;color:#b91c1c}.settings-status.ready{background:#dbeafe;color:#1d4ed8}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-field{display:block;min-width:0;margin:0}.settings-field.full{grid-column:1/-1}.settings-field span{display:block;margin:0 0 5px 2px;color:#64748b;font-size:10px;font-weight:800}.settings-field input{width:100%;min-width:0;height:39px;margin:0;padding:0 10px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#1e293b;font-size:12px}.settings-field input:focus{border-color:#60a5fa;background:#fff;box-shadow:0 0 0 3px #dbeafe}.settings-connection-note{margin:12px 0 0;padding:9px 11px;border-radius:8px;background:#f8fafc;color:#64748b;font-size:11px;line-height:1.45}.notification-description{margin:0;color:#64748b;font-size:12px;line-height:1.55}.notification-actions{display:flex;gap:8px;margin-top:14px}.notification-actions button{min-height:38px;padding:0 14px;border-radius:9px;font-size:12px;font-weight:800}.notification-actions .notification-enable{background:#2563eb;border-color:#2563eb}.notification-actions .notification-disable{color:#b91c1c;border-color:#fecaca;background:#fff7f7}.settings-modal>.modal-actions{margin-top:16px!important}.settings-modal #settingsSave{min-width:82px;background:#2563eb;border-color:#2563eb}.settings-modal #settingsCancel{min-width:72px}@media(max-width:560px){.settings-grid{grid-template-columns:1fr}.settings-field{grid-column:1/-1!important}.settings-body{padding:16px 17px 2px}.notification-actions{flex-direction:column}.notification-actions button{width:100%}}

/* projectConsistencyCss */
#projectWorkspace .project-tab-card{cursor:pointer;border-radius:10px!important;transition:border-color .15s,box-shadow .15s,transform .15s}#projectWorkspace .project-tab-card:hover{border-color:#a78bfa!important;box-shadow:0 6px 16px #4c1d9517;transform:translateY(-1px)}#projectWorkspace .project-tab-card.active{border-color:#6d28d9!important;background:linear-gradient(135deg,#312e81,#7c3aed)!important;color:#fff!important}#projectWorkspace .project-tab-card.active small{color:#ede9fe!important}
    #projectWorkspace .project-card{cursor:pointer;border-radius:10px;box-shadow:0 2px 7px #0f172a0a;transition:border-color .15s,box-shadow .15s,transform .15s}#projectWorkspace .project-card:hover{border-color:#a78bfa;background:#fff;box-shadow:0 7px 18px #4c1d9517;transform:translateY(-1px)}#projectWorkspace .project-column>strong{color:#475569;font-size:12px;font-weight:850}
    .project-create-modal>.section-title,.project-members-modal>.section-title,.task-create-modal>.section-title,.task-manager-modal>.section-title,.task-detail-modal>.section-title{background:linear-gradient(135deg,#312e81,#6d28d9)!important}.project-create-modal>.section-title h2,.project-members-modal>.section-title h2,.task-create-modal>.section-title h2,.task-manager-modal>.section-title h2,.task-detail-modal>.section-title h2{font-size:18px!important}.project-create-modal input,.project-create-modal textarea,.project-create-modal select,.project-members-modal input,.project-members-modal textarea,.project-members-modal select,.task-create-modal input,.task-create-modal textarea,.task-create-modal select,.task-manager-modal input,.task-manager-modal textarea,.task-manager-modal select{border-color:#cbd5e1!important;border-radius:8px!important;background:#fff!important;font-size:12px!important}.project-create-modal .modal-actions button:not(.secondary):not(.danger),.project-members-modal .modal-actions button:not(.secondary):not(.danger),.task-create-modal .modal-actions button:not(.secondary):not(.danger),.task-manager-modal .modal-actions button:not(.secondary):not(.danger){border-color:#6d28d9!important;background:#6d28d9!important;color:#fff!important}.project-create-modal .manage-read-view div,.project-members-modal .manage-read-view div,.task-manager-modal .manage-read-view div{border-color:#e2e8f0;background:#fff}

/* responsiveLayoutFixCss */
/* Keep wide dashboard children from expanding the whole page. */
    .grid,.grid>*{min-width:0}.card.wide{min-width:0;max-width:100%}
    .weekly-daily-card .calendar,#expenseSearchCard,#dailyExpensePanel,#overdueTasks{min-width:0;max-width:100%}
    #overdueTasks li,#overdueTasks li>*{min-width:0}

    /* Monthly reports can be longer than the viewport. */
    .app-modal article.modal-base:has(.monthly-analysis),.app-modal article.modal-base:has(.weekly-report-analysis){overflow-y:auto!important;overflow-x:hidden!important}
    .modal-base:has(.monthly-analysis)>.section-title,.modal-base:has(.weekly-report-analysis)>.section-title{position:sticky;top:0;z-index:3}
    .monthly-analysis{padding:18px 20px 22px}
    .monthly-toolbar{display:grid;grid-template-columns:auto minmax(120px,1fr) auto auto;gap:7px;align-items:center}
    .monthly-toolbar strong{text-align:center;color:#1e293b;font-size:13px}
    .monthly-toolbar button{min-width:0;padding:8px 10px;font-size:11px}
    .weekly-report-analysis{display:grid;gap:12px;padding:18px 20px 22px}
    .weekly-report-toolbar{display:grid;grid-template-columns:auto minmax(170px,1fr) auto auto;gap:7px;align-items:center}
    .weekly-report-toolbar strong{text-align:center;color:#1e293b;font-size:13px}.weekly-report-toolbar button{min-width:0;padding:8px 10px;font-size:11px}
    .weekly-report-body{margin:0;padding:17px;border:1px solid #dbeafe;border-radius:12px;background:linear-gradient(145deg,#eff6ff,#f0fdfa);white-space:pre-wrap;font:inherit;line-height:1.75;color:#334155}
    .report-group-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:12px}.report-group-panel{min-width:0;padding:13px;border:1px solid #dbe4ed;border-radius:12px;background:#fff}.report-group-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.report-group-panel>header strong{color:#1e293b;font-size:13px}.report-group-panel>header span{padding:4px 7px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:9px;font-weight:850}.report-fold{overflow:hidden;margin-top:7px;border:1px solid #e2e8f0;border-radius:10px;background:#fbfdff}.report-fold:first-of-type{margin-top:0}.report-fold>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 11px;cursor:pointer;list-style:none}.report-fold>summary::-webkit-details-marker{display:none}.report-fold>summary::after{content:'⌄';color:#94a3b8;font-size:14px;transition:transform .18s}.report-fold[open]>summary::after{transform:rotate(180deg)}.report-fold>summary strong{overflow:hidden;color:#334155;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.report-fold>summary span{color:#64748b;font-size:9px;white-space:nowrap}.report-fold>summary b{color:#1d4ed8;font-size:11px;white-space:nowrap}.report-fold-body{display:grid;border-top:1px solid #e2e8f0;background:#fff}.report-detail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:9px 11px;border:0;border-bottom:1px solid #f1f5f9;border-radius:0;background:#fff;color:#334155;text-align:left}.report-detail-row:last-child{border-bottom:0}.report-detail-row:hover{background:#f8fafc}.report-detail-row strong,.report-detail-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-detail-row strong{font-size:10px}.report-detail-row small{margin-top:2px;color:#94a3b8;font-size:9px}.report-detail-row>span{color:#64748b;font-size:9px;white-space:nowrap}.report-detail-row>span.done{color:#15803d}.report-detail-row>span.overdue{color:#dc2626}.report-expense-fold>summary b{color:#047857}.report-group-empty{margin:0;padding:14px;border:1px dashed #cbd5e1;border-radius:9px;color:#94a3b8;text-align:center;font-size:10px}
    .modal-base>.task-date-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px}
    .task-date-row .field{min-width:0;margin-top:14px}.task-date-row .field input{width:100%;min-width:0}

    /* Login is the primary action; the brand panel supports it without competing. */
    body:has(#loginView:not(.hidden)),body:has(#registerView:not(.hidden)){background:radial-gradient(circle at 20% 0,#e0f2fe 0,transparent 34%),linear-gradient(145deg,#f8fafc,#eef2ff)}
    body:has(#loginView:not(.hidden)) main,body:has(#registerView:not(.hidden)) main{min-height:100vh;max-width:none;padding:16px 20px 30px}
    body:has(#loginView:not(.hidden)) .top,body:has(#registerView:not(.hidden)) .top{width:min(880px,calc(100% - 32px));margin:6px auto 14px!important;padding:0!important}
    body:has(#loginView:not(.hidden)) .auth-shell,body:has(#registerView:not(.hidden)) .auth-shell{width:min(880px,calc(100% - 32px));min-height:500px;margin:0 auto!important;grid-template-columns:1fr 1fr;border:1px solid #ffffffb8;border-radius:22px;box-shadow:0 26px 70px #17255420}
    body:has(#loginView:not(.hidden)) .auth-intro,body:has(#registerView:not(.hidden)) .auth-intro{display:flex;flex-direction:column;justify-content:center;padding:44px;background:linear-gradient(145deg,#172554,#1d4ed8 70%,#2563eb)}
    body:has(#loginView:not(.hidden)) .auth-intro h2,body:has(#registerView:not(.hidden)) .auth-intro h2{margin:14px 0 12px;font-size:30px}
    body:has(#loginView:not(.hidden)) .auth-features{margin-top:24px;gap:10px}
    body:has(#loginView:not(.hidden)) .auth,body:has(#registerView:not(.hidden)) .auth{padding:42px}
    body:has(#loginView:not(.hidden)) .auth .field input,body:has(#registerView:not(.hidden)) .auth .field input{height:46px;border-radius:10px;background:#fff}
    body:has(#loginView:not(.hidden)) .login-action,body:has(#registerView:not(.hidden)) .login-action{height:46px;border-radius:10px;box-shadow:0 8px 20px #2563eb25}

    @media(max-width:760px){
      body{padding-bottom:64px;overflow-x:hidden}
      main{width:100%;max-width:100%;padding:14px 10px}
      .grid{width:100%;grid-template-columns:minmax(0,1fr)!important}
      .card{min-width:0;padding:14px}

      /* The weekly report stays compact; the schedule calendar keeps readable day widths. */
      .weekly-daily-card .calendar{width:100%;max-width:100%;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px;overflow-x:hidden}
      .weekly-daily-card .day{min-width:0;padding:5px;height:190px}
      #scheduleWorkspace .schedule-layout{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
      #scheduleWorkspace .schedule-grid{width:100%;min-width:840px;max-width:none;grid-template-columns:repeat(7,minmax(112px,1fr))!important;gap:6px;overflow:visible}
      #scheduleWorkspace .schedule-grid.month{min-width:770px;grid-template-columns:repeat(7,minmax(104px,1fr))!important}
      #scheduleWorkspace .schedule-day{min-width:0;padding:7px;height:190px}
      #scheduleWorkspace .schedule-grid.month .schedule-day{height:112px}
      .weekly-daily-card .day h3,.schedule-day-head strong{font-size:10px}
      .weekly-daily-card .task-chip,.schedule-grid .event-chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 4px;font-size:10px}
      .weekly-daily-card .day-total{font-size:9px}
      .schedule-grid .event-count{min-width:17px;height:17px;padding:0 4px;font-size:9px}

      /* Schedule controls use a compact, predictable toolbar. */
      #scheduleWorkspace>.section-title{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px;align-items:center}
      #scheduleWorkspace>.section-title h2{grid-column:1;margin:0;font-size:20px}
      #scheduleWorkspace>.section-title>.spacer{display:none}
      #scheduleWorkspace .schedule-period{grid-column:2/4;text-align:center;font-size:11px}
      #scheduleWorkspace #schedulePrev{grid-column:1;grid-row:2}
      #scheduleWorkspace #scheduleNext{grid-column:2;grid-row:2}
      #scheduleWorkspace #scheduleToday{grid-column:3/5;grid-row:2}
      #scheduleWorkspace #scheduleMonth{grid-column:1;grid-row:3}
      #scheduleWorkspace #scheduleWeek{grid-column:2;grid-row:3}
      #scheduleWorkspace #scheduleFilterToggle{grid-column:3/5;grid-row:3}
      #scheduleWorkspace #scheduleAdd{grid-column:1/5;grid-row:4}
      #scheduleWorkspace .workspace-close{grid-column:4;grid-row:1;align-self:center}
      #scheduleWorkspace>.section-title button{width:100%;min-width:0;padding:7px 8px;font-size:11px}

      /* A single low toolbar replaces the content-covering vertical stack. */
      .floating-actions{left:8px;right:8px;bottom:8px;width:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px;border:1px solid #dbe4ed;border-radius:14px;background:#ffffffed;box-shadow:0 10px 28px #0f172a26;backdrop-filter:blur(10px)}
      .floating-actions button{min-width:0;padding:9px 3px;border-radius:9px;box-shadow:none;font-size:10px;white-space:nowrap}

      .monthly-analysis{padding:12px}
      .weekly-report-analysis{padding:12px}.weekly-report-toolbar{grid-template-columns:1fr 1fr 1fr}.weekly-report-toolbar strong{grid-column:1/-1;grid-row:1}.weekly-report-toolbar button{grid-row:2}.report-group-layout{grid-template-columns:1fr}.report-fold>summary{grid-template-columns:minmax(0,1fr) auto auto}.report-detail-row{align-items:start}
      .modal-base>.task-date-row{grid-template-columns:1fr}
      .monthly-toolbar{grid-template-columns:1fr 1fr 1fr}
      .monthly-toolbar strong{grid-column:1/-1;grid-row:1}
      .monthly-toolbar button{grid-row:2}
      .monthly-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
      .monthly-summary div:last-child{grid-column:1/-1}

      body:has(#loginView:not(.hidden)),body:has(#registerView:not(.hidden)){padding-bottom:0}
      body:has(#loginView:not(.hidden)) main,body:has(#registerView:not(.hidden)) main{min-height:100vh;padding:10px 12px 18px}
      body:has(#loginView:not(.hidden)) .top,body:has(#registerView:not(.hidden)) .top{width:100%;min-height:48px;margin:0 auto 8px!important;padding:0 2px!important}
      body:has(#loginView:not(.hidden)) .brand-orb,body:has(#registerView:not(.hidden)) .brand-orb{flex-basis:38px;width:38px;height:38px;border-radius:12px}
      body:has(#loginView:not(.hidden)) .brand-copy h1,body:has(#registerView:not(.hidden)) .brand-copy h1{font-size:18px}
      body:has(#loginView:not(.hidden)) .auth-shell,body:has(#registerView:not(.hidden)) .auth-shell{display:block;width:100%;min-height:0;margin:0!important;border-radius:19px}
      body:has(#loginView:not(.hidden)) .auth-intro,body:has(#registerView:not(.hidden)) .auth-intro{display:block;min-height:0;padding:22px 22px 20px}
      body:has(#loginView:not(.hidden)) .auth-intro .eyebrow,body:has(#registerView:not(.hidden)) .auth-intro .eyebrow{display:none}
      body:has(#loginView:not(.hidden)) .auth-intro h2,body:has(#registerView:not(.hidden)) .auth-intro h2{margin:0 0 8px;font-size:23px;line-height:1.28}
      body:has(#loginView:not(.hidden)) .auth-intro p,body:has(#registerView:not(.hidden)) .auth-intro p{margin:0;font-size:12px;line-height:1.55}
      body:has(#loginView:not(.hidden)) .auth-features,body:has(#registerView:not(.hidden)) .auth-features{display:none}
      body:has(#loginView:not(.hidden)) .auth,body:has(#registerView:not(.hidden)) .auth{padding:22px}
      body:has(#loginView:not(.hidden)) .auth h2,body:has(#registerView:not(.hidden)) .auth h2{font-size:22px}
      body:has(#loginView:not(.hidden)) .auth>p.muted,body:has(#registerView:not(.hidden)) .auth>p.muted{margin:4px 0 0;font-size:12px}
      body:has(#loginView:not(.hidden)) .auth .field,body:has(#registerView:not(.hidden)) .auth .field{margin-top:13px;font-size:12px}
      body:has(#loginView:not(.hidden)) .auth .field input,body:has(#registerView:not(.hidden)) .auth .field input{height:42px;margin-top:5px;padding:10px 11px}
      body:has(#loginView:not(.hidden)) .remember-email{margin-top:10px}
      body:has(#loginView:not(.hidden)) .login-action,body:has(#registerView:not(.hidden)) .login-action{height:43px;margin-top:16px;padding:10px}
      body:has(#loginView:not(.hidden)) .auth-link,body:has(#registerView:not(.hidden)) .auth-link{margin-top:12px;font-size:12px}
    }

/* layoutAuditFixCss */
/* Keep quick actions available without covering dashboard content. */
    .floating-actions{right:18px!important;bottom:18px!important;left:auto!important;width:auto!important;display:block!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible}
    .floating-actions .quick-menu-toggle{position:relative;z-index:2;min-width:82px;border:1px solid #0f766e;border-radius:999px!important;background:#0f766e!important;color:#fff;box-shadow:0 12px 28px #0f172a2e!important}
    .floating-actions .quick-menu-items{position:absolute;right:0;bottom:calc(100% + 9px);display:grid;gap:7px;min-width:126px;padding:8px;border:1px solid #dbe4ed;border-radius:14px;background:#ffffffef;box-shadow:0 16px 38px #0f172a28;backdrop-filter:blur(10px);opacity:0;visibility:hidden;transform:translateY(8px);transition:.16s}
    .floating-actions.expanded .quick-menu-items{opacity:1;visibility:visible;transform:none}
    .floating-actions .quick-menu-items button{width:100%;padding:9px 12px!important;border-radius:9px!important;box-shadow:none!important;font-size:11px;white-space:nowrap}
    .floating-actions .mobile-primary-shortcuts{display:none;margin:0 0 8px;gap:7px}
    .floating-actions .mobile-primary-shortcuts button{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:7px;width:100%;min-width:92px;padding:9px 12px!important;border:1px solid #dbe4ed;border-radius:999px!important;background:#ffffffef!important;color:#334155!important;box-shadow:0 8px 22px #0f172a1f!important;font-size:11px;text-align:left;white-space:nowrap;backdrop-filter:blur(10px)}
    .floating-actions .mobile-primary-shortcuts button span{display:grid;place-items:center;width:18px;height:18px;border-radius:6px;font-size:8px}
    .floating-actions #mobileAttendance span{background:#ccfbf1;color:#0f766e}.floating-actions #mobileProject span{background:#ede9fe;color:#6d28d9}.floating-actions #mobileSchedule span{background:#dbeafe;color:#1d4ed8}
    body:has(#appModal:not(.hidden)) .floating-actions{display:none!important}

    /* Let each day grow with its 업무 list; nested scrolling is awkward on mobile. */
    .weekly-daily-card .calendar{align-items:start}
    .weekly-daily-card .day{height:auto!important;min-height:190px!important;overflow:visible!important}
    .weekly-daily-card .day-total{position:static;margin-top:auto;padding-top:8px;padding-bottom:4px;background:inherit}
    @media(max-width:1100px){.weekly-daily-card .calendar{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.weekly-daily-card .day{height:auto!important;min-height:180px!important;padding:9px!important}.weekly-daily-card .task-chip{padding:7px 8px!important;font-size:11px!important}}
    @media(max-width:680px){.weekly-daily-card .calendar{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}.weekly-daily-card .day{height:auto!important;min-height:165px!important;padding:7px!important}.weekly-daily-card .day h3{font-size:11px!important}.weekly-daily-card .task-chip{padding:6px!important;font-size:10px!important;white-space:normal!important;line-height:1.35!important}.weekly-daily-card .day-total{font-size:10px!important}}
    @media(max-width:430px){.weekly-daily-card .calendar{grid-template-columns:repeat(2,minmax(0,1fr))!important}.weekly-daily-card .day{height:auto!important;min-height:155px!important}}

    /* Use the available project width and keep filters visually grouped. */
    #projectWorkspace .project-search{display:block;width:calc(100% - 36px)!important;max-width:none;margin:14px 18px 0}
    #projectWorkspace #projectTabs{margin-top:10px;padding-left:18px;padding-right:18px}
    #projectWorkspace .project-tab-card{height:126px;min-height:126px}
    .project-issues-panel{overflow:hidden}
    .project-issue-filter{grid-template-columns:minmax(260px,1fr) minmax(128px,160px) minmax(128px,160px);padding:10px;border:1px solid #e9e5ff;border-radius:11px;background:#fff}
    .project-timeline{margin:14px 18px 16px;padding:15px;border:1px solid #dbe4ed;border-radius:14px;background:linear-gradient(145deg,#fff,#f8fafc)}
    .project-timeline-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.project-timeline-head>div:first-child{min-width:0;flex:1}.project-timeline-head h3{margin:0;color:#172554;font-size:16px}.project-timeline-head p{margin:4px 0 0;font-size:11px}.project-gantt-modes{display:flex;gap:5px}.project-gantt-modes button{padding:7px 10px;border:1px solid #cbd5e1;background:#fff!important;color:#475569!important;font-size:11px}.project-gantt-modes button.active{border-color:#0f766e;background:#0f766e!important;color:#fff!important}
    .project-gantt{border:1px solid #e2e8f0;border-radius:11px;background:#fff;overflow:hidden}.gantt-scroll{max-width:100%;overflow:auto;scrollbar-width:thin}.gantt-sheet{width:max-content;min-width:100%}.gantt-axis-row,.gantt-row{display:grid;grid-template-columns:var(--timeline-width);width:max-content;min-width:100%}.gantt-axis-row{position:sticky;top:0;z-index:5;min-height:32px;border-bottom:1px solid #cbd5e1;background:#f8fafc}.gantt-row{min-height:42px;padding:0!important;border:0!important;border-bottom:1px solid #eef2f7!important;border-radius:0!important;background:#fff!important;color:#1e293b!important;text-align:left!important;box-shadow:none!important}.gantt-row.task{cursor:pointer}.gantt-row.task:hover{background:#f8fafc!important}.gantt-axis{position:relative;width:var(--timeline-width);min-height:32px}.gantt-axis span{position:absolute;top:8px;padding-left:4px;border-left:1px solid #cbd5e1;color:#64748b;font-size:9px;white-space:nowrap}.gantt-track{position:relative;width:var(--timeline-width);min-height:42px;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--grid-width) - 1px),#e9eef5 calc(var(--grid-width) - 1px),#e9eef5 var(--grid-width))}.gantt-bar{position:absolute;top:8px;height:26px;min-width:6px;overflow:hidden;border:1px solid var(--bar-color);border-radius:7px;background:#e2e8f0;box-shadow:0 2px 6px #0f172a18}.gantt-row.overdue .gantt-bar{border-color:#dc2626;box-shadow:0 0 0 2px #fecaca}.gantt-bar i{position:absolute;inset:0 auto 0 0;background:var(--bar-color);opacity:.92}.gantt-bar b{position:relative;z-index:1;display:inline-block;max-width:calc(100% - 42px);overflow:hidden;margin:3px 0 0 4px;padding:1px 5px;border-radius:4px;background:#ffffffd9;color:#0f172a;font-size:9px;font-weight:850;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.gantt-bar.compact b{max-width:calc(100% - 4px);padding-inline:3px}.gantt-progress{position:absolute;top:4px;right:4px;z-index:2;padding:1px 4px;border-radius:999px;background:#0f172acc;color:#fff;font-size:8px;font-style:normal;font-weight:850;line-height:15px}.gantt-bar.compact .gantt-progress{display:none}.gantt-bar-label.outside{position:absolute;top:11px;z-index:3;display:flex;align-items:center;gap:5px;overflow:hidden;color:#334155;font-size:10px;font-weight:800;line-height:20px;white-space:nowrap}.gantt-bar-label.outside span{overflow:hidden;text-overflow:ellipsis}.gantt-bar-label.outside em{flex:none;padding:1px 5px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:8px;font-style:normal;line-height:15px}.gantt-bar-label.outside.subtask{padding-left:8px;color:#64748b;font-size:9px}.gantt-row.project{background:#ecfdf5!important}.gantt-row.project .gantt-bar{height:28px;top:7px}.gantt-row.subtask{min-height:36px;background:#fbfdff!important}.gantt-row.subtask .gantt-track{min-height:36px}.gantt-row.subtask .gantt-bar{top:7px;height:22px}.gantt-row.subtask .gantt-bar b{margin-top:2px;font-size:8px;line-height:14px}.gantt-row.subtask .gantt-progress{top:3px;line-height:13px}.gantt-today{position:absolute;top:0;bottom:0;z-index:2;width:2px;background:#ef4444;opacity:.7}.gantt-empty{min-width:680px;margin:0;padding:22px;color:#64748b;text-align:center}.project-card-progress{position:relative;display:block;height:14px;margin-top:8px;overflow:hidden;border-radius:999px;background:#e2e8f0}.project-card-progress i{display:block;height:100%;border-radius:inherit}.project-card-progress b{position:absolute;inset:0;display:grid;place-items:center;color:#0f172a;font-size:8px;line-height:14px;text-shadow:0 1px #fff}
    .task-create-schedule,.task-edit-schedule{display:grid!important;grid-template-columns:minmax(170px,1.25fr) minmax(155px,1fr) minmax(155px,1fr) 92px;gap:9px;align-items:end}.task-edit-schedule{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 105px}.task-progress-field{position:relative}.task-progress-field input{width:100%;padding-right:28px}.task-progress-field>span{position:absolute;right:10px;bottom:12px;color:#64748b;font-size:11px;font-weight:800}
    .task-create-modal{width:min(680px,100%)!important;max-height:min(88vh,780px);overflow:auto!important}.task-create-modal .task-create-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 20px 20px}.task-create-modal .task-create-intro{grid-column:1/-1;margin:0;padding:10px 12px;font-size:11px}.task-create-modal .task-create-form>.field{margin:0!important;padding:11px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#475569;font-size:10px;font-weight:850}.task-create-modal .task-create-parent,.task-create-modal .task-create-title,.task-create-modal .task-create-detail{grid-column:1/-1}.task-create-modal .task-create-parent{display:grid!important;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:6px 10px;border-left:4px solid #7c3aed!important;background:#faf8ff!important}.task-create-modal .task-create-parent select{height:38px;margin:0!important;border-color:#c4b5fd!important;background:#fff!important}.task-create-modal .task-create-parent small{grid-column:2;color:#7c3aed;font-size:9px;font-weight:650}.task-create-modal .task-create-title input{height:38px;margin-top:5px!important}.task-create-modal .task-create-detail textarea{min-height:76px;margin-top:5px!important}.task-create-modal .task-create-schedule{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 105px!important;gap:9px!important;margin:0!important}.task-create-modal .task-create-schedule .field{margin:0!important;padding:10px 11px!important;border:1px solid #dbe4ed!important;border-left-width:1px!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important;color:#64748b;font-size:10px;font-weight:850}.task-create-modal .task-create-schedule .field::before{display:none!important}.task-create-modal .task-create-schedule .field:has(#newProjectTaskAssignee){grid-column:1/3}.task-create-modal .task-create-schedule .task-progress-field{grid-column:3}.task-create-modal .task-create-schedule .field:has(#newProjectTaskStart){grid-column:1}.task-create-modal .task-create-schedule .field:has(#newProjectTaskDue){grid-column:2/4}.task-create-modal .task-create-schedule select,.task-create-modal .task-create-schedule input{height:38px;margin-top:5px!important;padding:0 9px!important;font-size:11px!important}.task-create-modal #newProjectTaskInherited{grid-column:1/-1;margin:0}.task-create-modal .task-personal-option{grid-column:1/-1;margin:0;padding:10px 12px;font-size:11px}.task-create-modal .modal-actions{position:sticky;bottom:-20px;z-index:3;grid-column:1/-1;margin:2px -20px -20px!important;padding:13px 20px!important}.task-create-modal .modal-actions button{min-width:88px}@media(max-width:620px){.task-create-modal .task-create-form{grid-template-columns:1fr;padding:14px}.task-create-modal .task-create-parent{grid-template-columns:1fr}.task-create-modal .task-create-parent small{grid-column:1}.task-create-modal .task-create-schedule{grid-template-columns:1fr!important}.task-create-modal .task-create-schedule .field,.task-create-modal .task-create-schedule .field:has(#newProjectTaskAssignee),.task-create-modal .task-create-schedule .task-progress-field,.task-create-modal .task-create-schedule .field:has(#newProjectTaskStart),.task-create-modal .task-create-schedule .field:has(#newProjectTaskDue){grid-column:1}.task-create-modal .modal-actions{margin:2px -14px -14px!important}}

    /* Project Task card/list view switch. */
    .project-task-view-toggle{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #ffffff38;border-radius:9px;background:#ffffff12}.project-task-view-toggle button{display:grid!important;place-items:center;width:32px;height:30px;min-width:32px!important;padding:0!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#e9d5ff!important;font-size:18px!important;line-height:1!important}.project-task-view-toggle button:hover{background:#ffffff18!important;color:#fff!important}.project-task-view-toggle button.active{background:#fff!important;color:#6d28d9!important;box-shadow:0 3px 9px #312e8130}
    .project-board.project-task-list-view{display:block;overflow:hidden;border:1px solid #dbe4ed;border-radius:12px;background:#fff}.project-task-list-head,.project-task-list-row{display:grid;grid-template-columns:minmax(220px,2fr) 112px minmax(120px,.9fr) 145px minmax(180px,1.2fr);align-items:center;gap:10px}.project-task-list-head{min-height:38px;padding:0 13px;border-bottom:1px solid #dbe4ed;background:#f8fafc;color:#64748b;font-size:9px;font-weight:900;letter-spacing:.05em}.project-task-list-row{position:relative;width:100%;min-height:54px;margin:0;padding:8px 13px;border:0;border-bottom:1px solid #edf2f7;border-left:4px solid var(--task-status-color);border-radius:0;background:#fff;color:#334155;text-align:left;cursor:pointer}.project-task-list-row:last-child{border-bottom:0}.project-task-list-row:hover{background:#f8fafc}.project-task-list-row.root[draggable="true"]{cursor:grab}.project-task-list-row.subtask{padding-left:28px;border-left-color:#cbd5e1;background:#fbfdff}.project-task-list-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.project-task-list-title{display:flex;align-items:center;gap:6px}.project-task-list-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1e293b;font-size:12px}.project-task-list-title .subtask-branch{flex:0 0 auto;color:#94a3b8;font-style:normal;font-size:15px}.project-task-status-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--task-status-color)}.project-task-list-progress{display:flex;align-items:center;gap:7px}.project-task-list-progress>i{display:block;flex:1;height:7px;overflow:hidden;border-radius:999px;background:#e2e8f0}.project-task-list-progress>i>b{display:block;height:100%;border-radius:inherit}.project-task-list-progress>em{min-width:27px;color:#475569;font-size:9px;font-style:normal;font-weight:850;text-align:right}.project-task-list-row>.project-task-time{display:block;margin:0;padding-right:46px;font-size:9px}.project-task-list-row>.project-task-time.overdue{color:#b91c1c;font-weight:850}.project-task-list-row>.project-issue-badge{top:50%;right:10px;transform:translateY(-50%)}.project-task-list-empty{margin:0;padding:25px;color:#64748b;text-align:center}
    @media(max-width:760px){.project-task-view-toggle{order:2}.project-task-list-head{display:none}.project-task-list-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:10px 12px}.project-task-list-row.subtask{padding-left:25px}.project-task-list-title{grid-column:1/-1}.project-task-list-row>span:nth-child(3){display:none}.project-task-list-progress{grid-column:1}.project-task-list-row>.project-task-time{grid-column:1/-1;padding-right:0}.project-task-list-row>.project-issue-badge{top:10px;right:9px;transform:none}}

    /* Schedule controls read as navigation, view and action groups. */
    #scheduleWorkspace>.section-title{gap:7px}
    #scheduleWorkspace #schedulePrev{margin-left:auto}
    #scheduleWorkspace #scheduleMonth{margin-left:8px}
    #scheduleWorkspace #scheduleAdd{margin-left:8px}
    #scheduleWorkspace #schedulePrev,#scheduleWorkspace #scheduleNext,#scheduleWorkspace #scheduleToday{background:#ffffff14!important}
    #scheduleWorkspace #scheduleMonth,#scheduleWorkspace #scheduleWeek{border-color:#ffffff30!important}

    /* Do not stretch a short team list to the registration form height. */
    .admin-content{align-items:start}
    .admin-create-card,.admin-teams-card{align-self:start;min-height:0}

    /* Empty expense results should look intentional. */
    #dailyExpenses:has(>li.muted){margin-top:12px;padding:0}
    #dailyExpenses>li.muted{display:grid;place-items:center;min-height:82px;padding:18px;border:1px dashed #cbd5e1;border-radius:11px;background:#f8fafc;color:#64748b;text-align:center}

    /* Company and work-location administration. */
    .admin-company-card{grid-column:1/-1;padding:18px;border:1px solid #bae6fd;border-radius:14px;background:linear-gradient(145deg,#fff,#f0f9ff)}
    .company-name-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;margin-bottom:16px}.company-name-row .field{margin:0}.company-name-row button{height:42px}
    .work-location-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.work-location-form,.work-location-list{min-width:0;box-sizing:border-box;padding:16px;border:1px solid #dbe4ed;border-radius:12px;background:#fff}.work-location-form h4,.work-location-list h4{margin:0 0 12px;color:#0f172a}
    .work-location-form .field{margin:9px 0}.work-address-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.work-address-row .field{margin:0}.work-address-row button{height:42px;white-space:nowrap}.work-address-row input[readonly]{background:#f8fafc;color:#334155}.work-location-map{width:100%;height:250px;margin:11px 0;border:1px solid #bae6fd;border-radius:11px;overflow:hidden;background:#e0f2fe}.coordinate-grid{display:grid;grid-template-columns:1fr 1fr 120px;gap:8px}.coordinate-grid input{min-width:0}.work-location-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.work-location-actions #workLocationCurrent{margin-right:auto}
    .work-location-list{display:grid;align-content:start;gap:8px;max-height:none;overflow:visible}.work-location-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center;padding:11px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.work-location-row strong,.work-location-row span,.work-location-row small{display:block}.work-location-row span{margin-top:3px;color:#475569}.work-location-row small{margin-top:4px;color:#94a3b8}.work-location-row button{padding:6px 8px;font-size:11px}.admin-empty{padding:24px;text-align:center;color:#64748b}
    .work-address-search-layer{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:18px;background:#0f172a73;backdrop-filter:blur(3px)}.work-address-search-panel{width:min(520px,100%);overflow:hidden;border:1px solid #cbd5e1;border-radius:15px;background:#fff;box-shadow:0 24px 70px #0f172a45}.work-address-search-panel>header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#ecfeff)}.work-address-search-panel>header>div{min-width:0;flex:1}.work-address-search-panel>header strong,.work-address-search-panel>header small{display:block}.work-address-search-panel>header strong{color:#0f172a;font-size:14px}.work-address-search-panel>header small{margin-top:3px;color:#64748b;font-size:10px}.work-address-search-panel>header button{padding:7px 10px;font-size:11px}.work-address-search-frame{width:100%;height:440px;background:#fff}@media(max-width:560px){.work-address-search-layer{padding:8px}.work-address-search-panel{border-radius:11px}.work-address-search-frame{height:calc(100vh - 115px)!important;min-height:390px}}

    /* Employee attendance workspace. */
    #attendanceWorkspace{padding:0!important;overflow:hidden;background:#f8fafc}.attendance-hero{display:flex;align-items:center;gap:18px;padding:22px 25px;background:linear-gradient(125deg,#0f172a,#0f766e);color:#fff}.attendance-hero>div{flex:1}.attendance-hero p{margin:0 0 5px;color:#99f6e4;font-size:10px;font-weight:900;letter-spacing:.12em}.attendance-hero h2{margin:0 0 5px;color:#fff}.attendance-hero span{color:#ccfbf1;font-size:12px}.attendance-hero .workspace-close{background:#ffffff18;color:#fff;border-color:#ffffff30}
    .attendance-content{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(380px,1.1fr);gap:16px;padding:20px}.attendance-check-card,.attendance-history-card{padding:18px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.attendance-step{display:flex;align-items:center;gap:10px;margin-bottom:13px}.attendance-step.photo{margin-top:20px;padding-top:18px;border-top:1px solid #e2e8f0}.attendance-step>b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#ccfbf1;color:#0f766e}.attendance-step strong,.attendance-step span{display:block}.attendance-step span{margin-top:3px;color:#64748b;font-size:11px}.attendance-location-label{display:block;margin-bottom:10px;color:#475569;font-size:11px;font-weight:850}.attendance-location-label select{width:100%;margin-top:6px}
    .attendance-status{padding:14px;border:1px solid #dbe4ed;border-radius:11px;background:#f8fafc}.attendance-status strong,.attendance-status span{display:block}.attendance-status span{margin-top:5px;color:#64748b;font-size:11px}.attendance-status.good{border-color:#86efac;background:#f0fdf4;color:#166534}.attendance-status.bad{border-color:#fecaca;background:#fff1f2;color:#991b1b}.attendance-status.waiting{border-color:#bfdbfe;background:#eff6ff;color:#1e40af}.attendance-locate{width:100%;margin-top:10px;background:#0f766e}
    .attendance-photo-picker{display:grid;place-items:center;min-height:76px;padding:13px;border:1px dashed #94a3b8;border-radius:11px;background:#f8fafc;color:#475569;font-weight:800;cursor:pointer}.attendance-photo-picker input{position:absolute;opacity:0;pointer-events:none}.attendance-photo-picker.disabled{opacity:.5;cursor:not-allowed}.attendance-preview{display:block;width:100%;max-height:220px;margin-top:10px;object-fit:cover;border-radius:11px}.attendance-submit{width:100%;margin-top:12px;padding:13px;background:#0f766e}.attendance-submit:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed}.attendance-hint{margin:9px 0 0;text-align:center;color:#64748b;font-size:11px}
    .attendance-history{display:grid;gap:8px;margin:0;padding:0}.attendance-history li{display:grid;grid-template-columns:125px minmax(0,1fr) auto;gap:8px;align-items:center;padding:11px;border:1px solid #e2e8f0;border-radius:10px}.attendance-history li strong,.attendance-history li span,.attendance-history li small{min-width:0}.attendance-history li small{grid-column:2;color:#64748b}.attendance-history li b{grid-column:3;grid-row:1/3;padding:4px 7px;border-radius:999px;background:#dcfce7;color:#166534;font-size:10px}.attendance-history .attendance-empty{display:block;text-align:center;color:#64748b}.attendance-date-dot{display:inline-block;width:7px;height:7px;margin-left:5px;border-radius:50%;vertical-align:1px}.attendance-date-dot.present,.attendance-legend i.present{background:#2563eb}.attendance-date-dot.absent,.attendance-legend i.absent{background:#ef4444}.attendance-date-dot.vacation,.attendance-legend i.vacation{background:#8b5cf6}.event-chip.leave{background:#f3e8ff;color:#6b21a8;border-left:4px solid #8b5cf6}.attendance-calendar-card,.leave-request-card,.admin-attendance-card{padding:18px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.attendance-calendar-card,.leave-request-card,.admin-attendance-card{grid-column:1/-1}.attendance-month-nav,.attendance-legend{display:flex;align-items:center;gap:7px}.attendance-legend{margin:8px 0 10px;color:#64748b;font-size:10px}.attendance-legend span{display:flex;align-items:center;gap:5px}.attendance-legend i{width:8px;height:8px;border-radius:50%}.attendance-month-weekdays,.attendance-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.attendance-month-weekdays span{padding:5px;text-align:center;color:#64748b;font-size:9px}.attendance-month-day{display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px;border:1px solid #eef2f7;border-radius:7px;font-size:10px}.attendance-month-day.outside{opacity:.35}.leave-request-head{align-items:center}.leave-request-head>div{min-width:0}.leave-request-head>div span{display:block;margin-top:4px;color:#64748b;font-size:10px}.leave-request-head>button{flex:0 0 auto;padding:8px 12px;border-color:#7c3aed;background:#7c3aed;color:#fff;font-size:11px}.leave-request-list,.leave-approval-list{display:grid;gap:7px;margin:14px 0 0;padding:0}.leave-request-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:11px 12px;border:1px solid #e2e8f0;border-left:3px solid #f59e0b;border-radius:9px;background:#fff}.leave-request-row>div{display:grid;gap:3px}.leave-request-row>div strong{color:#1e293b;font-size:12px}.leave-request-row span,.leave-request-row small,.leave-approval-list span,.leave-approval-list small{color:#64748b;font-size:10px}.leave-request-row>b{padding:4px 7px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:9px}.leave-request-row.approved{border-left-color:#8b5cf6}.leave-request-row.approved>b{background:#ede9fe;color:#6d28d9}.leave-request-row.rejected{border-left-color:#ef4444}.leave-request-row.rejected>b{background:#fee2e2;color:#991b1b}.leave-request-row .danger{padding:6px 8px;font-size:10px}.admin-attendance-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px}.leave-approval-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:10px;border:1px solid #e2e8f0;border-radius:9px}.leave-approval-list article>div{display:grid;gap:3px}
    .leave-request-modal{width:min(640px,100%)!important;padding:0!important;overflow:hidden!important;background:#f8fafc!important}.leave-request-modal>.section-title{margin:0;padding:20px 23px;color:#fff;background:linear-gradient(135deg,#4c1d95,#7c3aed)}.leave-request-modal>.section-title h2{color:#fff}.leave-request-modal>.section-title .secondary{border-color:#ffffff38;background:#ffffff1c;color:#fff}.leave-request-modal>.event-form-lead,.leave-request-modal>.leave-form-grid,.leave-request-modal>.row,.leave-request-modal>.field,.leave-request-modal>.leave-form-note{margin-left:22px;margin-right:22px}.leave-request-modal>.event-form-lead{margin-top:18px;border-color:#ddd6fe;background:#f5f3ff;color:#6d28d9}.leave-request-modal>.event-form-lead b{background:#7c3aed}.leave-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px}.leave-request-modal .field{display:block;margin-top:0;padding:12px 13px;border:1px solid #dbe4ed;border-radius:11px;background:#fff;color:#475569;font-size:11px;font-weight:850}.leave-request-modal select,.leave-request-modal input,.leave-request-modal textarea{width:100%;margin:6px 0 0;border-color:#cbd5e1;background:#f8fafc;color:#1e293b;font-size:12px}.leave-status-preview{display:flex;flex-direction:column;justify-content:center;padding:12px 13px;border:1px solid #fde68a;border-left:4px solid #f59e0b;border-radius:11px;background:#fffbeb}.leave-status-preview span{color:#92400e;font-size:10px;font-weight:850}.leave-status-preview strong{margin-top:5px;color:#78350f;font-size:13px}.leave-request-modal>.leave-date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.leave-request-modal>.leave-reason-field{margin-top:12px}.leave-request-modal>.leave-reason-field textarea{min-height:92px;resize:vertical}.leave-form-note{margin-top:9px!important;margin-bottom:0;color:#64748b;font-size:10px}.leave-request-modal>.modal-actions{position:sticky;bottom:0;margin:18px 0 0;padding:14px 22px;border-top:1px solid #e2e8f0;background:#fff}.leave-request-modal>.modal-actions button{min-width:82px}.leave-request-modal #leaveRequestSave{border-color:#7c3aed;background:#7c3aed}@media(max-width:560px){.leave-form-grid,.leave-request-modal>.leave-date-row{grid-template-columns:1fr}.leave-request-head{align-items:flex-start}.leave-request-head>div span{max-width:210px}.leave-request-row{grid-template-columns:minmax(0,1fr) auto}.leave-request-row .danger{grid-column:2}.leave-request-modal>.event-form-lead,.leave-request-modal>.leave-form-grid,.leave-request-modal>.row,.leave-request-modal>.field,.leave-request-modal>.leave-form-note{margin-left:14px;margin-right:14px}.leave-request-modal>.modal-actions{padding-left:14px;padding-right:14px}.leave-request-modal>.modal-actions button{flex:1}}
    .admin-attendance-card{padding:0!important;overflow:hidden;background:#f8fafc}.admin-attendance-intro{display:flex;align-items:center;gap:12px;padding:17px 19px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f5f3ff)}.admin-attendance-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#7c3aed;color:#fff;font-size:16px;font-weight:900;box-shadow:0 7px 16px #7c3aed28}.admin-attendance-intro>div:nth-child(2){min-width:0;flex:1}.admin-attendance-intro h3,.admin-attendance-intro p{margin:0}.admin-attendance-intro h3{color:#1e293b;font-size:15px}.admin-attendance-intro p{margin-top:4px;color:#64748b;font-size:10px}.pending-leave-count{flex:0 0 auto;padding:6px 9px;border:1px solid #fde68a;border-radius:999px;background:#fffbeb;color:#92400e;font-size:10px;font-weight:800}.pending-leave-count b{color:#b45309;font-size:12px}.admin-attendance-section{margin:14px;padding:16px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.admin-subsection-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-subsection-head h4,.admin-subsection-head p{margin:0}.admin-subsection-head h4{color:#1e293b;font-size:13px}.admin-subsection-head p{margin-top:3px;color:#64748b;font-size:10px}.admin-attendance-section .attendance-month-nav button{width:30px;height:30px;padding:0;border-radius:8px}.admin-attendance-section .attendance-month-nav strong{min-width:82px;text-align:center;color:#334155;font-size:11px}.admin-attendance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.admin-attendance-user-field{display:flex;align-items:center;gap:8px;min-width:0;color:#475569;font-size:10px;font-weight:850}.admin-attendance-user-field select{width:min(310px,55vw);height:34px;margin:0;border-color:#cbd5e1;background:#fff;color:#334155;font-size:11px}.admin-attendance-toolbar .attendance-legend{flex:0 0 auto;margin:0}.admin-attendance-calendar{margin-top:10px}.leave-approval-section{border-top:3px solid #7c3aed}.pending-leave-badge{padding:5px 9px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:10px;font-weight:900}.leave-approval-list{margin-top:12px}.leave-approval-list article{grid-template-columns:minmax(0,1fr) auto;padding:11px 12px;border-left:3px solid #f59e0b;background:#fff}.leave-approval-main{display:flex!important;align-items:center;gap:10px;min-width:0}.leave-type-badge{flex:0 0 auto!important;padding:5px 8px;border-radius:8px;background:#f5f3ff!important;color:#6d28d9!important;font-size:10px!important;font-weight:900}.leave-approval-main>div{display:grid;min-width:0;gap:3px}.leave-approval-main strong{color:#1e293b;font-size:12px}.leave-approval-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leave-approval-actions{display:flex!important;align-items:center;gap:6px}.leave-approval-actions button{min-width:52px;padding:7px 9px;font-size:10px}.leave-approval-actions button[data-status="APPROVED"]{border-color:#7c3aed;background:#7c3aed}.leave-approval-actions button[data-status="REJECTED"]{border-color:#fecaca;background:#fff1f2;color:#be123c}.leave-approval-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px!important;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}.leave-approval-empty b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dcfce7;color:#15803d}.leave-approval-empty span{color:#64748b;font-size:11px}@media(max-width:650px){.admin-attendance-intro{align-items:flex-start;flex-wrap:wrap}.pending-leave-count{margin-left:50px}.admin-subsection-head{align-items:flex-start}.admin-attendance-toolbar{align-items:stretch;flex-direction:column}.admin-attendance-user-field{align-items:stretch;flex-direction:column}.admin-attendance-user-field select{width:100%}.leave-approval-section{padding:13px}.leave-approval-list article{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:10px}.leave-approval-main{gap:8px}.leave-approval-main>div{gap:2px}.leave-approval-actions{justify-content:flex-end}.leave-approval-actions button{min-width:48px;padding:7px 8px}.admin-attendance-section{margin:10px;padding:12px}.attendance-overview-section .admin-subsection-head{flex-direction:column}.attendance-overview-section .attendance-month-nav{align-self:stretch;justify-content:center}}@media(max-width:380px){.leave-approval-list article{grid-template-columns:1fr}.leave-approval-actions button{flex:1}}

    @media(max-width:760px){
      .floating-actions{right:10px!important;bottom:10px!important}
      .floating-actions .quick-menu-items{right:0;grid-template-columns:1fr 1fr;min-width:230px}
      .floating-actions .mobile-primary-shortcuts{display:grid}
      .app-nav #attendanceOpen,.app-nav #projectOpen,.app-nav #scheduleOpen{display:none!important}
      .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
      .stats .stat{min-height:94px;padding:13px}.stats .stat strong{font-size:23px}
      .weekly-daily-card>.section-title{display:block!important}
      .weekly-daily-card>.section-title h2{margin:0 0 9px}
      .weekly-daily-card .week-nav{display:grid!important;grid-template-columns:auto minmax(115px,1fr) auto auto;gap:6px;width:100%;margin:0}
      .weekly-daily-card .week-nav>button:nth-child(1){grid-column:1;grid-row:1}
      .weekly-daily-card .week-nav>#weekRange{grid-column:2/4;grid-row:1;align-self:center;justify-self:center;order:initial}
      .weekly-daily-card .week-nav>button:nth-child(4){grid-column:4;grid-row:1}
      .weekly-daily-card .week-nav>#todayWeekBtn{grid-column:2/4;grid-row:3}
      .weekly-daily-card .week-nav>#weeklyReportButton{grid-column:1/3;grid-row:2}
      .weekly-daily-card .week-nav>#monthlyReportButton{grid-column:3;grid-row:2}
      .weekly-daily-card .week-nav>#workSearchToggle{grid-column:4;grid-row:2}
      .weekly-daily-card .day{height:auto!important;min-height:165px!important;overflow:visible!important}
      #projectWorkspace .project-search{width:calc(100% - 28px)!important;margin:12px 14px 0}
      #projectWorkspace #projectTabs{padding-left:14px;padding-right:14px}
      .project-timeline{margin:12px 14px;padding:12px}.project-timeline-head{align-items:flex-start;flex-direction:column}.project-gantt-modes{width:100%}.project-gantt-modes button{flex:1}.gantt-axis-row,.gantt-row{grid-template-columns:var(--timeline-width)}
      .task-create-schedule,.task-edit-schedule{grid-template-columns:1fr!important}
      .project-issue-filter{grid-template-columns:1fr;padding:8px}
      #scheduleWorkspace #schedulePrev,#scheduleWorkspace #scheduleMonth,#scheduleWorkspace #scheduleAdd{margin-left:0}
      .admin-company-card{grid-column:auto}.company-name-row,.work-location-layout,.attendance-content{grid-template-columns:1fr}.work-address-row{grid-template-columns:1fr}.work-address-row button{width:100%}.coordinate-grid{grid-template-columns:1fr 1fr}.coordinate-grid .field:last-child{grid-column:1/-1}.work-location-actions{flex-wrap:wrap}.work-location-actions #workLocationCurrent{width:100%;margin-right:0}.attendance-content{padding:14px}.attendance-history li{grid-template-columns:105px minmax(0,1fr)}.attendance-history li b{grid-column:2;grid-row:3;justify-self:start}
    }

/* attendanceHistoryMobileCss */
.attendance-history li{grid-template-columns:minmax(0,1fr) auto!important;gap:5px 10px;padding:10px 12px}
    .attendance-history li strong{grid-column:1;grid-row:1;color:#1e293b;white-space:nowrap}
    .attendance-history li span{grid-column:1;grid-row:2;overflow:hidden;color:#475569;text-overflow:ellipsis;white-space:nowrap}
    .attendance-history li small{grid-column:2;grid-row:2;color:#64748b;text-align:right;white-space:nowrap}
    .attendance-history li b{grid-column:2!important;grid-row:1!important;justify-self:end!important;white-space:nowrap}
    .attendance-status.external{border-color:#86efac;background:#f0fdf4;color:#166534}
    .attendance-history li:not(.external) b{background:#dbeafe;color:#1d4ed8}
    .attendance-history li.external{border-color:#bbf7d0;background:#f7fef9}
    .attendance-history li.external span{color:#15803d;font-weight:850}
    .attendance-history li.external b{background:#dcfce7;color:#166534}
    .attendance-history li.late{border-color:#fed7aa;background:#fff7ed}
    .attendance-history li.late span{color:#c2410c;font-weight:850}
    .attendance-history li.late b{background:#ffedd5;color:#c2410c}
    .attendance-history li small{overflow:hidden;max-width:min(52vw,340px);text-overflow:ellipsis}
    .attendance-date-dot.external,.attendance-legend i.external{background:#16a34a}
    .attendance-date-dot.late,.attendance-legend i.late{background:#f97316}
    .work-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.work-time-note{margin:7px 0 0;color:#64748b;font-size:10px}
    .attendance-status-summary{display:flex;gap:8px;margin-top:9px}.attendance-status-summary span{padding:6px 9px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#64748b;font-size:10px}.attendance-status-summary b{margin-left:3px;color:#1e293b}.attendance-status-summary .late{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.attendance-status-summary .late b{color:#c2410c}.attendance-all-grid .attendance-month-day{position:relative;display:block;min-height:62px;padding:6px}.attendance-all-grid .attendance-month-day>span:first-child{display:block}.attendance-count{display:inline-block;margin:2px 3px 0 0;font-size:8px;font-weight:800}.attendance-count.present{color:#2563eb}.attendance-count.late{color:#ea580c}.attendance-count.external{color:#16a34a}.attendance-count.absent{color:#dc2626}.attendance-count.vacation{color:#7c3aed}.admin-user-chip{position:relative;text-align:left;cursor:pointer}.admin-user-chip small{display:block;margin-top:5px;color:#64748b;font-size:10px}.admin-user-chip:hover{border-color:#8b5cf6;background:#faf5ff}.employment-user{display:grid;gap:3px;margin-bottom:16px}.employment-user strong{color:#1e293b}.employment-user span,.employment-form>p{color:#64748b;font-size:11px}.organization-manager-panel>p{margin:0 0 12px;color:#64748b;font-size:12px}.organization-member-list{display:grid;gap:8px}.organization-member-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px;text-align:left;padding:11px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.organization-member-list button:hover{border-color:#8b5cf6;background:#faf5ff}.organization-member-list strong{color:#1e293b;font-size:13px}.organization-member-list span{grid-column:1;color:#64748b;font-size:11px}.organization-member-list small{grid-column:2;grid-row:1/3;align-self:center;color:#6d28d9;font-size:10px;font-weight:800}
    .admin-attendance-toolbar .attendance-legend{gap:7px}.attendance-legend span{white-space:nowrap}.attendance-legend b{margin-left:1px;color:#334155;font-size:10px}.attendance-summary-filter{display:flex;align-items:center;gap:4px;margin:0;padding:4px 6px;border:1px solid transparent;border-radius:7px;background:transparent;color:#64748b;font-size:10px;white-space:nowrap}.attendance-summary-filter:hover{border-color:#cbd5e1;background:#fff;color:#1e293b}.attendance-detail-lead{margin:0 0 12px;color:#64748b;font-size:11px}.attendance-detail-list{display:grid;gap:7px;max-height:min(48vh,360px);overflow:auto}.attendance-detail-list article{display:flex;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc}.attendance-detail-list strong{color:#1e293b;font-size:12px}.attendance-detail-list span{min-width:0;overflow:hidden;color:#64748b;font-size:11px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.attendance-detail-empty{padding:22px 12px;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;text-align:center;font-size:11px}
    @media(max-width:380px){.attendance-history li small{grid-column:1/-1;grid-row:3;text-align:left}}
    @media(max-width:650px){
      .admin-attendance-card .admin-attendance-intro{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:10px;padding:16px}
      .admin-attendance-intro>.admin-attendance-icon{grid-column:1;grid-row:1/3;width:40px;height:40px}
      .admin-attendance-intro>div:nth-child(2){grid-column:2;grid-row:1;min-width:0}
      .admin-attendance-intro h3{white-space:nowrap;font-size:16px;line-height:1.35}
      .admin-attendance-intro p{max-width:275px;line-height:1.5}
      .admin-attendance-intro>.pending-leave-count{grid-column:2;grid-row:2;justify-self:start;margin:0;padding:5px 8px}
    }

/* weeklyAttendanceColorCss */
.weekly-daily-card .calendar .day.attendance-vacation{border-top-color:#8b5cf6!important;background:#faf5ff!important}
    .weekly-daily-card .calendar .day.attendance-vacation h3{color:#6d28d9!important}
.weekly-daily-card .calendar .day.attendance-external{border-top-color:#16a34a!important;background:#f0fdf4!important}
    .weekly-daily-card .calendar .day.attendance-external h3{color:#15803d!important}

/* 주간 업무: 날짜별 빠른 업무 등록 */
.weekly-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-bottom:8px}.weekly-day-head h3{min-width:0;margin:0!important}.weekly-day-add{flex:0 0 25px;width:25px;height:25px;min-width:25px;padding:0;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#2563eb;font-size:18px;font-weight:700;line-height:1;box-shadow:none}.weekly-day-add:hover{border-color:#2563eb;background:#2563eb;color:#fff}.weekly-day-add:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.task-fixed-date{grid-column:1/-1;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;border:1px solid #bfdbfe;border-radius:11px;background:#eff6ff;color:#475569}.task-fixed-date span{font-size:11px;font-weight:800}.task-fixed-date strong{color:#1d4ed8;font-size:13px}.task-fixed-date small{justify-self:end;color:#64748b;font-size:11px}.task-fixed-date+label,.task-fixed-date+label+label{margin-top:0}
@media(max-width:680px){.weekly-day-head{margin-bottom:6px}.weekly-day-add{flex-basis:24px;width:24px;height:24px;min-width:24px;border-radius:7px;font-size:17px}.task-fixed-date{grid-template-columns:auto 1fr}.task-fixed-date small{grid-column:1/-1;justify-self:start}.task-fixed-date+label,.task-fixed-date+label+label{margin-top:0}}

/* workspaceActionsCss */
body.workspace-actions-open{padding-bottom:88px}
    .floating-actions.workspace-context .quick-menu-toggle,
    .floating-actions.workspace-context .quick-menu-items{display:none!important}
    #projectWorkspace>.section-title #projectAdd,#projectWorkspace>.section-title #projectTaskAdd,#projectWorkspace>.section-title .workspace-close,#scheduleWorkspace>.section-title #scheduleAdd,#scheduleWorkspace>.section-title #scheduleToday,#scheduleWorkspace>.section-title .workspace-close{display:none!important}
    #projectWorkspace>.section-title .project-task-view-toggle{display:flex;align-items:center;gap:1px;height:34px;padding:2px;border:1px solid #ffffff2b;border-radius:10px;background:#0f172a24}#projectWorkspace>.section-title .project-task-view-toggle button{display:grid!important;place-items:center;flex:0 0 29px!important;box-sizing:border-box;width:29px!important;min-width:29px!important;max-width:29px!important;height:29px!important;min-height:29px!important;margin:0!important;padding:0!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#dbeafe!important;font-size:0!important;line-height:1!important;transform:none!important;box-shadow:none!important}#projectWorkspace>.section-title .project-task-view-toggle button.active{background:#fff!important;color:#5b21b6!important;box-shadow:0 2px 6px #0f172a20!important}#projectWorkspace>.section-title #projectRefresh{display:grid!important;place-items:center;flex:0 0 34px!important;box-sizing:border-box;width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0!important;border:1px solid transparent!important;border-radius:10px!important;background:#ffffff0f!important;color:#dbeafe!important;font-size:0!important;line-height:1!important;box-shadow:none!important}#projectWorkspace>.section-title #projectRefresh:hover{border-color:#ffffff32!important;background:#ffffff1c!important;color:#fff!important}#projectTaskCardView::before,#projectTaskListView::before,#projectRefresh::before{content:'';display:block;width:16px;height:16px;background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}#projectTaskCardView::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h6v6H4V4Zm10 0h6v6h-6V4ZM4 14h6v6H4v-6Zm10 0h6v6h-6v-6Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h6v6H4V4Zm10 0h6v6h-6V4ZM4 14h6v6H4v-6Zm10 0h6v6h-6v-6Z'/%3E%3C/svg%3E")}#projectTaskListView::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h3v3H4V5Zm5 0h11v3H9V5ZM4 11h3v3H4v-3Zm5 0h11v3H9v-3ZM4 17h3v3H4v-3Zm5 0h11v3H9v-3Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h3v3H4V5Zm5 0h11v3H9V5ZM4 11h3v3H4v-3Zm5 0h11v3H9v-3ZM4 17h3v3H4v-3Zm5 0h11v3H9v-3Z'/%3E%3C/svg%3E")}#projectRefresh::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 7V3l-2 2a8 8 0 1 0 2.2 8h-2.1A6 6 0 1 1 15.6 6.4L13 9h6Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 7V3l-2 2a8 8 0 1 0 2.2 8h-2.1A6 6 0 1 1 15.6 6.4L13 9h6Z'/%3E%3C/svg%3E")}
    @media(max-width:760px){#scheduleWorkspace>.section-title{grid-template-columns:repeat(4,minmax(0,1fr))}#scheduleWorkspace>.section-title h2{grid-column:1/2}#scheduleWorkspace .schedule-period{grid-column:2/5}#scheduleWorkspace #schedulePrev{grid-column:1/3;grid-row:2}#scheduleWorkspace #scheduleNext{grid-column:3/5;grid-row:2}#scheduleWorkspace #scheduleMonth{grid-column:1/2;grid-row:3}#scheduleWorkspace #scheduleWeek{grid-column:2/3;grid-row:3}#scheduleWorkspace #scheduleFilterToggle{grid-column:3/5;grid-row:3}}
    .workspace-actions{display:flex;align-items:center;gap:7px;padding:7px;border:1px solid #dbe4ed;border-radius:16px;background:#fffffff2;box-shadow:0 16px 38px #0f172a2b;backdrop-filter:blur(12px)}
    .workspace-actions.hidden{display:none!important}
    .floating-actions .workspace-action{min-width:0;padding:10px 14px!important;border:1px solid transparent;border-radius:10px!important;box-shadow:none!important;color:#fff;font-size:11px!important;font-weight:800!important;white-space:nowrap}
    .floating-actions .workspace-action-project{background:#6d28d9}.floating-actions .workspace-action-task{background:#0f766e}
    .floating-actions .workspace-action-schedule{background:#2563eb}.floating-actions .workspace-action-attendance{background:#0f766e}
    .floating-actions .workspace-action-meeting{background:#7c3aed}.floating-actions .workspace-action-mail{background:#0369a1}
    .floating-actions .workspace-action-neutral{border-color:#cbd5e1;background:#fff;color:#334155}
    .floating-actions .workspace-action-close{border-color:#e2e8f0;background:#f1f5f9;color:#475569}
    .floating-actions .workspace-action:hover{filter:brightness(.96);transform:translateY(-1px)}
    @media(max-width:760px){
      body.workspace-actions-open{padding-bottom:76px}
      .floating-actions.workspace-context{right:8px!important;bottom:8px!important;left:8px!important;width:auto!important}
      .workspace-actions{display:grid;grid-template-columns:repeat(var(--workspace-action-count,3),minmax(0,1fr));gap:5px;width:100%;padding:5px;border-radius:14px}
      .floating-actions .workspace-action{width:100%;padding:9px 5px!important;border-radius:9px!important;font-size:10px!important;overflow:hidden;text-overflow:ellipsis}
    }

/* mailReplyCss */
.mail-actions .mail-reply-open{border:1px solid #0f766e;background:#0f766e;color:#fff}
    .mail-detail-modal{width:min(780px,100%)!important;padding:0!important;overflow-x:hidden!important;background:#f8fafc!important}
    .mail-detail-modal>.section-title{position:sticky;top:0;z-index:5;margin:0!important;padding:20px 24px!important;background:linear-gradient(135deg,#0f172a,#1e3a5f)!important;color:#fff}
    .mail-detail-modal>.section-title h2{color:#fff}.mail-detail-modal>.section-title button{border-color:#ffffff30!important;background:#ffffff16!important;color:#fff!important}
    .mail-detail-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;margin:20px 24px 0;padding:13px 15px;border:1px solid #dbe4ed;border-radius:11px;background:#fff}
    .mail-detail-meta span{color:#64748b;font-size:11px;font-weight:800}.mail-detail-meta strong{min-width:0;color:#1e293b;font-size:13px;overflow-wrap:anywhere}.mail-detail-meta small{grid-column:1/-1;margin-top:3px;color:#475569;font-size:12px;font-weight:650;line-height:1.45}
    .mail-detail-modal .mail-body-view,.mail-detail-modal .mail-body-empty,.mail-detail-modal .mail-attachments{margin:12px 24px 0!important}
    .mail-detail-modal .mail-body-view{max-height:360px;padding:15px;border:1px solid #e2e8f0;border-radius:11px;background:#fff;overflow:auto}
    .mail-detail-modal .mail-body-view pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#334155;font:inherit;font-size:12px;line-height:1.65}
    .mail-reply-panel{margin:14px 24px 22px;padding:16px;border:1px solid #99f6e4;border-radius:13px;background:linear-gradient(145deg,#f0fdfa,#fff)}
    .mail-reply-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.mail-reply-head h3{margin:0;color:#115e59;font-size:15px}.mail-reply-head p{margin:4px 0 0;color:#64748b;font-size:11px;line-height:1.45}.mail-reply-head>span{flex:0 1 auto;max-width:42%;padding:5px 8px;border-radius:999px;background:#ccfbf1;color:#0f766e;font-size:10px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .mail-reply-panel>label{display:block;margin-top:13px;color:#475569;font-size:11px;font-weight:850}.mail-reply-panel textarea{box-sizing:border-box;width:100%;min-height:112px;margin-top:6px!important;padding:11px 12px!important;border:1px solid #cbd5e1!important;border-radius:9px!important;background:#fff!important;color:#1e293b!important;font-size:13px!important;line-height:1.55;resize:vertical}.mail-reply-panel textarea:focus{border-color:#14b8a6!important;outline:2px solid #ccfbf1}
    .mail-reply-footer{display:flex;align-items:center;gap:12px;margin-top:10px}.mail-reply-footer p{flex:1;min-width:0;margin:0;color:#64748b;font-size:10px;line-height:1.4}.mail-reply-footer p.sending{color:#1d4ed8}.mail-reply-footer p.success{color:#047857;font-weight:750}.mail-reply-footer p.error{color:#dc2626}.mail-reply-footer button{flex:none;min-height:40px;background:#0f766e;border-color:#0f766e}.mail-reply-footer button:disabled{background:#94a3b8;border-color:#94a3b8}
    .mail-reply-sent-copy{margin-top:13px;padding:14px;border:1px solid #86efac;border-radius:10px;background:#f0fdf4}.mail-reply-sent-copy strong{display:flex;align-items:center;gap:7px;color:#166534;font-size:14px}.mail-reply-sent-copy strong span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#16a34a;color:#fff;font-size:12px}.mail-reply-sent-copy small{display:block;margin-top:5px;color:#15803d;font-size:10px;font-weight:700}.mail-reply-sent-copy p{margin:11px 0 0;padding-top:11px;border-top:1px solid #bbf7d0;color:#334155;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
    @media(max-width:560px){.mail-detail-modal>.section-title{padding:17px 16px!important}.mail-detail-meta,.mail-detail-modal .mail-body-view,.mail-detail-modal .mail-body-empty,.mail-detail-modal .mail-attachments,.mail-reply-panel{margin-left:14px!important;margin-right:14px!important}.mail-reply-head{flex-direction:column;gap:8px}.mail-reply-head>span{max-width:100%}.mail-reply-footer{align-items:stretch;flex-direction:column}.mail-reply-footer button{width:100%}.mail-actions{flex-wrap:wrap}}

/* inline-style */
.dashboard-load-notice{margin:0 0 12px;padding:10px 13px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:750}
    .project-card.project-subtask{width:calc(100% - 18px);margin-left:18px;border-left-width:3px;background:#fbfdff}.project-card.project-subtask::before{content:'하위 Task';display:inline-flex;margin-bottom:5px;padding:2px 6px;border-radius:999px;background:#e2e8f0;color:#64748b;font-size:8px;font-weight:850}.subtask-branch{color:#94a3b8}.subtask-controls{display:flex;align-items:center;gap:10px;margin-top:12px}.subtask-controls span{color:#64748b;font-size:11px}.subtask-controls button{padding:7px 10px;font-size:11px}.subtask-detail-list{display:grid;gap:5px;margin-top:8px}.subtask-detail-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:9px;background:#fff;color:#334155;text-align:left}.subtask-detail-list button:hover{border-color:#94a3b8;background:#f8fafc}.subtask-detail-list small{color:#64748b;font-size:9px;white-space:nowrap}.subtask-create-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:11px 12px;border-radius:10px;background:#f1f5f9}.subtask-create-intro strong{font-size:13px}.subtask-create-intro span,.inherited-period{color:#64748b;font-size:10px}.subtask-create-fields{display:grid!important;grid-template-columns:minmax(200px,1fr) 105px;align-items:end}.inherited-period{grid-column:1/-1;padding:8px 10px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc}.task-edit-schedule>.inherited-period{align-self:center}@media(max-width:680px){.project-card.project-subtask{width:calc(100% - 12px);margin-left:12px}.subtask-create-fields{grid-template-columns:1fr}.subtask-create-intro{align-items:flex-start;flex-direction:column}}

/* inline-style */
.project-tab-card{min-height:142px}.admin-customers-card{grid-column:1/-1;padding:18px;border:1px solid #c7d2fe;border-radius:14px;background:linear-gradient(145deg,#fff,#f5f7ff)}.admin-customer-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:16px;align-items:start}.admin-customer-form{padding:14px;border:1px solid #e0e7ff;border-radius:12px;background:#fff}.admin-customer-list{display:grid;gap:8px;max-height:520px;overflow:auto}.admin-customer-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:11px 12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.admin-customer-row div{min-width:0}.admin-customer-row strong,.admin-customer-row span,.admin-customer-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-customer-row span{margin-top:3px;color:#475569;font-size:10px}.admin-customer-row small{margin-top:3px;color:#94a3b8;font-size:9px}@media(max-width:760px){.admin-customer-layout{grid-template-columns:1fr}.admin-customer-row{grid-template-columns:minmax(0,1fr) auto}.admin-customer-row .danger{grid-column:2}.project-tab-card{min-height:150px}}

/* whizlab-ui-system */
:root{
      --wl-font-screen:20px;--wl-font-section:18px;--wl-font-card:16px;
      --wl-font-body:14px;--wl-font-control:13px;--wl-font-support:12px;--wl-font-meta:11px;
      --wl-text:#172033;--wl-text-muted:#64748b;--wl-text-faint:#94a3b8;
      --wl-primary:#2563eb;--wl-success:#16a34a;--wl-warning:#d97706;--wl-danger:#dc2626;
      --wl-border:#e2e8f0;--wl-surface-soft:#f8fafc;
      --wl-space-1:4px;--wl-space-2:8px;--wl-space-3:12px;--wl-space-4:16px;--wl-space-5:20px;--wl-space-6:24px;
      --wl-radius-control:9px;--wl-radius-card:14px;--wl-radius-modal:18px;
    }
    body{font-size:var(--wl-font-body);line-height:1.55;color:var(--wl-text)}
    button,input,select,textarea{font:inherit;font-size:var(--wl-font-control);line-height:1.4}
    button,input,select{min-height:38px}
    textarea{line-height:1.55}
    .muted,.hint,.helper-text,.empty-state,.monthly-empty{font-size:var(--wl-font-support)!important;line-height:1.5;color:var(--wl-text-muted)}
    .badge,.status-badge,.issue-badge,.task-badge,.project-badge,
    .meta,.task-meta,.issue-meta,.comment-meta,.schedule-event-meta,
    .project-card small,.project-tab-card small,.project-task-card small,
    .admin-customer-row small,.subtask-detail-list small,.project-card.project-subtask::before{
      font-size:var(--wl-font-meta)!important;line-height:1.4
    }
    .workspace-head h2,.modal-head h2,.app-modal header h2,.admin-workspace h2,
    .schedule-workspace>.section-title h2,.project-workspace>.section-title h2{
      font-size:var(--wl-font-screen)!important;line-height:1.3;font-weight:800
    }
    .card>.section-title h2,.card>h2,.panel-title,.monthly-task-section h3,
    .schedule-period-section h3,.schedule-time-section h3,.meeting-section h3{
      font-size:var(--wl-font-card)!important;line-height:1.4;font-weight:750
    }
    .project-card h3,.project-tab-card h3,.project-task-card h3,.issue-card h3,
    .schedule-period-item strong,.mail-row strong,.task-detail-title{
      font-size:var(--wl-font-body)!important;line-height:1.45
    }
    .topbar button,.workspace-tabs button,.admin-tabs button,.schedule-view-tabs button,
    .modal-actions button,.app-modal footer button,.floating-actions button{
      font-size:var(--wl-font-control)!important;font-weight:650
    }
    .day h3,.schedule-day-head strong,.calendar-day-number{font-size:var(--wl-font-control)!important}
    .task-chip,.event-chip,.schedule-time-item,.schedule-period-item,
    .mail-row,.issue-row,.comment-row,.monthly-task-row,.expense-row{
      font-size:var(--wl-font-control)!important;line-height:1.45
    }
    .day-total,.calendar-count,.schedule-day-head small,.schedule-period-item small,
    .project-card span,.project-tab-card span,.admin-customer-row span,
    .subtask-controls span,.subtask-create-intro span,.inherited-period{
      font-size:var(--wl-font-meta)!important;line-height:1.4
    }
    .app-modal article,.modal-card{border-radius:var(--wl-radius-modal)}
    .admin-section-tab::before{content:none!important;display:none!important}
    .admin-section-tab .admin-tab-icon{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:8px;background:#e2e8f0;color:#64748b;transition:.18s}
    .admin-section-tab .admin-tab-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
    .admin-section-tab:hover .admin-tab-icon{background:#ccfbf1;color:#0f766e}
    .admin-section-tab.active .admin-tab-icon{background:#ffffff24;color:#fff}
    .schedule-grid.month{align-items:stretch}
    .schedule-grid.month .schedule-day{height:auto!important;min-height:112px;overflow:visible}
    .schedule-grid.month .schedule-events{height:auto;max-height:none;overflow:visible!important;padding-right:0}
    .work-detail-address{margin-top:8px!important}
    .work-map-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 1px 7px}
    .work-map-head strong{color:var(--wl-text);font-size:var(--wl-font-control)}
    .work-map-head span{color:var(--wl-text-muted);font-size:var(--wl-font-meta);text-align:right}
    .work-location-detail{color:#0f766e!important;font-size:var(--wl-font-meta)!important}
    @media(max-width:680px){
      body{font-size:var(--wl-font-body)}
      button,input,select,textarea{font-size:var(--wl-font-control)}
      .workspace-head h2,.modal-head h2,.app-modal header h2{font-size:var(--wl-font-section)!important}
      .admin-section-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
      .admin-section-tab{justify-content:flex-start!important;padding:9px 10px!important}
      .admin-section-tab .admin-tab-icon{width:24px;height:24px;flex-basis:24px}
      .admin-section-tab .admin-tab-icon svg{width:16px;height:16px}
      .work-map-head{align-items:flex-start;flex-direction:column;gap:3px}.work-map-head span{text-align:left}
    }

/* voice-entry-ui */
.expense-form{display:flex;min-height:0;flex-direction:column;gap:16px;padding:20px 24px 0}.expense-form-lead,.task-form-voice{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.expense-form-lead>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#dbeafe;color:#2563eb;font-weight:850}.expense-form-lead p,.task-form-voice span{flex:1;margin:0;color:#475569;font-size:12px;line-height:1.45}.expense-form-lead button,.task-form-voice button,.event-form-lead button{min-height:34px;padding:7px 10px;white-space:nowrap}.expense-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.expense-form .field{display:grid;gap:6px;color:#475569;font-size:11px;font-weight:800}.expense-form .field input{box-sizing:border-box;width:100%;height:42px;margin:0;padding:0 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033}.expense-bulk-field{padding:12px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.expense-bulk-field textarea{box-sizing:border-box;min-height:78px;width:100%;padding:10px 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033;font:inherit;font-weight:500;line-height:1.5;resize:vertical}.expense-bulk-field small{color:#64748b;font-size:10px;font-weight:500;line-height:1.4}.expense-form .modal-actions{position:sticky;bottom:0;display:flex;gap:8px;margin:0 -24px;padding:14px 24px;border-top:1px solid #e2e8f0;background:#fff}.receipt-capture{padding:14px;border:1px solid #bfdbfe;border-radius:13px;background:linear-gradient(135deg,#f8fbff,#f0fdfa)}.receipt-capture strong{display:block;color:#17376f;font-size:13px}.receipt-capture p{margin:4px 0 0;color:#64748b;font-size:11px;line-height:1.45}.receipt-queue{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.receipt-photo{position:relative;display:grid;place-items:center;width:62px;height:62px;margin:0;border:1px solid #bfdbfe;border-radius:50%;background-position:center;background-size:cover;box-shadow:0 3px 10px #0f172a18;overflow:visible}.receipt-photo figcaption{position:absolute;right:-2px;bottom:-3px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#2563eb;color:#fff;font-size:10px;font-weight:850}.receipt-photo button{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;width:21px;height:21px;padding:0;border:2px solid #fff;border-radius:50%;background:#ef4444;color:#fff;font-size:15px;line-height:1}.receipt-photo-add{border:2px dashed #60a5fa;background:#eff6ff;color:#2563eb;font-size:28px;font-weight:400;box-shadow:none}.receipt-photo-status{min-height:16px!important;margin-top:10px!important}.receipt-capture>#receiptAnalyze{width:100%;margin-top:9px;background:#fff;color:#2563eb;border:1px solid #93c5fd}.receipt-batch{padding:2px 0 0}.receipt-batch-note{margin:0 0 12px;color:#64748b;font-size:12px;line-height:1.5}.receipt-draft{padding:12px;margin-top:10px;border:1px solid #dbe4ed;border-radius:12px;background:#f8fafc}.receipt-draft-head{display:flex;align-items:center;gap:7px}.receipt-draft-head strong{color:#17376f;font-size:13px}.receipt-draft-head button{margin-left:auto;padding:1px 6px;border:0;background:transparent;color:#94a3b8;font-size:20px}.receipt-confidence{padding:3px 7px;border-radius:999px;font-size:10px;font-weight:850}.receipt-confidence.high{background:#dcfce7;color:#166534}.receipt-confidence.medium{background:#fef3c7;color:#92400e}.receipt-confidence.low{background:#fee2e2;color:#b91c1c}.receipt-draft-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.receipt-draft-grid input,.receipt-draft-grid select{box-sizing:border-box;width:100%;height:38px;padding:0 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#172033;font:inherit}.voice-entry{display:grid;gap:14px;padding:20px 24px 0}.voice-entry-lead{display:flex;gap:11px;align-items:flex-start;padding:13px;border:1px solid #dbeafe;border-radius:13px;background:linear-gradient(135deg,#eff6ff,#f8fafc)}.voice-entry-lead>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#2563eb;color:#fff;font-size:16px}.voice-entry-lead strong{display:block;color:#172033;font-size:14px}.voice-entry-lead p{margin:3px 0 0;color:#64748b;font-size:11px;line-height:1.45}.voice-entry textarea{box-sizing:border-box;width:100%;min-height:130px;padding:11px;border:1px solid #cbd5e1;border-radius:10px;line-height:1.55;resize:vertical}.voice-entry-status{min-height:18px;margin:0;color:#64748b;font-size:11px;line-height:1.45}.voice-entry-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 0 14px}.voice-entry-actions button{min-width:110px}.voice-entry-modal{width:min(620px,100%)!important}.voice-entry-modal>.section-title{margin-bottom:0}@media(max-width:560px){.expense-form,.voice-entry{padding:15px 15px 0}.expense-form-lead,.task-form-voice{align-items:flex-start;flex-wrap:wrap}.expense-form-lead p,.task-form-voice span{min-width:170px}.expense-form-lead button,.task-form-voice button{margin-left:40px}.expense-form-grid,.receipt-draft-grid{grid-template-columns:1fr}.expense-form .modal-actions{margin:0 -15px;padding:12px 15px}.expense-form .modal-actions .spacer{display:none}.expense-form .modal-actions button{flex:1}.voice-entry{gap:11px}.voice-entry-actions{padding-bottom:12px}.voice-entry-actions button{flex:1;min-width:0}}

/* expense-manual-rows-ui */
.expense-manual-list{padding:13px;border:1px solid #dbeafe;border-radius:13px;background:#f8fbff}.expense-manual-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.expense-manual-head strong{display:block;color:#17376f;font-size:13px}.expense-manual-head span{display:block;margin-top:2px;color:#64748b;font-size:10px;font-weight:500}.expense-row-add{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#2563eb;color:#fff;font-size:22px;line-height:1}.expense-manual-row{display:grid;grid-template-columns:minmax(110px,1.2fr) minmax(110px,1.2fr) minmax(80px,.75fr) minmax(92px,.9fr) minmax(80px,.75fr) minmax(108px,.95fr) auto;gap:8px;align-items:end;min-width:0;margin-top:8px;padding-top:8px;border-top:1px solid #dbeafe}.expense-manual-row>input,.expense-manual-row>select{min-width:0}.expense-manual-row:first-child{margin-top:0;padding-top:0;border-top:0}.expense-row-remove{width:28px;height:42px;padding:0;border:0;border-radius:9px;background:#fff1f2;color:#e11d48;font-size:20px;line-height:1}@media(max-width:760px){.expense-manual-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.expense-manual-row .expense-row-add,.expense-manual-row .expense-row-remove{grid-column:1/-1;justify-self:end;width:36px;height:34px}}@media(max-width:430px){.expense-manual-row{grid-template-columns:minmax(0,1fr)}.expense-manual-row .expense-row-add,.expense-manual-row .expense-row-remove{grid-column:1;width:36px;height:34px}}

/* expense-manual-rows-refine-ui */
.expense-manual-head{margin-bottom:9px}.expense-manual-row{grid-template-columns:1.15fr 1.15fr .75fr .95fr auto}.expense-manual-row input{box-sizing:border-box;width:100%;height:42px;margin:0;padding:0 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033;font:inherit;font-size:12px}.expense-manual-row input::placeholder{color:#94a3b8}.expense-manual-row input:focus{outline:0;border-color:#2563eb;box-shadow:0 0 0 3px #dbeafe}.expense-manual-row .expense-row-add{align-self:end;background:linear-gradient(135deg,#2563eb,#4f46e5);box-shadow:0 5px 12px #2563eb33}.expense-manual-row .expense-row-remove{align-self:end;opacity:.78;transition:.15s}.expense-manual-row .expense-row-remove:hover{opacity:1;background:#ffe4e6}@media(max-width:560px){.expense-manual-row{grid-template-columns:1fr 1fr}.expense-manual-row .expense-row-add,.expense-manual-row .expense-row-remove{grid-column:2;justify-self:end;width:36px;height:34px}.expense-manual-row input[type="date"]{grid-column:1 / span 1}}

/* expense-and-issue-refine-ui */
.expense-manual-row .expense-row-add,.expense-manual-row .expense-row-remove{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:20px;font-weight:500;line-height:1;transition:transform .16s,box-shadow .16s,background .16s}.expense-manual-row .expense-row-add{border:1px solid #2563eb;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 5px 13px #2563eb38}.expense-manual-row .expense-row-remove{border:1px solid #fecdd3;background:#fff;color:#e11d48;box-shadow:0 3px 9px #e11d4818}.expense-manual-row .expense-row-add:hover,.expense-manual-row .expense-row-remove:hover{transform:translateY(-1px)}.expense-manual-row .expense-row-add:hover{box-shadow:0 8px 16px #2563eb4a}.expense-manual-row .expense-row-remove:hover{background:#fff1f2;box-shadow:0 6px 13px #e11d4826}.issue-source-content{margin-top:14px;padding:14px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.issue-source-content strong,.issue-source-content label{display:block;color:#17376f;font-size:12px;font-weight:850}.issue-source-content p{margin:8px 0 0;color:#334155;white-space:pre-wrap;line-height:1.6}.issue-source-content textarea,.issue-work-modal #editIssueResolution{box-sizing:border-box;width:100%;min-height:42px!important;height:42px;margin-top:8px;padding:10px;border:1px solid #bfdbfe;border-radius:9px;background:#fff;color:#172033;font:inherit;font-weight:500;line-height:1.55;resize:none;overflow:hidden}.issue-work-modal #editIssueResolution{border-color:#cbd5e1}.issue-source-content small{display:block;margin-top:6px;color:#64748b;font-size:10px;font-weight:500}@media(max-width:560px){.expense-manual-row .expense-row-add,.expense-manual-row .expense-row-remove{width:34px;height:34px}}

/* expense-actions-and-issue-cards-ui */
.expense-manual-row .expense-row-add,.expense-manual-row .expense-row-remove{position:relative;display:block!important;align-self:end;width:36px!important;height:42px!important;padding:0!important;border:1px solid #d7e0ec!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;color:transparent!important;font-size:0!important}.expense-manual-row .expense-row-add::before,.expense-manual-row .expense-row-add::after,.expense-manual-row .expense-row-remove::before,.expense-manual-row .expense-row-remove::after{position:absolute;top:50%;left:50%;width:14px;height:2px;border-radius:2px;content:'';transform:translate(-50%,-50%);transition:background .16s,transform .16s}.expense-manual-row .expense-row-add::before,.expense-manual-row .expense-row-add::after{background:#2563eb}.expense-manual-row .expense-row-add::after{transform:translate(-50%,-50%) rotate(90deg)}.expense-manual-row .expense-row-remove::before,.expense-manual-row .expense-row-remove::after{background:#94a3b8}.expense-manual-row .expense-row-remove::before{transform:translate(-50%,-50%) rotate(45deg)}.expense-manual-row .expense-row-remove::after{transform:translate(-50%,-50%) rotate(-45deg)}.expense-manual-row .expense-row-add:hover{border-color:#93c5fd!important;background:#eff6ff!important}.expense-manual-row .expense-row-remove:hover{border-color:#fecdd3!important;background:#fff1f2!important}.expense-manual-row .expense-row-remove:hover::before,.expense-manual-row .expense-row-remove:hover::after{background:#e11d48}.issue-dashboard-row{padding:10px 12px!important}.issue-dashboard-row .issue-card-top{display:flex;align-items:center;gap:7px;min-width:0}.issue-dashboard-row .issue-card-top strong{display:flex;align-items:baseline;min-width:0;gap:4px;overflow:hidden;white-space:nowrap}.issue-dashboard-row .issue-card-top strong em{min-width:0;overflow:hidden;color:#64748b;font-style:normal;font-weight:600;text-overflow:ellipsis}.issue-dashboard-row .issue-card-meta{display:flex;align-items:center;flex:0 0 auto;gap:5px;margin-left:auto;white-space:nowrap}.issue-dashboard-row .issue-card-meta span{padding:3px 6px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:750}.issue-dashboard-row .issue-card-meta span:first-child{background:#fff7ed;color:#c2410c}.issue-dashboard-row .issue-card-meta .issue-time{background:#f8fafc;color:#64748b}.issue-dashboard-row .issue-card-meta .issue-time.overdue{background:#fff1f2;color:#e11d48}.issue-dashboard-row .issue-card-detail{display:block;margin-top:5px;overflow:hidden;color:#64748b;font-size:11px;white-space:nowrap;text-overflow:ellipsis}@media(max-width:640px){.issue-dashboard-row .issue-card-top{flex-wrap:wrap}.issue-dashboard-row .issue-card-top strong{flex:1 1 calc(100% - 42px)}.issue-dashboard-row .issue-card-meta{width:100%;margin:1px 0 0 30px}.expense-manual-row .expense-row-add,.expense-manual-row .expense-row-remove{width:36px!important;height:38px!important}}

/* task-detail-issue-row-ui */
.task-detail-modal .issue-row{position:relative!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;min-height:0!important;margin:0!important;padding:10px 12px!important;border:1px solid #e2e8f0!important;border-radius:10px!important;background:#fff!important}.task-detail-modal .issue-row .badge{margin:0!important}.task-detail-modal .issue-row .task-issue-status{display:block!important;min-width:0!important;overflow:hidden!important;color:#334155!important;font-size:12px!important;font-weight:700!important;line-height:1.4!important;white-space:nowrap!important;text-overflow:ellipsis!important}.task-detail-modal .issue-row .row-meta{position:static!important;display:block!important;justify-self:end!important;text-align:right!important;max-width:135px!important;margin:0!important;overflow:hidden!important;color:#94a3b8!important;font-size:10px!important;line-height:1.3!important;white-space:nowrap!important;text-overflow:ellipsis!important;transform:none!important}.task-detail-modal .issue-row .task-issue-status::first-line{color:#334155}@media(max-width:680px){.task-detail-modal .issue-row{grid-template-columns:auto minmax(0,1fr)!important}.task-detail-modal .issue-row .row-meta{grid-column:2;justify-self:end!important;text-align:right!important;max-width:140px!important;margin-top:-4px!important}.task-detail-modal .issue-row .task-issue-status{white-space:nowrap!important}}

/* task-detail-mobile-history-ui */
@media(max-width:680px){.task-detail-modal>.task-detail-hero{max-height:none!important;overflow:visible!important;padding:14px!important}.task-detail-modal>.task-detail-hero p{margin-top:8px!important;line-height:1.45!important}.task-detail-modal .task-detail-meta{gap:8px!important;margin-top:10px!important}.task-detail-modal .task-status-inline{order:10!important;padding-top:2px!important}.task-detail-modal .task-status-inline::before{margin-right:2px}.task-detail-modal .task-status-pill{padding:3px 7px!important;font-size:10px!important}.task-detail-modal .task-status-arrow{font-size:11px!important}}

/* task-detail-issue-state-ui */
.task-detail-modal .issue-row .task-issue-status{display:flex!important;align-items:center;gap:6px}.task-detail-modal .issue-row .issue-row-state{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:10px;font-weight:850}.task-detail-modal .issue-row .issue-row-state.done{background:#dcfce7;color:#166534}.task-detail-modal .issue-row .issue-row-content{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* issue-comment-list-ui */
.issue-work-modal .issue-comment-list{margin-top:14px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.issue-work-modal .issue-comment-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.issue-work-modal .issue-comment-list-head strong{color:#334155;font-size:12px}.issue-work-modal .issue-comment-list-head span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:0 8px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:10px;font-weight:850}.issue-work-modal .issue-comment-list-body{display:grid;gap:6px}.issue-work-modal .issue-comment-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:42px;padding:9px 10px;border:1px solid #e2e8f0;border-radius:9px;background:#fff}.issue-work-modal .issue-comment-list article span{overflow:hidden;color:#475569;font-size:12px;line-height:1.4;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.issue-work-modal .issue-comment-list article small{justify-self:end;color:#94a3b8;font-size:10px;white-space:nowrap}.issue-work-modal .issue-comment-list-body>p{margin:2px 0;padding:11px 10px;border:1px dashed #dbe4ed;border-radius:9px;color:#94a3b8;font-size:11px;text-align:center}@media(max-width:640px){.issue-work-modal .issue-comment-list{padding:10px}.issue-work-modal .issue-comment-list article{gap:7px;padding:8px}.issue-work-modal .issue-comment-list article small{max-width:104px;overflow:hidden;text-overflow:ellipsis}.issue-work-modal .issue-comment-list article span{font-size:11px}}

/* project-dependency-ui */
.task-blocked-badge{display:inline-flex;margin-left:7px;padding:3px 7px;border:1px solid #fed7aa;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:9px;font-style:normal;font-weight:850;vertical-align:2px}.project-card.task-blocked{background:linear-gradient(135deg,#fffdf8,#fff7ed)}.task-detail-modal .task-dependency-section{padding:14px!important;border:1px solid #e0e7ff!important;border-radius:14px!important;background:linear-gradient(135deg,#f8faff,#f5f3ff)!important}.task-detail-modal .task-dependency-section h3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px!important;color:#312e81}.task-detail-modal .task-dependency-section h3::before{width:8px;height:8px;border-radius:50%;background:#7c3aed;box-shadow:0 0 0 5px #ede9fe;content:''}.task-detail-modal .task-dependency-section h3 button{min-height:31px;padding:6px 10px;border:1px solid #ddd6fe;border-radius:9px;background:#fff;color:#5b21b6;font-size:11px;font-weight:850;box-shadow:0 3px 8px #4c1d9512}.task-detail-modal .task-dependency-section h3 button:hover{border-color:#a78bfa;background:#f5f3ff}.task-detail-modal .dependency-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;margin:7px 0!important;padding:10px 11px!important;border:1px solid #e2e8f0!important;border-radius:10px!important;background:#fff!important;box-shadow:0 2px 6px #0f172a08}.task-detail-modal .dependency-row>span{padding:4px 7px;border-radius:7px;background:#fff7ed;color:#c2410c;font-size:10px;font-weight:850}.task-detail-modal .dependency-row strong{overflow:hidden;color:#334155;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.task-detail-modal .dependency-row small{padding:3px 6px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:10px}.task-detail-modal .dependency-row button{min-height:28px;padding:4px 7px;border-radius:7px;font-size:10px}@media(max-width:620px){.task-detail-modal .dependency-row{grid-template-columns:auto minmax(0,1fr) auto}.task-detail-modal .dependency-row small{grid-column:2}.task-detail-modal .dependency-row button{grid-column:3;grid-row:1 / span 2}.task-detail-modal .task-dependency-section h3 button{font-size:10px}}

/* expense-category-payment-ui */
.expense-quick-templates{display:grid;gap:7px;padding:11px 12px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.expense-quick-templates>span{color:#64748b;font-size:10px;font-weight:850}.expense-quick-templates>div{display:flex;flex-wrap:wrap;gap:6px}.expense-quick-templates button{min-height:29px;padding:5px 9px;border:1px solid #bfdbfe;border-radius:999px;background:#fff;color:#1d4ed8;font-size:11px;font-weight:750}.expense-quick-templates button:hover{background:#eff6ff}.expense-manual-row{grid-template-columns:minmax(88px,1.15fr) minmax(88px,1.15fr) minmax(76px,.8fr) minmax(82px,.9fr) minmax(76px,.75fr) minmax(112px,.95fr) auto}.expense-manual-row select,.expense-form .field select{box-sizing:border-box;width:100%;height:42px;margin:0;padding:0 27px 0 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033;font:inherit;font-size:12px}.expense-manual-row select:focus,.expense-form .field select:focus{outline:0;border-color:#2563eb;box-shadow:0 0 0 3px #dbeafe}.expense-manual-row+small{color:#64748b}@media(max-width:760px){.expense-manual-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.expense-manual-row select{height:40px}.expense-manual-row .expense-row-add,.expense-manual-row .expense-row-remove{grid-column:1/-1;justify-self:end}.expense-form-grid{grid-template-columns:1fr 1fr}}@media(max-width:430px){.expense-form-grid{grid-template-columns:1fr}.expense-manual-row{grid-template-columns:minmax(0,1fr)}.expense-manual-row .expense-row-add,.expense-manual-row .expense-row-remove{grid-column:1}.expense-quick-templates>div{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.expense-quick-templates button{flex:0 0 auto}}

/* expense-budget-analysis-ui */
.expense-analysis{margin-top:15px;padding:14px;border:1px solid #dbeafe;border-radius:13px;background:linear-gradient(135deg,#f8fbff,#f0fdfa)}.expense-analysis-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.expense-analysis-head strong{display:block;color:#17376f;font-size:13px}.expense-analysis-head span{display:block;margin-top:3px;color:#64748b;font-size:11px}.expense-analysis-head button{min-height:31px;padding:6px 10px;font-size:11px}.expense-category-bars{display:grid;gap:8px}.expense-category-bar{padding:9px 10px;border:1px solid #dbe4ed;border-radius:10px;background:#fff}.expense-category-bar>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.expense-category-bar strong{color:#334155;font-size:12px}.expense-category-bar span{overflow:hidden;color:#64748b;font-size:10px;white-space:nowrap;text-overflow:ellipsis}.expense-category-bar p{height:6px;margin:7px 0 5px;border-radius:999px;background:#e2e8f0;overflow:hidden}.expense-category-bar p i{display:block;height:100%;border-radius:inherit;background:#0f766e}.expense-category-bar.over{border-color:#fecaca;background:#fffafa}.expense-category-bar.over p i{background:#ef4444}.expense-category-bar small{display:block;color:#64748b;font-size:10px}.expense-category-bar.over small{color:#dc2626;font-weight:750}.expense-analysis-empty{margin:0;color:#94a3b8;font-size:11px}.expense-budget-form{display:grid;gap:14px;padding:18px 22px 0}.expense-budget-form>p{margin:0;color:#64748b;font-size:12px;line-height:1.5}.expense-budget-form>div:first-of-type{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.expense-budget-form label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:9px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.expense-budget-form label span{color:#334155;font-size:12px;font-weight:800}.expense-budget-form input{min-width:0;height:34px;padding:0 8px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;text-align:right}.expense-budget-form label b{color:#64748b;font-size:10px}.expense-budget-form .modal-actions{margin:0 -22px;padding:13px 22px;border-top:1px solid #e2e8f0}@media(max-width:560px){.expense-analysis{padding:12px}.expense-budget-form{padding:15px 15px 0}.expense-budget-form>div:first-of-type{grid-template-columns:1fr}.expense-budget-form .modal-actions{margin:0 -15px;padding:12px 15px}.expense-category-bar>div{align-items:flex-start;flex-direction:column;gap:2px}}

/* expense-mobile-priority-ui */
.expense-form{gap:12px}.expense-manual-actions{display:flex;align-items:center;gap:6px}.expense-receipt-trigger,.expense-add-trigger{flex:0 0 auto;min-height:31px;padding:6px 10px;border:1px solid #bfdbfe;border-radius:9px;background:#fff;color:#1d4ed8;font-size:11px;font-weight:800;white-space:nowrap}.expense-add-trigger{border-color:#2563eb;background:#2563eb;color:#fff}.expense-receipt-trigger:hover{background:#eff6ff}.expense-add-trigger:hover{background:#1d4ed8}.expense-manual-row{display:none!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:9px!important;animation:expense-page-in .18s ease-out}.expense-manual-row.is-active{display:grid!important}.expense-manual-pager{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:11px}.expense-manual-pager button{display:grid;place-items:center;min-width:31px;height:31px;padding:0;border:1px solid #dbe4ed;border-radius:8px;background:#fff;color:#1d4ed8;font-size:18px;font-weight:750}.expense-manual-pager button:disabled{opacity:.38}.expense-manual-pager #expensePageLabel{min-width:46px;color:#64748b;font-size:11px;font-weight:800;text-align:center}.expense-manual-pager #expensePageRemove{width:auto;margin-left:5px;padding:0 9px;border-color:#fecdd3;color:#e11d48;font-size:11px}@keyframes expense-page-in{from{opacity:.2;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.receipt-capture-modal{display:grid;gap:12px;padding:18px 22px 0}.receipt-capture-modal>p{margin:0;color:#64748b;font-size:12px;line-height:1.5}.receipt-capture-modal .receipt-queue{min-height:62px;margin:0}.receipt-capture-modal .receipt-photo-status{margin:0!important}.receipt-capture-modal .modal-actions{display:flex;gap:8px;margin:0 -22px;padding:13px 22px;border-top:1px solid #e2e8f0}.receipt-capture-modal .modal-actions button{flex:1}.receipt-capture-modal #receiptAnalyze{background:#2563eb;color:#fff}@media(max-width:560px){.expense-form{gap:12px}.expense-manual-head{align-items:flex-start}.expense-receipt-trigger,.expense-add-trigger{min-height:30px;padding:5px 9px}.expense-manual-row{grid-template-columns:minmax(0,1fr)!important}.receipt-capture-modal{padding:15px 15px 0}.receipt-capture-modal .modal-actions{margin:0 -15px;padding:12px 15px}}

/* expense-mobile-layout-final-ui */
.expense-form,.expense-manual-list,.expense-manual-row,.expense-manual-row label{box-sizing:border-box;min-width:0}.expense-form{width:100%;overflow-x:hidden}.expense-manual-list{overflow:hidden}.expense-manual-row{align-items:start}.expense-manual-row>label{display:grid;gap:5px}.expense-manual-row>label>span{color:#64748b;font-size:10px;font-weight:800}.expense-manual-row input,.expense-manual-row select{min-width:0!important;width:100%!important}.expense-manual-pager{padding-top:2px;border-top:1px solid #dbeafe}.expense-manual-pager #expensePageRemove{margin-left:auto}.expense-add-trigger{display:grid;place-items:center;width:31px;min-width:31px!important;padding:0!important;font-size:20px!important;line-height:1}.expense-receipt-trigger{padding-inline:11px!important}@media(max-width:560px){.expense-form{padding-inline:14px!important}.expense-manual-list{padding:12px}.expense-manual-head{gap:8px}.expense-manual-head>div:first-child{min-width:0}.expense-manual-head span{max-width:190px;line-height:1.35}.expense-manual-actions{margin-left:auto}.expense-manual-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important}.expense-manual-row>label:last-child{grid-column:1/-1}.expense-manual-pager{gap:6px}.expense-manual-pager #expensePageRemove{padding-inline:8px;font-size:10px}.expense-form .modal-actions{margin-inline:-14px!important;padding-inline:14px!important}}@media(max-width:360px){.expense-manual-row{grid-template-columns:minmax(0,1fr)!important}.expense-manual-row>label:last-child{grid-column:auto}.expense-manual-head{flex-wrap:wrap}.expense-manual-actions{width:100%;justify-content:flex-end}.expense-manual-pager #expensePageRemove{font-size:0;width:31px;padding:0}.expense-manual-pager #expensePageRemove::before{content:'×';font-size:18px;line-height:1}}

/* time-conflict-notice-ui */
.time-conflict-notice{display:flex;align-items:flex-start;gap:8px;margin:2px 0 0;padding:9px 10px;border:1px solid #fde68a;border-radius:10px;background:#fffbeb;color:#92400e;font-size:11px;line-height:1.45}.time-conflict-notice strong{flex:0 0 auto;color:#b45309;font-weight:850}.time-conflict-notice span{display:flex;flex:1;flex-wrap:wrap;gap:5px;min-width:0}.time-conflict-notice button{max-width:100%;overflow:hidden;padding:3px 6px;border:0;border-radius:6px;background:#fef3c7;color:#92400e;font:inherit;line-height:1.3;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.time-conflict-notice button:hover{background:#fde68a}.time-conflict-notice b{padding:2px 4px;border-radius:4px;background:#fff;font-size:9px}.time-conflict-notice i{align-self:center;padding:0 3px;color:#d97706;font-style:normal}@media(max-width:560px){.time-conflict-notice{display:grid;gap:3px}.time-conflict-notice button{font-size:10px}}

/* form-layout-ui */
:root{--wl-field-gap:8px;--wl-form-gap:16px;--wl-form-inset:24px;--wl-control-height:42px}
    .datetime24-control{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px;min-width:0;width:100%;align-items:center}
    .datetime24-control>input[type="hidden"]{display:none!important}
    .datetime24-control>input.datetime24-date,.datetime24-control>input.datetime24-time{width:100%;min-width:0;max-width:100%;height:var(--wl-control-height);box-sizing:border-box;font-variant-numeric:tabular-nums;margin:0!important}
    .datetime24-control>input.datetime24-date{padding:0 10px!important}
    .datetime24-control>input.datetime24-time{padding:0 8px!important;text-align:center;letter-spacing:.02em}
    .datetime24-control>input.datetime24-time:invalid:not(:placeholder-shown){border-color:#dc2626}
    [hidden],.hidden{display:none!important}
    body:has(#appModal:not(.hidden)){overflow:hidden}

    /* Labels always precede their controls, including late-added fields. */
    #appModal .field,
    #workspaceHost .field,
    #workspaceHost :is(.attendance-location-label,.admin-attendance-user-field,.admin-code-group-picker,.meeting-form-row>label,.meeting-summary-label,.meeting-pdf-template),
    #appModal .settings-field,#appModal .expense-manual-row>label{
      display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start;
      min-width:0;gap:var(--wl-field-gap);margin:0;
      color:var(--wl-text-muted);font-size:12px;font-weight:650;line-height:1.5
    }
    #appModal .field{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:12px!important}
    #appModal .field>small,#appModal .field>.muted,
    #appModal .settings-field>span{margin:0!important;font-size:12px!important;font-weight:400;line-height:1.5}
    #appModal .field>span:first-child{white-space:normal}
    #appModal .field>small{order:2}
    #appModal .expense-manual-row>label>span{font-size:12px;font-weight:650}
    #appModal .expense-manual-head span{font-size:12px;line-height:1.5}
    #workspaceHost label>select,#appModal label>select{
      display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;
      flex:none;margin:0!important
    }

    /* Native select semantics stay intact: keyboard and mobile option pickers. */
    select:not([multiple]):not([size]),select[size="1"]{
      box-sizing:border-box;max-width:100%;min-width:0;height:var(--wl-control-height);min-height:var(--wl-control-height);
      padding:0 38px 0 12px!important;border:1px solid #cbd5e1!important;
      border-radius:var(--wl-radius-control)!important;appearance:none!important;-webkit-appearance:none!important;
      background-color:#fff!important;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6'/%3E%3C/svg%3E")!important;
      background-repeat:no-repeat!important;background-size:16px!important;background-position:right 12px center!important;
      color:var(--wl-text)!important;font-size:14px!important;font-weight:500!important;line-height:1.4;
      box-shadow:none!important;cursor:pointer;transition:border-color .15s,box-shadow .15s
    }
    select[multiple],select[size]:not([size="1"]){
      box-sizing:border-box;min-width:0;max-width:100%;padding:8px!important;
      border:1px solid #cbd5e1!important;border-radius:var(--wl-radius-control)!important;
      background:#fff!important;color:var(--wl-text);font-size:14px!important;box-shadow:none!important
    }
    select[multiple] option{padding:8px;border-radius:6px}
    select:not(:disabled):hover{border-color:#94a3b8!important}
    select:focus-visible{outline:2px solid #2563eb!important;outline-offset:2px;box-shadow:none!important}
    select:disabled{cursor:default!important;color:#94a3b8!important;background-color:#f1f5f9!important;opacity:1}
    .issue-form-grid>.field:has(select)::after,.admin-code-group-picker::after{display:none!important}
    #appModal .issue-form-grid>.field::before,#appModal .issue-form-grid>.field::after{display:none!important}
    #appModal :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),textarea),
    #workspaceHost .field>input:not([type="checkbox"]):not([type="radio"]){
      box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:0!important;flex:none;
      padding:10px 12px!important;border:1px solid #cbd5e1!important;border-radius:var(--wl-radius-control)!important;
      background:#fff!important;color:var(--wl-text)!important;font-size:14px!important;font-weight:500!important;line-height:1.5;box-shadow:none
    }
    #appModal input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]){height:var(--wl-control-height)!important;min-height:var(--wl-control-height)!important}
    #appModal textarea{min-height:84px;resize:vertical}
    #appModal :is(input,textarea):focus-visible{outline:2px solid #2563eb;outline-offset:2px}
    #appModal input:disabled{color:#94a3b8!important;background:#f1f5f9!important}
    #appModal input:is([type="checkbox"],[type="radio"]),#workspaceHost input:is([type="checkbox"],[type="radio"]){
      flex:0 0 18px;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0;accent-color:var(--wl-primary)
    }

    /* One vertical scroll area; header and actions remain reachable. */
    #appModal.app-modal{height:100dvh;padding:16px;overflow:hidden}
    #appModal>.modal-base{
      display:block!important;min-width:0;max-width:100%;max-height:calc(100dvh - 32px)!important;
      overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;
      border-radius:var(--wl-radius-modal)!important;background:#f8fafc;scroll-padding:90px 0
    }
    #appModal>.modal-base:has(#projectDependencySource){width:min(480px,100%)!important}
    #appModal>.modal-base>.section-title{
      position:sticky;top:0;z-index:10;display:flex;flex-wrap:nowrap!important;align-items:center;gap:12px;
      margin:0!important;padding:20px var(--wl-form-inset)!important
    }
    #appModal>.modal-base>.section-title h2{flex:1;min-width:0;margin:0;font-size:20px!important;line-height:1.35;overflow-wrap:anywhere}
    #appModal>.modal-base>.section-title>.spacer{display:none}
    #appModal>.modal-base>.section-title button{flex:none;min-height:38px;white-space:nowrap}
    #appModal>.modal-base>:is(form,.task-detail-hero,.task-detail-content,.settings-body,.employment-form,.project-workflow-modal,.leave-detail-view,.briefing-body){
      min-width:0;max-height:none!important;overflow:visible!important;flex:none
    }
    #appModal>.modal-base>form{
      margin:0!important;padding:20px var(--wl-form-inset) 0!important;gap:var(--wl-form-gap)
    }
    #appModal>.modal-base>form:not(.task-create-form):not(.sprint-create-form):not(.mail-draft-grid){display:flex;flex-direction:column}
    #appModal>.modal-base>:is(.settings-body,.employment-form,.project-workflow-modal,.leave-detail-view){padding:20px var(--wl-form-inset) 0!important}
    #appModal .project-workflow-modal{display:grid;gap:16px}
    #appModal .workflow-order-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}
    #appModal .workflow-status-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;min-width:0}
    #appModal .workflow-status-row.is-disabled{background:#fff;color:#94a3b8}
    #appModal .workflow-order-number{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:7px;background:#ede9fe;color:#6d28d9;font-size:12px;font-weight:700}
    #appModal .workflow-status-choice{display:flex!important;align-items:center;gap:8px;flex:1;min-width:0;margin:0!important;padding:0!important;cursor:pointer}
    #appModal .workflow-status-choice strong{min-width:0;font-size:13px;font-weight:650;overflow-wrap:anywhere}
    #appModal .workflow-status-dot{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:var(--workflow-color)}
    #appModal .workflow-move-actions{display:flex;flex:none;gap:4px}
    #appModal .workflow-move-actions button{display:grid;place-items:center;width:34px;min-width:34px;min-height:38px;margin:0;padding:0;border:1px solid #ddd6fe;border-radius:8px;background:#fff;color:#6d28d9;font-size:18px;line-height:1}
    #appModal .workflow-move-actions button:hover:not(:disabled){background:#f5f3ff;border-color:#a78bfa}
    #appModal .workflow-move-actions button:disabled{opacity:.35;cursor:default}
    #appModal .workflow-move-actions button:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}
    #appModal .workflow-order-help{margin:12px 0 0;color:#64748b;font-size:12px;line-height:1.5}
    #appModal .workflow-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
    #appModal .project-workflow-modal>section{margin:0!important;padding:16px!important}
    #appModal .project-workflow-modal h3{font-size:14px!important}
    #appModal .project-workflow-modal h3 small{font-size:12px!important;font-weight:400}
    #appModal :is(.employment-form,.project-workflow-modal,.leave-detail-view)>.modal-actions{margin:8px calc(-1 * var(--wl-form-inset)) 0!important;padding:14px var(--wl-form-inset)!important}
    #appModal :is(.project-create-members,.project-members-picker)::before{content:none!important}
    #appModal>.modal-base>.field{margin:16px var(--wl-form-inset) 0!important}
    #appModal>.modal-base>.row{margin:16px var(--wl-form-inset) 0!important}
    #appModal>.modal-base>p{margin:16px var(--wl-form-inset)!important}
    #appModal .modal-actions{
      position:sticky;bottom:-1px;z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:8px;
      background:#fff!important;border-top:1px solid var(--wl-border);box-shadow:none!important
    }
    #appModal>.modal-base>.modal-actions{margin:20px 0 0!important;padding:14px var(--wl-form-inset)!important}
    #appModal>.modal-base>form>.modal-actions{margin:8px calc(-1 * var(--wl-form-inset)) 0!important;padding:14px var(--wl-form-inset)!important}
    #appModal .modal-actions button{min-height:42px;min-width:76px;white-space:normal}
    #appModal :is(.task-detail-comments,.issue-comment-items){max-height:none!important;overflow:visible!important}

    /* Equal columns by available space, not by the selected text length. */
    #appModal .row:has(>.field),
    #appModal :is(.task-create-planning,.task-edit-planning,.task-create-schedule,.task-edit-schedule,.task-date-grid,.leave-date-grid,.employment-date-grid,.issue-form-grid){
      display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
      gap:var(--wl-form-gap)!important;align-items:start!important
    }
    #appModal .row>.field{min-width:0;width:auto!important;grid-column:auto!important;grid-row:auto!important}
    #appModal .task-create-form>:is(.row,.task-personal-option,.modal-actions){grid-column:1/-1!important}
    #appModal :is(.task-create-title,.task-create-detail,.task-create-parent){grid-column:1/-1}
    #appModal :is(.task-create-form,.task-form,.leave-form){row-gap:var(--wl-form-gap)!important}
    #appModal .task-form-top{grid-template-columns:150px minmax(0,1fr);gap:var(--wl-form-gap)}
    #appModal .task-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--wl-form-gap)}
    #appModal .task-management{border:1px solid #dbe4ed;border-radius:12px;background:#f8fafc;overflow:hidden}
    #appModal .task-management>summary{display:flex;align-items:center;gap:10px;padding:13px 14px;cursor:pointer;list-style:none;color:#334155;font-size:12px;font-weight:800}
    #appModal .task-management>summary::-webkit-details-marker{display:none}.task-management>summary span{flex:1}.task-management>summary b{padding:4px 8px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:10px}
    #appModal .task-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 14px 14px;border-top:1px solid #e2e8f0}
    #appModal .task-management-grid>.field,#appModal .task-repeat-limit{margin-top:14px!important}.task-repeat-limit{display:grid;grid-template-columns:1fr 1fr;gap:8px}.task-management select[multiple]{min-height:112px}
    #appModal .task-checklist{display:grid;gap:10px;padding:14px;border:1px solid #dbe4ed;border-radius:12px;background:#fff}
    #appModal .task-checklist-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
    #appModal .task-checklist-head>div{display:grid;gap:2px}.task-checklist-head strong{color:#1e293b;font-size:13px}.task-checklist-head span{color:#64748b;font-size:11px}
    #appModal .task-checklist-head button{min-height:34px;padding:6px 10px;font-size:11px}
    #appModal #taskChecklistRows{display:grid;gap:7px}
    #appModal .task-checklist-row{display:grid;grid-template-columns:20px minmax(0,1fr) 34px;gap:8px;align-items:center}
    #appModal .task-checklist-row>[data-task-check-text]{height:40px!important;min-height:40px!important;padding:8px 10px!important}
    #appModal .task-checklist-row>[data-task-check-remove]{display:grid;place-items:center;width:34px;min-width:34px;min-height:34px;padding:0;border:1px solid #fecaca;border-radius:9px;background:#fff7f7;color:#dc2626;font-size:17px}
    #appModal .task-checklist-row:has([data-task-check-done]:checked) [data-task-check-text]{color:#94a3b8!important;text-decoration:line-through;background:#f8fafc!important}
    #appModal .task-change-history{border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;overflow:hidden}
    #appModal .task-change-history summary{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;color:#334155;font-size:12px;font-weight:800;list-style:none}
    #appModal .task-change-history summary::-webkit-details-marker{display:none}.task-change-history summary span{flex:1}.task-change-history summary b{padding:3px 7px;border-radius:999px;background:#e2e8f0;color:#64748b;font-size:10px}
    #appModal .task-change-history ol{display:grid;gap:0;margin:0;padding:0 14px 12px;list-style:none}
    #appModal .task-change-history li{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-top:1px solid #e2e8f0}
    #appModal .task-change-history li>span{display:grid;gap:2px;min-width:0;flex:1}.task-change-history li strong{color:#334155;font-size:11px}.task-change-history li small{overflow:hidden;color:#64748b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.task-change-history time{flex:none;color:#94a3b8;font-size:10px}.task-history-empty{margin:0;padding:4px 0 2px;color:#94a3b8;font-size:11px}
    .work-view-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.work-view-bar select{flex:1;max-width:260px}.work-view-bar button{min-height:40px}.work-bulk-bar{display:flex;align-items:center;gap:8px;margin:10px 0;padding:9px 10px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff}.work-bulk-bar span{flex:1;color:#1d4ed8;font-size:11px;font-weight:800}.work-bulk-bar select{max-width:150px;height:36px!important;min-height:36px!important}.work-bulk-bar button{min-height:36px;padding:7px 12px}.work-search-selectable{display:flex;align-items:center;gap:8px}.work-search-selectable>[data-work-bulk]{flex:none;width:18px;height:18px;accent-color:#2563eb}.work-search-selectable .work-search-item{flex:1;min-width:0}.work-search-item.blocked{border-color:#fed7aa;background:#fffaf3}
    #appModal .task-progress-field{position:relative}
    #appModal .task-progress-field>span{position:absolute;right:12px;bottom:11px;pointer-events:none}
    #appModal .task-progress-field>input{padding-right:32px!important}
    #appModal .sprint-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--wl-form-gap)}
    #appModal .sprint-create-form>.wide{grid-column:1/-1}
    #appModal .sprint-manage-list{padding:16px var(--wl-form-inset) 0}
    #appModal .sprint-manage-row{width:auto;max-height:none;padding:14px;box-shadow:none}
    #appModal .sprint-manage-actions{display:flex;flex-wrap:wrap;gap:8px}
    #appModal .project-role-row{min-width:0;grid-template-columns:minmax(0,1fr) minmax(140px,180px)}
    #appModal .project-role-row>select{width:100%}
    #appModal .project-role-person{min-width:0}
    #appModal .project-role-person small{overflow-wrap:anywhere}
    #appModal .project-workflow-modal h3{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}

    /* Schedule create/edit share the same labels and field order. */
    #appModal .event-form-lead{
      display:flex!important;flex-wrap:wrap;align-items:center;gap:10px;margin:20px var(--wl-form-inset) 0!important;
      padding:12px!important;border:1px solid #dbeafe;border-radius:var(--wl-radius-control)
    }
    #appModal .event-form-lead>span{flex:1 1 200px;min-width:0;line-height:1.5}
    #appModal .event-form-lead>button{flex:none;margin:0}
    #appModal .event-form-modal>.row:has(#eventStart){padding:0!important;border:0!important;background:none!important}
    #appModal .event-form-modal>.row:has(#eventStart)::before,
    #appModal .event-form-modal>.row:has(#eventStart)::after,
    #appModal .event-form-modal .event-visibility-card::before,
    #appModal .event-form-modal .event-target-card::before{content:none!important;display:none!important}
    #appModal .event-options{
      display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--wl-form-gap);
      margin:16px var(--wl-form-inset) 0
    }
    #appModal .event-options .field{display:flex!important;flex-direction:column!important;align-items:stretch!important;grid-column:auto!important}
    #appModal .event-visibility-card{display:flex!important;flex-direction:column!important;align-items:stretch!important}
    #appModal .event-visibility-card select{width:100%!important;flex:none!important;height:var(--wl-control-height)!important}
    #appModal .event-target-card{display:flex;flex-direction:column}
    #appModal .event-visibility-guide{margin:6px var(--wl-form-inset) 0!important;padding:0!important;font-size:12px!important}
    #appModal .time-conflict-notice{margin:16px var(--wl-form-inset) 0}
    #appModal form .time-conflict-notice{margin:0}
    #appModal .event-form-modal>.field:has(#eventTitle)::before,
    #appModal .event-form-modal>.field:has(#eventDetail)::before{content:none!important}
    #appModal .event-form-modal .field:has(#eventTitle),#appModal .event-form-modal .field:has(#eventDetail){font-size:12px!important}
    #appModal .event-form-modal #eventDetail{min-height:84px!important}

    /* Workspace toolbars keep labels readable without widening the page. */
    #workspaceHost :is(.admin-attendance-toolbar,.admin-code-toolbar,.meeting-form-row,.meeting-actions){min-width:0;gap:16px}
    #workspaceHost .admin-code-group-picker{min-width:0;width:min(100%,320px);letter-spacing:normal}
    #workspaceHost .admin-code-toolbar>.muted{padding-bottom:0}
    #workspaceHost .admin-attendance-user-field{min-width:0;flex:1}
    #workspaceHost .attendance-location-label{margin:16px 0 0}
    #workspaceHost .meeting-pdf-template{flex:1 1 220px}
    #workspaceHost .meeting-pdf-template select{margin:0}
    #workspaceHost .meeting-actions{flex-wrap:wrap;align-items:end}

    #workspaceHost .project-issue-filters{min-width:0;gap:8px}
    #workspaceHost .project-issue-filters select{min-width:0}
    #workspaceHost :is(.admin-customer-form,.admin-create-card){display:flex;flex-direction:column;gap:16px}
    #workspaceHost :is(.admin-customer-form,.admin-create-card)>.admin-card-head{margin-bottom:0}
    #workspaceHost .admin-create-card>.field::before{content:none!important}
    #workspaceHost :is(.work-location-form>.field,.work-location-form>.work-address-row){margin-top:16px!important}
    #workspaceHost .admin-customer-form>.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    #workspaceHost :is(.field,.attendance-location-label,.meeting-form-row>label)>:is(input,textarea):focus-visible{outline:2px solid #2563eb;outline-offset:2px}
    @media(max-width:600px){
      :root{--wl-form-inset:16px;--wl-control-height:44px}
      #appModal.app-modal{padding:10px}
      #appModal>.modal-base{max-height:calc(100dvh - 20px)!important;border-radius:16px!important}
      #appModal>.modal-base>.section-title{padding:16px var(--wl-form-inset)!important}
      #appModal .field, #workspaceHost .field{font-size:13px!important}
      #appModal select,#appModal :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),textarea),#workspaceHost select{font-size:16px!important}
      #appModal .row:has(>.field),
      #appModal :is(.task-create-planning,.task-edit-planning,.task-create-schedule,.task-edit-schedule,.task-date-grid,.leave-date-grid,.employment-date-grid,.issue-form-grid,.task-form-top,.task-option-grid,.event-options){grid-template-columns:minmax(0,1fr)!important}
      #appModal .task-create-form>.field{grid-column:auto}
      #appModal .expense-manual-row>label:has([data-expense-field="amount"]),
      #appModal .expense-manual-row>label:has([data-expense-field="spentOn"]){grid-column:1/-1}
      #appModal .modal-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
      #appModal .modal-actions button{min-width:0;width:100%}
      #appModal .modal-actions button:last-child:nth-of-type(odd){grid-column:1/-1}
      #appModal .modal-actions .spacer{display:none}
      #appModal .project-role-row{grid-template-columns:minmax(0,1fr);gap:12px}
      #appModal .project-role-row>select{width:100%!important;max-width:none}
      #appModal .event-form-lead>button{margin-left:34px}
      #appModal .task-checklist-head{align-items:flex-start}.task-checklist-head button{flex:none}.task-change-history li{display:grid;gap:3px}.task-change-history time{grid-row:1;grid-column:2;justify-self:end}
      #appModal .task-management-grid{grid-template-columns:minmax(0,1fr)}.work-view-bar{display:grid;grid-template-columns:1fr 1fr}.work-view-bar select{grid-column:1/-1;max-width:none}.work-bulk-bar{flex-wrap:wrap}.work-bulk-bar span{flex-basis:100%}
      #workspaceHost .meeting-form-row{display:grid;grid-template-columns:minmax(0,1fr)}
      #workspaceHost .admin-code-toolbar>label,#workspaceHost .admin-attendance-user-field{width:100%}
      #workspaceHost .meeting-actions>*{min-width:0;max-width:100%}
      #workspaceHost .admin-customer-form>.row{grid-template-columns:minmax(0,1fr)}
    }
    #appModal.app-modal .modal-base :is(.hidden,[hidden]),
    #workspaceHost.workspace-host :is(.hidden,[hidden]){display:none!important}
    @media(max-width:380px){#appModal .sprint-create-form,#appModal .expense-manual-row{grid-template-columns:minmax(0,1fr)!important}}
    @media(forced-colors:active){select:focus-visible{outline:2px solid Highlight!important}}

/* operations-center-ui */
html,body{max-width:100%;overflow-x:hidden}.notification-open{position:relative}.notification-open span{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:850}
    .activity-modal{width:min(760px,100%)!important;padding:0!important;overflow:hidden!important;background:#f8fafc!important}.activity-modal>.section-title{margin:0!important;padding:20px 24px!important;background:linear-gradient(135deg,#0f172a,#1e3a5f)!important;color:#fff}.activity-modal>.section-title h2{color:#fff}.activity-modal>.section-title button{border-color:#ffffff30!important;background:#ffffff16!important;color:#fff!important}
    .notification-center,.activity-center{box-sizing:border-box;max-height:min(72vh,720px);padding:20px 24px 24px;overflow:auto}.activity-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.activity-toolbar p{margin:0;color:#64748b;font-size:12px}.notification-list,.trash-list,.audit-list{display:grid;gap:8px}.notification-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-width:0;padding:13px 14px;border:1px solid #dbe4ed;border-radius:12px;background:#fff;color:#1e293b;text-align:left}.notification-row:hover{border-color:#93c5fd;background:#f8fbff}.notification-row.is-read{opacity:.65}.notification-row>span:nth-child(2){min-width:0}.notification-row strong,.notification-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-row strong{font-size:13px}.notification-row small{margin-top:3px;color:#64748b;font-size:11px}.notification-row time{color:#94a3b8;font-size:10px;white-space:nowrap}.notification-dot{width:8px;height:8px;border-radius:50%;background:#2563eb}.tone-danger .notification-dot{background:#ef4444}.tone-warning .notification-dot{background:#f59e0b}.tone-event .notification-dot{background:#2563eb}.tone-issue .notification-dot{background:#8b5cf6}.tone-leave .notification-dot{background:#0f766e}
    .activity-center{display:grid;gap:18px}.activity-filterbar{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;padding:12px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff}.activity-filterbar label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;margin:0;color:#475569;font-size:11px;font-weight:800}.activity-filterbar input,.activity-filterbar select{width:100%;min-width:0;height:40px;margin:0;border:1px solid #cbd8e8;border-radius:10px;background:#fff;color:#1e293b}.activity-center section{padding:16px;border:1px solid #dbe4ed;border-radius:14px;background:#fff}.activity-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.activity-section-head>div{min-width:0}.activity-section-head h3{margin:0;font-size:15px}.activity-section-head small{display:block;margin-top:3px;color:#94a3b8;font-size:10px;font-weight:650}.activity-section-head>span{padding:4px 8px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:10px;font-weight:800}.trash-row,.audit-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid #eef2f7;border-radius:10px;background:#fbfdff}.trash-row>span:nth-child(2),.audit-row>span:nth-child(2){min-width:0}.trash-row strong,.trash-row small,.audit-row strong,.audit-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-row strong,.audit-row strong{font-size:12px}.trash-row small,.audit-row small{margin-top:2px;color:#94a3b8;font-size:10px}.trash-row button{min-height:34px;padding:6px 10px}.activity-icon{display:grid;place-items:center;min-width:38px;width:auto;height:30px;padding:0 7px;border-radius:9px;background:#dbeafe;color:#1d4ed8;font-size:10px;font-weight:850;white-space:nowrap}.audit-action{padding:4px 7px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:10px;font-weight:850}.activity-empty{padding:22px;border:1px dashed #cbd5e1;border-radius:11px;color:#64748b;text-align:center;font-size:12px}
    #appModal .modal-base,#appModal .modal-base *{box-sizing:border-box;min-width:0}#appModal .modal-base :is(input,select,textarea,button){max-width:100%}#appModal .modal-actions{padding-bottom:max(16px,env(safe-area-inset-bottom))}

    /* 업무 조회 테이블 표시용 공통 스타일 */
    .work-search-table-wrap{overflow-x:auto}
    .work-search-table{width:100%;min-width:700px;border-collapse:collapse;table-layout:fixed}
    .work-search-table thead th{padding:8px 9px;border-bottom:1px solid #dbeafe;background:#f8fbff;color:#334155;font-size:11px;font-weight:800;text-align:left;white-space:nowrap}
    .work-search-table th.work-search-col-select{width:40px}
    .work-search-table td{padding:9px;border-bottom:1px solid #eef2ff;vertical-align:top;line-height:1.45}
    .work-search-table tbody tr:hover{background:#f8fbff}
    .work-search-table tbody tr.done{opacity:.72}
    .work-search-row.done .work-search-row-title{color:#64748b;text-decoration:line-through}
    .work-search-row-title{font-weight:700;color:#1e293b;min-width:0}
    .work-search-row-type,.work-search-row-meta,.work-search-row-detail,.work-search-row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .work-search-row-type{width:84px}
    .work-search-row-title{width:34%}
    .work-search-row-meta{width:22%;color:#334155}
    .work-search-row-detail{width:28%;color:#475569;font-size:12px}
    .work-search-row-select{display:flex;align-items:center;justify-content:center}
    .work-search-row .work-search-row-select input{width:16px;height:16px}
    .work-search-result-head{align-items:center;margin:10px 0 8px}
    .work-search-summary{height:56px}
    .work-search-group{padding:4px 0 0;border:0;background:transparent}
    @media (max-width: 900px){
      .work-search-table{min-width:620px}
      .work-search-table th,.work-search-table td{font-size:11px}
    }
    @media (max-width: 700px){
      .work-search-table{min-width:560px}
      .work-search-table th,.work-search-table td{padding:8px 6px}
      .work-search-row-type{width:72px}
      .work-search-row-title{width:40%}
      .work-search-row-meta{width:20%}
      .work-search-row-detail{width:26%}
    }
    @media (max-width: 560px){
      .work-search-table{min-width:520px}
      .work-search-table th,.work-search-table td{padding:7px 6px}
    }
    @media(max-width:620px){.activity-modal{width:100%!important;max-height:calc(100dvh - 18px)!important;border-radius:18px 18px 0 0!important}.activity-modal>.section-title{padding:17px 16px!important}.notification-center,.activity-center{max-height:calc(100dvh - 94px);padding:14px}.activity-toolbar{align-items:flex-start;flex-direction:column}.activity-filterbar{grid-template-columns:1fr;padding:10px}.notification-row{grid-template-columns:9px minmax(0,1fr);padding:12px}.notification-row time{grid-column:2}.activity-center section{padding:12px}.trash-row,.audit-row{grid-template-columns:auto minmax(0,1fr)}.trash-row button{grid-column:2;width:100%}.app-nav{max-width:100%;overflow-x:auto;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}#appModal .row,#appModal .form-row{max-width:100%}#appModal .modal-actions{position:sticky;bottom:0;z-index:8;background:#fff}}
/* September 11 usability bundle: weekly navigation, validation and compact reports. */
.week-neighbor-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:5px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.week-neighbor-row button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:30px;padding:4px 3px;border:1px solid transparent;border-radius:7px;background:transparent;color:#64748b;font-size:10px;font-weight:650}.week-neighbor-row button:hover{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.week-neighbor-row button span{font-size:9px;opacity:.72}.week-neighbor-row button b{font-size:10px}.week-neighbor-row.next{background:#f0fdfa}.week-neighbor-row.next button:hover{border-color:#99f6e4;background:#ccfbf1;color:#0f766e}
.weekly-daily-card .task-chip{font-size:12.5px;line-height:1.4;font-weight:720}.expense-manual-status{min-height:18px;margin:6px 0 2px;color:#b91c1c;font-size:11px;font-weight:720}.expense-field-invalid{border-color:#ef4444!important;background:#fff7f7!important;box-shadow:0 0 0 3px #fee2e255!important}.event-pending-reminder{width:auto!important;min-height:32px!important;padding:6px 10px!important;border:1px solid #fcd34d!important;background:#fffbeb!important;color:#92400e!important;font-size:10px!important;white-space:nowrap}.event-response-row.pending{border-style:dashed;background:#fffbeb}.event-response-row.pending>b{background:#fef3c7;color:#92400e}.report-executive-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin:12px 0;padding:14px 16px;border:1px solid #bfdbfe;border-radius:13px;background:linear-gradient(135deg,#eff6ff,#f8fafc)}.report-executive-summary>div{display:grid;gap:3px;padding-right:14px;border-right:1px solid #bfdbfe}.report-executive-summary span{color:#64748b;font-size:10px;font-weight:800}.report-executive-summary strong{color:#1d4ed8;font-size:17px}.report-executive-summary p{margin:0;color:#334155;font-size:12px;line-height:1.65}.report-executive-summary p b{color:#0f766e}
@media(max-width:680px){.week-neighbor-row{gap:2px;padding:4px}.week-neighbor-row button{display:grid;gap:0;min-height:34px;padding:3px 1px}.week-neighbor-row button span{font-size:8px}.week-neighbor-row button b{font-size:9px}.weekly-daily-card .task-chip{font-size:11.25px!important;line-height:1.42!important}.report-executive-summary{grid-template-columns:1fr;gap:8px;padding:12px}.report-executive-summary>div{display:flex;align-items:center;justify-content:space-between;padding:0 0 8px;border-right:0;border-bottom:1px solid #bfdbfe}.event-response-head{align-items:flex-start;flex-wrap:wrap}.event-pending-reminder{order:3;width:100%!important}}
.task-collaboration-panel>.section-title>div{display:grid;gap:3px}.task-collaboration-tabs{display:flex;gap:6px;margin:14px 0 10px;padding:4px;border-radius:11px;background:#f1f5f9}.task-collaboration-tabs button{flex:1;min-height:36px;border:0;background:transparent;color:#64748b}.task-collaboration-tabs button.active{background:#fff;color:#1d4ed8;box-shadow:0 2px 8px #0f172a12}.task-collaboration-tabs b{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 6px;border-radius:999px;background:#e2e8f0;font-size:10px}.task-collaboration-tabs button.active b{background:#dbeafe}.task-collaboration-list{display:grid;gap:8px}.task-collaboration-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;width:100%;padding:12px 13px;border:1px solid #e2e8f0;border-left:3px solid #2563eb;border-radius:11px;background:#fff;text-align:left;color:#1e293b}.task-collaboration-item:hover{border-color:#93c5fd;background:#f8fbff}.task-collaboration-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-collaboration-item small{color:#64748b}.task-collaboration-item em{grid-row:1/3;grid-column:2;align-self:center;padding:5px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:10px;font-style:normal;font-weight:850}.task-collaboration-empty{margin:0;padding:22px;border:1px dashed #cbd5e1;border-radius:11px;color:#64748b;text-align:center}.task-assignment-create{padding:12px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff}.task-assignment-create>summary{cursor:pointer;color:#1e40af;font-size:12px;font-weight:850}.task-assignment-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:12px}.task-assignment-detail{display:grid;gap:13px;padding:18px 22px 0}.task-assignment-hero{padding:14px;border:1px solid #bfdbfe;border-radius:13px;background:linear-gradient(135deg,#eff6ff,#fff)}.task-assignment-hero span,.task-assignment-hero small{display:block;color:#64748b;font-size:10px}.task-assignment-hero strong{display:block;margin:5px 0;color:#172554;font-size:17px}.task-assignment-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.task-assignment-meta>div{padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.task-assignment-meta span{display:block;color:#64748b;font-size:10px}.task-assignment-meta b{display:block;margin-top:4px;color:#334155;font-size:12px}.task-assignment-result,.task-assignment-compose{padding:12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.task-assignment-result h3,.task-assignment-compose h3{margin:0 0 8px;font-size:12px}.task-assignment-result p{white-space:pre-wrap;color:#334155;line-height:1.55}.task-assignment-messages{display:grid;gap:7px;max-height:180px;overflow:auto}.task-assignment-message{padding:9px 10px;border-radius:9px;background:#f8fafc}.task-assignment-message strong,.task-assignment-message time{font-size:10px}.task-assignment-message time{float:right;color:#94a3b8}.task-assignment-message p{margin:5px 0 0;white-space:pre-wrap;font-size:12px}.task-assignment-actions{display:flex;gap:7px;flex-wrap:wrap}.task-assignment-actions textarea{width:100%;min-height:76px}.task-assignment-detail>.modal-actions{margin:2px -22px 0!important;padding:14px 22px!important;border-top:1px solid #e2e8f0;background:#fff}@media(max-width:560px){.task-collaboration-panel>.section-title{align-items:flex-start}.task-collaboration-panel>.section-title>button{padding:7px 9px}.task-assignment-grid,.task-assignment-meta{grid-template-columns:1fr}.task-assignment-detail{padding:14px 14px 0}.task-assignment-detail>.modal-actions{margin:2px -14px 0!important;padding:12px 14px!important}.task-assignment-actions button{flex:1}}
.work-overview-card{grid-column:auto;min-width:0}.work-overview-card>.section-title{min-height:54px}.work-overview-card #overdueTasks,.work-overview-card .task-collaboration-list{max-height:280px;overflow:auto}@media(max-width:760px){.work-overview-card{grid-column:1/-1}.work-overview-card>.section-title{min-height:0}}
/* APP_JS_STATIC_CSS_END */
/* Expense approval, payment and tax collection */
.expense-workflow-panel{display:grid;gap:16px}.expense-workflow-head-actions{display:flex;gap:8px;align-items:center}.expense-workflow-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.expense-workflow-summary>div{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid var(--line,#e3e8ee);border-radius:14px;background:#f8fafc}.expense-workflow-summary span{font-size:12px;color:var(--muted,#687386)}.expense-workflow-summary strong{font-size:18px;color:#172033}.expense-workflow-list{display:grid;gap:8px}.expense-workflow-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:13px 15px;border:1px solid #e4e9ef;border-radius:14px;background:#fff;color:#172033;text-align:left;box-shadow:none}.expense-workflow-row:hover{border-color:#9eb2c8;background:#f9fbfd}.expense-workflow-row>span{min-width:0;display:grid;gap:4px}.expense-workflow-row strong,.expense-workflow-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-workflow-row small{color:#718096;font-weight:500}.expense-workflow-row>b{font-variant-numeric:tabular-nums}.expense-workflow-row>em,.expense-workflow-status{padding:5px 9px;border-radius:999px;background:#eef2f7;color:#536174;font-size:12px;font-style:normal;font-weight:800;white-space:nowrap}.expense-workflow-row.waiting>em,.expense-workflow-status.waiting{background:#fff4d6;color:#8a5a00}.expense-workflow-row.warning>em,.expense-workflow-status.warning{background:#ffead9;color:#a14300}.expense-workflow-row.danger>em,.expense-workflow-status.danger{background:#ffe3e3;color:#a52d2d}.expense-workflow-row.approved>em,.expense-workflow-status.approved{background:#e1f0ff;color:#1862a8}.expense-workflow-row.partial>em,.expense-workflow-status.partial{background:#e8e4ff;color:#5540a8}.expense-workflow-row.paid>em,.expense-workflow-status.paid{background:#ddf6e8;color:#147044}.expense-workflow-empty{padding:24px;text-align:center;color:#718096;border:1px dashed #d6dee8;border-radius:14px}.expense-workflow-form,.expense-workflow-detail,.tax-package-view{display:grid;gap:16px}.expense-workflow-lead,.expense-workflow-detail>header{display:grid;gap:5px;padding:16px;border-radius:16px;background:linear-gradient(135deg,#f3f7fb,#eef4f8)}.expense-workflow-lead span,.expense-workflow-lead small,.expense-workflow-detail header p{color:#66758a}.expense-workflow-lead strong{font-size:24px}.expense-workflow-grid,.expense-workflow-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.expense-workflow-grid .wide{grid-column:1/-1}.expense-workflow-meta>div{display:grid;gap:4px;padding:11px 12px;border:1px solid #e5eaf0;border-radius:12px}.expense-workflow-meta span{font-size:12px;color:#718096}.expense-workflow-note{display:grid;gap:5px;margin:0;padding:12px 14px;border-left:3px solid #e49a36;background:#fff8ed;border-radius:0 12px 12px 0}.expense-workflow-action{display:grid;gap:10px;padding:14px;border:1px solid #e2e8f0;border-radius:14px;background:#fafbfd}.expense-workflow-action h3,.expense-workflow-detail h3{margin:0;font-size:14px}.expense-workflow-action>div:last-child{display:flex;justify-content:flex-end;gap:8px}.expense-payment-list{display:grid;gap:7px;padding:0;margin:8px 0 0;list-style:none}.expense-payment-list li,.tax-package-list p{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;margin:0;border-radius:10px;background:#f7f9fb}.tax-package-list{display:grid;gap:6px;max-height:280px;overflow:auto}
@media(max-width:640px){.expense-workflow-panel .section-title{align-items:flex-start}.expense-workflow-head-actions{width:100%}.expense-workflow-head-actions button{flex:1}.expense-workflow-row{grid-template-columns:minmax(0,1fr) auto}.expense-workflow-row>em{grid-column:1/-1;justify-self:start}.expense-workflow-grid,.expense-workflow-meta{grid-template-columns:1fr}.expense-workflow-grid .wide{grid-column:auto}.expense-workflow-summary{gap:6px}.expense-workflow-summary>div{display:grid;gap:3px;padding:10px}.expense-workflow-summary strong{font-size:16px}}
/* Accounting workflow */
.accounting-modal{width:min(820px,calc(100vw - 24px))}.accounting-workflow,.accounting-accounts,.accounting-journal-form{display:grid;gap:16px}.accounting-toolbar,.accounting-account-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.accounting-toolbar .field{margin:0;max-width:190px}.accounting-list,#accountingAccountList{display:grid;gap:8px;max-height:430px;overflow:auto}.accounting-row,#accountingAccountList>button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid #e3e8ee;border-radius:13px;background:#fff;color:#172033;text-align:left;box-shadow:none}.accounting-row>span{display:grid;gap:3px;min-width:0}.accounting-row strong,.accounting-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accounting-row small{color:#718096}.accounting-row em,#accountingAccountList em{padding:5px 8px;border-radius:999px;background:#eef2f7;color:#536174;font-size:12px;font-style:normal}.accounting-row.draft em{background:#fff4d6;color:#8a5a00}.accounting-row.confirmed em{background:#ddf6e8;color:#147044}.accounting-setup{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px dashed #cbd6e2;border-radius:14px;background:#f8fafc}.accounting-empty{padding:24px;text-align:center;color:#718096}.accounting-check{display:flex;align-items:center;gap:8px;padding:10px 0}.accounting-check input{width:auto}#accountingAccountList>button{grid-template-columns:90px minmax(0,1fr) auto}#accountingAccountList b{font-variant-numeric:tabular-nums}.accounting-account-head p{margin:0;color:#64748b}
@media(max-width:640px){.accounting-toolbar,.accounting-account-head{align-items:stretch;flex-direction:column}.accounting-toolbar .field{max-width:none}.accounting-row{grid-template-columns:minmax(0,1fr) auto}.accounting-row em{grid-column:1/-1;justify-self:start}.accounting-setup{align-items:stretch;flex-direction:column}#accountingAccountList>button{grid-template-columns:72px minmax(0,1fr) auto}}
.tax-compliance-help{align-self:end;color:var(--muted);font-size:.82rem;padding-bottom:.7rem}.tax-compliance-list{display:grid;gap:.55rem;margin-top:1rem}.tax-compliance-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 7rem;gap:1rem;align-items:center;text-align:left;padding:.85rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text)}.tax-compliance-row:hover{border-color:var(--primary);transform:translateY(-1px)}.tax-compliance-row span{min-width:0;display:grid;gap:.18rem}.tax-compliance-row strong,.tax-compliance-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tax-compliance-row small{color:var(--muted)}.tax-compliance-row>b{font-variant-numeric:tabular-nums}.tax-compliance-row em{justify-self:end;font-style:normal;font-size:.78rem;font-weight:700;border-radius:999px;padding:.28rem .58rem;background:#fff3df;color:#a85d00}.tax-compliance-row.ready em{background:#e8f7ef;color:#17734a}.tax-compliance-empty{padding:2rem;text-align:center;color:var(--muted)}.tax-journal-note{margin:.75rem 0 0;padding:.7rem .85rem;border-radius:12px;background:var(--subtle);color:var(--muted);font-size:.84rem}
@media(max-width:640px){.tax-compliance-row{grid-template-columns:minmax(0,1fr) auto;gap:.45rem .7rem}.tax-compliance-row em{grid-column:1/-1;justify-self:start}.tax-compliance-help{display:none}}
.legal-contracts,.legal-detail{display:grid;gap:16px}.legal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.legal-toolbar>div{display:grid;gap:3px}.legal-toolbar span{color:var(--muted);font-size:13px}.legal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.legal-summary span{display:flex;justify-content:space-between;padding:10px 12px;border-radius:12px;background:#f7f9fb;color:#64748b}.legal-summary b{color:#172033}.legal-contract-list{display:grid;gap:8px;max-height:450px;overflow:auto}.legal-contract-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid #e3e8ee;border-radius:13px;background:#fff;color:#172033;text-align:left;box-shadow:none}.legal-contract-row>span{display:grid;gap:3px;min-width:0}.legal-contract-row strong,.legal-contract-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legal-contract-row small{color:#718096}.legal-contract-row em,.legal-contract-row i{padding:5px 8px;border-radius:999px;background:#eef2f7;color:#536174;font-size:12px;font-style:normal}.legal-contract-row.waiting em{background:#fff4d6;color:#8a5a00}.legal-contract-row.warning em{background:#ffead9;color:#a14300}.legal-contract-row.approved em{background:#e1f0ff;color:#1862a8}.legal-contract-row.paid em{background:#ddf6e8;color:#147044}.legal-contract-row.danger em{background:#ffe3e3;color:#a52d2d}.legal-contract-empty{padding:28px;text-align:center;color:#718096}.legal-detail>header{display:grid;gap:5px;padding:16px;border-radius:16px;background:linear-gradient(135deg,#f3f7fb,#eef4f8)}.legal-detail h2,.legal-detail h3,.legal-detail p{margin:0}.legal-summary-text{display:grid;gap:8px;padding:14px;border:1px solid #e5eaf0;border-radius:13px}.legal-summary-text p{white-space:pre-wrap;color:#536174}.legal-review-list{display:grid;gap:7px;padding:0;list-style:none}.legal-review-list li{padding:10px 12px;border-radius:11px;background:#f7f9fb}.legal-review-list p{margin-top:5px;white-space:pre-wrap;color:#536174}
@media(max-width:640px){.expense-workflow-head-actions{flex-wrap:wrap}.expense-workflow-head-actions button{min-width:calc(50% - 4px)}.legal-summary{grid-template-columns:1fr}.legal-contract-row{grid-template-columns:minmax(0,1fr) auto}.legal-contract-row em,.legal-contract-row i{grid-column:auto}.legal-contract-row i{display:none}}
.legal-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.legal-section-head h3{margin:0}.legal-file-picker{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:10px;cursor:pointer;font-weight:700}.legal-file-picker input{display:none}.legal-documents{display:grid;gap:7px}.legal-file-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e3e8ee;border-radius:11px;color:#243247;text-decoration:none;background:#fff}.legal-file-row:hover{border-color:#8fa8c1}.legal-file-row small{color:#718096}.legal-clause-list{display:grid;gap:8px}.legal-clause{display:grid;gap:7px;padding:12px 13px;border:1px solid #e3e8ee;border-left:4px solid #73a987;border-radius:11px;background:#fff}.legal-clause.risk-medium{border-left-color:#e0a33e}.legal-clause.risk-high{border-left-color:#d45b5b}.legal-clause header{display:flex;justify-content:space-between;gap:10px}.legal-clause header span{font-size:12px;font-weight:800}.legal-clause p{white-space:pre-wrap;color:#4a596c}.legal-clause small{white-space:pre-wrap;color:#718096}.legal-contract-row.due-soon{border-color:#e3aa55;background:#fffaf1}.legal-section-head>div{display:flex;gap:7px;align-items:center}.legal-comparison{display:grid;gap:14px}.legal-comparison>header{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;border-radius:13px;background:#f3f7fb}.legal-comparison>div:not(.modal-actions){display:grid;grid-template-columns:1fr 1fr;gap:12px}.legal-comparison section{padding:12px;border:1px solid #e3e8ee;border-radius:12px}.legal-comparison section h3{margin:0 0 8px}.legal-comparison .removed,.legal-comparison .added{margin:5px 0;padding:7px 9px;border-radius:8px;white-space:pre-wrap}.legal-comparison .removed{background:#fff0f0;color:#9a3535}.legal-comparison .added{background:#ebf8f0;color:#176842}@media(max-width:640px){.legal-file-row{display:grid}.legal-file-row small{overflow-wrap:anywhere}.legal-comparison>div:not(.modal-actions){grid-template-columns:1fr}.legal-section-head>div{flex-wrap:wrap;justify-content:flex-end}}
.legal-template-library{display:grid;gap:16px}.legal-template-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;max-height:62vh;overflow:auto;padding:2px}.legal-template-card{display:grid;align-content:start;gap:11px;padding:16px;border:1px solid #dfe6ed;border-radius:16px;background:linear-gradient(180deg,#fff,#fafcfd);box-shadow:0 7px 20px rgba(22,41,61,.055)}.legal-template-card>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.legal-template-card>header span,.legal-template-card>header small{padding:4px 7px;border-radius:999px;background:#edf3f8;color:#526579;font-size:11px;font-weight:800}.legal-template-card>header b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legal-template-card>p{margin:0;color:#64748b}.legal-template-clauses{display:grid;gap:7px}.legal-template-clauses>div{display:grid;gap:5px;padding:10px 11px;border-left:3px solid #78a88a;border-radius:9px;background:#f5f8fa}.legal-template-clauses>div.risk-medium{border-left-color:#dda13d}.legal-template-clauses>div.risk-high{border-left-color:#d45b5b}.legal-template-clauses span{display:flex;align-items:center;justify-content:space-between;gap:8px}.legal-template-clauses small{color:#718096;font-size:11px}.legal-template-clauses p{margin:0;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#536174;font-size:12px;white-space:pre-wrap}.legal-checklist-section{padding:14px;border:1px solid #dfe7ee;border-radius:14px;background:#fbfcfd}.legal-checklist-section .legal-section-head h3 b{margin-left:5px;color:#35705a;font-size:12px}.legal-checklist-list{display:grid;gap:7px}.legal-checklist-item{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(150px,.8fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid #e2e8ee;border-radius:11px;background:#fff}.legal-checklist-item>label{display:flex;align-items:center;gap:9px;min-width:0}.legal-checklist-item>label span{display:grid;min-width:0}.legal-checklist-item>label small{color:#718096;font-size:11px}.legal-checklist-item.completed{border-color:#bcdccb;background:#f3faf6}.legal-checklist-item.completed>label b{text-decoration:line-through;color:#587264}.legal-checklist-note{min-width:0;width:100%;height:36px}.legal-checklist-item button{min-height:36px;padding:6px 10px}@media(max-width:640px){.legal-template-list{grid-template-columns:1fr}.legal-template-card>header{grid-template-columns:auto minmax(0,1fr)}.legal-template-card>header small{grid-column:2}.legal-checklist-item{grid-template-columns:minmax(0,1fr) auto}.legal-checklist-note{grid-column:1/-1;grid-row:2}.legal-checklist-item button{grid-column:2;grid-row:1}.legal-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}}
.legal-obligation-section{padding:14px;border:1px solid #dce6f1;border-radius:14px;background:#f8fbfe}.legal-obligation-section .legal-section-head h3 b{margin-left:5px;color:#316996;font-size:12px}.legal-obligation-list{display:grid;gap:7px}.legal-obligation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid #dfe7ef;border-left:4px solid #4d8fc0;border-radius:11px;background:#fff}.legal-obligation.completed{border-left-color:#62a47c;background:#f5fbf7}.legal-obligation.waived{border-left-color:#9ba7b4;background:#f8fafb}.legal-obligation-date{display:grid;gap:2px;min-width:88px}.legal-obligation-date b{font-size:12px}.legal-obligation-date small{color:#3975a2;font-weight:800}.legal-obligation>span:nth-child(2){display:grid;gap:3px;min-width:0}.legal-obligation>span:nth-child(2)>small{color:#718096;font-size:11px}.legal-obligation p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#536174;font-size:12px}.legal-obligation em{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3d7251;font-size:12px;font-style:normal}.legal-obligation-lead{display:grid;gap:7px;padding:15px;border-radius:14px;background:#f2f7fb}.legal-obligation-lead span{color:#5f7184;font-size:12px;font-weight:700}.legal-obligation-lead h3,.legal-obligation-lead p{margin:0}.legal-obligation-lead p{white-space:pre-wrap;color:#536174}@media(max-width:640px){.legal-obligation{grid-template-columns:minmax(0,1fr) auto}.legal-obligation-date{grid-column:1/-1;display:flex;justify-content:space-between}.legal-obligation>span:nth-child(2){grid-column:1}.legal-obligation p{white-space:normal}.legal-obligation em{grid-column:1/-1}}
.legal-party-directory{display:grid;gap:16px}.legal-party-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;max-height:62vh;overflow:auto;padding:2px}.legal-party-card{display:grid;align-content:start;gap:11px;padding:15px;border:1px solid #dfe6ed;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(22,41,61,.05)}.legal-party-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.legal-party-card>header>span{display:grid;gap:2px}.legal-party-card>header small{color:#718096}.legal-party-card>header em{padding:4px 8px;border-radius:999px;background:#eef4f8;color:#526579;font-size:11px;font-style:normal;font-weight:800}.legal-party-card>p{margin:0;color:#64748b;white-space:pre-wrap}.legal-counterparty-section{padding:14px;border:1px solid #e1e5ef;border-radius:14px;background:#fbfbfd}.legal-counterparty-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);gap:12px;padding:12px;border-radius:12px;background:linear-gradient(135deg,#f5f3ff,#f7f9fc)}.legal-counterparty-head>span{display:grid;gap:3px}.legal-counterparty-head small{color:#706b83}.legal-counterparty-head p{margin:0;color:#5e6070;white-space:pre-wrap}.legal-contact-list{display:grid;gap:6px;margin-top:8px}.legal-contact{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(0,1fr);gap:10px;padding:9px 11px;border:1px solid #e5e8ee;border-radius:10px;background:#fff}.legal-contact.primary{border-color:#b8cfdf;background:#f7fbfe}.legal-contact>span{display:grid;gap:2px;min-width:0}.legal-contact small{color:#718096;font-size:11px}.legal-contact a{overflow:hidden;text-overflow:ellipsis;color:#315f82;text-decoration:none;font-size:12px}.legal-communication-list{display:grid;gap:0;margin:12px 0 0;padding:0;list-style:none}.legal-communication-list li{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;padding:11px 4px;border-top:1px solid #e6e9ef}.legal-communication-list li>i{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#8494a5}.legal-communication-list li>i.email{background:#4d8fc0}.legal-communication-list li>i.call{background:#58a073}.legal-communication-list li>i.meeting{background:#8a6fc0}.legal-communication-list li>span{display:grid;gap:3px}.legal-communication-list li small{color:#718096;font-size:11px}.legal-communication-list li p{margin:0;white-space:pre-wrap;color:#536174}.legal-communication-list li>em{color:#718096;font-size:11px;font-style:normal}@media(max-width:640px){.legal-party-list{grid-template-columns:1fr}.legal-counterparty-head{grid-template-columns:1fr}.legal-contact{grid-template-columns:1fr}.legal-communication-list li{grid-template-columns:10px minmax(0,1fr)}.legal-communication-list li>em{grid-column:2}}
.legal-toolbar-actions{display:flex;align-items:center;gap:7px}.legal-dashboard-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.legal-dashboard-summary button{display:grid;gap:5px;min-width:0;padding:11px 12px;border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc;color:#475569;text-align:left;box-shadow:none}.legal-dashboard-summary button:hover{border-color:#93c5fd;background:#eff6ff}.legal-dashboard-summary span{overflow:hidden;font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.legal-dashboard-summary b{color:#172033;font-size:20px;font-variant-numeric:tabular-nums}.legal-dashboard-brief{margin:0;padding:11px 13px;border-left:3px solid #2563eb;border-radius:0 11px 11px 0;background:#eff6ff;color:#475569;font-size:12px;line-height:1.55}.legal-dashboard-brief b{margin-right:5px;color:#1d4ed8}.legal-filterbar{display:grid;grid-template-columns:minmax(180px,1.7fr) repeat(3,minmax(110px,1fr));gap:9px;padding:11px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.legal-filterbar .field{margin:0!important;min-width:0}.legal-filterbar input,.legal-filterbar select{width:100%}
@media(max-width:760px){.legal-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-dashboard-summary button:first-child{grid-column:1/-1}.legal-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-filterbar .wide{grid-column:1/-1}.legal-toolbar{align-items:flex-start}.legal-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:440px){.legal-toolbar{display:grid}.legal-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.legal-toolbar-actions button{width:100%}.legal-filterbar{grid-template-columns:1fr}.legal-filterbar .wide{grid-column:auto}.legal-dashboard-summary b{font-size:18px}}
.legal-request-workspace,.legal-request-detail{display:grid;gap:16px}.legal-request-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.legal-request-summary span{display:grid;gap:4px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc}.legal-request-summary small{color:#64748b;font-size:11px;font-weight:800}.legal-request-summary b{color:#172033;font-size:21px}.legal-request-summary .urgent{border-color:#fed7aa;background:#fff7ed}.legal-request-summary .overdue{border-color:#fecaca;background:#fef2f2}.legal-request-list{display:grid;gap:8px;max-height:50vh;overflow:auto}.legal-request-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(130px,.38fr);align-items:center;gap:14px;width:100%;padding:12px 14px;border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:13px;background:#fff;color:#172033;text-align:left;box-shadow:none}.legal-request-row.priority-high{border-left-color:#f59e0b}.legal-request-row.priority-urgent{border-left-color:#dc2626}.legal-request-row.overdue{background:#fff8f8}.legal-request-row>span{display:grid;gap:3px;min-width:0}.legal-request-row>span:nth-child(2){display:flex;align-items:center;gap:6px}.legal-request-row b,.legal-request-row small,.legal-request-row i{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legal-request-row small,.legal-request-row i{color:#64748b;font-size:11px;font-style:normal}.legal-request-row em,.legal-request-row strong{padding:4px 7px;border-radius:999px;background:#eef2f7;font-size:11px;font-style:normal}.legal-request-row.priority-urgent em{background:#fee2e2;color:#991b1b}.legal-request-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:17px;border-left:5px solid #94a3b8;border-radius:14px;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.legal-request-hero.priority-high{border-left-color:#f59e0b}.legal-request-hero.priority-urgent{border-left-color:#dc2626}.legal-request-hero>span{display:grid;gap:5px}.legal-request-hero small{color:#64748b;font-weight:800}.legal-request-hero h2,.legal-request-hero p{margin:0}.legal-request-hero p{white-space:pre-wrap;color:#475569}.legal-request-hero>strong{padding:6px 9px;border-radius:999px;background:#fff;color:#334155;font-size:12px;white-space:nowrap}.legal-request-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.legal-request-meta span{display:grid;gap:3px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:11px}.legal-request-meta small{color:#64748b;font-size:11px}.legal-request-meta b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.danger-text{color:#b91c1c}.legal-request-links{display:flex;gap:14px;margin:0;padding:10px 12px;border-radius:10px;background:#f8fafc;color:#64748b;font-size:12px}.legal-request-events{display:grid;gap:0;margin:0;padding:0;list-style:none}.legal-request-events li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;padding:10px 3px;border-top:1px solid #e5e7eb}.legal-request-events i{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#64748b}.legal-request-events span{display:grid;gap:3px}.legal-request-events small{color:#64748b;font-size:11px}.legal-request-resolution{padding:13px;border:1px solid #bbf7d0;border-radius:12px;background:#f0fdf4}.legal-request-resolution small{color:#166534;font-weight:800}.legal-request-resolution p{margin:5px 0 0;white-space:pre-wrap;color:#365947}@media(max-width:700px){.legal-request-summary,.legal-request-meta{grid-template-columns:repeat(2,1fr)}.legal-request-row{grid-template-columns:minmax(0,1fr) auto}.legal-request-row>span:last-child{grid-column:1/-1;display:flex;justify-content:space-between}.legal-request-links{display:grid}}@media(max-width:440px){.legal-request-summary{grid-template-columns:repeat(2,1fr)}.legal-request-hero{display:grid}.legal-request-meta{grid-template-columns:1fr 1fr}}
.legal-request-collaboration{display:grid;gap:14px;padding:14px;border:1px solid #dfe6ee;border-radius:14px;background:#fbfcfe}.legal-request-comments{display:grid;gap:7px}.legal-request-comments article{display:grid;gap:6px;padding:11px 12px;border:1px solid #e2e8f0;border-left:4px solid #64748b;border-radius:11px;background:#fff}.legal-request-comments article.external_sent{border-left-color:#2563eb}.legal-request-comments article.external_received{border-left-color:#16a34a}.legal-request-comments header{display:flex;justify-content:space-between;gap:8px}.legal-request-comments header b{font-size:12px}.legal-request-comments header small,.legal-request-comments article>span{color:#64748b;font-size:11px}.legal-request-comments p{margin:0;white-space:pre-wrap;color:#475569}.legal-request-files{display:grid;gap:7px;padding-top:4px;border-top:1px solid #e2e8f0}.legal-request-files>a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#334155;text-decoration:none}.legal-request-files>a>span{display:grid;gap:2px;min-width:0}.legal-request-files>a b,.legal-request-files>a small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legal-request-files>a small{color:#64748b;font-size:11px}.legal-request-files>a em{color:#2563eb;font-size:11px;font-style:normal;font-weight:800}.file-button{display:inline-flex;align-items:center;cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}@media(max-width:520px){.legal-request-comments header{display:grid}.legal-request-files>a{align-items:flex-start}}
.legal-request-report{display:grid;gap:16px}.legal-request-report>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.legal-request-report>header div{display:grid;gap:2px}.legal-request-report h2,.legal-request-report h3{margin:0}.legal-request-report>header small{color:#64748b;font-weight:800}.legal-report-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.legal-report-kpis span{display:grid;gap:4px;padding:13px;border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc}.legal-report-kpis small{color:#64748b;font-size:11px;font-weight:800}.legal-report-kpis b{font-size:20px}.legal-report-kpis .danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}.legal-report-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:10px}.legal-report-breakdown section{padding:13px;border:1px solid #e2e8f0;border-radius:13px}.legal-report-breakdown h3{margin-bottom:8px;font-size:13px}.legal-report-breakdown p{display:flex;justify-content:space-between;margin:0;padding:7px 0;border-top:1px solid #edf1f5;color:#475569;font-size:12px}.legal-report-risks{display:grid;gap:6px}.legal-report-risks article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-left:4px solid #ef4444;border-radius:10px;background:#fff7f7}.legal-report-risks article>span{display:grid;gap:2px;min-width:0}.legal-report-risks small{color:#64748b;font-size:11px}.legal-report-risks em{color:#b91c1c;font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}@media(max-width:600px){.legal-report-kpis{grid-template-columns:repeat(2,1fr)}.legal-report-breakdown{grid-template-columns:1fr}.legal-request-report>header{align-items:flex-start}}
.legal-approval-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.legal-approval-list li{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.legal-approval-list li>b{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px}.legal-approval-list li>span{display:grid;min-width:0}.legal-approval-list li small{overflow:hidden;color:#64748b;text-overflow:ellipsis;white-space:nowrap}.legal-approval-list li em{padding:4px 8px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:10px;font-style:normal;font-weight:800}.legal-approval-list li.pending{border-color:#93c5fd;background:#eff6ff}.legal-approval-list li.pending em{background:#dbeafe;color:#1d4ed8}.legal-approval-list li.approved em{background:#dcfce7;color:#15803d}.legal-approval-list li.rejected em{background:#fee2e2;color:#b91c1c}.legal-approval-list li>p{grid-column:2/-1;margin:0;color:#64748b;font-size:11px}.legal-history{border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;overflow:hidden}.legal-history summary{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;color:#334155;font-weight:800;list-style:none}.legal-history summary::-webkit-details-marker{display:none}.legal-history summary b{padding:3px 7px;border-radius:999px;background:#e2e8f0;color:#64748b;font-size:10px}.legal-history ol{display:grid;gap:0;margin:0;padding:0 14px 12px;list-style:none}.legal-history li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:9px;padding:9px 0;border-top:1px solid #e2e8f0}.legal-history li>i{width:8px;height:8px;margin-top:4px;border-radius:999px;background:#2563eb}.legal-history li>span{display:grid;gap:2px}.legal-history li small{color:#64748b;font-size:10px}.legal-history li p{margin:3px 0 0;color:#475569;font-size:11px;white-space:pre-wrap}.legal-approval-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.legal-form-guide{margin:0;padding:11px 13px;border-radius:11px;background:#eff6ff;color:#1e40af;font-size:12px;line-height:1.55}.legal-form-guide.warning{background:#fff7ed;color:#9a3412}
@media(max-width:560px){.legal-approval-plan{grid-template-columns:1fr}.legal-approval-list li{grid-template-columns:34px minmax(0,1fr)}.legal-approval-list li em{grid-column:2;justify-self:start}.legal-approval-list li>p{grid-column:2}}
/* Dashboard A — focused desktop overview layered over the preserved baseline. */
body.logged-in main{width:min(100% - 32px,1720px);max-width:1720px}
.dashboard-a{display:grid;gap:18px;padding:4px 0 28px}
.dashboard-a.hidden{display:none}
.dashboard-a-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:6px 2px 2px}
.dashboard-a-kicker{display:block;margin-bottom:7px;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.14em}
.dashboard-a-head h2{margin:0;color:#172033;font-size:clamp(24px,2.2vw,34px);line-height:1.12;letter-spacing:-.035em}
.dashboard-a-head p{margin:7px 0 0;color:#697386;font-size:14px}
.dashboard-a-head-actions{display:flex;align-items:center;gap:8px;flex:none}
.dashboard-a-head-actions button,.dashboard-a-cost-head button{min-height:38px;padding:0 15px;border-radius:10px;font-size:13px;font-weight:750}
.dashboard-a-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.dashboard-a-stats>button{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label value" "help value";align-items:center;min-width:0;min-height:92px;padding:16px 18px;text-align:left;background:#fff;border:1px solid #e4e9f1;border-radius:14px;box-shadow:0 5px 20px rgba(29,41,57,.045);color:#273142}
.dashboard-a-stats>button:hover{border-color:#b8c8e8;box-shadow:0 8px 24px rgba(29,41,57,.08);transform:translateY(-1px)}
.dashboard-a-stats span{grid-area:label;font-size:13px;font-weight:750;color:#4d596b}
.dashboard-a-stats strong{grid-area:value;margin-left:16px;font-size:30px;line-height:1;color:#172033;font-variant-numeric:tabular-nums}
.dashboard-a-stats small{grid-area:help;margin-top:6px;color:#8a94a5;font-size:11px}
.dashboard-a-stats>.attention{border-color:#f1d8ad;background:#fffdf8}
.dashboard-a-stats>.attention strong{color:#c66b12}
.dashboard-a-stats>.project-issue-stat strong{color:#3568b6}
.dashboard-a-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.dashboard-a-main{display:grid;gap:14px;min-width:0}
.dashboard-a-overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:14px}
.dashboard-a .card{border:1px solid #e4e9f1;border-radius:15px;box-shadow:0 5px 22px rgba(29,41,57,.045)}
.dashboard-a .section-title{margin-bottom:13px}
.dashboard-a .section-title h2{font-size:16px;letter-spacing:-.018em}
.dashboard-a .section-title button,.dashboard-a .week-nav button{min-height:32px;padding:0 10px;border-radius:8px;font-size:12px}
.dashboard-a .task-collaboration-panel.hidden{display:none}
.dashboard-a .task-collaboration-panel{min-height:218px}
.dashboard-finance-panel{min-height:218px}
.dashboard-finance-panel>.section-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:10px;row-gap:3px}
.dashboard-finance-panel>.section-title>div{min-width:0}
.dashboard-finance-panel>.section-title h2,.dashboard-finance-panel>.section-title .muted{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-finance-panel>.section-title button{white-space:nowrap;min-width:max-content}
.dashboard-finance-counts{display:grid;gap:7px}
.dashboard-finance-counts button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:43px;padding:0 12px;border:1px solid #e8ecf2;border-radius:10px;background:#f8fafc;color:#4a5567}
.dashboard-finance-counts button:hover{background:#f2f6fb;border-color:#cbd7e8}
.dashboard-finance-counts strong{font-size:17px;color:#182235;font-variant-numeric:tabular-nums}
.dashboard-a-calendar{min-width:0;overflow:hidden}
.dashboard-a-calendar .calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;gap:7px;overflow:visible}
.dashboard-a-calendar .calendar>.day{min-width:0;padding:10px 8px}
.dashboard-a-calendar .calendar .week-neighbor-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}
.dashboard-a-calendar .calendar .week-neighbor-row button{min-width:0;padding:7px 3px}
.dashboard-a-calendar .task-chip,.dashboard-a-calendar .weekly-event-chip{width:100%;min-width:0;overflow:hidden;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.dashboard-a-calendar>.section-title{align-items:center}
.dashboard-a-calendar .week-nav{display:flex;align-items:center;gap:7px;white-space:nowrap}
.dashboard-a-calendar #weekRange{min-width:128px;text-align:center;font-size:12px}
.dashboard-a-cost{display:grid;gap:12px;min-width:0;padding:16px;background:#f4f7fb;border:1px solid #e1e7ef;border-radius:17px;position:sticky;top:74px}
.dashboard-a-cost-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 1px 2px}
.dashboard-a-cost-head span{display:block;color:#718096;font-size:10px;font-weight:850;letter-spacing:.15em}
.dashboard-a-cost-head h2{margin:3px 0 0;color:#1f2a3b;font-size:18px;letter-spacing:-.02em}
.dashboard-a-cost>.wide,.dashboard-a-cost>.card{grid-column:auto;width:auto;margin:0}
.dashboard-a-cost .expense-search-card,.dashboard-a-cost .expense-workflow-panel{padding:15px}
.dashboard-a-cost #expenseSearchCard>.row{display:none}
.dashboard-a-cost #expenseSearchCard>.section-title{display:block;margin-bottom:12px}
.dashboard-a-cost #expenseSearchCard>.section-title h2{display:block;margin:0 0 5px;white-space:nowrap}
.dashboard-a-cost #expenseSearchCard>.section-title .muted{display:block;margin:0;font-size:10.5px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-a-cost #expenseAnalysis{margin:0}
.dashboard-a-cost #expenseAnalysis .expense-category-bars{display:grid;grid-template-columns:1fr;gap:6px}
.dashboard-a-cost #expenseAnalysis .expense-category-bar{padding:9px 10px;border-radius:9px}
.dashboard-a-cost #expenseAnalysis .expense-category-bar:nth-child(n+5){display:none}
.dashboard-a-cost #expenseAnalysis #finalBudgetOpen{width:100%;min-height:32px;margin-top:8px}
.dashboard-a-cost #expenseWorkflowPanel{display:none}
.dashboard-a-cost #dailyExpensePanel{padding:0;border:0;box-shadow:none;background:transparent}
.dashboard-a-cost .expense-workflow-head-actions{display:flex;flex-wrap:wrap;gap:5px}
.dashboard-a-cost .expense-workflow-head-actions button{min-height:29px;padding:0 8px;font-size:11px}
.dashboard-a-info{display:none}
.dashboard-a-info p{margin:0;font-size:11px}
.dashboard-a-focus{animation:dashboardAFocus 1.2s ease}
@keyframes dashboardAFocus{0%,100%{box-shadow:0 5px 22px rgba(29,41,57,.045)}35%{box-shadow:0 0 0 4px rgba(55,105,180,.18),0 12px 28px rgba(29,41,57,.1)}}
.dashboard-overdue-summary{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;padding:13px 15px;background:#fff8eb;border:1px solid #f2dfb9;border-radius:12px}
.dashboard-overdue-summary strong{font-size:23px;color:#b45f10}
.dashboard-overdue-summary span{color:#6f6558;font-size:13px}
.dashboard-overdue-list{display:grid;gap:7px;max-height:min(55vh,520px);overflow:auto}
.dashboard-overdue-list>button{display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:11px 12px;text-align:left;background:#fff;border:1px solid #e7ebf1;border-radius:10px;color:#344054}
.dashboard-overdue-list>button:hover{border-color:#b9c8df;background:#f8fafc}
.dashboard-overdue-list span,.dashboard-overdue-list small{color:#758095;font-size:12px}
.dashboard-overdue-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.dashboard-finance-shell{width:min(760px,calc(100vw - 28px))}
.dashboard-finance-modal{display:grid;gap:18px;padding-top:2px}
.dashboard-finance-intro{margin:0;color:#667085;font-size:13px}
.dashboard-finance-modal .expense-workflow-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.dashboard-finance-modal .expense-workflow-summary>div{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:12px 14px;border:1px solid #e3e8f0;border-radius:12px;background:#f8fafc}
.dashboard-finance-modal .expense-workflow-summary span{color:#667085;font-size:12px}
.dashboard-finance-modal .expense-workflow-summary strong{font-size:22px;color:#172033}
.dashboard-finance-modal .expense-workflow-list{min-height:150px}
.dashboard-finance-empty{display:grid;place-items:center;gap:5px;min-height:150px;padding:24px;border:1px dashed #d8e0eb;border-radius:12px;background:#fbfcfe;text-align:center}
.dashboard-finance-empty b{color:#344054;font-size:14px}.dashboard-finance-empty span{color:#8490a3;font-size:12px}
.dashboard-finance-actions{justify-content:flex-start!important;padding-top:14px!important;border-top:1px solid #e9edf3}
.expense-budget-load-error{display:grid;gap:10px;padding:22px;border:1px solid #f0d4af;border-radius:12px;background:#fffaf3}
.expense-budget-load-error strong{color:#8a4b10}.expense-budget-load-error p,.expense-budget-load-error small{margin:0}.expense-budget-load-error small{color:#7a6b5b}.expense-budget-load-error button{justify-self:start;margin-top:4px}
.report-writing-panel{display:grid;gap:10px;margin:14px 0;padding:15px;border:1px solid #dce6f4;border-radius:13px;background:#f8fbff}
.report-writing-panel header{display:flex;align-items:end;justify-content:space-between;gap:16px}
.report-writing-panel header span,.report-writing-panel header strong{display:block}.report-writing-panel header span{color:#4770aa;font-size:10px;font-weight:800;letter-spacing:.08em}.report-writing-panel header strong{margin-top:3px;font-size:15px}.report-writing-panel header small{color:#75839a;font-size:11px;text-align:right}
.report-writing-panel textarea{width:100%;min-height:260px;resize:vertical;padding:13px 14px;border:1px solid #cfd9e8;border-radius:10px;background:#fff;color:#263246;font:12.5px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}
.report-writing-actions{display:flex;align-items:center;gap:7px}.report-writing-actions .spacer{flex:1}.report-writing-panel>p{min-height:18px;margin:0;color:#31705d;font-size:11px}
@media(max-width:1400px){.dashboard-a-layout{grid-template-columns:minmax(0,1fr) minmax(320px,340px)}.dashboard-a-overview{grid-template-columns:minmax(0,1.15fr) minmax(285px,.85fr)}}
@media(max-width:1120px){body.logged-in main{width:min(100% - 24px,1120px);max-width:1120px}.dashboard-a-overview{grid-template-columns:1fr}.dashboard-a-cost{position:static}}
@media(max-width:900px){.dashboard-a-layout{grid-template-columns:1fr}.dashboard-a-cost{width:100%}}
@media(max-width:760px){.dashboard-a{gap:12px}.dashboard-a-head{align-items:flex-start;flex-direction:column}.dashboard-a-head-actions{width:100%}.dashboard-a-head-actions button{flex:1}.dashboard-a-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-a-stats>button{min-height:80px;padding:13px}.dashboard-a-stats strong{font-size:24px}.dashboard-a-overview,.dashboard-a-cost{grid-template-columns:1fr}.dashboard-a-calendar>.section-title{align-items:flex-start;gap:9px}.dashboard-a-calendar .week-nav{width:100%;justify-content:flex-start;flex-wrap:wrap;white-space:normal}.dashboard-a-calendar .calendar{grid-template-columns:1fr}.dashboard-a-calendar .calendar .week-neighbor-row{grid-column:1;grid-template-columns:repeat(7,minmax(0,1fr))}.dashboard-a-calendar .calendar>.day{min-height:auto}.dashboard-a-cost-head,.dashboard-a-cost .expense-workflow-panel{grid-column:auto}.dashboard-overdue-list>button{grid-template-columns:76px minmax(0,1fr)}.dashboard-overdue-list small{display:none}.report-writing-panel header{align-items:flex-start;flex-direction:column}.report-writing-panel header small{text-align:left}.dashboard-finance-modal .expense-workflow-summary{grid-template-columns:1fr}.dashboard-finance-actions{display:grid!important;grid-template-columns:repeat(3,1fr)}.dashboard-finance-actions button{width:100%}}
