:root {
  --bg: #f4f7f4; --surface: #fff; --surface-soft: #eef6f1; --brand: #245d4c; --brand-dark: #173f34;
  --accent: #b56b24; --text: #1b2d27; --muted: #60706a; --line: #d4e0da; --success: #26764e;
  --warning: #98630d; --danger: #b13c35; --info: #2d6682; --shadow: 0 12px 32px rgba(23,63,52,.09);
  --radius-xl: 24px; --radius-lg: 18px; --radius-md: 12px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:radial-gradient(circle at top right,rgba(36,93,76,.11),transparent 32rem),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}a{color:var(--brand-dark)}button{cursor:pointer}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:1000;background:#fff;padding:.75rem 1rem}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.site-header__inner{max-width:1180px;margin:auto;padding:.8rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{text-decoration:none;font-weight:800;font-size:1.05rem}.header-nav{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.header-nav a,.header-nav button{min-height:44px;border:0;background:transparent;border-radius:10px;padding:.55rem .75rem;text-decoration:none;color:var(--brand-dark);font-weight:700}.header-nav a:hover,.header-nav button:hover{background:var(--surface-soft)}.main{max-width:1180px;margin:auto;padding:1.4rem 1rem 4rem}.hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);gap:1.4rem;align-items:center;background:linear-gradient(135deg,#fff,#e9f4ee);border:1px solid var(--line);border-radius:var(--radius-xl);padding:clamp(1.4rem,4vw,3rem);box-shadow:var(--shadow)}.hero h1,.main h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.2;margin:.2rem 0 1rem}.hero__badge{min-height:190px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;text-align:center;padding:1.5rem}.hero__badge strong{display:block;font-size:1.5rem}.eyebrow{margin:0;color:var(--brand);font-size:.85rem;font-weight:800;letter-spacing:.08em}.lead{font-size:1.08rem;color:var(--muted);max-width:55rem}.section{margin-top:1.6rem}.panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.2rem;box-shadow:0 5px 18px rgba(23,63,52,.04)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.85rem}.section-heading h2{margin:.2rem 0 0;font-size:clamp(1.35rem,3vw,2rem)}.section-heading>p{color:var(--muted);margin:0}.card-grid,.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.stack{display:grid;gap:.8rem}.card h3{margin:.15rem 0 .5rem}.price{font-size:1.45rem;font-weight:800;color:var(--brand)}.menu-card{padding:0;overflow:hidden}.menu-card>div:last-child{padding:1.1rem}.menu-card__image,.menu-card__placeholder{width:100%;height:170px;object-fit:cover;background:linear-gradient(135deg,#dfeee6,#f8eee0);display:grid;place-items:center;font-weight:800;color:var(--brand)}.notice,.message{border-radius:var(--radius-md);padding:.9rem 1rem;margin:1rem 0}.notice{background:#fff7e8;border:1px solid #efd8ac}.message--info{background:#e9f3f7;border:1px solid #bdd5df}.message--success{background:#e7f5ec;border:1px solid #b8dbc7}.message--warning{background:#fff5db;border:1px solid #ebd19a}.message--error{background:#fdecea;border:1px solid #e8b5b1;color:#7b2520}.button-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.button{min-height:46px;border:0;border-radius:12px;background:var(--brand);color:#fff;padding:.7rem 1.05rem;text-decoration:none;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.button:hover{background:var(--brand-dark)}.button:disabled{opacity:.55;cursor:not-allowed}.button--secondary{background:#edf4f0;color:var(--brand-dark);border:1px solid var(--line)}.button--danger{background:var(--danger)}.button--small{min-height:40px;padding:.45rem .75rem;font-size:.92rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field{display:grid;gap:.35rem}.field--full{grid-column:1/-1}.field label{font-weight:800}.required{font-size:.75rem;color:var(--danger);margin-left:.35rem}input,select,textarea{width:100%;min-height:46px;border:1px solid #b8c8c0;border-radius:10px;background:#fff;color:var(--text);padding:.65rem .75rem;font-size:16px}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(36,93,76,.18);border-color:var(--brand)}.field-hint{font-size:.88rem;color:var(--muted);margin:.1rem 0}.meta-list{display:grid;grid-template-columns:minmax(7rem,.35fr) minmax(0,1fr);gap:.4rem .8rem;margin:.7rem 0}.meta-list dt{font-weight:800;color:var(--muted)}.meta-list dd{margin:0;overflow-wrap:anywhere}.summary-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:0}.summary-list>div,.stat{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:1rem}.summary-list dt,.stat__label{font-size:.85rem;color:var(--muted);font-weight:800}.summary-list dd,.stat__value{margin:.25rem 0 0;font-size:1.35rem;font-weight:800}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin-top:1.2rem}.tab{min-height:48px;border:1px solid var(--line);background:#fff;border-radius:12px;font-weight:800}.tab[aria-selected="true"]{background:var(--brand);color:#fff}.order-card__top,.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.order-card__date{font-size:1.05rem;font-weight:800;margin:.15rem 0}.status,.tag{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:.2rem .6rem;font-size:.82rem;font-weight:800;white-space:nowrap}.status{background:#edf2ef}.status--confirmed,.status--approved,.status--delivered{background:#e5f4eb;color:#1c6b43}.status--pending,.status--requested{background:#fff1d3;color:#85570b}.status--rejected,.status--cancelled,.status--void{background:#fde9e7;color:#8d2c27}.status--out-for-delivery,.status--preparing,.status--ready{background:#e5f1f7;color:#235f7c}.tag-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.tag{background:#eef4f1;color:var(--brand-dark)}.alert-box{background:#fff0ee;border-left:5px solid var(--danger);padding:.75rem .9rem;border-radius:10px;margin-top:.6rem}.muted{color:var(--muted)}.empty,.loading{text-align:center;color:var(--muted);padding:1rem}.toolbar{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap}.toolbar .field{min-width:190px;flex:1}.split{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:1rem}.recipient-card{cursor:pointer}.recipient-card:hover{border-color:var(--brand)}.recipient-card.is-selected{outline:3px solid rgba(36,93,76,.22);border-color:var(--brand)}.site-footer{border-top:1px solid var(--line);background:#fff}.site-footer__inner{max-width:1180px;margin:auto;padding:1.2rem 1rem;color:var(--muted)}.version{font-size:.8rem}.action-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}.handoff-note{background:#eaf4ef;border:1px solid #bcd8ca;border-radius:12px;padding:.9rem}.danger-text{color:var(--danger);font-weight:800}
@media(max-width:900px){.hero,.split{grid-template-columns:1fr}.hero__badge{border-radius:18px;min-height:120px}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.site-header__inner{align-items:flex-start;flex-direction:column}.main{padding:.9rem .75rem 3rem}.hero{padding:1.2rem}.hero h1,.main h1{font-size:2rem}.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}.tabs{grid-template-columns:repeat(2,1fr)}.section-heading,.order-card__top,.card-top{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}.meta-list{grid-template-columns:1fr}.meta-list dd{margin-bottom:.45rem}.button-row .button{width:100%}.header-nav{width:100%}.header-nav a,.header-nav button{flex:1;text-align:center}.toolbar{align-items:stretch}.toolbar .button{width:100%}}
