:root{font-family:Inter,"Noto Sans KR","Malgun Gothic",system-ui,sans-serif;color:#172b45;background:#f4f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}.topbar{height:72px;background:#152c4b;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));box-shadow:0 3px 14px #14294418}.brand,.top-actions{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-size:18px;letter-spacing:-.04em}.brand small{display:block;font-size:10px;letter-spacing:.16em;color:#a8bbd3;margin-top:2px}.logo{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#3e78e8;color:#fff;font-size:28px;font-weight:800;box-shadow:0 8px 20px #3872e64d}.logo.small{width:38px;height:38px;border-radius:11px;font-size:22px;box-shadow:none}.live-status{font-size:12px;color:#b9d5ff;display:flex;align-items:center;gap:7px}.live-status:before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:#f2b463}.live-status.on:before{background:#52d68b}.text-button{border:0;background:none;color:#d8e3f1;font-size:12px;padding:8px}main{max-width:1240px;margin:auto;padding:36px 24px 72px}.page-intro,.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.page-intro h1{margin:4px 0 7px;font-size:29px;letter-spacing:-.055em}.page-intro p:last-child,.section-head p:last-child{color:#73839a;margin:0;font-size:14px}.eyebrow{font-size:11px!important;letter-spacing:.15em;color:#4579ce!important;font-weight:800;margin:0!important}.primary,.secondary{border:0;border-radius:10px;padding:12px 17px;font-weight:700;white-space:nowrap}.primary{background:#3676e9;color:white;box-shadow:0 5px 12px #3976df29}.primary:hover{background:#2866d8}.secondary{background:#eaf1fa;color:#2e5d9e}.secondary:hover{background:#dceafa}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0 25px}.stat{background:#fff;border:1px solid #e3eaf2;border-radius:14px;padding:18px 21px;box-shadow:0 4px 16px #17365b05}.stat span{display:block;font-size:12px;color:#78899e}.stat strong{display:block;font-size:28px;margin-top:7px;letter-spacing:-.04em}.stat small{font-size:12px;font-weight:500;color:#94a2b1;margin-left:4px}.tabs{display:flex;gap:5px;border-bottom:1px solid #dce5ef;margin-bottom:18px;overflow:auto}.tabs button{border:0;background:none;color:#75859a;padding:12px 19px;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent}.tabs button.active{color:#2e6ddd;border-bottom-color:#3777e8}.panel{background:white;border:1px solid #e2eaf2;border-radius:15px;padding:25px;box-shadow:0 6px 24px #17365b08}.section-head{margin-bottom:21px;align-items:center}.section-head h2,.dialog-head h2{font-size:21px;margin:5px 0 0;letter-spacing:-.05em}.hint{color:#8999ad;font-size:12px}.map-scroll{overflow:auto;background:#eef3f8;border-radius:12px;padding:12px}.floor-map{position:relative;min-width:760px;width:100%;aspect-ratio:1.9;background:#f8fafc;border:1px solid #b5c5d6;border-radius:5px;overflow:hidden;background-image:linear-gradient(90deg,#dce5ed75 1px,transparent 1px),linear-gradient(#dce5ed75 1px,transparent 1px);background-size:5% 5%}.floor-map:after{content:"중앙 통로 / IN · OUT";position:absolute;left:35%;top:35%;width:50%;height:3%;text-align:center;color:#9daec1;font-size:11px;letter-spacing:.08em;pointer-events:none}.zone{position:absolute;border:1px solid #8a9aae88;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#233449;overflow:hidden;padding:4px}.zone:hover,.zone.selected{outline:3px solid #3676e9;outline-offset:-3px;z-index:2}.zone strong{font-size:clamp(11px,1.1vw,16px);white-space:nowrap}.zone small{font-size:11px;color:#51667e;margin-top:3px}.editing .zone{touch-action:none;cursor:move}.resize-handle{position:absolute;right:1px;bottom:1px;width:15px;height:15px;background:#3975dc;border:2px solid white;border-radius:4px;cursor:nwse-resize;touch-action:none}.zone-detail{margin-top:18px}.detail-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.detail-heading h3{margin:0;font-size:17px}.detail-heading span{font-size:12px;color:#75869b}.empty{padding:22px;background:#f8fafc;border-radius:10px;color:#8796a7;text-align:center}.pallet-list,.inventory-list,.history-list{display:grid;gap:10px}.pallet-card,.history-row{border:1px solid #e5ecf3;border-radius:11px;padding:14px 16px;background:#fff}.pallet-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.pallet-title{font-weight:800;font-size:15px}.pallet-meta{font-size:12px;color:#72849b;margin-top:5px;line-height:1.6}.pallet-right{text-align:right;white-space:nowrap}.pallet-right strong{font-size:20px;display:block}.pallet-right strong small{font-size:11px;color:#8d9cb0;font-weight:500}.card-actions{display:flex;gap:5px;margin-top:7px;justify-content:flex-end}.card-actions button{border:1px solid #d5e2f4;background:#f5f9ff;color:#3569bd;border-radius:7px;padding:5px 9px;font-size:11px;font-weight:700}.filters{display:flex;gap:10px;margin-bottom:17px}.filters input{flex:1}.filters select{min-width:145px}input,select{border:1px solid #d7e1eb;background:#fff;border-radius:9px;padding:11px 12px;min-width:0;color:#1c3049;outline:0}input:focus,select:focus{border-color:#4380ea;box-shadow:0 0 0 3px #4480ec22}.history-row{display:flex;justify-content:space-between;gap:16px}.history-row strong{font-size:13px}.history-row p{margin:4px 0 0;color:#73859b;font-size:12px}.history-row time{font-size:11px;color:#9aa9b9;white-space:nowrap}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:16px}.edit-form{border:1px solid #e4ebf3;border-radius:11px;padding:17px;display:grid;gap:12px;align-content:start}.edit-form label,.dialog-form label,.login-card label{font-size:12px;color:#61738b;font-weight:700;display:grid;gap:6px}.edit-form input,.dialog-form input,.dialog-form select,.login-card input{width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.edit-form .row{display:flex;gap:7px}.edit-form .row button{flex:1}.edit-form .danger{color:#cb4343;background:#fff0f0}.edit-form h3{margin:0;font-size:15px}.edit-form small{color:#8997a6}.dialog-form{width:min(520px,calc(100vw - 32px));display:grid;gap:14px}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:4px}.icon-button{border:0;background:#edf3f9;border-radius:8px;width:32px;height:32px;font-size:23px;color:#536a82}dialog{border:0;border-radius:16px;box-shadow:0 25px 80px #0c25445c;padding:25px;max-height:90vh;overflow:auto}dialog::backdrop{background:#0c203d90}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.action-summary{background:#f4f8fd;padding:12px;border-radius:8px;font-size:13px;margin:0;color:#526b88}.login-cover{position:fixed;inset:0;z-index:10;background:#eef3f9;display:grid;place-items:center;padding:20px}.login-card{background:#fff;border:1px solid #e4ebf2;border-radius:18px;box-shadow:0 18px 60px #1c3c6720;padding:34px;width:min(410px,100%);display:grid;gap:17px}.login-card h1{margin:0;font-size:26px}.login-card p:not(.eyebrow):not(.error){color:#75879c;font-size:13px;line-height:1.6;margin:0}.login-card .primary{width:100%}.error{color:#d44949;font-size:12px;min-height:1em;margin:0}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);background:#18314e;color:#fff;padding:12px 18px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s;z-index:20;font-size:13px;box-shadow:0 10px 26px #17365648}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:800px){.topbar{height:60px;padding:0 16px}.brand strong{font-size:15px}.brand small{font-size:8px}.top-actions{gap:4px}.live-status{font-size:0}.live-status:before{width:9px;height:9px}.text-button{font-size:11px}main{padding:23px 14px 55px}.page-intro h1{font-size:23px}.page-intro p:last-child{font-size:12px}.page-intro .primary{font-size:12px;padding:10px 12px}.stats{grid-template-columns:repeat(2,1fr);gap:8px;margin:20px 0}.stat{padding:13px}.stat strong{font-size:23px}.tabs button{padding:11px 13px;font-size:13px}.panel{padding:16px}.section-head h2{font-size:18px}.hint{display:none}.editor-layout{grid-template-columns:1fr}.filters{flex-direction:column}.filters select{width:100%}.history-row{flex-direction:column;gap:5px}.pallet-card{align-items:flex-start}.pallet-title{font-size:13px}.pallet-meta{font-size:11px}.pallet-right strong{font-size:17px}}@media(max-width:430px){.page-intro{align-items:center}.page-intro .eyebrow{font-size:9px!important}.page-intro h1{font-size:20px}.page-intro p:last-child{max-width:190px}.card-actions{flex-direction:column}}
.role-label{font-size:12px;font-weight:700;color:#e5efff;background:#ffffff20;border-radius:999px;padding:6px 9px}@media(max-width:430px){.role-label{font-size:10px;padding:5px 7px}}

/* 현장 운영 화면 */
:root{font-family:"Malgun Gothic",system-ui,sans-serif;color:#262b28;background:#f2f0ea}
.topbar{height:66px;background:#252b29;padding:0 max(24px,calc((100vw - 1320px)/2));box-shadow:none;border-bottom:3px solid #d47948}
.brand strong{font-size:16px;letter-spacing:-.02em}.brand small{font-size:10px;letter-spacing:.05em;color:#a6b2a6}
.logo,.logo.small{background:#d47948;border-radius:4px;box-shadow:none;color:#272b28;font-size:27px}.logo.small{font-size:22px}
.role-label{background:#38413b;color:#e1e5dd;border-radius:3px}.live-status{color:#c4d2c3}.text-button{color:#d4d9d0}
main{max-width:1320px;padding:30px 24px 70px}.page-intro{align-items:center}.page-intro h1{font-size:27px;margin:2px 0 6px}.page-intro p:last-child,.section-head p:last-child{color:#757b71}.eyebrow{color:#9a5b38!important;letter-spacing:.08em;font-size:11px!important}
.primary,.secondary{border-radius:4px;box-shadow:none;padding:11px 15px;font-size:13px}.primary{background:#cf7446;color:#fff}.primary:hover{background:#ad5931}.secondary{background:#e8e5dc;color:#303b35;border:1px solid #c8c8be}.secondary:hover{background:#dcd9cf}
.stats{display:flex;gap:0;margin:25px 0 20px;background:#e6e6dc;border:1px solid #d1d4ca}.stat{flex:1;min-width:0;background:transparent;border:0;border-radius:0;box-shadow:none;padding:12px 17px;border-right:1px solid #cdd2c8}.stat:last-child{border:0}.stat span{color:#626d64;font-size:11px}.stat strong{font-size:21px;margin-top:2px}.stat small{color:#6d786d}
.tabs{margin-bottom:0;border-bottom:2px solid #333c35;gap:0}.tabs button{border:0;border-right:1px solid #d5d5ca;background:#e7e6dd;color:#596159;border-radius:0;padding:12px 17px;font-size:13px}.tabs button.active{background:#303b34;color:#fff}.panel{background:#fbfaf6;border:1px solid #d5d6cb;border-top:0;border-radius:0;padding:22px;box-shadow:none}.section-head{margin-bottom:17px}.section-head h2{font-size:20px;margin:3px 0 0}.hint{color:#777e74}
.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:stretch}.map-scroll{background:#e5e7dd;border:1px solid #d3d6cb;border-radius:0;padding:10px}.floor-map{min-width:760px;background-color:#f9f9f4;border:2px solid #66776e;border-radius:0;background-image:linear-gradient(90deg,#82918629 1px,transparent 1px),linear-gradient(#82918629 1px,transparent 1px);background-size:5% 5%}.floor-map:after{color:#7e8b7b;font-weight:700}
.zone{border:1px solid #4d5d5688;color:#26352c;box-shadow:inset 0 0 0 1px #ffffff70}.zone:hover,.zone.selected{outline:3px solid #b8562d;outline-offset:-3px;z-index:3}.zone strong{font-weight:800}.zone small{color:#4c6154;font-weight:700}.resize-handle{background:#b8562d;border-radius:0}
.zone-detail{margin:0;border:1px solid #cdd1c5;background:#fff;min-height:420px;padding:16px;max-height:560px;overflow:auto}.inspector-empty{display:grid;place-content:center;height:100%;text-align:center;color:#747e74;padding:28px}.inspector-empty span{font-size:42px;color:#ba7755}.inspector-empty h3{margin:8px 0}.inspector-empty p{font-size:13px;line-height:1.6}.detail-heading{display:block;border-bottom:2px solid #303b34;padding-bottom:15px}.detail-heading h3{font-size:22px;margin:4px 0}.detail-heading span{color:#67736a}.zone-code{font:700 12px ui-monospace,monospace;color:#a25936!important;letter-spacing:.08em}.detail-heading .primary{margin-top:13px;width:100%}
.pallet-list,.inventory-list,.history-list,.item-list{display:grid;gap:0}.pallet-card,.history-row,.item-row{border:0;border-bottom:1px solid #d9ddd3;border-radius:0;background:#fff;padding:14px 4px}.pallet-card{align-items:flex-start}.pallet-title{font-family:ui-monospace,"Malgun Gothic",monospace;font-size:13px}.pallet-meta{color:#647167}.pallet-right strong{font-size:18px}.card-actions button,.nudge button,.qty-buttons button{border:1px solid #bac3b8;background:#f0f2ec;color:#35453a;border-radius:3px;padding:7px 9px;font-size:12px;font-weight:700}.card-actions button:hover,.nudge button:hover,.qty-buttons button:hover{background:#e0e9dc}.empty{background:#f0f1eb;border-radius:0;color:#6c776d;font-size:13px}
input,select{border:1px solid #b9c4ba;border-radius:3px;color:#29352c;background:#fff}input:focus,select:focus{border-color:#b7623a;box-shadow:0 0 0 2px #c7744933;outline:none}.filters{margin-bottom:10px}
.edit-form{border:1px solid #cbd1c6;border-radius:0;background:#fff}.edit-form label,.dialog-form label,.login-card label{color:#4f5e52}.edit-form small{color:#6e796e}.nudge{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.nudge button{font-size:18px;padding:8px}
.item-row{display:flex;justify-content:space-between;align-items:center;gap:14px}.item-row>div:first-child{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.item-row strong{font-size:15px}.item-row span{font-size:13px}.item-row small{color:#748074}.item-list{margin-top:10px}.item-row .card-actions{margin:0}#item-search{width:100%}
.quick-items{display:grid;grid-template-columns:1fr 1fr;gap:5px;max-height:180px;overflow:auto}.quick-items button{border:1px solid #c8d0c5;background:#f4f5f0;border-radius:3px;text-align:left;padding:8px;font-size:12px;color:#344438}.quick-items button.active{border-color:#b46038;background:#f5e3d6}.quick-items .empty{grid-column:1/-1;margin:0}.qty-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.form-help{font-size:12px;color:#667267;margin:0}
dialog{border:1px solid #869288;border-radius:5px;box-shadow:0 25px 70px #20292455;padding:24px}dialog::backdrop{background:#17251da8}.icon-button{background:#e9ece4;border-radius:3px}.action-summary{background:#f0f2eb;color:#3f4b40;border-radius:0}.dialog-form{gap:13px}.toast{background:#26372d;border-radius:3px;box-shadow:none}
.login-cover{background:#e7e9df}.login-card{border:1px solid #aeb8aa;border-top:5px solid #cb7446;border-radius:0;box-shadow:10px 10px 0 #ced4c8}.login-card p:not(.eyebrow):not(.error){color:#677268}
@media(max-width:1050px){.map-layout{grid-template-columns:1fr}.zone-detail{min-height:180px;max-height:none}}
@media(max-width:800px){.topbar{height:60px;padding:0 14px}main{padding:18px 12px 50px}.page-intro h1{font-size:22px}.stats{display:grid;grid-template-columns:repeat(2,1fr);margin:18px 0}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid #cdd2c8}.tabs button{padding:10px 12px}.panel{padding:14px}.floor-map{min-width:700px}.item-row{align-items:flex-start;flex-direction:column}.item-row .card-actions{width:100%;justify-content:flex-start}}
@media(max-width:430px){.page-intro{align-items:flex-start}.page-intro p:last-child{max-width:210px}.page-intro .primary{font-size:11px;padding:10px}.stat strong{font-size:19px}.detail-heading .primary{font-size:13px}.pallet-card{flex-direction:column}.pallet-right{display:flex;width:100%;align-items:center;justify-content:space-between}.card-actions{flex-direction:row}.quick-items{grid-template-columns:1fr}}
