:root{color:#25221f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#25221f;--muted:#77716a;--line:#e7e2db;--paper:#fbfaf8;--white:#fff;--red:#e74735;--red-dark:#cd3426;--red-soft:#fff0ed;--cream:#f4efe8;--green:#47725e;background:#eae8e4;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Noto Sans KR,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button,select{cursor:pointer}#root{min-height:100vh}@media (width<=520px){:root{background:var(--paper)}}.app-shell{background:var(--paper);width:min(100%,520px);min-height:100vh;margin:0 auto;box-shadow:0 0 40px #514b4320}.page{background:var(--paper);min-height:100vh}.page.with-nav{padding-bottom:82px}.page-content{padding:24px 20px 36px}.loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.topbar{background:var(--paper);border-bottom:1px solid var(--line);z-index:10;grid-template-columns:44px 1fr 44px;align-items:center;height:68px;padding:0 14px;display:grid;position:sticky;top:0}.topbar h1{text-align:center;letter-spacing:-.4px;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:19px;overflow:hidden}.brand-mark{background:var(--red);color:#fff;border-radius:50% 50% 50% 12px;place-items:center;width:34px;height:34px;font:700 15px DM Sans;display:grid;transform:rotate(-5deg)}.icon-button{background:0 0;border:0;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.icon-button:hover{background:var(--cream)}.header-action{justify-content:flex-end;display:flex}.text-button{color:var(--red);white-space:nowrap;background:0 0;border:0;font-size:13px;font-weight:700}.section-title{justify-content:space-between;align-items:flex-end;margin:5px 0 18px;display:flex}.section-title h2,.calc-heading h2,.settings-group h2{letter-spacing:-.7px;margin:3px 0 0;font-size:23px}.eyebrow{color:var(--red);letter-spacing:1.6px;font:700 10px DM Sans}.count-badge{background:var(--cream);min-width:42px;height:30px;color:var(--muted);border-radius:16px;place-items:center;padding:0 11px;font:700 12px DM Sans;display:grid}.basket-list{gap:10px;display:grid}.basket-card{text-align:left;background:var(--white);border:1px solid var(--line);border-radius:16px;width:100%;padding:17px 38px 16px 17px;position:relative;box-shadow:0 3px 10px #5c4e3c08}.basket-card:hover{border-color:#d5ccc2;transform:translateY(-1px)}.basket-card-main{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.basket-card h3{letter-spacing:-.2px;margin:0;font-size:16px}.basket-card-main span{color:#aaa39b;white-space:nowrap;font-size:10px}.basket-card p{color:var(--muted);margin:7px 0 0;font-size:13px}.chevron{color:#b6afa7;font-size:24px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.add-basket{margin-top:18px}.limit-note{text-align:center;color:var(--muted);margin:22px 0;font-size:13px;line-height:1.7}.empty-state,.empty-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:380px;display:flex}.empty-state.small{min-height:320px}.empty-icon{background:var(--red-soft);width:64px;height:64px;color:var(--red);border-radius:22px;place-items:center;margin-bottom:17px;display:grid;transform:rotate(-3deg)}.empty-icon .icon{width:29px;height:29px;transform:rotate(3deg)}.empty-state h3,.empty-section h2{margin:0;font-size:17px}.empty-state p,.empty-section p{max-width:285px;color:var(--muted);margin:9px 0 22px;font-size:13px;line-height:1.65}.bottom-nav{z-index:20;width:min(100%,520px);height:calc(72px + env(safe-area-inset-bottom));padding:7px 10px env(safe-area-inset-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffefdf2;grid-template-columns:1fr 1fr;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#aaa39a;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex}.bottom-nav .icon{width:22px;height:22px}.bottom-nav button.active{color:var(--red)}.primary-button,.outline-button,.danger-button,.ghost-button{border-radius:13px;width:100%;min-height:50px;font-weight:700}.primary-button{background:var(--red);color:#fff;border:0;box-shadow:0 7px 16px #e7473525}.primary-button:hover{background:var(--red-dark)}.primary-button:disabled{box-shadow:none;cursor:default;background:#d8d3cc}.primary-button.compact{width:auto;min-height:43px;padding:0 22px}.outline-button{background:#fff;border:1px solid #ddd6ce;justify-content:center;align-items:center;gap:7px;display:flex}.outline-button .icon{width:18px}.outline-button.full{margin-top:10px}.ghost-button{color:var(--muted);background:0 0;border:0;margin-top:5px}.danger-button{color:#d43b2c;background:#fff8f6;border:1px solid #f0ccc6;margin-top:10px}.danger-link{color:#c45a50;background:0 0;border:0;padding:7px;font-size:12px}.small-button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700}.small-button.filled{border-color:var(--red);background:var(--red);color:#fff}.form-page{gap:20px;display:grid}.field{color:#4f4a44;gap:8px;font-size:13px;font-weight:600;display:grid}.field input,.field select,.field textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #ddd7cf;border-radius:12px;outline:0}.field input,.field select,select{height:50px;padding:0 14px}.field textarea{resize:vertical;padding:13px;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}fieldset{border:1px solid var(--line);background:#fff;border-radius:16px;margin:0;padding:17px}legend{padding:0 5px;font-size:13px;font-weight:700}.check-row{align-items:flex-start;gap:11px;padding:8px 0;display:flex}.check-row input,.bonus-toggle input{width:19px;height:19px;accent-color:var(--red);margin:1px 0 0}.check-row span{gap:4px;font-size:13px;display:grid}.check-row small{color:var(--muted);font-size:11px;line-height:1.5}.inline-field{color:var(--muted);align-items:center;gap:8px;margin:5px 0 12px 30px;font-size:12px;display:flex}.inline-field input{border:1px solid var(--line);border-radius:10px;width:140px;height:42px;padding:0 10px}.indented{margin:5px 0 10px 30px}.sticky-submit{margin-top:8px}.section-tabs{border-bottom:1px solid var(--line);background:var(--paper);scrollbar-width:none;gap:5px;padding:10px 14px 0;display:flex;overflow-x:auto}.section-tabs button{color:#948d85;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:11px 9px 12px;font-size:12px;font-weight:700}.section-tabs button.active{color:var(--red);border-color:var(--red)}.calc-heading{justify-content:space-between;align-items:flex-end;margin:4px 0 18px;display:flex}.editing-badge{color:#8c6420;background:#fff1d7;border-radius:10px;padding:7px 10px;font-size:11px;font-weight:700}.product-counter-list{border-top:1px solid var(--line)}.counter-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:76px;display:flex}.counter-row h3,.manage-row h3{margin:0;font-size:14px}.counter-row p,.manage-row p{color:var(--muted);margin:5px 0 0;font-size:11px}.stepper{text-align:center;background:#fff;border:1px solid #ded8d0;border-radius:12px;flex:none;grid-template-columns:36px 34px 36px;align-items:center;display:grid;overflow:hidden}.stepper button{height:38px;color:var(--red);background:#fff;border:0;font-size:20px}.stepper strong{font:700 14px DM Sans}.summary-card{color:#fff;background:#292624;border-radius:20px;margin-top:20px;padding:20px;box-shadow:0 12px 28px #382f2930}.total-line{justify-content:space-between;align-items:baseline;padding-bottom:16px;display:flex}.total-line span{color:#c6c0ba;font-size:13px}.total-line strong{font:700 25px DM Sans}.event-summary{border-top:1px dashed #5c5752;padding:14px 0}.event-summary div{color:#d7d1cb;justify-content:space-between;padding:3px 0;font-size:12px;display:flex}.event-summary .grand-entry{color:#fff;margin-top:7px;font-size:14px;font-weight:700}.event-summary .grand-entry strong{color:#ff796a;font-size:17px}.event-summary p{color:#a9a29c;text-align:right;margin:8px 0 0;font-size:10px}.event-summary .bonus-help{border-top:1px dashed #5c5752;margin-top:12px;padding-top:10px;display:block}.event-summary .bonus-help p{text-align:left;margin:3px 0;line-height:1.5}.summary-card .primary-button{margin-top:8px}.notice-strip{background:var(--cream);border-radius:15px;align-items:center;gap:7px;margin-bottom:24px;padding:13px;display:flex}.notice-strip div{flex:1;gap:3px;display:grid}.notice-strip strong{font-size:13px}.notice-strip span{color:var(--muted);font-size:10px}.action-pair{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:13px;display:grid}.inline-panel{border:1px solid var(--line);background:#fff;border-radius:15px;gap:12px;margin:0 0 16px;padding:16px;display:grid}.parse-note{color:var(--green);margin:-2px 0 0;font-size:11px}.product-manage-list{display:grid}.manage-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:76px;display:flex}.manage-actions{align-items:center;display:flex}.edit-link{color:var(--green);background:0 0;border:0;padding:7px;font-size:12px;font-weight:700}.bonus-toggle{color:#796b56;align-items:center;gap:4px;font-size:10px;display:flex}.bonus-toggle input{width:16px;height:16px}.product-edit-form{margin:8px 0}.compact-check{padding:0}.form-actions{justify-content:flex-end;gap:8px;display:flex}.form-actions .outline-button,.form-actions .primary-button{width:auto;min-width:88px;padding:0 18px}.receipt-page{background:#eee9e1}.receipt{background:#fff;margin:4px 0 20px;padding:27px 22px 20px;position:relative;box-shadow:0 8px 24px #5e51452b}.receipt:after{content:"";background:linear-gradient(135deg,#fff 6px,#0000 0) 0 0/12px 12px repeat-x,linear-gradient(45deg,#fff 6px,#0000 0) 0 0/12px 12px repeat-x;height:9px;position:absolute;bottom:-8px;left:0;right:0}.receipt-brand{text-align:center;color:var(--red);letter-spacing:5px;font:700 25px DM Sans}.receipt-date{text-align:center;color:#aaa39c;margin:5px 0 22px;font:500 9px DM Sans}.receipt-lines{border-top:1px dashed #cbc5be;border-bottom:1px dashed #cbc5be;padding:15px 0}.receipt-lines>div{justify-content:space-between;align-items:end;padding:7px 0;font-size:13px;display:flex}.receipt-lines span{gap:3px;display:grid}.receipt-lines small{color:var(--muted);font:500 10px DM Sans}.receipt-lines .deleted-product{color:#928b84}.receipt-lines .deleted-product span{font-style:italic}.receipt-total{justify-content:space-between;align-items:baseline;padding:17px 0 12px;display:flex}.receipt-total strong{font:700 23px DM Sans}.receipt-events{background:var(--cream);border-radius:10px;padding:10px 12px}.receipt-events div{justify-content:space-between;padding:3px 0;font-size:11px;display:flex}.receipt-events div:last-child{color:var(--red);padding-top:7px;font-size:13px;font-weight:700}.receipt-help{color:var(--muted);margin-top:12px;font-size:9px;line-height:1.55}.receipt-help p{margin:2px 0}.barcode{text-align:center;letter-spacing:1px;margin-top:19px;font:700 20px/1 DM Sans;overflow:hidden;transform:scaleY(1.7)}.settings-group{margin-bottom:30px}.settings-group h3{margin:0 0 8px;font-size:14px}.setting-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;min-height:66px;padding:11px 4px;display:flex}.setting-row span{gap:4px;display:grid}.setting-row strong{font-size:14px}.setting-row small{color:var(--muted);font-size:10px}.setting-row b{color:#b5aea6;font-size:22px}.danger-text strong{color:#d14334}.help-card{background:var(--cream);border-radius:14px;margin-top:13px;padding:17px}.help-card strong{font-size:13px}.help-card p{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.65}.app-info{text-align:center;color:#9c958e;gap:5px;padding:22px 0 35px;font-size:11px;display:grid}.modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c1815a8;justify-content:center;align-items:flex-end;padding:18px;display:flex;position:fixed;inset:0}.guide-modal{background:var(--paper);border-radius:24px 24px 18px 18px;width:min(100%,480px);max-height:calc(100vh - 36px);padding:12px 20px 22px;overflow-y:auto;box-shadow:0 18px 50px #0004}.guide-handle{background:#d6d0c8;border-radius:4px;width:38px;height:4px;margin:0 auto 17px}.guide-modal h2{margin:0;font-size:21px}.guide-intro{color:var(--muted);margin:9px 0 20px;font-size:13px;line-height:1.65}.guide-platform{border:1px solid var(--line);background:#fff;border-radius:14px;margin:10px 0;padding:15px 17px}.guide-platform h3{color:var(--red);margin:0 0 9px;font:700 12px DM Sans,sans-serif}.guide-platform ol{color:#57514b;margin:0;padding-left:20px;font-size:12px;line-height:1.9}.guide-modal .primary-button{margin-top:9px}.viewer{z-index:100;color:#fff;background:#141311f7;grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0}.viewer-bar{grid-template-columns:50px 1fr 50px;align-items:center;height:60px;padding:0 12px;font-size:11px;display:grid}.viewer-bar strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-bar button{color:#fff;background:0 0;border:0}.viewer-image{scroll-snap-type:x mandatory;align-items:center;display:flex;overflow:auto}.viewer-image img{object-fit:contain;touch-action:pinch-zoom;max-width:100%;max-height:calc(100vh - 60px);margin:auto}.viewer-prev,.viewer-next{color:#fff;background:#0008;border:0;border-radius:10px;width:42px;height:54px;font-size:35px;position:fixed;top:50%}.viewer-prev{left:8px}.viewer-next{right:8px}.toast{z-index:200;color:#fff;background:#292624ef;border-radius:12px;width:max-content;max-width:calc(100% - 40px);padding:11px 17px;font-size:12px;animation:.2s ease-out toast-in;position:fixed;bottom:92px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0003}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}@media (width>=521px){.app-shell{border-radius:24px;min-height:calc(100vh - 36px);margin-top:18px;margin-bottom:18px;overflow:hidden}.page{min-height:calc(100vh - 36px)}.topbar{top:18px}}
