:root{--bg:#fff8f6;--card:rgba(255,255,255,.86);--text:#4f3734;--muted:#8d7773;--accent:#c98d86;--accent2:#eecfc9;--gold:#c9a66b;--line:#eadbd7;--danger:#b74f54;--shadow:0 16px 45px rgba(112,70,64,.12)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:linear-gradient(135deg,#fffaf9,#f8e8e5);color:var(--text);min-height:100vh}.hidden{display:none!important}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{padding:22px 16px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);border-right:1px solid var(--line);position:sticky;top:0;height:100vh}.brand{text-align:center}.brand img{width:120px;height:120px;object-fit:contain}.brand h1{font-size:18px;margin:0}.nav{display:grid;gap:8px;margin-top:28px}.nav button{border:0;background:transparent;padding:13px 14px;border-radius:14px;text-align:left;color:var(--text);cursor:pointer}.nav button.active,.nav button:hover{background:#f6dfdb}.main{padding:24px 28px 90px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.topbar h2{margin:0;font-size:28px}.btn{border:0;border-radius:12px;padding:11px 15px;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.btn.primary{background:linear-gradient(135deg,var(--accent),#b97a73);color:white}.btn.soft{background:#f4e0dc;color:var(--text)}.btn.danger{background:#f7dddd;color:var(--danger)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:var(--card);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow);border-radius:20px;padding:18px;backdrop-filter:blur(14px)}.metric strong{display:block;font-size:26px}.metric span{color:var(--muted)}.toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap}.search{flex:1;min-width:220px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:white}.list{display:grid;gap:12px}.row{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:12px;align-items:center}.social-badges{display:flex;gap:8px}.badge{padding:6px 9px;border-radius:999px;background:#eee;color:#888;font-size:12px}.badge.on{background:#eed3cf;color:#7d3f39}.modal-backdrop{position:fixed;inset:0;background:rgba(45,30,28,.46);display:grid;place-items:center;padding:14px;z-index:50}.modal{width:min(680px,100%);max-height:92vh;overflow:auto;background:white;border-radius:22px;padding:20px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head button{border:0;background:none;font-size:25px}.form{display:grid;gap:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:grid;gap:6px;font-size:14px}input,select,textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}.switches{display:grid;grid-template-columns:1fr 1fr;gap:12px}.switch{border:2px solid var(--line);background:white;border-radius:16px;padding:15px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;min-height:58px}.switch.on{border-color:var(--accent);background:#fff1ef}.switch .state{font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day{min-height:110px;background:white;border:1px solid var(--line);border-radius:14px;padding:8px}.day .num{font-weight:700}.event{margin-top:6px;padding:6px;border-radius:8px;background:#f0d3ce;font-size:12px;cursor:pointer}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(430px,100%);text-align:center}.auth-card img{width:180px}.notice{position:fixed;right:20px;bottom:20px;padding:12px 16px;border-radius:12px;background:#4f3734;color:white;z-index:100}.mobile-nav{display:none}.empty{text-align:center;color:var(--muted);padding:35px}.stats-bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:120px 1fr 100px;gap:10px;align-items:center}.bar{height:14px;background:#f1dedb;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent)}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}.app-shell{grid-template-columns:190px 1fr}.sidebar{padding:16px 10px}.main{padding:20px}}@media(max-width:720px){.app-shell{display:block}.sidebar{display:none}.main{padding:16px 12px 88px}.grid{grid-template-columns:1fr 1fr;gap:10px}.row{grid-template-columns:1fr;gap:8px}.form-row,.switches{grid-template-columns:1fr}.calendar-grid{gap:4px}.day{min-height:76px;padding:5px;font-size:12px}.event{font-size:10px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.94);backdrop-filter:blur(15px);border-top:1px solid var(--line);z-index:40;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{border:0;background:none;padding:12px 4px;font-size:11px;color:var(--text)}.mobile-nav button.active{background:#f6dfdb}.topbar h2{font-size:23px}.card{border-radius:16px;padding:14px}.metric strong{font-size:20px}}@media(max-width:430px){.grid{grid-template-columns:1fr}.bar-row{grid-template-columns:90px 1fr 75px}.topbar{align-items:flex-start}}

/* V3: interaktív napi naptár és pénzügyi törlés */
.calendar-toolbar,.day-view-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.calendar-toolbar h3,.day-view-head h3{margin:0;text-transform:capitalize}.calendar-actions,.day-nav{display:flex;gap:8px}.weekday{text-align:center;padding:6px;color:var(--muted)}.calendar-empty{min-height:20px}.day{position:relative;cursor:pointer;transition:border-color .15s,transform .15s}.day:hover{border-color:var(--accent);transform:translateY(-1px)}.day.today{outline:2px solid var(--accent)}.day-open{width:100%;border:0;background:transparent;padding:0;display:flex;justify-content:space-between;align-items:center;color:inherit;cursor:pointer}.appointment-count{font-size:10px;color:var(--muted)}.event{display:block;width:100%;border:0;text-align:left;color:var(--text)}.more-events{font-size:11px;color:var(--muted);padding:5px 2px}.day-view-head p{margin:4px 0 0;color:var(--muted)}.day-timeline{padding:0;overflow:hidden}.hour-row{display:grid;grid-template-columns:76px 1fr;min-height:66px;border-bottom:1px solid var(--line)}.hour-row:last-child{border-bottom:0}.hour-label{padding:14px 10px;text-align:right;color:var(--muted);font-size:13px;border-right:1px solid var(--line)}.hour-slot{padding:7px;display:grid;gap:6px;align-content:start;position:relative}.day-event{border:1px solid #e4bbb5;background:#f7dfdb;border-radius:11px;padding:9px 11px;text-align:left;color:var(--text);cursor:pointer;display:grid;gap:2px}.day-event span{font-weight:600}.day-event small{color:var(--muted)}.slot-add{border:1px dashed var(--line);background:transparent;color:var(--muted);border-radius:9px;padding:6px;cursor:pointer;opacity:.55}.slot-add:hover{opacity:1;border-color:var(--accent);color:var(--text)}.finance-amount{font-weight:700}.finance-row small{display:block;color:var(--muted);margin-top:4px}
@media(max-width:720px){.calendar-toolbar,.day-view-head{align-items:flex-start;flex-wrap:wrap}.calendar-toolbar h3{order:-1;width:100%;text-align:center}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.day{min-height:82px}.day .event{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-count{display:none}.hour-row{grid-template-columns:55px 1fr}.hour-label{padding:13px 5px}.day-event{padding:9px}.finance-row .btn.danger{width:100%;justify-content:center}}
@media(max-width:430px){.calendar-toolbar .btn{padding:9px 10px}.day-view-head>div:nth-child(2){order:-1;width:100%}.day-view-head .day-nav{margin-left:auto}.day{min-height:68px}.day .event{display:none}.more-events{font-size:10px}.weekday{font-size:11px;padding:4px 0}}

/* V4: részletes statisztika és időpont törlés */
.modal-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.stats-period{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stats-period h3{margin:0;text-transform:capitalize}.stats-period p{margin:4px 0 0;color:var(--muted)}.stats-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.stats-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.stats-layout h3{margin-top:0}.stats-wide{grid-column:1/-1}.legend{display:flex;gap:18px;margin-bottom:14px;color:var(--muted);font-size:13px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.legend-income,.income-bar{background:var(--accent)!important}.legend-expense,.expense-bar{background:var(--gold)!important}.month-stats,.rank-list{display:grid;gap:12px}.month-stat{display:grid;gap:5px}.month-stat-head{display:flex;justify-content:space-between;gap:10px}.month-stat small,.rank-row small{color:var(--muted);display:block;margin-top:2px}.dual-bars{display:grid;gap:4px}.dual-bars>div{height:8px;border-radius:999px;min-width:2px}.rank-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(90px,1fr) auto;gap:12px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line)}.rank-row:last-child{border-bottom:0;padding-bottom:0}.mini-bar{height:10px;background:#f1dedb;border-radius:999px;overflow:hidden}.mini-bar i{display:block;height:100%;background:var(--accent);border-radius:999px}.rank-row strong{text-align:right;white-space:nowrap}
@media(max-width:1000px){.stats-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.stats-layout{grid-template-columns:1fr}.stats-wide{grid-column:auto}.stats-metrics{grid-template-columns:1fr 1fr}.rank-row{grid-template-columns:1fr auto}.rank-row .mini-bar{grid-column:1/-1;grid-row:2}.modal-actions .btn{flex:1;justify-content:center}}
@media(max-width:430px){.stats-metrics{grid-template-columns:1fr}.rank-row{gap:7px}}

/* V5: arányos napi idővonal és automatikus pénzügyi lezárás */
.proportional-timeline{position:relative;padding:0 10px 0 76px;overflow:hidden;background:rgba(255,255,255,.8)}
.timeline-hour-line{position:absolute;left:0;right:0;height:1px;border-top:1px solid var(--line);z-index:1}
.timeline-hour-line span{position:absolute;left:10px;top:-9px;width:54px;text-align:right;color:var(--muted);font-size:12px;background:white;padding-right:5px}
.timeline-hour-line button{position:absolute;right:10px;top:4px;border:0;background:transparent;color:var(--muted);font-size:11px;cursor:pointer;opacity:.35}
.timeline-hour-line button:hover{opacity:1;color:var(--accent)}
.timeline-events{position:absolute;left:82px;right:12px;top:0;bottom:0;z-index:2;pointer-events:none}
.timed-event{position:absolute;left:0;right:0;min-height:24px;overflow:hidden;pointer-events:auto;box-shadow:0 3px 10px rgba(112,70,64,.1)}
.timed-event em{font-size:11px;font-style:normal;color:var(--muted);position:absolute;right:8px;top:7px}
.timed-event.completed{border-color:#9ebc9a;background:#e5f1e3}
.check-row{display:flex;grid-template-columns:none;align-items:center;gap:10px;border:1px solid var(--line);padding:10px 12px;border-radius:12px;background:#fff}
.check-row input{width:auto;flex:0 0 auto}
.completion-box{display:grid;gap:12px;border:1px solid var(--line);border-radius:16px;padding:14px;background:#faf7f6;opacity:.68}
.completion-box.active{border-color:var(--accent);background:#fff3f0;opacity:1}
.completion-box h4,.completion-box p{margin:0}.completion-box p{font-size:13px;color:var(--muted)}
.extras-list{display:grid;gap:7px;margin-top:7px}.extras-list .check-row{padding:8px 10px}.extras-list strong{margin-left:5px}
.total-preview{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:10px;font-size:15px}.total-preview strong{font-size:18px}
@media(max-width:720px){.proportional-timeline{padding-left:55px}.timeline-hour-line span{left:2px;width:44px}.timeline-events{left:60px;right:6px}.timed-event{padding:7px 8px}.timed-event em{display:none}}

/* V6: darabszámos kiegészítők és pénzügyi sablonok */
.extra-quantity-row{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:8px;align-items:end}.extra-quantity-row .check-row{margin:0}.quantity-field{font-size:12px}.quantity-field input{padding:9px}.finance-templates h3,.finance-templates p{margin:0}.finance-templates p{margin-top:4px;color:var(--muted);font-size:13px}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.template-chip{border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;justify-content:space-between;gap:10px;align-items:center;background:#fff}.template-chip small{display:block;color:var(--muted);margin-top:3px}.template-actions{display:flex;gap:6px;align-items:center}.btn.compact{padding:8px 10px;min-width:36px;justify-content:center}
@media(max-width:900px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.template-grid{grid-template-columns:1fr}.section-head{display:grid}.extra-quantity-row{grid-template-columns:1fr 90px}}


/* Stable 1.1 – egész napos naptárblokkok és biztos mentési állapotok */
.top-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.calendar-block{display:block;width:calc(100% - 8px);margin:3px 4px;padding:4px 6px;border:0;border-radius:7px;background:#744f8b;color:#fff;font-size:11px;font-weight:700;text-align:left;cursor:pointer}
.calendar-block.holiday{background:#b26b72}
.blocked-day{background:rgba(116,79,139,.06)}
.all-day-block{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:14px 16px;border-radius:14px;background:#744f8b;color:#fff}
.all-day-block.holiday{background:#b26b72}
.all-day-block div{display:flex;flex-direction:column;gap:3px}
.all-day-block span{font-size:13px;opacity:.9}
.all-day-block .btn{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.35)}
button:disabled{opacity:.55;cursor:wait}
@media(max-width:640px){.top-actions{width:100%;justify-content:stretch}.top-actions .btn{flex:1}.all-day-block{align-items:flex-start;flex-direction:column}.all-day-block .btn{width:100%}}

/* iPhone naptárjavítás: a havi nézetben is látszódjanak a rögzített időpontok. */
@media(max-width:430px){
  .day{min-height:92px}
  .appointment-count{display:block;font-size:9px;line-height:1.15;text-align:right}
  .day .event{display:block;margin-top:3px;padding:3px 4px;font-size:9px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .day .event~.event{display:none}
  .more-events{display:block;padding:3px 1px;font-size:9px;line-height:1.1}
}
.event.online-booking,.day-event.online-booking{background:#4aa6a6!important;border-color:#287c7c!important;color:white!important}.booking-admin-row{display:grid;grid-template-columns:2fr 1fr auto;gap:16px;align-items:center}.booking-admin-row small{display:block;margin-top:4px}.booking-admin-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:700px){.booking-admin-row{grid-template-columns:1fr}.booking-admin-actions .btn{flex:1}.mobile-nav{overflow-x:auto}.mobile-nav button{min-width:84px}}

/* Stable 1.3 – alkalmazáson belül szerkeszthető automatikus e-mailek */
.email-template-section h3,.email-template-section p{margin:0}.email-template-section p{margin-top:5px;color:var(--muted);font-size:13px}.email-var-list{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.email-var-list code{padding:6px 9px;border-radius:9px;background:#f4ecea;border:1px solid var(--line);font-size:12px}.email-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.email-template-card{display:grid;gap:10px;border:1px solid var(--line);border-radius:16px;padding:15px;background:#fff}.email-template-card label{display:grid;gap:6px;font-size:13px}.email-template-card textarea{min-height:170px;resize:vertical;font-family:inherit}.email-template-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.email-template-head h4{margin:0 0 4px}.email-template-head small{color:var(--muted)}.switch-label{display:flex!important;grid-template-columns:none!important;align-items:center;gap:6px;white-space:nowrap}.switch-label input{width:auto}.email-template-card .btn{justify-self:start}
@media(max-width:850px){.email-template-grid{grid-template-columns:1fr}}

/* Stable 1.4 – vendégarchiválás, újraaktiválás és végleges törlés */
.clients-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.client-filter{display:flex;gap:7px;flex-wrap:wrap}
.client-row-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}
.archived-client{opacity:.78;background:#faf7f6}
.archived-label{display:inline-block;margin-top:5px;color:var(--muted);font-weight:700}
.client-modal-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:650px){.clients-toolbar .search{width:100%}.client-filter{width:100%}.client-filter .btn{flex:1}.client-row-actions .btn{flex:1}.client-modal-actions .btn{width:100%}}

/* Stable 1.5 */
.email-template-details{padding:0;overflow:hidden}
.email-template-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;cursor:pointer;list-style:none}
.email-template-details>summary::-webkit-details-marker{display:none}
.email-template-details>summary h3,.email-template-details>summary p{margin:0}
.email-template-details>summary p{margin-top:4px;color:var(--muted);font-size:13px}
.email-template-content{padding:0 20px 20px;border-top:1px solid var(--line)}
.details-chevron{font-size:24px;transition:transform .2s ease}
.email-template-details[open] .details-chevron{transform:rotate(180deg)}
