:root {
  --bg:#f5f5f7; --card:rgba(255,255,255,.88); --solid:#fff; --text:#1d1d1f; --muted:#6e6e73;
  --line:rgba(0,0,0,.08); --blue:#007aff; --blue2:#0a84ff; --red:#ff3b30; --green:#34c759;
  --shadow:0 18px 50px rgba(0,0,0,.08); --radius:24px; --radius-sm:16px;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit} button{cursor:pointer}.hidden{display:none!important}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;padding:22px 14px;background:rgba(248,248,250,.78);backdrop-filter:saturate(180%) blur(30px);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:8px 10px 24px}.brand-icon,.logo-mark{display:grid;place-items:center;background:linear-gradient(145deg,#0a84ff,#0066d6);color:#fff;box-shadow:0 8px 24px rgba(0,122,255,.28)}.brand-icon{width:36px;height:36px;border-radius:11px}.brand strong{display:block;font-size:17px}.brand span{display:block;color:var(--muted);font-size:12px;margin-top:1px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:5px}.nav-item{border:0;background:transparent;border-radius:12px;padding:11px 12px;text-align:left;color:#3a3a3c;display:flex;align-items:center;gap:10px;font-weight:600}.nav-item span{width:22px;text-align:center;color:var(--muted)}.nav-item.active{background:rgba(0,122,255,.11);color:var(--blue)}.nav-item.active span{color:var(--blue)}.nav-item.muted{color:var(--muted)}
.main{margin-left:240px;padding:32px 38px 80px;max-width:1500px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:28px}.eyebrow{font-size:13px;color:var(--muted);font-weight:650}.topbar h1{font-size:34px;line-height:1.08;margin:5px 0 0;letter-spacing:-.04em}.top-actions{display:flex;gap:10px}.btn{border:0;border-radius:13px;padding:11px 16px;font-weight:700;transition:.16s ease}.btn:active{transform:scale(.98)}.btn.primary{background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(0,122,255,.22)}.btn.subtle{background:rgba(118,118,128,.12);color:var(--text)}.btn.danger{background:rgba(255,59,48,.12);color:var(--red)}.btn.full{width:100%}.btn.large{padding:14px 18px;border-radius:15px;font-size:16px}
.view{display:none}.view.active{display:block}.hero-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:18px}.hero-card,.mini-stat,.stat-card,.panel,.customer-card,.session-card{background:var(--card);border:1px solid rgba(255,255,255,.72);box-shadow:0 10px 28px rgba(0,0,0,.045);border-radius:var(--radius)}.hero-card{min-height:220px;padding:30px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:rgba(0,122,255,.08);right:-80px;bottom:-110px}.section-label{font-size:13px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.price-line{display:flex;align-items:baseline;gap:7px;margin:8px 0}.price-line strong{font-size:44px;letter-spacing:-.055em}.price-line span{font-size:18px;color:var(--muted);font-weight:600}.hero-copy p{max-width:600px;color:var(--muted);line-height:1.45;margin:8px 0 0}.battery-orb{width:110px;height:110px;border-radius:35px;background:linear-gradient(145deg,#e8f3ff,#fff);display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(0,122,255,.08),0 14px 40px rgba(0,122,255,.14);z-index:1}.bolt{font-size:43px}.mini-stat{padding:26px;display:flex;flex-direction:column;justify-content:center}.mini-stat span,.stat-card span{font-size:13px;color:var(--muted);font-weight:650}.mini-stat strong{font-size:38px;letter-spacing:-.045em;margin:6px 0}.mini-stat small,.stat-card small{font-size:12px;color:var(--muted)}.mini-stat.danger strong{color:var(--red)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.stat-card{padding:22px}.stat-card strong{display:block;font-size:30px;letter-spacing:-.04em;margin:7px 0 3px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:30px 2px 12px}.section-head h2{font-size:21px;margin:0 0 3px;letter-spacing:-.025em}.section-head p{margin:0;color:var(--muted);font-size:13px}.text-btn{border:0;background:transparent;color:var(--blue);font-weight:650}.panel{overflow:hidden}.list-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.row-main{display:flex;align-items:center;gap:12px;min-width:0}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e9e9ed;font-weight:750;color:#555}.row-text strong{display:block;font-size:14px}.row-text span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.amount{text-align:right}.amount strong{display:block}.amount span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.amount.debt strong{color:var(--red)}
.session-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.session-card{padding:18px}.session-top{display:flex;justify-content:space-between;align-items:start}.session-card h3{margin:0;font-size:16px}.live-dot{font-size:11px;color:var(--green);font-weight:700}.battery-line{margin:20px 0 13px;display:flex;align-items:end;justify-content:space-between}.battery-line strong{font-size:34px;letter-spacing:-.04em}.battery-line span{font-size:12px;color:var(--muted)}.session-actions{display:flex;gap:8px}.session-actions .btn{flex:1}.empty{padding:24px;color:var(--muted);text-align:center;font-size:13px;background:rgba(255,255,255,.55);border:1px dashed rgba(0,0,0,.08);border-radius:18px}
.search-head{align-items:center}.search{border:0;outline:0;background:rgba(118,118,128,.12);border-radius:12px;padding:10px 14px;min-width:260px}.customer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.customer-card{padding:18px;cursor:pointer;transition:.15s ease}.customer-card:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(0,0,0,.07)}.customer-card-head{display:flex;align-items:center;justify-content:space-between}.customer-card h3{margin:0;font-size:16px}.pill{font-size:11px;border-radius:999px;padding:5px 8px;background:rgba(52,199,89,.12);color:#248a3d;font-weight:700}.pill.debt{background:rgba(255,59,48,.11);color:var(--red)}.pill.charging{background:rgba(0,122,255,.11);color:var(--blue)}.balance-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}.balance-box{background:rgba(118,118,128,.07);border-radius:14px;padding:12px}.balance-box span{display:block;color:var(--muted);font-size:11px}.balance-box strong{display:block;font-size:18px;margin-top:3px}.balance-box.debt strong{color:var(--red)}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.18);backdrop-filter:blur(4px);z-index:80}.sheet{position:fixed;z-index:90;right:18px;top:18px;bottom:18px;width:min(480px,calc(100vw - 36px));background:rgba(252,252,254,.96);backdrop-filter:blur(36px) saturate(180%);border:1px solid rgba(255,255,255,.8);box-shadow:0 28px 80px rgba(0,0,0,.19);border-radius:28px;padding:14px 22px 24px;overflow:auto}.sheet-handle{width:38px;height:5px;background:rgba(60,60,67,.18);border-radius:10px;margin:0 auto 18px}.sheet-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:20px}.sheet-head h2{font-size:27px;margin:0;letter-spacing:-.04em}.sheet-head p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.icon-btn{border:0;width:34px;height:34px;border-radius:50%;background:rgba(118,118,128,.12);font-size:17px}.field{margin:14px 0}.field label{display:block;font-size:12px;color:var(--muted);font-weight:650;margin:0 0 6px 2px}.input,.select{width:100%;border:1px solid rgba(0,0,0,.07);outline:0;background:#fff;border-radius:14px;padding:13px 14px;font-size:16px;box-shadow:0 1px 1px rgba(0,0,0,.02)}.input:focus,.select:focus{border-color:rgba(0,122,255,.42);box-shadow:0 0 0 4px rgba(0,122,255,.1)}.percent-input-wrap{position:relative}.percent-input-wrap .input{font-size:36px;font-weight:750;letter-spacing:-.04em;padding-right:55px}.percent-sign{position:absolute;right:17px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--muted);font-weight:700}.form-error{color:var(--red);font-size:12px;margin-top:10px;min-height:16px}.hint{background:rgba(0,122,255,.07);border-radius:14px;padding:12px 14px;color:#315b80;font-size:12px;line-height:1.45}.danger-hint{background:rgba(255,59,48,.08);color:#8d2f2a}.divider{height:1px;background:var(--line);margin:20px 0}.sheet-actions{display:flex;gap:10px;margin-top:20px}.sheet-actions .btn{flex:1}.account-total{background:#fff;border-radius:20px;padding:18px;margin:14px 0;box-shadow:0 5px 18px rgba(0,0,0,.04)}.account-total span{font-size:12px;color:var(--muted)}.account-total strong{display:block;font-size:36px;letter-spacing:-.045em;margin-top:4px}.account-total strong.debt{color:var(--red)}.segmented{display:flex;background:rgba(118,118,128,.12);border-radius:12px;padding:3px;gap:3px}.segmented button{flex:1;border:0;background:transparent;border-radius:9px;padding:9px;font-weight:650;color:var(--muted)}.segmented button.active{background:#fff;color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.08)}.qr-wrap{display:grid;place-items:center;background:#fff;border-radius:24px;padding:18px;margin:16px 0}.qr-wrap img{width:min(100%,300px);border-radius:10px}.qr-meta{text-align:center}.qr-meta strong{display:block;font-size:30px}.qr-meta span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.mini-list{border-radius:16px;background:#fff;overflow:hidden}.mini-row{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:13px}.mini-row:last-child{border-bottom:0}.mini-row span{color:var(--muted)}
.login-view{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 10%,#e9f3ff 0,transparent 35%),var(--bg)}.login-card{width:min(360px,100%);text-align:center;background:rgba(255,255,255,.82);backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.9);border-radius:30px;padding:34px;box-shadow:var(--shadow)}.logo-mark{width:64px;height:64px;border-radius:20px;margin:0 auto 18px;font-size:28px}.login-card h1{font-size:30px;letter-spacing:-.045em;margin:0}.login-card p{color:var(--muted);margin:6px 0 22px}.pin-input{width:100%;text-align:center;letter-spacing:.3em;border:0;outline:0;background:rgba(118,118,128,.10);border-radius:14px;padding:13px;font-size:24px;margin-bottom:10px}
.toast{position:fixed;z-index:120;left:50%;bottom:28px;transform:translateX(-50%);background:rgba(29,29,31,.92);color:#fff;border-radius:999px;padding:11px 16px;font-size:13px;font-weight:650;box-shadow:0 12px 30px rgba(0,0,0,.18)}.mobile-nav{display:none}
@media(max-width:1050px){.customer-grid,.session-grid{grid-template-columns:repeat(2,1fr)}.hero-row{grid-template-columns:1fr}.mini-stat{min-height:140px}}
@media(max-width:760px){body{padding-bottom:80px}.sidebar{display:none}.main{margin-left:0;padding:22px 16px 110px}.topbar{align-items:center;margin-bottom:22px}.topbar h1{font-size:30px}.top-actions #newCustomerBtn{display:none}.top-actions #startChargeBtn{display:none}.hero-card{min-height:190px;padding:22px}.battery-orb{width:76px;height:76px;border-radius:24px}.bolt{font-size:30px}.price-line strong{font-size:38px}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid .stat-card:last-child{grid-column:1/-1}.customer-grid,.session-grid{grid-template-columns:1fr}.search-head{align-items:flex-start;flex-direction:column}.search{width:100%;min-width:0}.sheet{left:0;right:0;top:auto;bottom:0;width:100%;max-height:91vh;border-radius:28px 28px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.mobile-nav{display:grid;position:fixed;z-index:50;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);background:rgba(249,249,251,.86);backdrop-filter:blur(30px) saturate(180%);border:1px solid rgba(255,255,255,.8);border-radius:22px;padding:7px 6px;box-shadow:0 16px 40px rgba(0,0,0,.15)}.mobile-nav-item{border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 2px}.mobile-nav-item span{font-size:19px}.mobile-nav-item small{font-size:9px;font-weight:650}.mobile-nav-item.active{color:var(--blue)}.mobile-charge{border:0;width:48px;height:48px;border-radius:16px;background:var(--blue);color:#fff;font-size:20px;margin:-15px auto 0;box-shadow:0 8px 20px rgba(0,122,255,.3)}.list-row{padding:14px}.hero-copy p{font-size:12px}}
@media(prefers-color-scheme:dark){:root{--bg:#0d0d0f;--card:rgba(29,29,31,.86);--solid:#1c1c1e;--text:#f5f5f7;--muted:#98989d;--line:rgba(255,255,255,.08)}.sidebar{background:rgba(20,20,22,.78)}.nav-item{color:#d1d1d6}.nav-item.active{background:rgba(10,132,255,.16)}.hero-card,.mini-stat,.stat-card,.panel,.customer-card,.session-card{border-color:rgba(255,255,255,.05)}.battery-orb{background:linear-gradient(145deg,#16283a,#202022)}.balance-box{background:rgba(118,118,128,.12)}.search,.pin-input{background:rgba(118,118,128,.18);color:var(--text)}.sheet{background:rgba(28,28,30,.96);border-color:rgba(255,255,255,.08)}.input,.select,.account-total,.mini-list,.qr-wrap{background:#242426;color:var(--text);border-color:rgba(255,255,255,.07)}.segmented button.active{background:#3a3a3c;color:#fff}.login-card{background:rgba(28,28,30,.84);border-color:rgba(255,255,255,.08)}.mobile-nav{background:rgba(28,28,30,.88);border-color:rgba(255,255,255,.06)}}

@media(max-width:760px){
  body{padding-bottom:80px}

  .sidebar{display:none}

  .main{
    margin-left:0;
    padding:22px 16px 110px
  }

  .topbar{
    align-items:center;
    margin-bottom:22px
  }

  .topbar h1{
    font-size:30px
  }

  /* NOVĚ: zákazník zůstane viditelný */
  .top-actions{
    display:flex;
    gap:8px;
  }

  .top-actions #newCustomerBtn{
    display:block;
  }

  /* Nabíjení už má vlastní velké tlačítko dole */
  .top-actions #startChargeBtn{
    display:none;
  }

  .hero-card{
    min-height:190px;
    padding:22px
  }

  .battery-orb{
    width:76px;
    height:76px;
    border-radius:24px
  }

  .bolt{
    font-size:30px
  }

  .price-line strong{
    font-size:38px
  }

  .stats-grid{
    grid-template-columns:1fr 1fr
  }

  .stats-grid .stat-card:last-child{
    grid-column:1/-1
  }

  .customer-grid,
  .session-grid{
    grid-template-columns:1fr
  }

  .search-head{
    align-items:flex-start;
    flex-direction:column
  }

  .search{
    width:100%;
    min-width:0
  }

  .sheet{
    left:0;
    right:0;
    top:auto;
    bottom:0;
    width:100%;
    max-height:91vh;
    border-radius:28px 28px 0 0;
    padding-bottom:calc(24px + env(safe-area-inset-bottom))
  }

  .mobile-nav{
    display:grid;
    position:fixed;
    z-index:50;
    left:10px;
    right:10px;
    bottom:calc(8px + env(safe-area-inset-bottom));
    grid-template-columns:repeat(5,1fr);
    background:rgba(249,249,251,.86);
    backdrop-filter:blur(30px) saturate(180%);
    border:1px solid rgba(255,255,255,.8);
    border-radius:22px;
    padding:7px 6px;
    box-shadow:0 16px 40px rgba(0,0,0,.15)
  }

  .mobile-nav-item{
    border:0;
    background:transparent;
    color:var(--muted);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
    padding:5px 2px
  }

  .mobile-nav-item span{
    font-size:19px
  }

  .mobile-nav-item small{
    font-size:9px;
    font-weight:650
  }

  .mobile-nav-item.active{
    color:var(--blue)
  }

  .mobile-charge{
    border:0;
    width:48px;
    height:48px;
    border-radius:16px;
    background:var(--blue);
    color:#fff;
    font-size:20px;
    margin:-15px auto 0;
    box-shadow:0 8px 20px rgba(0,122,255,.3)
  }

  .list-row{
    padding:14px
  }

  .hero-copy p{
    font-size:12px
  }
}