@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=DM+Mono:wght@400;500&display=swap');
:root{--gd:#1a3a2a;--gm:#2d6a4f;--gl:#52b788;--gp:#d8f3dc;--cream:#faf7f2;--wg:#e8e4dc;--text:#1c1c1c;--tm:#4a4a4a;--tl:#888;--border:#ddd8cf;--red:#e76f51;--amber:#f4a261;--card:#fff;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Noto Sans KR',sans-serif;background:var(--cream);color:var(--text);min-height:100vh;}
header{background:var(--gd);color:white;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;}
.hd-logo{display:flex;align-items:center;gap:10px;}
.hd-mark{width:34px;height:34px;background:var(--gl);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:18px;}
.hd-name{font-size:15px;font-weight:700;}
.hd-sub{font-size:11px;color:#9fccb3;}
.hd-right{display:flex;align-items:center;gap:10px;}
.hd-user{font-size:12px;color:#9fccb3;}
.hd-logout{padding:6px 12px;border:1px solid #3d6b55;border-radius:7px;font-size:12px;cursor:pointer;background:transparent;color:#9fccb3;font-family:'Noto Sans KR',sans-serif;}
.notice{background:var(--gm);color:#c8ecd8;text-align:center;padding:9px;font-size:12px;}
.auth-wrap{max-width:420px;margin:50px auto;padding:0 20px;}
.auth-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:30px 26px;}
.auth-logo{text-align:center;margin-bottom:22px;}
.auth-logo .big{font-size:42px;display:block;margin-bottom:5px;}
.auth-logo .brand{font-size:18px;font-weight:700;}
.auth-logo .tag{font-size:12px;color:var(--tl);margin-top:2px;}
.auth-tabs{display:flex;border:1.5px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:22px;}
.auth-tab{flex:1;padding:10px;text-align:center;font-size:14px;font-weight:500;cursor:pointer;color:var(--tl);background:white;border:none;font-family:'Noto Sans KR',sans-serif;}
.auth-tab.on{background:var(--gm);color:white;}
.field-lbl{display:block;font-size:12px;font-weight:500;color:var(--tm);margin-bottom:5px;}
.field{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:11px 13px;font-size:15px;font-family:'Noto Sans KR',sans-serif;color:var(--text);background:white;outline:none;margin-bottom:12px;}
.field:focus{border-color:var(--gl);}
.sbtn{width:100%;padding:14px;background:var(--gm);color:white;border:none;border-radius:10px;font-size:16px;font-weight:700;font-family:'Noto Sans KR',sans-serif;cursor:pointer;margin-top:4px;}
.auth-note{font-size:12px;color:var(--tl);text-align:center;margin-top:14px;line-height:1.7;}
.err-msg{background:#fce8e3;color:#b04030;border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:12px;display:none;}
.ok-msg{background:var(--gp);color:var(--gm);border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:12px;display:none;}
.portal{max-width:600px;margin:0 auto;padding:22px 16px 80px;}
.ptabs{display:flex;background:white;border:1px solid var(--border);border-radius:12px;padding:4px;gap:4px;margin-bottom:18px;}
.ptab{flex:1;padding:9px 4px;text-align:center;font-size:13px;font-weight:500;cursor:pointer;color:var(--tl);border-radius:8px;transition:all .15s;}
.ptab.on{background:var(--gm);color:white;}
.sec-lbl{font-size:11px;font-weight:700;letter-spacing:1.2px;color:var(--gm);text-transform:uppercase;margin:16px 0 8px;}
.cat-block{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:14px;}
.cat-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.cat-name{font-size:16px;font-weight:700;}
.arrival-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:20px;font-size:12px;font-weight:500;white-space:nowrap;}
.arr-green{background:#e8f8ef;color:#1a7a4a;border:1px solid #a8e6c0;}
.arr-amber{background:#fef5e7;color:#a05a00;border:1px solid #f4d080;}
.arr-holiday{background:#f0f0f0;color:#888;border:1px solid #ddd;}
.rec-wd-btn{padding:6px 12px;border:1.5px solid var(--border);border-radius:20px;background:white;font-size:12px;cursor:pointer;font-family:'Noto Sans KR',sans-serif;color:var(--tm);transition:all .15s;font-weight:500;}
.rec-wd-btn.on{background:var(--gm);color:white;border-color:var(--gm);}
.cat-products{padding:8px 12px 12px;}
.prod-row{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:10px;transition:background .15s;}
.prod-row:hover{background:#faf8f5;}
.prod-row.active{background:var(--gp);}
.prod-row.disabled{opacity:.5;}
.prod-label{flex:1;}
.prod-name{font-size:14px;font-weight:500;}
.prod-detail{font-size:12px;color:var(--tl);margin-top:2px;}
.qty-wrap{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;background:white;}
.qbtn{width:32px;height:34px;border:none;background:white;cursor:pointer;font-size:17px;color:var(--gm);}
.qbtn:hover{background:var(--gp);}
.qbtn:disabled{color:#ccc;cursor:not-allowed;}
.qnum{width:38px;height:34px;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);text-align:center;font-size:14px;font-weight:500;font-family:'DM Mono',monospace;outline:none;}
.psub{font-family:'DM Mono',monospace;font-size:12px;color:var(--gm);font-weight:500;min-width:62px;text-align:right;}
.sum-box{background:var(--gd);color:white;border-radius:12px;padding:16px 18px;margin:8px 0 14px;}
.sum-row{display:flex;justify-content:space-between;font-size:13px;color:#9fccb3;margin-bottom:5px;}
.sum-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #2d5040;margin-top:10px;padding-top:11px;}
.sum-lbl{font-size:13px;font-weight:500;}
.sum-amt{font-family:'DM Mono',monospace;font-size:22px;color:var(--gl);font-weight:500;}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:12px;}
.card-title{font-size:14px;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:7px;}
.card-title::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--gl);flex-shrink:0;}
textarea.field{min-height:70px;resize:vertical;}
.order-btn{width:100%;padding:14px;background:var(--gm);color:white;border:none;border-radius:11px;font-size:16px;font-weight:700;font-family:'Noto Sans KR',sans-serif;cursor:pointer;}
.order-btn:disabled{background:#bbb;cursor:not-allowed;}
.success{display:none;text-align:center;padding:50px 20px;}
.s-icon{width:68px;height:68px;background:var(--gp);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 16px;}
.s-title{font-size:21px;font-weight:700;margin-bottom:6px;}
.s-num{font-family:'DM Mono',monospace;font-size:18px;color:var(--gm);background:var(--gp);padding:10px 20px;border-radius:10px;display:inline-block;margin:12px 0;}
.s-desc{font-size:13px;color:var(--tm);line-height:1.8;}
.back-btn{margin-top:20px;padding:11px 26px;background:white;border:1.5px solid var(--border);border-radius:10px;font-size:14px;font-family:'Noto Sans KR',sans-serif;cursor:pointer;color:var(--tm);}
.hist-row{padding:14px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;}
.hist-row:last-child{border-bottom:none;}
.h-date{font-family:'DM Mono',monospace;font-size:11px;color:var(--tl);margin-bottom:3px;}
.h-amt{font-family:'DM Mono',monospace;font-size:15px;font-weight:500;}
.badge{display:inline-block;padding:3px 9px;border-radius:10px;font-size:11px;font-weight:500;}
.b-new{background:#e8f4fd;color:#1a6fa8;}
.b-done{background:var(--gp);color:var(--gm);}
.info-box{background:#f0f9f4;border:1px solid #b7e4c7;border-radius:10px;padding:14px 16px;font-size:13px;color:var(--gm);line-height:1.8;}
.loading{text-align:center;padding:40px;color:var(--tl);font-size:14px;}
.pending-box{background:#fef9ec;border:1.5px solid #f4d57a;border-radius:12px;padding:16px 18px;text-align:center;}
.no-store-box{background:#f0f9f4;border:1.5px solid #b7e4c7;border-radius:12px;padding:24px;text-align:center;margin-bottom:16px;}
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:100;align-items:center;justify-content:center;}
.modal-bg.show{display:flex;}
.modal{background:white;border-radius:14px;padding:26px;width:360px;}
.modal h3{font-size:16px;font-weight:700;margin-bottom:16px;}
.modal-close-btn{width:100%;padding:11px;background:var(--gm);color:white;border:none;border-radius:9px;font-size:14px;font-weight:700;font-family:'Noto Sans KR',sans-serif;cursor:pointer;margin-top:8px;}
.modal-cancel{width:100%;padding:11px;background:white;border:1.5px solid var(--border);color:var(--tm);border-radius:9px;font-size:14px;font-family:'Noto Sans KR',sans-serif;cursor:pointer;margin-top:6px;}
.addr-dropdown{position:absolute;top:100%;left:0;right:0;background:white;border:1.5px solid var(--gl);border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.1);z-index:50;overflow:hidden;margin-top:2px;}
.addr-option{padding:11px 14px;cursor:pointer;font-size:14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;}
.addr-option:last-child{border-bottom:none;}
.addr-option:hover{background:var(--gp);}
.addr-option .addr-store{font-size:11px;color:var(--tl);margin-top:2px;}
