:root { --cream:#f4efe3; --paper:#fffdf8; --olive:#526044; --olive-dark:#35412f; --sage:#8e9977; --brown:#6f4930; --ink:#29291f; --muted:#777568; --line:#ddd5c5; --wheat:#c6a45d; }
* { box-sizing:border-box; }
html { background:var(--cream); }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Inter, ui-sans-serif, system-ui, sans-serif; }
button,input { font:inherit; }
button { cursor:pointer; }
.topbar { height:86px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; background:rgba(255,253,248,.92); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:12px; border:0; background:transparent; color:var(--olive-dark); text-align:left; }
.brand-mark { width:45px; height:45px; display:grid; place-items:center; border:1.5px solid var(--olive); border-radius:50% 48% 54% 46%; font-family:Georgia,serif; font-weight:bold; letter-spacing:-2px; }
.brand strong { display:block; font:700 23px/1 Georgia,serif; }
.brand small { display:block; margin-top:5px; font-size:9px; letter-spacing:2.4px; text-transform:uppercase; color:var(--muted); }
.switcher { padding:4px; display:flex; background:#e8e2d5; border-radius:999px; }
.switcher button { border:0; background:transparent; color:#69695f; padding:9px 19px; border-radius:999px; font-weight:650; font-size:13px; }
.switcher button.active { background:var(--paper); color:var(--olive-dark); box-shadow:0 2px 9px #4d46321c; }
.customer-shell { min-height:calc(100vh - 86px); display:grid; grid-template-columns:minmax(320px, .85fr) minmax(480px, 1.15fr); gap:7vw; align-items:center; padding:64px 8vw 74px; position:relative; overflow:hidden; background:radial-gradient(circle at 10% 15%,#fbf8f0 0 12%,transparent 35%),linear-gradient(120deg,#eee8d9 0 49.7%,#f8f5ed 49.7% 100%); }
.hero-copy { max-width:560px; position:relative; z-index:1; }
.eyebrow,.step { color:var(--olive); letter-spacing:2.1px; text-transform:uppercase; font-weight:750; font-size:11px; }
.hero-copy h1,.admin-heading h1 { font:400 clamp(50px,6vw,86px)/.98 Georgia,serif; letter-spacing:-3.6px; margin:22px 0 25px; color:var(--olive-dark); }
.hero-copy h1 em { color:var(--brown); font-weight:400; }
.intro { font:17px/1.7 Georgia,serif; color:#5f5c50; max-width:500px; }
.bake-badge { display:inline-flex; gap:14px; align-items:center; margin-top:32px; padding:14px 22px 14px 14px; background:#e5e2d3; border-radius:16px; border:1px solid #d8d1be; }
.calendar { width:46px; height:46px; display:grid; place-items:center; background:var(--olive); color:#fff; border-radius:10px; font:700 18px Georgia,serif; }
.bake-badge small,.bake-badge strong { display:block; }
.bake-badge small { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.bake-badge strong { font:600 15px Georgia,serif; text-transform:capitalize; }
.cloud-status { margin-top:18px; color:var(--olive); font-size:11px; font-weight:700; letter-spacing:.4px; }
.cloud-status.demo { color:#9a7049; }
.order-card { background:rgba(255,253,248,.95); border:1px solid #e3dccd; border-radius:26px; box-shadow:0 22px 60px #51472e1b; padding:clamp(28px,4vw,52px); position:relative; z-index:2; max-width:720px; width:100%; justify-self:end; }
.register-form { max-width:470px; margin:auto; }
.register-form h2,.order-flow h2,.panel h2 { font:500 31px/1.15 Georgia,serif; color:var(--olive-dark); margin:10px 0 8px; }
.register-form > p,.bake-panel > p,.panel-title p { color:var(--muted); margin:0 0 28px; font-size:14px; }
label { display:block; color:#4d4b42; font-size:12px; font-weight:700; margin:18px 0; }
input { width:100%; margin-top:8px; padding:15px 16px; border:1px solid var(--line); background:#faf8f1; border-radius:10px; outline:none; color:var(--ink); }
input:focus { border-color:var(--olive); box-shadow:0 0 0 3px #52604420; }
.primary,.secondary { width:100%; border:0; border-radius:11px; padding:16px 20px; font-weight:750; }
.primary { background:var(--olive); color:#fff; display:flex; justify-content:space-between; align-items:center; box-shadow:0 8px 18px #52604430; }
.primary:hover { background:var(--olive-dark); }
.privacy { display:block; text-align:center; margin-top:18px; color:#8c897c; }
.card-heading,.panel-title { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.text-button { border:0; background:transparent; color:var(--olive); text-decoration:underline; font-size:12px; }
.bread-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:22px 0 25px; }
.bread-option { border:1px solid var(--line); border-radius:14px; padding:14px; background:#fbf9f3; display:grid; grid-template-columns:42px 1fr 16px; gap:11px; align-items:center; color:var(--ink); text-align:left; }
.bread-option.selected { border-color:var(--olive); background:#f0f1e8; box-shadow:inset 0 0 0 1px var(--olive); }
.bread-icon,.mini-mark { display:grid; place-items:center; width:40px; height:40px; border-radius:50% 45% 52% 48%; background:#e5d8bd; color:var(--brown); font:bold 17px Georgia,serif; }
.bread-option strong,.bread-option small { display:block; }
.bread-option strong { font-size:13px; }
.bread-option small { font-size:10px; color:var(--muted); margin-top:4px; }
.radio { width:14px; height:14px; border:1px solid #aaa697; border-radius:50%; }
.selected .radio { border:4px solid var(--olive); }
.controls-row { display:grid; grid-template-columns:1.5fr 1fr; gap:24px; }
fieldset { border:0; padding:0; margin:0; }
legend { font-size:11px; font-weight:750; letter-spacing:1px; text-transform:uppercase; margin-bottom:9px; }
.size-control,.quantity-control { display:flex; border:1px solid var(--line); border-radius:10px; overflow:hidden; height:48px; }
.size-control button { flex:1; border:0; border-right:1px solid var(--line); background:#faf8f1; color:#5f5d53; }
.size-control button:last-child { border:0; }
.size-control button.selected { color:#fff; background:var(--olive); }
.size-control small { margin-left:2px; font-size:9px; }
.quantity-control { align-items:center; justify-content:space-between; background:#faf8f1; }
.quantity-control button { width:40px; height:100%; border:0; background:transparent; font-size:22px; color:var(--olive); }
.order-submit { margin-top:25px; }
.order-submit strong { font-size:11px; font-weight:500; opacity:.8; }
.price-total { display:flex; justify-content:space-between; align-items:center; margin-top:22px; padding:14px 16px; background:#f0f1e8; border:1px solid #d7dbc9; border-radius:10px; color:var(--olive-dark); }
.price-total span { font-size:12px; font-weight:700; }
.price-total strong { font:600 22px Georgia,serif; }
.wheat-decor { position:absolute; font:180px/1 Georgia,serif; color:#b59b6340; left:-30px; bottom:-65px; transform:rotate(-20deg); letter-spacing:-55px; }
.admin-shell { padding:55px 6vw 80px; min-height:calc(100vh - 86px); background:#f2ede2; }
.admin-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:35px; }
.admin-heading h1 { font-size:45px; letter-spacing:-2px; margin:8px 0; }
.admin-heading p { color:var(--muted); margin:0; }
.notify { width:auto; gap:35px; }
.logout { align-self:flex-start; padding:8px 0; }
.login-panel { max-width:520px; margin:60px auto 120px; padding:42px; }
.login-panel h2 { margin-top:12px; }
.login-panel > p { color:var(--muted); line-height:1.6; margin-bottom:24px; }
.login-panel > small { display:block; margin-top:16px; color:var(--muted); text-align:center; }
.stats { display:grid; grid-template-columns:repeat(3,1fr); border-radius:18px; overflow:hidden; background:var(--paper); border:1px solid var(--line); margin-bottom:22px; }
.stats > div { padding:24px 30px; border-right:1px solid var(--line); position:relative; }
.stats > div:last-child { border:0; }
.stats small,.stats span { display:block; }
.stats small { color:var(--muted); font-size:10px; letter-spacing:1.5px; }
.stats strong { display:inline-block; font:500 40px Georgia,serif; color:var(--olive-dark); margin:7px 12px 0 0; text-transform:capitalize; }
.stats span { display:inline-block; color:var(--muted); font-size:12px; }
.admin-grid { display:grid; grid-template-columns:1.45fr .75fr; gap:22px; align-items:start; }
.panel { background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:27px; overflow:hidden; }
.panel h2 { font-size:24px; margin-top:0; }
.panel-title > span { border-radius:999px; background:#e9eadf; color:var(--olive); padding:7px 12px; font-size:11px; font-weight:bold; }
.summary-table { min-width:600px; }
.table-head,.table-row { display:grid; grid-template-columns:2fr repeat(3,.55fr) .55fr; align-items:center; gap:12px; padding:13px 5px; border-bottom:1px solid #ece7dc; font-size:12px; }
.table-head { color:var(--muted); text-transform:uppercase; letter-spacing:.8px; font-size:9px; }
.table-row > span:not(:first-child),.table-row > strong,.table-head > span:not(:first-child) { text-align:center; }
.table-row > span:first-child { display:flex; align-items:center; gap:10px; font-weight:650; }
.mini-mark { display:inline-grid; width:28px; height:28px; font-size:12px; flex:0 0 auto; }
.bake-panel input { margin-bottom:12px; }
.secondary { color:var(--olive-dark); background:#e6e8dc; border:1px solid #ccd1bf; }
.secondary:hover { background:#dce0cf; }
.order-list > div { display:grid; grid-template-columns:38px 1fr 1.3fr auto; gap:12px; padding:13px 0; border-bottom:1px solid #ece7dc; align-items:center; }
.avatar { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:var(--olive); color:#fff; font-size:10px; font-weight:bold; }
.order-list strong,.order-list small,.customer-list strong,.customer-list small { display:block; font-size:11px; }
.order-list small,.customer-list small { color:var(--muted); margin-top:3px; }
.order-summary { text-align:right; }
.delete-order-button { border:1px solid #c9ad9d; border-radius:9px; padding:8px 10px; background:#fbf2ed; color:#7b3f2d; font-size:10px; font-weight:750; }
.delete-order-button:hover { background:#f3dfd5; border-color:#a87863; }
.customer-list { display:grid; grid-template-columns:1fr 1fr; gap:6px 16px; }
.customer-list > div { display:flex; gap:10px; align-items:center; padding:9px 0; }
.avatar.light { color:var(--olive); background:#e8eadf; }
.empty-state { color:var(--muted); font-size:13px; padding:18px 0; }
.members-panel { grid-column:1/-1; }
.members-title { align-items:center; }
.members-toolbar label { max-width:420px; margin:10px 0 18px; }
.members-toolbar input { margin-top:7px; }
.member-list { display:grid; gap:9px; }
.member-card { border:1px solid #e5dfd3; border-radius:13px; background:#fbfaf5; overflow:hidden; }
.member-card[hidden] { display:none; }
.member-card summary { display:grid; grid-template-columns:38px minmax(190px,1fr) 85px 85px 24px; gap:12px; align-items:center; padding:14px 16px; cursor:pointer; list-style:none; }
.member-card summary::-webkit-details-marker { display:none; }
.member-identity strong,.member-identity small,.member-stats strong,.member-stats small { display:block; }
.member-identity strong { color:var(--olive-dark); font-size:12px; }
.member-identity small,.member-stats small { margin-top:3px; color:var(--muted); font-size:10px; }
.member-stats { text-align:center; }
.member-stats strong { color:var(--olive-dark); font:600 18px Georgia,serif; }
.member-open { color:var(--olive); font-size:20px; transition:transform .2s ease; }
.member-card[open] .member-open { transform:rotate(180deg); }
.member-details { padding:16px 16px 18px 66px; border-top:1px solid #e8e2d6; background:#f7f4ec; }
.member-meta { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
.member-meta > span { padding:10px 12px; border-radius:9px; background:#fffdf8; border:1px solid #e8e1d4; }
.member-meta small,.member-meta strong { display:block; }
.member-meta small { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.6px; }
.member-meta strong { margin-top:4px; color:var(--olive-dark); font-size:11px; }
.member-orders > div { display:grid; grid-template-columns:minmax(170px,.75fr) 1.25fr; gap:14px; padding:10px 2px; border-bottom:1px solid #e5ded1; }
.member-orders strong,.member-orders small { display:block; font-size:10px; }
.member-orders small { margin-top:3px; color:var(--muted); }
.member-orders > div > span:last-child { text-align:right; }
.price-panel { grid-column:1/-1; }
.price-table { margin:10px 0 20px; overflow-x:auto; }
.price-head,.price-row { display:grid; grid-template-columns:minmax(210px,1.5fr) repeat(3,minmax(120px,1fr)); gap:12px; align-items:center; min-width:650px; padding:10px 4px; border-bottom:1px solid #ece7dc; }
.price-head { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; }
.price-head span:not(:first-child) { text-align:center; }
.price-row > strong { font-size:12px; color:var(--olive-dark); }
.price-row label { margin:0; position:relative; }
.price-row label > span { display:none; }
.price-row input { margin:0; padding:11px 30px 11px 10px; text-align:right; }
.price-row label small { position:absolute; right:9px; top:13px; color:var(--muted); font-size:9px; }
.price-panel .secondary { max-width:260px; }
.product-adder { margin-top:28px; padding-top:26px; border-top:1px solid var(--line); }
.product-adder h3 { margin:0 0 7px; color:var(--olive-dark); font:500 21px Georgia,serif; }
.product-adder > p { margin:0 0 19px; color:var(--muted); font-size:13px; }
.product-fields,.product-price-fields { display:grid; gap:12px; }
.product-fields { grid-template-columns:1fr 1.4fr; }
.product-price-fields { grid-template-columns:repeat(3,1fr); }
.product-adder label { margin:0 0 12px; }
.product-adder input { margin-top:7px; }
.add-product-button { margin-top:4px; }
footer { min-height:80px; background:var(--olive-dark); color:#ede9dc; display:flex; align-items:center; justify-content:space-between; padding:0 6vw; }
footer span { font:600 20px Georgia,serif; }
footer small { letter-spacing:1.5px; text-transform:uppercase; font-size:9px; opacity:.72; }
.toast { position:fixed; right:25px; bottom:25px; z-index:50; background:var(--olive-dark); color:#fff; padding:15px 20px; border-radius:11px; box-shadow:0 10px 35px #0003; font-size:13px; }
@media (max-width:900px) { .customer-shell { grid-template-columns:1fr; background:linear-gradient(150deg,#eee8d9,#f8f5ed); padding:45px 5vw; gap:40px; }.order-card { justify-self:stretch; }.hero-copy h1 { font-size:58px; }.admin-grid { grid-template-columns:1fr; }.admin-heading { align-items:flex-start; }.summary-panel { overflow-x:auto; } }
@media (max-width:620px) { .topbar { height:72px; padding:0 16px; }.brand small { display:none; }.brand strong { font-size:19px; }.brand-mark { width:38px; height:38px; }.switcher button { padding:8px 12px; }.customer-shell { padding:35px 16px 50px; }.hero-copy h1 { font-size:47px; letter-spacing:-2.5px; }.order-card { border-radius:19px; padding:25px 18px; }.bread-grid { grid-template-columns:1fr; }.controls-row { grid-template-columns:1fr; }.card-heading { display:block; }.text-button { padding:0; }.admin-shell { padding:35px 15px 60px; }.admin-heading { display:block; }.notify { margin-top:20px; width:100%; }.stats { grid-template-columns:1fr 1fr; }.stats > div { padding:18px; }.stats > div:nth-child(2) { border-right:0; }.stats .next-bake { grid-column:1/-1; border-top:1px solid var(--line); }.admin-grid { gap:14px; }.panel { padding:20px 17px; }.customer-list { grid-template-columns:1fr; }.product-fields,.product-price-fields { grid-template-columns:1fr; } footer { padding:22px 18px; gap:8px; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
/* Több sütési nap, kosár és kapacitás */
.order-card { max-width:840px; }
.bake-badge em { display:block; margin-top:4px; color:var(--olive); font-size:11px; font-style:normal; font-weight:700; }
.bake-badge.muted { padding:18px 22px; }
.bake-day-field { margin:22px 0 10px; }
.bake-day-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.bake-day-option { min-width:0; border:1px solid var(--line); border-radius:13px; background:#faf8f1; color:var(--ink); padding:10px; display:flex; align-items:center; gap:10px; text-align:left; }
.bake-day-option.selected { border-color:var(--olive); background:#eef0e6; box-shadow:inset 0 0 0 1px var(--olive); }
.bake-day-option.sold-out { opacity:.55; cursor:not-allowed; }
.bake-day-option .day-number { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border-radius:9px; background:#e5d8bd; color:var(--brown); font:bold 15px Georgia,serif; }
.bake-day-option.selected .day-number { background:var(--olive); color:#fff; }
.bake-day-option strong,.bake-day-option small { display:block; }
.bake-day-option strong { font-size:11px; text-transform:capitalize; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bake-day-option small { margin-top:3px; color:var(--muted); font-size:9px; }
.no-bake-days { margin:24px 0; padding:18px; border:1px solid #d8d1be; border-radius:13px; background:#f1ecdf; }
.no-bake-days strong,.no-bake-days span { display:block; }
.no-bake-days span { margin-top:6px; color:var(--muted); font-size:12px; }
.add-to-cart { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; }
.add-to-cart strong { font-size:11px; font-weight:600; }
.secondary:disabled { opacity:.48; cursor:not-allowed; }
.cart { margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:15px; margin-bottom:8px; }
.section-heading h3 { margin:5px 0 0; font:500 22px Georgia,serif; color:var(--olive-dark); }
.section-heading > strong { font:600 21px Georgia,serif; color:var(--olive-dark); }
.cart-empty { margin-top:24px; padding:14px 16px; border:1px dashed #cfc7b6; border-radius:11px; color:var(--muted); font-size:12px; text-align:center; }
.cart-list { margin-top:8px; }
.cart-item { display:grid; grid-template-columns:32px 1fr 30px; gap:10px; align-items:center; padding:11px 0; border-bottom:1px solid #ece7dc; }
.cart-item .mini-mark { width:30px; height:30px; }
.cart-item strong,.cart-item small { display:block; }
.cart-item strong { font-size:11px; }
.cart-item small { margin-top:3px; color:var(--muted); font-size:10px; text-transform:capitalize; }
.cart-item button { width:28px; height:28px; border:0; border-radius:50%; background:#eee9de; color:var(--brown); font-size:18px; }
.checkout { margin-top:16px; }
.checkout strong { font-size:12px; }
.order-history { margin-top:24px; border-top:1px solid var(--line); padding-top:18px; }
.order-history summary { cursor:pointer; color:var(--olive-dark); font-size:12px; font-weight:750; list-style:none; display:flex; justify-content:space-between; }
.order-history summary::-webkit-details-marker { display:none; }
.order-history summary span { min-width:24px; padding:3px 7px; border-radius:999px; background:#e7e9df; text-align:center; }
.history-list article { margin-top:12px; padding:13px 14px; border-radius:11px; background:#f7f4ec; border:1px solid #e8e1d3; }
.history-list article.cancelled { background:#f8ece6; border-color:#dfbca9; }
.history-list article.cancelled em { display:inline-block; margin-left:6px; padding:3px 6px; border-radius:999px; background:#8a4d35; color:#fff; font:700 8px Inter,sans-serif; text-transform:uppercase; }
.history-list article > div { display:flex; justify-content:space-between; gap:12px; }
.history-list strong { font:600 13px Georgia,serif; text-transform:capitalize; }
.history-list small { color:var(--muted); font-size:9px; }
.history-list ul { margin:8px 0 0; padding-left:18px; color:#5f5d53; font-size:11px; line-height:1.55; }
.admin-day-tabs { display:flex; gap:9px; margin:-10px 0 20px; padding:4px 0; overflow-x:auto; }
.admin-day-tabs button { flex:0 0 auto; min-width:150px; border:1px solid var(--line); border-radius:12px; padding:12px 15px; background:var(--paper); color:var(--ink); text-align:left; }
.admin-day-tabs button.active { border-color:var(--olive); background:var(--olive); color:#fff; }
.admin-day-tabs button.cancelled { border-color:#caa996; background:#f4e5dc; color:#7b3f2d; }
.admin-day-tabs button.active.cancelled { background:#8a4d35; color:#fff; }
.admin-day-tabs strong,.admin-day-tabs small { display:block; text-transform:capitalize; }
.admin-day-tabs strong { font-size:12px; }
.admin-day-tabs small { margin-top:4px; font-size:10px; opacity:.72; }
.capacity-list > div { display:grid; grid-template-columns:1fr; gap:10px; padding:14px 0; border-bottom:1px solid #ece7dc; }
.capacity-list > div.cancelled { margin:0 -10px; padding:14px 10px; border-radius:10px; background:#faf0eb; }
.capacity-list span strong,.capacity-list span small { display:block; }
.capacity-list span strong { font:600 13px Georgia,serif; text-transform:capitalize; }
.capacity-list span small { margin-top:4px; color:var(--muted); font-size:10px; }
.capacity-list label { margin:0; }
.capacity-list input { margin:5px 0 0; padding:10px; }
.bake-day-edit-fields { display:grid; grid-template-columns:1.25fr .75fr; gap:9px; }
.bake-day-actions { display:flex; flex-wrap:wrap; gap:7px; }
.bake-day-actions .compact { flex:1 1 105px; width:auto; }
.secondary.compact { padding:11px 10px; }
.secondary.warning { color:#78452f; background:#f2e0d5; border-color:#d7b7a5; }
.secondary.danger { color:#fff; background:#8a4d35; border-color:#8a4d35; }
.add-bake-day { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.add-bake-day h3 { margin:0 0 5px; font:500 20px Georgia,serif; color:var(--olive-dark); }
.add-bake-day > div { display:grid; grid-template-columns:1.4fr .8fr; gap:10px; }
.add-bake-day label { margin:10px 0; }
@media (max-width:620px) {
  .bake-day-grid { grid-template-columns:1fr; }
  .history-list article > div { display:block; }
  .history-list small { display:block; margin-top:4px; }
  .bake-day-edit-fields { grid-template-columns:1fr 1fr; }
  .add-bake-day > div { grid-template-columns:1fr; }
  .order-list > div { grid-template-columns:36px 1fr auto; }
  .order-summary { grid-column:2; text-align:left; }
  .delete-order-button { grid-column:3; grid-row:1/3; }
  .member-card summary { grid-template-columns:36px 1fr 24px; }
  .member-stats { display:none; }
  .member-details { padding:14px; }
  .member-meta { grid-template-columns:1fr; }
  .member-orders > div { grid-template-columns:1fr; }
  .member-orders > div > span:last-child { text-align:left; }
}
