:root{--bg:#f7f7f2;--surface:#fff;--ink:#1d302a;--muted:#65736b;--green:#245b47;--green-dark:#174532;--line:#dfe5db;--cream:#e9ecdd;--danger:#a33737;--error-bg:#fff2ee;--success-bg:#eaf4ea;--radius:16px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic","Apple SD Gothic Neo",sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.6}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8bb69e;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:1.28;letter-spacing:-1.3px}h2{font-size:20px;letter-spacing:-.6px}h3{font-size:16px;line-height:1.5}input,textarea,select{width:100%;border:1px solid #cdd7cd;border-radius:8px;padding:10px 12px;background:white;color:var(--ink);min-width:0}textarea{resize:vertical}label{display:block;font-weight:650;font-size:13px;margin:15px 0 6px}input::placeholder,textarea::placeholder{color:#8b958e}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}[hidden]{display:none!important}.skip-link{position:absolute;top:-60px;left:20px;z-index:20;background:white;padding:10px}.skip-link:focus{top:10px}
.site-header{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:20px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:19px;font-weight:750;letter-spacing:-.5px}.brand small{display:block;letter-spacing:2.1px;font-size:9px;color:var(--muted);font-weight:500;margin-top:2px}.brand-mark{display:flex;align-items:center;justify-content:center;background:var(--green);color:white;width:48px;height:48px;border-radius:50%;font-family:Georgia,serif;font-size:21px;font-weight:400;letter-spacing:-1px}.brand-mark span{font-size:13px;padding:1px}.header-actions{display:flex;align-items:center;gap:14px}.connection{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.connection:before{content:"";width:7px;height:7px;border-radius:50%;background:#a4aaa6}.connection.online:before{background:#36905b}.connection.demo:before{background:#b6852f}.mode-banner{padding:10px 25px;background:#f3e8c8;color:#66511d;text-align:center;font-size:13px;border-block:1px solid #e8d9ae}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:30px;overflow-x:auto}.tabs button{background:none;border:0;white-space:nowrap;padding:15px 0;color:var(--muted);border-bottom:3px solid transparent;font-weight:650;font-size:14px}.tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green)}.hero{display:flex;justify-content:space-between;gap:35px;padding:35px 44px;background:var(--cream);border-radius:var(--radius);margin-bottom:36px}.hero>div:first-child{max-width:650px}.hero p:not(.eyebrow){color:#596b5c;font-size:14px;margin-top:14px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:var(--green);margin-bottom:10px}.hero-note{border-left:1px solid #cdd4bd;padding-left:36px;min-width:270px;align-self:center}.hero-clock{display:block;font-size:34px;font-weight:750;letter-spacing:-1px;line-height:1.25;margin-bottom:8px}.hero-clock span{font-weight:350}.hero-note strong{font-size:14px}.hero-note p{font-size:12px!important;margin-top:7px!important}.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.section-heading .eyebrow{margin-bottom:5px}.count{color:var(--muted);font-size:12px;letter-spacing:0;font-weight:450;margin-left:7px}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.menu-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.menu-illustration{position:relative;min-height:152px;display:flex;align-items:center;justify-content:center;background:#f0ecdf}.menu-card:nth-child(4n+2) .menu-illustration{background:#e7ece5}.menu-card:nth-child(4n+3) .menu-illustration{background:#eae5dd}.menu-card:nth-child(4n+4) .menu-illustration{background:#ece8ed}.menu-illustration img{display:block;width:126px;height:126px}.bean-label{position:absolute;left:14px;bottom:10px;color:#73806c;font-size:8px;letter-spacing:1.3px}.menu-card-body{padding:19px 20px;display:flex;flex-direction:column;flex:1}.menu-card-name{overflow-wrap:anywhere;margin-bottom:8px;min-height:48px}.menu-card-description{font-size:12px;color:var(--muted);margin-bottom:20px;flex:1}.menu-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.menu-card-price{font-size:18px;white-space:nowrap;letter-spacing:-.5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:25px}.checkout{position:sticky;top:20px;padding:24px}.checkout h2{font-size:18px}.checkout .section-heading{margin-bottom:18px}.muted{font-size:13px;color:var(--muted)}.hint{font-size:11px;color:var(--muted);line-height:1.7;margin-top:8px}.cart-items{padding:0;list-style:none;margin:0}.cart-item{padding:13px 0;border-bottom:1px solid var(--line)}.cart-item-title{display:flex;align-items:start;justify-content:space-between;gap:12px;font-size:12px;font-weight:650;overflow-wrap:anywhere}.cart-item-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.cart-item-bottom strong{font-size:13px}.quantity{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;overflow:hidden}.quantity button{width:28px;height:28px;background:#f9faf6;border:0;line-height:1}.quantity span{min-width:28px;text-align:center;font-size:12px}.price-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:18px;padding-top:17px;font-size:13px}.price-row strong{font-size:22px;letter-spacing:-.7px}.checkout-form{margin-top:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:8px;padding:10px 15px;font-size:13px;font-weight:650;white-space:nowrap;text-decoration:none}.button.primary{background:var(--green);color:white}.button.primary:hover:not(:disabled){background:var(--green-dark)}.button.outline{border-color:#c1cfc1;background:white;color:var(--green)}.button.subtle{background:#eef1e9;color:#425448}.button.danger{background:var(--danger);color:white}.button.small{padding:6px 10px;font-size:12px}.button.full{width:100%}.icon-button{border:0;background:none;font-size:23px;color:var(--muted);padding:0 4px;line-height:1.4}.text-button{background:none;border:0;color:var(--green);padding:5px 0;text-decoration:underline;text-underline-offset:3px;font-size:12px}.form-feedback{font-size:12px;color:var(--danger);margin:12px 0;white-space:pre-line;overflow-wrap:anywhere}.form-feedback:empty{margin:0}.checkout .button.full{margin-top:16px}.success-box{margin-top:18px;padding:14px;background:var(--success-bg);border:1px solid #c8dec7;border-radius:8px;font-size:12px}.success-box p{margin:6px 0}.uncertain-actions{padding-top:8px}.notice{padding:12px 15px;background:var(--success-bg);border-radius:8px;margin-bottom:20px;font-size:13px}.notice.error{background:var(--error-bg);color:var(--danger)}.empty-state{background:#f0f2eb;color:var(--muted);padding:26px;border:1px dashed #cfd7c9;border-radius:12px;font-size:13px}.empty-state.error{color:var(--danger);background:var(--error-bg)}.page-heading{margin:12px 0 30px}.page-heading h1{font-size:30px}.page-heading p:not(.eyebrow){color:var(--muted);font-size:14px;margin-top:10px}.search-form{display:flex;gap:14px;align-items:end;margin-bottom:15px}.search-form label{margin-top:0}.grow{flex:1;min-width:0}.order-results{display:grid;gap:12px}.order-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 25px;background:white;border:1px solid var(--line);border-radius:12px}.order-row h3{font-size:16px}.order-row p{font-size:12px;color:var(--muted);margin-top:4px}.order-row .amount{font-size:18px;margin-right:18px}.admin-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px}.admin-menu-row{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.admin-menu-row:last-child{border-bottom:0}.admin-menu-row h3{font-size:14px;overflow-wrap:anywhere}.admin-menu-row p{font-size:12px;color:var(--muted);margin-top:4px}.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.input-suffix{position:relative}.input-suffix input{padding-right:42px}.input-suffix span{position:absolute;right:14px;top:10px;color:var(--muted);font-size:13px}.delivery-section{margin-top:24px}.delivery-results{display:grid;gap:15px;margin-top:20px}.delivery-card{border:1px solid var(--line);padding:20px;border-radius:10px}.delivery-card h3{font-size:16px}.delivery-card p{font-size:12px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.delivery-card ul{font-size:13px;margin:12px 0;padding-left:18px}.delivery-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font-size:13px}.site-footer{margin-top:55px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0 35px;color:var(--muted);font-size:11px}.site-footer span:first-child{font-family:Georgia,serif;font-size:15px}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}dialog{border:1px solid var(--line);border-radius:16px;padding:28px;width:min(440px,calc(100% - 30px));color:var(--ink);background:white}dialog::backdrop{background:rgba(20,35,27,.4)}.wide-dialog{width:min(680px,calc(100% - 30px))}dialog h2{font-size:20px}dialog p{font-size:13px;margin:10px 0}dialog form label:first-child{margin-top:0}.detail-meta{display:grid;grid-template-columns:90px 1fr;gap:9px;font-size:13px;padding:16px 0}.detail-meta dt{color:var(--muted)}.detail-meta dd{margin:0;overflow-wrap:anywhere}.detail-item{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:13px}.detail-item span{overflow-wrap:anywhere}.detail-amount{font-size:22px;font-weight:750;text-align:right;margin-top:18px}
@media(min-width:1400px){.wrap{width:1180px}}@media(max-width:1050px){.wrap{width:calc(100% - 40px)}.shop-layout{grid-template-columns:minmax(0,1fr) 310px;gap:22px}.hero{padding:28px}.hero-note{padding-left:25px;min-width:230px}.menu-card-body{padding:15px}.admin-layout{grid-template-columns:300px minmax(0,1fr)}}@media(max-width:800px){h1{font-size:30px}.hero{gap:20px;padding:25px}.hero-note{min-width:190px}.hero-clock{font-size:28px}.shop-layout,.admin-layout{grid-template-columns:1fr}.checkout{position:static}.menu-grid{gap:15px}.menu-card-name{min-height:0}.hero>div:first-child{max-width:430px}.admin-menu-row{flex-wrap:wrap}.header-actions{gap:8px}.connection{font-size:11px}.header-actions .button{font-size:11px;padding:8px 10px}}@media(max-width:520px){.wrap{width:calc(100% - 28px)}.site-header{min-height:85px;gap:10px}.brand{font-size:15px;gap:8px}.brand-mark{width:38px;height:38px;font-size:18px}.brand small{font-size:7px;letter-spacing:1.5px}.connection{max-width:94px;font-size:10px}.hero{display:block;padding:24px}.hero-note{border-left:0;border-top:1px solid #cdd4bd;padding:15px 0 0;margin-top:22px}.hero-clock{display:inline-block;margin-right:12px;font-size:25px}.hero-note p{margin-top:0!important}.tabs{gap:22px;margin-bottom:22px}.tabs button{font-size:12px}.section-heading{align-items:start}.section-heading h2{font-size:18px}.menu-grid{grid-template-columns:1fr}.menu-card{display:grid;grid-template-columns:110px minmax(0,1fr)}.menu-illustration{min-height:165px}.menu-illustration img{width:95px;height:95px}.bean-label{left:9px;font-size:6px;letter-spacing:.6px}.menu-card-description{margin-bottom:12px}.menu-card-price{font-size:16px}.menu-card-name{font-size:14px}.card{padding:20px}.search-form{flex-wrap:wrap}.search-form .grow{flex-basis:100%}.order-row{flex-wrap:wrap;padding:18px}.site-footer{flex-direction:column;gap:8px}.page-heading h1{font-size:26px}.admin-menu-row .button-row{flex-shrink:0}.detail-meta{grid-template-columns:70px 1fr}}

.form-feedback.success{color:var(--green)}

.category-section{margin-bottom:24px}.category-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}#category-filter-form{margin-top:24px}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:18px 0}.stat-box{padding:15px;border:1px solid var(--line);border-radius:10px}.stat-box strong{display:block;font-size:22px}.stat-box span{font-size:12px;color:var(--muted)}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{text-align:left;padding:10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.data-table th{color:var(--muted)}.order-cancel{margin-top:15px}

/* 24 API: 검색·판매 여부·주문 메모 */
.catalog-search{display:flex;gap:8px;align-items:end;margin-bottom:10px;flex-wrap:wrap}.catalog-search label{margin-top:0}.catalog-search .grow{flex-basis:220px}
.check-label{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:500;margin:10px 0}.check-label input{width:16px;height:16px;accent-color:var(--green)}
.catalog-hint{margin-bottom:18px}.sale-badge{display:inline-block;font-size:10px;font-weight:700;border-radius:20px;padding:2px 8px;align-self:flex-start;margin-bottom:8px}
.sale-badge.on{background:var(--success-bg);color:var(--green)}.sale-badge.off{background:var(--error-bg);color:var(--danger)}
.memo-form{border-top:1px solid var(--line);padding-top:12px;margin-top:22px}.memo-form textarea{white-space:pre-wrap}.order-reorder{margin-top:8px}
#customer-statistics h3,#menu-statistics h3{margin:22px 0 10px}.admin-menu-row .button-row{max-width:240px}.admin-menu-row{flex-wrap:wrap}
@media(max-width:520px){.catalog-search .grow{flex-basis:100%}.catalog-search .button{flex:1}.memo-form .button{width:100%}}
