@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css");:root{--ink:#212121;--ink-2:#3A3A3A;--red:#E4002B;--red-dark:#C0001F;--gray-1:#8B8B8B;--gray-2:#B5B5B5;--line:#EBEBEB;--surface:#FFFFFF;--bg:#F4F4F4;--field:#F6F6F6;--green:#1F9D55;--maxw:440px}*{margin:0;padding:0;box-sizing:border-box;font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-tap-highlight-color:transparent}body,html{background:var(--bg);color:var(--ink);overscroll-behavior-y:none}button{border:none;background:none;cursor:pointer}button,input{color:inherit;font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100dvh;max-width:var(--maxw);margin:0 auto;flex-direction:column;position:relative;box-shadow:0 0 0 1px rgba(0,0,0,.03)}.app-shell,.topbar{background:var(--bg);display:flex}.topbar{justify-content:center;align-items:center;padding:14px 16px 10px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar .back{position:absolute;left:12px;font-size:24px;line-height:1;color:var(--ink-2);font-weight:600;padding:4px 10px}.topbar .modetag{position:absolute;right:14px;font-size:10px;font-weight:800;padding:4px 8px;border-radius:6px;letter-spacing:.03em}.modetag.admin{background:var(--ink);color:#fff}.modetag.worker{background:#FFE3E8;color:var(--red)}.logo{display:inline-flex;align-items:center;background:var(--ink);border-radius:7px;padding:7px 12px}.logo b{color:var(--red);font-weight:900;font-size:14px;letter-spacing:.04em}.logo .tm{color:#fff;font-size:8px;font-weight:700;align-self:flex-start;margin-left:3px}.body{flex:1 1;padding:6px 16px 120px}.appbar{padding:8px 2px 16px}.appbar h2{font-size:22px;font-weight:800;letter-spacing:-.03em}.appbar h2 em{color:var(--red);font-style:normal}.appbar .sub{font-size:13px;color:var(--gray-1);margin-top:6px;line-height:1.5}.card{background:var(--surface);border-radius:18px;padding:16px;margin-bottom:10px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.row{display:flex;gap:12px}.field{flex:1 1}.field .ft{font-size:11px;font-weight:600;color:var(--gray-1);margin-bottom:6px}.field .fv{font-size:16px;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:8px;display:flex;align-items:center;justify-content:space-between}.field .unit{font-size:13px;color:var(--gray-1);font-weight:500}.field input.fv{width:100%;border-top:none;border-left:none;border-right:none;background:transparent;border-radius:0;outline:none}.field input.fv:focus{border-bottom-color:var(--red)}.wkday{color:var(--red);font-weight:700;font-size:14px}input[type=date],input[type=time]{font-size:16px;font-weight:700;border:none;border-bottom:1px solid var(--line);background:transparent;padding-bottom:7px;width:100%;outline:none}input[type=date]:focus,input[type=time]:focus{border-bottom-color:var(--red)}.chips{display:flex;gap:7px;margin-top:14px}.chip{flex:1 1;text-align:center;padding:11px 0;border-radius:11px;font-size:13px;font-weight:700;background:var(--field);color:var(--ink-2);transition:background .12s,color .12s}.chip.on{background:var(--red);color:#fff}.preview{background:#FFF6F7;border:1px solid #f6dde1;border-radius:13px;padding:13px;margin-top:16px}.preview .pl{font-size:12px;color:var(--gray-1)}.preview .pr{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px}.preview .pr span{font-size:12px;color:var(--gray-1)}.preview .pr strong{font-size:21px;font-weight:800;color:var(--red);letter-spacing:-.02em}.btn{display:block;width:100%;padding:16px;border-radius:13px;background:var(--red);color:#fff;font-size:16px;font-weight:800;text-align:center}.btn:active{background:var(--red-dark)}.btn.dark{background:var(--ink)}.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line)}.btn:disabled{background:var(--gray-2)}.bottom-action{position:-webkit-sticky;position:sticky;bottom:0;max-width:var(--maxw);margin:0 auto;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 70%,transparent)}.total{background:var(--ink);border-radius:18px;padding:18px;margin-bottom:11px;color:#fff;position:relative;overflow:hidden}.total:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red)}.total .th{font-size:12px;color:#A9A9A9;margin-bottom:14px}.total .th,.total .tl{display:flex;justify-content:space-between}.total .tl{font-size:14px;margin-bottom:8px}.total .tl span:first-child{color:#A9A9A9}.total .tl span:last-child{color:#E8E8E8;font-weight:500}.total .div{height:1px;background:rgba(255,255,255,.13);margin:12px 0}.total .net{display:flex;justify-content:space-between;align-items:baseline}.total .net span{font-size:15px;font-weight:700}.total .net strong{font-size:25px;font-weight:800;letter-spacing:-.02em}.log{background:var(--surface);border-radius:16px;padding:15px;margin-bottom:9px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.log .lh{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:11px}.log .ld{font-size:15px;font-weight:800}.log .ld em{color:var(--gray-1);font-style:normal;font-weight:500}.log .lt{font-size:11px;color:var(--gray-1);margin-top:3px}.log .del{font-size:11px;color:var(--gray-2);padding:4px 8px}.log .grid{display:grid;grid-template-columns:1fr auto;grid-gap:5px 0;gap:5px 0;font-size:12px}.log .grid .k{color:var(--gray-1)}.log .grid .v{text-align:right;color:var(--ink-2)}.log .grid .kk{color:var(--ink);font-weight:700;padding-top:6px}.log .grid .vv{text-align:right;color:var(--red);font-weight:800;padding-top:6px}.note{font-size:11px;color:var(--gray-2);text-align:center;margin-top:16px;line-height:1.6}.mode-wrap{flex:1 1;display:flex;flex-direction:column;justify-content:center;padding:0 22px 60px;min-height:80dvh}.mode-wrap .ml{text-align:center;margin-bottom:36px}.mode-wrap .ml .lg{margin-bottom:22px}.mode-wrap .ml h2{font-size:22px;font-weight:800;letter-spacing:-.02em}.mode-wrap .ml p{font-size:13px;color:var(--gray-1);margin-top:8px}.mode-btn{gap:14px;padding:20px;border-radius:18px;margin-bottom:12px;width:100%;text-align:left}.mode-btn,.mode-btn .ic{display:flex;align-items:center}.mode-btn .ic{width:46px;height:46px;border-radius:13px;justify-content:center;font-size:22px;flex-shrink:0}.mode-btn .mt{font-size:17px;font-weight:800}.mode-btn .md{font-size:12px;margin-top:3px;white-space:nowrap}.mode-btn.admin,.mode-btn.worker{background:var(--ink);color:#fff}.mode-btn .ic{background:var(--red)}.mode-btn .md{color:#A9A9A9}.mode-btn .arr{margin-left:auto;color:#6E6E6E;font-size:18px}.name-grid{display:flex;flex-direction:column;gap:10px;margin-top:8px}.name-btn{gap:12px;background:var(--surface);border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04);width:100%;text-align:left}.name-btn,.name-btn .av{display:flex;align-items:center}.name-btn .av{width:40px;height:40px;border-radius:12px;background:var(--field);justify-content:center;font-weight:800;font-size:15px;color:var(--ink-2)}.name-btn .nm{font-size:16px;font-weight:800}.name-btn .sub{font-size:12px;color:var(--gray-1);margin-top:2px}.name-btn .arr{margin-left:auto;color:var(--gray-2);font-size:18px}.wk-month{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 14px}.wk-month .m{font-size:18px;font-weight:800}.wk-month .nav{display:flex;gap:8px;align-items:center}.wk-month .nav button{font-size:18px;color:var(--gray-1);padding:4px 10px;border-radius:8px}.wk-month .nav button:active{background:var(--field)}.sum2{display:flex;gap:9px;margin-bottom:14px}.sum2 .b{flex:1 1;background:var(--surface);border-radius:14px;padding:13px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.sum2 .b .bl{font-size:11px;color:var(--gray-1)}.sum2 .b .bv{font-size:17px;font-weight:800;margin-top:4px}.sum2 .b .bv.red{color:var(--red)}.wkrow{background:var(--surface);border-radius:15px;padding:14px 15px;margin-bottom:8px;box-shadow:0 1px 2px rgba(0,0,0,.04);width:100%;text-align:left}.wkrow,.wkrow .av{display:flex;align-items:center}.wkrow .av{width:38px;height:38px;border-radius:11px;background:var(--field);justify-content:center;font-weight:800;font-size:14px;color:var(--ink-2);margin-right:12px}.wkrow .nm{font-size:15px;font-weight:800}.wkrow .ds{font-size:11px;color:var(--gray-1);margin-top:2px}.wkrow .rt{margin-left:auto;text-align:right}.wkrow .rt .amt{font-size:15px;font-weight:800}.pill{display:inline-block;font-size:10px;font-weight:800;padding:3px 7px;border-radius:5px;margin-top:4px}.pill.done{background:#E5F4EC;color:var(--green)}.pill.wait{background:#FFE3E8;color:var(--red)}.led-head{background:var(--ink);border-radius:16px;padding:16px;color:#fff;margin-bottom:12px;position:relative;overflow:hidden}.led-head:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red)}.led-head .nm{font-size:16px;font-weight:800}.led-head .meta{font-size:11px;color:#A9A9A9;margin-top:3px}.led-head .amt{font-size:23px;font-weight:800;margin-top:10px}.led-head .pg{font-size:11px;color:#A9A9A9;margin-top:3px}.dled{background:var(--surface);border-radius:14px;padding:13px 14px;margin-bottom:8px;display:flex;align-items:center;box-shadow:0 1px 2px rgba(0,0,0,.04)}.dled .info{flex:1 1}.dled .dd{font-size:14px;font-weight:800}.dled .dd em{color:var(--gray-1);font-style:normal;font-weight:500}.dled .dt{font-size:11px;color:var(--gray-1);margin-top:3px}.dled .da{font-size:14px;font-weight:800;margin-top:5px}.chk{flex-direction:column;gap:5px;margin-left:10px;width:62px}.chk,.chk .box{display:flex;align-items:center}.chk .box{width:32px;height:32px;border-radius:9px;justify-content:center;font-size:16px;font-weight:800}.chk .box.on{background:var(--red);color:#fff}.chk .box.off{border:2px solid var(--line);color:transparent}.chk .cl{font-size:10px;font-weight:800}.chk .cl.on{color:var(--red)}.chk .cl.off{color:var(--gray-2)}.center-msg{padding:48px 24px;text-align:center;color:var(--gray-1);font-size:14px;line-height:1.6}.spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--red);border-radius:50%;margin:40px auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:13px;font-weight:600;padding:12px 18px;z-index:100;max-width:90%;box-shadow:0 8px 24px rgba(0,0,0,.25)}.seg,.toast{border-radius:12px}.seg{display:flex;background:var(--field);padding:4px;margin-bottom:16px}.seg button{flex:1 1;padding:10px 0;border-radius:9px;font-size:13px;font-weight:700;color:var(--gray-1)}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.07)}.sec-title{font-size:14px;font-weight:800;margin:20px 2px 10px;letter-spacing:-.02em}.sec-title em{color:var(--red);font-style:normal}.subtotal{background:var(--surface);border-radius:16px;padding:16px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 2px rgba(0,0,0,.04)}.subtotal .l{font-size:13px;color:var(--gray-1);font-weight:600}.subtotal .l small{display:block;color:var(--gray-2);font-size:11px;font-weight:500;margin-top:2px}.subtotal .r{font-size:20px;font-weight:800;color:var(--ink)}.exp{background:var(--surface);border-radius:14px;padding:13px 14px;margin-bottom:8px;display:flex;align-items:center;box-shadow:0 1px 2px rgba(0,0,0,.04)}.exp .info{flex:1 1;min-width:0}.exp .em{font-size:14px;font-weight:800}.exp .em .pill{margin-left:6px;vertical-align:middle}.exp .ed{font-size:11px;color:var(--gray-1);margin-top:3px}.exp .ea{font-size:15px;font-weight:800;margin-left:10px;white-space:nowrap}.exp .del{font-size:11px;color:var(--gray-2);padding:4px 8px;margin-left:6px}.app-footer{margin-top:auto;padding:22px 16px calc(20px + env(safe-area-inset-bottom));text-align:center;font-size:10.5px;line-height:1.7;color:var(--gray-2);letter-spacing:.01em}.setup{padding:40px 24px}.setup h3{font-size:18px;font-weight:800;margin-bottom:12px}.setup p{font-size:13px;color:var(--ink-2);line-height:1.7;margin-bottom:10px}.setup code{background:var(--field);padding:2px 6px;border-radius:5px;font-size:12px}