/* ces-ui.css — CES 앱 공통 꼴 V1 (MST2-20261002-011 · 앱뼈대설계 V0.5 §2 · §5)
 * 바탕 = 목업 00_공통틀 CES틀 V1.5 css (스냅샷 sha256 앞 16 9ab8143187d0f205) 에서 §5 「목업에만」(조작 띠 · 쪽 목록 · 기기 테두리 · 가짜 상태 띠 · 정의표 · 두 안 · 넘김 띠 · 모두 펼치기)을 뺀 것
 * + 아래 「앱에만」. 화면 HTML 은 목업 <section class="sc"> 를 그대로 씀 — 클래스 이름을 바꾸지 않음. */
:root{
--ces:#1c5c4f;--ces2:#e2efe9;
--out:#5b5046;--out2:#eeeae5;
--ink:#1b1916;--ink2:#46413b;--ink3:#6a6259;
--line:#a49c92;--line2:#d4cec6;--bg:#f3f1ee;
--stop:#b3261e;--stop2:#fbe8e6;--warn:#a05000;--warn2:#fff0dc;--ok:#1b6b3a;--ok2:#e2f2e8;
--info:#1d4f86;--info2:#e7eff9;--lock:#e6e2dc;--from:#edf1ef}
*{box-sizing:border-box}
html,body{margin:0}
body{font:15px/1.6 "Pretendard","Malgun Gothic","맑은 고딕","Apple SD Gothic Neo",sans-serif;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;word-break:keep-all;overflow-wrap:anywhere}
button{font:inherit;color:inherit}
code{background:#e9e5df;border-radius:3px;padding:0 5px;font:12.5px/1.5 Consolas,"D2Coding",monospace;word-break:break-all}
a{color:var(--info)}
.note,.bad,.good{border-left:5px solid;padding:9px 13px;margin:10px 0;border-radius:0 6px 6px 0;font-size:14px}
.note{border-color:var(--info);background:var(--info2)}.note>b:first-child{color:var(--info)}
.bad{border-color:var(--stop);background:var(--stop2)}.bad>b:first-child{color:var(--stop)}
.good{border-color:var(--ok);background:var(--ok2)}.good>b:first-child{color:var(--ok)}
button.bad,button.good,button.note{margin:0;padding:0 8px;border-left-width:1.5px}
.pick button.bad{padding:8px 14px;border-radius:10px}.ck .o button.bad{border-radius:8px}
.sc{display:none;margin-top:14px}
.sc.on{display:block}
.sh{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;margin-bottom:10px}
.sh .code{font:800 14px/1 Consolas,monospace;background:var(--ces);color:#fff;border-radius:4px;padding:5px 8px}
.sc.out .sh .code{background:var(--out)}
.sh .stg{font-size:13px;font-weight:800;color:var(--ces)}
.sc.out .sh .stg{color:var(--out)}
.sh h2{font-size:20px;margin:0}
.sh .wh{font-size:13px;color:var(--ink2);border:1px solid var(--line2);border-radius:4px;padding:1px 8px;background:#fff}
.pb{border-radius:4px;padding:2px 8px;font-size:12.5px;font-weight:800;border:1.5px solid;white-space:nowrap}
.pb.P1{color:#2f5a33;border-color:#2f5a33;background:#fff}
.pb.P2{color:var(--info);border-color:var(--info);background:#fff}
.pb.P3{color:var(--warn);border-color:var(--warn);background:var(--warn2)}
.pb.P4{color:#fff;background:var(--stop);border-color:var(--stop)}
.hd{background:var(--ces);color:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:7px 10px}
.sc.out .hd{background:var(--out)}
.hd .ht{font-weight:800;font-size:15.5px;margin-right:auto;line-height:1.25;min-width:0}
.hd .ht small{display:block;font-weight:600;font-size:11.5px;opacity:.92}
.hd a{color:#fff;font-size:12.5px;text-decoration:none;border:1px solid rgba(255,255,255,.6);border-radius:5px;padding:5px 7px;white-space:nowrap;cursor:pointer;min-height:32px;display:inline-flex;align-items:center}
.hd a:first-of-type{margin-left:auto}
@container (max-width:560px){.hd .ht{flex-basis:100%}}
.crumb{font-size:12.5px;padding:6px 12px;background:#f1efeb;border-bottom:1px solid var(--line2);color:var(--ink2);line-height:1.8}
.crumb a{color:var(--info);text-decoration:underline;cursor:pointer}
.offband{display:none;background:#1b1916;color:#fff;padding:9px 12px;font-size:13.5px;line-height:1.5}
body.offline .offband{display:block}
.offband .big{font-size:17px;font-weight:800;color:#ffcf7a}
.offband .y{color:#9fe0b4}.offband .n{color:#ffaca3}
.whoami{font-size:12.5px;color:var(--ink2);padding:5px 12px;border-bottom:1px solid var(--line2);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.whoami .un{display:none;color:var(--stop);font-weight:800}
body.offline .whoami .un{display:inline}body.offline .whoami .up{display:none}
.whoami .up{color:var(--ok);font-weight:700}
.scr{padding:14px 14px 18px;font-size:16px;position:relative}
.scr h3{font-size:18px;margin:0 0 12px;padding-bottom:6px;border-bottom:3px solid var(--ces)}
.sc.out .scr h3{border-color:var(--out)}
.scr h4{font-size:15px;margin:18px 0 8px;color:var(--ink2);border-left:4px solid var(--ink2);padding-left:7px}
.fs{display:grid;grid-template-columns:1fr;gap:11px}
@container (min-width:720px){.fs{grid-template-columns:1fr 1fr}.fs.c3{grid-template-columns:1fr 1fr 1fr}.fs .w{grid-column:1/-1}.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}}
.f{min-width:0}
.f>label{display:flex;justify-content:flex-start;align-items:baseline;gap:6px;font-size:13.5px;font-weight:800;color:var(--ink2);margin-bottom:3px}
.f>label .k{margin-left:auto;font-weight:600;font-size:11.5px;color:var(--ink3);border:1px solid var(--line2);border-radius:3px;padding:0 5px;white-space:nowrap}
.f>label .rq{color:var(--stop)}
.v{border:1.5px solid var(--line);border-radius:7px;padding:10px 12px;background:#fff;min-height:48px;font-size:16px}
.v.ta{min-height:84px}
.v small{color:var(--ink3);font-size:13px}
.src{font-size:12px;color:var(--ink3);margin-top:2px;line-height:1.45}
.src b{color:var(--ces)}
.f.from .v{background:var(--from);border-style:dashed;color:var(--ink2)}
.f.from>label::after{content:"넘어온 값 · 읽기만";font-size:11px;font-weight:700;color:var(--ces);border:1px solid var(--ces);border-radius:3px;padding:0 5px;margin-left:auto}
.f.from>label .k{display:none}
.f.calc .v{background:#f5f3ef;font-weight:800}
.f.calc>label::after{content:"자동 계산 · 못 고침";font-size:11px;font-weight:700;color:var(--ink3);border:1px solid var(--line);border-radius:3px;padding:0 5px;margin-left:auto}
.f.calc>label .k{display:none}
.f.cand .v{background:#fffbea;border:2px dashed var(--warn)}
.f.cand>label::after{content:"후보 · 사람이 확정";font-size:11px;font-weight:800;color:var(--warn);border:1px solid var(--warn);border-radius:3px;padding:0 5px;margin-left:auto}
.f.cand>label .k{display:none}
.f.bad .v{border:2px solid var(--stop);background:var(--stop2)}
.err{color:var(--stop);font-size:13.5px;font-weight:800;margin-top:3px}
.mk{display:none}
/* V1.1 — 가림은 칸 안의 모든 것을 감쌉니다(세션5 가 찾은 구멍: 바로 밑 .v·.tbw 만 숨겼음) */
.masked>.pvo{display:none!important}
tr>td.mktd{display:none;background:var(--lock);color:var(--ink2);font-size:13.5px}
tr.masked>td:not(:first-child){display:none}
tr.masked>td.mktd{display:table-cell}
.masked>.mk.i{display:inline-block;padding:0 6px;font-size:inherit}
.masked>.mk,.f.nope>.mk{display:block;border:1.5px dashed var(--line);background:var(--lock);border-radius:7px;padding:10px 12px;color:var(--ink2);font-size:14px}
.f.nope>.v,.f.nope>.src{display:none}
.scr.denied>*{display:none!important}
.scr.denied::before{content:attr(data-deny);display:block;border:2px dashed var(--ink2);background:var(--lock);border-radius:8px;padding:28px 16px;font-size:16px;font-weight:800;color:var(--ink2);text-align:center}
.pick{display:flex;flex-wrap:wrap;gap:6px}
.pick button{min-height:48px;padding:8px 14px;border:1.5px solid var(--line);background:#fff;border-radius:10px;cursor:pointer;font-size:15.5px}
.pick button.on{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:800}
.pick button.on.bad{background:var(--stop);border-color:var(--stop)}
.pick button.on.warnc{background:var(--warn);border-color:var(--warn)}
.pick.lockd button{cursor:not-allowed}
.ck{display:flex;align-items:center;gap:6px 8px;padding:8px 0;border-bottom:1px solid var(--line2);flex-wrap:wrap}
.ck .q{flex:1 1 150px;font-size:15.5px}
.ck .q small{display:block;color:var(--ink3);font-size:12.5px}
.ck .q code{font-size:10.5px;color:var(--ink3);background:transparent;padding:0}
.ck .o{display:flex;gap:4px}
.ck .o button{min-width:58px;min-height:48px;border:1.5px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;font-size:15px;padding:0 8px}
.ck .o button.on{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:800}
.ck .o button.on.bad{background:var(--stop);border-color:var(--stop)}
.ck .cam{min-width:52px;min-height:48px;border:1.5px dashed var(--line);border-radius:8px;background:#fff;cursor:pointer;font-size:13px}
.ck .cam.has{border:2px solid var(--ces);color:var(--ces);font-weight:800}
.ck .o{flex:1 1 auto}
@container (max-width:560px){.ck .q{flex-basis:100%}}
.acts.stick{position:sticky;bottom:0;z-index:4;background:#fff;margin:16px -14px -18px;padding:10px 14px 12px;border-top:2px solid var(--line2);box-shadow:0 -4px 10px rgba(0,0,0,.08)}
.acts.stick{flex-wrap:nowrap}.acts.stick .b{flex:1 1 0;min-width:0;padding:8px 6px;font-size:15.5px}.acts.stick .b.p{flex:2 1 0;font-size:17px}.acts.stick .why{display:none}.acts.stick:has(.why){flex-wrap:wrap}.acts.stick:has(.why) .why{display:block}
.ck .tx{flex-basis:100%;font-size:14px;color:var(--ink2);background:#f6f4f0;border-radius:5px;padding:4px 8px}
.ph{display:flex;gap:6px;flex-wrap:wrap}
.ph .p{width:84px;height:66px;border-radius:6px;background:repeating-linear-gradient(45deg,#8f877d 0 7px,#7d756b 7px 14px);color:#fff;font-size:11px;display:flex;flex-direction:column;justify-content:flex-end;padding:3px 5px;line-height:1.25}
.ph .add{width:84px;height:66px;border-radius:6px;border:2px dashed var(--line);background:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;color:var(--ink2)}
.tbw{overflow-x:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(to right,#fff 30%,rgba(255,255,255,0)) left center/40px 100% no-repeat local,linear-gradient(to left,#fff 30%,rgba(255,255,255,0)) right center/40px 100% no-repeat local,linear-gradient(to right,rgba(0,0,0,.22),rgba(0,0,0,0)) left center/12px 100% no-repeat scroll,linear-gradient(to left,rgba(0,0,0,.22),rgba(0,0,0,0)) right center/12px 100% no-repeat scroll}
.tb{width:100%;border-collapse:collapse;font-size:14px;background:#fff}
.tb th,.tb td{border:1px solid var(--line2);padding:6px 7px;text-align:left;vertical-align:top}
.tb th{background:#efebe5;font-size:12.5px;white-space:nowrap}
.tb td.n,.tb th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
/* V1.2 — 표는 늘 옆으로 밀림 · 짧은 값(12자 이하)은 줄을 안 바꿈 · 긴 글 칸은 최소 9em (MST2-20261001-003 · 세션5 방식) */
.tbw .tb{width:auto;min-width:100%}
.tb td.nw,.tb th.nw{white-space:nowrap}
.tb td:not(.nw):not(.mktd){min-width:9em}
.tb tr.sum td{font-weight:800;background:#f5f3ef}
.al{border-radius:7px;padding:9px 12px;font-size:14.5px;margin:10px 0;border:2px solid;font-weight:600}
.al.stop{border-color:var(--stop);background:var(--stop2);color:#6e140e}
.al.warn{border-color:var(--warn);background:var(--warn2);color:#5c2e00}
.al.info{border-color:var(--info);background:var(--info2);color:#123a66}
.al .lv{display:inline-block;padding:0 7px;border-radius:3px;color:#fff;margin-right:6px;font-size:12.5px;font-weight:800}
.al.stop .lv{background:var(--stop)}.al.warn .lv{background:var(--warn)}.al.info .lv{background:var(--info)}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.b{flex:1 1 150px;min-height:56px;padding:10px 14px;border:2px solid var(--ces);background:#fff;color:var(--ces);border-radius:9px;font-size:17px;font-weight:800;cursor:pointer;line-height:1.25}
.b.p{background:var(--ces);color:#fff}
.b.s{flex:0 1 auto;min-height:48px;font-size:15px}
.sc.out .b{border-color:var(--out);color:var(--out)}.sc.out .b.p{background:var(--out);color:#fff}
.b.off,.b:disabled,.sc.out .b.off,.sc.out .b:disabled{background:#e4e0da;color:#6f675e;border:2px dashed #978f85;cursor:not-allowed}
.b.pass{border-color:var(--ok);color:var(--ok)}.b.pass.on{background:var(--ok);color:#fff}
.b.fail{border-color:var(--stop);color:var(--stop)}.b.fail.on{background:var(--stop);color:#fff}
.why{flex-basis:100%;background:#fff7e8;border-left:5px solid var(--warn);border-radius:0 6px 6px 0;padding:8px 11px;font-size:14px;color:#4a2d00}
.why b{color:var(--warn)}
.why.auto{border-left-color:var(--ink);background:#f0eeea;color:var(--ink)}
.why.auto b{color:var(--ink)}
@container (min-width:720px){.acts{justify-content:flex-end}.b{flex:0 1 230px}}
.appr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1.5px solid var(--ink);border-radius:7px;overflow:hidden;font-size:13px;margin:10px 0;background:#fff}
.appr.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.appr>div{padding:6px 8px;border-left:1px solid var(--line2);min-width:0}
.appr>div:first-child{border-left:0}
.appr .r{font-weight:800;font-size:12px;color:var(--ink3)}
.appr .s{font-weight:800;font-size:13.5px}
.appr .done .s{color:var(--ok)}.appr .wait .s{color:var(--warn)}.appr .no .s{color:var(--ink3)}
.appr .nm{font-size:12.5px}
.sod{font-size:12px;color:var(--ink3);margin:-4px 0 8px}
.lockbox{border:2px solid var(--ink);background:var(--lock);border-radius:7px;padding:10px 12px;font-size:14px;margin:10px 0}
.lockbox b{font-size:15px}
.immut{font:11.5px/1.5 Consolas,monospace;color:var(--ink3);border-top:1px dashed var(--line);margin-top:14px;padding-top:6px;word-break:break-all}
.spine{display:flex;gap:3px;flex-wrap:wrap;font-size:11.5px;margin:0 0 10px}
.spine span{padding:1px 6px;border-radius:3px;background:#ece8e2;color:var(--ink3);white-space:nowrap}
.spine span.done{background:var(--ces2);color:var(--ces)}
.spine span.now{background:var(--ces);color:#fff;font-weight:800}
.spine span.opt{outline:1px dashed var(--ink3);outline-offset:-1px}
.spine span.outs{background:var(--out2);color:var(--out)}
.spine span.outs.now{background:var(--out);color:#fff}
.spine i{font-style:normal;color:var(--line)}
.loop{display:inline-block;border:1.5px solid var(--ces);color:var(--ces);border-radius:12px;padding:0 8px;font-size:12.5px;font-weight:800;background:#fff}
.tabs{display:flex;gap:4px;border-bottom:2px solid var(--ink);margin:4px 0 10px;overflow-x:auto;background:linear-gradient(to right,#fff 30%,rgba(255,255,255,0)) left center/40px 100% no-repeat local,linear-gradient(to left,#fff 30%,rgba(255,255,255,0)) right center/40px 100% no-repeat local,linear-gradient(to right,rgba(0,0,0,.22),rgba(0,0,0,0)) left center/12px 100% no-repeat scroll,linear-gradient(to left,rgba(0,0,0,.22),rgba(0,0,0,0)) right center/12px 100% no-repeat scroll}
.tabs button{flex:1 0 auto;min-height:52px;padding:4px 10px;border:1.5px solid var(--line);border-bottom:0;background:#f1eee9;border-radius:8px 8px 0 0;cursor:pointer;font-size:15px;line-height:1.2}
.tabs button.on{background:var(--ink);color:#fff;font-weight:800;border-color:var(--ink)}
.tabs button small{display:block;font-size:11.5px;opacity:.85;font-weight:600}
.pane{display:none}.pane.on{display:block}
.hid{font-size:13px;color:var(--ink2);border:1px dashed var(--line);border-radius:6px;padding:6px 10px;margin:8px 0;background:#faf9f7}
.row{display:flex;gap:6px 10px;align-items:center;padding:9px 4px;border-bottom:1px solid var(--line2);font-size:15px;flex-wrap:wrap}
.row .m{flex:1 1 170px;min-width:0}.row .m small{display:block;color:var(--ink3);font-size:12.5px}
.row.late{background:var(--stop2)}
.st{border-radius:4px;padding:1px 8px;font-size:12.5px;font-weight:800;white-space:nowrap;border:1px solid transparent}
.st.s1{background:#e8e4de}.st.s2{background:var(--info2);color:var(--info)}.st.s3{background:var(--ok2);color:var(--ok)}.st.s4{background:var(--stop2);color:var(--stop)}.st.s5{background:var(--warn2);color:var(--warn)}
.lk{font-size:13px;color:var(--info);text-decoration:underline;cursor:pointer;white-space:nowrap;background:none;border:0;padding:6px 2px}
.nt,.nc,.xs,.ok1,.ch{display:inline-block;border-radius:3px;padding:0 6px;font-size:11.5px;font-weight:800;white-space:nowrap;vertical-align:1px}
.nt{background:var(--stop);color:#fff}
.nc{background:var(--warn2);color:var(--warn);border:1px solid var(--warn)}
.xs{background:#ebe7e1;color:var(--ink3)}
.ok1{background:var(--ok2);color:var(--ok)}
.ch{background:var(--info2);color:var(--info);border:1px solid var(--info)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#1b1916;color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;z-index:99;opacity:0;transition:opacity .2s;pointer-events:none;max-width:90vw}
.toast.on{opacity:1}
/* V1.3 — 모듈 딱지 (MST2-20261001-004). 업무 모듈에는 색을 주지 않습니다 — 먹색 글자 딱지 하나(SD-공통 V0.4 §3 · MD-모듈지도 V0.4 도 회색 한 가지) */
.md{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);background:#fff;border-radius:3px;padding:0 6px;font:800 11.5px/1.6 Consolas,"Malgun Gothic",monospace;white-space:nowrap;vertical-align:1px}
.md.own{background:var(--ink);color:#fff}
.md.win{border-style:dashed}
.md.new{border-color:var(--stop);color:var(--stop);background:var(--stop2)}
.md.nob{border-color:var(--stop);background:var(--stop);color:#fff}
.via{font-size:12px;color:var(--ink2);margin-top:3px;line-height:1.5;border-left:3px solid var(--ink);padding-left:6px}
.via b{color:var(--ink)}
.viabox{margin:6px 0 4px}
.f>label .md{margin-left:6px}
/* V1.4 — 판 번호 · 기준일 딱지 (MST2-20261001-009 원칙 — 기준은 판 번호 달린 데이터) */
.md.rev{border-style:dotted;border-width:2px;background:#fffdf5}
.md.rev.old{color:var(--ink3);border-color:var(--ink3)}
.f>label .md.rev{margin-left:6px}
/* V1.5 — 큰 글씨 단추 (MST2-20261002-008 세션1) : 누르면 150% · 200% · 원래. 쪽 전체를 키움(zoom) — 인쇄는 그대로 */
body.big1{zoom:1.5}body.big2{zoom:2}
@media print{body.big1,body.big2{zoom:1}}

/* ===== 앱에만 (V1) ===== */
.sc{container-type:inline-size;background:#fff;max-width:1280px;margin:0 auto}
.sc>.sh{display:none}                                    /* 목업 머리(화면 번호 · 정의) — 앱은 머리 띠에 이름만 */
.top{position:sticky;top:0;z-index:30;max-width:1280px;margin:0 auto}
.hd .big{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);border-radius:5px;padding:5px 7px;font-size:12.5px;min-height:32px;cursor:pointer}
.hd .big.on{background:#ffd54a;color:var(--ink);border-color:#ffd54a;font-weight:800}
body.pend .offband,body.rej .offband{display:block}                       /* 연결돼도 안 올라간 건이 있으면 띠가 남음(§6) */
body.pend .whoami .un{display:inline}body.pend .whoami .up{display:none}
.offband .fail{color:#ffaca3;font-weight:800}
.authband{display:none;background:var(--stop);color:#fff;padding:9px 12px;font-size:14.5px;font-weight:800}
body.auth401 .authband{display:block}
input.v,select.v,textarea.v{display:block;width:100%;font:inherit;font-size:16px;color:var(--ink)}
textarea.v{min-height:84px;resize:vertical}
input.v:focus,select.v:focus,textarea.v:focus{outline:3px solid var(--info2);border-color:var(--info)}
.f.from input.v,.f.calc input.v,.f.cand input.v{pointer-events:none}
.ph input[type=file],.ck input[type=file]{display:none}
.ph .p{background-size:cover;background-position:center}
.ck.safe{border:2px solid var(--stop);border-radius:8px;padding:8px;margin:4px 0;background:#fff}
.ck .sf{display:inline-block;background:var(--stop);color:#fff;border-radius:3px;padding:0 6px;font-size:12px;font-weight:800;margin-right:6px}
.ck input.num,.ck input.txt{min-height:48px;border:1.5px solid var(--line);border-radius:8px;padding:6px 10px;font-size:16px;min-width:0;flex:1 1 120px}
.ck .rev{font-size:11px;color:var(--ink3)}
.cklist .empty{border:1.5px dashed var(--line);border-radius:7px;padding:10px 12px;color:var(--ink2);background:var(--lock);font-size:14px}
.notyet{border:2px dashed var(--warn);background:var(--warn2);border-radius:8px;padding:14px;font-weight:700;color:#5c2e00}
[hidden]{display:none!important}                      /* [V1.1] .fs{display:grid} 같은 꼴이 hidden 을 이기지 못하게 */
/* [V1.3] 결재 차례 띠 — 정렬표 §2 그대로 · 상태 색 표준(CLAUDE.md §4 : 색 + 아이콘 + 글자 · 옅은 배경) */
.apband{display:flex;flex-wrap:wrap;align-items:stretch;gap:4px;margin:0 0 10px;font-size:14px}
.apband .ttl{flex:1 0 100%;font-weight:800;font-size:13px;color:var(--ink2)}
.apband .st{display:flex;flex-direction:column;gap:1px;border:2px solid;border-radius:8px;padding:4px 8px;min-width:96px;flex:1 1 96px}
.apband .st b{font-size:15px}.apband .st small{font-size:12px}
.apband .ar{align-self:center;font-weight:900;color:var(--ink3)}
.apband .done{color:#2e7d32;border-color:#2e7d32;background:#e8f5e9}
.apband .now{color:#1565c0;border-color:#1565c0;background:#e3f2fd}
.apband .wait{color:#e65100;border-color:#e65100;background:#fff3e0}
.apband .bad{color:#c62828;border-color:#c62828;background:#ffebee}
.apband .diff{flex:1 0 100%;color:#c62828;background:#ffebee;border:1.5px solid #c62828;border-radius:6px;padding:3px 8px;font-size:12.5px}
.scr.apronly input,.scr.apronly select,.scr.apronly textarea{background:var(--lock)}
.apronote{border:2px solid #1565c0;background:#e3f2fd;color:#0d3c73;border-radius:8px;padding:6px 10px;margin:0 0 8px;font-weight:700;font-size:14px}

/* ▼▼ 현장 기준 (짓기) ▼▼ — V1.0 · 정의 현장화면기준.json (54045b4432299613) · _도구/현장기준_짓기.py 가 지음 · 손으로 고치지 않음
 * 일감 B33 현장용 화면 기준 11가지 — ① 글씨 18pt↑(큰 글씨에 딱지가 넘치지 않게 줄 바꿈) ② 누르는 것 1.2cm↑ ③ 햇빛 대비 ⑩ 저장 단추 늘 아래 ⑪ 🎤 단추 꼴. ①의 「더 작게 박힌 글씨」는 아래 js 가 올림 */
:root{--ink2:#2f2b27;--ink3:#3f3a34;--line:#6f675e}
body{font-size:18pt}
button,select,textarea,input:not([type=hidden]):not([type=file]):not([type=checkbox]):not([type=radio]),[role=button],[data-go],[onclick]{min-height:1.2cm!important}
input[type=checkbox],input[type=radio]{width:1.2cm;height:1.2cm;min-height:1.2cm}
a[href],a[onclick],a[data-go],a[role=button]{display:inline-flex;align-items:center;min-height:1.2cm!important}
.md{white-space:normal;max-width:100%}
.apband .st{flex:1 1 100%;min-width:0}.apband .ar{transform:rotate(90deg);margin:-6px auto}
.scr>.acts:last-child:not(.stick) .why,.acts.stick .why{max-height:3.2em;overflow:auto}
.b.off,.b:disabled,.sc.out .b.off,.sc.out .b:disabled,button:disabled{color:#3f3a34}
.scr>.acts:last-child:not(.stick){position:sticky;bottom:0;z-index:4;background:#fff;margin:16px -14px -18px;padding:10px 14px 12px;border-top:2px solid var(--line2);box-shadow:0 -4px 10px rgba(0,0,0,.08)}
.cesmic{flex:0 0 auto;min-width:1.2cm;min-height:1.2cm;margin:4px 0 0;padding:0 14px;border:2px solid var(--info);background:#fff;color:var(--info);border-radius:10px;font-weight:800;cursor:pointer}
.cesmic.on{background:#1565c0;border-color:#1565c0;color:#fff}
.cesmic-hint{margin:4px 0 0;color:var(--ink2)}
/* ▲▲ 현장 기준 (짓기) ▲▲ */
