/* Vanda időpont-adminja. A mitallitunk.hu stílusa (Cormorant Garamond címek, Lora szöveg, szürke alap), a terrakotta helyett lilával. */
:root{
  --bg:#f3f2f2;--surface:#ffffff;--text:#201f1d;--n800:#444141;--n700:#605d5d;--n500:#9b9797;--n300:#d7d3d3;--line:#e2dfdf;
  --p:#7b54a3;        /* pill, kiemelés */
  --p-mid:#8a63b0;    /* szabad időpont kerete */
  --p-dark:#5b3a7a;   /* gombok, kiemelt szöveg */
  --p-deep:#3f2757;   /* foglalt */
  --p-tint:#efe7f6;   /* halvány lila háttér */
  --p-line:#c9b6dc;   /* halvány lila keret */
  --p-ro:#faf8fc;     /* nem szerkesztett mező háttere */
  --danger:#8a2f2f;
  --fh:"Cormorant Garamond",Georgia,serif;--fb:"Lora",Georgia,serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--fb);font-size:15px;line-height:1.5}
a{color:var(--p-dark)}a:hover{color:var(--p-deep)}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:default}
input::placeholder{color:#7a7676}
:focus-visible{outline:2px solid var(--p-dark);outline-offset:2px}
h1,h2,h3{font-family:var(--fh);font-weight:500;margin:0;letter-spacing:-.015em;line-height:1.1}
.loading{padding:48px 32px;color:var(--n700)}

/* fejléc */
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:14px 32px;border-bottom:1px solid var(--n300)}
.brand{display:flex;align-items:baseline;gap:12px}
.brand b{font-family:var(--fh);font-size:28px;font-weight:600;letter-spacing:-.015em}
.brand span{font-size:13px;color:var(--n700)}
.menu{display:flex;flex-wrap:wrap;gap:4px}
.menu a{padding:8px 14px;font-family:var(--fh);font-size:18px;font-weight:600;color:var(--n800);text-decoration:none;border-bottom:2px solid transparent}
.menu a[aria-current="page"]{color:var(--p-deep);border-bottom-color:var(--p-mid)}
.who{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--n700)}
.who .av{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--p-tint);color:var(--p-deep);font-weight:600;overflow:hidden}
.who .av img{width:100%;height:100%;object-fit:cover}
.link{padding:0;border:0;background:none;color:var(--p-dark);text-decoration:underline;min-height:28px}

main{max-width:1240px;margin:0 auto;padding:32px 32px 64px}
.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;margin-bottom:24px}
.head h1{font-size:48px;line-height:1.05}
.weeknav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.sq{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--p-mid);background:#fff;color:var(--p-deep)}
.weektitle{margin-left:8px;font-family:var(--fh);font-size:24px;font-weight:600}
.weekrange{font-size:13px;color:var(--n700)}
.status{display:inline-flex;align-items:center;gap:5px;margin-left:12px;padding:3px 10px;border-radius:999px;font-size:12px;background:var(--p-tint);color:var(--p-deep);transition:background .2s,color .2s}
.status.fresh{background:var(--p-dark);color:#fff}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--n800)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{width:16px;height:16px;display:inline-block}
.help{margin:20px 0 0;max-width:760px;font-size:13px;color:var(--n700)}

/* napok */
.tabs{display:none}
.days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.day{display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px;background:#fff;border:1px solid var(--line)}
.day.today{border-color:var(--p-mid)}
.day.past{opacity:.85}
.day-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.day-h h2{font-size:22px;font-weight:600}
.day-h span{font-size:13px;color:var(--n700)}
.badge{align-self:flex-start;padding:2px 8px;font-size:12px;background:var(--p-tint);color:var(--p-deep)}
.presets{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-top:1px solid var(--n300);border-bottom:1px solid var(--n300)}
.presets small{font-size:12px;color:var(--n700)}
.presets div{display:flex;flex-wrap:wrap;gap:6px}
.chip{padding:4px 10px;min-height:32px;border:1px solid var(--p-line);background:#fff;color:var(--p-deep);font-size:12px}
.slots{display:flex;flex-direction:column;gap:8px}
.add{display:flex;align-items:center;gap:8px;width:100%;min-height:56px;padding:9px 10px;border:1px dashed var(--n500);background:var(--bg);color:var(--n700);text-align:left;font-size:14px}
.add:hover{border-color:var(--p-mid);color:var(--p-deep)}
.gone{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border:1px solid var(--n300);background:var(--bg);color:var(--n700)}
.gone b{font-size:14px}
.gone span{font-size:13px}
.slot{display:flex;flex-direction:column;gap:8px;padding:9px 10px;border:1px solid var(--p-mid);background:#fff}
.slot.booked{border:2px solid var(--p-deep);background:var(--p-tint)}
.slot-h{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:28px}
.slot-h>span{display:inline-flex;align-items:center;gap:8px}
.slot-h b{font-size:14px}
.icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:-4px -4px -4px 0;border:0;background:none;color:var(--n700)}
.icon:hover{color:var(--danger)}
.lock{color:var(--p-deep);display:inline-flex}
.group{display:flex;flex-direction:column;gap:6px;min-height:300px;padding:16px 14px;background:var(--p-deep);color:#fff}
.group b{font-family:var(--fh);font-size:22px;font-weight:600;line-height:1.1}
.group span{font-size:13px;color:#e3d6ee}
.group a{margin-top:auto;color:#fff;font-size:13px}

/* pill, mint a mitallitunk.hu-n */
.pills{display:flex;flex-wrap:wrap;gap:4px}
.pill{flex:none;margin:0;padding:1px 5px 2px;border:1px solid var(--p);border-radius:999px;background:none;font-family:var(--fb);font-size:10px;line-height:1.2;white-space:nowrap;color:var(--p-dark);position:relative}
.pill::after{content:"";position:absolute;inset:-8px -3px} /* nagyobb érintési felület, a kinézet marad */
.pill:hover:not(:disabled){background-color:color-mix(in srgb,var(--p) 12%,transparent)}
.pill.on{color:#fff;background:var(--p)}
.pill.on:hover:not(:disabled){background:var(--p-dark);border-color:var(--p-dark)}
.pill:disabled{cursor:default}
.pill.tag{background:var(--p-deep);border-color:var(--p-deep);color:#fff}

/* ceruzás mező */
.fl{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--n700)}
.field{display:flex;align-items:center;gap:2px;padding-right:2px;border:1px solid #ddd2e8;background:var(--p-ro)}
.field.edit{border-color:var(--p-dark);background:#fff;box-shadow:0 0 0 1px var(--p-dark)}
.field input{flex:1;min-width:0;padding:5px 7px;border:0;outline:0;background:transparent;font-size:13px;color:var(--text)}
.field input[readonly]{cursor:pointer}
.field input.strong{font-weight:600}
.fbtn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border:0;background:none;color:var(--p-dark)}
.fbtn.ok{background:var(--p-dark);color:#fff}
.release{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:0;min-height:28px;border:0;background:none;color:var(--p-dark);font-size:12px;text-decoration:underline}

/* csoportos és árak */
.cols{display:flex;flex-wrap:wrap;gap:32px}
.cols>section{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}
.cols>aside{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:16px}
.cols h1{font-size:48px}
.cols aside h2{font-size:36px}
.newgroup{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.newgroup label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--n800)}
.newgroup input{padding:9px 10px;min-height:44px;border:1px solid var(--p-mid);background:#fff}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;min-height:44px;border:1px solid var(--p-dark);background:var(--p-dark);color:#fff;font-family:var(--fh);font-size:17px;font-weight:600}
.card{display:flex;flex-direction:column;gap:14px;padding:20px;background:#fff;border:1px solid var(--line)}
.card.next{border-color:var(--p-mid)}
.card.old{background:var(--bg);border-style:dashed;color:var(--n700)}
.card-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}
.card-h h2{font-size:26px;font-weight:600}
.seats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.seat{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line)}
.seat b{display:block;font-weight:600}
.seat small{font-size:13px;color:var(--n700)}
.step{display:flex;align-items:center;gap:6px}
.step button{width:40px;height:40px;border:1px solid var(--p-mid);background:#fff;color:var(--p-deep);font-size:18px}
.step output{min-width:28px;text-align:center;font-size:20px;font-weight:600}
.card-foot{display:flex;flex-wrap:wrap;gap:16px;font-size:13px}
.card-foot .danger{color:var(--danger)}
.panel{display:flex;flex-direction:column;gap:14px;padding:20px;background:#fff;border:1px solid var(--line)}
.panel .fl{font-size:13px;color:var(--n800)}
.panel .field input{font-size:15px;padding:8px 10px}
.panel p{margin:0;font-size:13px;color:var(--n700)}
.role{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--line)}
.role-h{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}

/* belépés */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 24px}
.login>div{width:100%;max-width:420px;display:flex;flex-direction:column;gap:32px}
.login h1{font-size:52px;line-height:1}
.login p{margin:0;color:var(--n800)}
.login .box{display:flex;flex-direction:column;gap:14px;padding:24px;background:#fff;border:1px solid var(--line)}
.login .btn{justify-content:center;min-height:52px;font-size:19px}
.login small{font-size:13px;color:var(--n700)}
.err{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #b45d5d;background:#fbefef;color:#6e2626;font-size:13px}

#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(560px,calc(100vw - 32px));padding:12px 18px;background:var(--p-deep);color:#fff;font-size:14px;box-shadow:0 6px 24px rgb(0 0 0 / .2);z-index:10}

/* telefonon: napválasztó, egyszerre egy nap */
@media (max-width:820px){
  .top{padding:10px 16px}
  main{padding:20px 16px 48px}
  .head h1,.cols h1{font-size:36px}
  .tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:12px}
  .tabs button{display:flex;flex-direction:column;align-items:center;padding:4px 0;min-height:48px;border:1px solid var(--n300);background:#fff}
  .tabs button small{font-size:12px}
  .tabs button b{font-weight:600}
  .tabs button.empty{border-style:dashed;border-color:var(--n500);background:var(--bg);color:var(--n700)}
  .tabs button.grp{background:var(--p-deep);border-color:var(--p-deep);color:#fff}
  .tabs button[aria-pressed="true"]{background:var(--p-dark);border-color:var(--p-dark);color:#fff}
  .days{grid-template-columns:1fr}
  .day:not(.sel){display:none}
  .status{margin-left:0}
}
