@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);--bg:#f6f5f2;--card:#fff;--tx:#1f2328;--mu:#6b7280;--bd:#e2e0da;--ac:#2f5d8a;--ok:#2e7d4f;--wa:#b7791f;--er:#c0392b;--in:#6b46c1}
:root[data-theme="dark"]{color-scheme:dark;--bg:#0b0e14;--card:#131720;--tx:#e8e8e8;--mu:#9aa0a6;--bd:#262c3a;--ac:#6fa3d6;--ok:#5cb97f;--wa:#e0a84a;--er:#e8766a;--in:#a78bfa}
html{scroll-padding-top:env(safe-area-inset-top,0px);overflow-y:scroll;scrollbar-gutter:stable}
*{box-sizing:border-box}
body{margin:0;background:#282a36;color:var(--tx);font:14px/1.5 -apple-system,"Noto Sans KR","Malgun Gothic",sans-serif}
.w{max-width:900px;margin:0 auto;padding:16px}
h1{font-size:20px;font-weight:400;margin:0 0 12px}
h1,#v>.mu,#v>.hint,#v>form label{color:#f1f2f6}
#ibx button,.b{border:1px solid var(--bd);background:var(--card);color:var(--tx);padding:8px 14px;border-radius:4px;cursor:pointer;font:inherit;white-space:nowrap}
#ibx button{background:#373d53;color:#f1f2f6;border-color:#7b819c}
.sum.k{gap:8px;margin-bottom:14px}
.sum.k div{display:block;position:relative;cursor:pointer;padding:8px 12px 10px;border-left:4px solid transparent;user-select:none}
.sum.k span{display:inline;font-size:12px;font-weight:400;color:#000}
.sum.k b{display:inline;font-size:12px;font-weight:700;line-height:1.2}
.sum.k em{position:static;font-size:12px;margin:0 0 0 8px}
.sum.k small{font-size:10px;font-weight:400;color:#000;margin-left:6px}
.sum.k div.av{padding-bottom:10px;box-sizing:border-box;height:30px;padding:0 12px;display:flex;align-items:center;gap:8px;line-height:1.2}
.sum.k span{margin-right:0}
.sum.k div.w2{border-left-color:#f0a020}
.sum.k div.w3{border-left-color:#d63031}
.sum.k div.sel{outline:2px solid #ffd166;outline-offset:1px;background:#fff8e1}
:root[data-theme="dark"] .sum.k span,:root[data-theme="dark"] .sum.k small{color:#e8e8e8}
:root[data-theme="dark"] .sum.k div.sel{background:#3a2d10;outline-color:#a37014}
#ibx .ic{padding:8px 11px}
#ibx .ic .ni{margin:0}
.tbr #sst{margin:0;text-align:right;white-space:nowrap;flex-shrink:0}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2ecc71;margin-right:5px;vertical-align:1px}
.dot.dsv{background:#ffb020;animation:dsvp 1s ease-in-out infinite}
.dot.der{background:#ff5d5d}
@keyframes dsvp{50%{opacity:.35;transform:scale(.75)}}
.sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-bottom:14px}
.sum div{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;background:#fff;border:1px solid var(--bd);border-radius:4px;padding:10px}
.sum b{color:#000;display:block;font-size:14px;font-weight:400}
.sum span{color:#000;font-size:14px;font-weight:700}
.sum em{font-style:normal;color:#000;font-size:14px;margin-left:auto}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;align-items:start}
.room{background:var(--card);border:1px solid var(--bd);border-left-width:1px;border-radius:4px;padding:10px;cursor:pointer;min-height:100px;min-width:0;overflow:hidden}
.room .ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#000}
.room,.room b{color:#000}
.room input{color:#000;background:#fff;border-color:#999}
.room .hd{display:flex;gap:6px;align-items:baseline;min-width:0}
.room .hd b{flex:none}
.room .hd .ell{flex:1;min-width:0;font-size:10px}
.room .hd input{font-size:10px;padding:1px 4px;line-height:1.3}
.room .st{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding:4px 6px;font-weight:400;font-size:smaller;text-align:left;color:#000;border:0}
.room .st0{border-color:#5aa874;background:#5aa874}
.room .st1{border-color:var(--ac);background:color-mix(in srgb,var(--ac) 70%,#fff)}
.room .st2{border-color:#e6b800;background:#e6b800}
.room .st3{border-color:#e04a4a;background:#e04a4a}
.room .st>span:last-child{filter:drop-shadow(1px 2px 1.5px rgba(0,0,0,.55))}
.room b{font-size:14px;font-weight:400}
.room small{display:block;color:#000}
.room{box-shadow:0 2px 3px rgba(0,0,0,.3),0 8px 16px rgba(0,0,0,.35);transition:transform .15s,box-shadow .15s}
.room:hover{transform:translateY(-3px);box-shadow:0 4px 6px rgba(0,0,0,.3),0 14px 24px rgba(0,0,0,.4)}
.s0{border-color:#5aa874;background:#d6ecdc}
.s1{border-color:var(--ac);background:color-mix(in srgb,var(--ac) 35%,#fff)}
.s2{border-color:#e6b800;background:#fff1b8}
.s3{border-color:#e04a4a;background:#ffd0d0}
.card{background:var(--card);border:1px solid var(--bd);border-radius:4px;padding:12px;margin-bottom:8px}
#rpt{display:none;position:fixed;inset:0;z-index:140;background:#e9ebf0;overflow:auto;padding:10px;color:#000}
#rpt .rbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;max-width:210mm;margin:0 auto 8px}
#rpt .rbar .b.on{background:#ffd166}
#rpt .rpg{background:#fff;width:210mm;max-width:100%;margin:0 auto;padding:12mm;box-sizing:border-box;font-size:11px;line-height:1.35;box-shadow:0 2px 10px rgba(0,0,0,.25)}
#rpt h1,#rpt .rpg{color:#000}
#rpt h1{font-size:19px;margin:0 0 2px}
#rpt h2{font-size:13px;margin:10px 0 4px;border-bottom:2px solid #333;padding-bottom:2px}
#rpt .rsub{font-size:11px;color:#444;margin-bottom:8px}
#rpt .rk{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
#rpt .rk div{border:1px solid #999;padding:5px 6px}
#rpt .rk span{display:block;font-size:10px;color:#444}
#rpt .rk b{font-size:17px}
#rpt .rt2{width:100%;border-collapse:collapse;font-size:10.5px}
#rpt .rt2 th,#rpt .rt2 td{border:1px solid #bbb;padding:2px 5px;text-align:left}
#rpt .rt2 th{background:#eee}
#rpt .rmore{font-size:10px;text-align:right;color:#555}
#rpt .rsig{display:flex;justify-content:flex-end;gap:0;margin-top:12px}
#rpt .rsig span{display:inline-block;width:70px;height:46px;border:1px solid #777;margin-left:-1px;font-size:10px;padding:2px 4px}
@media print{
@page{size:A4;margin:0}
html,body{background:#fff!important}
body>*:not(#rpt){display:none!important}
#rpt{position:static!important;display:block!important;padding:0!important;background:#fff!important;overflow:visible!important}
#rpt .rbar{display:none!important}
#rpt .rpg{box-shadow:none!important;width:210mm!important;height:296mm;overflow:hidden;margin:0!important;padding:12mm!important}
}
.nbc .nbm{font-size:14px;margin-top:4px}
.nbt{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;color:#fff;background:#e67e22}
.nbt.t1{background:#8e44ad}
.nbt.t2{background:#2d6cdf}
.nbt.t3{background:#2e9e5b}
.nbst{font-size:12px;border:1px solid #ccc;border-radius:10px;padding:1px 8px}
.nbc.nbs7{border-left:4px solid #d63031}
.nbc.nbx{opacity:.55}
.mu2 a{color:inherit}
.fs .p{border-left-color:#8e44ad}
.fs .r1{border-left-color:#16a085}
.fs .r2{border-left-color:#e84393}
.fs .r3{border-left-color:#636e72}
.fs .a{border-left-color:#e08a00}
.chi{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 8px;border-radius:7px;font-size:12px;white-space:nowrap;font-weight:400;vertical-align:middle}
.sg{overflow-x:auto;border-radius:4px}
.st{border-collapse:separate;border-spacing:0;font-size:12px;min-width:max-content;background:#fff;color:#000}
.st th,.st td{border-bottom:1px solid #e3e5ea;border-right:1px solid #eef0f4;padding:2px 4px;text-align:right;white-space:nowrap}
.st thead th{background:#eef0f4;position:sticky;top:0}
.st td:first-child,.st th:first-child{position:sticky;left:0;background:#eef0f4;text-align:left;font-weight:700;z-index:1}
.st thead th{text-align:center}
.st td.dd,.st tbody td:first-child{text-align:right}
.st thead th:first-child{text-align:center}
.st .sun{color:#d63031}
.st .sat{color:#2d6cdf}
.st tr.tdy td{background:#fff8e1}
.st tr.tdy td:first-child{background:#ffe9a8}
.st .rt{font-weight:700;background:#f6f7fa}
.st tfoot th{background:#dfe3ec;position:static}
.st input.sc{width:82px;border:1px solid transparent;background:transparent;font-size:12px;padding:3px 4px;color:#000}
.st input.sc:focus{border-color:#ffd166;background:#fff;outline:none}
.et td.l,.et th.l{text-align:left}
.et td{padding:5px 8px}
.et .ib{height:28px;width:auto;padding:0 10px;font-size:12px}
.mu2{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;margin-top:4px;background:#fff;color:#000;border-radius:4px;cursor:pointer;font-size:14px}
.mu2.soon{background:#ffe55c}
.mu2.late{background:#ffb4b0}
.mu2.dn2{background:#d6ecdc;color:#444}
:root[data-theme="dark"] .st,:root[data-theme="dark"] .mu2{background:#131720;color:#e8e8e8}
:root[data-theme="dark"] .st th,:root[data-theme="dark"] .st td{border-color:#232938}
:root[data-theme="dark"] .st thead th,:root[data-theme="dark"] .st td:first-child,:root[data-theme="dark"] .st th:first-child,:root[data-theme="dark"] .st .rt,:root[data-theme="dark"] .st tfoot th{background:#1a1f2a}
:root[data-theme="dark"] .st input.sc{color:#e8e8e8}
:root[data-theme="dark"] .st input.sc:focus{background:#111}
:root[data-theme="dark"] .st tr.tdy td,:root[data-theme="dark"] .st tr.tdy td:first-child{background:#3a2d10}
:root[data-theme="dark"] .mu2.soon{background:#6b5a10}
:root[data-theme="dark"] .mu2.late{background:#6b1c18}
:root[data-theme="dark"] .mu2.dn2{background:#10261a;color:#aaa}
.fs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:12px}
.fs div{background:#fff;color:#000;border:1px solid var(--bd);border-left:5px solid #888;border-radius:4px;padding:8px 12px;min-width:0}
.fs span{display:block;font-size:12px}
.fs b{font-size:20px;font-weight:700;word-break:keep-all}
.fs .i{border-left-color:#2e9e5b}
.fs .o{border-left-color:#d63031}
.fs .n{border-left-color:#2d6cdf}
.fr{display:flex;justify-content:space-between;align-items:center;gap:8px}
.card.fin{border-color:#5aa874;background:#d6ecdc;border-left-width:5px;color:#000}
.card.fin .mu{color:#444}
.ff{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:8px}
.ff label{font-size:12px;color:#cfd3e6}
.ff .w2{grid-column:1/-1}
.card .ff label{color:#444}
.fbar{height:8px;border-radius:4px;background:#d9dde3;overflow:hidden;margin-top:3px}
.fbar u{display:block;height:100%;text-decoration:none}
.ft{width:100%;border-collapse:collapse;font-size:14px;background:#fff;color:#000;border-radius:4px;overflow:hidden}
.ft th,.ft td{padding:6px 8px;text-align:right;border-bottom:1px solid #e3e5ea}
.ft th:first-child,.ft td:first-child{text-align:left}
.ft th{background:#eef0f4;font-weight:700}
@media(max-width:520px){
.fs b{font-size:16px}
.fs div{padding:6px 8px}
}
@media(max-width:390px){
.fs b{font-size:14px}
.fs div{padding:4px 6px}
.sum{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}
.grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
.room{min-height:80px;padding:8px}
}
:root[data-theme="dark"] .fs div,:root[data-theme="dark"] .ft{background:#131720;color:#e8e8e8;border-color:#262c3a}
:root[data-theme="dark"] .ft th{background:#1a1f2a}
:root[data-theme="dark"] .ft th,:root[data-theme="dark"] .ft td{border-color:#262c3a}
:root[data-theme="dark"] .card.fin{border-color:#2e6b44;background:#10261a;color:#e8e8e8}
:root[data-theme="dark"] .card.fin .mu{color:#aaa}
:root[data-theme="dark"] .fbar{background:#232938}
.card .ib{height:37px;box-sizing:border-box;padding:0 14px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}
.card .ib.pg{width:132px}
.card .ib.ed{width:62px}
.card.ic0{border-color:#e6b800;background:#fff1b8}
.card.ic1{border-color:#e04a4a;background:#ffd0d0}
.card.ic2{border-color:#5aa874;background:#d6ecdc}
.card.ic0,.card.ic1,.card.ic2{border-left-width:5px;color:#000}
.card.ic0 .mu,.card.ic1 .mu,.card.ic2 .mu{color:#444}
:root[data-theme="dark"] .card.ic0{border-color:#8a5a10;background:#2c1d09;color:#e8e8e8}
:root[data-theme="dark"] .card.ic1{border-color:#a32a22;background:#35100f;color:#e8e8e8}
:root[data-theme="dark"] .card.ic2{border-color:#2e6b44;background:#10261a;color:#e8e8e8}
:root[data-theme="dark"] .card.ic0 .mu,:root[data-theme="dark"] .card.ic1 .mu,:root[data-theme="dark"] .card.ic2 .mu{color:#aaa}
.calh{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#f1f2f6}
.calh h2{margin:0;font-size:18px;font-weight:700;flex:1;text-align:center}
.calh .b{padding:6px 12px}
.cw{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cwh{text-align:center;font-size:12px;color:#cfd3e6;padding:2px 0}
.cd{min-height:132px;background:#fff;border:1px solid var(--bd);border-radius:4px;padding:4px;min-width:0;color:#000}
.cd.off{background:transparent;border-color:transparent}
.cd.td{outline:2px solid #ffd166}
.cd .dn{font-size:12px;font-weight:700}
.cd .sun{color:#d63031}
.cd .sat{color:#2d6cdf}
.ce{font-size:11px;padding:1px 4px;margin-top:2px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.ce.s0{background:#ffd166;color:#000}
.ce.s1{background:#e0504f;color:#fff}
.ce.s2{background:#d9dde3;color:#555;text-decoration:line-through}
.cd .mo{font-size:11px;color:#555;cursor:pointer;margin-top:2px}
.cl{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#cfd3e6;margin:8px 0}
.cl i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
@media(max-width:520px){
.cd{min-height:96px;padding:2px}
.ce{font-size:10px;padding:1px 2px}
.cd .dn{font-size:11px}
}
@media(max-width:390px){
.cd{min-height:80px;padding:1px}
.ce{font-size:9px;padding:1px}
.cd .dn{font-size:10px}
.calh h2{font-size:16px}
.card{padding:10px;margin-bottom:6px}
}
:root[data-theme="dark"] .cd{background:#131720;color:#e8e8e8;border-color:#262c3a}
:root[data-theme="dark"] .cd.off{background:transparent;border-color:transparent}
:root[data-theme="dark"] .ce.s0{background:#7a5410;color:#fff}
:root[data-theme="dark"] .ce.s1{background:#8f2a24;color:#fff}
:root[data-theme="dark"] .ce.s2{background:#232938;color:#aaa}
:root[data-theme="dark"] .cd .mo{color:#aaa}
.row{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.tag{font-size:12px;padding:2px 8px;border-radius:4px;border:1px solid var(--bd);color:var(--mu)}
.hi{color:var(--er);border-color:var(--er)}
form{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:14px}
input,select{padding:8px;border:1px solid var(--bd);border-radius:4px;background:var(--card);color:var(--tx);font:inherit;min-width:0}
.late{color:var(--er);font-weight:600}
.mu{color:var(--mu);font-size:12px}
form label{display:flex;flex-direction:column;gap:2px}
.fi input,.fi select{border:2px solid #7fb2f0}
.fi input:focus,.fi select:focus{outline:none;border-color:#ffd166;box-shadow:0 0 0 3px rgba(255,209,102,.5)}
.fi .b{border:2px solid #5cd68a;background:#e6ffef;color:#000}
.fi .b:hover{background:#c9f7da}
.tp{font-size:14px;background:#373d53;color:#f1f2f6;padding:12px;margin-bottom:14px;border-radius:4px}
.tp .tf{display:flex;gap:6px;margin:8px 0}
.tp .tf input{flex:1;min-width:0}
.tk{border-radius:4px;display:flex;justify-content:space-between;gap:8px;padding:8px 10px;margin-bottom:4px;background:#fff;color:#000;cursor:pointer}
.tk.on{background:#ffd166}
.hint2{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.room{display:flex;flex-direction:column}
.room:not(.w) .ck{margin-top:6px}
.room .rp.sp{margin-top:8px;padding-top:6px;border-top:1px dashed #666}
.room .rp .st{font-size:12px;font-weight:600;margin-top:0;padding:4px 8px}
.room .rp .late{font-size:12px;font-weight:700;margin-top:6px;margin-bottom:2px}
.room .rp small.ell{font-size:12px;font-weight:400;line-height:1.5}
.room .ck{margin-top:auto;padding-top:6px;display:flex;flex-wrap:wrap;gap:3px}
.room .ck .c{font-size:12px;line-height:1.3;padding:1px 5px;background:#fff;border:1px solid #888;color:#000}
.room .ck .c.y{background:#d6ebff;border-color:#6aa7e0}
.room .ck .c.a{outline:2px solid #ffd166}
.sb{width:120px;height:40px;align-self:end;justify-self:start}
.sh{font-size:16px;margin:0 0 10px;color:#f1f2f6}
hr.ln{border:0;border-top:2px solid #8a90ab;margin:24px 0}
#v section .hint,#v section form label{color:#fff}
#v section form label{font-size:14px}
#v section form input{height:40px}
.sg{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:12px}
.sm{background:#fff;color:#000;border-radius:4px;padding:8px 10px;font-size:14px}
.sm .bs{margin-top:4px;color:#333;font-size:12px}
.tw{overflow-x:auto;border-radius:4px}
table.it{border-collapse:collapse;width:100%;min-width:760px;background:#fff;color:#000;font-size:14px}
.it th,.it td{padding:6px 8px;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}
.it thead th{background:#373d53;color:#f1f2f6;white-space:nowrap}
.it tbody th{position:sticky;left:0;background:#f3f3f3;white-space:nowrap}
.it td input{display:block;width:100%;margin-top:4px;padding:3px 6px;font-size:12px;background:#fff;color:#000;border:1px solid #bbb;border-radius:4px}
.room.w{background:#fff;border-color:#ccc}
.room>*{min-width:0;max-width:100%}
.room>.ell{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grid>.room{width:100%;max-width:100%}
.il{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px}
.il .tk{flex-wrap:wrap;margin-bottom:0;padding:6px 10px;align-content:center}
.il .bsl{flex-basis:100%;margin:0;color:#333;font-size:12px}
.room.w .ck{display:grid;grid-template-columns:1fr;gap:3px;margin-top:6px}
.room.w .ck .c{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.room.w .ck .c i{font-style:normal;margin-right:6px}
.room.w .ck .c.n{background:#fff;border-color:#bbb;color:#000}
.tp .th{display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer}
.tp form.ef2{display:flex;gap:6px;flex:1;margin:0}
.ef2 input{flex:1;min-width:0}
.card form.ef{margin:0;align-items:end}
.lk{background:none;border:0;color:var(--ac);cursor:pointer;padding:0;font:inherit;font-size:14px;text-decoration:underline}
.bsl{font-size:12px;color:#cfd3e6;margin:-2px 0 6px 10px}
.hint{color:var(--mu);font-size:12px;margin:0 0 10px}
.fb{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;margin-bottom:10px}
.ph{width:64px;height:64px;object-fit:cover;border:1px solid #888;cursor:pointer;background:#ddd;margin:4px 4px 0 0}
.pt{display:inline-block;position:relative;margin:4px 8px 0 0}
.pt img{width:64px;height:64px;object-fit:cover;border:1px solid #888;background:#ddd}
.pt b{position:absolute;top:-6px;right:-6px;background:#d63031;color:#fff;width:18px;height:18px;text-align:center;line-height:18px;border-radius:9px;cursor:pointer;font-size:11px;font-weight:400}
.urg{background:#d63031;color:#fff;padding:10px 12px;margin-bottom:10px;cursor:pointer;font-weight:700;border-radius:4px}
.bdg{margin-left:2px}
.bdg.r{background:#d63031;color:#fff}
#fd{position:absolute;z-index:5;background:#fff;color:#000;border:1px solid var(--bd);border-radius:4px;padding:10px 12px;line-height:1.35;font-size:14px;box-shadow:0 2px 3px rgba(0,0,0,.3),0 8px 16px rgba(0,0,0,.35);text-align:left;white-space:nowrap}
#fd .fh{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
#fd .fh strong{font-size:13px}
#fd .fh span{font-size:12px;color:#555}
#fd .fn{font-size:24px;line-height:1.2;margin:2px 0 0}
#fd ul{list-style:none;margin:8px 0 0;padding:8px 0 0;border-top:1px solid #ddd}
#fd li{font-size:13px;text-align:left}
#fd li:before{content:"•";margin-right:6px;color:#555}
#fd li.fu{color:#d63031;font-weight:700}
#fd li.fu:before{color:#d63031}
#fd.fl{position:fixed;right:10px;bottom:16px;cursor:pointer;padding:8px 12px;z-index:50}
#fd.fl .fn:after{content:" ▾";font-size:11px;color:#777}
#fd.fl.c ul{display:none}
#fd.fl.c .fm{display:flex;align-items:baseline;gap:10px}
#fd.fl.c .fh{display:block}
#fd.fl.c .fh span{display:none}
#fd.fl.c .fn{font-size:18px;margin:0}
#fd.fl.c .fn:after{content:" ▴"}
.tgb{border:1px solid #8b93b3;background:#2a2f42;color:#fff;padding:3px 10px;border-radius:4px;font-size:12px;white-space:nowrap}
.th:hover .tgb{background:#4a5170}
:root[data-theme="light"]{color-scheme:light}
:root[data-theme="dark"] body{background:#0b0e14}
:root[data-theme="dark"] .sum div{background:#131720;border-color:#262c3a}
:root[data-theme="dark"] .sum b,:root[data-theme="dark"] .sum span,:root[data-theme="dark"] .sum em{color:#e8e8e8}
:root[data-theme="dark"] .b{background:#262c3a;color:#e8e8e8;border-color:#343b4d}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{background:#10141c;color:#e8e8e8;border-color:#2a3040}
:root[data-theme="dark"] .fi input,:root[data-theme="dark"] .fi select{border-color:#3b5aa8}
:root[data-theme="dark"] .fi .b{border-color:#2f8a3c;background:#2f5233;color:#e8f5e8}
:root[data-theme="dark"] .fi .b:hover{background:#3a6540}
:root[data-theme="dark"] .tp{background:#131720;color:#e6e8ef}
:root[data-theme="dark"] .tk{background:#10141c;color:#e8e8e8}
:root[data-theme="dark"] .tk.on{background:#7a5410;color:#fff}
:root[data-theme="dark"] .room,:root[data-theme="dark"] .room b,:root[data-theme="dark"] .room small,:root[data-theme="dark"] .room .ell,:root[data-theme="dark"] .room .st{color:#e8e8e8}
:root[data-theme="dark"] .room .st0{border-color:#1f6b3a;background:#1a4a2c}
:root[data-theme="dark"] .room .st2{border-color:#8a5a10;background:#6b4510}
:root[data-theme="dark"] .room .st3{border-color:#a32a22;background:#8a1c14}
:root[data-theme="dark"] .s0{border-color:#1f6b3a;background:#10281a}
:root[data-theme="dark"] .s2{border-color:#8a5a10;background:#2c1d09}
:root[data-theme="dark"] .s3{border-color:#a32a22;background:#35100f}
:root[data-theme="dark"] .room .ck .c{background:#1a1f2a;border-color:#777;color:#ddd}
:root[data-theme="dark"] .room .ck .c.y{background:#1f3a5c;border-color:#4f86c0;color:#e6f1ff}
:root[data-theme="dark"] .room,:root[data-theme="dark"] .room:hover{box-shadow:0 2px 3px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.6)}
:root[data-theme="dark"] .late{color:#ff8b80}
:root[data-theme="dark"] .tag{color:#ccc;border-color:#343b4d}
:root[data-theme="dark"] .tag[style*="background:#fff"]{background:#131720;color:#e8e8e8;border-color:#2a3040}
:root[data-theme="dark"] .sm{background:#10141c;color:#e8e8e8}
:root[data-theme="dark"] .sm .bs,:root[data-theme="dark"] .il .bsl{color:#bbb}
:root[data-theme="dark"] table.it{background:#131720;color:#e8e8e8}
:root[data-theme="dark"] .it th,:root[data-theme="dark"] .it td{border-bottom-color:#262c3a}
:root[data-theme="dark"] .it thead th{background:#1a1f2a;color:#e6e8ef}
:root[data-theme="dark"] .it tbody th{background:#10141c}
:root[data-theme="dark"] .room.w{background:#131720;border-color:#262c3a}
:root[data-theme="dark"] .room.w .ck .c.n{background:#1a1f2a;border-color:#343b4d;color:#e8e8e8}
:root[data-theme="dark"] .ph,:root[data-theme="dark"] .pt img{background:#232938;border-color:#343b4d}
:root[data-theme="dark"] .urg{background:#6f130d}
:root[data-theme="dark"] .bdg{background:#262c3a;color:#fff}
:root[data-theme="dark"] .bdg.r{background:#7a1710}
:root[data-theme="dark"] #fd{background:#131720;color:#e8e8e8;border-color:#2a3040;box-shadow:0 2px 3px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.6)}
:root[data-theme="dark"] #fd .fh span,:root[data-theme="dark"] #fd li:before,:root[data-theme="dark"] #fd.fl .fn:after{color:#aaa}
:root[data-theme="dark"] #fd ul{border-top-color:#2a3040}
:root[data-theme="dark"] #fd li.fu,:root[data-theme="dark"] #fd li.fu:before{color:#ff8b80}
:root[data-theme="dark"] label.b,:root[data-theme="dark"] .fi label.b{color:#e8f5e8}
:root[data-theme="dark"] .pop{background:#10141c;color:#e8e8e8;border-color:#343b4d}
:root[data-theme="dark"] .pop button:not(.b){background:#262c3a;color:#eee;border-color:#343b4d}
:root[data-theme="dark"] .pop button[style*="outline"]{outline-color:#ffd166}
:root[data-theme="dark"] .pop #askY{background:#2f5233;border-color:#2f8a3c;color:#e8f5e8}
.hr{display:flex;flex-direction:column;align-items:flex-end}
#ibx{display:flex;gap:4px;flex-shrink:0}
#ibx button{height:20px;padding:0 7px;font-size:11px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
#ibx .ni{font-size:12px;margin:0}
/* 글자 크기 체계: 기본14 / 보조12 / 강조16 / 숫자20 */
input,select,textarea,button{font-size:14px}
.ff>label,.fi>label:not(.b),#v>form label{font-size:12px}
.ic0 .row>div>b:first-child,.ic1 .row>div>b:first-child,.ic2 .row>div>b:first-child,.nbc .row b{font-size:16px}
@media(pointer:coarse){
input,select,textarea{font-size:16px}
}
/* 정렬 기준: 버튼 가운데, 입력·드롭다운 왼쪽, 표 숫자 열 오른쪽(머리글도 동일) */
input,select,textarea{text-align:left}
.st input.sc{text-align:right}
.et th,.et td{text-align:left}
.et th:nth-child(4),.et td:nth-child(4){text-align:right}
.ft:not(.et) th:not(:first-child),.ft:not(.et) td:not(:first-child){text-align:right}
.fr1{display:flex;gap:6px;flex-wrap:wrap}
.fr1>*{flex:1 1 120px;min-width:0}
.fr1 .fd{flex:2 1 210px;display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12px;color:#cfd3e6;white-space:nowrap}
.fr1 .fd input{flex:1;min-width:0}
.fr1 .pb{display:flex;align-items:center;justify-content:center;cursor:pointer;color:#000;white-space:nowrap}
.fr2{display:flex;gap:6px;margin-top:8px}
.fr2 input{flex:1;min-width:0}
.fr2 .b{flex:none;padding:0 26px}
.room{position:relative}
.room .mk{position:absolute;top:-1px;right:-1px;width:0;height:0;border-style:solid;border-width:0 14px 14px 0;border-color:transparent #bbb transparent transparent;cursor:pointer;z-index:2;opacity:0;transition:opacity .15s}
.room .mk::after{content:"";position:absolute;left:-10px;top:0;width:14px;height:14px}
.room:hover .mk{opacity:.7}
.room .mk.on{opacity:1;border-color:transparent #e02020 transparent transparent}
@media(hover:none){
.room .mk{opacity:.7}
.room .mk.on{opacity:1}
}
#mkt{position:fixed;z-index:140;background:#ffffe1;color:#000;border:1px solid #000;padding:4px 6px;font-size:12px;line-height:1.4;max-width:240px;min-width:90px;pointer-events:none;box-shadow:2px 2px 4px rgba(0,0,0,.3);text-align:left;word-break:break-all}
#mkt::before{content:"";position:absolute;top:-1px;width:16px;height:1px;background:#000;left:-16px;transform-origin:right top;transform:rotate(-35deg)}
#mkt.l::before{left:auto;right:-16px;transform-origin:left top;transform:rotate(35deg)}
.ik{display:flex;gap:10px;align-items:stretch;padding:8px 10px}
.ikl{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.ikh{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.ikt{display:flex;align-items:center;gap:8px;min-width:0}
.ikt b{font-size:16px}
.ikc{font-size:12px;padding:1px 8px;border:1px solid currentColor;border-radius:2px;opacity:.85}
.ikb{display:flex;gap:6px}
.ikd{font-size:14px;word-break:break-all}
.ikm{display:flex;flex-wrap:wrap;gap:2px 16px;font-size:12px;margin-top:auto}
.ikm i{font-style:normal;font-weight:700;margin-right:5px;opacity:.7}
.ikp{display:flex;gap:4px;flex:none;align-items:center}
.ikp .ph{width:104px;height:104px;margin:0}
.ikf{position:relative;display:inline-block;line-height:0}
.ikf em{position:absolute;left:4px;bottom:4px;font-style:normal;font-size:11px;line-height:1;padding:3px 6px;border-radius:4px;background:rgba(0,0,0,.68);color:#fff;pointer-events:none}
.ikp2{flex-direction:column;align-items:flex-start;justify-content:center}
.ikr{display:flex;gap:4px}
.ikp2 .ph{width:72px;height:72px}
.dnw{margin:-6px 0 16px}
.dnh{font-size:13px;font-weight:600;margin-bottom:2px}
.dna{display:inline-block;margin:6px 0 0;font-size:13px}
@media(max-width:640px){
.ik{flex-direction:column}
.ikp{justify-content:flex-start}
.ikp .ph{width:calc((100vw - 64px)/3);height:calc((100vw - 64px)/3);max-width:104px;max-height:104px}
.ikp2{gap:4px}
}
.cfr{justify-content:flex-start;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.cfr>*{flex:0 1 auto;height:28px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;margin:0;padding:0 10px;font-size:12px;line-height:1}
.cfr>button{flex:none}
.cfr>.tag{gap:4px}
.lgo{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid currentColor;border-radius:4px;box-sizing:border-box;font-size:13px;font-weight:400;line-height:1;vertical-align:middle;margin-right:8px;overflow:hidden;letter-spacing:-.5px;white-space:nowrap;padding:0}
.lgo img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes hlb{0%,100%{transform:translateY(0)}15%{transform:translateY(-8px)}30%{transform:translateY(0)}45%{transform:translateY(-5px)}60%{transform:translateY(0)}}
@keyframes hlg{0%,100%{box-shadow:0 0 0 0 rgba(30,120,255,0)}50%{box-shadow:0 0 0 5px rgba(30,120,255,.9),0 0 18px 6px rgba(30,120,255,.6)}}
.card.hl{animation:hlb 1.1s ease-out 1,hlg .8s ease-in-out 4;position:relative;z-index:1}
.shd{box-shadow:0 2px 4px rgba(0,0,0,.35)}
.shd:active{box-shadow:0 0 1px rgba(0,0,0,.35);transform:translateY(1px)}
.insh{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;min-width:0;flex:1}
.cpg{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px}
.cpg label{display:flex;flex-direction:column;gap:2px}
.cpg input{text-align:right}
tr.me td{background:#fff6cc!important;font-weight:700}
tr.av td{background:#eef2fb!important}
:root[data-theme="dark"] tr.me td{background:#3a3210!important}
:root[data-theme="dark"] tr.av td{background:#1d2740!important}
.kmw{display:grid;grid-template-columns:65fr 35fr;gap:10px}
@media(max-width:640px){
.kmw{grid-template-columns:1fr}
#kmap{min-height:240px!important}
}
/* 하위 메뉴(nav.fnav) 공통 스타일: 모든 탭(시설·재무·매물·요금 경쟁력)이 이 한 곳을 공유 — 메뉴 디자인은 여기만 고치면 전체 반영 */
body{overflow-x:clip}
body,button,input,select,textarea{font-family:"Pretendard Variable",Pretendard,-apple-system,"Noto Sans KR","Malgun Gothic",sans-serif}
.sum.k span{display:inline!important}
.sum.k{width:max-content;max-width:100%;grid-template-columns:repeat(4,1fr)!important;justify-content:start}
.sum.k div{white-space:nowrap}
@media(max-width:560px){
.sum.k{width:auto;grid-template-columns:1fr 1fr!important}
}
.room .hd .ell,.room .hd input{font-size:inherit!important;line-height:inherit}
.room .hd b{font-weight:700!important}
.sum.k b::before{content:"["}
.sum.k b::after{content:"]"}
.sum.k div,.sum.k div.av{box-sizing:border-box;height:30px;padding:0 12px!important;display:flex!important;align-items:center;gap:8px;line-height:1.2!important}
.sum.k span{margin-right:0!important}
.sum.k span,.sum.k b{line-height:1.2}
.bdg{position:absolute;top:-3px;right:-4px;background:#e04646;color:#fff;font-size:10px;line-height:14px;min-width:14px;border-radius:7px;padding:0 3px;font-weight:700;text-align:center}
.ni{display:inline-flex!important;align-items:center;vertical-align:middle}
.ni svg{width:17px;height:17px;display:block}
#lgs{display:none}
@media(min-width:1500px){
body.lgon #lgs{display:flex;flex-direction:column;position:fixed;top:48px;right:0;bottom:0;width:300px;box-sizing:border-box;background:#1b1d2a;border-left:1px solid #3b4060;z-index:40;color:#e8eaf2}
body.lgon #fd.fl{right:310px}
#lgs .lgh{display:flex;justify-content:space-between;align-items:center;height:64px;box-sizing:border-box;padding:0 16px;border-bottom:1px solid #343849;font-size:14px}
#lgs .lgh span{font-size:12px;color:#9aa0b8}
#lgs .lgl{flex:1;overflow-y:auto;padding:6px 0;scrollbar-width:thin;scrollbar-color:#454b66 transparent}
#lgs .lgl::-webkit-scrollbar{width:12px}
#lgs .lgl::-webkit-scrollbar-track{background:transparent}
#lgs .lgl::-webkit-scrollbar-thumb{background:#454b66;border-radius:8px;border:3px solid transparent;background-clip:padding-box;min-height:40px}
#lgs .lgl::-webkit-scrollbar-thumb:hover{background:#5b628a;background-clip:padding-box}
#lgs .lgi{display:flex;gap:10px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.07)}
#lgs .lgi i{flex:none;width:7px;height:7px;border-radius:50%;background:#34c759;margin-top:7px}
#lgs .lgk{display:flex;flex-wrap:wrap;gap:4px 12px;padding:8px 16px;border-bottom:1px solid #3b4060;font-size:12px;color:#9aa0b8}
#lgs .lgk i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}
#lgs .lgm{font-size:14px;line-height:1.4;word-break:break-all}
#lgs .lgs{font-size:12px;color:#9aa0b8;margin-top:2px}
}
.lf{max-width:380px;display:flex;flex-direction:column;gap:12px}
.lf .mu{display:flex;flex-direction:column;gap:5px;width:100%;margin:0}
.lf input{width:100%;box-sizing:border-box;min-height:40px}
.lf .sb{width:100%;min-height:42px;margin-top:4px}
.lc{text-align:center}
.lt{max-width:380px;margin:0 auto 12px;display:flex;justify-content:flex-end;gap:6px}
.lc .lf{margin:0 auto;text-align:left}
.lc .hint{text-align:center}
.lc .sh{text-align:center}
.lc .row{justify-content:center!important}
#bnr{max-width:900px;margin:22px auto 34px;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px}
.bh{flex:0 0 100%;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;border-bottom:1px solid #4a4f66;padding-bottom:8px;margin-bottom:2px;text-align:left}
.bh b{color:#ffd166;font-size:15px}
.bh span{color:#aab0c8;font-size:12px}
.bn{position:relative;flex:0 0 calc((100% - 48px)/5);aspect-ratio:5/3;border-radius:8px;overflow:hidden;background:#33374d center/cover no-repeat;border:1px solid #4a4f66;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px;box-sizing:border-box;color:#f1f2f6;font-weight:700;line-height:1.3;word-break:keep-all;overflow-wrap:anywhere}
.bn i{position:absolute;inset:-4px;background:center/cover no-repeat;filter:blur(1.2px) brightness(.78)}
.bn span{position:relative;z-index:1;text-shadow:0 1px 4px rgba(0,0,0,.7);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}
@media(max-width:700px){
.bn{flex-basis:calc((100% - 24px)/3)}
}
@media(max-width:420px){
.bn{flex-basis:calc((100% - 12px)/2)}
}
body.adm #lgs,body.adm #fd{display:none!important}
/* ===== 좌측 사이드바 + 상단 헤더 레이아웃 (2026-10-23) — 로그인 후(body.in)에만 적용 ===== */
#sb,#sbx,.tb,#phd{display:none}
body.in #sb{display:flex}
body.in .tb{display:flex}
body.in #phd{display:block}
body.in>.w{max-width:none;margin:0 0 0 248px;padding:0 28px 16px}
body.in #v,body.in #phd{max-width:1280px}
#sb{position:fixed;left:0;top:0;bottom:0;width:248px;flex-direction:column;background:#1c1e28;border-right:1px solid #343849;z-index:60;color:#e8eaf2;box-sizing:border-box}
:root[data-theme="dark"] #sb{background:#0e1117;border-right-color:#1d2230}
.sbh{height:64px;box-sizing:border-box;display:flex;align-items:center;padding:0 14px;border-bottom:1px solid #343849}
:root[data-theme="dark"] .sbh{border-bottom-color:#1d2230}
#sb h1{margin:0;display:flex;align-items:center;font-size:15px;font-weight:700;color:#f1f2f6;min-width:0}
#sb h1 .lgo{width:36px;height:36px;margin-right:10px;flex:none;border-radius:8px}
.sbn{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.sbn b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbn small{font-size:11px;font-weight:400;color:#8d93ad}
.sbs{margin:12px 12px 2px;position:relative}
.sbs svg{position:absolute;left:10px;top:9px;width:15px;height:15px;color:#8d93ad;pointer-events:none}
.sbs input{width:100%;height:34px;padding:0 10px 0 32px!important;background:#262935!important;border:1px solid #3a3f52!important;color:#e8eaf2!important;border-radius:6px;font-size:13px!important}
:root[data-theme="dark"] .sbs input{background:#0f131a!important;border-color:#232838!important}
#sbt{flex:1;overflow-y:auto;padding:4px 10px 20px;scrollbar-width:thin;scrollbar-color:#454b66 transparent}
.sg2{border-bottom:1px solid #2a2e3d}
.sg2:first-child{margin-top:6px}
:root[data-theme="dark"] .sg2{border-bottom-color:#1a1f2b}
.sgh{display:flex;align-items:center;gap:10px;min-height:48px;box-sizing:border-box;padding:6px 8px;font-size:13px;font-weight:700;color:#d5d9e8;cursor:pointer;border-radius:6px;user-select:none}
.sgh:hover{background:#262935}
:root[data-theme="dark"] .sgh:hover{background:#161b26}
.sgh .ni{color:#aab0c8}
.sgh .ni svg{width:16px;height:16px}
.sgh .sgl{flex:1;min-width:0;display:flex;align-items:center}
.sgh .cv{font-size:11px;color:#8d93ad;transition:transform .15s;width:14px;text-align:center}
.sg2:not(.sgc) .cv{transform:rotate(180deg)}
.sg2.sgc .sgi{display:none}
.sbp{width:28px;height:28px;border:0;border-radius:6px;background:#262935;color:#8d93ad;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex:none}
.sbp svg{width:14px;height:14px}
.sbp:hover{color:#e8eaf2;background:#30344a}
.sbp.on{background:rgba(255,209,102,.16);color:#ffd166}
:root[data-theme="dark"] .sbp{background:#161b26}
.sg2.sgp .sgl::after{content:"";width:5px;height:5px;border-radius:50%;background:#ffd166;margin-left:7px}
.sgi{margin:0 0 10px 15px;padding-left:8px;border-left:1px solid #343849}
:root[data-theme="dark"] .sgi{border-left-color:#1d2230}
.si{display:flex;gap:10px;align-items:flex-start;padding:7px 9px;margin:3px 0;border-radius:6px;cursor:pointer;border:1px solid transparent;color:#e8eaf2;min-width:0}
.si:hover{background:#262935}
:root[data-theme="dark"] .si:hover{background:#161b26}
.si>.ni{margin-top:2px;color:#aab0c8;flex:none}
.si .ni svg{width:16px;height:16px}
.si>div{min-width:0}
.si b{display:flex;align-items:center;font-size:13px;font-weight:500;line-height:1.35}
.si small{display:block;font-size:11px;color:#8d93ad;line-height:1.35;margin-top:1px}
.si.on{border-color:#ffd166;background:rgba(255,209,102,.09)}
.si.on b,.si.on>.ni{color:#ffd166}
#sb .bdg{position:static;margin-left:6px;display:inline-block}
.sbf{padding:10px 14px;border-top:1px solid #343849;font-size:11px;color:#8d93ad}
:root[data-theme="dark"] .sbf{border-top-color:#1d2230}
.tb{position:sticky;top:0;z-index:50;align-items:center;gap:12px;height:64px;margin:0 -28px;padding:0 28px;background:#282a36;border-bottom:1px solid #343849;box-sizing:border-box}
:root[data-theme="dark"] .tb{border-bottom-color:#1d2230}
.tbt{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.tbi{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:rgba(255,209,102,.14);color:#ffd166;flex:none}
.tbi svg{width:17px;height:17px}
.tbt>div{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.tbt b{font-size:15px;color:#f1f2f6}
.tbt small{font-size:11px;color:#9aa0b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tbr{display:flex;align-items:center;gap:10px;flex:none}
.tbr #sst{padding:0!important;white-space:nowrap}
.tb #ibx{display:flex;gap:2px}
.tb #ibx button{width:34px;height:34px;padding:0!important;border:0!important;background:none!important;color:#e8eaf2;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}
.tb #ibx button:hover,.tb #ibx button.on{background:#373d53!important}
.tb #ibx button.on{color:#ffd166}
.tb #ibx .ni svg,.tb #ibx>button>svg{width:18px;height:18px}
.tb #ibx button.al{position:relative}
.hb{display:none;width:34px;height:34px;border:0;background:none;color:#f1f2f6;border-radius:6px;cursor:pointer;align-items:center;justify-content:center;flex:none;font-size:20px;padding:0}
/* 내용 영역 배경: 옅은 격자무늬(24px 간격). 선 진하기는 rgba의 마지막 숫자(.045), 간격은 background-size로 조절 */
body.in{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px)!important;background-size:24px 24px!important;background-attachment:fixed!important}
@media print{
body.in{background-image:none!important}
}
/* ===== 로그인 화면 (로그인 전: body에 .in 없음) ===== */
body:not(.in){background-image:radial-gradient(ellipse 70% 45% at 50% -8%,rgba(255,209,102,.13),transparent 70%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:100% 100%,24px 24px,24px 24px;background-attachment:fixed}
:root[data-theme="light"] body:not(.in){background-image:radial-gradient(ellipse 70% 45% at 50% -8%,rgba(245,158,11,.10),transparent 70%),linear-gradient(rgba(15,23,42,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.055) 1px,transparent 1px)}
body:not(.in)>.w{max-width:980px;padding-top:7vh}
.lg2{display:flex;justify-content:center}
.lgc{position:relative;width:100%;max-width:400px;box-sizing:border-box;background:var(--card);color:var(--tx);border:1px solid var(--bd);border-radius:14px;padding:28px 28px 24px;box-shadow:0 1px 2px rgba(0,0,0,.08),0 16px 40px rgba(0,0,0,.28);text-align:left}
:root[data-theme="light"] .lgc{box-shadow:0 1px 2px rgba(16,24,40,.06),0 16px 40px rgba(16,24,40,.10)}
.lgb{display:flex;align-items:center;gap:12px;margin:0 0 22px}
.lgmk{flex:none;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.28)}
.lgmk svg{display:block}
:root[data-theme="dark"] .lgmk{box-shadow:0 0 0 1px #3a3f52,0 4px 12px rgba(0,0,0,.5)}
.sbn small .fxm{vertical-align:-1px;margin-right:4px}
.lgb b{display:block;font-size:21px;line-height:1.2;color:var(--tx)}
.lgb small{display:block;margin-top:3px;color:var(--mu);font-size:12px}
.lgth{position:absolute;top:14px;right:14px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--mu);border-radius:8px;cursor:pointer;padding:0}
.lgth:hover{background:rgba(127,127,127,.14);color:var(--tx)}
.lgth svg{width:18px;height:18px}
.lg2 .lt{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;max-width:none;margin:0 0 20px;padding:4px;background:rgba(127,127,127,.13);border-radius:10px}
.lg2 .lt .b{border:0!important;background:transparent!important;color:var(--mu)!important;padding:8px 4px;font-size:13px;border-radius:7px;box-shadow:none}
.lg2 .lt .b.on{background:var(--card)!important;color:var(--tx)!important;font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.lg2 .lf{max-width:none;margin:0;gap:14px}
.lg2 .lf label.mu{color:var(--mu)!important;font-size:12px!important;gap:6px}
.lg2 .lf input{height:44px!important;border-radius:8px;padding:0 12px;font-size:15px}
.lg2 .lf input:focus{outline:none;border-color:#f5b82e!important;box-shadow:0 0 0 3px rgba(255,209,102,.28)}
.lg2 .lf .sb{width:100%;height:46px;margin-top:6px;background:#ffd166!important;color:#1f2328!important;border:0!important;border-radius:8px;font-weight:700;font-size:15px}
.lg2 .lf .sb:hover{background:#f5c040!important}
.lg2 .hint{text-align:left!important;margin:14px 0 0;font-size:12px;color:var(--mu)!important}
.lg2 .lgerr{color:#e5534b!important;background:rgba(229,83,75,.1);border-radius:8px;padding:9px 11px}
body:not(.in) #bnr{max-width:900px;margin:44px auto 10px;justify-content:center;gap:12px}
body:not(.in) #bnr .bh{flex-direction:column;align-items:center;gap:4px;border:0;padding:0;margin:0 0 6px;text-align:center}
body:not(.in) #bnr .bh b{font-size:16px;color:var(--tx)}
body:not(.in) #bnr .bh span{font-size:12px;color:var(--mu)}
body:not(.in) #bnr .bn{border-radius:12px;border-color:transparent;box-shadow:0 2px 6px rgba(0,0,0,.18),0 8px 20px rgba(0,0,0,.18);transition:transform .15s,box-shadow .15s;font-size:15px!important}
body:not(.in) #bnr .bn:hover{transform:translateY(-3px);box-shadow:0 4px 10px rgba(0,0,0,.2),0 14px 28px rgba(0,0,0,.22)}
body:not(.in) #ft{margin:36px 0 18px!important;font-size:12px!important;color:var(--mu)!important}
/* ===== IoT 관리 화면 ===== */
.ioh{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.ioh .tag{display:inline-flex;align-items:center;height:30px;box-sizing:border-box}
.tag.iook{background:#d6ecdc;color:#1e6b3a;border-color:#5aa874}
.tag.iodm{background:#fff3c4;color:#7a5410;border-color:#e0a100}
:root[data-theme="dark"] .tag.iook{background:#10261a;color:#7fd39b;border-color:#2e6b44}
:root[data-theme="dark"] .tag.iodm{background:#2c1d09;color:#f0c060;border-color:#8a5a10}
.iow{border-left:4px solid #e08a00!important}
.iow.iolv2{border-left-color:#d63031!important}
.iozg{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:12px}
.iozg .card{margin:0}
.iozh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px}
.iozh b{font-size:15px}
.ior{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--bd);font-size:13px;min-width:0}
.iozh+.ior{border-top:0}
.ior .ni{color:var(--mu);flex:none}
.ior .ni svg{width:16px;height:16px}
.ionm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iov{color:var(--mu);white-space:nowrap;font-size:12px}
.b.iotg{min-width:54px;height:28px;padding:0 10px!important;font-size:12px!important;flex:none}
.b.iotg.iotgon{background:#2e9e5b!important;color:#fff!important;border-color:#2e9e5b!important}
.iooff{color:#d63031}
.ioc{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.ioc .card{margin:0}
.ioki{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:rgba(127,127,127,.12)}
.ioki svg{width:19px;height:19px}
.ioct{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.ioct input[type=range]{flex:1;min-width:90px;padding:0}
.ioct select{height:30px;padding:0 6px}
.iosp{display:inline-flex;align-items:center;gap:6px}
.iosp .b{width:30px;height:30px;padding:0!important}
.iosp b{min-width:52px;text-align:center}
.b.iohon{font-weight:700;border-color:#e0a100!important}
.iodt th{white-space:nowrap}
.iodt td:first-child{min-width:150px}
.iodt select,.iodt input:not([type=checkbox]){min-width:120px;width:100%}
/* 객실 테마 수정 중: 상단 알약 버튼 + 안내 띠 */
.tb #ibx button.edn{width:auto;padding:0 12px 0 10px!important;gap:5px;background:#ffd166!important;color:#1f2328!important;border-radius:17px;font-size:13px!important;font-weight:700;white-space:nowrap}
.tb #ibx button.edn svg{width:15px;height:15px}
.tb #ibx button.edn:hover{background:#f5c040!important}
.edbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;border-radius:8px;background:#fff3c4;color:#5c4100;border:1px solid #f0c040;font-size:14px}
.edbar .b{background:#ffd166!important;color:#1f2328!important;border-color:#e0a100!important;font-weight:700;flex:none}
:root[data-theme="dark"] .edbar{background:#2c2209;color:#f3d48a;border-color:#7a5410}
/* 왼쪽 메뉴 맨 아래 저작권 문구 */
#sb footer{flex:none;margin:0!important;padding:10px 14px 12px;text-align:left!important;font-size:11px!important;line-height:1.55;color:#8d93ad!important;border-top:1px solid #343849;word-break:keep-all}
#sb footer a{color:inherit}
:root[data-theme="dark"] #sb footer{border-top-color:#1d2230}
:root[data-theme="light"] #sb footer{color:#6b7280!important;border-top-color:#e5e7eb}
/* 객실 카드 줄: 한 층의 객실 수(--rc)만큼 칸을 나눠 화면 폭을 채워요. 좁은 화면에서는 120px 아래로 줄지 않고 다음 줄로 넘어가요 */
.grid.rg{grid-template-columns:repeat(auto-fill,minmax(max(120px,calc((100% - (var(--rc,6) - 1) * 8px) / var(--rc,6) - .5px)),1fr))}
#phd{margin:22px 0 18px}
#phd .bc{font-size:12px;color:#9aa0b8;margin-bottom:6px}
#phd h2{margin:0;font-size:22px;font-weight:700;color:#f1f2f6}
#phd p{margin:6px 0 0;font-size:13px;color:#b9bed2;line-height:1.55;max-width:760px}
@media(min-width:1500px){
body.in.lgon #lgs{top:0}
body.in.lgon:not(.adm)>.w{margin-right:300px}
}
@media(max-width:760px){
body.in>.w{margin-left:0;padding:0 14px 16px}
.tb{margin:0 -14px;padding:0 10px 0 6px;gap:6px}
.hb{display:inline-flex}
#sb{transform:translateX(-100%);transition:transform .2s;box-shadow:none}
body.sbo #sb{transform:none;box-shadow:8px 0 30px rgba(0,0,0,.5)}
body.sbo #sbx{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:55}
.tbt small,.tbr #sst{display:none}
.tbi{display:none}
#phd{margin:14px 0 12px}
#phd h2{font-size:19px}
}
/* 자동 입력·변경 불가 칸 (관리자 이름 등) */
input.rdo{background:#eef0f4;color:#555;border-style:dashed;cursor:not-allowed}
:root[data-theme="dark"] input.rdo{background:#1a1f2a;color:#9aa0a6}
/* ===== 업체 연락처 여러 줄 ===== */
.vct{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1.2fr) 34px;gap:6px;margin-bottom:6px}
.vct .b{padding:0;height:auto}
.vcl>.b{height:30px;padding:0 12px;font-size:12px}
@media(max-width:520px){
.vct{grid-template-columns:88px minmax(0,1fr) 34px;padding-bottom:8px;border-bottom:1px dashed var(--bd)}
.vct input:nth-of-type(1){grid-column:1/-1;grid-row:2}
.vct input:nth-of-type(2){grid-column:2;grid-row:1}
.vct .b{grid-column:3;grid-row:1}
}
.vhalf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.vhalf>.vcl+.vcl{border-left:1px dashed var(--bd);padding-left:16px}
.vac{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 34px;gap:6px;margin-bottom:6px}
.vex{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) 34px;gap:6px;margin-bottom:6px}
.vac .b,.vex .b{padding:0;height:auto}
.vcl .row>.b{height:30px;padding:0 12px;font-size:12px}
@media(max-width:760px){
.vhalf{grid-template-columns:1fr}
.vhalf>.vcl+.vcl{border-left:0;padding-left:0;border-top:1px dashed var(--bd);padding-top:10px}
}
@media(max-width:520px){
.vac{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px;padding-bottom:8px;border-bottom:1px dashed var(--bd)}
.vac input:nth-of-type(1){grid-column:1/3;grid-row:1}
.vac .b{grid-column:3;grid-row:1}
.vac input:nth-of-type(2){grid-column:1;grid-row:2}
.vac input:nth-of-type(3){grid-column:2/4;grid-row:2}
.vex{grid-template-columns:124px minmax(0,1fr) 34px}
}
.row>.b.on{background:#ffd166;color:#1f2328;border-color:#e0a100;font-weight:700}
.vxp textarea{width:100%;margin-top:6px}
.vxp .vtb td select{padding:2px 4px;font-size:12px}
.vxp .vtb tr.vxo td{opacity:.45}
.vxp .vxs{font-size:11px;border-radius:8px;padding:0 6px;border:1px solid currentColor}
.vht{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;background:#e9f9ec;border:1px solid #9fdcaa;border-radius:6px;padding:8px 14px;margin:0 0 10px;color:#1f2328}
.vht b{font-size:16px}
.vht a{color:inherit;font-weight:700}
.vht .b.vsb{height:24px;padding:0 10px;font-size:12px}
.vtw{border:1px solid var(--bd);border-radius:6px;background:var(--card);margin-bottom:12px}
.vtb{border-collapse:separate;border-spacing:0;width:100%;min-width:980px;font-size:13px;color:var(--tx)}
.vtb th{background:#eef0f4;color:#1f2328;font-weight:700;text-align:left;padding:7px 10px;border-bottom:1px solid #d9dce3;white-space:nowrap}
.vtb th.vg1{background:#fff4c2;color:#7a5b00;text-align:center;font-size:12px}
.vtb th.vg2{background:#e8f0ff;color:#2d4f8a;text-align:center;font-size:12px}
.vtb th.vg3{background:#f3e8ff;color:#5b3a8a;text-align:center;font-size:12px}
.vtb td{padding:6px 10px;border-bottom:1px solid var(--bd);white-space:nowrap;vertical-align:middle}
.vtb tr.vtc td{background:#dfe3ec;color:#444;font-weight:700;font-size:12px;padding:4px 10px}
.vtb tr.vtc td span{position:sticky;left:10px}
.vtb tr.vz1 td{background:var(--card)}
.vtb tr.vz2 td{background:#f7f8fa}
.vtb tr.vts td{border-top:2px solid #e3e5ea}
.vtb .vtn{font-weight:700;position:sticky;left:0;z-index:1}
.vtb th.vtn{z-index:2}
.vtb .vti{display:inline-block;min-width:66px;color:var(--mu);font-size:12px}
.vtb .vtm{color:var(--mu)}
.vtb a.vtl{color:inherit;font-weight:700}
.vtb .b.vsb{height:20px;padding:0 6px;font-size:11px;margin-left:4px}
.vtb .vpw{letter-spacing:1px}
:root[data-theme="dark"] .vtb th{background:#1a1f2a;color:#e8e8e8;border-bottom-color:#262c3a}
:root[data-theme="dark"] .vtb th.vg1{background:#3a2d10;color:#f0c75e}
:root[data-theme="dark"] .vtb th.vg2{background:#16233a;color:#8fb4f0}
:root[data-theme="dark"] .vtb th.vg3{background:#2a1d3a;color:#c4a5f0}
:root[data-theme="dark"] .vtb tr.vtc td{background:#232938;color:#bbb}
:root[data-theme="dark"] .vtb tr.vz2 td{background:#171c26}
:root[data-theme="dark"] .vtb tr.vts td{border-top-color:#2a3040}
:root[data-theme="dark"] .vht{background:#10261a;border-color:#2e6b44;color:#e8e8e8}
.card.vdup{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border-left:4px solid #e08a00}
/* ===== 비품(소모품) 관리 화면 (클래스는 모두 bp로 시작) ===== */
.bpl{display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:#fff4d6;color:#000;border-left:4px solid #e08a00;border-radius:4px;padding:8px 12px;margin-bottom:10px;font-size:13px}
.bpl small{flex-basis:100%;color:#555;font-size:11px}
.bpc{display:inline-block;background:#fff;border:1px solid #e0a100;border-radius:10px;padding:1px 8px;font-size:12px}
.bpc.r{border-color:#d63031;color:#d63031;font-weight:700}
.st.bpt td.l,.st.bpt th.l{text-align:left}
.st.bpt tr.bpg td{text-align:left;background:#dfe3ec;font-size:11px;color:#444}
.st.bpt small.bpu{display:inline;font-size:inherit;font-weight:400;color:#6b7280;margin-left:6px}
.st.bpt small.bpu::before{content:"/";margin-right:6px;color:#b0b5bf}
.st.bpt small.bpy{display:block;font-size:10px;font-weight:400;color:#777}
.st.bpt th.bpcm{background:#ffe9a8}
.st.bpt input.sc{border-color:#d0d4dc;background:#fbfbfd}
.st.bpt input.sc:focus{border-color:#ffd166;background:#fff}
.st.bpt.bpin{table-layout:fixed;width:100%;min-width:720px}
.st.bpt.bpin th,.st.bpt.bpin td{overflow:hidden;text-overflow:ellipsis}
.st.bpt.bpin input.sc{width:100%;box-sizing:border-box}
.st.bpt.bpmt{table-layout:fixed;width:100%;min-width:1320px}
.st.bpt.bpmt col.bpw1{width:150px}
.st.bpt.bpmt col.bpw2{width:110px}
.st.bpt.bpmt th,.st.bpt.bpmt td{overflow:hidden;text-overflow:ellipsis}
.st.bpt td.bpk{cursor:pointer}
.st.bpt td.bpk:hover{background:#fff8e1}
.bpf{font-size:10px;font-weight:400;border:1px solid #2e9e5b;color:#2e9e5b;border-radius:8px;padding:0 5px;margin-left:4px}
.bpv{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.bpv .b{height:30px;padding:0 12px;font-size:13px}
.bpv .b.on{background:#ffd166;color:#1f2328;border-color:#e0a100;font-weight:700}
.bpdc .bpr{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px 0;border-top:1px solid #eee;font-size:13px}
.bpdc .bpr .bpn{flex:1 1 110px;font-weight:700}
.bpdc .bpr .b{height:26px;padding:0 10px;font-size:12px}
.bpdc .bpe label{display:flex;align-items:center;gap:4px;font-size:12px}
.bpdc .bpe input{width:96px;padding:4px 6px}
.bpdc .bpe input[type=date]{width:auto}
:root[data-theme="dark"] .bpl{background:#2c1d09;color:#e8e8e8}
:root[data-theme="dark"] .bpl small{color:#aaa}
:root[data-theme="dark"] .bpc{background:#131720;color:#e8e8e8}
:root[data-theme="dark"] .bpc.r{color:#ff8b80;border-color:#a32a22}
:root[data-theme="dark"] .st.bpt tr.bpg td{background:#232938;color:#bbb}
:root[data-theme="dark"] .st.bpt small.bpu,:root[data-theme="dark"] .st.bpt small.bpy{color:#9aa0a6}
:root[data-theme="dark"] .st.bpt small.bpu::before{color:#4a5163}
:root[data-theme="dark"] .st.bpt th.bpcm{background:#3a2d10}
:root[data-theme="dark"] .st.bpt input.sc{border-color:#343b4d;background:#10141c}
:root[data-theme="dark"] .st.bpt td.bpk:hover{background:#3a2d10}
:root[data-theme="dark"] .bpdc .bpr{border-top-color:#262c3a}
/* ===== 테마 배색 (2026-10-23): 라이트 = 흰 바탕·연회색 격자·흰 카드 / 다크 = 어두운 남색 바탕·은은한 격자·테두리 카드 ===== */
:root[data-theme="light"]{--bg:#f7f8fa;--card:#fff;--tx:#1f2328;--mu:#6b7280;--bd:#e3e6eb}
:root[data-theme="light"] body{background:#f7f8fa;color:#1f2328}
:root[data-theme="light"] body.in{background-image:linear-gradient(rgba(15,23,42,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.055) 1px,transparent 1px)!important}
:root[data-theme="light"] h1,:root[data-theme="light"] #v>.mu,:root[data-theme="light"] #v>.hint,:root[data-theme="light"] #v>form label,:root[data-theme="light"] .sh{color:#111827}
:root[data-theme="light"] #v section .hint,:root[data-theme="light"] #v section form label{color:#4b5563}
:root[data-theme="light"] .hint{color:#6b7280}
:root[data-theme="light"] hr.ln{border-top-color:#e5e7eb}
:root[data-theme="light"] .tp{background:#fff;color:#1f2328;border:1px solid #e5e7eb;box-shadow:0 1px 2px rgba(16,24,40,.05)}
:root[data-theme="light"] .tgb{background:#f3f4f6;color:#374151;border-color:#d1d5db}
:root[data-theme="light"] .th:hover .tgb{background:#e5e7eb}
:root[data-theme="light"] .tk{background:#f6f7f9;border:1px solid #e5e7eb}
:root[data-theme="light"] .tk.on{background:#fff3c4;border-color:#f0c040}
:root[data-theme="light"] .card,:root[data-theme="light"] .sum div,:root[data-theme="light"] .fs div,:root[data-theme="light"] .sm,:root[data-theme="light"] .mu2,:root[data-theme="light"] .cd:not(.off){border-color:#e5e7eb}
:root[data-theme="light"] .card,:root[data-theme="light"] .sum div,:root[data-theme="light"] .fs div{box-shadow:0 1px 2px rgba(16,24,40,.05)}
:root[data-theme="light"] .mu2{border:1px solid #eceef1}
:root[data-theme="light"] .calh,:root[data-theme="light"] .cl{color:#1f2328}
:root[data-theme="light"] .cwh{color:#6b7280}
:root[data-theme="light"] .ff label,:root[data-theme="light"] .bsl,:root[data-theme="light"] .fr1 .fd{color:#4b5563}
:root[data-theme="light"] .il .bsl{color:#6b7280}
:root[data-theme="light"] .it thead th{background:#f3f4f6;color:#111827}
:root[data-theme="light"] .room{box-shadow:0 1px 2px rgba(16,24,40,.08),0 4px 12px rgba(16,24,40,.06)}
:root[data-theme="light"] .room:hover{box-shadow:0 4px 8px rgba(16,24,40,.1),0 10px 20px rgba(16,24,40,.08)}
:root[data-theme="light"] #fd{border-color:#e5e7eb;box-shadow:0 4px 16px rgba(16,24,40,.12)}
:root[data-theme="light"] footer{color:#6b7280!important}
:root[data-theme="light"] [style*="color:#cfd3e6"],:root[data-theme="light"] [style*="color:#aab0c8"],:root[data-theme="light"] [style*="color:#8d93ad"],:root[data-theme="light"] [style*="color:#aab;"]{color:#6b7280!important}
:root[data-theme="light"] [style*="color:#e8eaf2"]{color:#1f2328!important}
:root[data-theme="light"] [style*="color:#ffb4b0"]{color:#c0392b!important}
:root[data-theme="light"] [style*="color:#b8f0c8"]{color:#1e8e4f!important}
:root[data-theme="light"] p[style*="color:#ffd166"]{color:#9a6700!important}
:root[data-theme="light"] .tp span[style*="background:#4a4f66"]{color:#fff}
:root[data-theme="light"] .tp [style*="border-top:1px solid #4a4f66"]{border-top-color:#e5e7eb!important}
/* 왼쪽 메뉴 */
:root[data-theme="light"] #sb{background:#f9fafb;border-right-color:#e5e7eb;color:#1f2328}
:root[data-theme="light"] .sbh{border-bottom-color:#e5e7eb}
:root[data-theme="light"] #sb h1{color:#111827}
:root[data-theme="light"] .sbn small{color:#6b7280}
:root[data-theme="light"] .sbs input{background:#fff!important;border-color:#e5e7eb!important;color:#1f2328!important}
:root[data-theme="light"] .sbs svg{color:#9ca3af}
:root[data-theme="light"] .sg2{border-bottom-color:#eceef1}
:root[data-theme="light"] .sgh{color:#374151}
:root[data-theme="light"] .sgh:hover,:root[data-theme="light"] .si:hover{background:#eef0f3}
:root[data-theme="light"] .sgh .ni,:root[data-theme="light"] .si>.ni{color:#6b7280}
:root[data-theme="light"] .sgh .cv{color:#9ca3af}
:root[data-theme="light"] .sgi{border-left-color:#e5e7eb}
:root[data-theme="light"] .si{color:#1f2328}
:root[data-theme="light"] .si small{color:#6b7280}
:root[data-theme="light"] .si.on{border-color:#e0a100;background:#fff7db}
:root[data-theme="light"] .si.on b,:root[data-theme="light"] .si.on>.ni{color:#9a6700}
:root[data-theme="light"] .sbp{background:#eef0f3;color:#6b7280}
:root[data-theme="light"] .sbp:hover{background:#e5e7eb;color:#111827}
:root[data-theme="light"] .sbp.on{background:#fff1c2;color:#9a6700}
:root[data-theme="light"] .sg2.sgp .sgl::after{background:#e0a100}
/* 상단 헤더·페이지 머리 */
:root[data-theme="light"] .tb{background:rgba(247,248,250,.94);border-bottom-color:#e5e7eb}
:root[data-theme="light"] .tbt b{color:#111827}
:root[data-theme="light"] .tbt small{color:#6b7280}
:root[data-theme="light"] .tbi{background:#fff3c4;color:#9a6700}
:root[data-theme="light"] .tb #ibx button{color:#374151}
:root[data-theme="light"] .tb #ibx button:hover,:root[data-theme="light"] .tb #ibx button.on{background:#eef0f3!important}
:root[data-theme="light"] .tb #ibx button.on{color:#9a6700}
:root[data-theme="light"] .hb{color:#1f2328}
:root[data-theme="light"] #phd h2{color:#111827}
:root[data-theme="light"] #phd p{color:#4b5563}
:root[data-theme="light"] #phd .bc{color:#6b7280}
/* 오른쪽 활동 기록 */
:root[data-theme="light"] #lgs{background:#f9fafb!important;border-left-color:#e5e7eb!important;color:#1f2328!important}
:root[data-theme="light"] #lgs .lgh,:root[data-theme="light"] #lgs .lgk{border-bottom-color:#e5e7eb}
:root[data-theme="light"] #lgs .lgh span,:root[data-theme="light"] #lgs .lgk,:root[data-theme="light"] #lgs .lgs{color:#6b7280}
:root[data-theme="light"] #lgs .lgi{border-bottom-color:#eef0f3}
:root[data-theme="light"] #lgs .lgl,:root[data-theme="light"] #sbt{scrollbar-color:#cbd2dc transparent}
:root[data-theme="light"] #lgs .lgl::-webkit-scrollbar-thumb{background:#cbd2dc;background-clip:padding-box}
/* 로그인 화면 */
:root[data-theme="light"] .bh{border-bottom-color:#e5e7eb}
:root[data-theme="light"] .bh b{color:#9a6700}
:root[data-theme="light"] .bh span{color:#6b7280}
:root[data-theme="light"] .bn{background-color:#d1d5db;border-color:#d1d5db}
/* 다크 보강 */
:root[data-theme="dark"] body.in{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px)!important}
:root[data-theme="dark"] .tp{border:1px solid #1d2230}
:root[data-theme="dark"] .card{border-color:#232938}
:root[data-theme="dark"] .tb{background:rgba(11,14,20,.94)}
:root[data-theme="dark"] #lgs{background:#0e1117!important;border-left-color:#1d2230!important}
:root[data-theme="dark"] #lgs .lgh,:root[data-theme="dark"] #lgs .lgk{border-bottom-color:#1d2230}
:root[data-theme="dark"] #lgs .lgi{border-bottom-color:rgba(255,255,255,.05)}
:root[data-theme="dark"] .sum div,:root[data-theme="dark"] .fs div,:root[data-theme="dark"] .ft,:root[data-theme="dark"] .mu2,:root[data-theme="dark"] .tk{border-color:#232938}
#sbt .si{position:relative}
.sip{position:absolute;top:6px;right:5px;width:24px;height:24px;border:0;border-radius:5px;background:transparent;color:#8d93ad;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex:none;opacity:0;transition:opacity .12s}
.sip svg{width:13px;height:13px}
.si:hover .sip,.sip:focus-visible,.sip.on{opacity:1}
.sip:hover{background:#30344a;color:#e8eaf2}
.sip.on{color:#ffd166}
.si:not(:hover) .sip.on{opacity:.75}
:root[data-theme="dark"] .sip:hover{background:#1e2433}
:root[data-theme="light"] .sip:hover{background:#e5e7eb;color:#111827}
:root[data-theme="light"] .sip.on{color:#9a6700}
@media (hover:none){
.sip{opacity:.55}
}
.sfv .sgh{cursor:default}
.sfv .sgh:hover{background:transparent}
:root[data-theme="light"] .sfv .sgh:hover{background:transparent}
.sfv .sgh .ni{color:#ffd166}
:root[data-theme="light"] .sfv .sgh .ni{color:#9a6700}
.iopl.ioplon{border-left:4px solid #2e9e5b!important}
.iopl .iom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;margin-top:10px}
.iopl .iom div{background:rgba(127,127,127,.09);border-radius:6px;padding:6px 9px;min-width:0}
.iopl .iom span{display:block;font-size:11px;color:var(--mu)}
.iopl .iom b{font-size:13px}
.ior[draggable=true]{cursor:grab}
.ior[draggable=true]:active{cursor:grabbing}
.ioz.iodrop{outline:2px dashed #2e9e5b;outline-offset:-2px;background:rgba(46,158,91,.07)}
/* ===== 노션 스타일 (2026-10-27) — awesome-design-md의 Notion DESIGN.md 참고. 라이트=노션 배색(흰 바탕·따뜻한 회색·보라 포인트), 다크=보라 포인트만 ===== */
body{font-family:"Pretendard Variable",Pretendard,-apple-system,"Noto Sans KR","Malgun Gothic",sans-serif}
#ibx button,.b{border-radius:8px;font-weight:500}
input,select,textarea{border-radius:6px}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(86,69,212,.35);outline-offset:0;border-color:#5645d4}
.card,.sum div,.fs div,.mu2,.room{border-radius:8px}
:root[data-theme="light"]{--bg:#fff;--card:#fff;--tx:#37352f;--mu:#787671;--bd:#e5e3df;--ac:#5645d4;--in:#7b3ff2}
:root[data-theme="light"] body{background:#fff;color:#37352f}
:root[data-theme="light"] body.in{background-image:none!important}
:root[data-theme="light"] h1,:root[data-theme="light"] .sh,:root[data-theme="light"] #phd h2,:root[data-theme="light"] .tbt b,:root[data-theme="light"] #sb h1{color:#1a1a1a}
:root[data-theme="light"] #phd h2{font-weight:600;letter-spacing:-.4px}
:root[data-theme="light"] #phd p{color:#5d5b54}
:root[data-theme="light"] .hint,:root[data-theme="light"] #phd .bc,:root[data-theme="light"] .tbt small,:root[data-theme="light"] .sbn small,:root[data-theme="light"] .si small{color:#787671}
:root[data-theme="light"] #sb{background:#f7f6f3;border-right-color:#e9e7e3;color:#37352f}
:root[data-theme="light"] .sbh{border-bottom-color:#e9e7e3}
:root[data-theme="light"] .sbs input{background:#fff!important;border-color:#e5e3df!important;color:#37352f!important}
:root[data-theme="light"] .sg2{border-bottom-color:#ece9e4}
:root[data-theme="light"] .sgh,:root[data-theme="light"] .si{color:#37352f}
:root[data-theme="light"] .sgh:hover,:root[data-theme="light"] .si:hover{background:#ebeae7}
:root[data-theme="light"] .sgh .ni,:root[data-theme="light"] .si>.ni{color:#787671}
:root[data-theme="light"] .sgi{border-left-color:#e5e3df}
:root[data-theme="light"] .si.on{border-color:transparent;background:#ece9fb}
:root[data-theme="light"] .si.on b,:root[data-theme="light"] .si.on>.ni{color:#5645d4}
:root[data-theme="light"] .sg2.sgp .sgl::after{background:#5645d4}
:root[data-theme="light"] .sbp{background:#ebeae7;color:#787671}
:root[data-theme="light"] .sbp.on{background:#ece9fb;color:#5645d4}
:root[data-theme="light"] .sip.on,:root[data-theme="light"] .sfv .sgh .ni{color:#5645d4}
:root[data-theme="light"] .tb{background:rgba(255,255,255,.92);border-bottom-color:#e5e3df}
:root[data-theme="light"] .tbi{background:#ece9fb;color:#5645d4}
:root[data-theme="light"] .tb #ibx button:hover,:root[data-theme="light"] .tb #ibx button.on{background:#f0eeec!important}
:root[data-theme="light"] .tb #ibx button.on{color:#5645d4}
:root[data-theme="light"] #lgs{background:#f7f6f3!important;border-left-color:#e5e3df!important}
:root[data-theme="light"] .b{background:#fff;border-color:#c8c4be;color:#1a1a1a}
:root[data-theme="light"] .b:hover{background:#f6f5f4}
:root[data-theme="light"] .card,:root[data-theme="light"] .sum div,:root[data-theme="light"] .fs div,:root[data-theme="light"] .tp{border-color:#e5e3df;box-shadow:0 1px 2px rgba(26,26,26,.04)}
:root[data-theme="light"] .st th,:root[data-theme="light"] .st td{border-bottom-color:#ede9e4;border-right-color:#f0eeec}
:root[data-theme="light"] .st thead th,:root[data-theme="light"] .st td:first-child,:root[data-theme="light"] .st th:first-child,:root[data-theme="light"] .it thead th{background:#f6f5f4;color:#37352f}
:root[data-theme="light"] .sum.k div.sel{outline-color:#5645d4;background:#ece9fb}
:root[data-theme="dark"]{--ac:#8f82f0}
:root[data-theme="dark"] .si.on{border-color:#5645d4;background:rgba(143,130,240,.14)}
:root[data-theme="dark"] .si.on b,:root[data-theme="dark"] .si.on>.ni{color:#b9aef7}
:root[data-theme="dark"] .tbi{background:rgba(143,130,240,.16);color:#b9aef7}

/* ===== 긴급 미처리 알림 (목록형, 2026-10-27) — 클래스는 ur로 시작 (.urg는 만기 일정 알림 띠가 계속 씀) ===== */
.urb{background:var(--card);border:1px solid var(--bd);border-left:3px solid #e03e3e;border-radius:0;padding:10px 14px 4px;margin-bottom:12px}
.urh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.urt{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--tx)}
.urt svg{color:#e03e3e;font-size:18px}
.urn{background:#fdebec;color:#c4302b;font-size:12px;font-weight:600;padding:1px 8px;border-radius:6px}
.url{margin-left:auto;font-size:12px;color:var(--mu);text-decoration:none}
.url:hover{color:var(--tx);text-decoration:underline}
.urr{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--bd);font-size:13px}
.urr>b{min-width:48px;font-weight:600;color:var(--tx)}
.urd{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tx)}
.ura{font-size:12px;color:var(--mu);white-space:nowrap}
.ura.old{color:#c4302b;font-weight:600}
.urr .b{height:28px;padding:0 10px;font-size:12px;flex:none}
.urm{border-top:1px solid var(--bd);padding:7px 0;font-size:12px;color:var(--mu)}
:root[data-theme="dark"] .urb{border-left-color:#ff6b6b}
:root[data-theme="dark"] .urt svg{color:#ff6b6b}
:root[data-theme="dark"] .urn{background:#4a1d1d;color:#ffb3b3}
:root[data-theme="dark"] .ura.old{color:#ff8b80}
@media(max-width:520px){.urr{flex-wrap:wrap;gap:4px 10px}.urd{flex-basis:100%;order:3;white-space:normal}.urr .b{margin-left:auto}}

/* ===== 매출 표(.st.ssal) 정렬 통일 (2026-10-28): 머리글 칩·숫자 모두 오른쪽 끝선. 입력칸 글자 끝(칸 여백 4 + 입력 테두리 1 + 입력 여백 4 = 9px)에 맞춤 ===== */
.st.ssal{font-variant-numeric:tabular-nums}
.st.ssal input.sc{font-variant-numeric:tabular-nums}
.st.ssal thead th,.st.ssal thead th:first-child{text-align:right;padding-right:9px}
.st.ssal td.rt,.st.ssal tfoot th,.st.ssal tfoot td{padding-right:9px}
.st.ssal tbody td:first-child{padding-right:9px}

/* ===== 소모품 분류 줄 — 노션 태그 스타일 (2026-10-28). 색 0회색 1갈색 2주황(예비) 3주황 4파랑 5보라 6초록 7분홍 8노랑 ===== */
:root .st.bpt tr.bpg td,:root .st.bpt tr.bpg td:first-child{background:var(--card);text-align:left;font-size:13px;color:var(--tx);padding:18px 8px 8px;border-right:0;border-bottom:1px solid var(--bd);position:static}
:root .st.bpt tbody tr.bpg:first-child td{padding-top:10px}
.bptg{display:inline-block;padding:2px 8px;border-radius:4px;font-weight:600;font-size:13px;line-height:1.5}
.bpgn{margin-left:8px;font-size:12px;color:var(--mu);font-weight:400}
.bpgc0{background:#e3e2e0;color:#32302c}
.bpgc1{background:#eee0da;color:#442a1e}
.bpgc2{background:#fadec9;color:#49290e}
.bpgc3{background:#fadec9;color:#49290e}
.bpgc4{background:#d3e5ef;color:#183347}
.bpgc5{background:#e8deee;color:#412454}
.bpgc6{background:#dbeddb;color:#1c3829}
.bpgc7{background:#f5e0e9;color:#4c2337}
.bpgc8{background:#fdecc8;color:#402c1b}
:root[data-theme="dark"] .bpgc0{background:#5a5a5a;color:#f0efed}
:root[data-theme="dark"] .bpgc1{background:#603b2c;color:#f5e9e3}
:root[data-theme="dark"] .bpgc2,:root[data-theme="dark"] .bpgc3{background:#854c1d;color:#fbecdd}
:root[data-theme="dark"] .bpgc4{background:#28456c;color:#e3eef7}
:root[data-theme="dark"] .bpgc5{background:#492f64;color:#efe6f6}
:root[data-theme="dark"] .bpgc6{background:#2b593f;color:#e2f1e5}
:root[data-theme="dark"] .bpgc7{background:#69314c;color:#f8e6ee}
:root[data-theme="dark"] .bpgc8{background:#89632a;color:#fcf1dc}

/* ===== 매출 표 머리글 칩 폭 통일 (2026-10-28): 폭은 chFit()이 가장 긴 칩에 맞춰 넣어요. 글자는 가운데 ===== */
.st.ssal thead .chi{box-sizing:border-box}
/* ===== 설명 툴팁 (2026-10-28) */
.tip{display:none}
body.tipc .tip{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;margin-left:6px;padding:0;border:0;border-radius:50%;background:none;color:#aeb3c2;cursor:pointer}
body.tipc .tip svg{width:16px;height:16px;stroke-width:2}
:root[data-theme="light"] body.tipc .tip{color:#5f6470}
body.tipc .tip:hover,body.tipc .tip.on{color:#ffd166}
:root[data-theme="dark"] body.tipc .tip:hover,:root[data-theme="dark"] body.tipc .tip.on{color:#b9aef7}
:root[data-theme="light"] body.tipc .tip:hover,:root[data-theme="light"] body.tipc .tip.on{color:#5645d4}
body.tipc #phd h2{display:flex;align-items:center}
body.tipc #phd h2 .tip,body.tipc #phd h2 .tip svg{width:19px;height:19px}
body.tipc #phd h2 .tip{margin-left:8px}
body.tipc .si:not(.tpo) small{display:none}
body.tipc .tbt small{display:none}
body.tipc #phd p:not(.tpo){display:none}
body.tipc .si.tpo small,body.tipc #phd p.tpo{background:#2a2f3d;color:#e3e6ef;border-radius:6px}
:root[data-theme="light"] body.tipc .si.tpo small,:root[data-theme="light"] body.tipc #phd p.tpo{background:#f1efec;color:#2f2d29;box-shadow:inset 0 0 0 1px #e3e0da}
:root[data-theme="dark"] body.tipc .si.tpo small,:root[data-theme="dark"] body.tipc #phd p.tpo{background:#1f2533;color:#e3e6ef;box-shadow:inset 0 0 0 1px #2e3546}
body.tipc .si.tpo small{padding:5px 8px;margin-top:5px;font-size:12px;line-height:1.45}
body.tipc #phd p.tpo{padding:8px 12px;margin-top:8px}
/* ===== 부드러운 전환 (2026-10-28): 호버·선택 상태의 색·테두리·그림자를 0.2초에 걸쳐 바꿈 */
:root{--tr:.2s ease}
*,*::before,*::after{transition:background-color var(--tr),border-color var(--tr),color var(--tr),box-shadow var(--tr),opacity var(--tr),outline-color var(--tr),fill var(--tr),stroke var(--tr)}
.room{transition:transform var(--tr),box-shadow var(--tr),background-color var(--tr),border-color var(--tr),color var(--tr)}
body:not(.in) #bnr .bn{transition:transform var(--tr),box-shadow var(--tr),background-color var(--tr),border-color var(--tr),color var(--tr)}
.sgh .cv{transition:transform var(--tr),color var(--tr)}
.room .mk{transition:opacity var(--tr),border-color var(--tr)}
.sip{transition:opacity var(--tr),background-color var(--tr),color var(--tr)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
/* ===== 화면 반응 (2026-10-28) */
/* 토스트 */
#tsw{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);pointer-events:none}
.tst{pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:100%;padding:10px 8px 10px 16px;border-radius:10px;background:#1f2328;color:#f6f6f6;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.25);animation:fxToast .22s ease-out}
.tst.out{opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
.tsm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}
.tst button{border:0;background:none;color:inherit;font:inherit;cursor:pointer;border-radius:6px;padding:4px 8px}
.tst .tsu{display:inline-flex;align-items:center;gap:4px;color:#ffd166;font-weight:600;white-space:nowrap}
.tst .tsu svg{width:14px;height:14px}
.tst .tsx{font-size:18px;line-height:1;opacity:.6;padding:2px 8px}
.tst button:hover{background:rgba(255,255,255,.12)}
:root[data-theme="dark"] .tst{background:#e8e8e8;color:#1f2328}
:root[data-theme="dark"] .tst .tsu{color:#5645d4}
:root[data-theme="dark"] .tst button:hover{background:rgba(0,0,0,.08)}
@keyframes fxToast{from{opacity:0;transform:translateY(12px)}}
/* 뼈대 로딩 */
#skl{position:fixed;inset:0;z-index:150;display:flex;background:var(--bg)}
#skl.out{opacity:0;transition:opacity .2s}
#skl i,.skr i{display:block;border-radius:8px;background:linear-gradient(90deg,rgba(127,127,127,.12) 25%,rgba(127,127,127,.22) 37%,rgba(127,127,127,.12) 63%);background-size:400% 100%;animation:fxShim 1.3s ease infinite}
#skl .sks{width:260px;flex:none;padding:18px 14px;border-right:1px solid var(--bd);display:flex;flex-direction:column;gap:12px}
#skl .sks i{height:28px}
#skl .sks .skb{height:44px;margin-bottom:10px}
#skl .skm{flex:1;min-width:0;padding:24px 28px;display:flex;flex-direction:column;gap:12px}
#skl .skh{height:44px;margin:-24px -28px 8px;border-radius:0}
#skl .skt{height:26px;width:180px}
#skl .skp{height:14px;width:min(520px,80%)}
#skl .skg{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:10px}
#skl .skg i{height:120px;border-radius:10px}
.skr{display:flex;flex-direction:column;gap:10px;padding:8px 0}
.skr i{height:48px}
@keyframes fxShim{from{background-position:100% 50%}to{background-position:0 50%}}
@media (max-width:760px){#skl .sks{display:none}#skl .skm{padding:16px}#skl .skh{margin:-16px -16px 6px}#skl .skg{grid-template-columns:1fr 1fr}}
/* 누름 반응 */
button,.b,.si,.sgh,.room,.hmt{transition:background-color var(--tr),border-color var(--tr),color var(--tr),box-shadow var(--tr),opacity var(--tr),transform .12s ease}
button:not(:disabled):active,.b:not(:disabled):active{transform:scale(.96)}
.si:active,.sgh:active{transform:scale(.98)}
.room:active,.hmt:active{transform:scale(.985)}
.fxp{animation:fxPop .32s ease-out}
@keyframes fxPop{0%{transform:scale(1)}40%{transform:scale(1.05)}100%{transform:scale(1)}}
/* 확인 창 */
.dlgo{position:fixed;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.45);animation:fxFade .18s ease-out}
.dlg{width:100%;max-width:360px;padding:20px;border-radius:12px;background:var(--card);color:var(--tx);border:1px solid var(--bd);box-shadow:0 12px 40px rgba(0,0,0,.3)}
.dlt{font-weight:700;font-size:15px;margin-bottom:6px}
.dlm{font-size:14px;line-height:1.55;margin-bottom:16px}
.dli{display:block;width:100%;box-sizing:border-box;margin:0 0 16px}
.dlb{display:flex;gap:8px;justify-content:flex-end}
.dlg #askY{background:var(--ac);border-color:var(--ac);color:#fff}
:root[data-theme="dark"] .dlg #askY{background:var(--ac);border-color:var(--ac);color:#fff}
.pop{animation:fxIn .18s ease-out}
:root[data-theme="dark"] .pop[style*="background:#fff"]{background:#10141c!important;color:#e8e8e8!important}
@keyframes fxFade{from{opacity:0}}
@keyframes fxIn{from{opacity:0;transform:scale(.96) translateY(6px)}}
/* 오늘 요약 (벤토 그리드) */
.hmg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(130px,auto);gap:12px}
.hmt{min-width:0;display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:12px;background:var(--card);border:1px solid var(--bd);cursor:pointer}
.hmt:hover{border-color:var(--ac);box-shadow:0 4px 16px rgba(0,0,0,.08)}
.hmt.hm-log{cursor:default}
.hmt.hm-log:hover{border-color:var(--bd);box-shadow:none}
.hm-iss{grid-column:span 2;grid-row:span 2}
.hm-rm,.hm-ins,.hm-tsk{grid-column:span 2}
.hm-log{grid-column:span 3}
.hmh{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px;color:var(--mu)}
.hmh b{font-size:14px;color:var(--tx)}
.hmh b.late{color:var(--er)}
.hmn{font-size:24px;font-weight:700;letter-spacing:-.3px}
.hmn.late{color:var(--er)}
.hme{margin:auto 0;color:var(--mu);font-size:14px}
.hml{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.hml li{display:flex;align-items:center;gap:8px;min-width:0;padding:5px 6px;margin:0 -6px;border-radius:6px;font-size:13px}
.hml li .ell{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hml li small{flex:none;font-size:12px}
.hm-iss .hml li{cursor:pointer}
.hm-iss .hml li:hover{background:rgba(127,127,127,.1)}
.hmr{flex:none;min-width:44px;font-weight:600}
.hmp{background:linear-gradient(90deg,rgba(127,127,127,.13) var(--p),transparent var(--p))}
.hmbar{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px;background:rgba(127,127,127,.12)}
.hmbar i,.hmlg i{display:block}
.hmlg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px}
.hmlg span{display:inline-flex;align-items:center;gap:5px}
.hmlg i{width:9px;height:9px;border-radius:50%}
.hmbar .hs0,.hmlg .hs0{background:var(--ok)}
.hmbar .hs2,.hmlg .hs2{background:var(--wa)}
.hmbar .hs3,.hmlg .hs3{background:var(--er)}
@media (max-width:1000px){.hmg{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-iss{grid-row:auto}.hm-log{grid-column:span 2}.hm-due{grid-column:span 2}}
@media (max-width:760px){.hmg{gap:10px;grid-auto-rows:minmax(110px,auto)}.hmn{font-size:20px}.hmt{padding:12px 14px}}
/* 차례로 나타남 */
.fxs{animation:fxUp .3s ease-out backwards;animation-delay:var(--fd,0ms)}
@keyframes fxUp{from{opacity:0;transform:translateY(8px)}}
/* 가로로 넘기는 표: 칸 단위로 멈춤 */
#v .sg,#v .tw,#v [style*="overflow-x:auto"]{scroll-snap-type:x proximity}
#v .sg tr:first-child>*,#v .tw tr:first-child>*,#v [style*="overflow-x:auto"] tr:first-child>*{scroll-snap-align:start}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important}#skl i,.skr i{animation:none!important}}
/* 하위 메뉴 없는 대메뉴(대시보드) 선택 표시 (2026-10-29) */
.sgh.on{background:rgba(255,209,102,.09);color:#ffd166}
:root[data-theme="light"] .sgh.on{background:#ece9fb;color:#5645d4}
:root[data-theme="dark"] .sgh.on{background:rgba(143,130,240,.14);color:#b9aef7}
:root .sg1 .sgh.on .ni,:root[data-theme] .sg1 .sgh.on .ni,:root .sg1 .sgh.on .sgl,:root[data-theme] .sg1 .sgh.on .sgl{color:inherit}
/* ===== 기본 설정 아코디언 (2026-10-29) */
.cfx{display:flex;justify-content:flex-end;margin:0 0 10px;max-width:1000px}
.cfl{display:flex;flex-direction:column;gap:10px;max-width:1000px}
.cfa{border:1px solid var(--bd);border-radius:12px;background:var(--card);overflow:hidden}
.cfa.op{box-shadow:0 2px 10px rgba(0,0,0,.06)}
.cfh{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;border:0;background:none;color:var(--tx);font:inherit;text-align:left;cursor:pointer}
.cfh:hover{background:rgba(127,127,127,.07)}
.cfh:active{transform:none}
.cfi{flex:none;width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:17px;background:rgba(127,127,127,.1)}
.cft{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cft b{font-size:15px;font-weight:600}
.cft small{font-size:12px;color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfc{flex:none;color:var(--mu);transition:transform var(--tr)}
.cfa.op .cfc{transform:rotate(180deg)}
.cfb{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}
.cfa.op .cfb{grid-template-rows:1fr}
.cfb>div{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s .22s}
.cfa.op .cfb>div{visibility:visible;transition:visibility 0s}
.cfb section{padding:4px 18px 18px;border-top:1px solid var(--bd);padding-top:14px;margin:0}
.cfb section hr.ln{margin:16px 0}
@media (max-width:760px){.cfh{padding:12px 14px}.cfb section{padding:12px 14px 14px}}
/* ===== 매물 정리 (2026-10-29) */
.ff label[hidden]{display:none!important}
.nbck{font-size:12px;color:var(--mu);display:inline-flex;align-items:center;gap:4px}
.nbt.nbn{background:#d63031;color:#fff}
.nbin{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;color:var(--ok);background:rgba(46,125,79,.12)}
.nbo{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:10px;font-size:11px;color:var(--mu);background:rgba(127,127,127,.14)}
.hm-due .hml li{cursor:pointer}
.hm-due .hml li:hover{background:rgba(127,127,127,.1)}
.tp.nbsp{display:block}
.tp.nbsp>b{display:block}
.nbsp .ff label{display:flex;flex-direction:column;gap:4px}
.nbsp .ff label input{width:100%;box-sizing:border-box}

/* ===== 고장 카드 노션 스타일 (2026-10-29) — 흰 카드 + 왼쪽 상태 띠 3px, 상태 라벨 .iks0~2(app.js icard), 분류·긴급 태그 연한 배경, 완료 건은 눌리지 않는 진행 버튼 숨김 ===== */
.card.ic0,.card.ic1,.card.ic2{background:var(--card);color:var(--tx);border:1px solid var(--bd);border-left:3px solid}
:root[data-theme="light"] .card.ic0,:root[data-theme="light"] .card.ic1,:root[data-theme="light"] .card.ic2{border-color:#e5e3df}
.card.ic0,:root[data-theme="light"] .card.ic0{border-left-color:#dfab01}
.card.ic1,:root[data-theme="light"] .card.ic1{border-left-color:#e03e3e}
.card.ic2,:root[data-theme="light"] .card.ic2{border-left-color:#4f9768}
.card.ic0 .mu,.card.ic1 .mu,.card.ic2 .mu{color:var(--mu)}
:root[data-theme="dark"] .card.ic0,:root[data-theme="dark"] .card.ic1,:root[data-theme="dark"] .card.ic2{background:var(--card);color:var(--tx);border-color:var(--bd)}
:root[data-theme="dark"] .card.ic0{border-left-color:#c29a2e}
:root[data-theme="dark"] .card.ic1{border-left-color:#d9534f}
:root[data-theme="dark"] .card.ic2{border-left-color:#4f9768}
.ikc{border:0;border-radius:4px;background:#f1f1ef;color:#5d5b54;opacity:1;padding:2px 8px}
:root[data-theme="dark"] .ikc{background:rgba(255,255,255,.08);color:#c9c7c2}
.ik .tag.hi{border:0;border-radius:4px;background:#fdebec;color:#c4302b;font-weight:600}
:root[data-theme="dark"] .ik .tag.hi{background:rgba(224,62,62,.18);color:#ff8a85}
.iks{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px;white-space:nowrap}
.iks0{background:#fbf3db;color:#956400}
.iks1{background:#fdebec;color:#c4302b}
.iks2{background:#edf3ec;color:#2f6b45}
:root[data-theme="dark"] .iks0{background:rgba(223,171,1,.16);color:#f0c75e}
:root[data-theme="dark"] .iks1{background:rgba(224,62,62,.18);color:#ff8a85}
:root[data-theme="dark"] .iks2{background:rgba(79,151,104,.2);color:#8fd0a5}
.ikp .ph{border-radius:6px;border:1px solid var(--bd)}
.ikf em{border-radius:4px}
.ik .b.pg:disabled{display:none}
