:root{--navy: #142b63;--navy-lt: #1e3e8c;--red: #e14b34;--orange: #f5a623;--teal: #16897e;--magenta: #e2568c;--cream: #fbf5e9;--gold: #c79a3b;--silver: #8d97a8;--bronze: #b0652e;--ink: #1b2033;--grey: #8b92a8}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans KR,-apple-system,sans-serif;color:var(--ink);background:var(--cream)}.app{max-width:480px;margin:0 auto;min-height:100vh;position:relative;padding-bottom:20px;border-left:1px solid #00000010;border-right:1px solid #00000010;background:var(--cream)}.disp{font-family:Jua,Noto Sans KR,sans-serif;letter-spacing:.02em}h1,h2,h3{margin:0;font-family:Jua,Noto Sans KR,sans-serif}p{margin:0}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}.section{padding:16px 16px 6px}.label-pill{display:inline-block;font-size:12.5px;font-weight:700;color:#fff;background:var(--navy);padding:4px 12px;border-radius:999px;margin-bottom:10px}.card{background:#fff;border-radius:16px;padding:14px 16px;box-shadow:0 2px 10px #142b6314;border:1px solid #14286312}.header{background:var(--navy);color:#fff;padding:14px 16px 0;position:sticky;top:0;z-index:30}.header-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px}.header .disp{font-size:18px;line-height:1.1}.header .sub{font-size:10.5px;opacity:.7;font-weight:600}.adminbtn{display:flex;align-items:center;gap:5px;border:none;border-radius:999px;padding:6px 11px;font-size:11px;font-weight:800;background:#ffffff24;color:#fff}.adminbtn.on{background:var(--teal)}.sync-row{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;color:#fffa;padding-bottom:8px}.sync-dot{width:6px;height:6px;border-radius:50%}.sync-dot.saved{background:#3ddc97}.sync-dot.saving{background:var(--orange);animation:blink 1s infinite}.sync-dot.error{background:#ff6767}.sync-dot.offline{background:#fff5}.toptabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:0 4px}.toptabs::-webkit-scrollbar{display:none}.toptab{border:none;background:transparent;color:#fffa;padding:9px 10px 11px;font-size:12.5px;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent;display:flex;align-items:center;gap:4px}.toptab.active{color:#fff;border-bottom-color:var(--red)}.divtab{border:none;background:#fff;border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:700;color:var(--navy);border:1.5px solid #14286320;white-space:nowrap;flex-shrink:0}.divtab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.scrollx{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.scrollx::-webkit-scrollbar{display:none}.input{width:100%;border:1.5px solid #14286325;border-radius:9px;padding:9px 10px;font-size:13.5px;color:var(--ink);background:#fff}.input:focus{outline:2px solid var(--navy-lt);border-color:var(--navy-lt)}.fieldlabel{font-size:11.5px;font-weight:700;color:var(--navy);margin-bottom:5px;display:block}.btn{border:none;border-radius:11px;padding:10px 14px;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px;color:#fff}.btn.primary{background:var(--red)}.btn.teal{background:var(--teal)}.btn.navy{background:var(--navy)}.btn.ghost{background:#14286312;color:var(--navy)}.btn:disabled{opacity:.5}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:999px}.badge.scheduled{background:#8b92a81c;color:#6b7185}.badge.live{background:#e14b3418;color:var(--red)}.badge.done{background:#16897e18;color:var(--teal)}.dot{width:6px;height:6px;border-radius:50%;background:var(--red);animation:blink 1.1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141eb8;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;border-radius:16px;max-width:440px;width:100%;max-height:86vh;overflow-y:auto;padding:20px;position:relative}.tableline{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #14286315;font-size:13.5px}.tableline:last-child{border-bottom:none}@keyframes pop{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.pop{animation:pop .2s ease}
