/* =============================================================
   홈(#dashboard-content) — 맥 · 시안 3 구성 (사용자 2026-10-28: "시안3으로 · 바로추가 1안")
   제목 줄('홈' + 날짜 + 작은 숫자 4개) / 공지사항 · 미션 & 할일 두 칸(같은 높이) / 달력.
   칸: 흰 바탕 · 둥근 10 · 머리카락 선, 목록 한 줄 32px. 굵기 400/600/700만.
   채운 파랑 단추 없음(할 일은 목록 끝 줄에서 Enter). 되돌리기: index.tsx 의 이 파일 <link> 한 줄.
   ============================================================= */
html #dashboard-content.tab-content *:not(i):not(.fas):not(.far):not(.fa){ font-family:var(--ui-font) !important }
html #dashboard-content.tab-content .dashboard-toss-grid{ gap:12px !important }

/* 1. 제목 줄 */
html #dashboard-content.tab-content .dashboard-hero{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 2px !important; overflow:visible !important }
html #dashboard-content.tab-content .dashboard-title-row{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap }
html #dashboard-content.tab-content .dashboard-title{ margin:0; font-size:var(--ui-text-title1); font-weight:var(--ui-weight-bold); letter-spacing:var(--ui-tracking-tight); color:var(--ui-text-1) }
html #dashboard-content.tab-content .dashboard-title-date{ color:var(--ui-text-2); font-size:var(--ui-text-body); font-variant-numeric:tabular-nums }
html #dashboard-content.tab-content .dashboard-counts{ margin-left:auto; display:flex; gap:14px; align-items:baseline }
html #dashboard-content.tab-content .dashboard-counts > *{ border:0; background:none; padding:2px 4px; margin:0; font:inherit; font-size:var(--ui-text-footnote) !important; color:var(--ui-text-2) !important; border-radius:var(--ui-radius-row); white-space:nowrap }
html #dashboard-content.tab-content .dashboard-counts > button{ cursor:pointer }
html #dashboard-content.tab-content .dashboard-counts > button:hover{ background:var(--ui-fill-subtle) }
html #dashboard-content.tab-content .dashboard-counts b{ margin-left:4px; color:var(--ui-text-1); font-weight:var(--ui-weight-semibold); font-variant-numeric:tabular-nums }

/* 2. 칸 */
html #dashboard-content.tab-content .dashboard-card:not(.dashboard-hero){ background:var(--ui-surface) !important; border:0 !important; box-shadow:0 0 0 var(--ui-hairline) var(--ui-line) !important; border-radius:var(--ui-radius-card) !important; transform:none !important }
html #dashboard-content.tab-content .dashboard-equal-card{ height:286px !important; display:flex !important; flex-direction:column !important }
html #dashboard-content.tab-content .dashboard-card-head{ padding:10px 14px 6px !important; border:0 !important; min-height:0 !important; align-items:center !important; gap:8px !important }
html #dashboard-content.tab-content .dashboard-card-head > div:first-child{ display:flex; align-items:baseline; gap:8px; min-width:0 }
html #dashboard-content.tab-content .dashboard-card-head h3{ margin:0 !important; font-size:var(--ui-text-callout) !important; font-weight:var(--ui-weight-bold) !important; color:var(--ui-text-1) !important; white-space:nowrap; display:flex; align-items:center; gap:6px }
html #dashboard-content.tab-content .dashboard-card-head h3 i{ display:none !important }
html #dashboard-content.tab-content .dashboard-card-head p{ margin:0 !important; font-size:var(--ui-text-footnote) !important; font-weight:var(--ui-weight-regular) !important; color:var(--ui-text-2) !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0 }

/* 3. 머리 단추: 파란 글자 단추(시안의 '전체 보기'), 관리자 단추도 같은 모양 */
html #dashboard-content.tab-content .dashboard-card-head button, html #dashboard-content.tab-content .dashboard-small-btn, html #dashboard-content.tab-content .dashboard-primary-btn, html #dashboard-content.tab-content button.dashboard-muted-pill{ background:transparent !important; color:var(--ui-accent-text) !important; border:0 !important; box-shadow:none !important; border-radius:var(--ui-radius-row) !important; font-size:var(--ui-text-footnote) !important; font-weight:var(--ui-weight-regular) !important; min-height:24px !important; padding:2px 6px !important; white-space:nowrap }
html #dashboard-content.tab-content .dashboard-card-head button:hover, html #dashboard-content.tab-content .dashboard-small-btn:hover, html #dashboard-content.tab-content .dashboard-primary-btn:hover, html #dashboard-content.tab-content button.dashboard-muted-pill:hover{ background:var(--ui-fill-subtle) !important }
html #dashboard-content.tab-content .dashboard-card-head button i, html #dashboard-content.tab-content .dashboard-small-btn i, html #dashboard-content.tab-content .dashboard-primary-btn i, html #dashboard-content.tab-content button.dashboard-muted-pill i{ color:inherit !important; font-size:var(--ui-text-caption) !important }
html #dashboard-content.tab-content .dashboard-head-actions{ display:flex; gap:2px }
html #dashboard-content.tab-content .dashboard-mini-refresh{ background:var(--ui-fill) !important; color:var(--ui-text-1) !important; border:0 !important; border-radius:var(--ui-radius-control) !important; font-size:var(--ui-text-footnote) !important; font-weight:var(--ui-weight-semibold) !important; box-shadow:none !important }

/* 4. 공지 목록: 한 줄 32px, 줄 사이 머리카락 선 */
html #dashboard-content.tab-content .dashboard-scroll-list{ height:auto !important; flex:1 1 auto; min-height:0; overflow-y:auto; padding:0 0 4px !important }
html #dashboard-content.tab-content .toss-detail-row{ display:flex !important; align-items:center !important; gap:8px !important; min-height:var(--ui-row) !important; padding:4px 14px !important; margin:0 !important; background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; position:relative }
html #dashboard-content.tab-content .toss-detail-row + .toss-detail-row::before, html #dashboard-content.tab-content .nf-row + .nf-row .toss-detail-row::before{ content:""; position:absolute; top:0; left:14px; right:0; border-top:var(--ui-hairline) solid var(--ui-line) }
html #dashboard-content.tab-content .toss-detail-row:hover{ background:var(--ui-fill-subtle) !important }
html #dashboard-content.tab-content .toss-detail-row.emphasis{ background:transparent !important }
html #dashboard-content.tab-content .toss-detail-icon{ display:none !important }
html #dashboard-content.tab-content .toss-detail-main{ flex:1 1 auto !important; min-width:0 !important; display:flex !important; align-items:center; gap:6px }
html #dashboard-content.tab-content .toss-detail-title{ font-size:var(--ui-text-body) !important; font-weight:var(--ui-weight-regular) !important; color:var(--ui-text-1) !important; min-width:0; flex:0 1 auto; gap:6px !important; line-height:1.3 !important }
html #dashboard-content.tab-content .toss-detail-title .title-text{ font-weight:var(--ui-weight-regular) !important; color:var(--ui-text-1) !important }
html #dashboard-content.tab-content .toss-detail-desc{ display:none !important }
html #dashboard-content.tab-content .toss-detail-meta{ margin:0 !important; flex:none; flex-wrap:nowrap !important; gap:4px !important }
html #dashboard-content.tab-content .toss-detail-side{ min-width:0 !important; flex:none; margin-left:auto; flex-direction:row !important; align-items:center !important; gap:6px !important }
html #dashboard-content.tab-content .toss-date{ font-weight:var(--ui-weight-regular) !important; color:var(--ui-text-2) !important; font-size:var(--ui-text-footnote) !important; font-variant-numeric:tabular-nums }
html #dashboard-content.tab-content .toss-mini-chip{ height:18px !important; min-height:0 !important; padding:0 6px !important; font-size:var(--ui-text-caption) !important; line-height:18px !important; font-weight:var(--ui-weight-semibold) !important; border:0 !important; border-radius:var(--ui-radius-row) !important }
html #dashboard-content.tab-content .toss-mini-chip.gray{ background:transparent !important; color:var(--ui-text-2) !important; padding:0 2px 0 0 !important; font-weight:var(--ui-weight-regular) !important }
html #dashboard-content.tab-content .toss-mini-chip.yellow{ background:transparent !important; color:var(--ui-warning) !important; padding:0 !important }
html #dashboard-content.tab-content .toss-mini-chip.red{ background:var(--ui-danger-tint) !important; color:var(--ui-danger) !important }
html #dashboard-content.tab-content .toss-mini-chip.green{ background:var(--ui-success-tint) !important; color:var(--ui-success) !important }
html #dashboard-content.tab-content .toss-mini-chip.blue, html #dashboard-content.tab-content .toss-mini-chip.purple{ background:var(--ui-accent-tint) !important; color:var(--ui-accent-text) !important }

/* 5. 미션 & 할일 탭: 맥 분할 단추 한 줄, 처리 필요 개수 빨간 숫자 */
html #dashboard-content.tab-content .dashboard-quick-tabs{ display:flex !important; flex-wrap:nowrap !important; gap:2px !important; margin:0 14px 6px !important; padding:2px !important; background:var(--ui-fill) !important; border-radius:var(--ui-radius-control) !important; border:0 !important }
html #dashboard-content.tab-content .dashboard-quick-tab{ flex:1 1 0; display:inline-flex; align-items:center; justify-content:center; gap:4px; white-space:nowrap; min-height:24px !important; padding:0 6px !important; border:0 !important; border-radius:var(--ui-radius-row) !important; background:transparent !important; box-shadow:none !important; color:var(--ui-text-1) !important; font-size:var(--ui-text-footnote) !important; font-weight:var(--ui-weight-regular) !important }
html #dashboard-content.tab-content .dashboard-quick-tab.hidden{ display:none !important }
html #dashboard-content.tab-content .dashboard-quick-tab.active{ background:var(--ui-surface) !important; box-shadow:var(--ui-elev-control) !important; font-weight:var(--ui-weight-semibold) !important }
html #dashboard-content.tab-content .dashboard-tab-badge{ display:inline-flex; align-items:center; justify-content:center; min-width:16px; height:16px; padding:0 4px; border-radius:var(--ui-radius-pill); background:var(--ui-danger); color:var(--ui-on-accent); font-size:var(--ui-text-caption); font-weight:var(--ui-weight-semibold); font-variant-numeric:tabular-nums }
html #dashboard-content.tab-content .dashboard-tab-badge.hidden{ display:none }
html #dashboard-content.tab-content .dashboard-quick-panels{ flex:1 1 auto; min-height:0; display:flex; flex-direction:column }
html #dashboard-content.tab-content .dashboard-quick-panel.active{ flex:1 1 auto; min-height:0; overflow-y:auto; display:flex !important; flex-direction:column; padding:0 !important; border:0 !important; background:transparent !important }
html #dashboard-content.tab-content .dashboard-quick-panel:not(#dashboard-quick-panel-todo){ padding:0 14px 8px !important }
html #dashboard-content.tab-content .dashboard-embedded-panel{ border:0 !important; padding:0 !important; background:transparent !important; box-shadow:none !important }
html #dashboard-content.tab-content .dashboard-embedded-panel button[class*="rounded-t"], html #dashboard-content.tab-content .dashboard-embedded-panel button[class*="bg-blue-50"]{ background:transparent !important; color:var(--ui-text-1) !important; font-weight:var(--ui-weight-semibold) !important }
html #dashboard-content.tab-content .dashboard-count-badge{ background:var(--ui-fill) !important; color:var(--ui-text-2) !important; font-weight:var(--ui-weight-semibold) !important; font-size:var(--ui-text-caption) !important }
html #dashboard-content.tab-content .dashboard-empty-state{ padding:16px 8px !important; min-height:0 !important; background:transparent !important; border:0 !important }
html #dashboard-content.tab-content .dashboard-empty-state i{ font-size:var(--ui-text-title2) !important; color:var(--ui-text-3) !important }
html #dashboard-content.tab-content .dashboard-empty-state strong{ font-weight:var(--ui-weight-semibold) !important; font-size:var(--ui-text-body) !important; color:var(--ui-text-1) !important }
html #dashboard-content.tab-content .dashboard-empty-state span{ font-size:var(--ui-text-footnote) !important; color:var(--ui-text-2) !important }
html #dashboard-content.tab-content #admin-pending-content > div:first-child{ flex-wrap:wrap; gap:6px }
html #dashboard-content.tab-content #admin-pending-content > div:first-child > div:first-child{ overflow-x:auto; flex-wrap:nowrap; max-width:100% }
html #dashboard-content.tab-content #admin-pending-content > div:first-child > div:first-child > button{ white-space:nowrap; flex:none }
html #dashboard-content.tab-content #admin-pending-content .py-8{ padding-top:16px !important; padding-bottom:16px !important }

/* 6. 할 일 탭: 미션 현황 한 줄 + 목록(32px) + 목록 끝 '+ 새 할 일' 줄(맥 미리 알림식) */
html #dashboard-content.tab-content #dashboard-quick-panel-todo .dashboard-todo-widget{ flex:1 1 auto; min-height:0; display:flex; flex-direction:column; padding:0 !important; gap:0 !important }
html #dashboard-content.tab-content .dashboard-mission-summary{ margin:0 14px 4px; min-height:26px !important; padding:3px 10px !important; border:0 !important; background:var(--ui-fill-subtle) !important; border-radius:var(--ui-radius-control) !important; box-shadow:none !important; display:flex; justify-content:space-between; align-items:center }
html #dashboard-content.tab-content .dashboard-mission-summary *{ font-weight:var(--ui-weight-regular) !important; font-size:var(--ui-text-footnote) !important; color:var(--ui-text-2) !important }
html #dashboard-content.tab-content .dashboard-mission-summary b{ font-weight:var(--ui-weight-semibold) !important; color:var(--ui-text-1) !important }
html #dashboard-content.tab-content #dashboard-todos{ flex:1 1 auto; min-height:0; display:flex !important; flex-direction:column }
html #dashboard-content.tab-content #dashboard-todos .ptodo-listbox{ flex:1 1 auto; min-height:0; overflow-y:auto }
html #dashboard-content.tab-content #dashboard-todos .ptodo-meta{ display:none !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-list{ margin:0 !important; padding:0 !important; border:0 !important; gap:0 !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-item{ min-height:var(--ui-row) !important; padding:4px 14px !important; margin:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; position:relative; gap:10px !important; align-items:center !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-item + .ptodo-item::before{ content:""; position:absolute; top:0; left:40px; right:0; border-top:var(--ui-hairline) solid var(--ui-line) }
html #dashboard-content.tab-content #dashboard-todos .ptodo-item:hover{ background:var(--ui-fill-subtle) !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-date{ display:none !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-check{ order:-1; width:16px !important; height:16px !important; min-width:16px !important; border-radius:50% !important; border:1.5px solid var(--ui-text-3) !important; background:transparent !important; color:transparent !important; padding:0 !important; box-shadow:none !important; display:inline-flex; align-items:center; justify-content:center }
html #dashboard-content.tab-content #dashboard-todos .ptodo-check i{ font-size:var(--ui-text-caption) !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-item.is-done .ptodo-check{ background:var(--ui-accent) !important; border-color:var(--ui-accent) !important; color:var(--ui-on-accent) !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-item.is-done .ptodo-check i{ color:var(--ui-on-accent) !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-text{ font-size:var(--ui-text-body) !important; font-weight:var(--ui-weight-regular) !important; color:var(--ui-text-1) !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
html #dashboard-content.tab-content #dashboard-todos .ptodo-item.is-done .ptodo-text{ color:var(--ui-text-3) !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-main{ min-width:0; flex:1 1 auto; display:flex; align-items:center; gap:6px; flex-wrap:nowrap !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-item-right{ flex:none; gap:2px !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-icon{ opacity:0; width:22px !important; height:22px !important; border:0 !important; background:transparent !important; color:var(--ui-text-2) !important; border-radius:var(--ui-radius-row) !important; box-shadow:none !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-item:hover .ptodo-icon, html #dashboard-content.tab-content #dashboard-todos .ptodo-icon:focus-visible{ opacity:1 }
html #dashboard-content.tab-content #dashboard-todos .ptodo-icon:hover{ background:var(--ui-fill) !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-empty{ padding:12px 14px !important; text-align:left !important; color:var(--ui-text-2) !important; font-size:var(--ui-text-footnote) !important; background:transparent !important; border:0 !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-empty i{ display:none !important }
html #dashboard-content.tab-content .ptodo-add-inline{ position:relative; display:flex !important; flex-wrap:wrap; align-items:center; gap:10px; min-height:var(--ui-row); padding:4px 14px !important; margin:0 !important; background:transparent !important; border:0 !important; box-shadow:none !important; cursor:text; flex:none }
html #dashboard-content.tab-content .ptodo-add-inline::before{ content:""; position:absolute; top:0; left:40px; right:0; border-top:var(--ui-hairline) solid var(--ui-line) }
html #dashboard-content.tab-content .ptodo-inline-plus{ width:16px; height:16px; border-radius:50%; background:var(--ui-accent); color:var(--ui-on-accent); display:inline-flex; align-items:center; justify-content:center; font-size:var(--ui-text-footnote); line-height:1; flex:none; cursor:pointer }
html #dashboard-content.tab-content .ptodo-add-inline:focus-within .ptodo-inline-plus{ background:transparent; border:1.5px solid var(--ui-text-3); color:transparent }
html #dashboard-content.tab-content .ptodo-add-inline input{ flex:1 1 120px; min-width:0; height:22px; border:0 !important; outline:0 !important; background:transparent !important; box-shadow:none !important; padding:0 !important; font-size:var(--ui-text-body) !important; color:var(--ui-text-1) !important }
html #dashboard-content.tab-content .ptodo-add-inline input::placeholder{ color:var(--ui-text-2) }
html #dashboard-content.tab-content .ptodo-inline-hint, html #dashboard-content.tab-content .ptodo-inline-tool{ display:none !important }
html #dashboard-content.tab-content .ptodo-add-inline:focus-within .ptodo-inline-hint{ display:inline !important; font-size:var(--ui-text-caption); color:var(--ui-text-2); white-space:nowrap }
html #dashboard-content.tab-content .ptodo-add-inline:focus-within .ptodo-inline-tool, html #dashboard-content.tab-content .ptodo-add-inline:has(.ptodo-draft-tags:not(:empty)) .ptodo-inline-tool{ display:inline-flex !important; width:24px !important; height:24px !important; min-width:24px; padding:0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; color:var(--ui-text-2) !important; align-items:center; justify-content:center; border-radius:var(--ui-radius-row) !important }
html #dashboard-content.tab-content .ptodo-inline-submit{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); border:0; white-space:nowrap }
html #dashboard-content.tab-content .ptodo-add-inline .ptodo-draft-tags{ flex-basis:100%; padding-left:26px }
html #dashboard-content.tab-content .ptodo-add-inline .ptodo-draft-tags:empty{ display:none }

/* 7. 달력 */
html #dashboard-content.tab-content .dashboard-calendar-card .dashboard-card-head{ padding-bottom:4px !important }
html #dashboard-content.tab-content .dashboard-calendar-card h3.font-bold{ font-size:var(--ui-text-title2) !important; font-weight:var(--ui-weight-bold) !important }
html #dashboard-content.tab-content .dashboard-calendar-card .grid.grid-cols-7 > .bg-gray-100{ background:var(--ui-surface-alt) !important; font-size:var(--ui-text-footnote) !important; font-weight:var(--ui-weight-semibold) !important }
html #dashboard-content.tab-content .dashboard-calendar-card .grid.grid-cols-7 > .bg-gray-100.cursor-pointer{ background:var(--ui-fill-subtle) !important }
html #dashboard-content.tab-content .dashboard-calendar-card [class*="bg-indigo-600"]{ background:var(--ui-danger) !important; color:var(--ui-on-accent) !important }
html #dashboard-content.tab-content .dashboard-calendar-card .border-gray-200{ border-color:var(--ui-line) !important }
html #dashboard-content.tab-content .wscal-mode-switch{ background:var(--ui-fill) !important; border-radius:var(--ui-radius-control) !important; padding:2px !important }
html #dashboard-content.tab-content .wscal-mode-btn{ font-weight:var(--ui-weight-regular) !important; color:var(--ui-text-1) !important; border-radius:var(--ui-radius-row) !important; box-shadow:none !important; font-size:var(--ui-text-footnote) !important }
html #dashboard-content.tab-content .wscal-mode-btn.active{ background:var(--ui-surface) !important; box-shadow:var(--ui-elev-control) !important; font-weight:var(--ui-weight-semibold) !important }

/* 8. 휴대폰: 한 줄로 쌓고 칸 높이는 내용만큼(목록은 5줄까지), 줄 44px */
@media (max-width:768px){
  html #dashboard-content.tab-content .dashboard-toss-grid{ grid-template-columns:1fr !important }
  html #dashboard-content.tab-content .dashboard-counts{ margin-left:0; width:100%; gap:10px }
  html #dashboard-content.tab-content .dashboard-equal-card{ height:auto !important }
  html #dashboard-content.tab-content .dashboard-scroll-list, html #dashboard-content.tab-content #dashboard-todos .ptodo-listbox{ max-height:calc(var(--ui-row-mobile) * 5 + 4px) }
  html #dashboard-content.tab-content .dashboard-quick-panel.active{ max-height:340px }
  html #dashboard-content.tab-content .toss-detail-row, html #dashboard-content.tab-content #dashboard-todos .ptodo-item, html #dashboard-content.tab-content .ptodo-add-inline{ min-height:var(--ui-row-mobile) !important }
  html #dashboard-content.tab-content .dashboard-card-head p{ display:none !important }
  html #dashboard-content.tab-content #dashboard-todos .ptodo-icon{ opacity:1 }
  html #dashboard-content.tab-content .ptodo-inline-hint{ display:none !important }
}

/* 9. 고침: 숨긴 '일정 소식' 칸이 칸 높이 규칙에 다시 보이던 것 · 할 일 줄이 가운데 두 줄로 쌓이던 것 */
html #dashboard-content.tab-content .dashboard-news-card{ display:none !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-main{ flex-direction:row !important; justify-content:flex-start !important; text-align:left !important; align-items:center !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-text{ flex:0 1 auto; text-align:left !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-main > *:not(.ptodo-text){ flex:none; margin:0 !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-main [class*="chip"], html #dashboard-content.tab-content #dashboard-todos .ptodo-main [class*="people"] > *{
  background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; height:auto !important;
  color:var(--ui-text-2) !important; font-size:var(--ui-text-footnote) !important; font-weight:var(--ui-weight-regular) !important;
}
html #dashboard-content.tab-content #dashboard-todos .ptodo-main [class*="chip"] i, html #dashboard-content.tab-content #dashboard-todos .ptodo-main [class*="people"] i{ display:none !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-due-chip{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 4px !important; color:var(--ui-text-2) !important; font-size:var(--ui-text-footnote) !important; font-weight:var(--ui-weight-regular) !important; font-variant-numeric:tabular-nums }
html #dashboard-content.tab-content #dashboard-todos .ptodo-due-chip i{ display:none !important }
html #dashboard-content.tab-content #dashboard-todos .ptodo-due-chip.is-overdue{ background:var(--ui-danger-tint) !important; color:var(--ui-danger) !important; border-radius:var(--ui-radius-row) !important; font-weight:var(--ui-weight-semibold) !important }

@media (max-width:768px){
  /* 칸 머리: 가운데 두 줄 → 왼쪽 제목 · 오른쪽 단추 한 줄 */
  html #dashboard-content.tab-content .dashboard-card-head{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; justify-content:space-between !important; align-items:center !important; text-align:left !important }
  html #dashboard-content.tab-content .dashboard-card-head > div:first-child{ flex:1 1 auto; justify-content:flex-start }
  html #dashboard-content.tab-content .dashboard-card-head > div:last-child:not(:first-child), html #dashboard-content.tab-content .dashboard-card-head > button{ margin-left:auto }
  html #dashboard-content.tab-content .dashboard-calendar-card .dashboard-card-head > div:last-child{ justify-content:flex-start !important }
  html #dashboard-content.tab-content #dashboard-todos .ptodo-icon{ color:var(--ui-text-2) !important }
}

/* 10. 달력: 다가오는 일정(오늘 ~ 이틀 뒤 시작)은 빨간 왼쪽 선 — 예전 '일정 소식' 칸 대신 */
html #dashboard-content.tab-content .dashboard-calendar-card .wscal-soon::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--ui-danger); border-radius:2px 0 0 2px }
/* 휴대폰: 할 일 줄 아이콘 회색 */
@media (max-width:768px){ html #dashboard-content.tab-content #dashboard-todos .ptodo-icon i{ color:var(--ui-text-2) !important } }

/* 11. 달력 · 맥 캘린더처럼 (사용자 2026-10-28 "1을 하되 최대 3개가 아닌 제한 없게") — 보이는 일정 개수는 그대로(제한 없음)
   하루 일정 = 색 점 + 글자(바탕 없음), 여러 날 일정 = 옅은 색 막대. 줄 20 → 16px, 굵기 700 → 400, 칸 최소 높이는 내용만큼. */
html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt{ height:16px !important; line-height:16px !important; margin-bottom:1px !important; font-size:var(--ui-text-caption) !important; font-weight:var(--ui-weight-regular) !important; box-shadow:none !important; text-align:left !important }
html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-day{ background:transparent !important; color:var(--ui-text-1) !important; padding:0 4px 0 12px !important; border-radius:var(--ui-radius-row) !important }
html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-day::after{ content:""; position:absolute; left:4px; top:5px; width:6px; height:6px; border-radius:50%; background:var(--evt) }
@media (hover:hover){ html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-day:hover{ background:var(--ui-fill-subtle) !important } }
html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-span{ background:var(--evt-bg) !important; color:var(--evt) !important; padding:0 6px !important }
@media (hover:hover){ html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-span:hover{ filter:brightness(.97) } }
html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-lane-gap{ height:16px !important; margin-bottom:1px !important }
html #dashboard-content.tab-content .dashboard-calendar-card .grid.grid-cols-7 > div[style*="min-height"]{ min-height:64px !important; border-right-color:var(--ui-line) !important }
html #dashboard-content.tab-content .dashboard-calendar-card .grid.grid-cols-7[style*="border-bottom"]{ border-bottom-color:var(--ui-line) !important }
html #dashboard-content.tab-content .dashboard-calendar-card .grid.grid-cols-7 > div[style*="min-height"] > div:first-child{ height:20px !important }
html #dashboard-content.tab-content .dashboard-calendar-card .grid.grid-cols-7 > div[style*="min-height"] > div:first-child span{ font-size:var(--ui-text-footnote) !important; font-weight:var(--ui-weight-regular) !important; min-width:20px; height:20px }
html #dashboard-content.tab-content .dashboard-calendar-card .grid.grid-cols-7 > div[style*="min-height"] > div:first-child span.rounded-full{ background:var(--ui-danger) !important; color:var(--ui-on-accent) !important; font-weight:var(--ui-weight-semibold) !important; width:20px !important; height:20px !important }
html #dashboard-content.tab-content .dashboard-calendar-card .grid.grid-cols-7 > .bg-gray-100{ background:var(--ui-fill-subtle) !important }
html #dashboard-content.tab-content .dashboard-calendar-card .grid.grid-cols-7 > .bg-white{ background:var(--ui-surface) !important }
html #dashboard-content.tab-content .dashboard-calendar-card .grid.grid-cols-7 > .bg-indigo-50{ background:var(--ui-accent-tint) !important }
/* 다가오는 일정: 하루 일정은 점을 빨간 테두리 점으로, 막대는 왼쪽 빨간 선(위 10번) */
html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-day.wscal-soon::before{ display:none }
html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-day.wscal-soon{ color:var(--ui-danger) !important; font-weight:var(--ui-weight-semibold) !important }
/* 범례: 테두리 칩 → 점 + 글자 */
html #dashboard-content.tab-content .dashboard-calendar-card .wscal-legend{ background:transparent !important; border:0 !important; padding:0 6px 0 0 !important; color:var(--ui-text-2) !important; font-weight:var(--ui-weight-regular) !important; font-size:var(--ui-text-footnote) !important }
html #dashboard-content.tab-content .dashboard-calendar-card .wscal-legend > span{ width:7px !important; height:7px !important; background:var(--evt) !important; border:0 !important }
@media (max-width:768px){
  html #dashboard-content.tab-content .dashboard-calendar-card .grid.grid-cols-7 > div[style*="min-height"]{ min-height:52px !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-day{ padding-left:10px !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-day::after{ left:2px }
}

html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt{ white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; min-height:0 !important; word-break:normal; transform:none !important; filter:none }
html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-day{ padding:0 4px 0 13px !important }
html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-span{ padding:0 6px !important }
html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view{ padding:6px 14px 0 !important }

/* 12. 휴대폰 달력 (사용자 2안 · 배경색 빼고 · 2026-10-28): 화면 끝까지 넓혀 칸 48 → 56px,
   점 · 말줄임 · 바탕 없이 분류 색 글자, 넘치면 그냥 잘림. 글자는 '이름 뒤 2자 + 분류'(데모 회의 · 데모 미팅). 개수 제한 없음 */
@media (max-width:768px){
  html #dashboard-content.tab-content .dashboard-calendar-card{ margin:0 -12px !important; border-radius:0 !important; box-shadow:none !important; border-top:var(--ui-hairline) solid var(--ui-line) !important; border-bottom:var(--ui-hairline) solid var(--ui-line) !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view{ padding:4px 0 0 !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .border.rounded-b-lg{ border-left:0 !important; border-right:0 !important; border-radius:0 !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .grid.grid-cols-7 > div{ padding-left:0 !important; padding-right:0 !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt, html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-day, html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-span{
    height:18px !important; line-height:18px !important; margin:0 1px 1px !important; padding:0 1px !important; background:transparent !important;
    color:var(--evt) !important; font-size:var(--ui-text-caption) !important; font-weight:var(--ui-weight-semibold) !important; letter-spacing:-.03em;
    text-overflow:clip !important; text-align:center !important; border-radius:0 !important;
  }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-day::after{ display:none !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-span{ border-bottom:2px solid var(--evt) !important; line-height:16px !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt .wscal-full{ display:none !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt .wscal-short{ display:inline !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-span:not(.is-start) .wscal-short{ visibility:hidden }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-day.wscal-soon{ color:var(--ui-danger) !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-lane-gap{ height:18px !important }
}

/* 13. 휴대폰 · 여러 날 일정 (사용자 2026-10-28): 이어진 날짜를 한 막대로 — 글자는 막대 가운데, 날짜 칸 세로 경계선이 막대를 끊지 않게,
   선은 글자 위 · 아래 둘 다. 시작 칸의 막대를 일정 길이(--span 칸)만큼 늘려 덮고, 나머지 칸 조각은 자리만 남김 */
@media (max-width:768px){
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-span{ border-bottom:0 !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-span.is-start{
    width:calc(var(--span) * (100% + 1px) - 3px) !important; /* 칸 폭 = 내용 100% + 오른쪽 경계선 1px, 양끝 1px 여백 → 마지막 칸 안에서 끝남 */ max-width:none !important; margin-right:0 !important;
    background:var(--ui-surface) !important; border-top:1.5px solid var(--evt) !important; border-bottom:1.5px solid var(--evt) !important;
    line-height:15px !important; text-align:center !important; z-index:12 !important; box-sizing:border-box;
  }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .grid.grid-cols-7 > .bg-gray-100 .wscal-evt.is-span.is-start{ background:var(--ui-fill-subtle) !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-span:not(.is-start){ visibility:hidden !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-span .wscal-short{ visibility:visible !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-span:not(.is-start) .wscal-short{ visibility:hidden !important }
}

/* 14. 다가오는 일정 표시 바꿈 (사용자 1 · 2026-10-28): 글자를 빨갛게 하면 공휴일 · 분류 색과 헷갈림 →
   글자는 분류 색 그대로, 그런 일정이 있는 날의 날짜 숫자 옆에 작은 빨간 점 */
html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-day.wscal-soon{ color:var(--ui-text-1) !important; font-weight:var(--ui-weight-regular) !important }
html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view div[style*="min-height"]:has(.wscal-soon) > div:first-child{ position:relative }
html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view div[style*="min-height"]:has(.wscal-soon) > div:first-child::after{ content:""; width:5px; height:5px; margin-left:3px; border-radius:50%; background:var(--ui-danger); display:inline-block; flex:none }
@media (max-width:768px){
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-day.wscal-soon{ color:var(--evt) !important; font-weight:var(--ui-weight-semibold) !important }
}

/* 15. 휴대폰에서 누른 뒤 회색 바탕이 남던 것(손가락은 '올림' 상태가 남음) — 위 올림 표시는 마우스 기기에서만. 일정의 마우스 올림 글자 바탕도 휴대폰에선 끔 */
@media (max-width:768px){
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt:hover{ background:transparent !important; box-shadow:none !important }
  html #dashboard-content.tab-content .dashboard-calendar-card #ws-calendar-view .wscal-evt.is-span.is-start:hover{ background:var(--ui-surface) !important }
}
