/* 분만 기록표 — 분만사 [분만 기록표] 탭 (farrowing-checklist.js, 2026-10-15 시안 5) */
body.fr-on #find, body.fr-on .fsbar, body.fr-on #split { display:none !important; }

.fr-tabs { display:flex; gap:6px; margin:6px 0 12px; padding:4px; border-radius:14px; background:var(--surface); border:1px solid var(--line-2,var(--line)); }
#frTabs button { flex:1; display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:46px; border-radius:10px;
    border:none !important; background:transparent !important; color:var(--ink-soft) !important; font:inherit; font-weight:900; font-size:.95rem; cursor:pointer; }
#frTabs button svg, #frTabs button i { width:18px; height:18px; }
#frTabs button[aria-selected="true"] { background:var(--accent) !important; color:var(--accent-ink,#041) !important; }

.fr-view { margin-bottom:12px; }
.fr-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin:2px 2px 8px; }
.fr-head b { font-size:1.05rem; font-weight:900; color:var(--ink-strong); }
.fr-head span { font-size:.8rem; color:var(--ink-dim); font-weight:700; }
.fr-empty { padding:28px 12px; text-align:center; color:var(--ink-dim); font-weight:800; border:1px dashed var(--line-2,var(--line)); border-radius:14px; }

/* 표 — 모돈번호 칸은 옆으로 밀어도 고정 */
/* 표는 제 안에서 위아래 · 옆으로 민다 — 머리 줄은 맨 위, 주차 줄은 그 밑, 모돈번호 칸은 왼쪽에 붙어 있다 */
.fr-scroll { overflow:auto; max-height:calc(100dvh - 140px); min-height:320px;
    overscroll-behavior:none; border:1px solid var(--line-2,var(--line)); border-radius:14px; background:var(--surface); }
/* 아이폰은 표 끝에서 더 당기면 표가 통째로 밀려 빈 곳이 보였다 (2026-10-16 사장님 사진) — 끝에서 튕기지 않게 (overscroll-behavior:none) */
.fr-tbl { border-collapse:separate; border-spacing:0; font-size:.8rem; min-width:100%; }
.fr-tbl th, .fr-tbl td { padding:0; border-bottom:1px solid var(--line-2,var(--line)); text-align:center; white-space:nowrap; color:var(--ink); }
.fr-tbl thead th { position:sticky; top:0; z-index:3; padding:6px 4px; font-weight:900; color:var(--ink-soft); background:var(--surface-solid,var(--surface)); font-size:.76rem; vertical-align:top; }
.fr-tbl .fr-sow { position:sticky; left:0; z-index:1; background:var(--surface-solid,var(--surface)); text-align:left; border-right:1px solid var(--line-2,var(--line)); }
.fr-tbl thead .fr-sow { z-index:5; padding-left:10px; }
.fr-tbl td { min-width:44px; height:44px; }
:is(#frView,#frSheet,#frTabs) .fr-hbtn { display:flex; flex-direction:column; align-items:center; gap:1px; width:100%; padding:2px; border:none !important; background:transparent !important; color:var(--accent) !important; font:inherit; font-weight:900; cursor:pointer;
    -webkit-touch-callout:none; user-select:none; }
.fr-hbtn span { white-space:nowrap; }
.fr-i { display:inline-flex; width:14px; height:14px; margin-left:3px; border-radius:50%; border:1.5px solid currentColor; font-style:normal; font-size:.58rem; font-weight:900;
    align-items:center; justify-content:center; vertical-align:1px; }
.fr-drug { display:block; margin-top:2px; font-size:.62rem; font-weight:800; color:var(--ink-dim); max-width:84px; overflow:hidden; text-overflow:ellipsis; }
.fr-drug.none { opacity:.75; font-weight:700; }
:is(#frView,#frSheet,#frTabs) .fr-sbtn { display:block; width:100%; min-height:44px; padding:5px 10px; text-align:left; border:none !important; background:transparent !important; color:inherit !important; font:inherit; cursor:pointer; }
.fr-sbtn b { display:block; font-size:.95rem; font-weight:900; color:var(--ink-strong); }
.fr-sbtn small { font-size:.66rem; color:var(--ink-dim); font-weight:700; }

/* 주차 줄 — 붙어 있을 때 밑의 줄이 비치지 않게 불투명한 바탕 위에 옅은 초록 */
.fr-wk th, .fr-wk td { position:sticky; top:var(--fr-hh,0px); z-index:2; height:auto; padding:4px 3px;
    background:linear-gradient(var(--accent-10,rgba(16,185,129,.1)), var(--accent-10,rgba(16,185,129,.1))), var(--surface-solid,var(--surface)) !important; }
.fr-wk .fr-sow { z-index:4; left:0; padding:5px 10px; }
.fr-wk .fr-sow b { display:block; color:var(--accent); font-size:.9rem; font-weight:900; }
.fr-wk .fr-sow small { display:block; white-space:normal; max-width:110px; line-height:1.25; font-size:.64rem; font-weight:700; color:var(--ink-soft); }
:is(#frView,#frSheet,#frTabs) .fr-all { min-height:34px; min-width:40px; padding:0 8px; border-radius:9px; font:inherit; font-size:.7rem; font-weight:900; cursor:pointer;
    border:1px solid var(--accent-30,var(--accent)) !important; background:var(--surface) !important; color:var(--accent) !important; }

:is(#frView,#frSheet,#frTabs) .fr-cbtn { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; min-height:44px; border:none !important; background:transparent !important; color:inherit !important; font:inherit; cursor:pointer; }
.fr-ok b { display:block; color:var(--accent); font-size:1rem; line-height:1; }
.fr-ok small { font-size:.62rem; color:var(--ink-dim); font-weight:700; }
.fr-todo { background:repeating-linear-gradient(135deg, transparent 0 5px, var(--line-2,rgba(127,127,127,.14)) 5px 6px); }
.fr-due { background:color-mix(in srgb, var(--t-amber,#f59e0b) 20%, transparent) !important; box-shadow:inset 0 0 0 1.5px var(--t-amber,#f59e0b); }
:is(#frView,#frSheet,#frTabs) .fr-due .fr-cbtn { color:var(--t-amber,#b45309) !important; font-weight:900; font-size:.72rem; }
.fr-na { color:var(--ink-dim) !important; font-size:.72rem; }
.fr-n { font-weight:900; padding:0 6px !important; }
.fr-ro { color:var(--t-blue,var(--ink)) !important; }
.fr-room small { display:block; font-size:.58rem; color:var(--ink-dim); font-weight:700; }
.fr-rec { color:var(--ink-dim) !important; font-weight:800; }
.fr-txt { font-size:.72rem; color:var(--t-amber,#b45309) !important; font-weight:800; padding:0 6px !important; text-align:left !important; }

.fr-legend { display:flex; flex-wrap:wrap; gap:6px 12px; margin:8px 2px 0; font-size:.74rem; color:var(--ink-dim); font-weight:700; }
.fr-legend i { display:inline-block; width:14px; height:12px; border-radius:3px; vertical-align:-2px; margin-right:3px; border:1px solid var(--line-2,var(--line)); }
.fr-legend .fr-due-k { background:color-mix(in srgb, var(--t-amber,#f59e0b) 30%, transparent); border-color:var(--t-amber,#f59e0b); }
.fr-legend .ok { color:var(--accent); } .fr-legend .ro { color:var(--t-blue,var(--ink)); } .fr-legend .ac { color:var(--accent); }

/* 창 */
.fr-sheet .fssheet-in { max-height:calc(100dvh - 32px); overflow:auto; }
.fr-card { border:1px solid var(--line-2,var(--line)); border-radius:14px; padding:12px; background:var(--surface); margin:8px 0; }
.fr-ct { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.fr-ct b { font-size:1.05rem; font-weight:900; color:var(--ink-strong); }
.fr-src { margin-left:auto; font-size:.68rem; font-weight:800; padding:2px 8px; border-radius:999px; border:1px solid var(--accent-30,var(--line)); color:var(--accent); }
.fr-ex { font-size:.66rem; font-weight:900; padding:2px 7px; border-radius:999px; border:1px solid var(--t-amber,#f59e0b); color:var(--t-amber,#b45309); }
.fr-dl { display:grid; grid-template-columns:auto 1fr; gap:6px 10px; margin:8px 0 0; font-size:.92rem; }
.fr-dl dt { font-weight:900; color:var(--ink-dim); font-size:.8rem; padding-top:2px; }
.fr-dl dd { margin:0; font-weight:800; color:var(--ink); }
.fr-dl dd.w { color:var(--t-amber,#b45309); font-weight:700; font-size:.86rem; }
.fr-needv { font-style:normal; color:var(--t-amber,#b45309); font-weight:900; }
.fr-more { display:block; margin-top:10px; text-align:center; font-weight:900; color:var(--accent); font-size:.9rem; padding:11px; border-radius:10px; border:1px solid var(--line-2,var(--line)); text-decoration:none; }
.fr-need { margin:2px 0; font-weight:900; color:var(--t-amber,#b45309); }
.fr-sm { margin:6px 2px; font-size:.82rem; color:var(--ink-dim); font-weight:700; }
.fr-tip { margin:10px 2px 0; font-size:.76rem; color:var(--ink-dim); font-weight:700; }
.fr-duep { margin:8px 0; padding:8px 10px; border-radius:10px; font-weight:900; color:var(--t-amber,#b45309); background:color-mix(in srgb, var(--t-amber,#f59e0b) 14%, transparent); }
.fr-fixed { display:flex; align-items:center; gap:8px; margin:8px 0; padding:10px 12px; border-radius:12px; background:var(--accent-10,rgba(16,185,129,.1)); border:1px solid var(--accent-30,var(--accent)); }
.fr-fixed b { display:block; font-size:1.05rem; font-weight:900; color:var(--ink-strong); }
.fr-fixed small { display:block; font-size:.72rem; color:var(--ink-dim); font-weight:700; }
:is(#frView,#frSheet,#frTabs) .fr-mini { margin-left:auto; min-height:42px; padding:0 14px; border-radius:10px; font:inherit; font-weight:900; font-size:.86rem; cursor:pointer; white-space:nowrap;
    border:1px solid var(--line-2,var(--line)) !important; background:var(--surface) !important; color:var(--ink) !important; }
.fr-lock { font-size:.66rem; font-weight:900; padding:2px 7px; border-radius:999px; background:var(--accent); color:var(--accent-ink,#041); }
:is(#frView,#frSheet,#frTabs) .fr-btn { display:block; width:100%; min-height:54px; margin-top:12px; border-radius:14px; font:inherit; font-weight:900; font-size:1.02rem; cursor:pointer;
    border:none !important; background:var(--accent) !important; color:var(--accent-ink,#041) !important; }
:is(#frView,#frSheet,#frTabs) .fr-btn:disabled { opacity:.45; cursor:default; }
:is(#frView,#frSheet,#frTabs) .fr-btn.sub { min-height:46px; margin-top:8px; background:var(--surface-2,var(--surface)) !important; color:var(--ink) !important; border:1px solid var(--line-2,var(--line)) !important; font-size:.92rem; }
.fr-who { margin:10px 2px 0; font-size:.8rem; color:var(--ink-dim); font-weight:700; }
.fr-who b { color:var(--ink-strong); }

.fr-whn b { font-size:1.35rem; font-weight:900; color:var(--ink-strong); margin-right:8px; }
.fr-whn span { font-size:.84rem; font-weight:800; color:var(--ink-dim); }
.fr-whst { margin-top:10px; font-size:1.05rem; font-weight:900; color:var(--accent); }
.fr-whst b { color:var(--ink-strong); margin-left:6px; }
.fr-whp { margin-top:4px; font-size:.92rem; font-weight:800; color:var(--ink); }
.fr-whp b { color:var(--ink-strong); }
.fr-hist { margin-top:12px; padding:10px 12px; border-radius:12px; background:var(--surface-2,var(--bg)); font-size:.82rem; font-weight:700; color:var(--ink-soft); }
.fr-hist .h { font-weight:900; color:var(--ink-dim); font-size:.72rem; margin-bottom:4px; }
.fr-hist div span { display:inline-block; min-width:84px; color:var(--ink-dim); }

.fr-search { display:flex; align-items:center; gap:8px; padding:0 12px; min-height:52px; border-radius:12px; border:2px solid var(--accent); background:var(--field,var(--surface)); }
.fr-search svg, .fr-search i { width:20px; height:20px; color:var(--accent); flex:none; }
#frSheet .fr-search input { flex:1; border:none !important; background:transparent !important; box-shadow:none !important; padding:0; min-width:0; border:none; background:transparent; color:var(--ink-strong); font:inherit; font-size:16px; font-weight:800; outline:none; }
:is(#frView,#frSheet,#frTabs) .fr-res { display:flex; flex-wrap:wrap; align-items:center; gap:2px 8px; width:100%; padding:12px 6px; text-align:left; border:none; border-bottom:1px dashed var(--line-2,var(--line)) !important;
    background:transparent !important; color:inherit !important; border-width:0 0 1px !important; font:inherit; cursor:pointer; }
.fr-res b { font-size:1rem; font-weight:900; color:var(--ink-strong); }
.fr-res small { flex-basis:100%; order:3; font-size:.76rem; color:var(--ink-dim); font-weight:700; }
.fr-res .fr-lock, .fr-res .add { margin-left:auto; }
.fr-res .add { font-size:.76rem; font-weight:900; color:var(--accent); }
:is(#frView,#frSheet,#frTabs) .fr-res.sel { background:var(--accent-10,rgba(16,185,129,.1)) !important; }

.fr-bar { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:6px 0; }
.fr-bar span { flex:1 1 100%; font-size:.82rem; color:var(--ink-dim); font-weight:700; }
:is(#frView,#frSheet,#frTabs) .fr-bar .fr-mini { margin-left:0; flex:1; }
:is(#frView,#frSheet,#frTabs) .fr-pr { display:flex; align-items:center; gap:10px; width:100%; min-height:52px; padding:8px 6px; border:none; border-bottom:1px dashed var(--line-2,var(--line));
    background:transparent !important; color:inherit !important; border-width:0 0 1px !important; font:inherit; font-size:.96rem; text-align:left; cursor:pointer; }
.fr-pr .bx { flex:none; width:28px; height:28px; border-radius:8px; border:2px solid var(--line-2,var(--line)); display:inline-flex; align-items:center; justify-content:center;
    font-weight:900; color:var(--accent-ink,#041); }
.fr-pr.sel .bx { background:var(--accent); border-color:var(--accent); }
.fr-pr.done { opacity:.6; cursor:default; }
.fr-pr.done .bx { border-color:var(--accent); color:var(--accent); }
.fr-pr b { font-weight:900; color:var(--ink-strong); }
.fr-pr em { font-style:normal; font-size:.8rem; color:var(--ink-dim); font-weight:700; }
.fr-pr small { margin-left:auto; font-size:.76rem; color:var(--ink-dim); font-weight:700; text-align:right; }

.fr-dhd b { font-size:1.4rem; font-weight:900; color:var(--ink-strong); margin-right:8px; }
.fr-dhd span { font-size:.82rem; color:var(--ink-dim); font-weight:700; }
.fr-dnum { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin:10px 0 2px; }
.fr-dnum div { text-align:center; padding:6px 0; border-radius:10px; background:var(--surface-2,var(--bg)); }
.fr-dnum small { display:block; font-size:.66rem; color:var(--ink-dim); font-weight:800; }
.fr-dnum b { font-size:1.2rem; font-weight:900; color:var(--t-blue,var(--ink-strong)); }
.fr-dnum b.dim { color:var(--ink-dim); }
.fr-dnote { margin:4px 2px 6px; font-size:.72rem; color:var(--ink-dim); font-weight:700; }
.fr-dsec { margin:12px 2px 4px; font-size:.78rem; font-weight:900; color:var(--accent); }
.fr-dr { display:flex; align-items:center; gap:8px; padding:5px 0; border-bottom:1px dashed var(--line-2,var(--line)); }
.fr-dr.due { background:color-mix(in srgb, var(--t-amber,#f59e0b) 10%, transparent); }
:is(#frView,#frSheet,#frTabs) .fr-dk { flex:1; min-width:0; text-align:left; padding:6px 0; border:none !important; background:transparent !important; color:var(--ink-strong) !important; font:inherit; font-weight:900; font-size:.98rem; cursor:pointer; }
.fr-dk .fr-i { color:var(--accent); }
.fr-dk small { display:block; font-size:.7rem; color:var(--ink-dim); font-weight:700; }
.fr-dv { font-size:.86rem; font-weight:800; color:var(--ink-dim); text-align:right; }
.fr-dr.due .fr-dv { color:var(--t-amber,#b45309); font-weight:900; }
.fr-dv.ok { color:var(--accent); }
.fr-dv small { display:block; font-size:.68rem; color:var(--ink-soft); font-weight:700; }
:is(#frView,#frSheet,#frTabs) .fr-db { flex:none; min-height:44px; min-width:62px; border-radius:10px; font:inherit; font-weight:900; font-size:.86rem; cursor:pointer;
    border:1px solid var(--line-2,var(--line)) !important; background:var(--surface-2,var(--surface)) !important; color:var(--ink) !important; }
.fr-dmemo { padding:10px 12px; border-radius:12px; border:1px dashed var(--line-2,var(--line)); color:var(--ink-soft); font-weight:700; white-space:pre-line; }
/* 치료 — 놓은 횟수 · 놓은 목록 (2026-10-16) */
.fr-rep b { font-size:.82rem !important; }
.fr-treats { margin:10px 0; padding:8px 10px; border-radius:12px; background:var(--surface-2,var(--bg)); }
.fr-treats .h { font-size:.74rem; font-weight:900; color:var(--ink-dim); margin-bottom:2px; }
.fr-treat { display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px dashed var(--line-2,var(--line)); }
.fr-treat:last-child { border-bottom:none; }
.fr-treat span { flex:1; min-width:0; font-weight:800; color:var(--ink); font-size:.9rem; }
.fr-treat span b { margin-right:8px; color:var(--ink-strong); }
.fr-treat span small { display:block; font-size:.7rem; color:var(--ink-dim); font-weight:700; }
.fr-hownote { margin:8px 0; padding:10px 12px; border-radius:12px; font-weight:900; color:var(--ink-strong); background:var(--accent-10,rgba(16,185,129,.1)); border:1px solid var(--accent-30,var(--accent)); }

/* 시안 1 (2026-10-17): [오늘 할 일 | 전체 표] 고르기 · 오늘 할 일 카드 · 주차 카드(네 단계 막대) · 단계 화면 */
.fr-seg { display:flex; gap:4px; padding:4px; margin:0 0 12px; border-radius:14px; background:var(--surface); border:1px solid var(--line-2,var(--line)); }
#frView .fr-seg button { flex:1; min-height:44px; border-radius:10px; font:inherit; font-weight:900; font-size:.95rem; cursor:pointer;
    background:transparent !important; color:var(--ink-soft) !important; border:none !important; }
#frView .fr-seg button[aria-selected="true"] { background:var(--accent) !important; color:var(--accent-ink,#041) !important; }
.fr-main { display:grid; gap:14px; } @media (min-width:900px) { .fr-main { grid-template-columns:1.1fr 1fr; align-items:start; } }
.fr-th { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin:2px 2px 8px; }
.fr-th b { font-size:1.12rem; font-weight:900; color:var(--ink-strong); } .fr-th span { font-size:.84rem; font-weight:800; color:var(--ink-dim); }
.fr-tnone { padding:22px 12px; text-align:center; font-weight:900; color:var(--ink); border:1px dashed var(--line-2,var(--line)); border-radius:14px; margin-bottom:10px; }
.fr-tnone small { display:block; margin-top:4px; font-size:.8rem; font-weight:800; color:var(--ink-dim); }
.fr-tk { padding:14px; margin-bottom:10px; border-radius:16px; background:color-mix(in srgb, var(--c) 10%, var(--surface));
    border:1px solid color-mix(in srgb, var(--c) 45%, transparent); border-left:6px solid var(--c); }
:is(#frView) .fr-tkn { display:inline-flex; align-items:center; gap:2px; padding:0; border:none !important; background:transparent !important; color:var(--ink-strong) !important;
    font:inherit; cursor:pointer; -webkit-touch-callout:none; user-select:none; text-align:left; }
.fr-tkn b { font-size:1.08rem; font-weight:900; }
.fr-tkt small, .fr-srt small { display:block; font-size:.8rem; font-weight:800; color:var(--ink-soft); margin-top:2px; }
.fr-tks { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 4px; }
#frView .fr-tsow { display:inline-flex; align-items:baseline; gap:5px; min-height:40px; padding:6px 10px; border-radius:10px; font:inherit; cursor:pointer;
    background:var(--surface) !important; color:var(--ink-dim) !important; border:1px dashed var(--line-2,var(--line)) !important; text-decoration:line-through; }
#frView .fr-tsow.in { color:var(--ink) !important; border:1px solid var(--line-2,var(--line)) !important; text-decoration:none; background:var(--surface-solid,var(--surface)) !important; }
.fr-tsow b { font-size:1rem; font-weight:900; } .fr-tsow em { font-style:normal; font-size:.74rem; font-weight:800; color:var(--ink-dim); }
.fr-tkh { margin:2px 0 8px; font-size:.74rem; font-weight:800; color:var(--ink-dim); }
#frView .fr-tgo { width:100%; min-height:52px; margin-top:6px; border-radius:12px; font:inherit; font-weight:900; font-size:1.05rem; cursor:pointer;
    background:var(--c) !important; color:var(--bg) !important; border:none !important; }
#frView .fr-tgo:disabled { opacity:.45; cursor:default; }
.fr-tdone { padding:10px 14px; border-radius:14px; background:var(--surface); border:1px dashed var(--line-2,var(--line)); }
.fr-tdone summary { font-weight:900; color:var(--ink); cursor:pointer; min-height:28px; }
#frView .fr-tdl { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; width:100%; padding:8px 0; text-align:left; font:inherit; cursor:pointer;
    background:transparent !important; color:var(--ink) !important; border:none !important; border-top:1px dashed var(--line-2,var(--line)) !important; }
.fr-tdl b { font-weight:900; color:var(--t-green); } .fr-tdl span { font-weight:900; } .fr-tdl small { font-size:.76rem; font-weight:800; color:var(--ink-dim); }
#frView .fr-wc { display:block; width:100%; margin-bottom:10px; padding:14px; text-align:left; font:inherit; cursor:pointer; border-radius:16px;
    background:var(--surface) !important; color:var(--ink) !important; border:1px solid var(--line-2,var(--line)) !important; border-top:5px solid var(--c) !important; }
.fr-wc .l b { display:block; font-size:1.08rem; font-weight:900; color:var(--ink-strong); } .fr-wc .l small { font-size:.8rem; font-weight:800; color:var(--ink-dim); }
.fr-dots { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; margin:12px 0 8px; }
.fr-dots > span { display:flex; flex-direction:column; align-items:center; gap:4px; font-size:.72rem; font-weight:800; color:var(--ink-dim); }
.fr-dots i { display:block; width:100%; height:8px; border-radius:4px; background:var(--line-2,var(--line)); }
.fr-dots .ok i { background:var(--t-green); } .fr-dots .miss i { background:var(--t-orange); }
.fr-dots .now i { background:var(--c); box-shadow:0 0 0 2px color-mix(in srgb, var(--c) 40%, transparent); } .fr-dots .now { color:var(--ink-strong); font-weight:900; }
.fr-wc .nx { display:block; font-size:.9rem; font-weight:900; color:var(--ink); }
.fr-sh { display:flex; align-items:center; gap:10px; margin-bottom:10px; } .fr-sh b { font-size:1.1rem; font-weight:900; color:var(--ink-strong); }
#frView .fr-sbk { flex:none; min-height:44px; padding:0 14px; border-radius:12px; font:inherit; font-weight:900; cursor:pointer;
    background:var(--surface) !important; color:var(--ink) !important; border:1px solid var(--line-2,var(--line)) !important; }
.fr-sbar { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-bottom:12px; }
#frView .fr-sbar button { display:flex; flex-direction:column; align-items:center; gap:4px; padding:2px 0; font:inherit; font-size:.78rem; font-weight:900; cursor:pointer;
    background:transparent !important; color:var(--ink-dim) !important; border:none !important; }
.fr-sbar i { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; font-style:normal; font-weight:900; background:var(--surface); border:2px solid var(--line-2,var(--line)); color:var(--ink-soft); }
.fr-sbar .ok i { background:var(--t-green); border-color:var(--t-green); color:#062; }
.fr-sbar .miss i { border-color:var(--t-orange); color:var(--t-orange); }
.fr-sbar .now i { background:var(--t-pink); border-color:var(--t-pink); color:#fff; }
#frView .fr-sbar button.sel { color:var(--ink-strong) !important; } .fr-sbar .sel i { box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent); }
.fr-sc { padding:14px; border-radius:16px; background:var(--surface); border:1px solid var(--line-2,var(--line)); }
.fr-sct b { display:block; font-size:1.1rem; font-weight:900; color:var(--ink-strong); } .fr-sct small { font-size:.8rem; font-weight:800; color:var(--ink-dim); }
.fr-sr { padding:12px 0; border-bottom:1px dashed var(--line-2,var(--line)); } .fr-sr:last-child { border-bottom:none; }
.fr-srt { display:flex; flex-wrap:wrap; align-items:center; gap:2px 8px; } .fr-srt small { flex:1 1 auto; margin-top:0; }
.fr-cks { display:grid; grid-template-columns:repeat(auto-fill, minmax(76px, 1fr)); gap:6px; margin-top:8px; }
.fr-ck { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:62px; padding:4px; border-radius:12px; font:inherit; }
#frView button.fr-ck { cursor:pointer; background:var(--surface-solid,var(--surface)) !important; color:var(--ink) !important; border:2px dashed var(--line-2,var(--line)) !important; }
.fr-ck > span { min-height:1em; font-size:.76rem; font-weight:900; } .fr-ck b { font-size:1rem; font-weight:900; }
#frView .fr-ck.ok { background:color-mix(in srgb, var(--t-green) 20%, var(--surface)) !important; border:2px solid var(--t-green) !important; } .fr-ck.ok > span { color:var(--t-green); }
#frView .fr-ck.td { background:color-mix(in srgb, var(--t-amber) 14%, var(--surface)) !important; border:2px solid var(--t-amber) !important; } .fr-ck.td > span { color:var(--t-amber); }
.fr-ck.na { opacity:.45; border:1px solid var(--line-2,var(--line)); color:var(--ink-dim); }
#frView .fr-sbr { display:flex; align-items:baseline; gap:10px; width:100%; padding:10px 4px; text-align:left; font:inherit; cursor:pointer;
    background:transparent !important; color:var(--ink) !important; border:none !important; border-bottom:1px dashed var(--line-2,var(--line)) !important; }
.fr-sbr b { min-width:64px; font-size:1.02rem; font-weight:900; color:var(--ink-strong); } .fr-sbr span { font-weight:800; color:var(--ink-dim); } .fr-sbr.ok span { color:var(--ink); }
.fr-snav { display:grid; grid-template-columns:1fr 1.6fr; gap:8px; margin-top:12px; }
#frView .fr-snav button { min-height:54px; border-radius:14px; font:inherit; font-weight:900; font-size:1rem; cursor:pointer;
    background:var(--surface) !important; color:var(--ink) !important; border:1px solid var(--line-2,var(--line)) !important; }
#frView .fr-snav .pri { background:var(--accent) !important; color:var(--accent-ink,#041) !important; border:none !important; }

/* [달력] 보기 (2026-10-17): 주 번호 칸에 분만 주차 띠, 날짜 칸에 할 일 색 글자(폰은 숫자만), 아래(PC 는 오른쪽)에 고른 날 할 일 */
.fr-calw { display:grid; gap:14px; } @media (min-width:900px) { .fr-calw { grid-template-columns:1.5fr 1fr; align-items:start; } }
.fr-cal { padding:12px; border-radius:16px; background:var(--surface); border:1px solid var(--line-2,var(--line)); }
.fr-cmh { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; } .fr-cmh b { font-size:1.12rem; font-weight:900; color:var(--ink-strong); }
#frView .fr-cmh button { width:44px; height:44px; border-radius:12px; font:inherit; font-size:1.3rem; font-weight:900; cursor:pointer;
    background:var(--surface-solid,var(--surface)) !important; color:var(--ink) !important; border:1px solid var(--line-2,var(--line)) !important; }
.fr-clg { display:flex; flex-wrap:wrap; gap:4px 10px; margin-bottom:8px; }
.fr-clg span { font-size:.74rem; font-weight:800; color:var(--ink-soft); }
.fr-clg span::before { content:''; display:inline-block; width:10px; height:10px; margin-right:4px; border-radius:3px; vertical-align:-1px; background:var(--c); }
.fr-cg { display:grid; grid-template-columns:40px repeat(7, minmax(0,1fr)); gap:3px; }
.fr-cg .wh { padding:2px 0; text-align:center; font-size:.74rem; font-weight:900; color:var(--ink-dim); }
.fr-cg .wn { display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:8px; font-size:.72rem; font-weight:900; color:var(--ink-soft);
    background:color-mix(in srgb, var(--c,transparent) 22%, transparent); }
.fr-cg .wn small { font-size:.56rem; font-weight:800; line-height:1.15; text-align:center; }
#frView .fr-cg .dc { display:flex; flex-direction:column; align-items:stretch; gap:2px; min-height:72px; padding:3px; border-radius:8px; font:inherit; text-align:left; cursor:pointer;
    background:var(--surface-solid,var(--surface)) !important; color:var(--ink) !important; border:1px solid var(--line-2,var(--line)) !important; }
#frView .fr-cg .dc.bd { box-shadow:inset 0 3px 0 var(--c); }
.fr-cg .dc .n { font-size:.82rem; font-weight:900; } .fr-cg .dc.ot { opacity:.45; }
#frView .fr-cg .dc.td { border:2px solid var(--accent) !important; }
#frView .fr-cg .dc.sel { background:color-mix(in srgb, var(--accent) 16%, var(--surface)) !important; }
.fr-cg .dc i { display:block; padding:1px 3px; border-radius:4px; font-style:normal; font-size:.6rem; font-weight:900; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    color:var(--ink); background:color-mix(in srgb, var(--c) 30%, transparent); }
@media (max-width:899px) { .fr-cg .dc .tx { display:none; } .fr-cg .dc i { text-align:center; font-size:.72rem; } }
@media (min-width:900px) { #frView .fr-cg .dc { min-height:88px; padding:5px; } .fr-cg .dc .n { font-size:.95rem; } .fr-cg .dc i { font-size:.74rem; } .fr-cg .wn { font-size:.82rem; } .fr-cg .wn small { font-size:.66rem; } }
.fr-cg .dc i.ol { background:transparent; box-shadow:inset 0 0 0 1.5px var(--c); }
.fr-clg span.ol::before { background:transparent; box-shadow:inset 0 0 0 2px var(--c); }
.fr-cdt { font-size:1.02rem; font-weight:900; color:var(--ink-strong); }
