/* 선택한 사람에게만 적용하는 한울 그린. 낮/밤 및 업무 상태 색은 별개로 유지한다. */
.hanul-symbol { display:contents; }
.hanul-line-icon { display:none; }
:root[data-design="calm"] .hanul-symbol { display:inline-flex; align-items:center; vertical-align:-.18em; flex-shrink:0; }
:root[data-design="calm"] .hanul-symbol > .hanul-emoji { display:none!important; }
:root[data-design="calm"] .hanul-line-icon { display:inline-block; width:1.2em; height:1.2em; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
:root[data-design="calm"] .hanul-menu-icon .hanul-line-icon { width:22px; height:22px; }
:root[data-design="calm"] .hanul-sidebar-logo .hanul-symbol { width:24px!important; height:30px; margin:0!important; opacity:1!important; padding:0!important; }
:root[data-design="calm"] .hanul-sidebar-logo .hanul-line-icon { width:24px; height:24px; }
:root[data-design="calm"] .hanul-sidebar-logo { color:var(--accent)!important; }
:root[data-design="calm"] .page-head h1 > .hanul-symbol { display:none; }
/* 화면 장식만 정돈한다. 상태색·사진 비교표·인쇄 양식은 각 화면 규칙을 따른다. */
@media screen {
  :root[data-design="calm"] body { font-weight:400; }
  :root[data-design="calm"] body::before { display:none!important; }
  :root[data-design="calm"] .page-head {
    padding:8px 0 20px!important; border:0!important; border-radius:0!important;
    background:transparent!important; box-shadow:none!important; backdrop-filter:none!important;
  }
  :root[data-design="calm"] .page-head::before,
  :root[data-design="calm"] .card-title::before,
  :root[data-design="calm"] .room-row.header::before,
  :root[data-design="calm"] .hanul-menu-item.active::before,
  :root[data-design="calm"] .card::before,
  :root[data-design="calm"] .card-glow::before { display:none!important; }
  :root[data-design="calm"] .page-head h1 { font-weight:650!important; font-size:clamp(1.35rem,2.2vw,1.8rem)!important; letter-spacing:-.035em; }
  :root[data-design="calm"] .page-head .sub { font-weight:400!important; margin-top:8px; }
  :root[data-design="calm"] :is(.card,.stat-item,.stat-card,.tile,.room-card) {
    background:var(--surface)!important; border:1px solid var(--line)!important;
    border-radius:12px!important; box-shadow:none!important; backdrop-filter:none!important;
  }
  :root[data-design="calm"] :is(.card,.stat-item,.stat-card,.tile,.room-card):hover { transform:none!important; box-shadow:none!important; }
  :root[data-design="calm"] .card { padding:20px!important; margin-bottom:20px; }
  :root[data-design="calm"] :is(.card-title,.section-title,.hub-gt) { font-size:1rem!important; font-weight:600!important; color:var(--ink)!important; background:none!important; -webkit-text-fill-color:currentColor!important; }
  :root[data-design="calm"] :is(.stat-value,.stat-value.highlight) { background:none!important; -webkit-text-fill-color:currentColor!important; color:var(--ink); font-weight:600; font-variant-numeric:tabular-nums; }
  :root[data-design="calm"] .stat-value.highlight { color:var(--accent); }
  :root[data-design="calm"] .tab-nav { padding:0!important; gap:20px!important; border:0!important; border-bottom:1px solid var(--line)!important; border-radius:0!important; background:none!important; box-shadow:none!important; }
  :root[data-design="calm"] .tab-nav .tab-btn { border:0!important; border-bottom:2px solid transparent!important; border-radius:0!important; background:none!important; color:var(--ink-soft)!important; box-shadow:none!important; padding:12px 2px!important; font-weight:500!important; transform:none!important; }
  :root[data-design="calm"] .tab-nav .tab-btn.active { background:transparent!important; border-bottom-color:var(--accent)!important; color:var(--accent)!important; }
  :root[data-design="calm"] .tab-nav .tab-btn.active * { color:inherit!important; }
  :root[data-design="calm"] .tab-nav .tab-btn { font-size:var(--fs-ctl)!important; }
  :root[data-design="calm"] :is(.btn,.load-btn,.table-btn,.btn-primary,.btn-secondary,.btn-this-week,.photo-btn) {
    border-radius:9px!important; box-shadow:none!important; font-weight:500!important;
    transition:background-color .15s,border-color .15s!important; transform:none!important;
  }
  :root[data-design="calm"] :is(.load-btn,.table-btn,.btn-secondary,.btn-this-week) { background:var(--surface)!important; color:var(--ink)!important; border:1px solid var(--line)!important; }
  :root[data-design="calm"] :is(.load-btn,.table-btn,.btn-secondary,.btn-this-week):hover { background:var(--surface-2)!important; border-color:var(--line-2)!important; }
  :root[data-design="calm"] :is(.submit-section > .btn,.btn-primary) { background:var(--accent)!important; color:var(--accent-ink)!important; border:1px solid transparent!important; }
  :root[data-design="calm"] :is(input,select,textarea) { border-radius:7px; font-variant-numeric:tabular-nums; }
  :root[data-design="calm"] :is(input,select,textarea):focus-visible { outline:2px solid var(--accent)!important; outline-offset:2px; }
  :root[data-design="calm"] .sync-status.connected { border:0!important; background:none!important; color:var(--ink-soft)!important; font-weight:400!important; }
  :root[data-design="calm"] .sync-status.connected .sync-dot { background:var(--accent)!important; }
  :root[data-design="calm"] .tile .ico { color:var(--ink-soft); background:none!important; font-size:1.5rem; }
  :root[data-design="calm"] .tile h3 { font-weight:600; }
  :root[data-design="calm"] .hanul-sidebar { box-shadow:none!important; }
  :root[data-design="calm"] .hanul-sidebar .hanul-menu-item { font-weight:400; }
  :root[data-design="calm"] .hanul-sidebar .hanul-menu-item.active { box-shadow:none!important; }
  :root[data-design="calm"] .hanul-sidebar .hanul-menu-group { color:var(--ink-soft)!important; font-weight:500; }
  :root[data-design="calm"] .hanul-sidebar .hanul-prefs-toggle { border:0!important; background:none!important; }
  /* 분만사 주보: 둥근 방 카드 열 개를 하나의 얇은 표로 만든다. */
  :root[data-design="calm"] body:has(#nursingPhotoButton) .room-grid { gap:0; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .room-row { grid-template-columns:64px repeat(3,minmax(0,1fr)); gap:12px; min-height:54px; padding:8px 16px; border:0!important; border-bottom:1px solid var(--line)!important; border-radius:0; margin:0; background:var(--surface)!important; box-shadow:none!important; font-variant-numeric:tabular-nums; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .room-row.header { min-height:48px; font-size:.82rem; color:var(--ink-soft)!important; font-weight:500; background:var(--bg)!important; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) #roomsContainer .room-row:last-child { border-bottom:0!important; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .room-label { text-align:left; font-size:.9rem; font-weight:400; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .room-input-group input { width:100%; min-width:0; padding:8px; border:1px solid transparent!important; background:transparent!important; box-shadow:none!important; color:var(--ink)!important; font-weight:400; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .room-input-group input:hover { border-color:var(--line-2)!important; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .room-input-group input:focus { border-color:var(--accent)!important; background:var(--field)!important; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .period-display { background:transparent!important; border-color:var(--line)!important; color:var(--ink)!important; font-weight:500; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .stats-grid { gap:12px; margin-top:12px; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .stat-item { padding:14px; text-align:left; background:transparent!important; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .stat-label { font-size:.82rem; margin-bottom:8px; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .stat-value { font-size:1.4rem; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .card-title:has(#nursingPhotoButton) { justify-content:flex-start; gap:10px; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) [data-lang="roomStatus"] { margin-right:auto; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .card-title .load-btn { margin:0!important; }
  :root[data-design="calm"] .toast:not(.error):not(.warning) { background:var(--surface)!important; color:var(--ink)!important; border:1px solid var(--line); box-shadow:var(--shadow-soft); }
}
@media screen and (max-width:768px) {
  :root[data-design="calm"] .card { padding:14px!important; }
  :root[data-design="calm"] .tab-nav { gap:14px!important; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .room-row { grid-template-columns:40px repeat(3,minmax(0,1fr)); gap:4px; padding:8px; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .week-info { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .info-item :is(input,select) { width:100%; min-width:0; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .period-display { padding:12px 4px; font-size:.82rem; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) [data-lang="roomStatus"] { flex-basis:100%; }
  :root[data-design="calm"] body:has(#nursingPhotoButton) .card-title .load-btn { width:auto!important; flex:1; margin:0; }
}
:root[data-design="calm"][data-theme] {
  --bg:#101a20; --bg-grad-1:#101a20; --bg-grad-2:#101a20; --bg-grad-3:#101a20;
  --surface:#19272e; --surface-0:#152229; --surface-2:#203039; --surface-3:#263942;
  --surface-02:#152229; --surface-04:#19272e; --surface-solid:#19272e; --field:#142229;
  --line:#30443f; --line-2:#496159; --line-3:#3a5048; --line-4:#496159;
  --ink:#e4efec; --ink-strong:#f4faf7; --ink-soft:#a3bbb2; --ink-dim:#829e93;
  --ink-mid:#c2d7ce; --ink-gray:#a3bbb2;
  --accent:#79dab5; --accent-2:#79dab5; --accent-3:#79dab5; --accent-ink:#10271e; --accent-text:#a0e8cc;
  --accent-05:rgba(121,218,181,.05); --accent-10:rgba(121,218,181,.10); --accent-20:rgba(121,218,181,.17);
  --accent-30:rgba(121,218,181,.30); --accent-40:rgba(121,218,181,.40); --accent-60:rgba(121,218,181,.60);
  --nav-bg-1:#19272e; --nav-bg-2:#19272e; --nav-ink:#e4efec;
  --panel:#19272e; --panel-2:#203039; --shadow:0 6px 20px rgba(0,0,0,.18); --shadow-soft:0 2px 10px rgba(0,0,0,.12);
  --glow-1:transparent; --glow-2:transparent; --glow-3:transparent;
  --calm-motion:300ms;
}
:root[data-design="calm"][data-theme="light"] {
  --bg:#f3f6f5; --bg-grad-1:#f3f6f5; --bg-grad-2:#f3f6f5; --bg-grad-3:#f3f6f5;
  --surface:#fff; --surface-0:#f8faf9; --surface-2:#fff; --surface-3:#edf3f0;
  --surface-02:#f8faf9; --surface-04:#f3f6f5; --surface-solid:#fff; --field:#fff;
  --line:#dce6e2; --line-2:#bdcec6; --line-3:#d0ddd7; --line-4:#bdcec6;
  --ink:#233a3a; --ink-strong:#142e29; --ink-soft:#596f65; --ink-dim:#647c70;
  --ink-mid:#405c50; --ink-gray:#596f65;
  --accent:#14765f; --accent-2:#14765f; --accent-3:#14765f; --accent-ink:#fff; --accent-text:#11654f;
  --accent-05:rgba(20,118,95,.05); --accent-10:rgba(20,118,95,.08); --accent-20:rgba(20,118,95,.13);
  --accent-30:rgba(20,118,95,.30); --accent-40:rgba(20,118,95,.40); --accent-60:rgba(20,118,95,.60);
  --nav-bg-1:#fff; --nav-bg-2:#fff; --nav-ink:#233a3a;
  --panel:#fff; --panel-2:#f8faf9; --shadow:0 6px 20px rgba(22,54,41,.05); --shadow-soft:0 2px 8px rgba(22,54,41,.04);
}
:root[data-design="calm"] body { background:var(--bg); }
:root[data-design="calm"] .hanul-sidebar { background:var(--surface); border-color:var(--line); box-shadow:var(--shadow-soft); }
:root[data-design="calm"] .hanul-menu-item { border-radius:9px; }
:root[data-design="calm"] .hanul-menu-group { background:transparent!important; border:0!important; }
:root[data-design="calm"] .hanul-menu-short { color:inherit; }
:root[data-design="calm"] .hanul-menu-item.active { border-color:transparent; background:var(--accent-10); color:var(--accent); box-shadow:inset 3px 0 var(--accent); }
:root[data-design="calm"] .hanul-sidebar-logo { background:none; -webkit-text-fill-color:var(--ink); color:var(--ink); }
.hanul-menu-short { display:none; }
.hanul-calm-backdrop { display:none; }
/* 메뉴를 다시 만들지 않고 묶음 높이를 부드럽게 바꾼다. */
:root[data-design="calm"] .hanul-mg-body { display:grid; grid-template-rows:1fr; transition:grid-template-rows var(--calm-motion) cubic-bezier(.22,1,.36,1); }
:root[data-design="calm"] .hanul-sidebar .hanul-mg-body.closed { display:grid; grid-template-rows:0fr; }
:root[data-design="calm"] .hanul-mg-inner { min-height:0; overflow:hidden; }
@media(min-width:769px) {
  /* 본문 너비를 고정하고 240px 메뉴를 88px까지 가려서 접는다. */
  :root[data-design="calm"] body,
  :root[data-design="calm"] body.sidebar-collapsed { padding-left:108px; transition:none; }
  :root[data-design="calm"] .hanul-sidebar,
  :root[data-design="calm"] .hanul-sidebar.collapsed { width:240px; clip-path:inset(0); transition:clip-path var(--calm-motion) cubic-bezier(.22,1,.36,1); }
  :root[data-design="calm"] .hanul-sidebar.collapsed { clip-path:inset(0 152px 0 0); }
  :root[data-design="calm"] .hanul-sidebar-header,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-sidebar-header { height:96px; min-height:96px; padding:18px 16px; text-align:left; position:relative; }
  :root[data-design="calm"] .hanul-sidebar-logo,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-sidebar-logo { font-size:1.25rem; padding-left:10px; height:30px; }
  :root[data-design="calm"] .hanul-sidebar-logo span,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-sidebar-logo span { max-width:160px; margin-left:28px; transition:opacity 150ms; }
  :root[data-design="calm"] .hanul-sidebar-date,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-sidebar-date { display:block; font-size:.75rem; margin:5px 0 0 72px; height:18px; transition:opacity 150ms; }
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-sidebar-date { opacity:0; }
  :root[data-design="calm"] .hanul-collapse-hint { display:none!important; }
  :root[data-design="calm"] .hanul-collapse-arrow,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-collapse-arrow { display:block; position:absolute; left:34px; top:51px; margin:0; transform:rotate(0); transition:transform var(--calm-motion); }
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-collapse-arrow { transform:rotate(180deg); }
  :root[data-design="calm"] .hanul-sidebar-menu { padding:10px 8px; scrollbar-width:none; overflow-anchor:none; }
  :root[data-design="calm"] .hanul-sidebar-menu::-webkit-scrollbar { width:0; }
  :root[data-design="calm"] .hanul-menu-item,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-menu-item { width:223px; min-height:50px; height:50px; padding:0; margin:2px 0; justify-content:flex-start; border:0; }
  :root[data-design="calm"] .hanul-menu-icon { width:72px; min-width:72px; transform:translateY(0); transition:transform var(--calm-motion); }
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-menu-icon { transform:translateY(-7px); }
  :root[data-design="calm"] .hanul-menu-text,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-menu-text { width:auto; margin:0 0 0 6px; transition:opacity 150ms; }
  :root[data-design="calm"] .hanul-menu-short { display:block; position:absolute; left:0; bottom:3px; width:72px; text-align:center; font-size:.63rem; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; opacity:0; transition:opacity 120ms; }
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-menu-short { opacity:1; }
  :root[data-design="calm"] .hanul-menu-group,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-menu-group { height:32px; margin:8px 0 2px; padding:0; pointer-events:auto; gap:0; position:relative; }
  :root[data-design="calm"] .hanul-mg-name,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-mg-name { display:block; flex:none; width:72px; text-align:center; font-size:.66rem; overflow:hidden; }
  :root[data-design="calm"] .hanul-mg-chev,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-mg-chev { display:block; position:absolute; right:6px; }
  :root[data-design="calm"] .hanul-mg-count,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-mg-count { display:block; padding-right:22px; }
  :root[data-design="calm"] .hanul-menu-group .hanul-mg-line { margin:0 8px; }
  :root[data-design="calm"] .hanul-menu-pick,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-menu-pick { padding:9px 0; justify-content:flex-start; gap:0; }
  /* 테두리도 접힌 메뉴 안에 들어와야 clip-path에 오른쪽 점선이 잘리지 않는다. */
  :root[data-design="calm"] .hanul-menu-pick { width:223px; transition:width var(--calm-motion) cubic-bezier(.22,1,.36,1); }
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-menu-pick { width:72px; }
  :root[data-design="calm"] .hanul-menu-pick>span:first-child { width:70px; flex:none; text-align:center; }
  :root[data-design="calm"] .hanul-pick-text,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-pick-text { display:block; }
  :root[data-design="calm"] .hanul-pick-text { transition:opacity 150ms; }
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-pick-text { opacity:0; visibility:hidden; }
  :root[data-design="calm"] .hanul-sidebar-user,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-sidebar-user { padding:12px 16px; }
  :root[data-design="calm"] .hanul-user-info,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-user-info { flex-direction:row; margin-bottom:8px; }
  :root[data-design="calm"] .hanul-user-avatar,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-user-avatar { width:40px; height:40px; min-width:40px; flex-shrink:0; }
  :root[data-design="calm"] .hanul-user-details,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-user-details { display:block; margin-left:12px; white-space:nowrap; }
  :root[data-design="calm"] .hanul-logout-btn,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-logout-btn { padding:8px 12px; text-align:left; }
  :root[data-design="calm"] .hanul-logout-btn span,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-logout-btn span { display:inline; }
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-user-details,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-logout-btn span { opacity:0; }
  :root[data-design="calm"] .hanul-prefs-toggle,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-prefs-toggle { display:flex; min-height:42px; white-space:nowrap; }
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-prefs-toggle { width:60px; justify-content:center; padding:8px; }
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-prefs-label,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-prefs-sub,
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-prefs-chev { display:none; }
  :root[data-design="calm"] .hanul-sidebar.collapsed .hanul-prefs { max-height:0; opacity:0; pointer-events:none; }
  :root[data-design="calm"] .hanul-calm-backdrop { display:block; position:fixed; inset:0; z-index:9998; background:var(--scrim-20)!important; opacity:0; visibility:hidden; border:0!important; box-shadow:none!important; transition:opacity var(--calm-motion),visibility var(--calm-motion); }
  :root[data-design="calm"] body:not(.sidebar-collapsed) .hanul-calm-backdrop { opacity:1; visibility:visible; }
}
@media(prefers-reduced-motion:reduce) {
  :root[data-design="calm"] .hanul-sidebar,
  :root[data-design="calm"] .hanul-sidebar *,
  :root[data-design="calm"] .hanul-calm-backdrop { transition:none!important; }
}
@media print {
  :root[data-design="calm"] .hanul-sidebar,
  :root[data-design="calm"] .hanul-calm-backdrop { display:none!important; }
  :root[data-design="calm"] body { padding-left:0!important; }
}
