:root{
  --bg1:#111827;
  --glass: rgba(255,255,255,.10);
  --glass2: rgba(255,255,255,.06);
  --stroke: rgba(255,255,255,.14);
  --stroke2: rgba(255,255,255,.10);
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.62);
  --muted2: rgba(255,255,255,.42);
  --shadow: 0 18px 60px rgba(0,0,0,.55);
  --radius: 28px;
  --accent: #38bdf8;
  --accent2: #7dd3fc;
  --accent3: #e0f2fe;
  --danger: #ef4444;
  --warn: #f59e0b;
  --ok: #22c55e;
}

/* Modern blue brand text */
.brand-blue, .brand-orange, .brand-ocean{
  color: var(--accent);
  font-weight: 800;
  letter-spacing: -.2px;
  text-shadow: 0 10px 30px rgba(43,179,192,.16);
}
@supports (-webkit-background-clip:text) or (background-clip:text){
  .brand-blue, .brand-orange, .brand-ocean{
    background: linear-gradient(90deg, var(--accent) 0%, var(--accent2) 45%, var(--accent3) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: 0 10px 30px rgba(43,179,192,.22);
  }
}

*{box-sizing:border-box}
html,body{height:100%; background:#111827; overscroll-behavior:none;}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 800px at 24% 14%, #0f172a 0%, #050816 48%, #000000 100%);
  overflow:hidden;
}

.stage{
  height: var(--app-height, 100vh);
  min-height: 100dvh;
  display:block;
  padding:0;
  background:#000000;
}

.frame{
  position:relative;
  width:100%;
  height:100%;
  min-height:100dvh;
  border-radius: 0;
  overflow:hidden;
  box-shadow: var(--shadow);
  background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.10);
}

.bg{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 600px at 68% 44%, rgba(255,255,255,.06), transparent 55%),
    radial-gradient(700px 500px at 30% 40%, rgba(255,255,255,.05), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}
.bg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: url('logo-bg-strong.webp') center center / clamp(620px, 90vw, 1320px) auto no-repeat;
  opacity:.42;
  filter: drop-shadow(0 26px 70px rgba(0,0,0,.36)) brightness(1.12) contrast(1.12) saturate(1.08);
  mix-blend-mode: screen;
}
@media (max-width: 900px){
  .bg::after{
    background-size: clamp(480px, 100vw, 980px) auto;
    opacity:.34;
  }
}

.blob{position:absolute; filter: blur(22px); opacity:.65; transform: translateZ(0)}
.blob.b1{width:520px;height:520px; left:-120px; top:-140px; background: radial-gradient(circle at 30% 30%, rgba(95,217,231,.28), transparent 55%)}
.blob.b2{width:520px;height:520px; right:-180px; top:30px; background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.11), transparent 58%)}
.blob.b3{width:420px;height:420px; left:120px; bottom:-160px; background: radial-gradient(circle at 40% 40%, rgba(255,255,255,.14), transparent 60%)}

.noise{
  position:absolute; inset:0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
  opacity:.08;
  pointer-events:none;
}


.meta{
  position:absolute;
  font-size:12px;
  color: rgba(255,255,255,.86);
  text-shadow: 0 6px 20px rgba(0,0,0,.55);
  letter-spacing:.1px;
  z-index:2;
  user-select:none;
  pointer-events:none;
}
.meta-tl{left:22px; top:18px; font-weight:600}
.meta-bl{left:22px; bottom:18px; opacity:.9; font-weight:600}
.meta-br{right:22px; bottom:18px; text-align:right; opacity:.92}
.meta-small{font-size:11px; opacity:.75}
.meta-big{font-size:12px; font-weight:600}
.meta-name{line-height:1.08}

.dock{
  position:absolute;
  left:18px; top:50%;
  transform: translateY(-50%);
  z-index: 6;
  display:flex; flex-direction:column;
  gap:10px;
  padding:10px;
  border-radius: 20px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
}

.dock-btn{
  width:42px;height:42px;
  display:grid; place-items:center;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.85);
  cursor:pointer;
  transition: transform .15s ease, background .15s ease;
}
.dock-btn svg{width:20px;height:20px}
.dock-btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.08)}
.dock-btn.is-active{background: rgba(255,255,255,.14)}

/* Dock app launcher (Apps) */
.modal-sm{ width:min(520px, 100%); }
.dock-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:10px;
  padding: 4px;
}
.dock-app{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.92);
  border-radius: 18px;
  padding:12px 12px;
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.dock-app:hover{ transform: translateY(-1px); background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); }
.dock-app:focus{ outline:none; box-shadow: 0 0 0 3px rgba(43,179,192,.18); }
.dock-app-ic{ width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border-radius: 14px; background: linear-gradient(180deg, rgba(43,179,192,.16), rgba(255,255,255,.06)); border:1px solid rgba(59,130,246,.20); color: #b8f4ff; box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 18px rgba(0,0,0,.18); }
.dock-app-ic svg{ width:18px; height:18px; display:block; }
.dock-app-txt{ font-weight:900; font-size:12px; letter-spacing:-.1px; }
.dock-hint{ padding: 6px 6px 2px 6px; font-size: 11px; color: rgba(255,255,255,.60); }

@media (max-width: 520px){
  .dock-grid{ grid-template-columns: 1fr; }
}

.dash{
  position:absolute;
  inset:36px 36px 36px 96px;
  border-radius: var(--radius);
  padding:18px 18px 14px 18px;
  background: rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(18px);
  box-shadow: 0 16px 50px rgba(0,0,0,.38);
  display:flex;
  flex-direction:column;
  gap:14px;
}

.topbar{
  display:grid;
  grid-template-columns: 80px 1fr 240px;
  align-items:center;
  gap:14px;
}

.brand-mark{
  width:48px;height:48px;
  display:grid;place-items:center;
  border-radius: 18px;
  font-weight:700;
  letter-spacing:.2px;
  color: rgba(255,255,255,.90);
  background: rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
  overflow:hidden;
}

.brand-logo{
  width:44px;height:44px;
  object-fit:contain;
  transform: translateY(1px);
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.35));
}

.nav{
  overflow:hidden;
}

.nav-pill{
  display:flex;
  gap:6px;
  padding:6px;
  border-radius: 999px;
  background: rgba(0,0,0,.20);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
  overflow-x:auto;
  scrollbar-width:none;
}
.nav-pill::-webkit-scrollbar{display:none}

.nav-item{
  border:0;
  background: transparent;
  color: rgba(255,255,255,.70);
  padding:6px 9px;
  border-radius: 999px;
  font-size: 10.5px;
  line-height:1.05;
  cursor:pointer;
  white-space:nowrap;
}
.nav-item.is-active{
  color: rgba(7,10,18,.94);
  background: rgba(255,255,255,.86);
}

.user{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:10px;
}
.user-pill{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.10);
}
.avatar{
  width:26px;height:26px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,.65), rgba(255,255,255,.20));
  border:1px solid rgba(255,255,255,.18);
}
.avatar.is-logo{
  background: url('logo-a1.webp') center/cover no-repeat;
}
.user-meta{line-height:1.05}
.user-name{font-size:12px; font-weight:600}
.user-sub{font-size:10px; color: var(--muted2); margin-top:2px}
.user-btn{
  width:38px;height:38px;
  border-radius: 16px;
  background: rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.85);
  display:grid;place-items:center;
  cursor:pointer;
}
.user-btn svg{width:18px;height:18px}

.hero{
  display:grid;
  grid-template-columns: 1.2fr 140px 1.3fr;
  align-items:center;
  gap:14px;
  padding: 4px 6px 0 6px;
}
.title h1{
  margin:0;
  /* smaller hero brand title for better balance */
  font-size:28px;
  letter-spacing:-.95px;
  line-height:1.02;
  font-weight:900;
}

.now-pill{
  margin-top:10px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background: rgba(0,0,0,.20);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.90);
  font-size:13px;
  letter-spacing:-.2px;
  backdrop-filter: blur(10px);
}
.now-date{ color: rgba(255,255,255,.70); font-size:13px; }
.now-time{ font-weight:800; font-variant-numeric: tabular-nums; font-size:22px; letter-spacing:-.45px; line-height:1; }
.now-sep{ opacity:.55; }


.ring{
  position:relative;
  width:120px;height:120px;
  display:grid;place-items:center;
}
.ring-svg{width:120px;height:120px; transform: rotate(-90deg); filter: url(#soft)}
.ring-track{
  fill:none;
  stroke: rgba(255,255,255,.16);
  stroke-width:10;
}
.ring-value{
  fill:none;
  stroke: rgba(255,255,255,.88);
  stroke-width:10;
  stroke-linecap: round;
  stroke-dasharray: 290;
  stroke-dashoffset: 160;
}
.ring-center{
  position:absolute;
  width:70px;height:70px;
  border-radius: 50%;
  background: rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.12);
  display:grid; place-items:center;
  backdrop-filter: blur(10px);
}
.ring-num{font-weight:700; font-size:18px}

.stats{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
  justify-self:end;
}
.stat-label{
  font-size:10px;
  color: var(--muted2);
  margin-bottom:6px;
}
.stat-value{
  font-size:22px;
  font-weight:700;
  letter-spacing:-.4px;
}
.currency{font-size:.7em; opacity:.8; margin-left:2px}

.filters{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 0 6px;
}
.filter-pill{
  display:flex;
  gap:6px;
  padding:6px;
  border-radius:999px;
  background: rgba(0,0,0,.20);
  border: 1px solid rgba(255,255,255,.10);
  overflow-x:auto;
  scrollbar-width:none;
}
.filter-pill::-webkit-scrollbar{display:none}
.filter-item{
  border:0;
  background: transparent;
  color: rgba(255,255,255,.66);
  padding:8px 12px;
  border-radius: 999px;
  font-size: 12px;
  cursor:pointer;
  white-space:nowrap;
}
.filter-item.is-active{
  color: rgba(7,10,18,.94);
  background: rgba(255,255,255,.86);
}
.add-btn{
  width:32px;height:32px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  color: rgba(255,255,255,.90);
  display:grid;place-items:center;
  cursor:pointer;
}
.add-btn svg{width:18px;height:18px}

.content{
  display:grid;
  grid-template-columns: 1.65fr 0.75fr;
  gap:14px;
  flex:1;
  padding: 0 6px 6px 6px;
}

.card{
  border-radius: 24px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(14px);
  box-shadow: 0 12px 30px rgba(0,0,0,.30);
  overflow:hidden;
}

.card-main{
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.card-top{
  display:grid;
  grid-template-columns: 1fr 1fr 100px;
  gap:10px;
  align-items:center;
}
.app{display:flex; align-items:center; gap:10px}
.app-ic{
  width:28px;height:28px;
  border-radius: 10px;
  display:grid; place-items:center;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.14);
  font-weight:700;
}
.app-name{font-size:13px; font-weight:600; opacity:.9}

.team{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.faces{display:flex}
.face{
  width:18px;height:18px;border-radius:50%;
  border: 1px solid rgba(255,255,255,.14);
  margin-left:-6px;
  background: rgba(255,255,255,.18);
}
.face:first-child{margin-left:0}
.face.c1{background: linear-gradient(135deg, rgba(255,172,172,.7), rgba(255,255,255,.15))}
.face.c2{background: linear-gradient(135deg, rgba(95,217,231,.70), rgba(255,255,255,.15))}
.face.c3{background: linear-gradient(135deg, rgba(160,255,210,.7), rgba(255,255,255,.15))}
.face.c4{background: linear-gradient(135deg, rgba(160,210,255,.7), rgba(255,255,255,.15))}
.face.c5{background: linear-gradient(135deg, rgba(220,180,255,.7), rgba(255,255,255,.15))}
.face.c6{background: linear-gradient(135deg, rgba(255,255,255,.55), rgba(255,255,255,.15))}
.add-mini{
  width:22px;height:22px;
  border-radius: 50%;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
  cursor:pointer;
}

.card-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
}
.mini{
  width:34px;height:34px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.20);
  color: rgba(255,255,255,.85);
  display:grid; place-items:center;
  cursor:pointer;
}
.mini svg{width:18px;height:18px}

.split{
  display:grid;
  grid-template-columns: 1fr 1.05fr;
  gap:12px;
  align-items:stretch;
}

.subcard{
  border-radius: 20px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.10);
  padding:12px;
  position:relative;
}
.subhead{display:flex; align-items:center; justify-content:space-between; margin-bottom:10px}
.subttl{font-size:12px; color: rgba(255,255,255,.75); font-weight:600}

.cal-grid{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap:6px;
}
.cal-day, .cal-num{
  height:26px;
  display:grid;
  place-items:center;
  border-radius: 10px;
  font-size:11px;
  color: rgba(255,255,255,.60);
}
.cal-day{color: rgba(255,255,255,.40)}
.cal-num{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
}
.cal-num.is-today{
  background: rgba(255,255,255,.82);
  color: rgba(20,20,20,.92);
}
.cal-num.is-dim{opacity:.35}

.cal-tools{
  display:flex;
  align-items:center;
  gap:6px;
}
.cal-month{
  min-width: 120px;
  text-align:center;
  font-size:11px;
  font-weight:700;
  letter-spacing:.2px;
  color: rgba(255,255,255,.75);
  text-transform: capitalize;
}
.cal-num{
  cursor:pointer;
  user-select:none;
  position:relative;
}
.cal-num:hover{
  background: rgba(255,255,255,.10);
}
.cal-num.is-selected{
  outline: 2px solid rgba(255,255,255,.55);
  outline-offset: 1px;
}
.cal-num.has-job::after{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background: rgba(255,255,255,.85);
  position:absolute;
  bottom:3px;
  left:50%;
  transform: translateX(-50%);
  opacity:.9;
}
.cal-num.is-today.has-job::after{
  background: rgba(20,20,20,.85);
}
.cal-legend{
  display:flex; justify-content:space-between; align-items:center;
  font-size:11px; color: rgba(255,255,255,.55);
  margin-bottom:8px;
}

.plan-tags{display:flex; gap:8px; flex-wrap:wrap}
.tag{
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.72);
  padding:6px 10px;
  border-radius: 999px;
  font-size:11px;
  cursor:pointer;
}
.tag.is-active{
  background: rgba(255,255,255,.82);
  color: rgba(20,20,20,.92);
}
.plan-price{
  margin-top:10px;
  display:flex;
  align-items:baseline;
  gap:10px;
}
.plan-price .big{font-size:30px; font-weight:700; letter-spacing:-.6px}
.plan-price .small{font-size:12px; color: rgba(255,255,255,.55)}

.plan-graph{
  margin-top:10px;
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
}
.bars{
  height:72px;
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:10px 10px 8px 10px;
  border-radius: 16px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
}
.bar{
  width:10px;
  border-radius: 10px;
  background: rgba(255,255,255,.65);
  opacity:.85;
}
.payto{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.payto-ttl{font-size:11px; color: rgba(255,255,255,.55)}
.cards{display:flex; gap:6px}
.chip{
  padding:8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.70);
  font-size:11px;
  cursor:pointer;
}
.chip.is-active{
  background: rgba(255,255,255,.82);
  color: rgba(20,20,20,.92);
}
.tick{
  position:absolute;
  right:12px;
  bottom:12px;
  width:34px;height:34px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.84);
  color: rgba(20,20,20,.92);
  display:grid; place-items:center;
  cursor:pointer;
}
.tick svg{width:18px;height:18px}

.metrics{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr 1.1fr;
  gap:10px;
  margin-top:2px;
}
.metric{
  padding:10px 12px;
  border-radius: 18px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.10);
}
.m-label{font-size:10px; color: rgba(255,255,255,.45); margin-bottom:6px}
.m-val{font-size:20px; font-weight:700; letter-spacing:-.4px}
.m-sub{font-size:.6em; color: rgba(255,255,255,.55); margin-left:4px}

.card-side{
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.side-item{
  border-radius: 20px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.10);
  padding:12px;
  display:grid;
  grid-template-columns: 30px 1fr auto;
  grid-template-rows: auto auto;
  gap:8px 10px;
  align-items:center;
}

.side-item.no-ic{
  grid-template-columns: 1fr auto;
}
.side-item.no-ic .side-price{grid-column:2;}
.side-item.no-ic .side-actions{grid-column:2;}

.side-ic{grid-row:1 / span 2}
.dot{
  width:26px;height:26px;border-radius: 50%;
  display:block;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.14);
}
.dot.u1{background: linear-gradient(135deg, rgba(255,255,255,.58), rgba(255,255,255,.12))}
.dot.u2{background: linear-gradient(135deg, rgba(95,217,231,.45), rgba(255,255,255,.12))}
.side-name{font-size:12px; font-weight:700}
.side-meta{font-size:10px; color: rgba(255,255,255,.45); margin-top:2px}
.side-price{
  grid-column:3;
  grid-row:1;
  font-size:24px;
  font-weight:800;
  letter-spacing:-.6px;
}
.side-actions{
  grid-column:3;
  grid-row:2;
  display:flex;
  gap:8px;
  justify-content:flex-end;
}
.side-bottom{
  margin-top:auto;
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.side-fab{
  width:44px;height:44px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  color: rgba(255,255,255,.90);
  display:grid;place-items:center;
  cursor:pointer;
}
.side-fab svg{width:18px;height:18px}
.side-fab.is-ok{
  background: rgba(255,255,255,.84);
  color: rgba(20,20,20,.92);
}

.pager{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  padding-top:2px;
  opacity:.85;
}
.dotp{
  width:7px;height:7px;border-radius: 99px;
  background: rgba(255,255,255,.35);
}
.dotp.is-active{width:18px; background: rgba(255,255,255,.80)}

@media (max-width: 720px){
  .dash{inset:22px 16px 22px 68px; padding:14px}
  .topbar{grid-template-columns: 60px 1fr 150px}
  .title h1{font-size:24px}
  .now-pill{padding:8px 12px; font-size:12px}
  .now-date{font-size:12px}
  .now-time{font-size:18px}
  .stats{gap:10px}
  .stat-value{font-size:18px}
  .content{grid-template-columns: 1fr; }
  .card-side{display:none}
  .split{grid-template-columns: 1fr}
  .metrics{grid-template-columns: 1fr 1fr}
}


/* App usability: allow internal scrolling without visible scrollbars */
.dash{overflow-y:auto; scrollbar-width:none; -ms-overflow-style:none;}
.dash::-webkit-scrollbar{display:none}

/* ============ Zakázky (Kanban) + views ============ */
.views{flex:1; min-height:0;}
.view{display:none;}
.view.is-active{display:block;}

.page{display:flex; flex-direction:column; gap:12px;}
.page-top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.page-left{min-width:240px;}
.page-title{margin:0; font-size:22px; font-weight:800; letter-spacing:-.4px;}
.page-sub{margin-top:6px; font-size:12px; color:var(--muted); max-width:70ch; line-height:1.35;}
.page-actions{display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap;}

.search{display:flex; align-items:center; gap:0; padding:6px 8px; border-radius:999px; background: rgba(0,0,0,.20); border: 1px solid rgba(255,255,255,.10); min-width:260px;}
.search svg{display:none !important;}
.search input{border:0; background:transparent; color:var(--text); outline:none; width:100%; font-size:12px;}

.btn{border:0; cursor:pointer; padding:10px 12px; border-radius:14px; background: rgba(255,255,255,.84); color: rgba(20,20,20,.92); font-weight:800; font-size:12px; display:flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.10); transition: transform .15s ease, background .15s ease;}
.btn:hover{transform: translateY(-1px);}
.btn.ghost{background: rgba(0,0,0,.22); color: rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.12); font-weight:700;}
.btn.danger.ghost{background: rgba(120,0,0,.12); border-color: rgba(255,120,120,.22);}
.btn-ic{font-size:16px; line-height:1; margin-top:-1px;}

.kanban{display:grid; grid-template-columns: repeat(4, minmax(0, 0.92fr)); gap:10px; align-items:start;}
.k-col{border-radius:22px; background: rgba(0,0,0,.18); border:1px solid rgba(255,255,255,.10); padding:8px; min-height:260px; display:flex; flex-direction:column; gap:8px; min-width:0;}
.k-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:4px 2px 0 2px;}
.k-title{font-size:12px; font-weight:900; letter-spacing:.2px;}
.k-count{min-width:26px; height:22px; padding:0 8px; border-radius:999px; background: rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; font-size:11px; color: rgba(255,255,255,.80);}
.k-list{display:flex; flex-direction:column; gap:10px; padding-right:2px; min-height:120px; overflow:auto; scrollbar-width:none; -ms-overflow-style:none;}
.k-list::-webkit-scrollbar{width:0;height:0}
.k-list.is-over{outline: 2px dashed rgba(255,255,255,.22); outline-offset: 6px; border-radius:18px;}
.k-drop-marker{height:10px; border-radius:999px; background: linear-gradient(90deg, rgba(255,166,77,.95), rgba(255,208,142,.95)); box-shadow: 0 0 0 1px rgba(255,255,255,.10), 0 6px 18px rgba(255,146,49,.22); margin:2px 0;}

.k-card{border-radius:16px; background: rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); padding:8px; cursor:pointer; user-select:none; transition: transform .14s ease, background .14s ease, opacity .14s ease, box-shadow .14s ease;}
.k-card:hover{background: rgba(255,255,255,.10); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.18);}
.k-card[draggable="true"]{cursor:grab;}
.k-card:active{cursor:grabbing;}
.k-card.is-dragging{opacity:.45; transform: rotate(1deg) scale(.98);}
.k-card-top{display:flex; align-items:flex-start; justify-content:space-between; gap:10px;}
.k-card-title{font-size:11px; font-weight:900; letter-spacing:-.1px; line-height:1.15;}
.k-card-meta{margin-top:5px; font-size:9px; color: rgba(255,255,255,.50); line-height:1.2;}
.k-card-bottom{margin-top:10px; display:flex; align-items:center; justify-content:space-between; gap:10px;}
.k-badge{font-size:10px; color: rgba(255,255,255,.75); padding:4px 8px; border-radius:999px; background: rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.10);}
.k-price{font-size:12px; font-weight:900; letter-spacing:-.2px;}

.k-add{width:100%; border:1px dashed rgba(255,255,255,.18); background: rgba(0,0,0,.12); color: rgba(255,255,255,.76); border-radius:16px; padding:10px; cursor:pointer; font-size:12px;}
.k-add:hover{background: rgba(255,255,255,.06);}

.placeholder{padding:18px;}
.ph-title{font-size:18px; font-weight:900; letter-spacing:-.4px;}
.ph-sub{margin-top:8px; font-size:12px; color: var(--muted); max-width:70ch; line-height:1.4;}



/* ===== Zakázky page anthracite cards/columns ===== */
.view[data-view="items"] .page{
  padding:0;
  border-radius:0;
  background:transparent;
  border:none;
  box-shadow:none;
}
.view[data-view="items"] .page-top{
  padding:6px 0 10px 0;
}
.view[data-view="items"] .kanban{
  gap:18px;
}
.view[data-view="items"] .k-col{
  background: linear-gradient(180deg, rgba(46,49,54,.98) 0%, rgba(36,39,43,.98) 52%, rgba(29,31,35,.99) 100%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 14px 34px rgba(0,0,0,.24);
  padding:10px;
}
.view[data-view="items"] .k-head{
  padding:10px 10px 8px 10px;
  border-radius:16px;
  background: rgba(26,28,31,.88);
  justify-content:center;
  align-items:center;
  flex-direction:column;
  text-align:center;
  gap:6px;
}
.view[data-view="items"] .k-title{
  color:#f3f4f6;
  text-align:center;
  width:100%;
}
.view[data-view="items"] .k-count{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.12);
  color: rgba(255,255,255,.88);
  margin:0 auto;
}
.view[data-view="items"] .k-card{
  background: linear-gradient(180deg, rgba(47,49,53,.99) 0%, rgba(38,40,44,.99) 100%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
}
.view[data-view="items"] .k-card:hover{
  background: linear-gradient(180deg, rgba(56,59,64,.99) 0%, rgba(45,48,53,.99) 100%);
}
.view[data-view="items"] .k-badge{
  background: rgba(20,22,26,.42);
}
.view[data-view="items"] .k-add{
  background: rgba(34,37,41,.88);
  border-color: rgba(255,255,255,.14);
}
.view[data-view="items"] .k-add:hover{
  background: rgba(42,45,50,.96);
}

.search input{
  width:100%;
  padding-left:14px !important;
}
.search input::-webkit-search-decoration,
.search input::-webkit-search-cancel-button,
.search input::-webkit-search-results-button,
.search input::-webkit-search-results-decoration{
  -webkit-appearance:none;
  appearance:none;
}
.view[data-view="items"] .search{
  background: rgba(34,14,7,.24);
  border-color: rgba(255,190,138,.18);
}
.view[data-view="items"] .btn.ghost{
  background: rgba(34,14,7,.24);
  border-color: rgba(255,190,138,.18);
}
@media (max-width: 1025px){
  .view[data-view="items"] .page{padding:0; border-radius:0;}
}

/* Modal */
body.modal-open{overflow:hidden;}

.modal-backdrop{position:fixed; inset:0; display:none; align-items:center; justify-content:center; padding:18px; background: rgba(0,0,0,.55); z-index:1000;}
.modal-backdrop.is-open{display:flex;}
.modal{width:min(720px, 100%); max-height:min(80vh, 760px); overflow:auto; border-radius:26px; background: rgba(15,18,24,.72); border:1px solid rgba(255,255,255,.16); backdrop-filter: blur(18px); box-shadow: 0 24px 70px rgba(0,0,0,.55); padding:14px; scrollbar-width:none; -ms-overflow-style:none;}
.modal::-webkit-scrollbar{width:0;height:0}
.modal-head{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:4px 4px 10px 4px;}
.modal-title{font-size:16px; font-weight:900; letter-spacing:-.3px;}

.form{display:flex; flex-direction:column; gap:12px; padding:4px;}
.form-grid{display:grid; grid-template-columns: repeat(3, 1fr); gap:10px;}
.field{display:flex; flex-direction:column; gap:6px;}
.field-wide{grid-column: 1 / -1;}
label{font-size:11px; color: rgba(255,255,255,.70); font-weight:700;}
.req{color: rgba(255,255,255,.85)}
input, textarea, select{width:100%; border-radius:14px; padding:10px 10px; border:1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.22); color: rgba(255,255,255,.92); outline:none; font-size:12px;}
textarea{resize:vertical; min-height:110px;}
input:focus, textarea:focus, select:focus{border-color: rgba(255,255,255,.24); background: rgba(0,0,0,.28);}

.modal-actions{display:flex; gap:10px; align-items:center; justify-content:flex-end; padding-top:2px;}
.modal-actions .spacer{flex:1;}
.job-media{display:flex; flex-direction:column; gap:10px; padding:12px; border-radius:22px; background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10);}
.job-media-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.job-media-copy{min-width:220px;}
.job-media-title{font-size:12px; font-weight:900; letter-spacing:-.2px;}
.job-media-sub{margin-top:4px; font-size:11px; line-height:1.35; color: rgba(255,255,255,.62); max-width:52ch;}
.job-media-actions{display:flex; gap:8px; flex-wrap:wrap;}
.job-media-actions .btn{padding:9px 11px; border-radius:12px;}
.job-media-actions .btn:disabled{opacity:.45; cursor:not-allowed; transform:none;}
.job-photo-grid{display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:10px;}
.job-photo-empty{display:flex; align-items:center; justify-content:center; min-height:112px; padding:14px; border-radius:18px; border:1px dashed rgba(255,255,255,.14); background: rgba(0,0,0,.14); color: rgba(255,255,255,.58); text-align:center; font-size:11px; line-height:1.45;}
.job-photo-card{position:relative; overflow:hidden; border-radius:18px; aspect-ratio:1/1; background: rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.10);}
.job-photo-card img{width:100%; height:100%; object-fit:cover; display:block;}
.job-photo-meta{position:absolute; left:8px; right:8px; bottom:8px; padding:6px 8px; border-radius:12px; background: rgba(8,10,14,.64); border:1px solid rgba(255,255,255,.10); font-size:10px; font-weight:700; color: rgba(255,255,255,.90); backdrop-filter: blur(10px);}
.job-photo-remove{position:absolute; top:8px; right:8px; width:30px; height:30px; border-radius:999px; border:1px solid rgba(255,255,255,.18); background: rgba(10,12,18,.74); color: rgba(255,255,255,.92); font-size:18px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow: 0 10px 24px rgba(0,0,0,.28);}
.job-photo-remove:hover{background: rgba(120,0,0,.42);}
.job-photo-badge{position:absolute; left:8px; top:8px; padding:5px 8px; border-radius:999px; background: rgba(59,130,246,.90); color:#111827; font-size:10px; font-weight:900; letter-spacing:.15px; box-shadow: 0 10px 20px rgba(0,0,0,.22);}
.k-photo-pill{display:inline-flex; align-items:center; gap:4px; padding:2px 7px; border-radius:999px; background: rgba(59,130,246,.14); border:1px solid rgba(43,179,192,.24); color: rgba(219,234,254,.98); font-size:10px; font-weight:800;}

/* Calculator box (Těsnění) */
.calc-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 12px;
  border-radius:20px;
  background: rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
}
.calc-left{min-width:0;}
.calc-title{font-size:11px; font-weight:900; letter-spacing:-.2px;}
.calc-sub{margin-top:2px; font-size:10px; color: rgba(255,255,255,.62); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.calc-right{text-align:right;}
.calc-num{font-size:16px; font-weight:900; letter-spacing:-.3px;}
.calc-mm{margin-top:2px; font-size:10px; color: rgba(255,255,255,.62);}





/* Těsnění: více výpočtů */
.btn.sm{padding:8px 10px; border-radius:999px; font-size:11px;}
.calc-items{display:flex; flex-direction:column; gap:10px;}
.calc-items-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 2px;}
.calc-items-title{font-size:12px; font-weight:900; letter-spacing:-.2px;}
.calc-items-list{display:flex; flex-direction:column; gap:8px; overflow-x:auto; padding-bottom:2px;}

.calc-table-head,
.calc-item-grid{
  display:grid;
  grid-template-columns: minmax(128px,1.05fr) minmax(138px,1.12fr) minmax(112px,.9fr) minmax(96px,.8fr) minmax(96px,.8fr) 72px minmax(118px,.95fr) 38px;
  gap:8px;
  align-items:center;
  min-width: 860px;
}
.calc-table-head{
  padding:0 10px 2px;
  color: rgba(255,255,255,.62);
  font-size:10px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.calc-table-head > div:last-child{opacity:0;}

.calc-item{padding:8px; border-radius:18px; background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.045)); border:1px solid rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.04);}
.calc-item .field{gap:0; min-width:0;}
.calc-item .field label{display:none;}
.calc-item input, .calc-item select{height:42px; padding:0 10px; border-radius:14px; font-size:12px;}
.calc-item .calc-field-qty input{width:72px; min-width:72px; padding-left:6px; padding-right:6px; text-align:center; justify-self:center;}

.calc-out{display:flex; flex-direction:column; align-items:flex-end; justify-content:center; padding:8px 10px; border-radius:16px; background: rgba(0,0,0,.18); border:1px solid rgba(255,255,255,.10); min-height:42px;}
.calc-out .calc-num{font-size:14px;}
.calc-out .calc-mm{font-size:10px;}
.calc-item-grid .mini{width:38px; height:38px; min-width:38px; padding:0; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; justify-self:end;}

.mini.danger{background: rgba(120,0,0,.12); border-color: rgba(255,120,120,.22);}

@media (max-width: 860px){
  .calc-items-head{align-items:flex-start; flex-direction:column;}
  .calc-table-head,
  .calc-item-grid{min-width:860px;}
}
@media (max-width: 860px){
  .job-photo-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 640px){
  .job-media-actions{width:100%;}
  .job-media-actions .btn{flex:1; justify-content:center;}
  .job-photo-grid{grid-template-columns: 1fr;}
}
/* Toast */
/* Toast notifications */
.toast{
  position:fixed;
  left:50%;
  bottom:16px;
  transform: translateX(-50%);
  display:flex;
  flex-direction:column;
  gap:10px;
  z-index:1100;
  pointer-events:none;
  max-width: min(560px, calc(100vw - 28px));
}
.toast-item{
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background: rgba(15,18,24,.78);
  border:1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.92);
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
  opacity:0;
  transform: translateY(6px) scale(.985);
  transition: opacity .18s ease, transform .18s ease, filter .18s ease;
  overflow:hidden;
}
.toast-item.is-on{opacity:1; transform: translateY(0) scale(1);}
.toast-dot{
  width:8px; height:8px; border-radius:999px;
  background: var(--t-accent, rgba(255,255,255,.35));
  box-shadow: 0 0 0 4px rgba(255,255,255,.06);
  flex: 0 0 8px;
}
.toast-text{font-size:12px; line-height:1.25; white-space:pre-wrap; flex:1 1 auto;}
.toast-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  cursor:pointer;
}
.toast-btn:hover{filter: brightness(1.08);}
.toast-close{
  appearance:none;
  border:0;
  background: transparent;
  color: rgba(255,255,255,.72);
  font-size:16px;
  line-height:1;
  cursor:pointer;
  padding:2px 4px;
}
.toast-close:hover{color: rgba(255,255,255,.92);}

.toast-item[data-type="success"]{ --t-accent: rgba(43, 179, 192, .95); }
.toast-item[data-type="info"]{ --t-accent: rgba(120, 180, 255, .95); }
.toast-item[data-type="warn"]{ --t-accent: rgba(255, 210, 0, .95); }
.toast-item[data-type="error"]{ --t-accent: rgba(255, 90, 90, .95); }

@media (max-width: 860px){
  .toast{bottom:12px;}
  .toast-item{border-radius:18px;}
}

@media (max-width: 860px){
  .kanban{grid-template-columns: 1fr;}
  .form-grid{grid-template-columns: 1fr;}
  .search{min-width:220px;}
}


/* ============ Zákazníci (seznam + karta 360) ============ */
.is-hidden{display:none !important;}

.cust-panel{
  border-radius:22px;
  background: rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.10);
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:260px;
}

.cust-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:4px 2px 0 2px;}
.cust-head-title{font-size:12px; font-weight:900; letter-spacing:.2px;}
.cust-head-count{font-size:11px; color: rgba(255,255,255,.70); padding:4px 10px; border-radius:999px; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.10);}

.cust-list{display:flex; flex-direction:column; gap:8px; overflow:auto; padding-right:2px; scrollbar-width:none; -ms-overflow-style:none;}
.cust-list::-webkit-scrollbar{width:0;height:0}

.cust-row{
  display:grid;
  grid-template-columns: 34px 1.4fr 1fr 1fr 34px;
  gap:10px;
  align-items:center;
  padding:10px 10px;
  border-radius:18px;
  background: rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  cursor:pointer;
}
.cust-row:hover{background: rgba(255,255,255,.10)}
.cust-ava{
  width:34px;height:34px;
  border-radius: 14px;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:900;
  color: rgba(255,255,255,.90);
}
.cust-main{min-width:0;}
.cust-name-row{font-size:12px; font-weight:900; letter-spacing:-.15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.cust-sub-row{margin-top:2px; font-size:10px; color: rgba(255,255,255,.50); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.cust-cell{min-width:0; font-size:11px; color: rgba(255,255,255,.78); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.cust-muted{color: rgba(255,255,255,.50); font-size:10px;}

.cust-row .mini{justify-self:end;}
.cust-row .mini svg{width:18px;height:18px}

.modal-xl{width:min(980px, 100%);}

.cust-hero{
  display:flex;
  align-items:center;
  gap:12px;
  padding:6px 4px 10px 4px;
  flex-wrap:wrap;
}
.cust-avatar{
  width:46px;height:46px;
  border-radius: 18px;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  display:grid;
  place-items:center;
  font-weight:900;
  letter-spacing:-.3px;
}
.cust-hero-text{min-width:220px; flex:1;}
.cust-name{font-size:16px; font-weight:900; letter-spacing:-.3px;}
.cust-sub{margin-top:2px; font-size:11px; color: rgba(255,255,255,.58);}

.cust-quick{display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end;}
.cust-quick .btn{padding:9px 12px; border-radius:14px;}

.cust-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
  padding:4px;
}
.cust-box{
  border-radius:22px;
  background: rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.10);
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.cust-box-wide{grid-column: 1 / -1;}
.cust-box-title{font-size:12px; font-weight:900; letter-spacing:-.2px;}
.cust-box-head{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;}
.cust-files-hint{font-size:11px; color: rgba(255,255,255,.58);}
.cust-files{display:flex; flex-direction:column; gap:8px;}
.cust-file-row{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border-radius:18px; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05);}
.cust-file-left{display:flex; flex-direction:column; gap:3px; min-width:0;}
.cust-file-name{font-size:12px; font-weight:850; letter-spacing:-.15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.cust-file-meta{font-size:11px; color: rgba(255,255,255,.58); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.cust-file-actions{display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end;}
.cust-file-empty{padding:14px; border-radius:18px; border:1px dashed rgba(255,255,255,.16); color:rgba(255,255,255,.60); text-align:center;}
.cust-kv{display:grid; grid-template-columns: 92px 1fr; gap:10px; align-items:start;}
.cust-kv .k{font-size:11px; color: rgba(255,255,255,.55); font-weight:700;}
.cust-kv .v{font-size:12px; color: rgba(255,255,255,.88); word-break:break-word;}

.cust-note{font-size:12px; color: rgba(255,255,255,.88); line-height:1.45; white-space:pre-wrap; word-break:break-word;}

.cust-form-files{
  margin-top:12px;
  padding:12px;
  border-radius:22px;
  background: rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.10);
  display:flex;
  flex-direction:column;
  gap:8px;
}

/* ===================== Sklad ===================== */
.select{
  height:40px;
  padding:0 12px;
  border-radius:999px;
  background: rgba(0,0,0,.20);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--text);
  outline:none;
  font-size:12px;
  min-width:190px;
}
.select:focus{border-color: rgba(255,255,255,.22); box-shadow: 0 0 0 4px rgba(255,255,255,.06)}

.stock-panel{
  margin-top:14px;
  padding:12px 12px 10px;
  border-radius:22px;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
}
.stock-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 2px;}
.stock-head-title{font-size:12px; font-weight:900; letter-spacing:.2px;}
.stock-head-right{display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end;}
.stock-pill{font-size:11px; color: rgba(255,255,255,.70); padding:4px 10px; border-radius:999px; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.10);}

.stock-table-head{
  display:grid;
  grid-template-columns: 34px 1fr 130px 34px;
  gap:10px;
  align-items:center;
  padding:10px 10px 8px 10px;
  margin-top:8px;
  border-radius:18px;
  background: rgba(0,0,0,.16);
  border:1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.60);
  font-size:10px;
  letter-spacing:.18px;
  text-transform: uppercase;
}
.stock-table-head.is-hidden{display:none;}
.stock-table-head .th-right{text-align:right; justify-self:end;}

.stock-list{display:flex; flex-direction:column; gap:8px; overflow:auto; padding-right:2px; scrollbar-width:none; -ms-overflow-style:none;}
.stock-list::-webkit-scrollbar{width:0;height:0}

.stock-row{
  display:grid;
  grid-template-columns: 34px 1fr 130px 34px;
  gap:10px;
  align-items:center;
  padding:10px 10px;
  border-radius:18px;
  background: rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.085);
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.stock-row::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background: rgba(255,255,255,.14);
  opacity:.9;
}
.stock-row.is-low::before{background: rgba(255,110,110,.75)}
.stock-row:hover{
  background: rgba(255,255,255,.085);
  border-color: rgba(255,255,255,.14);
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(0,0,0,.25);
}
.stock-ava{
  width:34px;height:34px;border-radius:12px;
  display:grid;place-items:center;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  font-weight:900;font-size:12px;
}
.stock-main{min-width:0;}
.stock-name{font-size:12px; font-weight:900; letter-spacing:-.15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.stock-badges{margin-top:6px; display:flex; gap:6px; flex-wrap:wrap;}
.stock-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 8px;
  border-radius:999px;
  font-size:10px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  line-height:1;
  max-width: 100%;
}
.stock-badge .dot{width:6px;height:6px;border-radius:99px;background: rgba(255,255,255,.45)}
.stock-badge.cat .dot{background: rgba(255,200,120,.60)}
.stock-badge.loc .dot{background: rgba(255,255,255,.58)}
.stock-badge.sup .dot{background: rgba(255,255,255,.45)}

.stock-qty{
  justify-self:end;
  text-align:right;
}
.stock-qty .q{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  font-size:11px;
  color: rgba(255,255,255,.88);
  white-space:nowrap;
}
.stock-qty .q.is-low{border-color: rgba(255,110,110,.45); background: rgba(255,110,110,.10);}
.stock-qty .min{margin-top:4px; font-size:10px; color: rgba(255,255,255,.55);}
.stock-qty .val{margin-top:4px; font-size:10px; color: rgba(255,255,255,.62);}
.stock-bar{
  margin-top:7px;
  height:6px;
  border-radius:999px;
  background: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;
}
.stock-bar > span{
  display:block;
  height:100%;
  width:0%;
  border-radius:999px;
  background: rgba(255,255,255,.32);
}
.stock-row.is-low .stock-bar > span{background: rgba(255,110,110,.55)}

.qty-quick{display:flex; gap:6px; margin-top:8px; flex-wrap:wrap;}
.qty-btn{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.88);
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  cursor:pointer;
}
.qty-btn:hover{background: rgba(255,255,255,.10)}

@media (max-width: 720px){
  .select{min-width:160px;}
  .stock-table-head{display:none;}
  .stock-row{grid-template-columns: 34px 1fr 110px 34px;}
}

@media (max-width: 860px){
  .cust-file-row{flex-direction:column; align-items:stretch;}
  .cust-file-actions{justify-content:flex-start;}
  .cust-row{grid-template-columns: 34px 1fr 34px; grid-template-areas:
    "ava main edit"
    "ava c2 edit"
    "ava c3 edit";
    align-items:start;
  }
  .cust-row .cust-ava{grid-area: ava;}
  .cust-row .cust-main{grid-area: main;}
  .cust-row .cust-cell.c2{grid-area: c2;}
  .cust-row .cust-cell.c3{grid-area: c3;}
  .cust-grid{grid-template-columns: 1fr;}
}


.btn.is-disabled{opacity:.45; pointer-events:none;}


/* ============ Poptávky (Nové poptávky) ============ */
.lead-panel{
  margin-top:14px;
  padding:12px 12px 10px;
  border-radius:22px;
  background: rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:260px;
}
.lead-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:4px 2px 0 2px;}
.lead-head-title{font-size:12px; font-weight:900; letter-spacing:.2px;}
.lead-head-right{display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end;}
.lead-pill{font-size:11px; color: rgba(255,255,255,.70); padding:4px 10px; border-radius:999px; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.10);}

.lead-list{display:flex; flex-direction:column; gap:8px; overflow:auto; padding-right:2px; scrollbar-width:none; -ms-overflow-style:none;}
.lead-list::-webkit-scrollbar{width:0;height:0}

.lead-row{
  display:grid;
  grid-template-columns: 34px 1.4fr 140px 120px 34px;
  gap:10px;
  align-items:center;
  padding:10px 10px;
  border-radius:18px;
  background: rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  cursor:pointer;
}
.lead-row:hover{background: rgba(255,255,255,.10)}
.lead-ava{
  width:34px;height:34px;
  border-radius:14px;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:900;
  color: rgba(255,255,255,.90);
}
.lead-main{min-width:0;}
.lead-title{font-size:12px; font-weight:900; letter-spacing:-.15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.lead-sub{margin-top:2px; font-size:10px; color: rgba(255,255,255,.50); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.lead-cell{min-width:0; font-size:11px; color: rgba(255,255,255,.82); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.lead-date{justify-self:end; text-align:right; color: rgba(255,255,255,.66); font-size:11px;}
.lead-price{font-size:12px; font-weight:900; color: rgba(255,255,255,.92); letter-spacing:-.15px; line-height:1.05;}
.lead-date-t{margin-top:2px; font-size:10px; color: rgba(255,255,255,.60); line-height:1.15;}
.lead-row .mini{justify-self:end;}
.lead-row .mini svg{width:18px;height:18px}

.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.08);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1px;
  width:max-content;
  max-width:100%;
}
.badge .b-dot{width:7px;height:7px;border-radius:99px;background: rgba(255,255,255,.60);}
.badge.is-new{background: rgba(97,255,182,.10); border-color: rgba(97,255,182,.18);} 
.badge.is-new .b-dot{background: rgba(97,255,182,.85);} 
.badge.is-contacted{background: rgba(255,210,97,.10); border-color: rgba(255,210,97,.18);} 
.badge.is-contacted .b-dot{background: rgba(255,210,97,.90);} 
.badge.is-scheduled{background: rgba(97,169,255,.10); border-color: rgba(97,169,255,.18);} 
.badge.is-scheduled .b-dot{background: rgba(97,169,255,.90);} 
.badge.is-closed{background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.10);} 
.badge.is-closed .b-dot{background: rgba(255,255,255,.55);} 

@media (max-width: 860px){
  .lead-row{grid-template-columns: 34px 1fr 34px; grid-template-areas:
    "ava main edit"
    "ava c2 edit"
    "ava c3 edit";
    align-items:start;
  }
  .lead-row .lead-ava{grid-area: ava;}
  .lead-row .lead-main{grid-area: main;}
  .lead-row .lead-cell{grid-area: c2;}
  .lead-row .lead-date{grid-area: c3; justify-self:start; text-align:left;}
  .lead-row .mini{grid-area: edit;}
}


/* ============ Nabídky (seznam + editor + tisk) ============ */
.offer-panel{
  border-radius:22px;
  background: rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.10);
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:260px;
}
.offer-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:4px 2px 0 2px;}
.offer-head-title{font-size:12px; font-weight:900; letter-spacing:.2px;}
.offer-head-count{font-size:11px; color: rgba(255,255,255,.70); padding:4px 10px; border-radius:999px; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.10);}

.offer-list{display:flex; flex-direction:column; gap:8px; overflow:auto; padding-right:2px; scrollbar-width:none; -ms-overflow-style:none;}
.offer-list::-webkit-scrollbar{width:0;height:0}

.offer-row{
  display:grid;
  grid-template-columns: 34px 1.4fr 140px 120px 34px;
  gap:10px;
  align-items:center;
  padding:10px 10px;
  border-radius:18px;
  background: rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  cursor:pointer;
}
.offer-row:hover{background: rgba(255,255,255,.10)}
.offer-ava{
  width:34px;height:34px;
  border-radius:14px;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:900;
  color: rgba(255,255,255,.90);
}
.offer-main{min-width:0;}
.offer-title{font-size:12px; font-weight:900; letter-spacing:-.15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.offer-sub{margin-top:2px; font-size:10px; color: rgba(255,255,255,.50); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.offer-cell{min-width:0; font-size:11px; color: rgba(255,255,255,.82); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.offer-total{justify-self:end; text-align:right; font-weight:900; letter-spacing:-.15px;}
.offer-date{justify-self:end; text-align:right; color: rgba(255,255,255,.66); font-size:11px;}
.offer-row .mini{justify-self:end;}
.offer-row .mini svg{width:18px;height:18px}

.offer-head-actions{display:flex; align-items:center; gap:10px;}
.offer-modal .modal-head{align-items:flex-start;}
.offer-modal .btn{padding:9px 12px; border-radius:14px;}
.offer-block{margin-top:6px; padding:10px; border-radius:22px; background: rgba(0,0,0,.16); border:1px solid rgba(255,255,255,.10);}
.offer-block-title{font-size:12px; font-weight:900; letter-spacing:-.2px; padding:2px 2px 8px 2px;}

.offer-items{margin-top:10px;}
.offer-items-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 4px;}
.offer-items-headline{
  display:grid;
  grid-template-columns: 1fr 120px 90px 130px 34px;
  gap:10px;
  align-items:center;
  padding:10px 10px 8px 10px;
  margin-top:8px;
  border-radius:18px;
  background: rgba(0,0,0,.16);
  border:1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.60);
  font-size:10px;
  letter-spacing:.18px;
  text-transform: uppercase;
}
.offer-items-headline .right{justify-self:end; text-align:right;}
.offer-items-table{display:flex; flex-direction:column; gap:8px; padding:8px 4px 0 4px;}

.offer-item-row{
  display:grid;
  grid-template-columns: 1fr 120px 90px 130px 34px;
  gap:10px;
  align-items:stretch;
  padding:10px;
  border-radius:18px;
  background: rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
}
.oi-name{display:flex; flex-direction:column; gap:6px; min-width:0;}
.oi-name input{padding:10px 10px; border-radius:14px;}
.oi-name textarea{min-height:58px; border-radius:14px; padding:10px 10px;}
.oi-right{display:flex; align-items:flex-start; justify-content:flex-end;}
.oi-right input{width:100%; text-align:right;}
.oi-total{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:4px;
  padding-top:2px;
}
.oi-total .t1{font-weight:900; font-size:12px; letter-spacing:-.2px;}
.oi-total .t2{font-size:10px; color: rgba(255,255,255,.55);}
.oi-remove{justify-self:end; align-self:flex-start;}

.offer-sum{margin-top:10px; display:flex; justify-content:flex-end; padding:0 4px;}
.offer-sum-box{
  width:min(420px, 100%);
  border-radius:22px;
  background: rgba(0,0,0,.16);
  border:1px solid rgba(255,255,255,.10);
  padding:12px;
}
.offer-sum-row{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 2px; font-size:12px; color: rgba(255,255,255,.86);}
.offer-sum-row span:first-child{color: rgba(255,255,255,.60); font-weight:700;}
.offer-sum-row.big{border-top:1px solid rgba(255,255,255,.10); margin-top:6px; padding-top:10px;}
.offer-sum-row.big span:first-child{color: rgba(255,255,255,.86);}
.offer-sum-row.big span:last-child{font-weight:900; letter-spacing:-.25px; font-size:14px;}

@media (max-width: 860px){
  .offer-row{grid-template-columns: 34px 1fr 120px 34px; grid-auto-flow:row;}
  .offer-date{display:none;}
  .offer-items-headline{display:none;}
  .offer-item-row{grid-template-columns: 1fr; gap:8px;}
  .oi-total{align-items:flex-start;}
}


/* ===================== Protokoly: podpisy ===================== */
.proto-sigs{
  margin-top: 10px;
  padding: 0 4px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.proto-sig{
  border-radius: 18px;
  background: rgba(0,0,0,.16);
  border: 1px solid rgba(255,255,255,.10);
  padding: 10px;
}
.proto-sig-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 8px;
}
.proto-sig-title{
  font-size: 12px;
  font-weight: 900;
  letter-spacing: -.2px;
}
.proto-sig-clear.btn{
  padding: 8px 10px;
  border-radius: 14px;
  font-size: 11px;
}
.proto-canvas{
  width: 100%;
  height: 120px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(17,17,17,.14);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
  touch-action: none;
}
@media (max-width: 860px){
  .proto-sigs{ grid-template-columns: 1fr; }
}


/* Faktury: stavové štítky */
.k-badge.ok{background: rgba(0,170,95,.18); border-color: rgba(0,170,95,.32); color: rgba(232,255,246,.92);}
.k-badge.warn{background: rgba(43,179,192,.16); border-color: rgba(59,130,246,.30); color: rgba(219,234,254,.94);}


/* ===== Global search ===== */
.modal-md{ width:min(760px, 100%); }
.gs-bar{
  display:flex; align-items:center; gap:10px;
  padding:10px 10px 12px 10px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.gs-bar svg{ width:18px; height:18px; color: rgba(255,255,255,.75); flex:0 0 auto;}
.gs-bar input{
  flex:1 1 auto;
  height:40px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.20);
  color:var(--text);
  padding:0 12px;
  outline:none;
}
.gs-bar input:focus{ border-color: rgba(59,130,246,.40); box-shadow: 0 0 0 3px rgba(43,179,192,.16); }
.gs-hint{
  font-size:12px;
  color:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  padding:6px 8px;
  background: rgba(0,0,0,.14);
  flex:0 0 auto;
}
.gs-results{ padding:10px; display:flex; flex-direction:column; gap:10px; }
.gs-group{ display:flex; flex-direction:column; gap:6px; }
.gs-group-title{
  font-size:12px; letter-spacing:.2px;
  color:rgba(255,255,255,.62);
  text-transform:uppercase;
  padding:2px 4px;
}
.gs-item{
  width:100%;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color:var(--text);
  cursor:pointer;
  text-align:left;
}
.gs-item:hover{ background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.18); }
.gs-left{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.gs-main{ font-weight:800; letter-spacing:-.2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gs-sub{ font-size:12px; color:rgba(255,255,255,.62); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gs-right{ font-size:12px; color:rgba(255,255,255,.62); flex:0 0 auto; }
.gs-empty{
  padding:14px;
  border-radius:18px;
  border:1px dashed rgba(255,255,255,.16);
  color:rgba(255,255,255,.60);
  text-align:center;
}

/* ===== Customer history ===== */
.cust-history-actions{
  display:flex; flex-wrap:wrap; gap:8px;
  padding:8px 0 10px 0;
}
.cust-history{
  display:flex; flex-direction:column; gap:8px;
}
.hrow{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  width:100%;
  padding:10px 12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color:var(--text);
  cursor:pointer;
  text-align:left;
}
.hrow:hover{ background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); }
.hrow .l{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.hrow .t{ font-weight:850; letter-spacing:-.2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hrow .s{ font-size:12px; color:rgba(255,255,255,.62); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hrow .r{ font-size:12px; color:rgba(255,255,255,.62); flex:0 0 auto; }
.cust-history .empty{
  padding:14px;
  border-radius:18px;
  border:1px dashed rgba(255,255,255,.16);
  color:rgba(255,255,255,.60);
  text-align:center;
}

/* ===== Settings ===== */
.settings-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:12px;
}
.settings-card{ padding:14px; }
.settings-title{ font-size:15px; font-weight:900; letter-spacing:-.2px; margin-bottom:6px; }
.settings-muted{ color:rgba(255,255,255,.62); font-size:13px; line-height:1.45; }
.settings-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.settings-list{ margin:8px 0 0 0; padding-left:18px; color:rgba(255,255,255,.70); font-size:13px; line-height:1.55; }
.danger-zone{ border:1px solid rgba(255,90,90,.25); }


/* Invalid field highlight (validation) */
input.is-invalid, textarea.is-invalid, select.is-invalid{
  border-color: rgba(255,59,48,.85) !important;
  box-shadow: 0 0 0 3px rgba(255,59,48,.18) !important;
}


/* Settings extras */
.settings-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background: rgba(0,0,0,.18);
}
.settings-row-left{
  color:rgba(255,255,255,.75);
  font-size:13px;
  font-weight:600;
}
.settings-row-right{ display:flex; align-items:center; gap:10px; }
.settings-card .input, .settings-card .select{
  width:100%;
  max-width:260px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.18);
  color:#fff;
  outline:none;
}
.settings-card .select{ appearance:none; }

.diag{
  margin-top:10px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  color:rgba(255,255,255,.82);
  font-size:12px;
  line-height:1.45;
  max-height:220px;
  overflow:auto;
  white-space:pre-wrap;
}

/* Lock screen (PIN) */
.lock{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
  background:rgba(0,0,0,.72);
  backdrop-filter: blur(10px);
}
.lock.is-on{ display:flex; }
.lock-card{
  width:min(420px, calc(100% - 28px));
  border-radius:22px;
  padding:18px 18px 16px 18px;
  background:rgba(20,20,20,.86);
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
}
.lock-title{
  font-weight:800;
  font-size:18px;
  color:#fff;
  letter-spacing:-.2px;
}
.lock-sub{ margin-top:4px; color:rgba(255,255,255,.72); font-size:13px; }
.lock-in{ margin-top:12px; width:100%; font-size:16px; }
.lock-actions{ margin-top:12px; display:flex; gap:10px; }
.lock-actions .btn{ flex:1; }
.lock-msg{ margin-top:10px; min-height:18px; color:rgba(255,255,255,.78); font-size:12px; }

/* ================= Mobile-first improvements (v11.8) ================= */
html{ -webkit-text-size-adjust:100%; }
button, a{ -webkit-tap-highlight-color: transparent; }

/* Smooth native scrolling inside containers on iOS */
.dash, .modal, .k-list, .cust-list, .diag-pre{ -webkit-overflow-scrolling: touch; }

/* Coarse pointers (phones/tablets): bigger tap targets + safer layout */
@media (max-width: 860px){
  /* Hide decorative corner labels to free space */
  .meta{display:none;}

  /* iPhone/iPad: true edge-to-edge layout (no outer margins) + keep room for bottom dock */
  .frame{border:0; box-shadow:none;}
  .dash{
    inset: 0;
    border-radius: 0;
    /* Safe areas are handled as padding so the app can be full-bleed */
    padding:
      calc(12px + env(safe-area-inset-top))
      12px
      calc(96px + env(safe-area-inset-bottom))
      12px;
  }

  /* Bottom dock instead of left dock */
  .dock{
    left:50%;
    top:auto;
    bottom: calc(10px + env(safe-area-inset-bottom));
    transform: translateX(-50%);
    flex-direction:row;
    gap:10px;
    padding:10px 12px;
    border-radius: 22px;
  }
  .dock-btn{width:46px;height:46px;border-radius:18px;}
  .dock-btn svg{width:22px;height:22px;}

  /* Sticky topbar for quick navigation */
  .topbar{
    position: sticky;
    top: 0;
    z-index: 50;
    padding: 8px 0;
    background: linear-gradient(180deg, rgba(15,18,24,.70), rgba(15,18,24,.35));
    backdrop-filter: blur(14px);
  }

  /* Keep nav usable with fingers */
  .nav-pill{padding:6px;}
  .nav-item{padding:7px 10px; font-size:10.5px; line-height:1.05;}

  /* Bigger action buttons */
  .btn{padding:12px 14px; border-radius:16px;}
  .btn.sm{padding:10px 12px;}

  /* Prevent iOS Safari input zoom */
  input, textarea, select{font-size:16px;}

  /* Toast above bottom dock */
  .toast{bottom: calc(86px + env(safe-area-inset-bottom));}

  /* iPhone keyboard: hide dock + give content full height */
  body.keyboard-open .dock{ display:none; }
  body.keyboard-open .dash{
    inset: 0;
    padding:
      calc(12px + env(safe-area-inset-top))
      12px
      12px
      12px;
  }
  body.keyboard-open .toast{ bottom: calc(10px + env(safe-area-inset-bottom)); }
}

@media (max-width: 520px){
  /* On very small phones hide the user pill to gain space */
  .user-pill{display:none;}
  .topbar{grid-template-columns: 60px 1fr 96px;}
}

/* Touch optimisation */
.dock-btn, .nav-item, .user-btn, .btn, .mini, input, textarea, select{ touch-action: manipulation; }

/* ================= Dashboard mobile tidy (v12.1) =================
   Cíl: Přehled na mobilu přehledný (žádné uříznuté statistiky, lepší řazení, větší dotykové prvky).
*/

@media (max-width: 860px){
  /* HERO: datum/čas přes celou šířku, pod tím ring + statistiky vedle sebe */
  .view[data-view="dashboard"] .hero{
    grid-template-columns: 1fr 92px;
    grid-template-areas:
      "title title"
      "stats ring";
    align-items:start;
    gap:10px;
    padding:0;
  }
  .view[data-view="dashboard"] .title{grid-area:title;}
  .view[data-view="dashboard"] .ring{grid-area:ring; justify-self:end; width:92px; height:92px;}
  .view[data-view="dashboard"] .ring-svg{width:92px; height:92px;}
  .view[data-view="dashboard"] .ring-center{width:56px; height:56px;}
  .view[data-view="dashboard"] .ring-num{font-size:16px;}

  .view[data-view="dashboard"] .now-pill{
    width:100%;
    justify-content:space-between;
    margin-top:0;
    padding:10px 12px;
  }
  .view[data-view="dashboard"] .now-date{font-size:12px;}
  .view[data-view="dashboard"] .now-time{font-size:20px;}

  .view[data-view="dashboard"] .stats{
    grid-area:stats;
    justify-self:stretch;
    grid-template-columns: 1fr 1fr;
    gap:10px;
  }
  .view[data-view="dashboard"] .stats .stat:nth-child(3){grid-column:1 / -1;}
  .view[data-view="dashboard"] .stat-value{font-size:18px;}

  /* Filters: víc místa + pohodlné horizontální rolování */
  .view[data-view="dashboard"] .filters{padding:0;}
  .view[data-view="dashboard"] .filter-pill{flex:1;}
  .view[data-view="dashboard"] .filter-item{padding:10px 12px;}
  .view[data-view="dashboard"] .add-btn{width:38px; height:38px;}

  /* Hlavní karta: zjednodušení hlavičky */
  .view[data-view="dashboard"] .card-main{padding:12px;}
  .view[data-view="dashboard"] .card-top{
    grid-template-columns: 1fr auto;
    gap:10px;
  }
  .view[data-view="dashboard"] .team{display:none;}
  .view[data-view="dashboard"] .card-actions{grid-column:2;}

  /* Kalendář: větší dotykové buňky */
  .view[data-view="dashboard"] .cal-day,
  .view[data-view="dashboard"] .cal-num{height:34px; font-size:12px; border-radius:12px;}
  .view[data-view="dashboard"] .cal-grid{gap:8px;}

  /* Služba: méně dekorací, více podstatného */
  .view[data-view="dashboard"] .plan-price .big{font-size:26px;}
  .view[data-view="dashboard"] .plan-graph .bars{display:none;}
  .view[data-view="dashboard"] .chip{padding:10px 12px; border-radius:16px;}

  /* Metry: zmenšit, aby nepůsobily chaoticky */
  .view[data-view="dashboard"] .metrics{gap:10px;}
  .view[data-view="dashboard"] .metric{padding:9px 10px;}
  .view[data-view="dashboard"] .m-val{font-size:16px;}
}

@media (max-width: 520px){
  /* Ještě kompaktnější pro malé iPhony */
  .view[data-view="dashboard"] .hero{grid-template-columns: 1fr 86px;}
  .view[data-view="dashboard"] .ring{width:86px; height:86px;}
  .view[data-view="dashboard"] .ring-svg{width:86px; height:86px;}
  .view[data-view="dashboard"] .now-time{font-size:19px;}
  .view[data-view="dashboard"] .stat-value{font-size:17px;}
}


/* Produktivita: diktování / šablony / našeptávání */
.a1-head-actions{display:flex; gap:8px; align-items:center; margin-left:auto; margin-right:8px; flex-wrap:wrap;}
.a1-mini-btn,.a1-chip-btn{appearance:none; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); color:#fff; border-radius:12px; cursor:pointer; transition:.16s ease;}
.a1-mini-btn{padding:8px 10px; font-size:12px; font-weight:800; line-height:1;}
.a1-chip-btn{padding:7px 10px; font-size:11px; font-weight:700; line-height:1.2;}
.a1-mini-btn:hover,.a1-chip-btn:hover{transform:translateY(-1px); background:rgba(255,255,255,.10); border-color:rgba(59,130,246,.34);}
.a1-tools-row{display:flex; gap:8px; flex-wrap:wrap; margin-top:8px;}
.a1-tools-caption{width:100%; font-size:10px; color:rgba(255,255,255,.54); font-weight:800; letter-spacing:.02em; margin-bottom:-2px;}
.a1-template-select-wrap{width:min(100%, 360px);}
.a1-template-select{width:100%; appearance:none; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); color:#fff; border-radius:12px; padding:10px 12px; font-size:13px; font-weight:700; line-height:1.3; outline:none; box-shadow:none;}
.a1-template-select:hover,.a1-template-select:focus{border-color:rgba(59,130,246,.34); background:rgba(255,255,255,.10);}
.a1-template-select option{color:#111; background:#fff;}
.a1-suggest-box{margin-top:8px; border:1px solid rgba(255,255,255,.10); background:rgba(19,22,29,.98); border-radius:16px; overflow:hidden;}
.a1-suggest-item{display:block; width:100%; text-align:left; padding:10px 12px; border:0; border-bottom:1px solid rgba(255,255,255,.06); background:transparent; color:#fff; cursor:pointer;}
.a1-suggest-item:last-child{border-bottom:0;}
.a1-suggest-item:hover{background:rgba(255,255,255,.06);}
.a1-suggest-main{font-size:13px; font-weight:800;}
.a1-suggest-sub{margin-top:2px; font-size:11px; color:rgba(255,255,255,.58);}
@media (max-width: 700px){
  .a1-head-actions{width:100%; margin:8px 0 0 0; order:3;}
  .a1-mini-btn{flex:1; justify-content:center;}
  .a1-template-select-wrap{width:100%;}
}


/* ===================== A1 dispatch + smart protocol helpers v126 ===================== */
.a1-dispatch-card{
  margin-top:16px;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.a1-dispatch-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.a1-dispatch-kicker{
  font-size:12px;
  color:var(--muted,#8c93a0);
  margin-bottom:3px;
}
.a1-dispatch-title{
  font-size:22px;
  font-weight:800;
  color:#fff;
}
.a1-dispatch-summary{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.a1-summary-pill{
  min-width:90px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  gap:2px;
}
.a1-summary-pill b{
  font-size:18px;
  color:#fff;
}
.a1-summary-pill span{
  font-size:12px;
  color:var(--muted,#9aa1ac);
}
.a1-dispatch-list{
  display:grid;
  gap:12px;
}
.a1-dispatch-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.a1-dispatch-main{
  min-width:0;
}
.a1-dispatch-row1{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  margin-bottom:4px;
}
.a1-dispatch-job{
  font-weight:700;
  color:#fff;
  font-size:15px;
}
.a1-dispatch-badge{
  white-space:nowrap;
  font-size:11px;
  font-weight:700;
  color:#9cecf7;
  background:rgba(43,179,192,.12);
  border:1px solid rgba(43,179,192,.22);
  border-radius:999px;
  padding:5px 8px;
}
.a1-dispatch-row2,
.a1-dispatch-row3{
  font-size:13px;
  color:var(--muted,#9aa1ac);
  line-height:1.45;
}
.a1-dispatch-row3{
  margin-top:5px;
}
.a1-dispatch-tools{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-content:flex-start;
  justify-content:flex-end;
}
.a1-dispatch-btn{
  appearance:none;
  border:none;
  text-decoration:none;
  padding:9px 11px;
  border-radius:12px;
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  border:1px solid rgba(255,255,255,.1);
}
.a1-dispatch-btn.is-accent{
  background:linear-gradient(180deg, rgba(59,130,246,.98), rgba(59,130,246,.82));
  border-color:rgba(95,217,231,.28);
  color:#161616;
}
.a1-dispatch-btn[aria-disabled="true"]{
  pointer-events:none;
  opacity:.45;
}
.a1-dispatch-empty{
  padding:14px;
  border-radius:16px;
  color:var(--muted,#9aa1ac);
  background:rgba(255,255,255,.03);
  border:1px dashed rgba(255,255,255,.1);
}
.a1-proto-smart{
  margin-top:10px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  gap:12px;
}
.a1-proto-smart-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.a1-proto-smart-title{
  font-size:16px;
  font-weight:800;
  color:#fff;
}
.a1-proto-smart-sub{
  font-size:12px;
  color:var(--muted,#9aa1ac);
  margin-top:3px;
}
.a1-proto-smart-tools{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.a1-toggle-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.a1-toggle-chip{
  appearance:none;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.03);
  color:#fff;
  border-radius:999px;
  padding:9px 12px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.a1-toggle-chip.is-active{
  background:rgba(43,179,192,.16);
  border-color:rgba(59,130,246,.32);
  color:#aef3fb;
}
.a1-proto-photos{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.a1-proto-photos-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  align-items:flex-end;
}
.a1-proto-photos-title{
  color:#fff;
  font-size:14px;
  font-weight:800;
}
.a1-proto-photos-sub{
  color:var(--muted,#9aa1ac);
  font-size:12px;
}
.a1-proto-photo-strip{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(92px,1fr));
  gap:10px;
}
.a1-proto-photo-thumb{
  text-decoration:none;
  color:var(--muted,#9aa1ac);
  font-size:11px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.a1-proto-photo-thumb img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:#111;
}
.a1-proto-photo-thumb span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.a1-proto-photo-empty{
  grid-column:1/-1;
  padding:12px;
  border-radius:14px;
  background:rgba(255,255,255,.03);
  color:var(--muted,#9aa1ac);
  border:1px dashed rgba(255,255,255,.1);
  font-size:13px;
}
@media (max-width: 900px){
  .a1-dispatch-item{
    grid-template-columns:1fr;
  }
  .a1-dispatch-tools{
    justify-content:flex-start;
  }
}



/* === Productivity Plus v127 === */
.a1-plus-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.a1-dash-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:16px;box-shadow:0 12px 34px rgba(0,0,0,.16)}
.a1-dash-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.a1-dash-title{font-weight:800;font-size:16px}.a1-dash-sub{font-size:12px;color:rgba(255,255,255,.55)}
.a1-rem-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;border:none;background:rgba(255,255,255,.04);color:#fff;border-radius:16px;padding:12px 14px;margin-bottom:10px;cursor:pointer}.a1-rem-row b{font-size:18px}.a1-rem-row.warn{box-shadow:inset 0 0 0 1px rgba(245,158,11,.28)}.a1-rem-row.danger{box-shadow:inset 0 0 0 1px rgba(255,90,90,.3)}.a1-rem-row.accent{box-shadow:inset 0 0 0 1px rgba(59,130,246,.35)}
.a1-plan-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.a1-plan-item:last-child{border-bottom:none;padding-bottom:0}.a1-plan-title{font-weight:700}.a1-plan-sub{font-size:12px;color:rgba(255,255,255,.58);margin-top:4px}.a1-plan-meta{font-size:12px;color:#8ae6f4;font-weight:700}
.a1-plan-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.a1-mini2{border:none;background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:8px 12px;cursor:pointer;font-size:12px}.a1-mini2.is-accent{background:linear-gradient(135deg,#5fd9e7,#8ae6f4);color:#171717}.a1-mini2.danger{background:rgba(255,92,92,.16)}
.a1-est-grid,.a1-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.a1-grid-2a{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.a1-est-field span{display:block;font-size:12px;color:rgba(255,255,255,.6);margin-bottom:6px}.a1-est-field select,.a1-est-field input{width:100%;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:14px;padding:11px 12px}
.a1-est-total{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.04)}.a1-est-total b{font-size:22px}.a1-est-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.a1-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.a1-stat-mini{border-radius:16px;background:rgba(255,255,255,.04);padding:12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.a1-stat-mini span{font-size:12px;color:rgba(255,255,255,.6)}.a1-stat-mini b{font-size:20px}.a1-stat-mini.wide{grid-column:1/-1}
.a1-plus-panel{margin:10px 0 14px;padding:14px 14px 12px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}.a1-plus-title{font-weight:800;font-size:15px;margin-bottom:12px}.a1-subtitle{font-size:13px;font-weight:700}.a1-mini-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.a1-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text,#fff)}
.a1-stock-block,.a1-audio-block{margin-top:12px}.a1-stock-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.a1-stock-rows{display:flex;flex-direction:column;gap:8px}.a1-stock-row{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:8px}.a1-stock-row select,.a1-stock-row input{width:100%;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:14px;padding:10px 12px}
.a1-audio-list{display:flex;flex-direction:column;gap:8px}.a1-audio-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04)}.a1-audio-item audio{width:100%}.a1-audio-meta{font-size:12px;color:rgba(255,255,255,.6)}
.a1-photo-pick-head{font-size:13px;font-weight:700;margin:8px 0}.a1-photo-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.a1-photo-pick{display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.04);border-radius:16px;padding:10px}.a1-photo-pick input{align-self:flex-start}.a1-photo-pick img{width:100%;height:110px;object-fit:cover;border-radius:12px}.a1-photo-pick span{font-size:12px;color:rgba(255,255,255,.6)}
.a1-comm-list{display:flex;flex-direction:column;gap:8px}.a1-comm-item{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04)}.a1-comm-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:rgba(255,255,255,.55);margin-bottom:6px}.a1-comm-type{font-weight:700;color:#8ae6f4}.a1-comm-note{white-space:pre-wrap;line-height:1.45}
.a1-attn-danger{box-shadow:inset 0 0 0 1px rgba(255,78,78,.4),0 0 0 1px rgba(255,78,78,.18)!important}.a1-attn-warn{box-shadow:inset 0 0 0 1px rgba(245,158,11,.35),0 0 0 1px rgba(245,158,11,.18)!important}.a1-attn-accent{box-shadow:inset 0 0 0 1px rgba(59,130,246,.4),0 0 0 1px rgba(43,179,192,.18)!important}
.a1-muted{font-size:13px;color:rgba(255,255,255,.55)}
@media (max-width: 980px){.a1-plus-dashboard-grid,.a1-est-grid,.a1-grid-2,.a1-grid-2a,.a1-stat-grid,.a1-photo-pick-grid{grid-template-columns:1fr}.a1-stock-row{grid-template-columns:1fr 1fr auto}.a1-audio-item{grid-template-columns:1fr}.a1-plan-item{grid-template-columns:1fr}}


/* ===== v129 Dashboard cockpit redesign ===== */
.view[data-view="dashboard"] > .hero,
.view[data-view="dashboard"] > .filters,
.view[data-view="dashboard"] > .content,
.view[data-view="dashboard"] > .pager,
.view[data-view="dashboard"] > #a1QuickDispatch,
.view[data-view="dashboard"] > #a1PlusDashboardGrid{
  display:none !important;
}

.a1-home-shell{
  display:grid;
  gap:18px;
  padding:8px 2px 18px;
}
.a1-home-card{
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  box-shadow:0 18px 44px rgba(0,0,0,.22);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.a1-home-top{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
}
.a1-home-hero{
  padding:22px 24px;
  display:grid;
  gap:18px;
}
.a1-home-kicker{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.54);
}
.a1-home-date-line{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  align-items:flex-end;
}
.a1-home-date-big{
  font-size:30px;
  font-weight:800;
  line-height:1.05;
  color:#fff;
}
.a1-home-time{
  font-size:15px;
  font-weight:700;
  color:#97e8f4;
  padding-bottom:4px;
}
.a1-home-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.a1-home-stat{
  padding:14px 16px;
  border-radius:20px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.06);
}
.a1-home-stat b{
  display:block;
  font-size:24px;
  line-height:1;
  color:#fff;
}
.a1-home-stat span{
  display:block;
  margin-top:6px;
  font-size:12px;
  color:rgba(255,255,255,.65);
}
.a1-home-search-card{
  padding:22px;
  display:grid;
  gap:14px;
}
.a1-home-headline{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
}
.a1-home-title{
  font-size:20px;
  font-weight:800;
  color:#fff;
}
.a1-home-sub{
  font-size:13px;
  color:rgba(255,255,255,.62);
}
.a1-home-searchbox{
  position:relative;
}
.a1-home-searchbox input{
  width:100%;
  height:56px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(10,12,18,.62);
  color:#fff;
  font-size:15px;
  padding:0 18px 0 48px;
  outline:none;
}
.a1-home-searchbox svg{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  color:rgba(255,255,255,.45);
}
.a1-home-search-results{
  display:grid;
  gap:8px;
  max-height:276px;
  overflow:auto;
}
.a1-home-search-empty{
  font-size:13px;
  color:rgba(255,255,255,.46);
  padding:6px 2px 0;
}
.a1-home-result{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.04);
  color:#fff;
}
.a1-home-result:hover{
  border-color:rgba(59,130,246,.45);
  background:rgba(59,130,246,.10);
}
.a1-home-result-main{
  min-width:0;
}
.a1-home-result-title{
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.a1-home-result-sub{
  margin-top:4px;
  font-size:12px;
  color:rgba(255,255,255,.58);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.a1-home-result-kind{
  flex:0 0 auto;
  font-size:11px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#a8f2fb;
}
.a1-home-actions{
  padding:22px 24px;
  display:grid;
  gap:14px;
}
.a1-home-action-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.a1-home-action{
  min-height:92px;
  padding:14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04));
  color:#fff;
  text-align:left;
  display:grid;
  align-content:space-between;
  gap:12px;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.a1-home-action:hover{
  transform:translateY(-2px);
  border-color:rgba(59,130,246,.45);
  background:linear-gradient(180deg, rgba(43,179,192,.18), rgba(255,255,255,.05));
}
.a1-home-action-ic{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#eefeff;
  background:linear-gradient(180deg, rgba(255,149,28,.26), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.a1-home-action-ic svg{
  width:22px;
  height:22px;
  display:block;
}
.a1-home-action-title{font-weight:800;font-size:14px;}
.a1-home-action-sub{font-size:12px;color:rgba(255,255,255,.58);}
.a1-home-alerts{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.a1-home-alert{
  border-radius:22px;
  padding:16px;
  text-align:left;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.04);
  color:#fff;
  min-height:108px;
  display:grid;
  gap:10px;
  align-content:space-between;
}
.a1-home-alert b{font-size:28px;line-height:1;color:#fff;}
.a1-home-alert span{font-size:13px;font-weight:700;}
.a1-home-alert small{font-size:12px;color:rgba(255,255,255,.58);}
.a1-home-alert.is-danger{background:rgba(255,92,92,.14);border-color:rgba(255,92,92,.28);}
.a1-home-alert.is-warn{background:rgba(255,173,51,.14);border-color:rgba(255,173,51,.28);}
.a1-home-alert.is-accent{background:rgba(43,179,192,.16);border-color:rgba(95,217,231,.28);}
.a1-home-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
}
.a1-home-section{
  padding:22px 24px;
  display:grid;
  gap:14px;
}
.a1-home-plan-list,
.a1-home-continue-list,
.a1-home-mini-list{
  display:grid;
  gap:10px;
}
.a1-home-plan-item,
.a1-home-continue-item,
.a1-home-mini-item{
  display:grid;
  gap:10px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.04);
}
.a1-home-plan-top,
.a1-home-continue-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.a1-home-plan-title,
.a1-home-continue-title{font-size:15px;font-weight:800;color:#fff;}
.a1-home-plan-sub,
.a1-home-continue-sub{font-size:12px;color:rgba(255,255,255,.6);}
.a1-home-badge{
  flex:0 0 auto;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#b2f5ff;
  font-size:11px;
  font-weight:700;
}
.a1-home-row-actions{display:flex;flex-wrap:wrap;gap:8px;}
.a1-home-mini-btn{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.05);
  color:#fff;
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:700;
}
.a1-home-mini-btn.is-accent{background:rgba(43,179,192,.18);border-color:rgba(59,130,246,.32);}
.a1-home-mini-btn:hover{border-color:rgba(59,130,246,.45);}
.a1-home-stats-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.a1-home-stat-box{
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
}
.a1-home-stat-box b{display:block;font-size:22px;color:#fff;line-height:1;}
.a1-home-stat-box span{display:block;margin-top:6px;font-size:12px;color:rgba(255,255,255,.58);}
.a1-home-muted{font-size:13px;color:rgba(255,255,255,.48);}

@media (max-width: 1320px){
  .a1-home-top,
  .a1-home-grid{ grid-template-columns:1fr; }
  .a1-home-action-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .a1-home-alerts{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 820px){
  .a1-home-shell{ gap:14px; }
  .a1-home-top,
  .a1-home-grid{ gap:14px; }
  .a1-home-hero,
  .a1-home-search-card,
  .a1-home-actions,
  .a1-home-section{ padding:18px; border-radius:22px; }
  .a1-home-date-big{ font-size:24px; }
  .a1-home-summary,
  .a1-home-stats-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .a1-home-action-grid,
  .a1-home-alerts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px){
  .a1-home-summary,
  .a1-home-action-grid,
  .a1-home-alerts,
  .a1-home-stats-grid{ grid-template-columns:1fr; }
  .a1-home-date-line{ display:grid; gap:4px; }
  .a1-home-time{ padding-bottom:0; }
}


/* ===== v130 návrat k původní úvodní stránce ===== */
#a1HomeShell{display:none !important;}
.view[data-view="dashboard"] > .hero{display:grid !important;}
.view[data-view="dashboard"] > .filters{display:flex !important;}
.view[data-view="dashboard"] > .content{display:grid !important;}
.view[data-view="dashboard"] > .pager{display:flex !important;}
.view[data-view="dashboard"] > #a1QuickDispatch,
.view[data-view="dashboard"] > #a1PlusDashboardGrid{display:block !important;}
@media (max-width: 980px){
  .view[data-view="dashboard"] > #a1QuickDispatch,
  .view[data-view="dashboard"] > #a1PlusDashboardGrid{display:block !important;}
}


/* ===== v132 původní úvod + malé praktické boxy dole ===== */
#a1HomeShell.a1-home-shell--compact{display:grid !important;gap:14px;padding-top:14px;}
#a1HomeShell.a1-home-shell--compact .a1-home-actions,
#a1HomeShell.a1-home-shell--compact .a1-home-alerts-wrap,
#a1HomeShell.a1-home-shell--compact .a1-home-section{border-radius:24px;box-shadow:0 12px 28px rgba(0,0,0,.18);}
#a1HomeShell.a1-home-shell--compact .a1-home-actions,
#a1HomeShell.a1-home-shell--compact .a1-home-alerts-wrap,
#a1HomeShell.a1-home-shell--compact .a1-home-section{padding:18px 20px;}
#a1HomeShell.a1-home-shell--compact .a1-home-alerts-wrap .a1-home-alerts{grid-template-columns:repeat(3,minmax(0,1fr));}
#a1HomeShell.a1-home-shell--compact .a1-home-action-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
#a1HomeShell.a1-home-shell--compact .a1-home-action{min-height:78px;border-radius:18px;padding:12px;}
#a1HomeShell.a1-home-shell--compact .a1-home-alert{min-height:92px;border-radius:18px;padding:14px;}
#a1HomeShell.a1-home-shell--compact .a1-home-alert b{font-size:24px;}
#a1HomeShell.a1-home-shell--compact .a1-home-grid{grid-template-columns:1fr;gap:14px;}
#a1HomeShell.a1-home-shell--compact .a1-home-headline{margin-bottom:2px;}
#a1HomeShell.a1-home-shell--compact .a1-home-title{font-size:18px;}
.view[data-view="dashboard"] > #a1QuickDispatch,
.view[data-view="dashboard"] > #a1PlusDashboardGrid{display:none !important;}
@media (max-width: 1100px){
  #a1HomeShell.a1-home-shell--compact .a1-home-action-grid,
  #a1HomeShell.a1-home-shell--compact .a1-home-alerts-wrap .a1-home-alerts{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width: 820px){
  #a1HomeShell.a1-home-shell--compact .a1-home-action-grid,
  #a1HomeShell.a1-home-shell--compact .a1-home-alerts-wrap .a1-home-alerts{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 560px){
  #a1HomeShell.a1-home-shell--compact .a1-home-action-grid,
  #a1HomeShell.a1-home-shell--compact .a1-home-alerts-wrap .a1-home-alerts{grid-template-columns:1fr;}
}


/* Full-screen popups v137 */
.modal-backdrop{
  align-items:stretch;
  justify-content:stretch;
  padding:0;
  background: rgba(4,6,10,.72);
}
.modal-backdrop .modal,
.modal-backdrop .modal.modal-sm,
.modal-backdrop .modal.modal-md,
.modal-backdrop .modal.modal-xl{
  width:100vw !important;
  max-width:none !important;
  height:100dvh;
  max-height:100dvh !important;
  margin:0;
  border-radius:0;
  border:none;
  box-shadow:none;
  padding: calc(14px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));
  background:
    linear-gradient(180deg, rgba(17,22,30,.96), rgba(11,15,22,.985));
}
.modal-head{
  position:sticky;
  top:0;
  z-index:3;
  margin: calc(-10px - env(safe-area-inset-top)) calc(-10px - env(safe-area-inset-right)) 10px calc(-10px - env(safe-area-inset-left));
  padding: calc(12px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) 12px calc(14px + env(safe-area-inset-left));
  background: linear-gradient(180deg, rgba(16,20,28,.98), rgba(16,20,28,.88));
  border-bottom: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(18px);
}
.modal-title{font-size:18px;}
.modal-actions{
  position:sticky;
  bottom: calc(-6px - env(safe-area-inset-bottom));
  z-index:3;
  margin: 12px calc(-10px - env(safe-area-inset-right)) calc(-12px - env(safe-area-inset-bottom)) calc(-10px - env(safe-area-inset-left));
  padding: 12px calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));
  background: linear-gradient(180deg, rgba(16,20,28,.78), rgba(16,20,28,.98));
  border-top: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(18px);
}
@media (max-width: 760px){
  .modal-head{padding-top: calc(10px + env(safe-area-inset-top));}
  .modal-title{font-size:17px;}
}


/* Modern module icons v138 */

/* Unified design system v139 */
:root{
  --a1-panel-bg: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  --a1-panel-bg-strong: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
  --a1-panel-border: 1px solid rgba(255,255,255,.12);
  --a1-panel-shadow: 0 14px 34px rgba(0,0,0,.22);
  --a1-panel-radius: 24px;
  --a1-item-radius: 18px;
}

.card,
.subcard,
.cust-panel,
.cust-row,
.k-col,
.k-card,
.settings-card,
.lock-card,
.diag,
.a1-dash-card,
.a1-dispatch-card,
.a1-home-hero,
.a1-home-search-card,
.a1-home-actions,
.a1-home-alerts-wrap,
.a1-home-section,
.a1-home-action,
.a1-home-alert,
.a1-home-plan-item,
.a1-home-continue-item,
.a1-home-mini-item,
.a1-home-stat-box,
.a1-home-result,
.a1-photo-pick,
.settings-row,
.dock,
.dock-app,
.user-pill,
.nav-pill,
.search,
.cust-avatar,
.cust-ava,
.job-photo-card,
.proto-sig-pad,
.diag-pre{
  background: var(--a1-panel-bg) !important;
  border: var(--a1-panel-border) !important;
  box-shadow: var(--a1-panel-shadow);
  backdrop-filter: blur(16px);
}

.card,
.cust-panel,
.settings-card,
.lock-card,
.a1-dash-card,
.a1-dispatch-card,
.a1-home-hero,
.a1-home-search-card,
.a1-home-actions,
.a1-home-alerts-wrap,
.a1-home-section,
.diag,
.dock,
.user-pill,
.nav-pill,
.search,
.proto-sig-pad,
.diag-pre{
  border-radius: var(--a1-panel-radius) !important;
}

.subcard,
.cust-row,
.k-col,
.k-card,
.a1-home-action,
.a1-home-alert,
.a1-home-plan-item,
.a1-home-continue-item,
.a1-home-mini-item,
.a1-home-stat-box,
.a1-home-result,
.a1-photo-pick,
.settings-row,
.dock-app,
.job-photo-card{
  border-radius: var(--a1-item-radius) !important;
}

.app-ic,
.dock-app-ic,
.a1-home-action-ic,
.user-btn,
.dock-btn,
.add-btn,
.cust-avatar,
.cust-ava{
  background: linear-gradient(180deg, rgba(59,130,246,.20), rgba(255,255,255,.05)) !important;
  border:1px solid rgba(43,179,192,.24) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 26px rgba(0,0,0,.18);
}

.btn,
.a1-mini-btn,
.a1-chip-btn,
.a1-home-mini-btn,
.a1-dispatch-btn,
.qty-btn,
.nav-item,
.k-add,
.mini{
  border-radius:16px !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.14);
}

.btn.ghost,
.a1-mini-btn,
.a1-chip-btn,
.a1-home-mini-btn,
.a1-dispatch-btn:not(.is-accent),
.qty-btn,
.nav-item,
.k-add,
.mini{
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.92) !important;
  border:1px solid rgba(255,255,255,.12) !important;
}

.btn:not(.ghost):not(.danger),
.nav-item.is-active,
.a1-dispatch-btn.is-accent,
.a1-home-mini-btn.is-accent,
.dock-btn.is-active{
  background: linear-gradient(180deg, rgba(59,130,246,.94), rgba(29,78,216,.94)) !important;
  color:#fff !important;
  border-color: rgba(59,130,246,.56) !important;
  box-shadow: 0 12px 28px rgba(43,179,192,.22);
}

.btn:hover,
.a1-mini-btn:hover,
.a1-chip-btn:hover,
.a1-home-mini-btn:hover,
.a1-dispatch-btn:hover,
.dock-btn:hover,
.user-btn:hover,
.add-btn:hover,
.nav-item:hover,
.k-add:hover,
.mini:hover{
  transform: translateY(-1px);
  filter: brightness(1.04);
}

input,
textarea,
select,
.select,
.settings-card .input,
.settings-card .select,
.a1-est-field input,
.a1-est-field select,
.a1-stock-row input,
.a1-stock-row select,
.oi-name input,
.oi-name textarea,
.oi-right input,
.gs-bar input,
.search input{
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background: rgba(0,0,0,.24) !important;
  color:#fff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

input:focus,
textarea:focus,
select:focus,
.select:focus,
.settings-card .input:focus,
.settings-card .select:focus,
.a1-est-field input:focus,
.a1-est-field select:focus,
.a1-stock-row input:focus,
.a1-stock-row select:focus,
.oi-name input:focus,
.oi-name textarea:focus,
.oi-right input:focus,
.gs-bar input:focus,
.search input:focus{
  border-color: rgba(59,130,246,.45) !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,.14), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.page-title,
.modal-title,
.settings-title,
.a1-home-title,
.a1-home-headline,
.k-title,
.cust-head-title,
.ph-title{
  letter-spacing:-.25px;
}

.a1-home-action,
.a1-home-alert,
.a1-home-plan-item,
.a1-home-continue-item,
.a1-home-mini-item,
.a1-home-result,
.k-card,
.cust-row,
.dock-app{
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.a1-home-action:hover,
.a1-home-alert:hover,
.a1-home-plan-item:hover,
.a1-home-continue-item:hover,
.a1-home-mini-item:hover,
.a1-home-result:hover,
.k-card:hover,
.cust-row:hover,
.dock-app:hover{
  border-color: rgba(59,130,246,.34) !important;
  background: var(--a1-panel-bg-strong) !important;
  transform: translateY(-2px);
}

.a1-home-alert.is-danger{
  background: linear-gradient(180deg, rgba(127,29,29,.42), rgba(255,255,255,.04)) !important;
  border-color: rgba(248,113,113,.28) !important;
}
.a1-home-alert.is-warn{
  background: linear-gradient(180deg, rgba(133,77,14,.36), rgba(255,255,255,.04)) !important;
  border-color: rgba(251,191,36,.28) !important;
}
.a1-home-alert.is-accent{
  background: linear-gradient(180deg, rgba(154,52,18,.34), rgba(255,255,255,.04)) !important;
  border-color: rgba(59,130,246,.30) !important;
}

.modal-head,
.modal-actions{
  border-color: rgba(255,255,255,.12) !important;
}


/* ===== v140 quick actions redesign ===== */
#a1HomeShell.a1-home-shell--compact .a1-home-actions{
  padding:20px 22px !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action{
  position:relative;
  min-height:98px !important;
  padding:16px 16px 15px !important;
  display:grid !important;
  grid-template-columns:52px minmax(0,1fr) 30px;
  align-items:center;
  align-content:center !important;
  gap:14px !important;
  overflow:hidden;
  border-radius:22px !important;
  border:1px solid rgba(43,179,192,.18) !important;
  background:
    radial-gradient(circle at top right, rgba(43,179,192,.18), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action::before{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  top:0;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg, rgba(95,217,231,.9), rgba(184,244,255,.24));
  opacity:.95;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action::after{
  content:"↗";
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  color:#c9fbff;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  font-size:15px;
  font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
#a1HomeShell.a1-home-shell--compact .a1-home-action:hover{
  transform:translateY(-3px) !important;
  border-color:rgba(59,130,246,.38) !important;
  background:
    radial-gradient(circle at top right, rgba(43,179,192,.24), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
  box-shadow:0 20px 38px rgba(0,0,0,.24), 0 0 0 1px rgba(59,130,246,.10) !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action-ic{
  width:52px;
  height:52px;
  border-radius:18px !important;
  color:#f4ffff !important;
  background:linear-gradient(180deg, rgba(95,217,231,.28), rgba(255,255,255,.08)) !important;
  border:1px solid rgba(43,179,192,.22) !important;
  box-shadow:0 12px 26px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action-ic svg{
  width:24px;
  height:24px;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action > div:nth-child(2){
  min-width:0;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action-title{
  font-size:15px;
  line-height:1.2;
  letter-spacing:-.02em;
  color:#fff;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action-sub{
  margin-top:4px;
  font-size:12px;
  color:rgba(255,255,255,.64);
}
@media (max-width: 980px){
  #a1HomeShell.a1-home-shell--compact .a1-home-action-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width: 620px){
  #a1HomeShell.a1-home-shell--compact .a1-home-action-grid{
    grid-template-columns:1fr !important;
  }
}


/* ===== v148 visual cleanup ===== */
.meta{display:none !important;}

.frame{
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)) !important;
  border-color: rgba(255,255,255,.06) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.34) !important;
}

.bg{
  background:
    radial-gradient(820px 520px at 50% 38%, rgba(255,255,255,.035), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.005)) !important;
}
.bg::after{
  background: url('logo-bg.webp') center 54% / clamp(460px, 68vw, 940px) auto no-repeat !important;
  opacity:.18 !important;
  filter: drop-shadow(0 12px 36px rgba(0,0,0,.22)) brightness(.98) contrast(1.02) saturate(.94) !important;
  mix-blend-mode: normal !important;
}
@media (max-width:900px){
  .bg::after{
    background-size: clamp(320px, 78vw, 620px) auto !important;
    opacity:.12 !important;
  }
}

.blob{ filter: blur(38px) !important; opacity:.18 !important; }
.blob.b2,.blob.b3{ display:none !important; }
.blob.b1{
  width:380px !important;
  height:380px !important;
  left:-110px !important;
  top:-110px !important;
  background: radial-gradient(circle at 30% 30%, rgba(43,179,192,.16), transparent 58%) !important;
}
.noise{ opacity:.025 !important; }

.dash{
  background: rgba(11,16,24,.82) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  backdrop-filter: blur(12px) !important;
  box-shadow:0 18px 52px rgba(0,0,0,.30) !important;
  padding:16px 16px 14px 16px !important;
}
.topbar{ grid-template-columns:56px minmax(0,1fr) auto !important; gap:10px !important; }
.brand-mark{ width:42px !important; height:42px !important; border-radius:14px !important; background: rgba(12,16,23,.82) !important; }
.brand-logo{ width:38px !important; height:38px !important; }

.nav-pill, .user-pill, .search, .dock, .card, .subcard, .cust-panel, .k-col, .settings-card, .lock-card, .diag, .diag-pre, .proto-sig-pad{
  background: rgba(15,20,28,.74) !important;
  border-color: rgba(255,255,255,.08) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
}
.nav-pill{ padding:4px !important; gap:4px !important; border-radius:18px !important; }
.nav-item{
  padding:6px 8px !important;
  font-size:10px !important;
  color: rgba(255,255,255,.72) !important;
  box-shadow:none !important;
  background: transparent !important;
  border:1px solid transparent !important;
  border-radius:12px !important;
}
.nav-item:hover{ background: rgba(255,255,255,.06) !important; }
.nav-item.is-active{
  background: rgba(255,255,255,.92) !important;
  color:#10151f !important;
  box-shadow:none !important;
}

.user-pill{ padding:6px 8px !important; gap:8px !important; }
.user-name{ font-size:11px !important; }
.user-sub{ font-size:9px !important; }
.user-btn, .dock-btn, .mini{ box-shadow:none !important; }
.user-btn{ width:34px !important; height:34px !important; border-radius:12px !important; background: rgba(15,20,28,.82) !important; border-color: rgba(255,255,255,.08)!important; }
.dock{ padding:8px !important; gap:8px !important; left:14px !important; border-radius:18px !important; }
.dock-btn{ width:38px !important; height:38px !important; border-radius:12px !important; background: rgba(15,20,28,.82)!important; border-color: rgba(255,255,255,.08)!important; }
.dock-btn.is-active{ background: linear-gradient(180deg, rgba(59,130,246,.92), rgba(29,78,216,.92)) !important; border-color: rgba(59,130,246,.38)!important;}

.hero{ grid-template-columns:1.15fr 108px 1.15fr !important; gap:12px !important; padding: 2px 4px 0 4px !important; }
.now-pill{ padding:8px 12px !important; font-size:12px !important; }
.now-date{ font-size:12px !important; }
.now-time{ font-size:18px !important; }
.ring, .ring-svg{ width:108px !important; height:108px !important; }
.stats{ gap:10px !important; }
.stat{
  padding:10px 12px !important;
  border-radius:16px !important;
  background: rgba(15,20,28,.68) !important;
  border:1px solid rgba(255,255,255,.07) !important;
  box-shadow:none !important;
}
.stat-label{ font-size:10px !important; }
.stat-value{ font-size:18px !important; }

.card, .subcard, .cust-row, .k-card, .offer-block, .calc-item, .job-media, .stock-row, .lead-row, .offer-row{
  border-radius:18px !important;
}
.card-main{ padding:12px !important; gap:10px !important; }
.card-top{ gap:8px !important; }
.btn, .mini, .a1-mini-btn, .a1-chip-btn, .k-add, .qty-btn{ box-shadow:none !important; }
.btn:not(.ghost):not(.danger), .a1-dispatch-btn.is-accent, .a1-home-mini-btn.is-accent{
  box-shadow:0 8px 18px rgba(59,130,246,.14) !important;
}

input, textarea, select, .search input{
  background: rgba(8,12,18,.58) !important;
  border-color: rgba(255,255,255,.08) !important;
}
input:focus, textarea:focus, select:focus, .search input:focus{
  border-color: rgba(95,217,231,.28) !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,.10), inset 0 1px 0 rgba(255,255,255,.03) !important;
}

@media (max-width: 1100px){
  .user-meta{ display:none !important; }
  .topbar{ grid-template-columns:48px minmax(0,1fr) auto !important; }
}
@media (max-width: 760px){
  .dock{ left:10px !important; }
  .dash{ inset:22px 14px 14px 68px !important; padding:14px !important; }
  .hero{ grid-template-columns: 1fr 88px !important; }
  .stats{ grid-template-columns: repeat(2,1fr) !important; }
  .stat:nth-child(3){ grid-column:1/-1; }
}


/* ===== v149 soften quick actions + alerts ===== */
#a1HomeShell.a1-home-shell--compact .a1-home-actions,
#a1HomeShell.a1-home-shell--compact .a1-home-alerts-wrap{
  padding:18px 20px !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action{
  min-height:84px !important;
  padding:14px 16px !important;
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) !important;
  align-items:center !important;
  align-content:center !important;
  gap:12px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:rgba(255,255,255,.045) !important;
  box-shadow:none !important;
  overflow:visible !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action::before,
#a1HomeShell.a1-home-shell--compact .a1-home-action::after{
  display:none !important;
  content:none !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.06) !important;
  box-shadow:none !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action-ic{
  width:44px !important;
  height:44px !important;
  border-radius:14px !important;
  color:#eefeff !important;
  background:linear-gradient(180deg, rgba(43,179,192,.18), rgba(255,255,255,.04)) !important;
  border:1px solid rgba(43,179,192,.16) !important;
  box-shadow:none !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action-ic svg{
  width:22px !important;
  height:22px !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action-title{
  font-size:14px !important;
  line-height:1.2 !important;
  letter-spacing:-.01em !important;
  font-weight:800 !important;
  color:#fff !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action-sub{
  margin-top:4px !important;
  font-size:12px !important;
  color:rgba(255,255,255,.58) !important;
}

#a1HomeShell.a1-home-shell--compact .a1-home-alerts-wrap .a1-home-alerts{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-alert{
  position:relative !important;
  min-height:88px !important;
  padding:14px 16px 14px 18px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:
    "title count"
    "sub count" !important;
  align-items:center !important;
  align-content:center !important;
  gap:6px 12px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:rgba(255,255,255,.045) !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-alert::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:0 999px 999px 0;
  background:rgba(255,255,255,.2);
}
#a1HomeShell.a1-home-shell--compact .a1-home-alert span{
  grid-area:title !important;
  font-size:14px !important;
  font-weight:800 !important;
  color:#fff !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-alert small{
  grid-area:sub !important;
  font-size:12px !important;
  color:rgba(255,255,255,.58) !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-alert b{
  grid-area:count !important;
  align-self:center !important;
  justify-self:end !important;
  font-size:26px !important;
  line-height:1 !important;
  color:#fff !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-alert.is-danger,
#a1HomeShell.a1-home-shell--compact .a1-home-alert.is-warn,
#a1HomeShell.a1-home-shell--compact .a1-home-alert.is-accent{
  background:rgba(255,255,255,.045) !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-alert.is-danger::before{ background:rgba(248,113,113,.92) !important; }
#a1HomeShell.a1-home-shell--compact .a1-home-alert.is-warn::before{ background:rgba(251,191,36,.92) !important; }
#a1HomeShell.a1-home-shell--compact .a1-home-alert.is-accent::before{ background:rgba(59,130,246,.92) !important; }
#a1HomeShell.a1-home-shell--compact .a1-home-alert.is-danger b{ color:#fca5a5 !important; }
#a1HomeShell.a1-home-shell--compact .a1-home-alert.is-warn b{ color:#fcd34d !important; }
#a1HomeShell.a1-home-shell--compact .a1-home-alert.is-accent b{ color:#b8f4ff !important; }
#a1HomeShell.a1-home-shell--compact .a1-home-alert:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.06) !important;
}
@media (max-width: 1100px){
  #a1HomeShell.a1-home-shell--compact .a1-home-action-grid,
  #a1HomeShell.a1-home-shell--compact .a1-home-alerts-wrap .a1-home-alerts{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width: 640px){
  #a1HomeShell.a1-home-shell--compact .a1-home-action-grid,
  #a1HomeShell.a1-home-shell--compact .a1-home-alerts-wrap .a1-home-alerts{
    grid-template-columns:1fr !important;
  }
}


/* ===== v150 luxury clean style ===== */
:root{
  --a1-clean-panel: rgba(16,21,30,.78);
  --a1-clean-panel-2: rgba(18,24,34,.70);
  --a1-clean-border: rgba(255,255,255,.07);
  --a1-clean-border-strong: rgba(255,255,255,.11);
  --a1-clean-shadow: 0 14px 34px rgba(0,0,0,.18);
  --a1-clean-shadow-soft: 0 10px 24px rgba(0,0,0,.14);
  --a1-clean-radius: 22px;
}

/* quieter scene */
.bg{
  background:
    radial-gradient(760px 500px at 50% 32%, rgba(255,255,255,.024), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.004)) !important;
}
.bg::after{
  background: url('logo-bg.webp') center 54% / clamp(420px, 62vw, 860px) auto no-repeat !important;
  opacity:.10 !important;
  filter: drop-shadow(0 10px 26px rgba(0,0,0,.16)) brightness(.98) contrast(1.02) saturate(.90) !important;
}
@media (max-width:900px){
  .bg::after{
    background-size: clamp(300px, 72vw, 560px) auto !important;
    opacity:.08 !important;
  }
}
.blob{ opacity:.11 !important; filter: blur(44px) !important; }
.blob.b2,.blob.b3{ display:none !important; }
.blob.b1{
  width:320px !important;
  height:320px !important;
  left:-100px !important;
  top:-90px !important;
  background: radial-gradient(circle at 30% 30%, rgba(59,130,246,.10), transparent 60%) !important;
}
.noise{ opacity:.012 !important; }

.frame{
  background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)) !important;
  border-color: rgba(255,255,255,.05) !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.28) !important;
}
.dash{
  background: rgba(12,17,24,.80) !important;
  border-color: rgba(255,255,255,.06) !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(10px) !important;
}

/* more unified panels */
.nav-pill, .user-pill, .search, .dock, .card, .subcard, .cust-panel, .k-col, .settings-card, .lock-card, .diag, .diag-pre, .proto-sig-pad,
.a1-home-card, .a1-home-stat-box, .cust-box, .calc-box, .job-photo-card, .offer-sum-box{
  background: linear-gradient(180deg, var(--a1-clean-panel), var(--a1-clean-panel-2)) !important;
  border: 1px solid var(--a1-clean-border) !important;
  box-shadow: var(--a1-clean-shadow) !important;
  backdrop-filter: blur(10px) !important;
}
.card, .subcard, .k-card, .cust-row, .stock-row, .lead-row, .offer-row, .a1-home-plan-item, .a1-home-continue-item, .a1-home-mini-item, .a1-home-alert, .a1-home-action{
  border-radius: 20px !important;
}
.k-card, .cust-row, .stock-row, .lead-row, .offer-row, .a1-home-plan-item, .a1-home-continue-item, .a1-home-mini-item{
  background: rgba(255,255,255,.038) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  box-shadow: none !important;
}
.k-card:hover, .cust-row:hover, .stock-row:hover, .lead-row:hover, .offer-row:hover{
  background: rgba(255,255,255,.052) !important;
}

/* headings and rhythm */
.page{ gap:14px !important; }
.page-title, .a1-home-title, .modal-title{
  letter-spacing:-.03em !important;
}
.page-title{ font-size:20px !important; }
.a1-home-title{ font-size:18px !important; font-weight:800 !important; }
.a1-home-sub, .page-sub, .a1-home-plan-sub, .a1-home-continue-sub, .a1-home-action-sub, .a1-home-muted{
  color: rgba(255,255,255,.56) !important;
}
.a1-home-shell{ gap:16px !important; }
.a1-home-headline{ margin-bottom:2px !important; }
.a1-home-actions, .a1-home-section, .a1-home-alerts-wrap{ padding:18px 20px !important; }
.a1-home-plan-list, .a1-home-continue-list, .a1-home-mini-list, .a1-home-stats-grid{ gap:12px !important; }

/* top navigation calmer */
.topbar{ gap:10px !important; }
.brand-mark{ width:40px !important; height:40px !important; border-radius:13px !important; }
.brand-logo{ width:36px !important; height:36px !important; }
.nav-pill{
  padding:4px !important;
  gap:4px !important;
  border-radius:16px !important;
  box-shadow: var(--a1-clean-shadow-soft) !important;
}
.nav-item{
  padding:6px 9px !important;
  font-size:11.5px !important;
  line-height:1.1 !important;
  color: rgba(255,255,255,.64) !important;
  border-radius:11px !important;
  border:1px solid transparent !important;
  background: transparent !important;
  box-shadow:none !important;
}
.nav-item:hover{
  background: rgba(255,255,255,.045) !important;
  color: rgba(255,255,255,.82) !important;
}
.nav-item.is-active{
  background: rgba(255,255,255,.92) !important;
  color: #121823 !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: none !important;
}
.user-pill{
  padding:6px 8px !important;
  border-radius:16px !important;
}
.user-name{ font-size:10.5px !important; }
.user-sub{ font-size:9px !important; opacity:.65 !important; }
.user-btn, .dock-btn, .mini{ box-shadow:none !important; }
.user-btn, .dock-btn{
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.08) !important;
}
.dock{
  border-radius:18px !important;
  box-shadow: var(--a1-clean-shadow-soft) !important;
}

/* cleaner hero + stats */
.hero{ gap:14px !important; }
.now-pill, .stat{
  background: rgba(255,255,255,.042) !important;
  border-color: rgba(255,255,255,.06) !important;
  box-shadow:none !important;
}
.now-pill{ padding:9px 12px !important; }
.now-date{ font-size:11px !important; }
.now-time{ font-size:17px !important; }
.stat{ padding:11px 13px !important; border-radius:16px !important; }
.stat-label{ font-size:10px !important; color: rgba(255,255,255,.52) !important; }
.stat-value{ font-size:18px !important; }

/* quick actions closer to home intro */
#a1HomeShell.a1-home-shell--compact .a1-home-action-grid{
  gap:10px !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action{
  min-height:76px !important;
  padding:13px 14px !important;
  grid-template-columns:40px minmax(0,1fr) !important;
  gap:12px !important;
  background: rgba(255,255,255,.036) !important;
  border:1px solid rgba(255,255,255,.06) !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action:hover{
  transform:none !important;
  background: rgba(255,255,255,.046) !important;
  border-color: rgba(255,255,255,.09) !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action-ic{
  width:40px !important;
  height:40px !important;
  border-radius:13px !important;
  background: rgba(43,179,192,.12) !important;
  border:1px solid rgba(43,179,192,.12) !important;
  color:#cffcff !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-action-title{ font-size:13px !important; }
#a1HomeShell.a1-home-shell--compact .a1-home-action-sub{ font-size:11.5px !important; }

/* alerts calmer */
#a1HomeShell.a1-home-shell--compact .a1-home-alert{
  min-height:84px !important;
  padding:14px 15px 14px 17px !important;
  background: rgba(255,255,255,.036) !important;
  border-color: rgba(255,255,255,.06) !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-alert:hover{
  transform:none !important;
  background: rgba(255,255,255,.046) !important;
  border-color: rgba(255,255,255,.09) !important;
}
#a1HomeShell.a1-home-shell--compact .a1-home-alert span{ font-size:13px !important; }
#a1HomeShell.a1-home-shell--compact .a1-home-alert small{ font-size:11.5px !important; }
#a1HomeShell.a1-home-shell--compact .a1-home-alert b{ font-size:24px !important; }

/* buttons hierarchy */
.btn{
  min-height:38px !important;
  border-radius:13px !important;
  padding:9px 12px !important;
  font-size:11.5px !important;
  box-shadow:none !important;
}
.btn:not(.ghost):not(.danger){
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(244,244,244,.90)) !important;
  color:#121823 !important;
}
.btn.ghost, .a1-home-mini-btn{
  background: rgba(255,255,255,.042) !important;
  color: rgba(255,255,255,.86) !important;
  border-color: rgba(255,255,255,.08) !important;
}
.btn:hover, .a1-home-mini-btn:hover{ transform:none !important; }
.a1-home-mini-btn.is-accent, .a1-dispatch-btn.is-accent{
  background: rgba(59,130,246,.14) !important;
  border-color: rgba(59,130,246,.20) !important;
  color:#e6feff !important;
  box-shadow:none !important;
}

/* forms cleaner and more consistent */
label, .label, .field-label{
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  color: rgba(255,255,255,.58) !important;
}
input, textarea, select, .input, .select, .search input, .settings-card .input, .settings-card .select{
  border-radius:14px !important;
  min-height:42px;
  background: rgba(8,12,18,.46) !important;
  border-color: rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.94) !important;
  box-shadow:none !important;
}
textarea{ min-height:96px; }
input::placeholder, textarea::placeholder{ color: rgba(255,255,255,.34) !important; }
input:focus, textarea:focus, select:focus, .input:focus, .select:focus, .search input:focus, .settings-card .input:focus, .settings-card .select:focus{
  border-color: rgba(43,179,192,.24) !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,.08) !important;
}
.search{ min-height:42px !important; border-radius:16px !important; }

/* modal calmer */
.modal{
  background: rgba(14,18,26,.88) !important;
  border-color: rgba(255,255,255,.08) !important;
  box-shadow: 0 22px 54px rgba(0,0,0,.34) !important;
}
.modal-head, .modal-actions{
  border-color: rgba(255,255,255,.06) !important;
}
.modal-title{ font-size:17px !important; }

@media (max-width: 980px){
  .a1-home-title{ font-size:17px !important; }
}
@media (max-width: 760px){
  .topbar{ grid-template-columns:48px minmax(0,1fr) auto !important; }
  .nav-item{ font-size:11px !important; }
  .dash{ padding:14px !important; }
}


/* ===== v152 FINAL MOBILE DOCK FIX =====
   Poslední přepis mobilního layoutu: spodní dock musí být vždy dole,
   nesmí ho přetlačit pozdější desktopové úpravy. */
@media (max-width: 860px){
  .frame{ overflow:hidden !important; }

  .dash{
    inset: 0 !important;
    border-radius: 0 !important;
    padding:
      calc(12px + env(safe-area-inset-top))
      12px
      calc(104px + env(safe-area-inset-bottom))
      12px !important;
  }

  .dock{
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    width: auto !important;
    max-width: calc(100vw - 24px) !important;
    z-index: 999 !important;
    border-radius: 22px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .dock-btn{
    width: 46px !important;
    height: 46px !important;
    border-radius: 16px !important;
    flex: 0 0 46px !important;
  }

  .topbar{
    position: sticky !important;
    top: 0 !important;
    z-index: 120 !important;
  }

  .toast{
    bottom: calc(88px + env(safe-area-inset-bottom)) !important;
  }

  body.keyboard-open .dock{
    display: none !important;
  }

  body.keyboard-open .dash{
    padding-bottom: 12px !important;
  }
}

@media (max-width: 520px){
  .dock{
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    padding: 8px 10px !important;
    gap: 8px !important;
    max-width: calc(100vw - 16px) !important;
  }

  .dock-btn{
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
  }

  .dash{
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important;
  }
}


/* ===== v158 MOBILE POPUP FIX ===== */
@media (max-width: 860px){
  html, body{overflow-x:hidden !important;}

  .modal-backdrop{
    overflow:hidden !important;
    align-items:stretch !important;
    justify-content:stretch !important;
    padding:0 !important;
  }

  .modal-backdrop .modal,
  .modal-backdrop .modal.modal-sm,
  .modal-backdrop .modal.modal-md,
  .modal-backdrop .modal.modal-xl{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:100dvh !important;
    max-height:100dvh !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    padding:
      calc(12px + env(safe-area-inset-top))
      calc(12px + env(safe-area-inset-right))
      calc(16px + env(safe-area-inset-bottom))
      calc(12px + env(safe-area-inset-left)) !important;
  }

  .modal > *,
  .modal form,
  .modal .form,
  .modal .form-grid,
  .modal .cust-grid,
  .modal .cust-panel,
  .modal .stock-panel,
  .modal .job-media,
  .modal .cust-form-files,
  .modal .offer-items,
  .modal .offer-items-table,
  .modal .offer-sum,
  .modal .offer-sum-box,
  .modal .proto-sigs,
  .modal .calc-items,
  .modal .calc-items-list,
  .modal .calc-item{
    min-width:0 !important;
    max-width:100% !important;
  }

  .modal-head{
    flex-wrap:wrap;
    margin:
      calc(-12px - env(safe-area-inset-top))
      calc(-12px - env(safe-area-inset-right))
      10px
      calc(-12px - env(safe-area-inset-left)) !important;
    padding:
      calc(12px + env(safe-area-inset-top))
      calc(12px + env(safe-area-inset-right))
      12px
      calc(12px + env(safe-area-inset-left)) !important;
  }

  .modal-actions{
    flex-wrap:wrap;
    margin:
      12px
      calc(-12px - env(safe-area-inset-right))
      calc(-16px - env(safe-area-inset-bottom))
      calc(-12px - env(safe-area-inset-left)) !important;
    padding:
      12px
      calc(12px + env(safe-area-inset-right))
      calc(12px + env(safe-area-inset-bottom))
      calc(12px + env(safe-area-inset-left)) !important;
  }

  .modal .search,
  .modal .select,
  .modal input,
  .modal textarea,
  .modal select,
  .modal button,
  .modal .btn{
    max-width:100%;
    min-width:0 !important;
  }

  .modal .cust-head,
  .modal .stock-head,
  .modal .job-media-head,
  .modal .offer-items-head,
  .modal .calc-items-head,
  .modal .cust-box-head{
    flex-wrap:wrap;
  }

  .modal .cust-kv{grid-template-columns:72px minmax(0,1fr);}

  .modal .cust-name,
  .modal .stock-name,
  .modal .cust-file-name,
  .modal .cust-file-meta,
  .modal .job-media-sub,
  .modal .cust-note{
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
}

@media (max-width: 640px){
  .modal-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .modal-actions .spacer{display:none;}

  .modal-actions .btn,
  .modal-actions button,
  .modal-actions .mini,
  .modal .cust-quick .btn,
  .modal .job-media-actions .btn{
    width:100%;
    justify-content:center;
  }

  .modal .cust-kv{grid-template-columns:1fr; gap:6px;}
}


/* ===================== Mobile modal redesign v161 ===================== */
@media (max-width: 860px){
  .modal-backdrop{
    background: rgba(5,8,14,.82) !important;
  }

  .modal-backdrop .modal,
  .modal-backdrop .modal.modal-sm,
  .modal-backdrop .modal.modal-md,
  .modal-backdrop .modal.modal-xl{
    background: linear-gradient(180deg, rgba(9,13,21,.98), rgba(8,11,18,.995)) !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    padding:
      calc(10px + env(safe-area-inset-top))
      calc(12px + env(safe-area-inset-right))
      calc(14px + env(safe-area-inset-bottom))
      calc(12px + env(safe-area-inset-left)) !important;
  }

  .modal-head{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:10px;
    row-gap:10px;
    margin:
      calc(-10px - env(safe-area-inset-top))
      calc(-12px - env(safe-area-inset-right))
      12px
      calc(-12px - env(safe-area-inset-left)) !important;
    padding:
      calc(10px + env(safe-area-inset-top))
      calc(12px + env(safe-area-inset-right))
      10px
      calc(12px + env(safe-area-inset-left)) !important;
    background: rgba(11,16,25,.96) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    backdrop-filter: none !important;
  }

  .modal-title{
    font-size:15px !important;
    line-height:1.2;
    font-weight:800 !important;
    letter-spacing:-.02em;
  }

  .modal-head .mini{
    width:42px !important;
    height:42px !important;
    padding:0 !important;
    border-radius:999px !important;
    margin:0 !important;
    box-shadow:none !important;
    background: rgba(255,255,255,.04) !important;
  }

  .a1-head-actions{
    grid-column:1 / -1;
    width:100% !important;
    margin:0 !important;
    gap:8px !important;
    align-items:stretch !important;
  }

  .a1-head-actions.is-mobile-condensed{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
    gap:8px !important;
  }

  .a1-mobile-head-primary{
    display:contents;
  }

  .a1-mobile-more-toggle{
    white-space:nowrap;
    padding-inline:12px !important;
  }

  .a1-mobile-head-more{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:8px;
    border-radius:18px;
    background: rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
  }

  .a1-mobile-head-more[hidden]{display:none !important;}

  .a1-mini-btn,
  .a1-mobile-more-toggle{
    min-height:40px;
    padding:9px 10px !important;
    border-radius:14px !important;
    font-size:12px !important;
    font-weight:700 !important;
    box-shadow:none !important;
    background: rgba(255,255,255,.05) !important;
    border-color: rgba(255,255,255,.10) !important;
  }

  .form{
    gap:12px !important;
    padding:2px 0 0 !important;
  }

  .form-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .field{
    gap:5px !important;
  }

  .modal label,
  .field label{
    font-size:11px !important;
    letter-spacing:.01em;
    color: rgba(255,255,255,.68) !important;
  }

  .modal input,
  .modal textarea,
  .modal select{
    font-size:16px !important;
    line-height:1.3;
    border-radius:16px !important;
    padding:13px 14px !important;
    background: rgba(2,6,12,.72) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    box-shadow:none !important;
  }

  .modal textarea{
    min-height:104px !important;
  }

  .a1-tools-row{
    gap:8px !important;
    margin-top:10px !important;
  }

  .a1-tools-caption{
    margin-bottom:2px !important;
    font-size:11px !important;
    color: rgba(255,255,255,.56) !important;
  }

  .a1-chip-btn{
    padding:8px 12px !important;
    border-radius:999px !important;
    font-size:12px !important;
    font-weight:700 !important;
    background: rgba(255,255,255,.04) !important;
    border-color: rgba(255,255,255,.08) !important;
    box-shadow:none !important;
  }

  .a1-template-select-wrap{
    width:100% !important;
  }

  .a1-template-select{
    width:100% !important;
    min-height:44px;
    border-radius:14px !important;
    font-size:14px !important;
    background: rgba(255,255,255,.04) !important;
    border-color: rgba(255,255,255,.08) !important;
    color:#fff !important;
    box-shadow:none !important;
  }

  .job-media,
  .cust-box,
  .cust-panel,
  .stock-panel,
  .offer-sum-box,
  .calc-item{
    border-radius:20px !important;
    background: rgba(255,255,255,.04) !important;
    border-color: rgba(255,255,255,.08) !important;
    box-shadow:none !important;
  }

  .job-media-head,
  .cust-head,
  .stock-head,
  .offer-items-head,
  .calc-items-head,
  .cust-box-head{
    gap:8px !important;
  }

  .job-media-actions,
  .modal .cust-quick{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px !important;
    width:100%;
  }

  .job-media-actions .btn,
  .modal .cust-quick .btn{
    width:100% !important;
    justify-content:center;
    min-height:42px;
  }

  .job-photo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .modal-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px !important;
    align-items:stretch !important;
    margin:
      14px
      calc(-12px - env(safe-area-inset-right))
      calc(-14px - env(safe-area-inset-bottom))
      calc(-12px - env(safe-area-inset-left)) !important;
    padding:
      10px
      calc(12px + env(safe-area-inset-right))
      calc(12px + env(safe-area-inset-bottom))
      calc(12px + env(safe-area-inset-left)) !important;
    background: rgba(11,16,25,.96) !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    backdrop-filter: none !important;
  }

  .modal-actions .spacer{
    display:none !important;
  }

  .modal-actions .btn,
  .modal-actions button,
  .modal-actions .mini{
    width:100% !important;
    min-height:50px;
    font-size:16px !important;
    border-radius:16px !important;
    justify-content:center;
  }

  .modal-actions > .danger{
    grid-column:1 / -1;
    order:3;
    min-height:46px;
    font-size:14px !important;
  }
}

@media (max-width: 560px){
  .a1-head-actions.is-mobile-condensed{
    grid-template-columns:minmax(0,1fr) auto !important;
  }

  .a1-head-actions.is-mobile-condensed > .a1-mini-btn:first-child{
    grid-column:1 / 2;
  }

  .a1-head-actions.is-mobile-condensed > .a1-mini-btn:nth-child(2){
    grid-column:1 / 2;
  }

  .a1-head-actions.is-mobile-condensed > .a1-mobile-more-toggle{
    grid-column:2 / 3;
    grid-row:1 / span 2;
    align-self:stretch;
  }

  .job-media-actions,
  .modal .cust-quick,
  .a1-mobile-head-more{
    grid-template-columns:1fr !important;
  }
}

@media (max-width: 380px){
  .modal-actions{
    grid-template-columns:1fr !important;
  }
}


/* ===================== Mobile modal polish v162 ===================== */
@media (max-width: 860px){
  .modal-backdrop .modal,
  .modal-backdrop .modal.modal-sm,
  .modal-backdrop .modal.modal-md,
  .modal-backdrop .modal.modal-xl{
    padding:
      calc(10px + env(safe-area-inset-top))
      calc(12px + env(safe-area-inset-right))
      calc(18px + env(safe-area-inset-bottom))
      calc(12px + env(safe-area-inset-left)) !important;
  }

  .modal-head{
    position: static !important;
    top: auto !important;
    margin: 0 0 14px 0 !important;
    padding:
      calc(4px + env(safe-area-inset-top))
      0
      0
      0 !important;
    background: transparent !important;
    border-bottom: none !important;
    backdrop-filter: none !important;
  }

  .modal-title{
    font-size: 16px !important;
    line-height: 1.15 !important;
    letter-spacing: -.02em !important;
  }

  .modal-head .mini{
    width: 44px !important;
    height: 44px !important;
    background: rgba(255,255,255,.05) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
  }

  .a1-head-actions{
    width: 100% !important;
    margin: 2px 0 0 0 !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .a1-head-actions:not(.is-mobile-condensed) > .a1-mini-btn:only-child{
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    padding-inline: 14px !important;
  }

  .a1-head-actions.is-mobile-condensed{
    width: 100% !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: start !important;
  }

  .a1-mobile-head-primary{
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .a1-head-actions.is-mobile-condensed > .a1-mobile-head-primary > .a1-mini-btn{
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }

  .a1-mini-btn,
  .a1-mobile-more-toggle{
    min-height: 38px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .form{
    gap: 14px !important;
    padding: 0 !important;
  }

  .form-grid{
    gap: 14px !important;
  }

  .field{
    gap: 6px !important;
  }

  .modal label,
  .field label{
    font-size: 12px !important;
    font-weight: 700 !important;
    color: rgba(255,255,255,.78) !important;
  }

  .modal input,
  .modal textarea,
  .modal select{
    min-height: 54px !important;
    border-radius: 18px !important;
    padding: 14px 16px !important;
    background: rgba(1,5,11,.76) !important;
  }

  .modal textarea{
    min-height: 116px !important;
  }

  .job-media,
  .cust-box,
  .cust-panel,
  .stock-panel,
  .offer-sum-box,
  .calc-item{
    border-radius: 22px !important;
    padding: 14px !important;
  }

  .modal-actions{
    position: static !important;
    bottom: auto !important;
    z-index: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 10px !important;
    margin: 18px 0 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-top: none !important;
    backdrop-filter: none !important;
  }

  .modal-actions .spacer{
    display: none !important;
  }

  .modal-actions .btn,
  .modal-actions button,
  .modal-actions .mini{
    width: 100% !important;
    min-height: 48px !important;
    font-size: 15px !important;
    border-radius: 18px !important;
    justify-content: center !important;
    box-shadow: none !important;
  }

  .modal-actions .btn.ghost,
  .modal-actions button.ghost{
    background: rgba(255,255,255,.045) !important;
    border-color: rgba(255,255,255,.09) !important;
  }

  .modal-actions > .danger{
    grid-column: 1 / -1 !important;
    order: 10 !important;
    min-height: 42px !important;
    font-size: 13px !important;
    opacity: .92;
  }

  .modal-actions > :last-child{
    box-shadow: 0 8px 22px rgba(96,165,250,.14) !important;
  }
}

@media (max-width: 560px){
  .modal-head{
    row-gap: 8px !important;
  }

  .a1-head-actions.is-mobile-condensed{
    grid-template-columns: minmax(0,1fr) auto !important;
  }

  .a1-head-actions.is-mobile-condensed > .a1-mobile-head-primary{
    flex-direction: row !important;
  }

  .modal-actions{
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 380px){
  .modal-actions{
    grid-template-columns: 1fr !important;
  }
}

/* ===================== Mobile popup full fix v163 ===================== */
@media (max-width: 860px){
  .modal-backdrop{
    align-items: stretch !important;
    justify-content: stretch !important;
    padding: 0 !important;
    background: rgba(4,6,10,.78) !important;
  }

  .modal-backdrop .modal,
  .modal-backdrop .modal.modal-sm,
  .modal-backdrop .modal.modal-md,
  .modal-backdrop .modal.modal-xl{
    width: 100vw !important;
    max-width: none !important;
    min-height: 100dvh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    margin: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding:
      calc(10px + env(safe-area-inset-top))
      calc(14px + env(safe-area-inset-right))
      calc(18px + env(safe-area-inset-bottom))
      calc(14px + env(safe-area-inset-left)) !important;
    background: linear-gradient(180deg, rgba(9,13,21,.985), rgba(7,10,17,.995)) !important;
  }

  .modal-backdrop .modal::-webkit-scrollbar{ width:0; height:0; }

  .modal-head{
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 16px 0 !important;
    padding: calc(4px + env(safe-area-inset-top)) 0 0 0 !important;
    position: static !important;
    top: auto !important;
    background: transparent !important;
    border: 0 !important;
    backdrop-filter: none !important;
  }

  .modal-title{
    flex: 1 1 auto !important;
    min-width: 0 !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
  }

  .modal-head .mini{
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    margin-left: auto !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.05) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
  }

  .a1-head-actions,
  .a1-head-actions.is-mobile-condensed,
  .a1-head-actions.is-open{
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    order: 3 !important;
  }

  .a1-mobile-head-primary,
  .a1-mobile-head-more{
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .a1-mobile-head-more{
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  .a1-mini-btn,
  .a1-mobile-more-toggle{
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    background: rgba(255,255,255,.05) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
  }

  .a1-head-actions.a1-mobile-detached-head-actions{
    margin: 0 0 14px 0 !important;
  }

  .modal > form.form{
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding: 0 !important;
    min-height: auto !important;
  }

  .form-grid{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .field{
    gap: 6px !important;
    min-width: 0 !important;
  }

  .modal label,
  .field label{
    font-size: 12px !important;
    font-weight: 700 !important;
    color: rgba(255,255,255,.78) !important;
  }

  .modal input,
  .modal textarea,
  .modal select{
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    border-radius: 18px !important;
    padding: 14px 16px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    background: rgba(2,6,12,.74) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: none !important;
  }

  .modal textarea{
    min-height: 112px !important;
  }

  .a1-tools-row,
  .job-media-actions,
  .modal .cust-quick,
  .cust-history-actions{
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .a1-chip-btn,
  .job-media-actions .btn,
  .modal .cust-quick .btn,
  .cust-history-actions .btn{
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    min-height: 40px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    box-shadow: none !important;
  }

  .job-media,
  .lead-media,
  .cust-box,
  .cust-panel,
  .stock-panel,
  .offer-sum-box,
  .calc-item,
  .cust-form-files{
    border-radius: 22px !important;
    padding: 14px !important;
    background: rgba(255,255,255,.04) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: none !important;
  }

  .job-photo-grid{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;
  }

  .cust-grid{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .cust-hero{
    margin-bottom: 14px !important;
    padding: 14px !important;
    border-radius: 22px !important;
  }

  .modal-actions{
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 10px !important;
    align-items: stretch !important;
    margin: 18px 0 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    backdrop-filter: none !important;
  }

  .modal-actions .spacer{
    display: none !important;
  }

  .modal-actions .btn,
  .modal-actions button,
  .modal-actions .mini{
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    border-radius: 18px !important;
    font-size: 15px !important;
    box-shadow: none !important;
  }

  .modal-actions > .danger{
    grid-column: 1 / -1 !important;
    order: 30 !important;
    min-height: 42px !important;
    font-size: 13px !important;
    opacity: .92 !important;
  }

  .modal-actions > #leadToCustomerBtn,
  .modal-actions > #leadToJobBtn,
  .modal-actions > #jobToProtoBtn,
  .modal-actions > #protoToInvoiceBtn{
    order: 5 !important;
  }

  .modal-actions > #leadCancelBtn,
  .modal-actions > #jobCancelBtn,
  .modal-actions > #custCancelBtn,
  .modal-actions > #stockCancelBtn,
  .modal-actions > #offerCancelBtn,
  .modal-actions > #invoiceCancelBtn,
  .modal-actions > #protoCancelBtn,
  .modal-actions > #sealCancelBtn{
    order: 20 !important;
  }

  .modal-actions > #leadSaveBtn,
  .modal-actions > #jobSaveBtn,
  .modal-actions > #custSaveBtn,
  .modal-actions > #stockSaveBtn,
  .modal-actions > #offerSaveBtn,
  .modal-actions > #invoiceSaveBtn,
  .modal-actions > #protoSaveBtn,
  .modal-actions > #sealSaveBtn,
  .modal-actions > [type="submit"]{
    order: 21 !important;
    box-shadow: 0 8px 22px rgba(96,165,250,.14) !important;
  }
}

@media (max-width: 560px){
  .job-photo-grid{
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 420px){
  .modal-actions{
    grid-template-columns: 1fr !important;
  }

  .a1-mini-btn,
  .a1-mobile-more-toggle,
  .a1-chip-btn,
  .job-media-actions .btn,
  .modal .cust-quick .btn,
  .cust-history-actions .btn{
    width: 100% !important;
    flex: 1 1 100% !important;
    justify-content: center !important;
  }
}


/* iPhone / PWA background fix */
html{ background:#000000; }
body::before{
  content:'';
  position:fixed;
  inset:0;
  background:#000000;
  z-index:-2;
}
@supports (-webkit-touch-callout: none){
  html, body, .stage, .frame{
    min-height:-webkit-fill-available;
  }
}


/* ===================== v165 FINAL MOBILE / IPHONE FIX ===================== */
html,
body{
  background-color:#0b1220 !important;
}

body,
.stage,
.frame{
  min-height: var(--app-height, 100dvh) !important;
}

@media (max-width: 860px){
  html,
  body{
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    background:#0b1220 !important;
  }

  body,
  .stage,
  .frame,
  .dash,
  .bg,
  .view{
    background-color:#0b1220 !important;
  }

  .stage,
  .frame{
    height: var(--app-height, 100dvh) !important;
    min-height: var(--app-height, 100dvh) !important;
    max-height: var(--app-height, 100dvh) !important;
  }

  .dash{
    min-height: var(--app-height, 100dvh) !important;
    padding-bottom: calc(110px + env(safe-area-inset-bottom)) !important;
  }

  .view{
    padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important;
  }

  .modal-backdrop{
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: var(--app-height, 100dvh) !important;
    min-height: var(--app-height, 100dvh) !important;
    max-height: var(--app-height, 100dvh) !important;
    background: rgba(6,10,16,.84) !important;
  }

  .modal-backdrop .modal,
  .modal-backdrop .modal.modal-sm,
  .modal-backdrop .modal.modal-md,
  .modal-backdrop .modal.modal-xl{
    width: 100vw !important;
    min-height: var(--app-height, 100dvh) !important;
    height: var(--app-height, 100dvh) !important;
    max-height: var(--app-height, 100dvh) !important;
    padding-bottom: calc(26px + env(safe-area-inset-bottom)) !important;
    overscroll-behavior: contain !important;
  }

  .modal-head{
    flex-wrap: nowrap !important;
    align-items: center !important;
  }

  .modal-title{
    padding-right: 8px !important;
  }

  .a1-mobile-detached-head-actions{
    margin: 0 0 14px 0 !important;
  }

  .modal-actions{
    margin-top: 20px !important;
    padding-bottom: max(8px, env(safe-area-inset-bottom)) !important;
  }

  .form.is-hidden,
  .cust-grid.is-hidden,
  .cust-hero.is-hidden,
  .job-media.is-hidden,
  .stock-panel.is-hidden,
  .cust-panel.is-hidden,
  .lead-media.is-hidden,
  .offer-sum-box.is-hidden,
  .calc-item.is-hidden,
  .is-hidden{
    display:none !important;
  }

  #custModal[data-mode="new"] #custHero,
  #custModal[data-mode="new"] #custCard,
  #custModal[data-mode="new"] #custDeleteBtnView,
  #custModal[data-mode="new"] #custEditBtn,
  #custModal[data-mode="new"] #custPdfAddBtn,
  #custModal[data-mode="new"] #custHistoryList,
  #custModal[data-mode="new"] #custNewJobBtn,
  #custModal[data-mode="new"] #custNewOfferBtn,
  #custModal[data-mode="new"] #custNewInvoiceBtn,
  #custModal[data-mode="new"] #custNewProtoBtn{
    display:none !important;
  }

  #custModal[data-mode="new"] #custForm,
  #custModal[data-mode="edit"] #custForm{
    display:flex !important;
    flex-direction:column !important;
  }

  #custModal[data-mode="edit"] #custHero,
  #custModal[data-mode="edit"] #custCard,
  #custModal[data-mode="edit"] #custDeleteBtnView,
  #custModal[data-mode="edit"] #custEditBtn,
  #custModal[data-mode="edit"] #custPdfAddBtn,
  #custModal[data-mode="edit"] #custHistoryList,
  #custModal[data-mode="edit"] #custNewJobBtn,
  #custModal[data-mode="edit"] #custNewOfferBtn,
  #custModal[data-mode="edit"] #custNewInvoiceBtn,
  #custModal[data-mode="edit"] #custNewProtoBtn{
    display:none !important;
  }

  #custModal[data-mode="view"] #custForm{
    display:none !important;
  }

  #custModal[data-mode="view"] #custHero{
    display:flex !important;
  }

  #custModal[data-mode="view"] #custCard{
    display:grid !important;
  }
}


/* =========================================================
   Visual refresh v166 — cleaner premium mobile/web UI
   ========================================================= */
:root{
  --modern-bg:#050a12;
  --modern-bg-2:#0a1220;
  --modern-panel:linear-gradient(180deg, rgba(14,20,30,.90), rgba(9,14,24,.82));
  --modern-panel-strong:linear-gradient(180deg, rgba(18,25,37,.96), rgba(10,15,25,.92));
  --modern-panel-soft:rgba(255,255,255,.045);
  --modern-border:rgba(255,255,255,.08);
  --modern-border-strong:rgba(255,255,255,.12);
  --modern-text:#f7fafc;
  --modern-muted:rgba(232,238,247,.64);
  --modern-accent:#2bb3c0;
  --modern-accent-2:#67d3dd;
  --modern-shadow:0 24px 60px rgba(0,0,0,.34);
  --modern-shadow-soft:0 14px 34px rgba(0,0,0,.22);
  --modern-radius:26px;
  --modern-radius-sm:18px;
}

html,
body{
  min-height:100%;
  background: radial-gradient(circle at top, rgba(43,179,192,.12), transparent 28%), linear-gradient(180deg, var(--modern-bg-2), var(--modern-bg));
}
html{overscroll-behavior:none;}
body{
  color:var(--modern-text);
  overscroll-behavior-y:none;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 12%, rgba(43,179,192,.12), transparent 24%),
    radial-gradient(circle at 86% 10%, rgba(43,179,192,.12), transparent 20%),
    radial-gradient(circle at 50% 110%, rgba(31,154,168,.10), transparent 30%);
  z-index:-1;
}

.stage,
.frame,
.dash,
.views,
.view{
  background:transparent !important;
}

.frame{
  background:linear-gradient(180deg, rgba(8,12,20,.72), rgba(4,7,13,.88)) !important;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}

.bg{opacity:.68;}
.noise{opacity:.028;}
.blob{filter:blur(54px); opacity:.52;}
.blob.b1{background:radial-gradient(circle at 50% 50%, rgba(43,179,192,.16), transparent 62%);} 
.blob.b2{background:radial-gradient(circle at 50% 50%, rgba(31,154,168,.17), transparent 62%);} 
.blob.b3{background:radial-gradient(circle at 40% 40%, rgba(255,255,255,.08), transparent 65%);} 

.meta{
  opacity:.38 !important;
  letter-spacing:.02em;
}
.meta-name,
.meta-big,
.meta-small,
.meta-bl{font-weight:700 !important;}

.topbar{
  position:sticky;
  top:12px;
  z-index:30;
  gap:14px;
  padding:10px 12px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(13,19,28,.84), rgba(10,14,22,.68));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--modern-shadow-soft);
  backdrop-filter:blur(24px);
}
.brand-mark{
  background:linear-gradient(180deg, rgba(43,179,192,.18), rgba(255,255,255,.04)) !important;
  border:1px solid rgba(43,179,192,.18) !important;
  box-shadow:0 12px 24px rgba(0,0,0,.22);
}
.nav-pill,
.user-pill,
.search,
.dock,
.card,
.subcard,
.card-side,
.k-col,
.k-card,
.cust-panel,
.cust-row,
.stock-row,
.lead-row,
.offer-row,
.settings-card,
.lock-card,
.a1-dash-card,
.a1-dispatch-card,
.a1-home-hero,
.a1-home-search-card,
.a1-home-actions,
.a1-home-alerts-wrap,
.a1-home-section,
.a1-home-action,
.a1-home-alert,
.a1-home-plan-item,
.a1-home-continue-item,
.a1-home-mini-item,
.a1-home-stat-box,
.a1-home-result,
.job-photo-card,
.diag,
.diag-pre,
.proto-sig-pad,
.settings-row,
.dock-app{
  background:var(--modern-panel) !important;
  border:1px solid var(--modern-border) !important;
  box-shadow:var(--modern-shadow-soft) !important;
  backdrop-filter:blur(24px);
}

.card,
.subcard,
.card-side,
.k-col,
.cust-panel,
.settings-card,
.lock-card,
.a1-home-hero,
.a1-home-search-card,
.a1-home-actions,
.a1-home-alerts-wrap,
.a1-home-section,
.diag,
.a1-dash-card,
.a1-dispatch-card{
  border-radius:var(--modern-radius) !important;
}

.k-card,
.cust-row,
.stock-row,
.lead-row,
.offer-row,
.settings-row,
.a1-home-action,
.a1-home-alert,
.a1-home-plan-item,
.a1-home-continue-item,
.a1-home-mini-item,
.a1-home-stat-box,
.a1-home-result,
.job-photo-card,
.dock-app,
.proto-sig-pad,
.diag-pre{
  border-radius:var(--modern-radius-sm) !important;
}

.nav-pill{
  gap:6px;
  padding:6px !important;
}
.nav-item{
  min-height:42px;
  padding:10px 14px !important;
  border-radius:14px !important;
  background:transparent !important;
  border:1px solid transparent !important;
  color:rgba(255,255,255,.78) !important;
  box-shadow:none !important;
  font-weight:800;
}
.nav-item:hover{
  background:rgba(255,255,255,.05) !important;
  border-color:rgba(255,255,255,.08) !important;
}
.nav-item.is-active,
.btn:not(.ghost):not(.danger),
.a1-dispatch-btn.is-accent,
.a1-home-mini-btn.is-accent,
.dock-btn.is-active{
  background:linear-gradient(180deg, var(--modern-accent), var(--modern-accent-2)) !important;
  border-color:rgba(43,179,192,.42) !important;
  color:#fff !important;
  box-shadow:0 16px 28px rgba(43,179,192,.24) !important;
}

.user-pill,
.nav-pill,
.search,
.dock{
  background:linear-gradient(180deg, rgba(15,21,31,.88), rgba(10,15,24,.76)) !important;
}

.user-btn,
.dock-btn,
.add-btn,
.mini,
.app-ic,
.dock-app-ic,
.a1-home-action-ic,
.cust-avatar,
.cust-ava{
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:none !important;
}
.user-btn:hover,
.dock-btn:hover,
.add-btn:hover,
.mini:hover{
  border-color:rgba(43,179,192,.24) !important;
  background:linear-gradient(180deg, rgba(43,179,192,.12), rgba(255,255,255,.04)) !important;
}

.btn,
.a1-mini-btn,
.a1-chip-btn,
.a1-home-mini-btn,
.a1-dispatch-btn,
.qty-btn,
.k-add,
.mini{
  min-height:46px;
  padding:11px 14px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.btn.ghost,
.a1-mini-btn,
.a1-chip-btn,
.a1-home-mini-btn,
.a1-dispatch-btn:not(.is-accent),
.qty-btn,
.k-add,
.mini{
  background:rgba(255,255,255,.05) !important;
}
.btn.ghost:hover,
.a1-mini-btn:hover,
.a1-chip-btn:hover,
.a1-home-mini-btn:hover,
.a1-dispatch-btn:hover,
.qty-btn:hover,
.k-add:hover,
.mini:hover{
  background:rgba(255,255,255,.09) !important;
  border-color:rgba(255,255,255,.13) !important;
  filter:none !important;
}

input,
textarea,
select,
.select,
.settings-card .input,
.settings-card .select,
.a1-est-field input,
.a1-est-field select,
.a1-stock-row input,
.a1-stock-row select,
.oi-name input,
.oi-name textarea,
.oi-right input,
.gs-bar input,
.search input{
  min-height:52px;
  padding:12px 14px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.035) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  color:#fff !important;
  box-shadow:none !important;
}
textarea{min-height:120px; resize:vertical;}
input::placeholder,
textarea::placeholder{color:rgba(255,255,255,.34) !important;}
input:focus,
textarea:focus,
select:focus,
.select:focus,
.settings-card .input:focus,
.settings-card .select:focus,
.a1-est-field input:focus,
.a1-est-field select:focus,
.a1-stock-row input:focus,
.a1-stock-row select:focus,
.oi-name input:focus,
.oi-name textarea:focus,
.oi-right input:focus,
.gs-bar input:focus,
.search input:focus{
  background:rgba(255,255,255,.05) !important;
  border-color:rgba(59,130,246,.36) !important;
  box-shadow:0 0 0 3px rgba(59,130,246,.14) !important;
}

.field label,
label,
.m-label,
.stat-label,
.subttl,
.cust-lab,
.a1-home-eyebrow,
.a1-home-kicker,
.a1-home-stat-label,
.a1-plan-sub,
.a1-comm-top,
.settings-sub,
.user-sub,
.user-sub.brand-blue, .brand-orange, .brand-ocean{
  color:var(--modern-muted) !important;
}

.page-title,
.modal-title,
.settings-title,
.a1-home-title,
.a1-home-headline,
.k-title,
.cust-head-title,
.ph-title,
.stat-value,
.subhead,
.card-top,
.title,
.user-name{
  letter-spacing:-.03em !important;
}

.card,
.subcard,
.card-side,
.k-card,
.cust-row,
.stock-row,
.lead-row,
.offer-row,
.settings-row,
.a1-home-action,
.a1-home-alert,
.a1-home-plan-item,
.a1-home-continue-item,
.a1-home-mini-item,
.a1-home-result,
.dock-app{
  transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.card:hover,
.subcard:hover,
.k-card:hover,
.cust-row:hover,
.stock-row:hover,
.lead-row:hover,
.offer-row:hover,
.settings-row:hover,
.a1-home-action:hover,
.a1-home-alert:hover,
.a1-home-plan-item:hover,
.a1-home-continue-item:hover,
.a1-home-mini-item:hover,
.a1-home-result:hover,
.dock-app:hover{
  transform:translateY(-2px);
  border-color:rgba(59,130,246,.20) !important;
  background:var(--modern-panel-strong) !important;
  box-shadow:0 20px 42px rgba(0,0,0,.28) !important;
}

.hero,
.filters,
.content,
.pager,
.view[data-view="dashboard"] > #a1QuickDispatch,
.view[data-view="dashboard"] > #a1PlusDashboardGrid{
  position:relative;
}

.hero,
.filters,
.content,
.pager,
.view[data-view="dashboard"] > #a1QuickDispatch,
.view[data-view="dashboard"] > #a1PlusDashboardGrid,
.page-head,
.k-toolbar,
.cust-head,
.stock-head,
.lead-head,
.offer-head,
.inv-head,
.proto-head{
  max-width:1360px;
  margin-left:auto;
  margin-right:auto;
}

.page-head,
.k-toolbar,
.cust-head,
.stock-head,
.lead-head,
.offer-head,
.inv-head,
.proto-head{
  margin-bottom:14px;
}

.hero{
  padding:18px 0 2px;
}
.stats .stat,
.metric,
.a1-home-stat-box{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.06);
}

.k-card-title,
.cust-name,
.offer-name,
.lead-name,
.a1-plan-title,
.a1-home-action-title,
.a1-home-result-title{
  font-size:14px !important;
  font-weight:800 !important;
}
.k-card-meta,
.cust-meta,
.offer-meta,
.lead-meta,
.a1-home-result-sub,
.a1-home-action-sub{
  color:rgba(255,255,255,.58) !important;
}

.now-pill,
.filter-pill,
.chip,
.a1-toggle-chip,
.cust-tag,
.offer-badge,
.lead-badge,
.stock-badge{
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:none !important;
}
.a1-toggle-chip.is-active,
.chip.is-active{
  background:rgba(43,179,192,.16) !important;
  border-color:rgba(59,130,246,.26) !important;
  color:#fff !important;
}

.modal-backdrop{
  background:rgba(2,6,12,.74) !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
}
.modal-backdrop .modal,
.modal-backdrop .modal.modal-sm,
.modal-backdrop .modal.modal-md,
.modal-backdrop .modal.modal-xl{
  width:min(900px, calc(100vw - 32px)) !important;
  max-width:min(900px, calc(100vw - 32px)) !important;
  height:auto !important;
  max-height:min(88dvh, 980px) !important;
  margin:0 !important;
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 26px 80px rgba(0,0,0,.42) !important;
  padding:18px !important;
  background:linear-gradient(180deg, rgba(14,20,30,.96), rgba(8,12,20,.93)) !important;
}
.modal-head{
  position:sticky;
  top:-18px;
  z-index:4;
  margin:-18px -18px 16px -18px !important;
  padding:18px 18px 14px 18px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  border-top-left-radius:28px;
  border-top-right-radius:28px;
  background:linear-gradient(180deg, rgba(15,21,31,.98), rgba(15,21,31,.90)) !important;
  backdrop-filter:blur(22px);
}
.modal-title{
  font-size:19px !important;
  font-weight:900 !important;
}
.form{
  gap:14px !important;
}
.form-grid{
  gap:12px !important;
}
.field{
  gap:8px !important;
}
.modal-actions{
  position:sticky;
  bottom:-18px;
  z-index:4;
  margin:18px -18px -18px -18px !important;
  padding:14px 18px 18px 18px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  border-bottom-left-radius:28px;
  border-bottom-right-radius:28px;
  background:linear-gradient(180deg, rgba(11,16,25,.78), rgba(11,16,25,.98)) !important;
  backdrop-filter:blur(22px);
}
.modal-actions .btn{
  min-width:120px;
}

#globalSearchBtn{
  order:-1;
}

@media (max-width: 1100px){
  .meta{display:none !important;}
  .topbar{top:10px;}
}

@media (max-width: 980px){
  html,body,.stage,.frame{background:linear-gradient(180deg, var(--modern-bg-2), var(--modern-bg)) !important;}
  .frame{
    border-radius:0 !important;
    border:none !important;
    box-shadow:none !important;
  }
  .topbar{
    top:calc(10px + env(safe-area-inset-top));
    margin:0 2px 12px;
    padding:8px 10px;
    border-radius:24px;
    grid-template-columns:54px minmax(0,1fr) auto !important;
  }
  .brand{display:flex; align-items:center;}
  .brand-mark{width:46px; height:46px; border-radius:18px;}
  .user-pill{display:none !important;}
  .nav{min-width:0; overflow:auto;}
  .nav-pill{gap:4px; padding:5px !important; border-radius:20px !important;}
  .nav-item{
    min-height:38px;
    padding:8px 12px !important;
    font-size:12px;
    white-space:nowrap;
  }
  .user{gap:8px;}
  .user-btn{width:42px; height:42px; border-radius:16px;}
  .dock{
    left:50%;
    bottom:calc(12px + env(safe-area-inset-bottom));
    transform:translateX(-50%);
    padding:8px !important;
    gap:8px;
    border-radius:24px !important;
    background:linear-gradient(180deg, rgba(13,18,28,.94), rgba(8,12,20,.88)) !important;
    box-shadow:0 18px 40px rgba(0,0,0,.36) !important;
  }
  .dock-btn{
    width:48px; height:48px; border-radius:18px;
  }
  .hero,
  .filters,
  .content,
  .pager,
  .page-head,
  .k-toolbar,
  .cust-head,
  .stock-head,
  .lead-head,
  .offer-head,
  .inv-head,
  .proto-head,
  .view[data-view="dashboard"] > #a1QuickDispatch,
  .view[data-view="dashboard"] > #a1PlusDashboardGrid{
    max-width:none;
  }
  .card,
  .subcard,
  .card-side,
  .k-col,
  .cust-panel,
  .settings-card,
  .lock-card,
  .a1-home-hero,
  .a1-home-search-card,
  .a1-home-actions,
  .a1-home-alerts-wrap,
  .a1-home-section,
  .diag,
  .a1-dash-card,
  .a1-dispatch-card{
    border-radius:22px !important;
  }
  .hero{padding-top:8px;}
  .page-title{font-size:24px !important;}
  .modal-backdrop{
    align-items:stretch !important;
    justify-content:stretch !important;
    padding:0 !important;
  }
  .modal-backdrop .modal,
  .modal-backdrop .modal.modal-sm,
  .modal-backdrop .modal.modal-md,
  .modal-backdrop .modal.modal-xl{
    width:100vw !important;
    max-width:none !important;
    max-height:100dvh !important;
    height:100dvh !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:calc(12px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom) + 84px) calc(14px + env(safe-area-inset-left)) !important;
    background:linear-gradient(180deg, rgba(10,15,24,.98), rgba(7,11,18,.99)) !important;
  }
  .modal-head{
    top:calc(-12px - env(safe-area-inset-top));
    margin:calc(-12px - env(safe-area-inset-top)) calc(-14px - env(safe-area-inset-right)) 14px calc(-14px - env(safe-area-inset-left)) !important;
    padding:calc(12px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) 12px calc(14px + env(safe-area-inset-left)) !important;
    border-radius:0 !important;
  }
  .modal-actions{
    bottom:calc(-18px - env(safe-area-inset-bottom));
    margin:18px calc(-14px - env(safe-area-inset-right)) calc(-18px - env(safe-area-inset-bottom)) calc(-14px - env(safe-area-inset-left)) !important;
    padding:12px calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left)) !important;
    border-radius:0 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .modal-actions .spacer{display:none !important;}
  .modal-actions .btn{width:100%; justify-content:center; min-width:0;}
}

@media (max-width: 640px){
  .nav-item{font-size:11px; padding:8px 10px !important;}
  .btn,
  .a1-mini-btn,
  .a1-chip-btn,
  .a1-home-mini-btn,
  .a1-dispatch-btn,
  .qty-btn,
  .k-add,
  .mini{min-height:44px;}
  .modal-title{font-size:18px !important;}
  .field label,
  label{font-size:12px;}
}

/* ===================== Desktop fullscreen popup v169 ===================== */
@media (min-width: 981px){
  .modal-backdrop{
    align-items:stretch !important;
    justify-content:stretch !important;
    padding:0 !important;
  }
  .modal-backdrop .modal,
  .modal-backdrop .modal.modal-sm,
  .modal-backdrop .modal.modal-md,
  .modal-backdrop .modal.modal-xl{
    width:100vw !important;
    max-width:none !important;
    height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:24px 24px 108px 24px !important;
    background:linear-gradient(180deg, rgba(10,15,24,.985), rgba(7,11,18,.995)) !important;
  }
  .modal-head{
    top:-24px;
    margin:-24px -24px 18px -24px !important;
    padding:20px 24px 16px 24px !important;
    border-radius:0 !important;
  }
  .modal-actions{
    bottom:-24px;
    margin:18px -24px -24px -24px !important;
    padding:14px 24px 18px 24px !important;
    border-radius:0 !important;
  }
}


/* v171 nav fit on desktop + service dropdown fix */
.nav{
  min-width:0 !important;
  overflow:visible !important;
}
.nav-pill{
  display:flex !important;
  flex-wrap:nowrap !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:visible !important;
  gap:4px !important;
  padding:4px !important;
}
.nav-item{
  flex:1 1 0 !important;
  min-width:0 !important;
  padding:8px 6px !important;
  font-size:10px !important;
  line-height:1.05 !important;
  letter-spacing:-0.01em !important;
  text-align:center !important;
}
@media (max-width: 1180px){
  .nav-item{
    font-size:9px !important;
    padding:7px 4px !important;
  }
}
@media (max-width: 980px){
  .nav{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
  }
  .nav-pill{
    display:inline-flex !important;
    width:max-content !important;
    min-width:100% !important;
    max-width:none !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
  }
  .nav-item{
    flex:0 0 auto !important;
    font-size:10px !important;
    padding:8px 8px !important;
  }
}
.a1-tools-row{
  align-items:flex-start !important;
}
.a1-template-select-wrap{
  width:100% !important;
  max-width:100% !important;
  min-width:280px;
  flex:1 1 320px;
}
.a1-template-select{
  width:100% !important;
  min-height:48px !important;
}
@media (max-width: 700px){
  .a1-template-select-wrap{
    min-width:0;
    flex:1 1 100%;
  }
}

/* Skrytí přidávacích šipek u číselných polí v položkách a těsnění */
.oi-right input[type="number"],
.offer-item-row input[type="number"],
.calc-item input[type="number"]{
  -moz-appearance:textfield !important;
  appearance:textfield !important;
}
.oi-right input[type="number"]::-webkit-outer-spin-button,
.oi-right input[type="number"]::-webkit-inner-spin-button,
.offer-item-row input[type="number"]::-webkit-outer-spin-button,
.offer-item-row input[type="number"]::-webkit-inner-spin-button,
.calc-item input[type="number"]::-webkit-outer-spin-button,
.calc-item input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}

/* V176 – hezčí tabulka položek */
.offer-items{
  margin-top:12px;
  padding:12px;
  border-radius:24px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 34px rgba(0,0,0,.18);
}
.offer-items-head{
  padding:0 0 6px 0;
}
.offer-items-headline{
  grid-template-columns: minmax(260px, 1.35fr) 120px 118px 138px 40px;
  gap:12px;
  padding:12px 14px 10px 14px;
  margin-top:6px;
  border-radius:18px;
  background: rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.66);
  font-size:11px;
  font-weight:800;
  letter-spacing:.22px;
}
.offer-items-table{
  gap:10px;
  padding:10px 0 0 0;
}
.offer-item-row{
  grid-template-columns: minmax(260px, 1.35fr) 120px 118px 138px 40px;
  gap:12px;
  align-items:start;
  padding:12px 14px;
  border-radius:20px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.11);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 12px 26px rgba(0,0,0,.14);
}
.oi-name{
  gap:8px;
}
.oi-name input,
.oi-name textarea,
.oi-right input,
.oi-right select,
.oi-right .oi-unit{
  min-height:44px;
}
.oi-name input{
  font-weight:700;
}
.oi-name textarea{
  min-height:52px;
  resize:vertical;
}
.oi-right{
  width:100%;
  min-width:0;
}
.oi-right > div{
  width:100%;
  align-items:stretch;
}
.oi-price,
.oi-qty{
  font-weight:800;
}
.oi-unit{
  width:60px;
  min-width:60px !important;
  text-align:center;
  padding-left:8px;
  padding-right:8px;
}
.oi-total{
  min-height:44px;
  padding-top:0;
  justify-content:center;
}
.oi-total .t1{
  font-size:13px;
}
.oi-total .t2{
  text-align:right;
  line-height:1.25;
}
.oi-remove{
  align-self:center;
  justify-self:center;
  width:38px;
  height:38px;
}
.offer-item-row:hover{
  border-color: rgba(43,179,192,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 16px 32px rgba(0,0,0,.18);
}
@media (max-width: 980px){
  .offer-items{
    padding:10px;
  }
  .offer-items-headline,
  .offer-item-row{
    grid-template-columns: minmax(0, 1fr) 110px 110px 120px 38px;
    gap:10px;
  }
}
@media (max-width: 860px){
  .offer-items{
    padding:8px;
  }
  .offer-items-head{
    flex-wrap:wrap;
  }
  .offer-item-row{
    grid-template-columns: 1fr;
    gap:8px;
    padding:12px;
  }
  .oi-right,
  .oi-total{
    align-items:stretch;
  }
  .oi-total{
    align-items:flex-start;
  }
  .oi-total .t2{
    text-align:left;
  }
  .oi-remove{
    justify-self:end;
  }
}


/* v177: úvodní stránka - pevné boxy bez pohybu */
#a1HomeShell .a1-home-action,
#a1HomeShell .a1-home-alert,
#a1HomeShell .a1-home-plan-item,
#a1HomeShell .a1-home-continue-item,
#a1HomeShell .a1-home-mini-item,
#a1HomeShell .a1-home-result,
#a1HomeShell .a1-home-stat-box,
#a1HomeShell .a1-home-card{
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
  transform: none !important;
}

#a1HomeShell .a1-home-action:hover,
#a1HomeShell .a1-home-alert:hover,
#a1HomeShell .a1-home-plan-item:hover,
#a1HomeShell .a1-home-continue-item:hover,
#a1HomeShell .a1-home-mini-item:hover,
#a1HomeShell .a1-home-result:hover,
#a1HomeShell .a1-home-stat-box:hover,
#a1HomeShell .a1-home-card:hover,
#a1HomeShell.a1-home-shell--compact .a1-home-action:hover,
#a1HomeShell.a1-home-shell--compact .a1-home-alert:hover{
  transform: none !important;
}


/* ===== v178 UX polish ===== */
html,body{overflow:hidden;}
.modal{
  max-height:min(92vh, calc(var(--app-height, 100vh) - 24px));
}
.modal-head{
  position:sticky;
  top:0;
  z-index:5;
  backdrop-filter: blur(16px);
  background: linear-gradient(180deg, rgba(10,14,24,.94), rgba(10,14,24,.82));
  border-bottom:1px solid rgba(255,255,255,.08);
}
.modal-actions{
  position:sticky;
  bottom:0;
  z-index:4;
  margin-top:18px;
  padding:14px 0 max(6px, env(safe-area-inset-bottom));
  background: linear-gradient(180deg, rgba(10,14,24,0), rgba(10,14,24,.78) 24%, rgba(10,14,24,.94));
  backdrop-filter: blur(16px);
}
.modal .form > .field:last-of-type,
.modal .offer-sum:last-of-type,
.modal .cust-form-files:last-of-type,
.modal .job-media:last-of-type{
  margin-bottom:8px;
}
.modal-backdrop.is-open .modal{
  box-shadow: 0 28px 80px rgba(0,0,0,.52);
}
.modal.is-dirty .modal-title::after{
  content:" • Neuloženo";
  font-size:12px;
  color:rgba(184,244,255,.92);
  font-weight:800;
}

/* Unified rows/tables */
.offer-row,
.stock-row,
.lead-row,
.cust-row,
.settings-row,
.hrow,
.calc-item,
.offer-item-row{
  border-color:rgba(255,255,255,.09) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.032)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.offer-row:nth-child(even),
.stock-row:nth-child(even),
.lead-row:nth-child(even),
.cust-row:nth-child(even),
.settings-row:nth-child(even),
.hrow:nth-child(even),
.calc-item:nth-child(even),
.offer-item-row:nth-child(even){
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04)) !important;
}

/* Keep app calm: no floating hover movement */
.card:hover,
.subcard:hover,
.k-card:hover,
.cust-row:hover,
.stock-row:hover,
.lead-row:hover,
.offer-row:hover,
.settings-row:hover,
.a1-home-action:hover,
.a1-home-alert:hover,
.a1-home-plan-item:hover,
.a1-home-continue-item:hover,
.a1-home-mini-item:hover,
.a1-home-result:hover,
.dock-app:hover,
.btn:hover,
.a1-mini-btn:hover,
.a1-chip-btn:hover,
.a1-home-mini-btn:hover,
.a1-dispatch-btn:hover,
.qty-btn:hover,
.k-add:hover,
.mini:hover,
.user-btn:hover,
.dock-btn:hover,
.add-btn:hover,
.nav-item:hover,
.offer-item-row:hover,
.calc-item:hover{
  transform:none !important;
}

/* Better item/seal tables */
.offer-items,
.seal-calcs{
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(255,255,255,.04);
  padding:10px;
}
.offer-items-head,
.offer-items-headline,
.calc-headline,
.calc-list-head{
  position:sticky;
  top:0;
  z-index:2;
  background:linear-gradient(180deg, rgba(13,18,31,.96), rgba(13,18,31,.84));
  backdrop-filter:blur(10px);
}
.offer-item-row{
  border-radius:16px;
  padding:10px 12px;
  gap:10px;
  align-items:center;
}
.offer-item-row input,
.offer-item-row select,
.calc-item input,
.calc-item select{
  min-height:42px;
}
.calc-item{
  border-radius:18px;
  padding:8px;
}
.calc-item-grid{
  align-items:end !important;
  gap:10px !important;
}
.calc-item .field{
  margin-bottom:0;
}
.calc-out{
  min-width:118px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(43,179,192,.12), rgba(255,255,255,.05));
  border:1px solid rgba(43,179,192,.22);
}

/* Cleaner dashboard blocks */
.stats .stat,
.card,
.subcard,
.a1-home-actions,
.a1-home-alerts-wrap,
.a1-home-section{
  border-color:rgba(255,255,255,.10) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.20);
}

/* Mobile spacing */
@media (max-width: 760px){
  .modal{
    width:min(100%, calc(100vw - 8px));
    max-height:min(100svh, calc(var(--app-height, 100vh) - 8px));
    border-radius:22px;
  }
  .modal-head{padding-top:max(10px, env(safe-area-inset-top));}
  .modal-actions{padding-bottom:max(8px, env(safe-area-inset-bottom));}
  .offer-item-row,
  .calc-item{padding:10px;}
}

/* Remove spinners everywhere numeric */
input[type="number"]{-moz-appearance:textfield;appearance:textfield;}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}


/* ===== v179 popup action bar realignment ===== */
.modal-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  flex-wrap:wrap !important;
}
.modal-actions .spacer{display:none !important;}
.modal-actions-secondary,
.modal-actions-primary{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.modal-actions-primary{
  margin-left:auto;
  justify-content:flex-end;
}
.modal-actions-primary .btn{
  min-width:132px;
}
.modal-actions-secondary .btn.danger{
  border-color:rgba(255,255,255,.10) !important;
}
@media (max-width: 980px){
  .modal-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:10px !important;
  }
  .modal-actions-secondary,
  .modal-actions-primary{
    width:100%;
    display:grid;
    gap:10px;
  }
  .modal-actions-secondary{
    grid-template-columns:1fr;
  }
  .modal-actions-primary{
    grid-template-columns:1fr 1fr;
    margin-left:0;
  }
  .modal-actions-primary .btn,
  .modal-actions-secondary .btn{
    width:100%;
    min-width:0;
    justify-content:center;
  }
}
@media (max-width: 560px){
  .modal-actions-primary{
    grid-template-columns:1fr;
  }
}


/* ===== v184: oranžový gradient pro box Zakázky ===== */
.stat.stat-jobs,
.metric.metric-jobs,
.a1-home-stat-box.a1-home-stat-box--jobs,
.a1-home-stat-box.a1-home-stat-box--jobs-done{
  background: linear-gradient(135deg, rgba(255,140,0,.32) 0%, rgba(255,102,0,.24) 45%, rgba(255,77,0,.18) 100%) !important;
  border-color: rgba(255,166,77,.34) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 16px 34px rgba(255,111,0,.16) !important;
}
.stat.stat-jobs .stat-label,
.metric.metric-jobs .m-label,
.a1-home-stat-box.a1-home-stat-box--jobs span,
.a1-home-stat-box.a1-home-stat-box--jobs-done span{
  color: rgba(255,245,238,.82) !important;
}
.stat.stat-jobs .stat-value,
.metric.metric-jobs .m-val,
.a1-home-stat-box.a1-home-stat-box--jobs b,
.a1-home-stat-box.a1-home-stat-box--jobs-done b{
  color: #fff7ed !important;
}

/* ===== Barevné rozlišení stránek ===== */
/* Přehled = světle modrá, Zakázky = oranžová, Zákazníci = teal, Poptávky = tyrkys, Sklad = ocelová modrá, Nabídky = jantarová, Faktury = čistá modrá */

.view[data-view]{
  position:relative;
  padding:14px 14px 18px;
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 8%, rgba(var(--page-accent-rgb), .14), transparent 22%),
    radial-gradient(circle at 88% 10%, rgba(var(--page-accent-rgb), .10), transparent 18%),
    linear-gradient(180deg, rgba(var(--page-accent-rgb), .10) 0%, rgba(7,10,16,.10) 18%, rgba(7,10,16,.02) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.view[data-view]::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:28px;
  border:1px solid rgba(var(--page-accent-rgb), .10);
  pointer-events:none;
}
@media (max-width: 900px){
  .view[data-view]{
    padding:10px 10px 14px;
    border-radius:22px;
  }
  .view[data-view]::after{ border-radius:22px; }
}
.view[data-view]{
  --page-accent:#67d3dd;
  --page-accent-2:#b9eef2;
  --page-accent-rgb:103,211,221;
}
.view[data-view="dashboard"]{ --page-accent:#38bdf8; --page-accent-2:#bae6fd; --page-accent-rgb:56,189,248; }
.view[data-view="items"]{ --page-accent:#f97316; --page-accent-2:#fdba74; --page-accent-rgb:249,115,22; }
.view[data-view="customers"]{ --page-accent:#14b8a6; --page-accent-2:#99f6e4; --page-accent-rgb:20,184,166; }
.view[data-view="leads"]{ --page-accent:#22d3ee; --page-accent-2:#a5f3fc; --page-accent-rgb:34,211,238; }
.view[data-view="reports"]{ --page-accent:#60a5fa; --page-accent-2:#bfdbfe; --page-accent-rgb:96,165,250; }
.view[data-view="seals"]{ --page-accent:#fb7185; --page-accent-2:#fecdd3; --page-accent-rgb:251,113,133; }
.view[data-view="payment"]{ --page-accent:#f59e0b; --page-accent-2:#fcd34d; --page-accent-rgb:245,158,11; }
.view[data-view="invoices"]{ --page-accent:#3b82f6; --page-accent-2:#93c5fd; --page-accent-rgb:59,130,246; }
.view[data-view="cashflow"]{ --page-accent:#94a3b8; --page-accent-2:#e2e8f0; --page-accent-rgb:148,163,184; }
.view[data-view="projects"]{ --page-accent:#64748b; --page-accent-2:#cbd5e1; --page-accent-rgb:100,116,139; }

.view[data-view] .page-top{
  position:relative;
  padding-top:8px;
}
.view[data-view] .page-top::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:min(220px, 42vw);
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--page-accent) 0%, var(--page-accent-2) 100%);
  box-shadow:0 0 20px rgba(var(--page-accent-rgb), .28);
}
.view[data-view] .page-title{
  color:var(--page-accent);
  text-shadow:0 10px 28px rgba(var(--page-accent-rgb), .14);
}
.view[data-view] .search,
.view[data-view] .select,
.view[data-view] .btn.ghost{
  border-color:rgba(var(--page-accent-rgb), .22);
  background:linear-gradient(180deg, rgba(var(--page-accent-rgb), .12) 0%, rgba(0,0,0,.18) 100%);
}
.view[data-view] .search:focus-within,
.view[data-view] .select:focus,
.view[data-view] .btn.ghost:hover{
  border-color:rgba(var(--page-accent-rgb), .40);
  box-shadow:0 0 0 1px rgba(var(--page-accent-rgb), .12), 0 12px 28px rgba(0,0,0,.18);
}
.view[data-view] .btn:not(.ghost):not(.danger){
  background:linear-gradient(135deg, var(--page-accent) 0%, var(--page-accent-2) 100%);
  color:#141414;
  box-shadow:0 12px 28px rgba(var(--page-accent-rgb), .18);
}
.view[data-view] .btn:not(.ghost):not(.danger):hover{
  box-shadow:0 16px 34px rgba(var(--page-accent-rgb), .24);
}
.view[data-view] .cust-panel,
.view[data-view] .lead-panel,
.view[data-view] .stock-panel,
.view[data-view] .offer-panel,
.view[data-view] .settings-grid .card,
.view[data-view] .a1-home-section,
.view[data-view] .hero,
.view[data-view] .filters,
.view[data-view] .content > .card,
.view[data-view] .content > .card-main,
.view[data-view] .content > .card-side,
.view[data-view] #a1QuickDispatch,
.view[data-view] #a1PlusDashboardGrid > *{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px rgba(var(--page-accent-rgb), .10);
}
.view[data-view] .cust-head-title,
.view[data-view] .lead-head-title,
.view[data-view] .stock-head-title,
.view[data-view] .offer-head-title,
.view[data-view] .settings-title,
.view[data-view] .k-title{
  color:var(--page-accent-2);
}
.view[data-view] .cust-head-count,
.view[data-view] .lead-pill,
.view[data-view] .stock-pill,
.view[data-view] .offer-head-count,
.view[data-view] .k-count{
  border-color:rgba(var(--page-accent-rgb), .24);
  background:rgba(var(--page-accent-rgb), .14);
}

/* Zakázky necháme výraznější oranžové */
.view[data-view="items"] .page-top::before{ width:min(280px, 56vw); }
.view[data-view="items"] .k-head,
.view[data-view="items"] .page-actions{ position:relative; z-index:1; }



/* ===== v190 dashboard homepage redesign ===== */
.view[data-view="dashboard"] > .hero,
.view[data-view="dashboard"] > .filters,
.view[data-view="dashboard"] > .content,
.view[data-view="dashboard"] > .pager,
.view[data-view="dashboard"] > #a1QuickDispatch,
.view[data-view="dashboard"] > #a1PlusDashboardGrid{
  display:none !important;
}
#a1HomeShell{
  display:grid !important;
  gap:18px;
  padding:20px 2px 20px;
}
.a1-home-shell--compact{display:grid !important;}
.a1-home-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035)),
    linear-gradient(135deg, rgba(43,179,192,.08), rgba(255,255,255,0) 45%);
  border:1px solid rgba(120,230,242,.12);
  box-shadow:0 18px 46px rgba(0,0,0,.26);
}
.a1-home-top,
.a1-home-grid,
.a1-home-grid-main{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
}
.a1-home-hero{
  padding:26px 28px;
  gap:20px;
}
.a1-home-kicker{
  font-size:11px;
  letter-spacing:.24em;
  color:rgba(255,255,255,.48);
}
.a1-home-date-line{
  display:grid;
  gap:8px;
}
.a1-home-date-big{
  font-size:28px;
  font-weight:800;
  line-height:1.05;
}
.a1-home-time{
  font-size:52px;
  font-weight:900;
  letter-spacing:-.05em;
  line-height:.92;
  color:#cffaff;
  text-shadow:0 8px 30px rgba(43,179,192,.25);
  padding:0;
}
.a1-home-hero-note{
  font-size:13px;
  color:rgba(255,255,255,.62);
  max-width:700px;
}
.a1-home-summary{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.a1-home-stat{
  min-height:98px;
  display:grid;
  align-content:space-between;
  padding:16px 16px 14px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(7,12,20,.34), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.07);
}
.a1-home-stat b{
  font-size:22px;
  line-height:1.02;
}
.a1-home-stat span{
  font-size:12px;
  line-height:1.25;
}
.a1-home-search-card,
.a1-home-actions,
.a1-home-section{
  padding:24px 24px;
}
.a1-home-title{
  font-size:22px;
  letter-spacing:-.02em;
}
.a1-home-sub{
  font-size:13px;
}
.a1-home-searchbox input{
  height:58px;
  border-radius:20px;
  background:rgba(6,10,16,.78);
}
.a1-home-search-results{
  max-height:330px;
}
.a1-home-action-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.a1-home-action{
  min-height:108px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(10,18,28,.68), rgba(255,255,255,.04));
}
.a1-home-action-ic{
  background:linear-gradient(180deg, rgba(43,179,192,.26), rgba(255,255,255,.06));
  border-color:rgba(103,211,221,.22);
}
.a1-home-alerts{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.a1-home-alert{
  min-height:118px;
}
.a1-home-plan-item,
.a1-home-continue-item,
.a1-home-mini-item,
.a1-home-stat-box{
  border-radius:20px;
  background:linear-gradient(180deg, rgba(9,14,22,.72), rgba(255,255,255,.035));
}
.a1-home-row-actions{
  padding-top:2px;
}
.a1-home-mini-btn{
  background:rgba(255,255,255,.06);
}
.a1-home-stats-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.a1-home-stats-grid--secondary .a1-home-stat-box b{
  color:#cffaff;
}

@media (max-width: 1320px){
  .a1-home-summary{grid-template-columns:repeat(3,minmax(0,1fr));}
  .a1-home-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width: 980px){
  .a1-home-top,
  .a1-home-grid,
  .a1-home-grid-main{grid-template-columns:1fr;}
  .a1-home-time{font-size:44px;}
  .a1-home-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
  .a1-home-alerts{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width: 700px){
  #a1HomeShell{gap:14px;padding-bottom:14px;}
  .a1-home-hero,
  .a1-home-search-card,
  .a1-home-actions,
  .a1-home-section{padding:18px;}
  .a1-home-time{font-size:38px;}
  .a1-home-date-big{font-size:22px;}
  .a1-home-summary,
  .a1-home-action-grid,
  .a1-home-alerts,
  .a1-home-stats-grid{grid-template-columns:1fr;}
}


/* v191 větší mezera pod navigací */
.topbar{
  margin-bottom: 22px !important;
}
.views{
  padding-top: 6px !important;
}
.view.is-active{
  padding-top: 4px !important;
}
#a1HomeShell,
.view[data-view="dashboard"] > .hero,
.view[data-view="dashboard"] > .filters,
.view[data-view="dashboard"] > .content{
  margin-top: 10px !important;
}
@media (max-width: 980px){
  .topbar{
    margin-bottom: 18px !important;
  }
  #a1HomeShell,
  .view[data-view="dashboard"] > .hero,
  .view[data-view="dashboard"] > .filters,
  .view[data-view="dashboard"] > .content{
    margin-top: 8px !important;
  }
}


.a1-home-calendar-wrap{
  gap:14px;
}
.a1-home-calendar-head{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
}
.a1-home-calendar-title-wrap{
  display:grid;
  gap:4px;
  justify-items:center;
  text-align:center;
}
.a1-home-calendar-title{
  font-size:18px;
  font-weight:800;
  color:#fff;
}
.a1-home-calendar-legend{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:rgba(255,255,255,.58);
}
.a1-home-calendar-legend span,
.a1-home-calendar-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(43,179,192,.95);
  box-shadow:0 0 0 5px rgba(43,179,192,.12);
}
.a1-home-calendar-nav{
  width:40px;
  height:40px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:18px;
  font-weight:800;
}
.a1-home-calendar-weekdays{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px;
}
.a1-home-calendar-weekdays span{
  text-align:center;
  font-size:12px;
  font-weight:700;
  color:rgba(255,255,255,.52);
}
.a1-home-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px;
}
.a1-home-calendar-day{
  min-height:76px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.04);
  color:#fff;
  display:grid;
  align-content:space-between;
  justify-items:start;
  padding:12px;
  position:relative;
}
.a1-home-calendar-day.is-empty{
  min-height:76px;
  background:transparent;
  border:1px dashed rgba(255,255,255,.04);
}
.a1-home-calendar-daynum{
  font-size:16px;
  font-weight:800;
}
.a1-home-calendar-count{
  font-size:11px;
  color:rgba(255,255,255,.62);
}
.a1-home-calendar-day .a1-home-calendar-dot{
  opacity:0;
}
.a1-home-calendar-day.has-job .a1-home-calendar-dot{
  opacity:1;
}
.a1-home-calendar-day.is-today{
  border-color:rgba(95,217,231,.34);
  box-shadow:0 0 0 1px rgba(95,217,231,.12) inset;
}
.a1-home-calendar-day.is-selected{
  background:linear-gradient(180deg, rgba(43,179,192,.22), rgba(255,255,255,.05));
  border-color:rgba(95,217,231,.34);
}
.a1-home-calendar-agenda{
  display:grid;
  gap:12px;
  margin-top:2px;
}
.a1-home-calendar-agenda-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.a1-home-calendar-agenda-list{
  display:grid;
  gap:10px;
}
.a1-home-calendar-job{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.035));
}

@media (max-width: 820px){
  .a1-home-calendar-day{
    min-height:68px;
    padding:10px;
    border-radius:16px;
  }
  .a1-home-calendar-grid,
  .a1-home-calendar-weekdays{
    gap:8px;
  }
}
@media (max-width: 560px){
  .a1-home-calendar-head{
    grid-template-columns:40px 1fr 40px;
  }
  .a1-home-calendar-day{
    min-height:60px;
    padding:8px;
  }
  .a1-home-calendar-daynum{
    font-size:14px;
  }
  .a1-home-calendar-count{
    font-size:10px;
  }
  .a1-home-calendar-agenda-head{
    align-items:flex-start;
    flex-direction:column;
  }
}



/* v193: service buttons on homepage styled as navigation inside the main section */
.subcard.plan{
  background: transparent;
  border: 0;
  padding: 0;
  box-shadow: none;
}
.subcard.plan .subhead{
  display:none;
}
.plan{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.plan-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:8px;
  border-radius: 18px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.plan-tags .tag{
  padding:10px 14px;
  min-height:40px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.1px;
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.plan-tags .tag:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.09);
  color: rgba(255,255,255,.96);
}
.plan-tags .tag.is-active{
  background: linear-gradient(135deg, rgba(103,211,221,.95), rgba(43,179,192,.92));
  color: #041116;
  border-color: rgba(185,238,242,.92);
  box-shadow: 0 10px 24px rgba(43,179,192,.22);
}
.plan-price{
  margin-top:0;
  padding:14px 16px;
  border-radius:18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}
.plan-graph{
  margin-top:0;
}
@media (max-width: 900px){
  .plan-tags{
    gap:8px;
    padding:7px;
  }
  .plan-tags .tag{
    flex: 1 1 calc(50% - 8px);
    justify-content:center;
    text-align:center;
  }
}
@media (max-width: 640px){
  .plan-tags .tag{
    flex:1 1 100%;
  }
}


/* ===== v196 cleaner headings ===== */
.view[data-view] .page-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.view[data-view] .page-top{
  padding-top:0;
  margin-bottom:14px;
}
.view[data-view] .page-top::before{
  width:8px;
  height:28px;
  top:50%;
  transform:translateY(-50%);
  border-radius:10px;
  background:linear-gradient(180deg, var(--page-accent) 0%, var(--page-accent-2) 100%);
  box-shadow:0 10px 24px rgba(var(--page-accent-rgb), .20);
}
.view[data-view] .page-title{
  position:relative;
  margin:0;
  padding-left:20px;
  color:rgba(255,255,255,.96) !important;
  text-shadow:none !important;
  font-size:26px !important;
  line-height:1.08;
  font-weight:900;
  letter-spacing:-0.7px;
}
.view[data-view] .page-title::after{
  content:"";
  display:block;
  width:68px;
  height:3px;
  margin-top:8px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--page-accent) 0%, rgba(var(--page-accent-rgb), .22) 100%);
}
.view[data-view] .settings-title,
.view[data-view] .cust-head-title,
.view[data-view] .lead-head-title,
.view[data-view] .stock-head-title,
.view[data-view] .offer-head-title,
.view[data-view] .k-title,
.view[data-view] .ph-title,
.view[data-view] .a1-home-action-title,
.view[data-view] .a1-home-result-title,
.view[data-view] .a1-plan-title,
.view[data-view] .a1-plus-title{
  color:rgba(255,255,255,.94) !important;
  letter-spacing:-.2px;
}
.view[data-view] .k-title,
.view[data-view] .cust-head-title,
.view[data-view] .lead-head-title,
.view[data-view] .stock-head-title,
.view[data-view] .offer-head-title{
  font-size:13px;
}
@media (max-width: 700px){
  .view[data-view] .page-title{
    font-size:22px !important;
    padding-left:18px;
  }
  .view[data-view] .page-top::before{
    height:24px;
  }
}


/* ===== v197 heading placement fix ===== */
.view[data-view] .page-top{
  align-items:center;
  margin-bottom:18px;
}
.view[data-view] .page-top::before{
  content:none;
}
.view[data-view] .page-left{
  position:relative;
  display:flex;
  align-items:center;
  min-height:34px;
  padding-left:20px;
}
.view[data-view] .page-left::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:8px;
  height:30px;
  border-radius:999px;
  background:linear-gradient(180deg, var(--page-accent) 0%, var(--page-accent-2) 100%);
  box-shadow:0 10px 24px rgba(var(--page-accent-rgb), .20);
}
.view[data-view] .page-title{
  padding-left:0;
  display:flex;
  align-items:center;
  min-height:34px;
}
.view[data-view] .page-title::after{
  width:56px;
  margin-top:7px;
}
@media (max-width: 700px){
  .view[data-view] .page-top{
    align-items:flex-start;
    margin-bottom:16px;
  }
  .view[data-view] .page-left{
    min-height:30px;
    padding-left:18px;
  }
  .view[data-view] .page-left::before{
    width:7px;
    height:24px;
  }
  .view[data-view] .page-title{
    min-height:30px;
    font-size:22px !important;
  }
}


/* ===== v198 stronger service colors ===== */
.plan{
  position:relative;
}
.plan-tags{
  padding:10px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(103,211,221,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 16px 34px rgba(0,0,0,.18);
}
.plan-tags .tag{
  position:relative;
  overflow:hidden;
  padding:12px 16px 12px 18px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.045));
  color:rgba(255,255,255,.90);
  border:1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 24px rgba(0,0,0,.12);
}
.plan-tags .tag::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  border-radius:16px 0 0 16px;
  opacity:.95;
}
.plan-tags .tag::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.08), transparent 60%);
  opacity:.6;
  pointer-events:none;
}
.plan-tags .tag:nth-child(1)::before{
  background:linear-gradient(180deg, #fb923c 0%, #f97316 100%);
  box-shadow:0 0 18px rgba(249,115,22,.35);
}
.plan-tags .tag:nth-child(2)::before{
  background:linear-gradient(180deg, #67e8f9 0%, #06b6d4 100%);
  box-shadow:0 0 18px rgba(34,211,238,.32);
}
.plan-tags .tag:nth-child(3)::before{
  background:linear-gradient(180deg, #fcd34d 0%, #f59e0b 100%);
  box-shadow:0 0 18px rgba(245,158,11,.30);
}
.plan-tags .tag:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.06));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 14px 26px rgba(0,0,0,.18);
}
.plan-tags .tag.is-active{
  color:#06151b;
  border-color:rgba(185,238,242,.95);
  background:linear-gradient(135deg, rgba(126,239,248,.98), rgba(43,179,192,.96));
  box-shadow:0 16px 34px rgba(43,179,192,.30), 0 0 0 1px rgba(185,238,242,.18) inset;
}
.plan-tags .tag.is-active::before{
  width:7px;
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.28));
  box-shadow:none;
}
.plan-price{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(249,115,22,.18), rgba(34,211,238,.10) 45%, rgba(255,255,255,.04) 100%);
  border:1px solid rgba(103,211,221,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 36px rgba(0,0,0,.18);
}
.plan-price::before{
  content:"";
  position:absolute;
  top:-36px;
  right:-36px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(249,115,22,.24) 0%, rgba(249,115,22,0) 72%);
  pointer-events:none;
}
.plan-price .big{
  color:#fff;
  text-shadow:0 6px 18px rgba(0,0,0,.18);
}
.plan-price .currency,
.plan-price .small{
  color:rgba(255,255,255,.78);
}
@media (max-width:900px){
  .plan-tags{
    padding:8px;
  }
  .plan-tags .tag{
    padding:12px 14px 12px 16px;
  }
}


/* ===== v199 full colorful theme ===== */
:root{
  --accent-dash-1: 56,189,248;
  --accent-dash-2: 249,115,22;
  --accent-dash-3: 20,184,166;
  --accent-dash-4: 245,158,11;
}
body{
  background:
    radial-gradient(circle at 10% 8%, rgba(var(--accent-dash-1), .18), transparent 24%),
    radial-gradient(circle at 88% 10%, rgba(var(--accent-dash-2), .16), transparent 22%),
    radial-gradient(circle at 82% 84%, rgba(var(--accent-dash-3), .15), transparent 24%),
    linear-gradient(180deg, #0f172a 0%, #111827 48%, #0b1220 100%) fixed !important;
}
.dash{
  background:
    radial-gradient(circle at 0% 0%, rgba(56,189,248,.12), transparent 26%),
    radial-gradient(circle at 100% 0%, rgba(249,115,22,.10), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.06)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.topbar{
  padding:10px 12px !important;
  border-radius:24px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.nav-pill{
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.22)) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 24px rgba(0,0,0,.16);
}
.nav-item{
  border:1px solid transparent;
  font-weight:800;
  letter-spacing:.1px;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease, border-color .16s ease;
}
.nav-item:hover{ transform:translateY(-1px); }
.nav-item[data-nav="dashboard"]{ color:#d7f0ff; background:linear-gradient(180deg, rgba(56,189,248,.22), rgba(56,189,248,.10)); border-color:rgba(56,189,248,.24); }
.nav-item[data-nav="items"]{ color:#ffe2cc; background:linear-gradient(180deg, rgba(249,115,22,.22), rgba(249,115,22,.10)); border-color:rgba(249,115,22,.24); }
.nav-item[data-nav="customers"]{ color:#d5fff6; background:linear-gradient(180deg, rgba(20,184,166,.22), rgba(20,184,166,.10)); border-color:rgba(20,184,166,.24); }
.nav-item[data-nav="leads"]{ color:#d6fbff; background:linear-gradient(180deg, rgba(34,211,238,.22), rgba(34,211,238,.10)); border-color:rgba(34,211,238,.24); }
.nav-item[data-nav="reports"]{ color:#ddeaff; background:linear-gradient(180deg, rgba(96,165,250,.22), rgba(96,165,250,.10)); border-color:rgba(96,165,250,.24); }
.nav-item[data-nav="seals"]{ color:#ffe1e7; background:linear-gradient(180deg, rgba(251,113,133,.22), rgba(251,113,133,.10)); border-color:rgba(251,113,133,.24); }
.nav-item[data-nav="payment"]{ color:#ffefc2; background:linear-gradient(180deg, rgba(245,158,11,.24), rgba(245,158,11,.10)); border-color:rgba(245,158,11,.26); }
.nav-item[data-nav="invoices"]{ color:#dce8ff; background:linear-gradient(180deg, rgba(59,130,246,.22), rgba(59,130,246,.10)); border-color:rgba(59,130,246,.24); }
.nav-item[data-nav="cashflow"]{ color:#eef5ff; background:linear-gradient(180deg, rgba(148,163,184,.22), rgba(148,163,184,.10)); border-color:rgba(148,163,184,.24); }
.nav-item[data-nav="projects"]{ color:#e4ebf8; background:linear-gradient(180deg, rgba(100,116,139,.22), rgba(100,116,139,.10)); border-color:rgba(100,116,139,.24); }
.nav-item.is-active{
  color:#071018 !important;
  border-color:rgba(255,255,255,.40) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.22), 0 0 0 1px rgba(255,255,255,.14) inset;
}
.nav-item[data-nav="dashboard"].is-active{ background:linear-gradient(135deg, #38bdf8 0%, #bae6fd 100%) !important; }
.nav-item[data-nav="items"].is-active{ background:linear-gradient(135deg, #f97316 0%, #fdba74 100%) !important; }
.nav-item[data-nav="customers"].is-active{ background:linear-gradient(135deg, #14b8a6 0%, #99f6e4 100%) !important; }
.nav-item[data-nav="leads"].is-active{ background:linear-gradient(135deg, #22d3ee 0%, #a5f3fc 100%) !important; }
.nav-item[data-nav="reports"].is-active{ background:linear-gradient(135deg, #60a5fa 0%, #bfdbfe 100%) !important; }
.nav-item[data-nav="seals"].is-active{ background:linear-gradient(135deg, #fb7185 0%, #fecdd3 100%) !important; }
.nav-item[data-nav="payment"].is-active{ background:linear-gradient(135deg, #f59e0b 0%, #fcd34d 100%) !important; }
.nav-item[data-nav="invoices"].is-active{ background:linear-gradient(135deg, #3b82f6 0%, #93c5fd 100%) !important; }
.nav-item[data-nav="cashflow"].is-active{ background:linear-gradient(135deg, #94a3b8 0%, #e2e8f0 100%) !important; }
.nav-item[data-nav="projects"].is-active{ background:linear-gradient(135deg, #64748b 0%, #cbd5e1 100%) !important; }

.view[data-view]{
  background:
    radial-gradient(circle at 12% 8%, rgba(var(--page-accent-rgb), .22), transparent 24%),
    radial-gradient(circle at 88% 12%, rgba(var(--page-accent-rgb), .16), transparent 20%),
    linear-gradient(180deg, rgba(var(--page-accent-rgb), .12) 0%, rgba(7,10,16,.10) 18%, rgba(7,10,16,.03) 100%) !important;
}
.view[data-view]::after{
  border-color:rgba(var(--page-accent-rgb), .16) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px rgba(var(--page-accent-rgb), .04);
}
.view[data-view] .page-title{
  letter-spacing:-.45px;
}
.view[data-view] .page-sub{
  color: rgba(255,255,255,.78);
}
.view[data-view] .btn.ghost,
.view[data-view] .search,
.view[data-view] .select{
  background: linear-gradient(180deg, rgba(var(--page-accent-rgb), .18), rgba(0,0,0,.18)) !important;
}
.view[data-view] .cust-panel,
.view[data-view] .lead-panel,
.view[data-view] .stock-panel,
.view[data-view] .offer-panel,
.view[data-view] .settings-grid .card,
.view[data-view] .a1-home-section,
.view[data-view] .hero,
.view[data-view] .filters,
.view[data-view] .content > .card,
.view[data-view] .content > .card-main,
.view[data-view] .content > .card-side,
.view[data-view] #a1QuickDispatch,
.view[data-view] #a1PlusDashboardGrid > *,
.view[data-view] .k-col,
.view[data-view] .k-card,
.view[data-view] .k-add,
.view[data-view] .stat,
.view[data-view] .metric,
.view[data-view] .offer-row,
.view[data-view] .lead-row,
.view[data-view] .stock-row,
.view[data-view] .cust-row{
  background:
    linear-gradient(180deg, rgba(var(--page-accent-rgb), .18) 0%, rgba(var(--page-accent-rgb), .09) 16%, rgba(13,17,26,.90) 100%) !important;
  border-color: rgba(var(--page-accent-rgb), .22) !important;
}
.view[data-view] .k-col{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 12px 28px rgba(0,0,0,.16), 0 0 0 1px rgba(var(--page-accent-rgb), .08) !important;
}
.view[data-view] .k-card:hover,
.view[data-view] .offer-row:hover,
.view[data-view] .lead-row:hover,
.view[data-view] .stock-row:hover,
.view[data-view] .cust-row:hover{
  box-shadow: 0 14px 28px rgba(var(--page-accent-rgb), .12), 0 0 0 1px rgba(var(--page-accent-rgb), .18) inset !important;
  transform: translateY(-1px);
}
.view[data-view] .k-count,
.view[data-view] .k-badge,
.view[data-view] .tag,
.view[data-view] .chip,
.view[data-view] .filter-item,
.view[data-view] .pill{
  background: rgba(var(--page-accent-rgb), .16) !important;
  border-color: rgba(var(--page-accent-rgb), .24) !important;
}
.view[data-view] .filter-item.is-active,
.view[data-view] .chip.is-active,
.view[data-view] .tag.is-active{
  background: linear-gradient(135deg, var(--page-accent) 0%, var(--page-accent-2) 100%) !important;
  color:#0b1220 !important;
  border-color: transparent !important;
}
.view[data-view] .app-ic,
.view[data-view] .dock-app-ic,
.view[data-view] .brand-mark{
  background: linear-gradient(180deg, rgba(var(--page-accent-rgb), .24), rgba(255,255,255,.08)) !important;
  border-color: rgba(var(--page-accent-rgb), .26) !important;
}
.view[data-view] .ph-title,
.view[data-view] .app-name,
.view[data-view] .k-card-title,
.view[data-view] .k-price{
  color:#ffffff;
}


/* ===================== Popup bars fix v200 ===================== */
.modal,
.modal.modal-sm,
.modal.modal-md,
.modal.modal-xl{
  overflow:auto !important;
  overscroll-behavior:contain;
}
.modal-head,
.modal-actions{
  left:0;
  right:0;
  box-sizing:border-box;
}
.modal-head{
  top:0 !important;
  margin:0 0 16px 0 !important;
  padding:16px 18px 14px 18px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-left:none !important;
  border-right:none !important;
  border-top:none !important;
  border-radius:0 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.20);
}
.modal-actions{
  bottom:0 !important;
  margin:18px 0 0 0 !important;
  padding:14px 18px 18px 18px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-left:none !important;
  border-right:none !important;
  border-bottom:none !important;
  border-radius:0 !important;
  box-shadow:0 -10px 28px rgba(0,0,0,.20);
}
.modal-head .mini,
.modal-actions .mini,
.modal-actions .btn,
.modal-actions button{
  position:relative;
  z-index:1;
}
@media (min-width: 981px){
  .modal-backdrop .modal,
  .modal-backdrop .modal.modal-sm,
  .modal-backdrop .modal.modal-md,
  .modal-backdrop .modal.modal-xl{
    padding:0 24px 0 24px !important;
  }
  .modal-head{
    top:0 !important;
    margin:0 -24px 18px -24px !important;
    padding:20px 24px 16px 24px !important;
  }
  .modal-actions{
    bottom:0 !important;
    margin:18px -24px 0 -24px !important;
    padding:14px 24px 18px 24px !important;
  }
}
@media (max-width: 980px){
  .modal-backdrop .modal,
  .modal-backdrop .modal.modal-sm,
  .modal-backdrop .modal.modal-md,
  .modal-backdrop .modal.modal-xl{
    padding:0 calc(14px + env(safe-area-inset-right)) 0 calc(14px + env(safe-area-inset-left)) !important;
  }
  .modal-head{
    top:0 !important;
    margin:0 calc(-14px - env(safe-area-inset-right)) 14px calc(-14px - env(safe-area-inset-left)) !important;
    padding:calc(12px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) 12px calc(14px + env(safe-area-inset-left)) !important;
  }
  .modal-actions{
    bottom:0 !important;
    margin:18px calc(-14px - env(safe-area-inset-right)) 0 calc(-14px - env(safe-area-inset-left)) !important;
    padding:12px calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom) + 14px) calc(14px + env(safe-area-inset-left)) !important;
  }
}


/* v202 search input as single box */
.search{
  padding: 0 14px !important;
  min-height: 52px !important;
}
.search input{
  width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.search input:focus{
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}


/* ===== v203: více místa nad boxy služeb ===== */
.subcard.plan{
  padding-top: 8px !important;
}
.plan-tags{
  margin-top: 12px !important;
}
@media (max-width: 900px){
  .subcard.plan{
    padding-top: 6px !important;
  }
  .plan-tags{
    margin-top: 10px !important;
  }
}

/* Customer rows: anthracite theme */
.view[data-view="customers"] .cust-row,
#view-customers .cust-row,
.cust-list .cust-row{
  background: linear-gradient(180deg, rgba(39,43,50,.96), rgba(28,31,37,.96)) !important;
  border-color: rgba(120,128,142,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 12px 22px rgba(0,0,0,.18) !important;
}
.view[data-view="customers"] .cust-row:nth-child(even),
#view-customers .cust-row:nth-child(even),
.cust-list .cust-row:nth-child(even){
  background: linear-gradient(180deg, rgba(45,49,57,.98), rgba(31,34,41,.98)) !important;
}
.view[data-view="customers"] .cust-row:hover,
#view-customers .cust-row:hover,
.cust-list .cust-row:hover{
  background: linear-gradient(180deg, rgba(48,53,62,.98), rgba(34,38,45,.98)) !important;
  border-color: rgba(160,170,186,.28) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.03) !important;
}
.view[data-view="customers"] .cust-ava,
#view-customers .cust-ava,
.cust-list .cust-ava{
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.10) !important;
}


/* ===== Globální antracitové řádky ve službách ===== */
:root{
  --a1-row-anthracite: rgba(33, 37, 41, .92);
  --a1-row-anthracite-2: rgba(40, 45, 50, .96);
  --a1-row-anthracite-hover: rgba(53, 59, 66, .98);
  --a1-row-anthracite-border: rgba(255,255,255,.14);
}

.side-item,
.cust-row,
.lead-row,
.offer-row,
.stock-row,
.hrow,
.offer-item-row,
.cust-file-row{
  background: linear-gradient(180deg, var(--a1-row-anthracite), var(--a1-row-anthracite-2));
  border-color: var(--a1-row-anthracite-border);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 24px rgba(0,0,0,.16);
}

.side-item:hover,
.cust-row:hover,
.lead-row:hover,
.offer-row:hover,
.stock-row:hover,
.hrow:hover,
.offer-item-row:hover,
.cust-file-row:hover{
  background: linear-gradient(180deg, var(--a1-row-anthracite-hover), rgba(59, 65, 72, .98));
  border-color: rgba(255,255,255,.18);
}

.cust-row:nth-child(even),
.lead-row:nth-child(even),
.offer-row:nth-child(even),
.stock-row:nth-child(even),
.hrow:nth-child(even),
.offer-item-row:nth-child(even),
.cust-file-row:nth-child(even){
  background: linear-gradient(180deg, rgba(37, 42, 47, .94), rgba(31, 35, 39, .98));
}

/* ===== v206 sluzby: cisty tmavy antracit vsude ===== */
:root{
  --a1-service-anthracite: rgba(34, 39, 43, .98);
  --a1-service-anthracite-2: rgba(34, 39, 43, .98);
  --a1-service-anthracite-hover: rgba(46, 52, 57, .99);
  --a1-service-anthracite-border: rgba(255,255,255,.14);
}

.hrow,
.plan-tags .tag,
.a1-template-select,
.a1-template-select-wrap,
select.a1-template-select{
  background: var(--a1-service-anthracite) !important;
  border-color: var(--a1-service-anthracite-border) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 24px rgba(0,0,0,.16) !important;
}

.hrow:hover,
.plan-tags .tag:hover,
.a1-template-select:hover,
.a1-template-select:focus,
select.a1-template-select:hover,
select.a1-template-select:focus{
  background: var(--a1-service-anthracite-hover) !important;
  border-color: rgba(255,255,255,.18) !important;
}

.plan-tags .tag.is-active{
  background: rgba(58, 66, 72, .99) !important;
  border-color: rgba(255,255,255,.22) !important;
  color: #fff !important;
}

.hrow:nth-child(even){
  background: var(--a1-service-anthracite-2) !important;
}

/* ===== v207: antracitové řádky pro Poptávky / Sklad / Těsnění / Nabídky / Faktury / Protokoly ===== */
:root{
  --a1-deep-anthracite: rgba(35, 39, 44, .98);
  --a1-deep-anthracite-2: rgba(28, 31, 36, .98);
  --a1-deep-anthracite-even: rgba(41, 45, 51, .99);
  --a1-deep-anthracite-even-2: rgba(31, 34, 39, .99);
  --a1-deep-anthracite-hover: rgba(50, 55, 62, .99);
  --a1-deep-anthracite-hover-2: rgba(38, 42, 47, .99);
  --a1-deep-anthracite-border: rgba(148, 163, 184, .20);
}

.view[data-view="leads"] .lead-row,
.view[data-view="stock"] .stock-row,
.view[data-view="seals"] .offer-row,
.view[data-view="payment"] .offer-row,
.view[data-view="invoices"] .offer-row,
.view[data-view="cashflow"] .offer-row,
#leadList .lead-row,
#stockList .stock-row,
#sealList .offer-row,
#offerList .offer-row,
#invoiceList .offer-row,
#protoList .offer-row{
  background: linear-gradient(180deg, var(--a1-deep-anthracite), var(--a1-deep-anthracite-2)) !important;
  border: 1px solid var(--a1-deep-anthracite-border) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 12px 24px rgba(0,0,0,.20) !important;
}

.view[data-view="leads"] .lead-row:nth-child(even),
.view[data-view="stock"] .stock-row:nth-child(even),
.view[data-view="seals"] .offer-row:nth-child(even),
.view[data-view="payment"] .offer-row:nth-child(even),
.view[data-view="invoices"] .offer-row:nth-child(even),
.view[data-view="cashflow"] .offer-row:nth-child(even),
#leadList .lead-row:nth-child(even),
#stockList .stock-row:nth-child(even),
#sealList .offer-row:nth-child(even),
#offerList .offer-row:nth-child(even),
#invoiceList .offer-row:nth-child(even),
#protoList .offer-row:nth-child(even){
  background: linear-gradient(180deg, var(--a1-deep-anthracite-even), var(--a1-deep-anthracite-even-2)) !important;
}

.view[data-view="leads"] .lead-row:hover,
.view[data-view="stock"] .stock-row:hover,
.view[data-view="seals"] .offer-row:hover,
.view[data-view="payment"] .offer-row:hover,
.view[data-view="invoices"] .offer-row:hover,
.view[data-view="cashflow"] .offer-row:hover,
#leadList .lead-row:hover,
#stockList .stock-row:hover,
#sealList .offer-row:hover,
#offerList .offer-row:hover,
#invoiceList .offer-row:hover,
#protoList .offer-row:hover{
  background: linear-gradient(180deg, var(--a1-deep-anthracite-hover), var(--a1-deep-anthracite-hover-2)) !important;
  border-color: rgba(170, 184, 200, .28) !important;
}


/* v206: search boxes anthracite */
.search,
.view[data-view] .search,
.user-pill .search{
  background:#2f343a !important;
  background-image:none !important;
  border-color:rgba(255,255,255,.10) !important;
}
.search:focus-within,
.view[data-view] .search:focus-within{
  background:#383e45 !important;
  background-image:none !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.05), 0 12px 28px rgba(0,0,0,.22) !important;
}
.search input,
.search input::placeholder{
  color:rgba(255,255,255,.88) !important;
}
.a1-home-searchbox input{
  background:#2f343a !important;
  border-color:rgba(255,255,255,.10) !important;
}
.a1-home-searchbox input:focus{
  background:#383e45 !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.05), 0 12px 28px rgba(0,0,0,.22) !important;
}

/* v208: logo v navigaci bez ohraničení a bez boxu */
.topbar .brand-mark,
.view[data-view] .brand-mark{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

/* v211: Zakázky cards forced anthracite */
.view[data-view="items"] .k-card,
.view[data-view="items"] .kanban .k-card,
.view[data-view="items"] .k-col .k-card{
  background:#2b2b2b !important;
  color:#ffffff !important;
  border:1px solid #3a3a3a !important;
  box-shadow:0 2px 6px rgba(0,0,0,.35) !important;
}
.view[data-view="items"] .k-card:hover,
.view[data-view="items"] .kanban .k-card:hover,
.view[data-view="items"] .k-col .k-card:hover{
  background:#343434 !important;
  border-color:#4a4a4a !important;
  transform:translateY(-2px);
}
.view[data-view="items"] .k-card *{
  color:inherit;
}


/* v212: barevné stavy karet zakázek */
.view[data-view="items"] .k-card.status-new,
.view[data-view="items"] .kanban .k-card.status-new,
.view[data-view="items"] .k-col .k-card.status-new{
  border-top:4px solid #3b82f6 !important;
  box-shadow:0 0 0 1px rgba(59,130,246,.18), 0 10px 22px rgba(0,0,0,.28) !important;
}
.view[data-view="items"] .k-card.status-progress,
.view[data-view="items"] .kanban .k-card.status-progress,
.view[data-view="items"] .k-col .k-card.status-progress{
  border-top:4px solid #ef4444 !important;
  box-shadow:0 0 0 1px rgba(239,68,68,.18), 0 10px 22px rgba(0,0,0,.28) !important;
}
.view[data-view="items"] .k-card.status-done,
.view[data-view="items"] .kanban .k-card.status-done,
.view[data-view="items"] .k-col .k-card.status-done{
  border-top:4px solid #22c55e !important;
  box-shadow:0 0 0 1px rgba(34,197,94,.18), 0 10px 22px rgba(0,0,0,.28) !important;
}
.view[data-view="items"] .k-card.status-waiting,
.view[data-view="items"] .kanban .k-card.status-waiting,
.view[data-view="items"] .k-col .k-card.status-waiting{
  border-top:4px solid #f59e0b !important;
  box-shadow:0 0 0 1px rgba(245,158,11,.18), 0 10px 22px rgba(0,0,0,.28) !important;
}


/* ===== Mobile shell polish v214 ===== */
.mobile-tabbar{display:none;}
@media (max-width: 860px){
  html,body{overflow-x:hidden;}
  .stage{
    padding:0;
    min-height:100%;
  }
  .frame{
    width:100%;
    min-height:100%;
    border-radius:0;
    border:none;
    box-shadow:none;
  }
  .meta,
  .dock{display:none !important;}
  .nav{
    display:block !important;
    position:fixed;
    left:10px;
    right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    z-index:95;
    margin:0;
  }
  .dash{
    width:100%;
    min-height:100dvh;
    padding:0 0 calc(96px + env(safe-area-inset-bottom));
  }
  .topbar{
    position:sticky;
    top:0;
    z-index:60;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:calc(10px + env(safe-area-inset-top)) 12px 10px;
    background:linear-gradient(180deg, rgba(13,18,25,.98), rgba(13,18,25,.9));
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .brand{min-width:0;}
  .brand-mark{
    width:auto;
    min-width:0;
    padding:0;
    background:transparent;
    border:none;
    box-shadow:none;
  }
  .brand-logo{height:34px; width:auto;}
  .user{margin-left:auto; gap:8px;}
  .user-pill{
    min-width:0;
    padding:8px 10px;
    border-radius:16px;
  }
  .user-meta{min-width:0;}
  .user-name,.user-sub{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .user-name{max-width:112px;}
  .user-sub{max-width:112px;}
  .user-btn{width:42px; height:42px; border-radius:14px;}
  .views{padding:12px;}
  .view{gap:12px;}
  .hero,.content,.stats,.grid-2,.grid-3,.a1-grid-2,.a1-grid-2a,.a1-est-grid,.a1-stat-grid,.a1-plus-dashboard-grid{
    grid-template-columns:1fr !important;
  }
  .k-head,
  .list-head,
  .cust-toolbar,
  .toolbar,
  .filters{
    flex-wrap:wrap;
    align-items:stretch;
  }
  .search,
  .search input,
  .filter-pill,
  .toolbar .btn,
  .k-head .btn,
  .cust-toolbar .btn{width:100%;}
  .search{min-width:0;}
  .k-col,
  .card,
  .subcard,
  .cust-panel,
  .settings-card,
  .diag,
  .a1-home-actions,
  .a1-home-alerts-wrap,
  .a1-home-section{border-radius:20px;}
  .table-wrap,
  .calc-items-list,
  .k-list,
  .cust-list,
  .diag-pre{max-width:100%; overflow-x:auto;}

  .nav-pill{
    display:flex;
    gap:8px;
    padding:8px;
    border-radius:22px;
    background:rgba(12,17,24,.92);
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 18px 44px rgba(0,0,0,.34);
    backdrop-filter:blur(18px);
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .nav-pill::-webkit-scrollbar{display:none;}
  .nav-item{
    flex:0 0 auto;
    min-width:max-content;
    min-height:48px;
    padding:10px 14px !important;
    border-radius:16px;
    white-space:nowrap;
    font-size:12px;
    font-weight:700;
  }

  .mobile-tabbar{
    position:fixed;
    left:10px;
    right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    z-index:95;
    display:none !important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
    padding:8px;
    border-radius:22px;
    background:rgba(12,17,24,.92);
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 18px 44px rgba(0,0,0,.34);
    backdrop-filter:blur(18px);
  }
  .mobile-tab{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-height:56px;
    padding:7px 4px;
    border:none;
    color:rgba(232,239,248,.74);
    background:transparent;
    border-radius:16px;
    font:inherit;
  }
  .mobile-tab.is-active{
    color:#fff;
    background:linear-gradient(180deg, rgba(61,139,255,.24), rgba(61,139,255,.1));
    box-shadow:inset 0 0 0 1px rgba(111,177,255,.22);
  }
  .mobile-tab-ic{display:flex; align-items:center; justify-content:center; width:22px; height:22px;}
  .mobile-tab-ic svg{width:20px; height:20px;}
  .mobile-tab-txt{font-size:10.5px; font-weight:700; line-height:1.05; white-space:nowrap;}
}

@media (max-width: 860px){
  .modal-backdrop{
    align-items:stretch;
    justify-content:stretch;
    padding:0;
    background: rgba(4,6,10,.72);
  }
  .modal-backdrop .modal,
  .modal-backdrop .modal.modal-sm,
  .modal-backdrop .modal.modal-md,
  .modal-backdrop .modal.modal-xl{
    width:100vw !important;
    max-width:none !important;
    height:100dvh;
    max-height:100dvh !important;
    margin:0;
    border-radius:0;
    border:none;
    box-shadow:none;
    padding: calc(14px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));
    background: linear-gradient(180deg, rgba(17,22,30,.96), rgba(11,15,22,.985));
  }
  .modal-head{
    position:sticky;
    top:0;
    z-index:3;
    margin: calc(-10px - env(safe-area-inset-top)) calc(-10px - env(safe-area-inset-right)) 10px calc(-10px - env(safe-area-inset-left));
    padding: calc(12px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) 12px calc(14px + env(safe-area-inset-left));
    background: linear-gradient(180deg, rgba(16,20,28,.98), rgba(16,20,28,.88));
    border-bottom: 1px solid rgba(255,255,255,.10);
    backdrop-filter: blur(18px);
  }
  .modal-actions{
    position:sticky;
    bottom: calc(-6px - env(safe-area-inset-bottom));
    z-index:3;
    margin: 12px calc(-10px - env(safe-area-inset-right)) calc(-12px - env(safe-area-inset-bottom)) calc(-10px - env(safe-area-inset-left));
    padding: 12px calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));
    background: linear-gradient(180deg, rgba(16,20,28,.78), rgba(16,20,28,.98));
    border-top: 1px solid rgba(255,255,255,.10);
    backdrop-filter: blur(18px);
  }
}

@media (min-width: 861px){
  .mobile-tabbar{display:none !important;}
  .modal-backdrop .modal,
  .modal-backdrop .modal.modal-sm,
  .modal-backdrop .modal.modal-md,
  .modal-backdrop .modal.modal-xl{
    width:min(980px, 100%);
    max-width:100%;
    height:auto;
    max-height:min(82vh, 860px) !important;
    margin:0;
    border-radius:26px;
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 24px 70px rgba(0,0,0,.55);
    padding:14px;
    background: rgba(15,18,24,.72);
  }
  .modal.modal-sm{width:min(520px, 100%);}
  .modal.modal-md{width:min(760px, 100%);}
  .modal.modal-xl{width:min(980px, 100%);}
  .modal-head{
    position:static;
    margin:0;
    padding:4px 4px 10px 4px;
    background:transparent;
    border-bottom:none;
    backdrop-filter:none;
  }
  .modal-actions{
    position:static;
    margin:0;
    padding-top:2px;
    background:transparent;
    border-top:none;
    backdrop-filter:none;
  }
}



/* ===== v200 MOBILE: 3 boční dock boxy dole ===== */
@media (max-width: 860px){
  .dock{
    position: fixed !important;
    left: 50% !important;
    top: auto !important;
    right: auto !important;
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: auto !important;
    max-width: calc(100vw - 20px) !important;
    padding: 8px 10px !important;
    border-radius: 22px !important;
    z-index: 1001 !important;
  }

  .dock .dock-btn{
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    border-radius: 16px !important;
  }

  .mobile-tabbar{
    display: none !important;
  }

  .dash,
  .view{
    padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important;
  }

  body.keyboard-open .dock{
    display: none !important;
  }
}

@media (max-width: 520px){
  .dock{
    bottom: calc(8px + env(safe-area-inset-bottom)) !important;
    gap: 8px !important;
    padding: 8px !important;
  }

  .dock .dock-btn{
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
  }

  .dash,
  .view{
    padding-bottom: calc(98px + env(safe-area-inset-bottom)) !important;
  }
}


/* ===== v201 MOBILE TOPBAR: jen logo a lupa ===== */
@media (max-width: 860px){
  .topbar{
    display: grid !important;
    grid-template-columns: 64px 1fr 56px !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .topbar .brand{
    grid-column: 1 !important;
    justify-self: start !important;
  }

  .topbar .nav,
  .topbar .nav-pill{
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  .topbar .actions{
    grid-column: 3 !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .topbar .actions > :not(.search-btn):not(.user-btn){
    display: none !important;
  }

  .topbar .search-btn{
    display: inline-flex !important;
  }

  .topbar .user-btn{
    display: none !important;
  }
}

@media (max-width: 520px){
  .topbar{
    grid-template-columns: 60px 1fr 52px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}


/* ===== v202 MOBILE FULLSCREEN ===== */
html, body{
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}

body{
  min-height: 100dvh !important;
}

.stage,
.frame{
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

@media (max-width: 860px){
  html, body{
    overflow: hidden !important;
  }

  .stage,
  .frame{
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
  }

  .dash{
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .views,
  .view{
    width: 100% !important;
    max-width: 100% !important;
  }

  .topbar{
    border-radius: 0 0 18px 18px !important;
  }
}
