:root{--g:#1D9E75;--gl:#E1F5EE;--gd:#0F6E56;--r:#E24B4A;--rl:#FCEBEB;--o:#EF9F27;--ol:#FAEEDA;--b:#378ADD;--bl:#E6F1FB;--t:#1a1a1a;--tm:#6b7280;--bg:#f5f5f2;--s:#fff;--br:rgba(0,0,0,.1);--sw:220px;--rad:8px;--radl:12px}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;font-size:14px;background:var(--bg);color:var(--t);line-height:1.5}
a{color:var(--g);text-decoration:none}a:hover{text-decoration:underline}
.app{display:flex;min-height:100vh}

/* Sidebar */
.sidebar{width:var(--sw);background:var(--s);border-right:1px solid var(--br);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100}
.logo{padding:18px 20px;border-bottom:1px solid var(--br);display:flex;align-items:center;gap:10px}
.logo-i{width:34px;height:34px;background:var(--g);border-radius:var(--rad);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px}
.logo-n{font-size:14px;font-weight:600;line-height:1.2}
.logo-s{font-size:11px;color:var(--tm)}
.snav{padding:10px 8px;flex:1;overflow-y:auto}
.ns{font-size:10px;font-weight:600;color:var(--tm);letter-spacing:.8px;text-transform:uppercase;padding:10px 10px 4px}
.nl{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--rad);color:var(--tm);font-size:13px;margin-bottom:2px;transition:all .15s}
.nl:hover{background:var(--bg);color:var(--t);text-decoration:none}
.nl.on{background:var(--gl);color:var(--gd);font-weight:500}
.su{padding:12px 16px;border-top:1px solid var(--br);display:flex;align-items:center;gap:10px}
.av{width:32px;height:32px;border-radius:50%;background:var(--gl);color:var(--gd);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}

/* Main */
.main{margin-left:var(--sw);flex:1;display:flex;flex-direction:column;min-height:100vh;background:var(--bg)}
.topbar{position:sticky;top:0;z-index:50;background:var(--s);border-bottom:1px solid var(--br);padding:0 24px;height:56px;display:flex;align-items:center;gap:12px}
.tt{font-size:15px;font-weight:600;flex:1}
.srch{padding:6px 12px;border:1px solid var(--br);border-radius:20px;background:var(--bg);font-size:13px;color:var(--t);width:200px;outline:none}
.srch:focus{border-color:var(--g)}
.con{padding:24px;background:var(--bg)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:var(--rad);border:1px solid var(--br);background:var(--s);color:var(--t);font-size:13px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:all .15s}
.btn:hover{background:var(--bg);text-decoration:none}
.bp{background:var(--g);color:#fff;border-color:var(--g)}.bp:hover{background:var(--gd)}
.bd{background:var(--r);color:#fff;border-color:var(--r)}.bd:hover{background:#c23b3a}
.bs{padding:4px 10px;font-size:12px}

/* Card */
.card{background:var(--s);border:1px solid var(--br);border-radius:var(--radl);overflow:hidden}
.ch{padding:14px 18px;border-bottom:1px solid var(--br);display:flex;align-items:center;justify-content:space-between}
.ct{font-size:14px;font-weight:600}
.cb{padding:16px 18px}

/* Stats */
.sg{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin-bottom:22px}
.sc{background:var(--s);border:1px solid var(--br);border-radius:var(--radl);padding:16px}
.sl{font-size:11px;font-weight:600;color:var(--tm);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}
.sv{font-size:24px;font-weight:700;line-height:1}
.ss{font-size:11px;color:var(--tm);margin-top:5px}
.cg{color:var(--g)}.cr{color:var(--r)}

/* Table */
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse}
thead th{text-align:left;padding:10px 16px;font-size:11px;font-weight:600;color:var(--tm);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--br);white-space:nowrap}
tbody td{padding:11px 16px;border-bottom:1px solid var(--br);font-size:13px}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover td{background:var(--bg)}

/* Badge */
.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}
.bg{background:var(--gl);color:var(--gd)}.br2{background:var(--rl);color:#7a1f1f}.bo{background:var(--ol);color:#6b3a06}.bb{background:var(--bl);color:#0c3d7a}.bgy{background:#f1efe8;color:#5f5e5a}

/* Alert */
.alert{padding:12px 16px;border-radius:var(--rad);margin-bottom:16px;font-size:13px;display:flex;align-items:center;gap:10px}
.as{background:var(--gl);color:var(--gd);border:1px solid #9FE1CB}
.ae{background:var(--rl);color:#7a1f1f;border:1px solid #F0999B}
.aw{background:var(--ol);color:#6b3a06;border:1px solid #FAC775}

/* Forms */
.fg{margin-bottom:16px}
.fl{display:block;font-size:13px;font-weight:500;margin-bottom:5px}
.fc{width:100%;padding:8px 12px;border:1px solid var(--br);border-radius:var(--rad);background:var(--s);font-size:13px;color:var(--t);outline:none;transition:border-color .15s}
.fc:focus{border-color:var(--g)}
.fh{font-size:11px;color:var(--tm);margin-top:4px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fr3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}

/* Page header */
.ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.ph h1{font-size:22px;font-weight:700}
.bc{font-size:12px;color:var(--tm);margin-bottom:4px}
.bc a{color:var(--tm)}

/* Props */
.pg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.pc{background:var(--s);border:1px solid var(--br);border-radius:var(--radl);overflow:hidden;transition:border-color .2s}
.pc:hover{border-color:var(--g)}
.pth{height:90px;display:flex;align-items:center;justify-content:center;font-size:36px}
.pb{padding:12px 14px}
.pn{font-size:14px;font-weight:600;margin-bottom:2px}
.pa{font-size:12px;color:var(--tm)}
.pf{padding:10px 14px;border-top:1px solid var(--br);display:flex;justify-content:space-between;align-items:center}

/* Tenants */
.tc{background:var(--s);border:1px solid var(--br);border-radius:var(--radl);padding:14px 16px;display:flex;align-items:center;gap:14px;margin-bottom:10px;transition:border-color .2s}
.tc:hover{border-color:var(--g)}
.tav{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}

/* Progress */
.prg{height:6px;background:var(--bg);border-radius:3px;overflow:hidden;margin-top:6px}
.pb2{height:100%;background:var(--g);border-radius:3px;transition:width .4s}

/* Bank */
.bl2{width:44px;height:44px;border-radius:var(--rad);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex-shrink:0}
.bcsob{background:#003087;color:#fff}.bkb{background:#cc0000;color:#fff}

/* Tabs */
.mt{display:flex;gap:4px;margin-bottom:18px;flex-wrap:wrap}
.mt a{padding:5px 13px;border-radius:20px;border:1px solid var(--br);background:var(--s);font-size:12px;color:var(--tm);text-decoration:none;transition:all .15s}
.mt a:hover{background:var(--bg);color:var(--t)}
.mt a.on{background:var(--g);color:#fff;border-color:var(--g)}

/* Grid */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.mb4{margin-bottom:16px}.mb3{margin-bottom:12px}
.mb4{margin-bottom:16px}
.mb6{margin-bottom:24px}
.row{display:flex;align-items:center;gap:8px}

/* Login */
.lw{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}
.lc{background:var(--s);border:1px solid var(--br);border-radius:var(--radl);padding:36px 40px;width:100%;max-width:400px}
.li{width:50px;height:50px;background:var(--g);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;font-weight:800;margin:0 auto 10px}

/* Mini bar chart */
.chart{display:flex;align-items:flex-end;gap:5px;height:80px;padding-bottom:0}
.bar{flex:1;border-radius:3px 3px 0 0;background:var(--gl);min-height:4px;transition:background .2s}
.bar.cur{background:var(--g)}

@media(max-width:768px){.fr,.fr3,.g2,.g3{grid-template-columns:1fr}}

/* ── v5 rozšíření ─────────────────────────────────────────── */
/* Building cards */
.dash-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;margin-bottom:12px}
@media(max-width:1100px){.dash-grid{grid-template-columns:minmax(0,1fr);max-width:100%}}
.bld-card{background:var(--s);border:1px solid var(--br);border-radius:var(--radl);overflow:hidden;margin-bottom:18px}
.bld-header{padding:14px 18px;background:var(--gl);border-bottom:1px solid var(--br);display:flex;align-items:center;justify-content:space-between;gap:12px}
.bld-title{font-size:15px;font-weight:600;color:var(--gd)}
.bld-props{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--br)}
.bld-prop{background:var(--s);padding:12px 16px;cursor:pointer;transition:background .15s}
.bld-prop:hover{background:var(--bg)}
.bld-prop-name{font-size:13px;font-weight:500;margin-bottom:3px}
.bld-prop-meta{font-size:11px;color:var(--tm)}
.bld-prop-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.bld-prop-rent{font-size:13px;font-weight:600}

/* Payment method pill */
.method-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}
.mp-cash{background:#FAEEDA;color:#6b3a06}
.mp-bank{background:#E6F1FB;color:#0c3d7a}
.mp-card{background:#F0EDF8;color:#4B3B8C}

/* Billing items table */
.billing-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--br)}
.billing-row:last-child{border-bottom:none}
.billing-name{flex:1;font-size:13px}
.billing-amount{font-size:14px;font-weight:600;color:var(--g)}
.billing-total{font-size:16px;font-weight:700;padding:10px 0;border-top:2px solid var(--br);display:flex;justify-content:space-between}

/* Deposit bar */
.dep-bar-wrap{height:8px;background:var(--bg);border-radius:4px;overflow:hidden;margin:6px 0}
.dep-bar-fill{height:100%;border-radius:4px;background:var(--g)}

/* Note cards */
.note-grid{display:flex;flex-direction:column;gap:10px}
.note-card{border-radius:var(--radl);padding:8px 12px;border:1px solid rgba(0,0,0,.12);position:relative;transition:box-shadow .2s;color:#333}
.note-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.15)}
.note-title{font-size:13px;font-weight:700;margin-bottom:3px;color:#222}
.note-content{font-size:12px;color:#444;word-break:break-word;max-height:200px;overflow:hidden;line-height:1.4}
.note-footer{margin-top:5px;display:flex;gap:6px;align-items:center}
.pin-badge{font-size:11px;color:#666;font-weight:600}
/* dark mode - poznámky mají světlé pozadí, text vždy tmavý */
body.dark .note-card:not(.note-dark){color:#222 !important;border-color:rgba(0,0,0,.2) !important}
body.dark .note-card:not(.note-dark) .note-title{color:#111 !important}
body.dark .note-card:not(.note-dark) .note-content{color:#333 !important}
body.dark .note-card:not(.note-dark) .note-footer .btn{background:rgba(0,0,0,.1) !important;color:#333 !important;border-color:rgba(0,0,0,.15) !important}
/* Tmavá poznámka - stejný styl jako pokladna záznamy */
.note-dark{color:var(--tm) !important;border-color:var(--br) !important}
.note-dark .note-title{color:var(--t) !important;font-weight:600}
.note-dark .note-content{color:var(--tm) !important}
.note-dark .pin-badge{color:var(--g) !important}
body.dark .note-dark{background:var(--s) !important;color:#e8eaf0 !important}
body.dark .note-dark .note-title{color:#e8eaf0 !important}
body.dark .note-dark .note-content{color:#8b90a0 !important}

/* Cashbook */
.cash-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--br)}
.cash-row:last-child{border-bottom:none}
.cash-type{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.cash-in{background:var(--g)}.cash-out{background:var(--r)}
.cash-desc{flex:1;font-size:13px}
.cash-amt-in{font-size:13px;font-weight:600;color:var(--g)}
.cash-amt-out{font-size:13px;font-weight:600;color:var(--r)}
.cash-balance-box{background:var(--gl);border-radius:var(--rad);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}

/* Log timeline */
.log-list{list-style:none;padding:0;position:relative}
.log-list::before{content:'';position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--br)}
.log-item{display:flex;gap:14px;padding:8px 0;padding-left:30px;position:relative}
.log-item::before{content:'';position:absolute;left:6px;top:14px;width:10px;height:10px;border-radius:50%;background:var(--primary-light);border:2px solid var(--g);background:var(--gl)}
.log-item-body{flex:1}
.log-action{font-size:12px;font-weight:500;color:var(--gd)}
.log-desc{font-size:12px;color:var(--tm);margin-top:2px}
.log-time{font-size:11px;color:var(--tm);flex-shrink:0;margin-top:2px}

/* File list */
.file-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--br)}
.file-row:last-child{border-bottom:none}
.file-icon{width:36px;height:36px;border-radius:var(--rad);display:flex;align-items:center;justify-content:center;font-size:18px;background:var(--bg);flex-shrink:0}
.file-info{flex:1;min-width:0}
.file-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-meta{font-size:11px;color:var(--tm)}

/* Public property page */
.pub-hero{background:linear-gradient(135deg,var(--g),var(--gd));color:#fff;padding:40px;border-radius:var(--radl);margin-bottom:24px}
.pub-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:24px}
.pub-gallery img{width:100%;height:150px;object-fit:cover;border-radius:var(--rad)}

/* Stat row inline */
.stat-inline{display:flex;gap:4px;align-items:baseline}
.stat-inline .sv{font-size:18px}
.stat-inline .ss{font-size:12px;color:var(--tm)}

/* Tabs */
.tabs-nav{display:flex;border-bottom:2px solid var(--br);margin-bottom:20px;gap:0}
.tab-btn{padding:10px 18px;font-size:13px;cursor:pointer;color:var(--tm);border-bottom:2px solid transparent;margin-bottom:-2px;background:none;border-top:none;border-left:none;border-right:none;transition:all .15s;font-family:inherit}
.tab-btn:hover{color:var(--t)}
.tab-btn.active{color:var(--g);border-bottom-color:var(--g);font-weight:500}
.tab-pane{display:none}.tab-pane.active{display:block}

/* Drag & Drop upload zona */
.drop-zone {
  border: 2px dashed var(--br);
  border-radius: var(--rad);
  padding: 28px 20px;
  text-align: center;
  cursor: pointer;
  transition: all .2s;
  background: var(--bg);
  position: relative;
}
.drop-zone:hover, .drop-zone.drop-active {
  border-color: var(--g);
  background: var(--gl);
}
.drop-zone input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
}
.drop-zone .drop-icon { font-size: 32px; margin-bottom: 8px; }
.drop-label { font-size: 13px; color: var(--tm); margin-bottom: 6px; }
.drop-hint  { font-size: 11px; color: var(--tm); }
.drop-zone:hover .drop-label { color: var(--gd); }

/* ── Dark mode ──────────────────────────────────────────────── */
body.dark {
  --bg:  #111318;
  --s:   #1c1f26;
  --br:  #2a2d35;
  --t:   #e8eaf0;
  --tm:  #8b90a0;
  --gd:  #4ade80;
  --gl:  #1a2e1e;
  --rl:  #2e1a1a;
  --ol:  #2e2514;
}
body.dark .sidebar    { background:#13161c; border-right-color:#2a2d35; }
body.dark .topbar     { background:#13161c; border-bottom-color:#2a2d35; }
body.dark .card       { background:#1c1f26; border-color:#2a2d35; }
body.dark .fc         { background:#13161c; border-color:#2a2d35; color:#e8eaf0; }
body.dark .fc:focus   { border-color:var(--g); }
body.dark .btn        { background:#2a2d35; color:#e8eaf0; border-color:#3a3d45; }
body.dark .btn:hover  { background:#3a3d45; }
body.dark .btn.bp     { background:var(--g); color:#fff; }
body.dark .btn.bp:hover { background:var(--gd); }
body.dark .tw table   { border-color:#2a2d35; }
body.dark .tw th      { background:#13161c; color:#8b90a0; border-color:#2a2d35; }
body.dark .tw td      { border-color:#2a2d35; }
body.dark .nl         { color:#8b90a0; }
body.dark .nl:hover, body.dark .nl.on { background:#2a2d35; color:#e8eaf0; }
body.dark .mt a       { background:#1c1f26; color:#8b90a0; border-color:#2a2d35; }
body.dark .mt a.on    { background:#2a2d35; color:#e8eaf0; }
body.dark .sg .sc     { background:#1c1f26; border-color:#2a2d35; }
body.dark .drop-zone  { background:#13161c; border-color:#2a2d35; }
body.dark .drop-zone:hover { background:#1a2e1e; border-color:var(--g); }
body.dark .note-card  { border-color:#2a2d35; }
body.dark .cash-balance-box { background:#1a2e1e; }
body.dark .tab-btn    { color:#8b90a0; }
body.dark .tab-btn.active { color:var(--g); border-color:var(--g); }
body.dark .bld-card   { background:#1c1f26; border-color:#2a2d35; }
body.dark .bld-header { background:#13161c; border-color:#2a2d35; }
body.dark .bld-prop:hover { background:#2a2d35; }
body.dark .prg        { background:#2a2d35; }
body.dark input[type="radio"], body.dark input[type="checkbox"] { accent-color:var(--g); }
body.dark .lw         { background:#111318; }
body.dark .lc         { background:#1c1f26; border-color:#2a2d35; }
body.dark select option { background:#1c1f26; }

/* ── Mobilní layout ─────────────────────────────────────────── */
@media (max-width: 768px) {
  /* Skryj sidebar, přidej hamburger */
  .main { margin-left: 0 !important; width: 100%; }
  .con { padding: 12px !important; }
  .sg { grid-template-columns: repeat(2,1fr) !important; gap: 8px !important; }
  .dash-grid { grid-template-columns: minmax(0,1fr) !important; } /* minmax(0,1fr), ne holé 1fr - jinak grid sloupec nejde zúžit pod širší obsah uvnitř (např. tabulku) a přetéká přes viewport */
  .sc { padding: 12px !important; }
  .sv { font-size: 18px !important; }
  .sl { font-size: 10px !important; }
  /* Všechny containery max 100% šířky */
  .card, .cb, .ch { box-sizing: border-box; max-width: 100%; }
  /* Tabulky - horizontální scroll místo přetékání */
  .card table, table { display: block; overflow-x: auto; max-width: 100%; }
  /* Grid vedle sebe - jen 1 sloupec */
  .g2, .g3, .fr, .fr3, .dash-duo, .dash-3col { grid-template-columns: minmax(0,1fr) !important; }
  .sidebar { 
    position: fixed; left: -260px; top: 0; bottom: 0; z-index: 200;
    width: 260px; transition: left .25s; box-shadow: 2px 0 20px rgba(0,0,0,.15);
  }
  .sidebar.mob-open { left: 0; }
  .mob-overlay {
    display: none; position: fixed; inset: 0; background: rgba(0,0,0,.4);
    z-index: 199;
  }
  .mob-overlay.open { display: block; }
  
  /* Topbar s hamburgerem */
  .topbar {
    padding: 0 14px;
    display: flex; align-items: center; gap: 12px;
  }
  .mob-hamburger {
    background: none; border: none; cursor: pointer; padding: 4px;
    color: var(--t); flex-shrink: 0; display: flex; align-items: center;
  }
  .mob-hamburger svg { width: 22px; height: 22px; }
  
  /* Main content plná šířka */
  .main { margin-left: 0 !important; }
  .con  { padding: 12px !important; }
  
  /* Grid - vždy 1 sloupec */
  .g2, .g3, .fr, .fr3 {
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
  }
  
  /* Tabulky - horizontální scroll */
  .tw { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .tw table { min-width: 500px; }
  
  /* Karty nemovitostí */
  .bld-props { grid-template-columns: 1fr 1fr !important; }
  
  /* Hlavička stránky */
  .ph {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  .ph .row { flex-wrap: wrap; }
  
  /* Stats grid */
  .sg { grid-template-columns: 1fr 1fr !important; }
  
  /* Tabs - scroll vodorovně */
  .tabs-nav {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap !important; padding-bottom: 2px;
  }
  .tab-btn { white-space: nowrap; flex-shrink: 0; }
  
  /* Formuláře */
  .fc { font-size: 16px !important; } /* Zabrání zoom na iOS */
  
  /* Nájemník card */
  .tc { flex-direction: column !important; align-items: flex-start !important; }
  .tc .row { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
  
  /* Platby - skryj méně důležité sloupce */
  .tw table th:nth-child(7),
  .tw table td:nth-child(7) { display: none; } /* skryj VS */
  
  /* Rychlá platba */
  form[id] > div.fr { flex-direction: column !important; }
  
  /* Sidebar navigace na mobilu - větší touch targets */
  .nl { padding: 12px 16px !important; font-size: 15px !important; }
  
  /* Poznámky grid */
  .note-grid { grid-template-columns: 1fr !important; }
  
  /* Drop zone */
  .drop-zone { padding: 20px 12px !important; }
  
  /* Galerie detail */
  .pub-gallery { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 480px) {
  .sg { grid-template-columns: repeat(2,1fr) !important; }
  .bld-props { grid-template-columns: 1fr !important; }
  h1 { font-size: 20px !important; }
  .btn { padding: 7px 12px !important; font-size: 12px !important; }
}

/* ── Mobilní bottom navigation ──────────────────────────────── */
.mob-bottom-nav {
  display: none !important; /* Skrytá na desktopu vždy */
  position: fixed; bottom: 0; left: 0; right: 0;
  width: 100%; max-width: 100vw; box-sizing: border-box; /* left/right:0 samo o sobě šířku nevynutilo (flex auto-width v Chromu), radši explicitně */
  background: var(--s); border-top: 1px solid var(--br);
  z-index: 100; padding: 6px 0 env(safe-area-inset-bottom, 6px);
  flex-direction: row; justify-content: space-around; align-items: center;
}
.mbn-item {
  display: flex; flex-direction: column; align-items: center; gap: 3px;
  flex: 1; min-width: 0; /* jinak flex položka nejde zúžit pod přirozenou šířku textu a celá lišta (a s ní stránka) přeteče přes mobilní viewport */
  text-decoration: none; color: var(--tm); padding: 4px 0;
  font-size: 10px; font-weight: 500; transition: color .15s;
}
.mbn-item svg { width: 22px !important; height: 22px !important; flex-shrink: 0; }
.mbn-item span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mbn-item.active { color: var(--g); }
.mbn-item:hover  { color: var(--g); }

@media (max-width: 768px) {
  .mob-bottom-nav { display: flex !important; }
  .con { padding-bottom: 80px !important; } /* prostor pro bottom nav */
}

/* ── Datepicker styling ─────────────────────────────── */
input[type="date"] {
  position: relative;
  cursor: pointer;
}
input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  cursor: pointer;
  opacity: 0.6;
  filter: var(--date-icon-filter, none);
  padding: 2px;
  border-radius: 4px;
  background-color: transparent;
  transition: opacity .15s, background-color .15s;
}
input[type="date"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
  background-color: var(--gl);
}
body.dark input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1) brightness(0.8);
}
/* Padding vpravo aby text nepřekrýval ikonu */
input[type="date"] {
  padding-right: 36px !important;
}
/* Mobile - větší touch area */
@media (max-width: 768px) {
  input[type="date"]::-webkit-calendar-picker-indicator {
    width: 28px;
    height: 28px;
    right: 6px;
  }
}

/* Skryj šipky u number inputů */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }

.bg2 { background: var(--gl); color: var(--gd); }
