:root{--green:#0f6b45;--green2:#16865a;--mint:#e9f5ef;--bg:#f4f7f5;--text:#17231d;--muted:#6c7871;--line:#dfe7e2;--white:#fff;--danger:#b42318;--shadow:0 8px 28px #163b2b12}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);padding-bottom:calc(82px + env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent}.appHeader{position:sticky;top:0;z-index:10;min-height:72px;background:linear-gradient(135deg,#0d633f,#147a50);color:#fff;padding:10px max(16px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 14px #0c3f2a25}.brand{display:flex;align-items:center;gap:10px}.brand img{width:42px;height:42px;border-radius:10px}.brand b{display:block;font-size:21px;line-height:1.05}.brand small{display:block;opacity:.76;margin-top:3px;font-size:12px}.headerLogout{background:#ffffff18;border:1px solid #ffffff35;color:#fff;padding:9px 12px;border-radius:12px;font-size:13px}main{max-width:760px;margin:auto;padding:14px 14px 8px}.hidden{display:none!important}h1,h2{margin:0}button{border:0;border-radius:13px;padding:12px 15px;font:inherit;font-weight:750;background:var(--green);color:#fff;cursor:pointer}button:disabled{opacity:.55}.iconBtn{width:44px;height:44px;padding:0;display:grid;place-items:center;background:var(--mint);color:var(--green);font-size:22px}.card{background:#fff;border-radius:22px;padding:18px;box-shadow:var(--shadow)}.loginCard{margin-top:6vh}.loginBrand{display:flex;align-items:center;gap:14px;margin-bottom:22px}.loginBrand img{width:66px;height:66px;border-radius:15px}.loginBrand h1{font-size:28px}.loginBrand p{margin:3px 0 0;color:var(--muted)}label{display:block;font-weight:700;margin:12px 0}input,select,textarea{width:100%;font:inherit;font-size:16px;padding:13px;border:1px solid #cfd9d3;border-radius:12px;margin-top:6px;background:#fff;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green2);box-shadow:0 0 0 3px #16865a18}.msg{padding:7px 2px;color:#9b2c2c;font-size:14px}.objectBar{background:#fff;border:1px solid #e7ece9;border-radius:18px;padding:9px 10px 9px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 18px #173b2c0c;margin-bottom:14px}.objectBar span{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.objectBar select{margin:0;border:0;padding:8px 30px 8px 8px;font-weight:800;box-shadow:none;background-color:#fff}.titleRow{display:flex;justify-content:space-between;align-items:flex-end;margin:18px 2px 12px}.titleRow h2{font-size:25px}.eyebrow{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--green2);font-weight:850;margin-bottom:2px}.titleActions{display:flex;gap:7px;align-items:center}.titleActions button:not(.iconBtn){padding:10px 13px}.searchInput{margin:0 0 12px;background:#fff}.bottomNav{position:fixed;z-index:15;left:50%;transform:translateX(-50%);bottom:0;width:min(760px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:#fff;border-top:1px solid var(--line);padding:7px 8px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -8px 26px #173b2c12}.bottomNav .tab{background:transparent;color:#77817b;border-radius:13px;padding:6px 2px 5px;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:2px}.bottomNav .tab.active{color:var(--green);background:var(--mint)}.navIcon{font-size:23px;line-height:1}.calendarHead{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;margin:9px 2px 12px}.calendarHead h2{text-align:center;font-size:25px;text-transform:none}.calendarShell{background:#fff;border-radius:20px;padding:9px;box-shadow:var(--shadow)}.calendarWeek,.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendarWeek{margin-bottom:4px}.calendarWeek span{text-align:center;font-size:11px;font-weight:850;color:var(--muted);padding:5px 0}.calendarDay{min-height:73px;background:#f8faf9;border:1px solid #eef2ef;border-radius:11px;padding:6px 5px;overflow:hidden;position:relative}.calendarDay.out{background:transparent;border-color:transparent}.calendarDay.today{outline:2px solid var(--green);outline-offset:-2px}.calendarDay.busy{background:var(--mint);border-color:#dceee4;cursor:pointer}.calendarDay.busy:active{transform:scale(.97)}.dayNum{font-weight:850;font-size:14px}.dayEvent{margin-top:3px;font-size:9px;line-height:1.12;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--green)}.dayEvent+.dayEvent{margin-top:2px}.calendarHint{text-align:center;color:var(--muted);font-size:12px;margin:9px 0 2px}.rez,.customerCard,.laundryCard{background:#fff;border:1px solid #e8eeea;border-radius:18px;padding:15px;margin-bottom:10px;box-shadow:0 5px 20px #173b2c0b}.rez{cursor:pointer}.rez:active,.customerCard:active{transform:scale(.99)}.rez .date{font-size:16px;font-weight:850}.rez .name,.customerName{font-size:18px;font-weight:800;margin:7px 0}.meta{display:flex;gap:6px;flex-wrap:wrap}.pill{background:#f0f5f2;border-radius:999px;padding:6px 9px;font-size:12px}.price{font-weight:850}.customerMeta,.laundryMeta{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.empty{text-align:center;padding:34px;color:var(--muted)}.laundryCard.invoiced{background:var(--mint)}.laundryTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.laundryTitle{font-size:17px;font-weight:850}.laundryInvoice{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:750;margin:0}.laundryInvoice input{width:21px;height:21px;margin:0}.laundryExtra{margin-top:9px;padding-top:9px;border-top:1px solid var(--line);font-size:13px;color:#4f5b54;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.detailBackdrop{position:fixed;inset:0;z-index:30;background:#0b1712a8;display:flex;align-items:flex-end;justify-content:center}.detailPanel{background:var(--bg);width:100%;max-width:760px;max-height:94vh;overflow:auto;border-radius:24px 24px 0 0;padding:8px 14px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px #0003}.grabber{width:42px;height:5px;border-radius:999px;background:#c9d1cc;margin:3px auto 10px}.detailHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.detailHead h2{margin:2px 0 0;font-size:23px}.detailHead small{color:var(--muted)}.closeBtn{font-size:18px}.detailGrid,.editGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.detailItem,.editGrid label{background:#fff;border:1px solid #e8eeea;border-radius:14px;padding:12px;box-shadow:0 2px 10px #173b2c08;margin:0}.detailItem.wide,.editGrid label.wide{grid-column:1/-1}.detailLabel{font-size:11px;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.detailValue{font-size:16px;font-weight:700;white-space:pre-wrap;overflow-wrap:anywhere}.paymentsTitle{margin:18px 2px 8px}.payment{background:#fff;border-radius:14px;padding:12px;margin-bottom:8px;display:flex;justify-content:space-between;gap:12px}.paymentMain{font-weight:700}.paymentNote{font-size:12px;color:var(--muted);margin-top:3px}.paymentAmount{font-weight:850;white-space:nowrap}.detailActions,.editActions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.editGrid input,.editGrid textarea,.editGrid select{margin-top:6px}.editGrid textarea{resize:vertical}.ghost{background:var(--mint);color:var(--green)}button.danger{background:var(--danger)}.customerActions{justify-content:space-between}.checkLabel{display:flex!important;align-items:center;gap:10px}.checkLabel input{width:auto;margin:0}.companyFields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.companyFields.wide{grid-column:1/-1}.companyFields label{margin:0}.companyFields label:last-child{grid-column:1/-1}@media(min-width:700px){#reservations,#customers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rez,.customerCard{margin:0}.detailBackdrop{align-items:center;padding:24px}.detailPanel{border-radius:24px;max-height:90vh}.bottomNav{border-radius:18px 18px 0 0}}@media(max-width:520px){main{padding:12px 10px 4px}.appHeader{min-height:64px}.brand img{width:36px;height:36px}.brand b{font-size:19px}.calendarShell{padding:6px}.calendarWeek,.calendarGrid{gap:3px}.calendarDay{min-height:68px;padding:5px 4px}.dayEvent{font-size:8.5px}.detailGrid,.editGrid{grid-template-columns:1fr}.detailItem.wide,.editGrid label.wide{grid-column:auto}.editActions,.customerActions{flex-direction:column-reverse}.editActions button,.customerActions button{width:100%}.companyFields{grid-template-columns:1fr}.companyFields label:last-child{grid-column:auto}.laundryTop{align-items:center}.laundryExtra{grid-template-columns:1fr 1fr}}@media(max-width:380px){.calendarDay{min-height:63px}.dayEvent{font-size:8px}.bottomNav .tab{font-size:10px}.navIcon{font-size:21px}}

/* Mobile 2.01 polish */
.navIcon{width:24px;height:24px;display:grid;place-items:center}.navIcon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.calendarHint{display:none}.objectBar{padding-top:7px;padding-bottom:7px;margin-bottom:10px}.calendarHead{margin-top:5px}.rez{border-left:4px solid transparent}.statusPill{font-weight:800}
.calendarDay.busy.st-inquiry{background:#f8d7da;border-color:#f8d7da}.calendarDay.busy.st-sent-inquiry{background:#fff0d9;border-color:#efd1a0}.calendarDay.busy.st-offer{background:#fff3cd;border-color:#fff3cd}.calendarDay.busy.st-reserved{background:#d9ead3;border-color:#d9ead3}.calendarDay.busy.st-finished{background:#fde2c5;border-color:#fde2c5}.calendarDay.busy.st-cancelled{background:#e2e3e5;border-color:#e2e3e5}
.dayEvent.st-inquiry{color:#8a6200}.dayEvent.st-sent-inquiry{color:#9a5600}.dayEvent.st-offer{color:#66510a}.dayEvent.st-reserved{color:#0f6b45}.dayEvent.st-finished{color:#65716a}.dayEvent.st-cancelled{color:#a33a32;text-decoration:line-through}.rez.st-inquiry{background:#f8d7da;border-left-color:#f8d7da}.rez.st-sent-inquiry{border-left-color:#d9861b}.rez.st-offer{background:#fff3cd;border-left-color:#fff3cd}.rez.st-reserved{background:#d9ead3;border-left-color:#d9ead3}.rez.st-finished{background:#fde2c5;border-left-color:#fde2c5}.rez.st-cancelled{background:#e2e3e5;border-left-color:#e2e3e5}.statusPill.st-inquiry{background:#f8d7da;color:#5b2328}.statusPill.st-sent-inquiry{background:#ffe6c4;color:#8a4d00}.statusPill.st-offer{background:#fff3cd;color:#66510a}.statusPill.st-reserved{background:#d9ead3;color:#285c2d}.statusPill.st-finished{background:#fde2c5;color:#6b451f}.statusPill.st-cancelled{background:#e2e3e5;color:#555}


/* Mobile 2.08 — desktopová identita hlavičky */
:root{--desktop-blue:#243f5a;--desktop-blue2:#1f374f}
.appHeader{
  min-height:0;
  background:var(--desktop-blue);
  padding:9px max(14px,env(safe-area-inset-left));
  box-shadow:0 2px 12px #14283a30;
}
.headerMain{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.brand{align-items:flex-start;gap:10px;min-width:0}
.brand img{width:43px;height:43px;border-radius:9px;flex:0 0 auto;margin-top:1px}
.brandText{min-width:0}
.brand b{font-size:21px;line-height:1.05;margin-bottom:4px}
.headerObjectLine{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:800;line-height:1.15;margin:2px 0 4px}
.headerObjectLine select{
  appearance:auto;
  width:auto;
  max-width:230px;
  min-width:0;
  margin:0;
  padding:0 20px 0 0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  color:#fff;
  font-size:14px;
  font-weight:800;
}
.headerObjectLine select:focus{box-shadow:none;border:0}
.headerObjectLine select option{color:#17231d;background:#fff}
.brand small{
  display:block;
  opacity:.78;
  margin:0 0 2px;
  font-size:9px;
  letter-spacing:.04em;
}
.headerMeta{display:block;font-size:9px;line-height:1.35;color:#dbe7f0}
.headerLogout{
  flex:0 0 auto;
  background:#ffffff10;
  border:1px solid #ffffff40;
  color:#fff;
  padding:8px 11px;
  border-radius:11px;
  font-size:12px;
  margin-top:1px;
}
#app{padding-top:1px}
.calendarHead{margin-top:8px}
@media(max-width:520px){
  .appHeader{min-height:0;padding-top:8px;padding-bottom:8px}
  .brand img{width:39px;height:39px}
  .brand b{font-size:20px}
  .headerObjectLine,.headerObjectLine select{font-size:13px}
  .headerObjectLine select{max-width:190px}
  .headerMeta,.brand small{font-size:8.5px}
}
@media(max-width:380px){
  .headerObjectLine select{max-width:155px}
  .headerLogout{padding:7px 9px;font-size:11px}
}

/* Mobile 2.08 — návrat na dnešek */
.calendarTitleGroup{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.calendarTitleGroup h2{margin:0;line-height:1.05}
.todayBtn{border:0;background:transparent;color:#087653;font:800 12px/1.1 system-ui,-apple-system,Segoe UI,sans-serif;padding:4px 12px;border-radius:999px;cursor:pointer}
.todayBtn:active{background:#e6f2ed}

/* Mobile 2.08 — telefon + bezpečné menu Akce */
.phoneLink{display:inline-flex;align-items:center;gap:6px;color:#087653;font-weight:800;text-decoration:none;min-height:34px}
.phoneLink:active{text-decoration:underline}
.reservationActionsBox{margin-top:18px}
.actionsToggle{width:100%;background:#243f5a;color:#fff;border:0;border-radius:12px;padding:13px 16px;font-weight:800;font-size:15px}
.reservationActionsMenu{display:grid;gap:8px;margin-top:9px;padding:10px;border:1px solid #dce3e7;border-radius:12px;background:#f7f9fa}
.reservationActionsMenu button{width:100%;text-align:left;padding:11px 12px;border-radius:9px;border:1px solid #d5dadd;background:#fff;color:#25323a;font-weight:700}
.reservationActionsMenu button:disabled{opacity:.5}
.reservationActionsMenu small{color:#6d777c;line-height:1.35;padding:2px 3px}

.inlineCustomerTools{display:flex}.inlineCustomerTools button{width:100%}.inlineNewCustomer{border:1px solid #d9e1e6;border-radius:12px;padding:12px;background:#f7f9fa}.inlineCustomerTitle{font-weight:800;color:#243f5a;margin-bottom:10px}

.phoneLink{display:inline-flex;align-items:center;gap:6px;color:#087653;font-weight:800;text-decoration:none;min-height:34px}
