/* Admin felület · arculat 2026-11. A site.css és a client.css komponenseire épül.
   Papír háttér, tintakék szöveg; bordó csak a logóban és a cím kiemelt szavában. */
[hidden]{display:none!important}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Fejléc ---------- */
.adm-brand{display:flex;align-items:center;gap:16px;min-width:0}
.adm-tag{font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);padding:7px 10px 7px 12px;border:1px solid var(--line-2);border-radius:99px;white-space:nowrap}
.demo-tag{font:500 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#5a4622;background:rgba(165,140,90,.2);padding:8px 11px;border-radius:99px;white-space:nowrap}
.btn .plus{font:300 22px/0 var(--sans);margin-top:-2px}
.btn.sm .plus{font-size:18px}
.btn-danger{background:var(--err);border-color:var(--err);color:#fff}
.btn-danger:hover{background:#6e211b;border-color:#6e211b}
.btn[disabled]{opacity:.45;pointer-events:none}
.app-head .display em{font-style:italic;color:var(--wine)}

/* ---------- Állapot címkék ---------- */
.spill{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 11px 0 10px;border-radius:99px;font:500 12px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
  color:var(--sc);background:color-mix(in srgb,var(--sc) 11%,transparent)}
.spill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.spill.offer,.sdot.offer{--sc:#7a5a1e}
.spill.paid,.sdot.paid{--sc:#2a6470}
.spill.work,.sdot.work{--sc:#1b2a44}
.spill.done,.sdot.done{--sc:#2F5A3E}
.spill.cancel,.sdot.cancel{--sc:#6b7280}
.spill.cancel{text-decoration:line-through;text-decoration-thickness:1px}
.sdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--sc);margin-right:8px;flex:none}

/* ---------- Statisztika kártyák ---------- */
.astats{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:12px;margin-bottom:24px}
.astat{text-align:left;padding:22px 22px 20px;border:1px solid var(--sheet-edge);border-radius:2px;background:var(--sheet);box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:8px;min-width:0;
  transition:border-color .25s var(--ease),transform .35s var(--ease-out),box-shadow .35s var(--ease)}
.astat:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:0 18px 32px -22px rgba(27,42,68,.45)}
.astat span{font:500 12px/1.25 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.astat b{font:300 clamp(40px,4.4vw,58px)/1 var(--serif);font-variation-settings:"opsz" 144,"SOFT" 50;letter-spacing:-.02em;font-feature-settings:"tnum"}
.astat small{font-size:14px;color:var(--ink-3)}
.astat.big{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.astat.big span,.astat.big small{color:rgba(243,240,232,.78)}
.astat[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.astat.big[aria-pressed=true]{box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px var(--ink)}
@media (max-width:900px){.astats{grid-template-columns:1fr 1fr}.astat.big{grid-column:1/-1}}

/* ---------- Pár-lista ---------- */
.olist-box{padding-bottom:12px}
.olist-box .toolbar{margin-bottom:14px}
.sseg{margin-bottom:26px}
.sseg button{height:38px;padding:0 15px;font-size:14px;display:inline-flex;align-items:center}
.sseg button[aria-pressed=true] .sdot{background:var(--paper)}
.ohead,.orow{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,1.25fr) minmax(0,1fr) 64px minmax(0,1fr) 124px 18px;gap:22px;align-items:center}
.ohead{padding:0 14px 12px;border-bottom:1px solid var(--line);font:500 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.ohead > *{white-space:nowrap}
.c-num{text-align:right}
.sortb{display:inline-flex;align-items:center;gap:6px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;transition:color .2s;justify-self:start}
.sortb:hover{color:var(--ink)}
.sortb i{width:8px;height:8px;opacity:0;transition:opacity .2s,transform .3s var(--ease);border-right:1.3px solid currentColor;border-bottom:1.3px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.sortb.on{color:var(--ink)}
.sortb.on i{opacity:1}
.sortb.on.asc i{transform:translateY(2px) rotate(-135deg)}
.msort{display:none}
.olist{display:flex;flex-direction:column}
.orow{position:relative;padding:18px 14px;border-bottom:1px solid var(--line);border-radius:2px;transition:background .25s var(--ease)}
.orow:last-child{border-bottom:0}
.orow:hover{background:#fffdf8}
.orow:focus-visible{outline-offset:-2px}
.orow > span{display:flex;flex-direction:column;gap:3px;min-width:0}
.orow b{font-weight:500;font-size:15px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orow small{font-size:14px;line-height:1.3;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orow .o-name b{font:400 23px/1.15 var(--serif);font-variation-settings:"opsz" 36,"SOFT" 80;white-space:normal;overflow:visible}
.orow .o-name b em{font-style:italic;color:var(--ink-3)}
.orow .o-guests{text-align:right;align-items:flex-end}
.orow .o-guests b{font:400 23px/1.15 var(--serif)}
.orow .o-go{width:18px;height:18px;stroke:var(--ink-3);fill:none;stroke-width:1.4;transition:transform .35s var(--ease),stroke .2s}
.orow:hover .o-go{transform:translateX(4px);stroke:var(--ink)}
.orow .muted{color:var(--ink-3);font-weight:400}
.orow.cancelled .o-name b{color:var(--ink-3)}
.ocount{margin:14px 14px 4px;font-size:14px;color:var(--ink-3)}
.ocount:empty{display:none}
.oempty{padding:56px 20px;text-align:center;color:var(--ink-3)}
.oempty b{display:block;font:400 30px/1.15 var(--serif);color:var(--ink);margin-bottom:8px}
.oempty .btn{margin-top:22px}
@media (max-width:860px){
  .ohead{display:none}
  .msort{display:flex;align-items:center;gap:16px;padding:0 0 10px;margin-bottom:4px;border-bottom:1px solid var(--line);font:500 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
  .msort .sortb{height:40px}
  .orow{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"st go" "name name" "date pkg" "guests created";gap:12px 18px;padding:20px 4px;border-radius:0}
  .orow .o-st{grid-area:st}.orow .o-go{grid-area:go;justify-self:end}.orow .o-name{grid-area:name}.orow .o-date{grid-area:date}.orow .o-pkg{grid-area:pkg}
  .orow .o-guests{grid-area:guests;text-align:left;align-items:flex-start;flex-direction:row;gap:6px;align-items:baseline}
  .orow .o-guests b{font:500 15px/1.3 var(--sans)}
  .orow .o-created{grid-area:created}
  .orow .o-name b{font-size:26px}
}

/* ---------- Váz (betöltés) ---------- */
.sk{position:relative;overflow:hidden;background:var(--paper-2);border-radius:6px}
.sk::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmer 1.4s infinite}
@keyframes shimmer{to{transform:translateX(100%)}}
.sk-row{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,1.25fr) minmax(0,1fr) 64px minmax(0,1fr) 124px 18px;gap:22px;align-items:center;padding:22px 14px;border-bottom:1px solid var(--line)}
.sk-row .sk{height:14px}
.sk-row .sk.t{height:22px;width:80%}
.sk-row .sk.p{height:26px;border-radius:99px}
.sk-title{height:64px;width:min(520px,80%);margin:48px 0 18px}
.sk-line{height:16px;width:min(320px,60%);margin-bottom:46px}
.sk-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px}
.sk-box{height:420px;border-radius:8px}
@media (max-width:860px){.sk-row{grid-template-columns:1fr 1fr}.sk-row .sk:nth-child(n+3){display:none}}
@media (max-width:1080px){.sk-grid{grid-template-columns:1fr}}

/* ---------- Projekt ---------- */
.det-back{padding-top:28px}
.back{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);padding:8px 0;transition:color .2s}
.back svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.4;transition:transform .35s var(--ease)}
.back:hover{color:var(--ink)}
.back:hover svg{transform:translateX(-4px)}
.det-head{padding-top:clamp(20px,3vw,36px)}
.det-kicker{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.det-title{min-width:0}
.det-head .display{font-size:clamp(42px,5.6vw,76px);overflow-wrap:anywhere}
.det-actions{display:flex;flex-wrap:wrap;gap:10px}
.det-actions .btn svg{width:13px;height:13px}

.dgrid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}
.dcol{display:grid;gap:24px;min-width:0}
@media (max-width:1080px){.dgrid{grid-template-columns:1fr}}
.sec-h{margin-bottom:24px}
.sec-h p{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--ink-3)}

/* Mezők: minden vezérlő azonos magasságú, így a címkék és az értékek egy vonalba kerülnek */
.fgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 28px;align-items:start}
.fgrid.one{grid-template-columns:minmax(0,1fr);margin-top:26px;gap:24px}
@media (max-width:640px){.fgrid{grid-template-columns:minmax(0,1fr)}}
.adm .f{gap:8px;min-width:0}
.adm .f > .flabel,.adm .f > label{display:block;line-height:15px;height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;letter-spacing:.14em}
.adm .f input[type=text],.adm .f input[type=email],.adm .f .pick{height:46px;padding:0;font:400 17px/1.3 var(--sans);border-radius:0}
.adm .f textarea{font:400 16px/1.6 var(--sans);padding:10px 0 12px;min-height:0}
.adm .f textarea.mono{font:400 13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-2);background:rgba(255,255,255,.5);border:1px solid var(--line);border-radius:6px;padding:12px}
.adm .f .err{margin-top:-2px}
.adm .f.bad textarea{border-color:var(--err)}
.adm .f .err{color:var(--err)}
.adm .f.bad input,.adm .f.bad .pick{border-color:var(--err)}
.adm .f input:focus,.adm .f textarea:focus{border-color:var(--ink)}
.flabel.vh{position:absolute}

.affix{display:flex;align-items:center;gap:10px;height:46px;border-bottom:1px solid var(--line-2);transition:border-color .3s}
.affix:focus-within{border-color:var(--ink)}
.f .affix input[type=text]{border:0!important;height:44px;flex:1;min-width:0}
.affix i{font-style:normal;font-size:15px;color:var(--ink-3);white-space:nowrap}
.affix.sub i{font-size:14px}
.f.bad .affix{border-color:var(--err)}

.stepper{display:flex;align-items:center;gap:6px;height:46px;border-bottom:1px solid var(--line-2)}
.stepper:focus-within{border-color:var(--ink)}
.stepper button{width:34px;height:34px;flex:none;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;font:400 18px/1 var(--sans);color:var(--ink-2);transition:border-color .2s,background .2s}
.stepper button:hover{border-color:var(--ink);background:#fffdf8}
.f .stepper input[type=text]{width:56px;flex:none;height:44px;border:0!important;text-align:center;font:400 22px/1 var(--serif)}

/* Saját dátumválasztó */
.dp{position:relative}
.dp .pick .v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dp .cal{z-index:30}
.cal-h .yr{display:flex;gap:2px}
.cal-h .calTitle{flex:1;text-align:center}
.cal-g button:focus-visible{outline-offset:0}
.dp-text{display:flex;align-items:center;gap:8px;height:46px;border-bottom:1px solid var(--line-2);transition:border-color .3s}
.dp-text:focus-within{border-color:var(--ink)}
.f .dp-text input[type=text]{border:0;height:44px;flex:1;min-width:0}
.dp-text .dp .pick{width:36px;height:36px;border:0;border-radius:50%;justify-content:center;padding:0}
.dp-text .dp .pick:hover{background:var(--paper-2)}
.dp-text .dp .pick .v{display:none}
.dp-text .cal{left:auto;right:-6px}
.dp .pick .clr{display:none}

/* Kapcsoló */
.switch{display:flex;align-items:flex-start;gap:16px;cursor:pointer;padding:16px 18px;border:1px solid var(--line);border-radius:3px;background:#fffdf8}
.switch input{position:absolute;opacity:0;pointer-events:none}
.sw{position:relative;flex:none;width:44px;height:26px;border-radius:99px;background:var(--paper-3);transition:background .3s var(--ease);margin-top:1px}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .35s var(--ease-out)}
.switch input:checked + .sw{background:var(--yes-bar)}
.switch input:checked + .sw::after{transform:translateX(18px)}
.switch input:focus-visible + .sw{outline:2px solid var(--ink);outline-offset:3px}
.sw-txt{display:flex;flex-direction:column;gap:3px}
.sw-txt b{font-weight:500;font-size:15px;line-height:1.4}
.sw-txt small{font-size:14px;line-height:1.5;color:var(--ink-3)}

/* Állapot- és csomagválasztó */
.stpick{gap:8px}
.stpick button{height:38px;padding:0 14px;font-size:14px;display:inline-flex;align-items:center}
.stpick button[aria-checked=true]{background:var(--sc,var(--ink));border-color:var(--sc,var(--ink));color:#fff}
.stpick button[aria-checked=true] .sdot{background:#fff}
.pkpick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pkpick button{height:auto;min-height:62px;padding:10px 12px;border-radius:3px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;text-align:left}
.pkpick button b{font-weight:500;font-size:15px;line-height:1.2}
.pkpick button small{font-size:13px;line-height:1.2;color:var(--ink-3)}
.pkpick button[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pkpick button[aria-checked=true] small{color:rgba(243,240,232,.78)}

details.adv summary{list-style:none;display:flex;align-items:baseline;gap:14px;cursor:pointer}
details.adv summary::-webkit-details-marker{display:none}
.adv-sub{font-size:14px;color:var(--ink-3);flex:1}
details.adv summary svg{width:16px;height:16px;stroke:var(--ink-2);fill:none;stroke-width:1.4;transition:transform .3s var(--ease);align-self:center}
details.adv[open] summary svg{transform:rotate(180deg)}
details.adv[open] summary{margin-bottom:22px}

.kv{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px 16px;margin:0;align-items:baseline}
.kv dt{font:500 12px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.kv dd{margin:0;font-size:14px;line-height:1.4;color:var(--ink-2);min-width:0;overflow-wrap:anywhere}
.kv code{font:400 12.5px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink)}
.copy{margin-left:8px;font:500 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--line-2);padding:6px 0 2px}
.danger{border-color:rgba(138,42,34,.28);background:#fbf4f1}

/* ---------- Mentés sáv ---------- */
.savebar{position:fixed;left:0;right:0;bottom:20px;z-index:70;display:flex;justify-content:center;padding:0 12px;pointer-events:none;animation:sbIn .45s var(--ease-out)}
@keyframes sbIn{from{opacity:0;transform:translateY(24px)}}
.savebar-in{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(620px,100%);padding:10px 10px 10px 24px;background:var(--ink);color:var(--paper);border-radius:99px;box-shadow:0 24px 50px -20px rgba(27,42,68,.7)}
.sb-txt{display:flex;align-items:center;gap:10px;font-size:15px;white-space:nowrap}
.sb-txt i{width:8px;height:8px;border-radius:50%;background:#e8c27a;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.sb-btns{display:flex;gap:8px}
.savebar .btn-line.sm,.savebar .btn-line.sm:hover{color:var(--paper);text-decoration-color:rgba(243,240,232,.5)}
.savebar .btn-line.sm:hover{text-decoration-color:var(--paper)}
.sb-btns{align-items:center;gap:16px}
.savebar .btn-ink{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.savebar .btn-ink:hover{background:#fff;border-color:#fff}
body.has-savebar .toast{bottom:96px}
body.has-savebar .app-main{padding-bottom:160px}
@media (max-width:560px){.savebar-in{padding:10px 10px 10px 18px;gap:10px}.sb-txt{font-size:13.5px}.sb-txt i{display:none}.savebar .btn.sm{padding:0 14px}.savebar .btn{min-height:40px}}

/* ---------- Vendégek ---------- */
.gstats{grid-template-columns:1.4fr repeat(4,1fr);margin-bottom:24px}
.gtable{display:flex;flex-direction:column}
.gt-h,.gt-r{display:grid;grid-template-columns:minmax(0,2fr) 104px 70px 70px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.5fr) 80px;gap:18px;align-items:center}
.gt-h{padding:12px 10px;border-bottom:1px solid var(--line);font:500 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.gt-h .n,.gt-r .n{text-align:center}
.gt-r{padding:16px 10px;border-bottom:1px solid var(--line);transition:background .2s}
.gt-r:last-child{border-bottom:0}
.gt-r:hover{background:#fffdf8}
.gc{min-width:0;font-size:15px;line-height:1.4;color:var(--ink-2)}
.gc.name b{display:block;font:400 21px/1.15 var(--serif);color:var(--ink);overflow-wrap:anywhere}
.gc.name small{display:block;font-size:13.5px;color:var(--ink-3);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc.n b{display:block;font:400 21px/1 var(--serif);color:var(--ink)}
.gc.n small{display:block;font-size:13px;color:var(--ink-3);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc .st{display:inline-flex}
.gc .chips{margin:0;gap:5px}
.gc .chip{font-size:12px;padding:3px 9px}
.gc.msg{font:400 15px/1.4 var(--serif);font-style:italic;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gc .nil{color:var(--ink-3);opacity:.6}
.gc.grp{display:flex;align-items:center;gap:8px}
.gc.act{display:flex;justify-content:flex-end;gap:4px}
.ibtn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);transition:background .2s,color .2s}
.ibtn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.4}
.ibtn:hover{background:var(--paper-2);color:var(--ink)}
.ibtn.del:hover{background:var(--err-bg);color:var(--err)}
.gempty{padding:46px 10px;text-align:center;color:var(--ink-2);font-size:16px}
.gempty b{display:block;font:400 26px/1.2 var(--serif);color:var(--ink);margin-bottom:6px}
@media (max-width:1100px){
  .gt-h{display:none}
  .gt-r{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name act" "att att" "d d";gap:12px;padding:20px 4px}
  .gc.name{grid-area:name}.gc.act{grid-area:act;align-self:start}.gc.att{grid-area:att}
  .gt-r .gd{grid-area:d;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .gc[data-l]{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:baseline;text-align:left}
  .gc[data-l]::before{content:attr(data-l);font:500 11.5px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
  .gc.n[data-l] b{display:inline;font:500 14px/1.4 var(--sans)}
  .gc.n[data-l] small{display:inline;margin:0 0 0 6px;white-space:normal}
  .gc.msg{display:grid;-webkit-line-clamp:unset}
  .gc.grp[data-l]{display:grid}
  .gc.grp[data-l] > span{display:flex;align-items:center;gap:8px}
}
@media (min-width:1101px){.gt-r .gd{display:contents}}
@media (max-width:980px){.gstats{grid-template-columns:1fr 1fr}.gstats .stat.big{grid-column:1/-1}}

/* ---------- Fájlok ---------- */
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:30px 20px;margin-bottom:24px;border:1px dashed var(--line-2);border-radius:3px;background:#fffdf8;text-align:center;cursor:pointer;transition:border-color .25s,background .25s}
.drop svg{width:28px;height:28px;stroke:var(--ink-2);fill:none;stroke-width:1.4}
.drop span{font-size:16px;color:var(--ink-2)}
.drop b{font-weight:500;color:var(--ink)}
.drop small{font-size:14px;color:var(--ink-3)}
.drop:hover,.drop.over{border-color:var(--ink);background:#fff}
.drop:focus-within{outline:2px solid var(--ink);outline-offset:3px}
.files{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.file{position:relative;display:flex;flex-direction:column;border:1px solid var(--sheet-edge);border-radius:2px;overflow:hidden;background:#fffdf8;transition:box-shadow .3s var(--ease),transform .35s var(--ease-out)}
.file:hover{box-shadow:0 18px 36px -24px rgba(27,42,68,.45);transform:translateY(-2px)}
.file .th{display:block;aspect-ratio:4/3;background:var(--paper-2);overflow:hidden}
.file .th img{width:100%;height:100%;object-fit:cover}
.file .th .ic{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:8px;color:var(--ink-3);font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.file .th .ic svg{width:34px;height:34px;stroke:var(--ink-3);fill:none;stroke-width:1.2}
.file .fb{padding:12px 14px 6px;display:flex;flex-direction:column;gap:3px;min-width:0}
.file .fb b{font-weight:500;font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file .fb small{font-size:13px;color:var(--ink-3)}
.file .fa{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 8px 10px 14px}
.file .fa a{font:500 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);padding:12px 0;border-bottom:1px solid transparent}
.file .fa a:hover{border-color:var(--ink)}
.file .fa .r{display:flex;gap:2px}
.file .badge{position:absolute;top:10px;left:10px;right:auto;font:500 11.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;border-radius:99px;background:rgba(27,42,68,.85);color:#fff;backdrop-filter:blur(6px)}
.ibtn.on{color:var(--ink)}
.ibtn.on svg{fill:rgba(27,42,68,.15)}
.file.up .th{display:grid;place-items:center}
.spinner{width:26px;height:26px;border-radius:50%;border:2px solid var(--paper-3);border-top-color:var(--ink);animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Nagy párbeszédablak ---------- */
.adlg{border:0;padding:0;border-radius:4px;width:min(780px,calc(100vw - 24px));max-height:min(900px,calc(100dvh - 24px));background:#fffdf8;color:var(--ink);box-shadow:0 40px 90px -30px rgba(27,42,68,.55);overflow:hidden}
.adlg[open]{display:flex;animation:dlgIn .35s var(--ease-out)}
@keyframes dlgIn{from{opacity:0;transform:translateY(14px) scale(.985)}}
.adlg::backdrop{background:rgba(27,42,68,.45);backdrop-filter:blur(3px)}
.adlg-in{display:flex;flex-direction:column;width:100%;min-height:0;flex:1}
.adlg-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:26px 32px 20px;border-bottom:1px solid var(--line)}
.adlg-h .label{margin:0 0 8px}
.xbtn{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;margin:-4px -8px 0 0;transition:background .2s}
.xbtn:hover{background:var(--paper-2)}
.xbtn svg{width:15px;height:15px;stroke:var(--ink);fill:none;stroke-width:1.5}
.adlg-b{flex:1;min-height:0;overflow:auto;padding:28px 32px 32px;overscroll-behavior:contain}
.adlg-f{padding:16px 32px;border-top:1px solid var(--line);background:var(--sheet)}
.adlg-f > div{display:flex;justify-content:flex-end;align-items:center;gap:10px 24px}
.form-err{margin:22px 0 0;padding:12px 16px;border-left:2px solid var(--err);background:var(--err-bg);color:var(--err);font-size:15px;line-height:1.5}
.center{text-align:center}
.muted{color:var(--ink-2)}
.adlg .h3.center{margin-top:6px}
.adlg p.center{max-width:30em;margin:12px auto 26px;font-size:15px}
.done-mark{width:64px;height:64px;margin:6px auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--yes-bar);animation:pop .6s cubic-bezier(.34,1.56,.64,1)}
.done-mark svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:2;stroke-dasharray:24;stroke-dashoffset:24;animation:draw .5s .25s var(--ease-out) forwards}
@keyframes pop{from{transform:scale(.4);opacity:0}}
@keyframes draw{to{stroke-dashoffset:0}}
.howto{border:1px solid var(--sheet-edge);border-radius:3px;background:var(--sheet);padding:20px 22px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.howto pre{margin:0;white-space:pre-wrap;font:400 15px/1.6 var(--sans);color:var(--ink-2);width:100%}
@media (max-width:640px){
  .adlg{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}
  .adlg-h{padding:20px 20px 16px}.adlg-b{padding:22px 20px 28px}.adlg-f{padding:12px 20px calc(12px + env(safe-area-inset-bottom))}
}

/* Vendég párbeszédablak elemei */
.att button{min-width:110px;justify-content:center;display:inline-flex;align-items:center}
.att button[data-v="1"][aria-checked=true]{background:#2F5A3E;border-color:#2F5A3E}
.att button[data-v="0"][aria-checked=true]{background:var(--ink-3);border-color:var(--ink-3)}
.taglist{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:46px;padding:6px 0;border-bottom:1px solid var(--line-2);transition:border-color .3s;cursor:text}
.taglist:focus-within{border-color:var(--ink)}
.tag{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 4px 0 12px;border-radius:99px;background:var(--paper-2);font-size:14px;color:var(--ink)}
.tag button{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:15px;line-height:1;color:var(--ink-3)}
.tag button:hover{background:var(--err-bg);color:var(--err)}
.f .taglist input[type=text]{flex:1;min-width:140px;height:32px;border:0;padding:0 4px;font-size:16px}
.dchips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dchip{height:38px;padding:0 14px;border-radius:99px;border:1px solid var(--line-2);font-size:15px;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px;transition:all .2s}
.dchip:hover{border-color:var(--ink)}
.dchip[aria-pressed=true]{background:rgba(165,140,90,.2);border-color:#a58c5a;color:#5a4622}
.dchip[aria-pressed=true]::before{content:"✓";font-size:12px}
.dchip-add{display:inline-flex;align-items:center;height:36px;border:1px dashed var(--line-2);border-radius:99px;padding:0 6px 0 14px;gap:4px}
.f .dchip-add input[type=text]{height:34px;width:150px;border:0;padding:0;font-size:16px}
.dchip-add button{width:32px;height:32px;border-radius:50%;font-size:18px;line-height:1;color:var(--ink)}
.gpick button{height:38px;padding:0 14px;font-size:14px;display:inline-flex;align-items:center}
.gpick button[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.gpick .gdot{margin-right:8px}

/* Megerősítés és törlés */
.cdlg .f{margin-top:6px}
.cdlg .f > .flabel{height:auto;white-space:normal;line-height:1.6;text-transform:none;letter-spacing:0;font-size:15px;font-weight:400;color:var(--ink-2)}
.delname{font-weight:600;color:var(--err)}
.del-prog{margin:14px 0 0!important;font-size:14px!important;color:var(--ink-3)!important;min-height:1em}
.cdlg [data-close]{cursor:pointer}

/* Belépés */
.auth-box .c-err:not([hidden]){display:block}
#signBtn[disabled]{opacity:.6}

/* Toast */
.toast{display:flex;align-items:center;gap:10px}
.toast::before{content:"";width:8px;height:8px;border-radius:50%;background:#9FD0AE;flex:none}
.toast.bad::before{background:#fff}

/* Mobil */
@media (max-width:640px){
  .adm-tag{display:none}
  .app-head .display{font-size:clamp(40px,11vw,56px)}
  .det-actions{width:100%}
  .det-actions{gap:2px 22px}
  .box-head{align-items:flex-start}
  .box-tools{width:100%}
  .box-tools .btn-ink{flex:1;justify-content:center;padding:0 12px}
  .card-box{padding:20px 18px}
  .orow .o-name b{font-size:24px}
  .kv{grid-template-columns:100px minmax(0,1fr)}
  .pkpick button{padding:10px}
  .toolbar .seg{width:100%}
  .toolbar .seg button{flex:1}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- finomhangolás az első képernyőképek után ---------- */
#dirtyDot:not(.on){display:none}
.orow .o-st{align-items:flex-start}
.orow .o-guests b{font:500 15px/1.3 var(--sans)}
.gc .chips{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.gc .chip{display:inline-flex;align-items:center;height:24px;line-height:1;padding:0 9px;white-space:nowrap}
.gc.grp > span{display:inline-flex;align-items:center;gap:8px}
.gc.grp .gdot{margin:0}
.gc.n .nv{display:block}
.gc.msg .mt{display:block}
@media (max-width:1100px){
  .gc.n[data-l] .nv b{display:inline;font:500 14px/1.4 var(--sans)}
  .gc.n[data-l] .nv small{display:inline;margin:0 0 0 8px;white-space:normal;font-size:13px}
  .gc.msg{display:grid}
  .gc.msg .mt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
}
@media (max-width:900px){
  .astats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .astat.big{grid-column:1/-1}
}
@media (max-width:560px){
  .astat{padding:16px 14px 14px}
  .astat b{font-size:40px}
  .astat span{font-size:11px;letter-spacing:.1em;min-height:2.5em}
  .astat.big span{min-height:0}
  .astat small{font-size:13px}
  .det-head .app-meta{gap:4px 14px}
  .det-head .app-meta span + span::before{margin-right:14px}
}
.cal:not(.on){pointer-events:none}

/* ---------- arculat 2026-11: ütközések a site.css-sel ----------
   A site.css .work (mintakártya: elforgatás, árnyék, szalag) és .pill osztálya ütközik
   az admin.js által adott .spill.work / .sdot.work állapotjelekkel; itt semlegesítjük. */
.spill.work,.spill.work:hover,.spill.work:focus-visible,.sdot.work,.sdot.work:hover,.sdot.work:focus-visible{transform:none;box-shadow:none}
.sdot,.sdot.work{padding:0}
.spill::before,.spill.work::before{content:"";position:static;top:auto;left:auto;z-index:auto;width:6px;height:6px;margin:0;border-radius:50%;background:currentColor;transform:none;clip-path:none}
.sdot.work::before{content:none}
.as-list .spill{flex:none}
.as-list em{font-style:italic;color:var(--ink-3)}
.adm .auth-sheet .as-t{font-size:32px}
.cal-h button:hover,.cal-g button:hover{background:var(--paper-2)}
/* az állapotválasztó színét az admin.js inline --sc változóval adja (az inline nyer), ezért a kijelölt gomb színét közvetlenül állítjuk */
.stpick button[aria-checked=true]:has(.sdot.offer){background:#7a5a1e;border-color:#7a5a1e}
.stpick button[aria-checked=true]:has(.sdot.paid){background:#2a6470;border-color:#2a6470}
.stpick button[aria-checked=true]:has(.sdot.work){background:#1b2a44;border-color:#1b2a44}
.stpick button[aria-checked=true]:has(.sdot.done){background:#2F5A3E;border-color:#2F5A3E}
.stpick button[aria-checked=true]:has(.sdot.cancel){background:#6b7280;border-color:#6b7280}
.savebar .btn{border-radius:999px}
.savebar-in{min-width:0}
@media (max-width:560px){.savebar .btn-ink.sm{padding:0 16px}.sb-btns{gap:12px}.sb-txt{white-space:normal;line-height:1.25;min-width:0}.sb-btns{flex:none}}

/* A pár neve: a levél tipográfiája (Georgia, dőlt bordó) */
#dName{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;color:var(--wine,#6B1E2A);letter-spacing:-.01em}
#dName em{font-style:italic;color:inherit}

/* ---------- Végleges verzió küldése ---------- */
.det-send{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.det-send .btn svg{width:14px;height:14px}
.det-send .btn:hover svg{transform:translate(2px,-2px)}
.det-sent{font-size:13px;line-height:1.3;color:var(--ink-3);padding-left:4px}
.det-sent::before{content:"";display:inline-block;width:6px;height:6px;margin:0 7px 1px 0;border-radius:50%;background:var(--yes-bar)}
.det-actions{align-items:flex-start}

.vdlg{width:min(1180px,calc(100vw - 24px));height:min(900px,calc(100dvh - 24px))}
.vdlg #sendTitle{font-family:Georgia,"Times New Roman",serif;font-style:italic;color:var(--wine)}
.vdlg #sendTitle em{font-style:italic;color:var(--ink-3)}
.vdlg #sendTitle:focus{outline:0}
.vd-body{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:0;padding:0;overflow:hidden}
.vd-side{overflow:auto;overscroll-behavior:contain;padding:26px 30px 30px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:30px;min-height:0}
.vd-h{font:500 12px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin:0 0 14px}
.vchk{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.vchk li{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line)}
.vchk .vi{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;margin-top:1px}
.vchk .vi svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vchk .vi .spinner{width:16px;height:16px;border-width:1.5px}
.vchk .ok .vi{background:var(--yes-bar)}
.vchk .warn .vi{background:#a5803a}
.vchk .bad .vi{background:var(--err)}
.vchk .warn .vi circle,.vchk .bad .vi circle{fill:#fff}
.vchk .vt{display:flex;flex-direction:column;gap:3px;min-width:0}
.vchk .vt b{font-weight:500;font-size:15px;line-height:1.35;color:var(--ink)}
.vchk .vt small{font-size:13.5px;line-height:1.5;color:var(--ink-3);overflow-wrap:anywhere}
.vchk .wait .vt b{color:var(--ink-3)}
.vchk .bad .vt small{color:var(--err)}
.vchk code{font:400 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-2);background:var(--paper-2);padding:1px 5px;border-radius:3px}
.vchk a.inl,.vd-why a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.vchk a.inl:hover{text-decoration-color:currentColor}
.vd-fields{display:flex;flex-direction:column;gap:22px}
.vd-fields .vd-h{margin-bottom:-4px}
.vd-attach{padding:14px 16px}
.vd-attach input:disabled ~ .sw-txt b{color:var(--ink-3)}
.vd-attach:has(input:disabled){cursor:default}
.vd-attach:has(input:disabled) .sw{opacity:.5}
.vd-cc{display:flex;align-items:center;gap:8px;margin:-8px 0 0;font-size:13.5px;color:var(--ink-3)}
.vd-cc svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.2}

.vd-prev{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--paper-2)}
.vd-prev-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px 24px 16px;border-bottom:1px solid var(--line);background:#fffdf8}
.vd-subj{display:flex;flex-direction:column;gap:6px;min-width:0}
.vd-subj .flabel{font:500 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.vd-subj b{font:400 19px/1.3 var(--serif);color:var(--ink);overflow-wrap:anywhere}
.vd-dev{flex:none;flex-wrap:nowrap;gap:6px}
.vd-dev button{height:36px;padding:0 14px;font-size:14px}
.vd-dev button[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.vd-stage{position:relative;flex:1;min-height:0;display:flex;justify-content:center;padding:12px;overflow:hidden}
.vd-fwrap{position:relative;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 0 0 1px var(--sheet-edge),0 24px 50px -28px rgba(27,42,68,.5);transition:width .35s var(--ease)}
.vd-stage.desk .vd-fwrap{border-radius:4px}
.vd-fwrap iframe{display:block;border:0;background:#fff;transform-origin:0 0;transition:opacity .25s var(--ease)}
.vd-stage.loading iframe{opacity:.45}
.vd-load{position:absolute;left:50%;top:22px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;border-radius:99px;background:var(--ink);color:var(--paper);font-size:13.5px;box-shadow:0 14px 30px -16px rgba(27,42,68,.7);opacity:0;pointer-events:none;transition:opacity .2s}
.vd-load .spinner{width:16px;height:16px;border-width:1.5px;border-color:rgba(243,240,232,.3);border-top-color:var(--paper)}
.vd-stage.loading .vd-load{opacity:1}
.vd-perr{position:absolute;inset:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;background:rgba(251,250,246,.96);border-radius:4px;color:var(--ink-2);font-size:15px}
.vd-perr b{font:400 24px/1.2 var(--serif);color:var(--ink)}

.vd-foot{display:flex;flex-direction:column;gap:12px}
.vd-foot .vd-err{margin:0}
.vd-foot > div{flex-wrap:wrap}
.vd-why{flex:1 1 220px;margin:0;font-size:14px;line-height:1.45;color:var(--err)}
.vd-foot .btn-ink svg{width:14px;height:14px}

@media (max-width:900px){
  .vd-body{display:block;overflow:auto;padding:0}
  .vd-side{overflow:visible;border-right:0;padding:22px 24px 26px}
  .vd-prev{border-top:1px solid var(--line)}
  .vd-stage{flex:none;height:min(640px,78dvh)}
}
@media (max-width:640px){
  .vdlg{width:100vw;max-width:100vw;height:100dvh}
  .vd-side{padding:20px 20px 24px}
  .vd-prev-h{flex-direction:column;align-items:stretch;padding:16px 20px 14px}
  .vd-dev{display:grid;grid-template-columns:1fr 1fr}
  .vd-stage{padding:12px 8px}
  .vd-foot > div{justify-content:space-between}
  .vd-foot .btn-ink{flex:1;justify-content:center}
  .vd-why{flex-basis:100%}
  .det-send{width:100%}
  .det-send .btn{width:100%;justify-content:center}
}
