
/* VivaVesta Studio 4.2 – společný jemnější vzhled */
:root{
  --vv42-bg:#f7f6f3;
  --vv42-panel:#ffffff;
  --vv42-ink:#1d2026;
  --vv42-muted:#717781;
  --vv42-line:#e7e3db;
  --vv42-gold:#c5a252;
  --vv42-gold-soft:#f6eedb;
  --vv42-dark:#15181e;
  --vv42-ok:#176744;
  --vv42-danger:#9b3030;
  --vv42-shadow:0 8px 28px rgba(18,22,30,.055);
}
html{background:var(--vv42-bg)}
body{background:var(--vv42-bg)!important;color:var(--vv42-ink)}
.side{
  overflow-y:auto!important;
  scrollbar-width:thin;
  padding:22px 15px 18px!important;
  background:#12151b!important;
}
.brand{padding:2px 7px 18px!important;margin-bottom:13px!important}
.brand-mark{border-radius:12px!important;box-shadow:none!important}
.brand p{letter-spacing:1.15px!important}
.nav{gap:2px!important}
.nav-group{margin-top:13px}
.nav-group:first-child{margin-top:0}
.nav-group-title{
  padding:7px 12px 5px;
  color:#777e89;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.45px;
  text-transform:uppercase;
}
.nav a{
  min-height:40px;
  padding:9px 11px!important;
  border-radius:10px!important;
  font-size:13px;
  transform:none!important;
}
.nav a:hover{transform:none!important}
.nav-icon{width:21px!important;font-size:15px!important}
.side-footer{background:#ffffff08;border-radius:12px;padding:12px!important;border-top:0!important;margin-top:16px!important}
.main{padding:27px clamp(18px,2.6vw,38px)!important}
.top{margin-bottom:20px!important}
.top h2{font-size:clamp(26px,2.8vw,34px)!important}
.actions{gap:8px!important}
.btn{
  border-radius:10px!important;
  box-shadow:none!important;
  padding:9px 13px!important;
  transition:border-color .16s ease,background .16s ease,color .16s ease!important;
}
.btn:hover{transform:none!important;box-shadow:none!important;border-color:#c8c2b8!important}
.btn.primary,.btn.gold{
  background:var(--vv42-gold)!important;
  border-color:var(--vv42-gold)!important;
  color:#17191d!important;
}
.btn.dark{background:var(--vv42-dark)!important;border-color:var(--vv42-dark)!important}
.card{
  border-radius:16px!important;
  border-color:var(--vv42-line)!important;
  box-shadow:var(--vv42-shadow)!important;
}
.grid.cards{gap:13px!important}
.metric-card{min-height:132px!important;padding:17px!important}
.metric-card:after{display:none!important}
.metric-icon{margin-bottom:11px!important}
.metric{font-size:28px!important}
.field label{letter-spacing:.35px!important}
.field input,.field select,.field textarea{
  border-color:#ddd9d1!important;
  border-radius:10px!important;
  padding:11px 12px!important;
}
.table th,.table td{padding:11px 10px!important}
.status,.badge,.role-pill{font-size:11px!important}
.inquiry-role-panel,.vv-economy-lifetime{
  border-radius:18px!important;
  box-shadow:0 10px 32px rgba(15,18,24,.11)!important;
}
.inquiry-touch{min-height:98px!important}
.login-shell{box-shadow:0 24px 75px rgba(0,0,0,.38)!important}
.login-points{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px 14px!important;
}
.login-points span{
  background:#ffffff0a;
  border:1px solid #ffffff0d;
  border-radius:10px;
  padding:9px 10px;
}
.login-demo-link{
  display:inline-flex;
  width:max-content;
  margin-top:4px;
  color:#e1c77f;
  text-decoration:none;
  font-weight:900;
  border-bottom:1px solid #e1c77f55;
  padding-bottom:3px;
}
.vv42-demo-note{
  margin-top:15px;
  padding:12px 14px;
  border:1px solid #e7d7ad;
  background:#fff8e6;
  border-radius:12px;
  color:#655329;
}
body:not(.login-page) .app:not(:has(.side)){
  max-width:1500px!important;
}
body:not(.login-page) .app:not(:has(.side)) .top{
  padding-bottom:13px;
  border-bottom:1px solid var(--vv42-line);
}
@media(max-width:1050px){
  .side{overflow:visible!important}
}
@media(max-width:760px){
  .login-points{grid-template-columns:1fr!important}
  .main{padding:18px 14px 90px!important}
}

/* VivaVesta Studio 4.2.1 – sjednocení jemných ploch */
body{letter-spacing:0}.vv42-page .btn{transition:transform .16s ease,box-shadow .16s ease}.vv42-page .btn:hover{transform:translateY(-1px)}


/* =========================================================
   VivaVesta Studio 4.2.2 – skutečné mobilní prostředí
   ========================================================= */
:root{
  --vv-mobile-bar-height:62px;
  --vv-mobile-bottom-height:72px;
}
.mobile-side-overlay{display:none}
.mobile-menu-toggle,.mobile-create-button,.mobile-bottom-menu{font:inherit}

@media(max-width:900px){
  html{scroll-padding-top:calc(var(--vv-mobile-bar-height) + 10px)}
  body:not(.login-page){
    padding-bottom:calc(var(--vv-mobile-bottom-height) + env(safe-area-inset-bottom,0px))!important;
  }
  body.vv-mobile-nav-open{overflow:hidden!important}
  body:not(.login-page) .app{
    display:block!important;
    min-height:100dvh!important;
  }

  body:not(.login-page) .side{
    position:fixed!important;
    z-index:1300!important;
    inset:0 auto 0 0!important;
    width:min(88vw,350px)!important;
    height:100dvh!important;
    max-height:none!important;
    padding:18px 14px calc(24px + env(safe-area-inset-bottom,0px))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    transform:translateX(-104%)!important;
    transition:transform .22s ease!important;
    box-shadow:22px 0 55px rgba(0,0,0,.32)!important;
  }
  body.vv-mobile-nav-open .side{transform:translateX(0)!important}
  body:not(.login-page) .side .brand{
    display:flex!important;
    margin-bottom:14px!important;
    padding:2px 5px 15px!important;
  }
  body:not(.login-page) .side .side-footer{
    display:grid!important;
    margin-top:18px!important;
  }
  body:not(.login-page) .side .nav,
  body:not(.login-page) .side .nav-accordion{
    display:grid!important;
    overflow:visible!important;
    padding:0!important;
    gap:8px!important;
  }
  body:not(.login-page) .side .nav a{
    min-width:0!important;
    white-space:normal!important;
    min-height:45px!important;
  }
  body:not(.login-page) .side .nav-section>summary{
    min-height:50px!important;
    padding:12px!important;
  }

  .mobile-side-overlay{
    display:block;
    position:fixed;
    inset:0;
    z-index:1250;
    background:rgba(4,6,9,.57);
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease;
    backdrop-filter:blur(2px);
  }
  body.vv-mobile-nav-open .mobile-side-overlay{
    opacity:1;
    pointer-events:auto;
  }

  body:not(.login-page) .mobile-brand{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    align-items:center!important;
    gap:9px!important;
    position:sticky!important;
    top:0!important;
    z-index:1100!important;
    min-height:var(--vv-mobile-bar-height)!important;
    margin:0 -14px 15px!important;
    padding:8px max(14px,env(safe-area-inset-left,14px))!important;
    border-bottom:1px solid rgba(0,0,0,.08)!important;
    background:rgba(247,246,243,.94)!important;
    box-shadow:0 8px 25px rgba(18,21,28,.08)!important;
    backdrop-filter:blur(16px)!important;
  }
  .mobile-menu-toggle,.mobile-create-button{
    width:44px;height:44px;padding:0;border:1px solid #ddd7cb;border-radius:13px;
    display:grid;place-items:center;background:#fff;color:#181b20;
    font-size:21px;font-weight:900;cursor:pointer;
  }
  .mobile-create-button{
    text-decoration:none!important;color:#17191d!important;
    background:var(--vv42-gold)!important;border-color:var(--vv42-gold)!important;
    font-size:25px!important;
  }
  .mobile-home{
    display:flex!important;align-items:center!important;justify-content:center!important;
    min-width:0!important;gap:9px!important;text-decoration:none!important;
    color:var(--vv42-ink)!important;
  }
  .mobile-home .mini-logo{
    width:36px!important;height:36px!important;flex:0 0 36px!important;
    border-radius:11px!important;font-size:19px!important;
  }
  .mobile-home-text{min-width:0}
  .mobile-home-text b{
    display:block;font:700 17px Georgia,serif;white-space:nowrap;
    overflow:hidden;text-overflow:ellipsis;
  }
  .mobile-home-text small{
    display:block;color:var(--vv42-muted);font-size:9px;font-weight:900;
    letter-spacing:.65px;text-transform:uppercase;
  }

  body:not(.login-page) .main{
    width:100%!important;max-width:none!important;
    padding:0 14px calc(var(--vv-mobile-bottom-height) + 24px)!important;
    overflow:hidden!important;
  }

  body:not(.login-page) .top{display:block!important;margin-bottom:15px!important}
  body:not(.login-page) .top h2{
    font-size:clamp(26px,8vw,34px)!important;line-height:1.08!important;margin-top:3px!important;
  }
  body:not(.login-page) .top .sub{font-size:13px!important;line-height:1.45!important}
  body:not(.login-page) .top .actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;width:100%!important;margin-top:14px!important;
  }
  body:not(.login-page) .top .actions>.btn,
  body:not(.login-page) .top .actions>form,
  body:not(.login-page) .top .actions>details{
    width:100%!important;min-width:0!important;
  }
  body:not(.login-page) .top .actions>.btn:first-child{grid-column:span 2}
  body:not(.login-page) .top .actions .btn{
    width:100%!important;min-height:46px!important;padding:10px 9px!important;
    font-size:13px!important;text-align:center!important;
  }
  .quick-more-menu{max-height:60dvh!important;overflow-y:auto!important}

  .btn,button,input,select,textarea{touch-action:manipulation}
  body:not(.login-page) .btn{min-height:44px}
  body:not(.login-page) input,
  body:not(.login-page) select,
  body:not(.login-page) textarea{
    max-width:100%!important;font-size:16px!important;
  }
  body:not(.login-page) input[type="checkbox"],
  body:not(.login-page) input[type="radio"]{font-size:initial!important}

  .admin-focus-cards,.role-focus-cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;
  }
  .admin-focus-cards .metric-card,.role-focus-cards .metric-card{
    min-height:124px!important;padding:14px!important;
  }
  .metric-card .metric-icon{width:34px!important;height:34px!important;margin-bottom:8px!important}
  .metric-card .metric{font-size:27px!important}
  .metric-card .muted{font-size:12px!important}
  .metric-card .metric-foot{font-size:10px!important;line-height:1.35!important}
  .dashboard-secondary-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
    margin:-4px 0 15px!important;
  }
  .dashboard-secondary-stats a{display:block!important;padding:10px 11px!important}
  .dashboard-secondary-stats b{font-size:17px!important}
  .dashboard-secondary-stats span{display:block!important;margin-top:2px!important}

  .attention-overview{
    padding:16px!important;border-radius:17px!important;margin-bottom:13px!important;
  }
  .attention-overview-head{display:block!important}
  .attention-overview-head h3{font-size:22px!important;line-height:1.15!important}
  .attention-overview-head .btn{width:100%!important;margin-top:12px!important}
  .attention-mini-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
    margin-top:13px!important;
  }
  .attention-mini-grid>a{display:block!important;padding:10px!important;min-width:0!important}
  .attention-symbol{width:32px!important;height:32px!important;margin-bottom:7px!important}
  .attention-mini-grid b{font-size:19px!important}
  .attention-mini-grid small{white-space:normal!important;line-height:1.25!important}

  .economy-mini{margin:14px 0!important}
  .economy-mini>summary{
    grid-template-columns:1fr auto!important;gap:10px!important;padding:14px!important;
  }
  .economy-mini>summary span b{font-size:17px!important}
  .economy-mini>summary strong{font-size:20px!important}
  .economy-mini>summary i{display:none!important}
  .economy-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .economy-mini-grid>div{padding:12px!important}
  .economy-mini-foot{display:block!important;padding:12px 14px!important}
  .economy-mini-foot .btn{width:100%!important;margin-top:9px!important}

  body:not(.login-page) .layout{grid-template-columns:1fr!important;gap:13px!important}
  body:not(.login-page) .cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;
  }
  body:not(.login-page) .filters,
  body:not(.login-page) .filter-row{
    display:grid!important;grid-template-columns:1fr!important;gap:8px!important;
  }
  body:not(.login-page) .filters>*,
  body:not(.login-page) .filter-row>*{
    width:100%!important;min-width:0!important;
  }
  body:not(.login-page) .toolbar{padding:12px!important}
  body:not(.login-page) .card{max-width:100%!important;min-width:0!important}
  body:not(.login-page) .product,
  body:not(.login-page) .item,
  body:not(.login-page) .member,
  body:not(.login-page) .row{max-width:100%!important;min-width:0!important}

  .table-wrap,.items-wrap,.invoice-items-scroll{
    max-width:100%!important;overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;overscroll-behavior-inline:contain!important;
    border-radius:12px!important;
  }
  .table-wrap::after{
    content:"Posuňte tabulku do strany";display:block;padding:7px 9px;
    color:var(--vv42-muted);background:#faf9f6;font-size:10px;text-align:center;
    border-top:1px solid var(--vv42-line);
  }

  .mobile-role-nav{
    display:flex!important;
    left:max(8px,env(safe-area-inset-left,8px))!important;
    right:max(8px,env(safe-area-inset-right,8px))!important;
    bottom:max(7px,env(safe-area-inset-bottom,7px))!important;
    min-height:62px!important;padding:6px!important;border-radius:17px!important;
  }
  .mobile-role-nav a,.mobile-role-nav button{
    flex:1!important;min-width:0!important;min-height:50px!important;padding:4px 2px!important;
    border:0!important;border-radius:11px!important;display:grid!important;place-items:center!important;
    align-content:center!important;gap:1px!important;background:transparent!important;
    color:#d6d9df!important;text-decoration:none!important;font-size:9px!important;
    font-weight:800!important;cursor:pointer!important;
  }
  .mobile-role-nav a span,.mobile-role-nav button span{
    display:block!important;color:#d6b86f!important;font-size:18px!important;line-height:1!important;
  }
  .mobile-role-nav a.active{color:#fff!important;background:#ffffff12!important}
}

@media(max-width:520px){
  body:not(.login-page) .cards{grid-template-columns:1fr!important}
  .admin-focus-cards,.role-focus-cards,.dashboard-secondary-stats,
  .attention-mini-grid,.economy-mini-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .admin-focus-cards .metric-card,.role-focus-cards .metric-card{min-height:118px!important}
  .attention-mini-grid>a{min-height:92px!important}
  .top .eyebrow{font-size:9px!important}
  .top h2{font-size:29px!important}
  .card{padding:14px!important;border-radius:14px!important}
  .invoice-paper-wrap{padding:4px!important}
}

@media(max-width:360px){
  .admin-focus-cards,.role-focus-cards,.dashboard-secondary-stats{
    grid-template-columns:1fr!important;
  }
}

@supports(padding:max(0px)){
  @media(max-width:900px){
    body:not(.login-page) .main{
      padding-left:max(14px,env(safe-area-inset-left))!important;
      padding-right:max(14px,env(safe-area-inset-right))!important;
    }
  }
}


/* ================================================================
   VivaVesta Studio 4.3 – profesionální dashboard PC + telefon
   Reálné rozhraní podle promo vizualizace
   ================================================================ */
:root{
  --vv43-black:#101318;
  --vv43-black-2:#171b22;
  --vv43-black-3:#222730;
  --vv43-gold:#cba754;
  --vv43-gold-light:#ead28f;
  --vv43-gold-soft:#f5ecd7;
  --vv43-cream:#f5f2ea;
  --vv43-white:#fff;
  --vv43-text:#16191f;
  --vv43-muted:#737a85;
  --vv43-line:#e2ddd2;
  --vv43-green:#1e7a4e;
  --vv43-red:#b43b38;
}

/* Levé menu blíže promo vizualizaci */
body:not(.login-page) .side{
  background:
    radial-gradient(circle at 20% 0%,rgba(203,167,84,.11),transparent 260px),
    linear-gradient(180deg,#0d0f13,#14171c 58%,#0b0d11)!important;
  border-right:1px solid rgba(255,255,255,.055)!important;
}
body:not(.login-page) .side .brand{
  border-bottom-color:rgba(203,167,84,.18)!important;
}
body:not(.login-page) .side .brand-mark,
.mobile-home .mini-logo{
  background:linear-gradient(145deg,#e1c477,#a77d2d)!important;
  box-shadow:0 11px 30px rgba(203,167,84,.18)!important;
}
body:not(.login-page) .nav-accordion{gap:4px!important}
body:not(.login-page) .nav-section{
  background:transparent!important;
  border:0!important;
  border-radius:10px!important;
}
body:not(.login-page) .nav-section>summary{
  min-height:43px!important;
  padding:10px 11px!important;
  border-radius:10px!important;
}
body:not(.login-page) .nav-section[open]>summary{
  background:rgba(203,167,84,.10)!important;
}
body:not(.login-page) .nav-section-links{
  padding:3px 4px 7px 13px!important;
}
body:not(.login-page) .nav-section-links a{
  border-left:2px solid transparent!important;
  border-radius:0 9px 9px 0!important;
  padding:8px 9px!important;
}
body:not(.login-page) .nav-section-links a.active{
  border-left-color:var(--vv43-gold)!important;
  background:rgba(203,167,84,.12)!important;
  color:#f2dda4!important;
}

/* Hlavní plocha */
body.vv43-dashboard-page{
  background:var(--vv43-cream)!important;
}
body.vv43-dashboard-page .main{
  background:
    radial-gradient(circle at 85% 0%,rgba(203,167,84,.08),transparent 420px),
    var(--vv43-cream)!important;
}
.vv43-dashboard{
  width:100%;
  display:grid;
  gap:15px;
}
.vv43-dashboard-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  padding:2px 0 4px;
}
.vv43-kicker{
  color:#9a742b;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.35px;
}
.vv43-title-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.vv43-title-row h2{
  margin:5px 0 4px;
  color:var(--vv43-text);
  font:700 clamp(32px,4vw,48px)/1.04 Georgia,serif;
  letter-spacing:-.8px;
}
.vv43-role-chip{
  padding:6px 9px;
  border:1px solid #dbc78f;
  border-radius:999px;
  background:var(--vv43-gold-soft);
  color:#795a1f;
  font-size:9px;
  font-weight:900;
  letter-spacing:.4px;
  text-transform:uppercase;
}
.vv43-dashboard-head p{
  margin:4px 0 0;
  color:var(--vv43-muted);
  font-size:14px;
}
.vv43-head-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  padding-top:2px;
}
.vv43-action{
  min-height:44px;
  padding:10px 13px;
  border:1px solid #ddd7cb;
  border-radius:11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:#fff;
  color:#17191e;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  box-shadow:0 8px 20px rgba(19,22,28,.045);
  transition:.18s ease;
}
.vv43-action:hover{
  transform:translateY(-1px);
  border-color:#c9a95e;
}
.vv43-action span{color:#a27928}
.vv43-action-gold{
  background:linear-gradient(145deg,#dbbc6a,#be923a);
  border-color:#c29a45;
  color:#161616;
}
.vv43-action-gold span{color:#161616}
.vv43-action-icon{width:44px;padding:0;font-size:21px}

/* Úzké centrum pozornosti */
.vv43-attention{
  min-width:0;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:17px;
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto auto;
  align-items:center;
  gap:16px;
  background:
    radial-gradient(circle at 90% 0%,rgba(203,167,84,.13),transparent 280px),
    linear-gradient(145deg,var(--vv43-black),var(--vv43-black-2));
  color:#fff;
  box-shadow:0 18px 45px rgba(14,17,21,.13);
}
.vv43-attention-copy{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
}
.vv43-attention-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:rgba(203,167,84,.15);
  color:var(--vv43-gold-light);
  font-size:19px;
  font-weight:900;
}
.vv43-attention.is-clear .vv43-attention-icon{
  background:#dff3e7;
  color:var(--vv43-green);
}
.vv43-attention-copy small{
  display:block;
  color:#d7bb70;
  font-size:8px;
  font-weight:900;
  letter-spacing:1px;
}
.vv43-attention-copy b{
  display:block;
  margin-top:2px;
  font:700 18px Georgia,serif;
}
.vv43-attention-copy p{
  margin:2px 0 0;
  color:#aeb4be;
  font-size:11px;
}
.vv43-attention-chips{
  display:flex;
  align-items:center;
  gap:7px;
}
.vv43-attention-chips a{
  min-width:75px;
  padding:7px 8px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;
  display:grid;
  grid-template-columns:auto auto;
  align-items:center;
  gap:1px 6px;
  background:rgba(255,255,255,.035);
  color:#fff;
  text-decoration:none;
}
.vv43-attention-chips span{
  grid-row:1/3;
  color:#d8bb70;
}
.vv43-attention-chips b{font-size:16px}
.vv43-attention-chips small{
  color:#969da8;
  font-size:8px;
  font-weight:800;
}
.vv43-attention-open{
  padding:10px 12px;
  border-radius:10px;
  background:var(--vv43-gold);
  color:#151515;
  text-decoration:none;
  white-space:nowrap;
  font-size:11px;
  font-weight:900;
}

/* Hlavní metriky jako skutečné dashboard karty */
.vv43-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.vv43-metric{
  min-width:0;
  min-height:145px;
  padding:16px;
  border:1px solid var(--vv43-line);
  border-radius:17px;
  display:flex;
  flex-direction:column;
  background:#fff;
  color:var(--vv43-text);
  text-decoration:none;
  box-shadow:0 12px 28px rgba(21,24,30,.055);
  overflow:hidden;
  transition:.18s ease;
}
.vv43-metric:hover{
  transform:translateY(-2px);
  border-color:#d7bd79;
  box-shadow:0 17px 36px rgba(21,24,30,.075);
}
.vv43-metric.warning{
  background:linear-gradient(145deg,#fff8f5,#fff);
  border-color:#edcec8;
}
.vv43-metric.money{
  background:linear-gradient(145deg,#fffaf0,#fff);
}
.vv43-metric-top{
  display:flex;
  align-items:center;
  gap:9px;
}
.vv43-metric-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:var(--vv43-gold-soft);
  color:#8b6827;
  font-size:14px;
  font-weight:900;
}
.vv43-metric.warning .vv43-metric-icon{
  background:#fde8e5;
  color:var(--vv43-red);
}
.vv43-metric-top small{
  color:var(--vv43-muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.35px;
  text-transform:uppercase;
}
.vv43-metric-value{
  margin-top:11px;
  font:700 clamp(28px,3vw,38px)/1 Georgia,serif;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.vv43-metric.money .vv43-metric-value{font-size:clamp(24px,2.4vw,33px)}
.vv43-metric-foot{
  margin-top:auto;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:7px;
}
.vv43-metric-foot span{
  color:var(--vv43-muted);
  font-size:10px;
}
.vv43-metric-foot svg{
  width:92px;
  height:30px;
  overflow:visible;
}
.vv43-metric-foot path{
  fill:none;
  stroke:var(--vv43-gold);
  stroke-width:2.2;
  stroke-linecap:round;
}

/* Reálný pracovní dashboard */
.vv43-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
  gap:12px;
}
.vv43-panel{
  min-width:0;
  border:1px solid var(--vv43-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(21,24,30,.048);
  overflow:hidden;
}
.vv43-panel-head{
  min-height:68px;
  padding:14px 16px;
  border-bottom:1px solid var(--vv43-line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.vv43-panel-head small{
  display:block;
  color:#a27b2d;
  font-size:8px;
  font-weight:900;
  letter-spacing:.85px;
}
.vv43-panel-head h3{
  margin:3px 0 0;
  font:700 20px Georgia,serif;
}
.vv43-panel-head>a{
  color:#8b6929;
  font-size:10px;
  font-weight:900;
}
.vv43-job-list,.vv43-task-list{display:grid}
.vv43-job-row{
  min-width:0;
  min-height:64px;
  padding:10px 15px;
  border-bottom:1px solid #ece8df;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  color:var(--vv43-text);
  text-decoration:none;
  transition:.16s ease;
}
.vv43-job-row:last-child{border-bottom:0}
.vv43-job-row:hover{background:#fbf9f4}
.vv43-job-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:var(--vv43-gold-soft);
  color:#8b6827;
  font-weight:900;
}
.vv43-job-main{min-width:0}
.vv43-job-main b,.vv43-task-row b{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:12px;
}
.vv43-job-main small,.vv43-task-row small{
  display:block;
  margin-top:3px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:var(--vv43-muted);
  font-size:10px;
}
.vv43-status{
  max-width:130px;
  padding:5px 8px;
  border-radius:999px;
  background:#f1eee7;
  color:#686e77;
  font-size:8px;
  font-weight:900;
  text-align:center;
}
.vv43-status.new,.vv43-status.waiting{background:#fff0d4;color:#8a651c}
.vv43-status.progress,.vv43-status.production{background:#e5edf9;color:#315b96}
.vv43-status.done,.vv43-status.paid{background:#e4f4e9;color:#207247}
.vv43-status.cancelled,.vv43-status.overdue{background:#fde7e5;color:#a83a36}
.vv43-empty{
  padding:28px 16px;
  color:var(--vv43-muted);
  text-align:center;
  font-size:11px;
}

/* Mini kalendář */
.vv43-calendar-panel{padding-bottom:13px}
.vv43-calendar-week,.vv43-calendar-grid{
  padding-left:14px;
  padding-right:14px;
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px;
}
.vv43-calendar-week{
  padding-top:13px;
  padding-bottom:5px;
}
.vv43-calendar-week span{
  color:#959ba5;
  text-align:center;
  font-size:8px;
  font-weight:900;
}
.vv43-calendar-grid>a,.vv43-calendar-grid>span{
  aspect-ratio:1;
  min-height:30px;
  border-radius:9px;
  display:grid;
  place-items:center;
  align-content:center;
  color:#363b43;
  text-decoration:none;
  font-size:10px;
  position:relative;
}
.vv43-calendar-grid>a:hover{background:#f5f1e8}
.vv43-calendar-grid>a.today{
  background:var(--vv43-gold);
  color:#151515;
  box-shadow:0 6px 15px rgba(203,167,84,.25);
}
.vv43-calendar-grid>a.has-event:not(.today){background:#f8f5ed}
.vv43-calendar-grid i{
  display:flex;
  gap:2px;
  margin-top:2px;
}
.vv43-calendar-grid em,.vv43-calendar-legend i{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#888;
}
.vv43-calendar-grid em.task,.vv43-calendar-legend i.task{background:#4d80c8}
.vv43-calendar-grid em.job,.vv43-calendar-legend i.job{background:#c49a43}
.vv43-calendar-grid em.invoice,.vv43-calendar-legend i.invoice{background:#c94c4c}
.vv43-calendar-legend{
  padding:10px 14px 0;
  display:flex;
  justify-content:center;
  gap:12px;
  color:#858b95;
  font-size:8px;
}
.vv43-calendar-legend span{display:flex;align-items:center;gap:4px}

/* Úkoly */
.vv43-task-row{
  min-width:0;
  min-height:58px;
  padding:10px 15px;
  border-bottom:1px solid #ece8df;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  color:var(--vv43-text);
  text-decoration:none;
}
.vv43-task-row:last-child{border-bottom:0}
.vv43-task-row:hover{background:#fbf9f4}
.vv43-task-row.overdue{background:#fff8f6}
.vv43-check{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border:1px solid #dfd9cc;
  border-radius:8px;
  color:#aa8234;
  font-size:11px;
  font-weight:900;
}
.vv43-task-row em{
  padding:4px 6px;
  border-radius:999px;
  background:#f2efe8;
  color:#707680;
  font-size:8px;
  font-style:normal;
  font-weight:900;
}

/* Rychlé akce */
.vv43-quick-grid{
  padding:14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.vv43-quick-grid a{
  min-height:93px;
  padding:10px 7px;
  border:1px solid #e4ded2;
  border-radius:13px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  background:#fbfaf7;
  color:var(--vv43-text);
  text-align:center;
  text-decoration:none;
  font-size:10px;
  transition:.17s ease;
}
.vv43-quick-grid a:hover{
  border-color:#d4b76f;
  background:#fffaf0;
  transform:translateY(-1px);
}
.vv43-quick-grid span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#dfc274,#b98c35);
  color:#161616;
  font-size:15px;
  font-weight:900;
}
.vv43-quick-grid b{font-size:10px}

/* Finance */
.vv43-finance-strip{
  min-width:0;
  padding:17px 18px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:17px;
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto auto;
  align-items:center;
  gap:20px;
  background:
    radial-gradient(circle at 85% 10%,rgba(203,167,84,.13),transparent 310px),
    linear-gradient(145deg,#14171d,#20242c);
  color:#fff;
}
.vv43-finance-strip>div>small{
  color:#d4b76d;
  font-size:8px;
  font-weight:900;
  letter-spacing:.9px;
}
.vv43-finance-strip h3{
  margin:4px 0 0;
  font:700 20px Georgia,serif;
}
.vv43-finance-values{
  display:flex;
  gap:8px;
}
.vv43-finance-values span{
  min-width:135px;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;
  background:rgba(255,255,255,.035);
}
.vv43-finance-values small{
  display:block;
  color:#9fa6b0;
  font-size:8px;
  font-weight:900;
}
.vv43-finance-values b{
  display:block;
  margin-top:3px;
  font-size:14px;
}
.vv43-finance-values .positive b{color:#8bd5aa}
.vv43-finance-values .negative b{color:#ef9e98}
.vv43-finance-strip>a{
  padding:9px 11px;
  border-radius:10px;
  background:var(--vv43-gold);
  color:#171717;
  text-decoration:none;
  white-space:nowrap;
  font-size:10px;
  font-weight:900;
}
.vv43-secondary-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.vv43-secondary-stats a{
  min-height:45px;
  padding:9px 12px;
  border:1px solid var(--vv43-line);
  border-radius:11px;
  display:flex;
  align-items:baseline;
  gap:7px;
  background:rgba(255,255,255,.7);
  color:var(--vv43-text);
  text-decoration:none;
}
.vv43-secondary-stats b{font-size:17px}
.vv43-secondary-stats span{color:var(--vv43-muted);font-size:9px}

/* Tablet */
@media(max-width:1180px){
  .vv43-dashboard-head{display:block}
  .vv43-head-actions{justify-content:flex-start;margin-top:14px}
  .vv43-attention{grid-template-columns:1fr auto}
  .vv43-attention-chips{grid-column:1/-1}
  .vv43-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vv43-workspace{grid-template-columns:1fr 1fr}
  .vv43-jobs-panel{grid-column:1/-1}
  .vv43-finance-strip{grid-template-columns:1fr auto}
  .vv43-finance-values{grid-column:1/-1}
}

/* Telefon – stejná grafika, jen přeuspořádaná pro prst */
@media(max-width:900px){
  body.vv43-dashboard-page .mobile-brand{
    background:rgba(16,19,24,.97)!important;
    border-bottom-color:rgba(255,255,255,.08)!important;
  }
  body.vv43-dashboard-page .mobile-home{color:#fff!important}
  body.vv43-dashboard-page .mobile-home-text small{color:#c8cdd5!important}
  body.vv43-dashboard-page .mobile-menu-toggle{
    background:#ffffff0b!important;
    border-color:#ffffff1c!important;
    color:#fff!important;
  }
  body.vv43-dashboard-page .mobile-create-button{
    background:linear-gradient(145deg,#dfc274,#b98c35)!important;
  }
  .vv43-dashboard{gap:11px}
  .vv43-dashboard-head{
    padding:0 1px 2px;
  }
  .vv43-kicker{font-size:8px}
  .vv43-title-row{gap:8px}
  .vv43-title-row h2{
    width:100%;
    margin-top:4px;
    font-size:30px;
  }
  .vv43-role-chip{font-size:8px}
  .vv43-dashboard-head p{
    margin-top:6px;
    font-size:12px;
    line-height:1.45;
  }
  .vv43-head-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    width:100%;
    margin-top:12px;
  }
  .vv43-action{
    min-width:0;
    min-height:45px;
    padding:9px 7px;
    font-size:11px;
  }
  .vv43-action:first-child{grid-column:1/-1}
  .vv43-action-icon{width:100%}

  .vv43-attention{
    padding:13px;
    grid-template-columns:1fr;
    gap:11px;
    border-radius:15px;
  }
  .vv43-attention-copy{align-items:flex-start}
  .vv43-attention-icon{
    width:36px;
    height:36px;
    flex-basis:36px;
    border-radius:11px;
  }
  .vv43-attention-copy b{
    font-size:16px;
    line-height:1.25;
  }
  .vv43-attention-copy p{
    font-size:10px;
    line-height:1.4;
  }
  .vv43-attention-chips{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .vv43-attention-chips a{
    min-width:0;
    min-height:46px;
  }
  .vv43-attention-open{
    width:100%;
    text-align:center;
  }

  .vv43-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .vv43-metric{
    min-height:132px;
    padding:13px;
    border-radius:15px;
  }
  .vv43-metric-icon{
    width:31px;
    height:31px;
    flex-basis:31px;
  }
  .vv43-metric-top small{font-size:8px}
  .vv43-metric-value{
    margin-top:10px;
    font-size:28px;
  }
  .vv43-metric.money .vv43-metric-value{font-size:21px}
  .vv43-metric-foot svg{width:65px;height:25px}
  .vv43-metric-foot span{font-size:8px}

  .vv43-workspace{
    grid-template-columns:1fr;
    gap:9px;
  }
  .vv43-jobs-panel{grid-column:auto}
  .vv43-panel{border-radius:15px}
  .vv43-panel-head{
    min-height:61px;
    padding:12px 13px;
  }
  .vv43-panel-head h3{font-size:18px}
  .vv43-job-row{
    min-height:62px;
    padding:9px 12px;
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:8px;
  }
  .vv43-job-icon{width:32px;height:32px}
  .vv43-job-main b,.vv43-task-row b{font-size:11px}
  .vv43-status{
    max-width:87px;
    padding:5px 6px;
    white-space:normal;
    line-height:1.15;
  }
  .vv43-calendar-week,.vv43-calendar-grid{
    padding-left:11px;
    padding-right:11px;
  }
  .vv43-calendar-grid>a,.vv43-calendar-grid>span{min-height:34px}
  .vv43-quick-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    padding:11px;
    gap:7px;
  }
  .vv43-quick-grid a{
    min-height:88px;
    padding:8px 4px;
  }
  .vv43-quick-grid span{width:35px;height:35px}
  .vv43-task-row{
    padding:9px 12px;
    grid-template-columns:26px minmax(0,1fr);
  }
  .vv43-task-row em{
    grid-column:2;
    justify-self:start;
  }
  .vv43-finance-strip{
    padding:14px;
    grid-template-columns:1fr;
    gap:11px;
    border-radius:15px;
  }
  .vv43-finance-values{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .vv43-finance-values span{min-width:0}
  .vv43-finance-values span:last-child{grid-column:1/-1}
  .vv43-finance-strip>a{
    width:100%;
    text-align:center;
  }
  .vv43-secondary-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .vv43-secondary-stats a{
    display:block;
    min-height:51px;
  }
  .vv43-secondary-stats span{
    display:block;
    margin-top:1px;
  }

  /* Mobilní spodní menu ve stejných barvách dashboardu */
  body.vv43-dashboard-page .mobile-role-nav{
    background:rgba(16,19,24,.97)!important;
    border-color:rgba(255,255,255,.10)!important;
  }
  body.vv43-dashboard-page .mobile-role-nav a span,
  body.vv43-dashboard-page .mobile-role-nav button span{
    color:var(--vv43-gold-light)!important;
  }
}

@media(max-width:420px){
  .vv43-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vv43-metric{min-height:125px;padding:11px}
  .vv43-metric-value{font-size:25px}
  .vv43-metric.money .vv43-metric-value{font-size:18px}
  .vv43-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:350px){
  .vv43-metrics{grid-template-columns:1fr}
  .vv43-secondary-stats{grid-template-columns:1fr}
}


/* ================================================================
   VivaVesta Studio 4.3.1 – oprava legendy mini kalendáře
   Třída "invoice" se používá také pro celý doklad a přidávala tečce
   velké odsazení. V mini kalendáři proto natvrdo vracíme velikost bodu.
   ================================================================ */
.vv43-calendar-grid em.invoice,
.vv43-calendar-legend i.invoice{
  display:inline-block!important;
  width:5px!important;
  height:5px!important;
  min-width:5px!important;
  min-height:5px!important;
  max-width:5px!important;
  max-height:5px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  box-shadow:none!important;
  background:#c94c4c!important;
  color:transparent!important;
  overflow:hidden!important;
  vertical-align:middle!important;
}


/* ================================================================
   VivaVesta Studio 4.3.2 – kompaktní levé menu
   Desktopová navigace bez velkých mezer. Mobil zůstává beze změny.
   ================================================================ */
@media(min-width:901px){
  body:not(.login-page) .app{
    grid-template-columns:238px minmax(0,1fr)!important;
  }

  body:not(.login-page) .side{
    padding:15px 11px 13px!important;
  }

  body:not(.login-page) .side .brand{
    min-height:54px!important;
    gap:9px!important;
    padding:0 5px 12px!important;
    margin-bottom:8px!important;
  }

  body:not(.login-page) .side .brand-mark{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    border-radius:11px!important;
    font-size:20px!important;
  }

  body:not(.login-page) .side .brand h1{
    font-size:21px!important;
    line-height:1.05!important;
  }

  body:not(.login-page) .side .brand p{
    margin-top:3px!important;
    font-size:9px!important;
    line-height:1.25!important;
    letter-spacing:1px!important;
  }

  /* Zásadní oprava: gridové řádky se už neroztahují do celé výšky panelu. */
  body:not(.login-page) .nav-accordion{
    flex:0 0 auto!important;
    align-content:start!important;
    grid-auto-rows:max-content!important;
    gap:4px!important;
    margin:0!important;
  }

  body:not(.login-page) .nav-section{
    min-height:0!important;
    height:auto!important;
    border-radius:9px!important;
  }

  body:not(.login-page) .nav-section>summary{
    min-height:38px!important;
    height:auto!important;
    padding:7px 8px!important;
    border-radius:9px!important;
    gap:7px!important;
    font-size:12px!important;
    line-height:1.25!important;
  }

  body:not(.login-page) .nav-section>summary span{
    min-width:0!important;
    gap:7px!important;
  }

  body:not(.login-page) .nav-section>summary i{
    width:18px!important;
    flex:0 0 18px!important;
    font-size:12px!important;
  }

  body:not(.login-page) .nav-section>summary>b{
    font-size:11px!important;
  }

  body:not(.login-page) .nav-section-links{
    gap:1px!important;
    padding:2px 4px 5px 9px!important;
  }

  body:not(.login-page) .nav-section-links a{
    min-height:32px!important;
    padding:6px 7px!important;
    gap:7px!important;
    border-radius:0 8px 8px 0!important;
    font-size:11px!important;
    line-height:1.25!important;
  }

  body:not(.login-page) .nav-section-links .nav-icon{
    width:17px!important;
    flex:0 0 17px!important;
    font-size:11px!important;
  }

  body:not(.login-page) .nav-badge{
    margin-left:auto!important;
    padding:2px 5px!important;
    font-size:8px!important;
  }

  body:not(.login-page) .side-footer{
    margin-top:12px!important;
    padding:10px 7px!important;
    gap:7px!important;
    border-radius:10px!important;
    font-size:10px!important;
  }

  body:not(.login-page) .side-footer .role-pill{
    margin-top:3px!important;
    padding:4px 7px!important;
    font-size:8px!important;
  }

  body:not(.login-page) .main{
    padding-left:clamp(18px,2.3vw,34px)!important;
    padding-right:clamp(18px,2.3vw,34px)!important;
  }
}

/* Na nižším notebooku je navigace ještě o trochu užší. */
@media(min-width:901px) and (max-width:1180px){
  body:not(.login-page) .app{
    grid-template-columns:220px minmax(0,1fr)!important;
  }

  body:not(.login-page) .side .brand h1{
    font-size:19px!important;
  }

  body:not(.login-page) .nav-section>summary{
    font-size:11px!important;
  }
}


/* VivaVesta Studio 4.5.4 – storno faktur */
.status.cancelled,
.vv43-status.cancelled{
  background:#ece8e1!important;
  color:#5f6268!important;
  border-color:#d6d0c6!important;
}
.invoice-card.is-cancelled{
  opacity:.78;
  background:
    repeating-linear-gradient(
      -45deg,
      #fff,
      #fff 14px,
      #faf8f4 14px,
      #faf8f4 28px
    )!important;
  border-color:#cfc8bd!important;
}
.invoice-cancel-banner{
  margin:0 0 16px;
  padding:15px 17px;
  border:1px solid #d4cec4;
  border-left:5px solid #777b82;
  border-radius:14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 20px;
  background:#f2f0ec;
  color:#30343a;
}
.invoice-cancel-banner div{
  display:grid;
  gap:3px;
}
.invoice-cancel-banner .wide{
  grid-column:1/-1;
}
.invoice-cancel-banner span,
.invoice-cancel-banner small{
  color:#6f747d;
  font-size:11px;
}
.invoice-cancelled-paper{
  margin:20px 0;
  padding:22px;
  border:3px solid #7c8087;
  border-radius:14px;
  display:grid;
  gap:6px;
  background:#f1efeb;
  color:#30343a;
  text-align:center;
}
.invoice-cancelled-paper b{
  font-size:24px;
  letter-spacing:1.2px;
}
.invoice-cancelled-paper span{
  color:#626770;
}
.draft-delete-panel{
  margin:18px 0 0;
  padding:15px;
  border:1px solid #ecd0cd;
  border-radius:13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  background:#fff5f4;
}
.draft-delete-panel div{
  display:grid;
  gap:3px;
}
.draft-delete-panel span{
  color:#7e6260;
  font-size:11px;
}
@media(max-width:700px){
  .invoice-cancel-banner{
    grid-template-columns:1fr;
  }
  .invoice-cancel-banner .wide{
    grid-column:auto;
  }
  .draft-delete-panel{
    align-items:stretch;
    flex-direction:column;
  }
  .draft-delete-panel .btn{
    width:100%;
  }
}
@media print{
  .invoice-cancelled-paper{
    border-color:#555!important;
    background:#eee!important;
  }
}


/* VivaVesta Studio 4.5.5 – číslo až při vystavení */
.invoice-draft-number-note{
  padding:10px 12px;
  border:1px solid #e4d4a5;
  border-radius:11px;
  background:#fff8e7;
  color:#6f5928;
  font-size:11px;
}
.status.draft{
  background:#f3efe6!important;
  color:#766a54!important;
}


/* ================================================================
   VivaVesta Studio 4.6.0 – Zakázka v telefonu
   ================================================================ */
.field-mode-button,.field-card-button{background:linear-gradient(135deg,#d6b968,#aa8128)!important;border-color:#b58d38!important;color:#15171c!important;font-weight:950!important}
.field-app{max-width:860px;margin:0 auto 90px;color:#17191e;scroll-behavior:smooth}
.field-appbar{position:sticky;top:0;z-index:25;margin:-20px -20px 14px;padding:13px 16px;display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;background:rgba(13,15,20,.96);backdrop-filter:blur(18px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.field-appbar small{display:block;color:#cbb16c;font-size:8px;font-weight:950;letter-spacing:1px}.field-appbar b{font-size:14px}.field-back{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-size:28px}.field-online{font-size:9px;color:#85dfa6;font-weight:900}.field-hero{padding:23px;border-radius:23px;background:radial-gradient(circle at 90% 0,rgba(211,177,92,.22),transparent 42%),linear-gradient(145deg,#11141a,#242a34);color:#fff;box-shadow:0 20px 55px rgba(10,12,18,.2)}.field-hero-top{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#c4c9d1;font-size:10px}.field-hero h1{margin:18px 0 6px;font:800 31px/1.05 Georgia,serif}.field-hero p{margin:0;color:#d4d7dc}.field-address{margin-top:15px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#ebdfbd}
.field-quick-actions{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:13px 0}.field-quick-actions>a,.field-quick-actions>span,.field-quick-actions form,.field-quick-actions button{min-width:0}.field-quick-actions>a,.field-quick-actions>span,.field-quick-actions button{height:78px;border:1px solid #e1dccf;border-radius:17px;background:#fff;color:#24272d;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font:inherit;cursor:pointer;box-shadow:0 8px 25px rgba(18,20,25,.055)}.field-quick-actions button{width:100%}.field-quick-actions span span,.field-quick-actions a span,.field-quick-actions button span{font-size:20px;color:#af8731}.field-quick-actions b{font-size:10px}.field-quick-actions .disabled{opacity:.45}.field-quick-actions .running{background:#fff7e1;border-color:#d9bc70}.field-quick-actions .running span{animation:fieldPulse 1.4s infinite}@keyframes fieldPulse{50%{transform:scale(1.18);opacity:.55}}
.field-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:13px}.field-kpis>div{padding:14px;border:1px solid #e5e0d6;border-radius:16px;background:#fff}.field-kpis small{display:block;color:#8a8e96;font-size:8px;text-transform:uppercase;font-weight:950;letter-spacing:.6px}.field-kpis strong{display:block;margin-top:6px;font-size:18px}
.field-section{margin:13px 0;padding:19px;border:1px solid #e5e0d6;border-radius:21px;background:#fff;box-shadow:0 12px 38px rgba(15,18,24,.055);scroll-margin-top:75px}.field-section-head{display:flex;justify-content:space-between;gap:13px;align-items:flex-start;margin-bottom:15px}.field-section-head small{color:#a27d2e;font-size:8px;font-weight:950;letter-spacing:1px}.field-section-head h2{margin:3px 0 0;font:800 23px Georgia,serif}.field-section-head>strong{font-size:13px;color:#6f747d}.field-timer{padding:8px 11px;border-radius:10px;background:#191c22;color:#f3d98d;font:900 15px ui-monospace,SFMono-Regular,Menlo,monospace}
.field-running-card,.field-start-panel{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px;border-radius:15px;background:#fff6dd;border:1px solid #e4c778}.field-running-card{display:grid}.field-running-card span,.field-start-panel span{color:#726650;font-size:10px}.field-start-panel>div{display:grid;gap:3px}.field-form{display:grid;gap:11px;margin-top:13px}.field-form.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-form label{display:grid;gap:6px}.field-form label>span{font-size:9px;font-weight:950;text-transform:uppercase;color:#777c84}.field-form .wide{grid-column:1/-1}.field-form textarea{min-height:86px}.field-history{display:grid;gap:8px;margin-top:14px}.field-history>div{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;padding:10px 12px;border-radius:12px;background:#f7f6f2}.field-history span{font-size:11px}.field-history b{font-size:10px}.field-history small{font-size:9px;color:#777c84}
.field-progress{height:8px;border-radius:999px;background:#ebe8e1;overflow:hidden;margin-bottom:13px}.field-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#b58b30,#e2c87b)}.field-empty-action{padding:15px;border:1px dashed #d5c79f;border-radius:14px;background:#fffaf0;text-align:center}.field-empty-action p{margin:0 0 11px;color:#6f6756;font-size:11px}.field-checklist{display:grid;gap:8px}.field-checklist>div{display:grid;grid-template-columns:38px 1fr 28px;gap:8px;align-items:center;padding:10px;border:1px solid #e7e2d9;border-radius:13px}.field-checklist>div.done{background:#f0faf3;border-color:#c9e8d2}.field-checklist label{display:grid;gap:2px}.field-checklist label b{font-size:12px}.field-checklist label small{font-size:9px;color:#4b805b}.field-check-button{width:34px;height:34px;border:0;border-radius:11px;background:#f1eee7;color:#a37d2e;font-size:18px;font-weight:950;cursor:pointer}.done .field-check-button{background:#d8f2df;color:#19703a}.field-icon-delete{border:0;background:transparent;color:#aa6d69;font-size:18px;cursor:pointer}.field-inline-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:11px}
.field-camera{display:flex;min-height:125px;border:2px dashed #d9c383;border-radius:17px;background:#fffaf0;align-items:center;justify-content:center;flex-direction:column;text-align:center;cursor:pointer;padding:18px}.field-camera input{position:absolute;opacity:0;pointer-events:none}.field-camera>span{width:42px;height:42px;border-radius:14px;background:#1c2027;color:#e2c67c;display:grid;place-items:center;font-size:24px}.field-camera b{margin-top:8px}.field-camera small{color:#837b6d;font-size:9px;margin-top:4px}.field-photo-group{margin-top:19px}.field-photo-group h3{font-size:14px}.field-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.field-photo-grid article{overflow:hidden;border:1px solid #e5e0d6;border-radius:14px;background:#faf9f6}.field-photo-grid img{display:block;width:100%;height:155px;object-fit:cover;background:#15171b}.field-photo-grid article>div{padding:10px;display:grid;gap:3px}.field-photo-grid b{font-size:10px}.field-photo-grid small{font-size:8px;color:#777c84}.field-photo-grid form button{border:0;background:transparent;color:#a33;font-size:9px;padding:4px 0;cursor:pointer;text-align:left}
.field-material-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:13px}.field-material-totals>div{padding:12px;border-radius:13px;background:#f7f6f2}.field-material-totals small{display:block;font-size:8px;color:#797e86;text-transform:uppercase;font-weight:900}.field-material-totals b{display:block;margin-top:5px}.field-material-list{display:grid;gap:8px}.field-material-list>div{display:grid;grid-template-columns:1fr auto 26px;gap:10px;align-items:center;padding:11px;border-bottom:1px solid #ece8e0}.field-material-list span{display:grid;gap:3px}.field-material-list span:nth-child(2){text-align:right}.field-material-list small{font-size:9px;color:#777c84}.field-material-list form button{border:0;background:#f9ecea;color:#a43b34;width:25px;height:25px;border-radius:8px;cursor:pointer}.field-add-details{margin-top:13px;border:1px solid #e4ded2;border-radius:13px;padding:11px}.field-add-details summary{cursor:pointer;color:#8c6a24;font-size:11px;font-weight:950}.field-add-details[open] summary{margin-bottom:11px}
.field-note-card{padding:13px;border-radius:14px;background:#f7f6f2;margin:8px 0}.field-note-card.internal{background:#fff7e7;border:1px solid #ead49c}.field-note-card small{font-size:8px;font-weight:950;color:#9a762a;text-transform:uppercase}.field-note-card p{margin:7px 0 0;white-space:normal;font-size:12px;line-height:1.55}.field-team{display:flex;flex-wrap:wrap;gap:9px}.field-team>span{display:grid;grid-template-columns:36px auto;column-gap:8px;align-items:center;padding:8px 11px;border-radius:14px;background:#f7f6f2}.field-team i{grid-row:span 2;width:34px;height:34px;border-radius:50%;background:#1d2026;color:#e5ca80;display:grid;place-items:center;font-style:normal;font-weight:950}.field-team b{font-size:11px}.field-team small{font-size:8px;color:#777c84}.field-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:11px}.field-user-grid label{display:flex;gap:9px;align-items:center;padding:10px;border:1px solid #e4dfd5;border-radius:12px}.field-user-grid input{width:auto}.field-user-grid span{display:grid}.field-user-grid b{font-size:11px}.field-user-grid small{font-size:8px;color:#777c84}.field-empty{padding:20px;text-align:center;color:#858a92;font-size:11px}
.field-finish{margin:14px 0;padding:18px;border-radius:19px;background:linear-gradient(145deg,#14251a,#24432e);color:#fff;text-align:center;display:grid;gap:7px}.field-finish button{border:0;border-radius:13px;padding:14px;background:#9de0b0;color:#12311d;font-weight:950;font-size:14px;cursor:pointer}.field-finish span{font-size:9px;color:#b9d7c2}.field-bottom-nav{position:fixed;z-index:40;left:50%;bottom:9px;transform:translateX(-50%);width:min(560px,calc(100% - 18px));display:grid;grid-template-columns:repeat(4,1fr);padding:7px;border-radius:20px;background:rgba(16,18,23,.96);backdrop-filter:blur(18px);box-shadow:0 18px 50px rgba(0,0,0,.28)}.field-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:#ddd;font-size:8px;font-weight:850;padding:7px}.field-bottom-nav span{font-size:17px;color:#d8ba68}
@media(max-width:760px){body:has(.field-app) .content{padding:0 12px 80px!important}body:has(.field-app) .topbar{display:none!important}.field-appbar{margin:0 -12px 12px;padding-top:max(12px,env(safe-area-inset-top))}.field-hero{padding:20px}.field-hero h1{font-size:27px}.field-quick-actions{grid-template-columns:repeat(3,1fr)}.field-kpis{grid-template-columns:repeat(2,1fr)}.field-section{padding:16px;border-radius:18px}.field-form.two{grid-template-columns:1fr}.field-form .wide{grid-column:auto}.field-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-photo-grid img{height:135px}.field-material-totals{grid-template-columns:1fr}.field-history>div{grid-template-columns:1fr auto}.field-history small{grid-column:1/-1}.field-user-grid{grid-template-columns:1fr}}
@media(max-width:420px){.field-photo-grid{grid-template-columns:1fr}.field-photo-grid img{height:210px}.field-quick-actions>a,.field-quick-actions>span,.field-quick-actions button{height:72px}.field-section-head h2{font-size:21px}}


/* =========================================================
   VivaVesta Studio 4.6.1 – doladění mobilní zakázky
   ========================================================= */
.field-app{
  padding-bottom:calc(108px + env(safe-area-inset-bottom,0px));
  margin-bottom:0;
}
.field-lock-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin:0 0 13px;
  padding:16px;
  border:1px solid #e7b9b3;
  border-left:5px solid #a53b32;
  border-radius:17px;
  background:#fff1ef;
  color:#4f2420;
  box-shadow:0 10px 30px rgba(89,30,25,.07);
}
.field-lock-banner>div{display:grid;gap:4px}
.field-lock-banner small{
  color:#a33f36;
  font-size:8px;
  font-weight:950;
  letter-spacing:1px;
}
.field-lock-banner b{font-size:13px}
.field-lock-banner span{
  color:#7d5c58;
  font-size:10px;
  line-height:1.45;
}
.field-app.is-locked .field-hero{
  filter:saturate(.72);
}
.field-mode-pill{
  display:inline-flex;
  margin-top:12px;
  padding:5px 9px;
  border:1px solid rgba(228,201,132,.25);
  border-radius:999px;
  background:rgba(199,165,90,.13);
  color:#e8d39b;
  font-size:9px;
  font-weight:900;
  letter-spacing:.35px;
}
.field-quick-actions .workshop{
  background:#f8f5ed;
  border-color:#dfd2ae;
}
.field-quick-actions .needs-address{
  background:#fff7df;
  border-color:#ddbe6b;
}
.field-toast{
  position:fixed!important;
  z-index:2200!important;
  top:max(76px,calc(env(safe-area-inset-top,0px) + 68px))!important;
  left:50%!important;
  width:min(560px,calc(100% - 24px))!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  padding:13px 15px!important;
  border-radius:14px!important;
  box-shadow:0 18px 55px rgba(0,0,0,.22)!important;
  opacity:1!important;
  transition:opacity .25s ease,transform .25s ease!important;
}
.field-toast-hide{
  opacity:0!important;
  transform:translate(-50%,-12px)!important;
  pointer-events:none!important;
}
.field-bottom-nav{
  z-index:1500!important;
  bottom:max(8px,env(safe-area-inset-bottom,8px))!important;
}
@media(max-width:900px){
  body:has(.field-app) .mobile-role-nav{
    display:none!important;
  }
  body:has(.field-app){
    padding-bottom:0!important;
  }
  body:has(.field-app) .main{
    padding-bottom:0!important;
  }
}
@media(max-width:760px){
  body:has(.field-app) .content{
    padding-bottom:0!important;
  }
  .field-lock-banner{
    align-items:stretch;
    flex-direction:column;
  }
  .field-lock-banner .btn{
    width:100%;
  }
}


/* VivaVesta Studio 4.7.0 – předávací protokol a podpis */
.handover-detail-button{
  background:#fff8e7!important;
  border-color:#dcc27f!important;
  color:#74561c!important;
}
.handover-page{
  width:min(920px,100%);
  margin:0 auto;
  padding:0 0 110px;
}
.handover-appbar{
  display:flex;
  align-items:center;
  gap:13px;
  padding:13px 15px;
  border-radius:16px;
  background:#0d1015;
  color:#fff;
  box-shadow:0 16px 36px rgba(10,12,17,.18);
}
.handover-appbar>a{
  width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:12px;
  background:#20242c;
  color:#fff;
  text-decoration:none;
  font-size:27px;
}
.handover-appbar>div{display:grid;line-height:1.15}
.handover-appbar small{
  color:#d4b96f;
  font-size:9px;
  letter-spacing:1.4px;
  font-weight:900;
}
.handover-appbar b{margin-top:3px}
.handover-appbar>span{
  margin-left:auto;
  padding:7px 10px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
}
.handover-appbar>span.signed{
  color:#bdf3cf;
  background:#153b27;
}
.handover-appbar>span.draft{
  color:#f6df9e;
  background:#3c321a;
}
.handover-hero{
  margin:15px 0;
  padding:22px;
  border-radius:20px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(211,178,102,.22),transparent 34%),
    linear-gradient(145deg,#15181e,#252a32);
  box-shadow:0 20px 45px rgba(14,16,21,.16);
}
.handover-hero h1{
  margin:12px 0 4px;
  font:700 clamp(25px,4vw,38px) Georgia,serif;
}
.handover-hero p{margin:0;color:#c6cad2}
.handover-hero-number{
  min-width:180px;
  padding:14px;
  border:1px solid rgba(218,190,126,.28);
  border-radius:14px;
  background:rgba(255,255,255,.06);
}
.handover-hero-number small{
  display:block;
  color:#d8bc78;
  font-size:9px;
  font-weight:900;
  letter-spacing:1px;
}
.handover-hero-number b{
  display:block;
  margin-top:5px;
  word-break:break-word;
}
.handover-warning{
  margin:0 0 14px;
  padding:13px 15px;
  border-radius:12px;
  font-weight:800;
}
.handover-warning.danger{
  color:#8b1f1f;
  border:1px solid #fecaca;
  background:#fee2e2;
}
.handover-readiness{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.handover-readiness>div{
  min-width:0;
  padding:13px;
  border:1px solid var(--line);
  border-radius:14px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:2px 8px;
  background:#fff;
}
.handover-readiness span{
  grid-row:1/3;
  width:28px;height:28px;
  display:grid;place-items:center;
  border-radius:9px;
  font-weight:900;
}
.handover-readiness b{font-size:12px}
.handover-readiness small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--muted);
  font-size:10px;
  white-space:nowrap;
}
.handover-readiness .good span{
  color:#12653c;background:#dff7e9
}
.handover-readiness .warn span{
  color:#8a5b08;background:#fff2c9
}
.handover-readiness .bad span{
  color:#991b1b;background:#fee2e2
}
.handover-form{display:grid;gap:14px}
.handover-card,
.handover-signed-card{
  padding:19px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
}
.handover-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:15px;
}
.handover-card-head small{
  color:#9b7933;
  font-size:9px;
  letter-spacing:1.2px;
  font-weight:900;
}
.handover-card-head h2{
  margin:3px 0 0;
  font:700 22px Georgia,serif;
}
.handover-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.handover-type-grid label{cursor:pointer}
.handover-type-grid input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.handover-type-grid span{
  min-height:105px;
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:15px;
  border:1px solid #e2ded5;
  border-radius:14px;
  background:#faf9f6;
}
.handover-type-grid b{font-size:13px}
.handover-type-grid small{
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.handover-type-grid input:checked+span{
  border-color:#b99242;
  background:#fff8e7;
  box-shadow:0 0 0 3px rgba(199,165,90,.13);
}
.handover-fields{
  display:grid;
  gap:13px;
}
.handover-fields.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.handover-fields .wide{grid-column:1/-1}
.handover-fields label>span{
  display:block;
  margin-bottom:6px;
  color:#777b84;
  font-size:10px;
  letter-spacing:.6px;
  text-transform:uppercase;
  font-weight:900;
}
.handover-fields input,
.handover-fields textarea{
  width:100%;
  padding:12px 13px;
  border:1px solid #ddd9cf;
  border-radius:10px;
  font:inherit;
  background:#fff;
}
.handover-fields textarea{
  min-height:105px;
  resize:vertical;
}
.signature-pad{
  overflow:hidden;
  border:2px dashed #d9d2c3;
  border-radius:15px;
  background:#fff;
}
.signature-pad canvas{
  display:block;
  width:100%;
  height:190px;
  touch-action:none;
  cursor:crosshair;
}
.signature-pad>span{
  display:block;
  padding:9px 12px;
  border-top:1px solid #eee9df;
  color:#8a8e96;
  background:#faf9f6;
  font-size:10px;
  text-align:center;
}
#customerSignatureCard.not-required{
  opacity:.64;
}
#customerSignatureCard.not-required .signature-pad>span:after{
  content:" Podle zvoleného způsobu předání není povinný.";
}
.handover-confirm{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px;
  border:1px solid #dbc47f;
  border-radius:14px;
  background:#fff9e9;
  cursor:pointer;
}
.handover-confirm.secondary{
  margin-top:10px;
  border-color:#dbe1e8;
  background:#f7f9fb;
}
.handover-confirm input{
  width:21px;height:21px;
  margin-top:2px;
}
.handover-confirm span{display:grid;gap:3px}
.handover-confirm b{font-size:13px}
.handover-confirm small{
  color:#6d727b;
  font-size:11px;
  line-height:1.45;
}
.handover-submit{
  width:100%;
  padding:17px 20px;
  border:0;
  border-radius:16px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:1px 11px;
  align-items:center;
  color:#151515;
  background:linear-gradient(145deg,#e2c77f,#b98c38);
  box-shadow:0 18px 36px rgba(156,112,39,.24);
  cursor:pointer;
  text-align:left;
}
.handover-submit>span{
  grid-row:1/3;
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:12px;
  color:#fff;
  background:#181b20;
  font-size:19px;
}
.handover-submit b{font-size:16px}
.handover-submit small{font-size:10px}
.handover-submit:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.handover-signed-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.handover-signed-head small{
  color:#16794a;
  font-size:9px;
  letter-spacing:1.1px;
  font-weight:900;
}
.handover-signed-head h2{
  margin:4px 0 3px;
  font:700 28px Georgia,serif;
}
.handover-signed-head p{
  margin:0;color:var(--muted);font-size:11px
}
.handover-signed-head>span{
  width:52px;height:52px;
  display:grid;place-items:center;
  border-radius:16px;
  color:#fff;background:#16794a;
  font-size:25px;
}
.handover-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:16px 0;
}
.handover-summary-grid>div{
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#faf9f6;
}
.handover-summary-grid small,
.handover-text-block small,
.handover-signature-result small{
  display:block;
  color:#888c94;
  font-size:9px;
  letter-spacing:.7px;
  text-transform:uppercase;
  font-weight:900;
}
.handover-summary-grid b{display:block;margin-top:4px}
.handover-text-block{
  margin-top:11px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}
.handover-text-block.warning{
  background:#fff8e7;
  border-color:#ead39a;
}
.handover-text-block p{margin:7px 0 0}
.handover-signature-result{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.handover-signature-result>div{
  min-height:145px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:13px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.handover-signature-result img{
  width:100%;
  max-height:105px;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.handover-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:16px;
}
.handover-new-version{
  margin-top:15px;
  padding-top:15px;
  border-top:1px solid var(--line);
}

/* Tiskový protokol */
.handover-print-toolbar{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-bottom:14px;
}
.handover-print-document{
  width:210mm;
  min-height:297mm;
  max-width:100%;
  margin:0 auto;
  padding:16mm;
  color:#16181c;
  background:#fff;
  border:1px solid #ddd;
  box-shadow:0 20px 50px rgba(0,0,0,.09);
}
.handover-print-document>header{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-bottom:15px;
  border-bottom:2px solid #1d2025;
}
.handover-print-document h1{
  margin:0;
  font:700 27px Georgia,serif;
}
.handover-print-document header h2{
  margin:3px 0;
  font-size:20px;
}
.handover-print-document header p{
  margin:3px 0;color:#646971;font-size:11px
}
.handover-print-document header small{
  color:#98722d;
  font-size:9px;
  letter-spacing:1px;
  font-weight:900;
}
.handover-print-facts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:15px 0;
}
.handover-print-facts>div,
.handover-print-stats>div{
  padding:10px;
  border:1px solid #ddd;
  border-radius:8px;
}
.handover-print-facts small,
.handover-print-stats small{
  display:block;
  color:#72767d;
  font-size:8px;
  letter-spacing:.5px;
  text-transform:uppercase;
  font-weight:900;
}
.handover-print-facts b,
.handover-print-stats b{
  display:block;
  margin-top:3px;
  font-size:11px;
}
.handover-print-section{
  margin-top:15px;
  break-inside:avoid;
}
.handover-print-section h3{
  margin:0 0 7px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.handover-print-section p{
  margin:0;
  font-size:11px;
  line-height:1.55;
}
.handover-print-section.two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
}
.handover-print-section.two>div{
  padding:11px;
  border:1px solid #ddd;
  border-radius:9px;
}
.handover-print-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
}
.handover-print-document table{
  width:100%;
  border-collapse:collapse;
  font-size:10px;
}
.handover-print-document th,
.handover-print-document td{
  padding:7px;
  border-bottom:1px solid #ddd;
  text-align:left;
}
.handover-print-photos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
}
.handover-print-photos figure{
  margin:0;
  break-inside:avoid;
}
.handover-print-photos img{
  display:block;
  width:100%;
  height:105px;
  object-fit:cover;
  border-radius:7px;
  border:1px solid #ddd;
}
.handover-print-photos figcaption{
  margin-top:4px;
  color:#62676f;
  font-size:8px;
}
.handover-print-confirmation{
  margin-top:17px;
  padding:11px;
  border:1px solid #bfa05a;
  border-radius:8px;
  background:#fff9e9;
  font-size:10px;
  font-weight:700;
}
.handover-print-signatures{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:22px;
  break-inside:avoid;
}
.handover-print-signatures>div{
  min-height:125px;
  padding:10px;
  border-bottom:1px solid #555;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.handover-print-signatures small{
  color:#777;
  font-size:8px;
  text-transform:uppercase;
}
.handover-print-signatures img{
  width:100%;
  height:75px;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.handover-print-signatures b{
  display:block;
  margin-top:5px;
  font-size:10px;
}
.handover-print-document footer{
  margin-top:17px;
  padding-top:8px;
  border-top:1px solid #ddd;
  color:#777;
  font-size:7px;
  word-break:break-all;
}
.field-handover-start{
  text-decoration:none;
}
.field-bottom-nav{
  grid-template-columns:repeat(5,1fr)!important;
}
.field-bottom-nav a{
  min-width:0;
  font-size:9px!important;
}

@media(max-width:760px){
  .handover-page{
    width:100%;
    padding-bottom:105px;
  }
  .handover-hero{
    flex-direction:column;
    padding:18px;
  }
  .handover-hero-number{
    min-width:0;
    width:100%;
  }
  .handover-readiness{
    grid-template-columns:1fr 1fr;
  }
  .handover-type-grid{
    grid-template-columns:1fr;
  }
  .handover-type-grid span{
    min-height:0;
  }
  .handover-fields.two,
  .handover-summary-grid,
  .handover-signature-result{
    grid-template-columns:1fr;
  }
  .handover-card,
  .handover-signed-card{
    padding:14px;
  }
  .handover-card-head h2{
    font-size:19px;
  }
  .signature-pad canvas{
    height:190px;
  }
  .handover-actions>*{
    width:100%;
  }
  .handover-print-document{
    width:100%;
    min-height:0;
    padding:18px 14px;
  }
  .handover-print-document>header,
  .handover-print-section.two{
    grid-template-columns:1fr;
    display:grid;
  }
  .handover-print-facts{
    grid-template-columns:1fr 1fr;
  }
  .handover-print-stats{
    grid-template-columns:1fr 1fr;
  }
  .handover-print-photos{
    grid-template-columns:1fr 1fr;
  }
}

@media print{
  body{
    background:#fff!important;
  }
  .side,.mobile-brand,.mobile-bottom-nav,
  .handover-print-toolbar,.no-print{
    display:none!important;
  }
  .app{
    display:block!important;
  }
  .main{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  .handover-print-document{
    width:100%!important;
    min-height:auto!important;
    margin:0!important;
    padding:10mm!important;
    border:0!important;
    box-shadow:none!important;
  }
  @page{
    size:A4;
    margin:8mm;
  }
}


/* VivaVesta Studio 4.7.1 – gravírování, jednoduchý mobil a nápověda */
.vv-context-guide{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:14px;
  margin:0 0 18px;
}
.vv-context-guide-main,
.vv-context-progress{
  padding:19px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
}
.vv-context-guide-main{
  color:#fff;
  background:
    radial-gradient(circle at 95% 0,rgba(218,187,112,.23),transparent 38%),
    linear-gradient(145deg,#15181e,#292e37);
}
.vv-guide-kicker{
  color:#e0c47f;
  font-size:9px;
  letter-spacing:1.2px;
  font-weight:950;
}
.vv-context-guide-main h3{
  margin:7px 0 6px;
  font:700 24px Georgia,serif;
}
.vv-context-guide-main p{
  margin:0 0 14px;
  color:#cdd1d8;
  font-size:12px;
}
.vv-context-progress-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.vv-context-progress-head span{
  color:#96722d;
  font-weight:950;
}
.vv-guide-progress{
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#ebe8e0;
}
.vv-guide-progress i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#c6a050,#e1ca8d);
}
.vv-guide-steps{
  display:grid;
  gap:7px;
  margin-top:13px;
}
.vv-guide-steps>div{
  display:grid;
  grid-template-columns:29px minmax(0,1fr);
  gap:9px;
  align-items:center;
  padding:8px 9px;
  border:1px solid #ebe7de;
  border-radius:11px;
  background:#faf9f6;
}
.vv-guide-steps>div>span{
  width:27px;height:27px;
  display:grid;place-items:center;
  border-radius:9px;
  color:#7d828b;
  background:#e9e7e1;
  font-size:11px;
  font-weight:950;
}
.vv-guide-steps>div.done>span{
  color:#fff;
  background:#18784a;
}
.vv-guide-steps p{margin:0;display:grid}
.vv-guide-steps b{font-size:11px}
.vv-guide-steps small{color:#777c85;font-size:9px}
.vv-list-help{
  margin:0 0 17px;
  border:1px solid #dfd4b9;
  border-radius:17px;
  background:#fffaf0;
  box-shadow:var(--shadow);
}
.vv-list-help>summary{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:14px 16px;
  cursor:pointer;
  list-style:none;
}
.vv-list-help>summary::-webkit-details-marker{display:none}
.vv-list-help>summary>span{
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:12px;
  color:#151515;
  background:linear-gradient(145deg,#e0c37d,#b88b38);
  font-weight:950;
}
.vv-list-help>summary>div{display:grid}
.vv-list-help>summary small{color:#777c84;font-size:10px}
.vv-list-help>summary i{
  color:#97722b;
  font-size:10px;
  font-style:normal;
  font-weight:900;
}
.vv-list-help-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  padding:0 14px 14px;
}
.vv-list-help-grid>div{
  min-width:0;
  padding:12px;
  border:1px solid #e8dfca;
  border-radius:12px;
  display:grid;
  gap:4px;
  background:#fff;
}
.vv-list-help-grid span{
  width:25px;height:25px;
  display:grid;place-items:center;
  border-radius:8px;
  color:#fff;background:#242830;
  font-size:10px;font-weight:950;
}
.vv-list-help-grid b{font-size:11px}
.vv-list-help-grid small{color:#777c84;font-size:9px;line-height:1.4}
.vv-help-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:24px;
  border-radius:21px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 0,rgba(216,185,110,.25),transparent 36%),
    linear-gradient(145deg,#12151a,#292f38);
  box-shadow:0 22px 55px rgba(12,15,20,.18);
}
.vv-help-hero small{
  color:#dfc47f;font-size:9px;letter-spacing:1.1px;font-weight:950
}
.vv-help-hero h3{
  margin:6px 0;
  font:700 30px Georgia,serif;
}
.vv-help-hero p{margin:0;color:#cbd0d8;max-width:690px}
.vv-help-flow{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.vv-help-flow span{
  padding:8px 10px;
  border:1px solid rgba(224,196,127,.32);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  font-size:10px;
  font-weight:900;
}
.vv-help-flow i{color:#d8ba72;font-style:normal}
.vv-help-sections{
  display:grid;
  gap:14px;
  margin-top:17px;
}
.vv-help-card{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:16px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
  scroll-margin-top:20px;
}
.vv-help-card-number{
  width:54px;height:54px;
  display:grid;place-items:center;
  border-radius:16px;
  color:#17191d;
  background:linear-gradient(145deg,#e2c983,#b88b38);
  font:700 23px Georgia,serif;
}
.vv-help-card small{
  color:#99742c;font-size:9px;letter-spacing:1px;font-weight:950
}
.vv-help-card h3{margin:3px 0 10px;font:700 22px Georgia,serif}
.vv-help-card ol{margin:0 0 14px;padding-left:20px}
.vv-help-card li{margin:6px 0;color:#555b64;font-size:13px}
.field-next-step{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 13px;
  padding:17px 18px;
  border:1px solid #ddc98f;
  border-radius:18px;
  background:linear-gradient(145deg,#fff9e8,#fff);
  box-shadow:0 12px 34px rgba(145,104,34,.08);
}
.field-next-step small{
  color:#99742c;font-size:8px;letter-spacing:1px;font-weight:950
}
.field-next-step h2{margin:4px 0 3px;font:800 21px Georgia,serif}
.field-next-step p{margin:0;color:#6d727b;font-size:11px}
.mode-workshop .field-hero{
  background:
    radial-gradient(circle at 90% 0,rgba(224,184,88,.25),transparent 42%),
    linear-gradient(145deg,#11141a,#2b2d31);
}
.mode-workshop .field-quick-actions .workshop{
  border-color:#d9bc70;
  background:#fff8e7;
}
.handover-production-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:16px 0;
}
.handover-production-summary>div{
  min-width:0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#faf9f6;
}
.handover-production-summary small{
  display:block;
  color:#888c94;
  font-size:8px;
  letter-spacing:.6px;
  text-transform:uppercase;
  font-weight:950;
}
.handover-production-summary b{
  display:block;
  margin-top:4px;
  word-break:break-word;
}
.handover-confirm.compact{
  min-height:100%;
  margin:0;
}
.handover-production-card{
  border-color:#dfcc98;
  background:linear-gradient(145deg,#fffaf0,#fff);
}

@media(max-width:900px){
  .vv-context-guide{grid-template-columns:1fr}
  .vv-list-help-grid{grid-template-columns:repeat(2,1fr)}
  .vv-list-help-grid>div:last-child{grid-column:1/-1}
  .vv-help-hero{grid-template-columns:1fr}
  .vv-help-flow{justify-content:flex-start}
  .handover-production-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .vv-context-guide-main,
  .vv-context-progress{padding:15px}
  .vv-context-guide-main h3{font-size:21px}
  .vv-context-guide-main .btn{width:100%}
  .vv-list-help>summary{
    grid-template-columns:36px minmax(0,1fr);
  }
  .vv-list-help>summary i{display:none}
  .vv-help-hero{padding:18px}
  .vv-help-hero h3{font-size:25px}
  .vv-help-flow i{display:none}
  .vv-help-card{
    grid-template-columns:43px minmax(0,1fr);
    gap:11px;
    padding:15px;
  }
  .vv-help-card-number{
    width:41px;height:41px;border-radius:12px;font-size:18px
  }
  .field-next-step{
    align-items:stretch;
    flex-direction:column;
    padding:15px;
  }
  .field-next-step .btn{width:100%}
  .mode-workshop .field-quick-actions{
    grid-template-columns:repeat(3,1fr);
  }
  .mode-workshop .field-section#poznamka,
  .mode-workshop .field-section#tym{
    box-shadow:none;
  }
  .handover-production-summary{grid-template-columns:1fr 1fr}
}
@media(max-width:430px){
  .vv-list-help-grid{grid-template-columns:1fr}
  .vv-list-help-grid>div:last-child{grid-column:auto}
  .handover-production-summary{grid-template-columns:1fr}
}


/* VivaVesta Studio 4.7.2 – mobilní poptávky a zkrácený koloběh */
.mobile-role-nav .mobile-nav-symbol{
  position:relative;
  display:block;
  width:28px;
  height:24px;
  margin:0 auto 2px;
}
.mobile-role-nav .mobile-nav-symbol>i{
  position:absolute;
  right:-8px;
  top:-7px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:999px;
  color:#fff;
  background:#c62828;
  font-size:9px;
  font-style:normal;
  font-weight:950;
  box-shadow:0 5px 12px rgba(198,40,40,.3);
}
.vv-mobile-inquiry-inbox{
  margin:0 0 17px;
  padding:18px;
  border-radius:20px;
  color:#fff;
  background:
    radial-gradient(circle at 95% 0,rgba(223,193,116,.24),transparent 37%),
    linear-gradient(145deg,#11141a,#292f38);
  box-shadow:0 22px 52px rgba(14,17,22,.17);
}
.vv-mobile-inquiry-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:13px;
}
.vv-mobile-inquiry-head small{
  color:#e1c77f;
  font-size:9px;
  letter-spacing:1.2px;
  font-weight:950;
}
.vv-mobile-inquiry-head h3{
  margin:4px 0;
  font:700 25px Georgia,serif;
}
.vv-mobile-inquiry-head p{
  max-width:650px;
  margin:0;
  color:#cbd0d8;
  font-size:11px;
}
.vv-mobile-inquiry-head>strong{
  min-width:47px;
  height:47px;
  padding:0 10px;
  display:grid;
  place-items:center;
  border:1px solid rgba(225,199,127,.4);
  border-radius:15px;
  color:#17191d;
  background:linear-gradient(145deg,#e4cb88,#b98c3b);
  font-size:21px;
}
.vv-mobile-inquiry-list{
  display:grid;
  gap:8px;
}
.vv-mobile-inquiry-list>article{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:rgba(255,255,255,.06);
}
.vv-mobile-inquiry-main{
  min-width:0;
  display:grid;
  grid-template-columns:37px minmax(0,1fr);
  gap:10px;
  align-items:center;
  color:#fff;
  text-decoration:none;
}
.vv-mobile-inquiry-main>span{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#17191d;
  background:#dec47f;
  font-weight:950;
}
.vv-mobile-inquiry-main>div{
  min-width:0;
  display:grid;
  gap:2px;
}
.vv-mobile-inquiry-main b,
.vv-mobile-inquiry-main small,
.vv-mobile-inquiry-main em{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.vv-mobile-inquiry-main b{font-size:13px}
.vv-mobile-inquiry-main small{
  color:#d7dbe1;
  font-size:10px;
}
.vv-mobile-inquiry-main em{
  color:#aeb4be;
  font-size:9px;
  font-style:normal;
}
.vv-simple-workflow{
  margin:0 0 18px;
  padding:20px;
  border:1px solid #dfcc98;
  border-radius:21px;
  background:linear-gradient(145deg,#fffaf0,#fff);
  box-shadow:0 18px 45px rgba(130,93,29,.1);
}
.vv-simple-workflow-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.vv-simple-workflow-head small{
  color:#987229;
  font-size:9px;
  letter-spacing:1.1px;
  font-weight:950;
}
.vv-simple-workflow-head h3{
  margin:5px 0;
  font:700 27px Georgia,serif;
}
.vv-simple-workflow-head p{
  max-width:720px;
  margin:0;
  color:#656a72;
  font-size:12px;
  line-height:1.55;
}
.vv-customer-saved{
  min-width:220px;
  display:grid;
  grid-template-columns:35px minmax(0,1fr);
  gap:9px;
  align-items:center;
  padding:11px;
  border:1px solid #b9dfc8;
  border-radius:13px;
  color:#185f3b;
  background:#ebf8f0;
  text-decoration:none;
}
.vv-customer-saved>span{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:11px;
  color:#fff;background:#18834f;
  font-weight:950;
}
.vv-customer-saved>div{display:grid}
.vv-customer-saved small{
  color:#458062;
  font-size:8px;
}
.vv-customer-saved b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
}
.vv-simple-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:18px 0;
}
.vv-simple-steps>div{
  min-width:0;
  padding:12px;
  border:1px solid #e6e0d3;
  border-radius:13px;
  display:grid;
  grid-template-columns:31px minmax(0,1fr);
  gap:2px 8px;
  align-items:center;
  background:#faf9f6;
}
.vv-simple-steps span{
  grid-row:1/3;
  width:30px;height:30px;
  display:grid;place-items:center;
  border-radius:10px;
  color:#7a7f87;
  background:#e8e6e0;
  font-size:11px;
  font-weight:950;
}
.vv-simple-steps b{font-size:11px}
.vv-simple-steps small{
  overflow:hidden;
  color:#80848c;
  font-size:8px;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.vv-simple-steps>div.done{
  border-color:#b9dfc8;
  background:#edf9f2;
}
.vv-simple-steps>div.done span{
  color:#fff;background:#18834f
}
.vv-simple-steps>div.active{
  border-color:#d5b660;
  background:#fff8e6;
  box-shadow:0 0 0 3px rgba(203,169,83,.12);
}
.vv-simple-steps>div.active span{
  color:#16181c;
  background:#dec47f;
}
.vv-simple-action{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);
  gap:16px;
  align-items:center;
  padding:17px;
  border:1px solid #e2d4ad;
  border-radius:16px;
  background:#fff;
}
.vv-simple-action>div>small{
  color:#99732b;
  font-size:8px;
  letter-spacing:1px;
  font-weight:950;
}
.vv-simple-action h4{
  margin:4px 0;
  font:700 21px Georgia,serif;
}
.vv-simple-action p{
  margin:0;
  color:#6e737b;
  font-size:11px;
  line-height:1.5;
}
.vv-approved-price-form{
  display:grid;
  gap:9px;
}
.vv-approved-price-form label>span{
  display:block;
  margin-bottom:5px;
  color:#777c84;
  font-size:9px;
  text-transform:uppercase;
  font-weight:950;
}
.vv-approved-price-form label>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
}
.vv-approved-price-form input{
  min-width:0;
  padding:11px 12px;
  border:1px solid #dcd7ca;
  border-radius:10px 0 0 10px;
  font:inherit;
}
.vv-approved-price-form i{
  display:grid;
  place-items:center;
  border:1px solid #dcd7ca;
  border-left:0;
  border-radius:0 10px 10px 0;
  color:#555b64;
  background:#f4f2ed;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}
.vv-approved-total{
  display:block;
  margin-top:9px;
  color:#795b1f;
}
.vv-simple-open-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.vv-complex-workflow{
  margin-top:13px;
  padding:11px 13px;
  border:1px dashed #d8ceb8;
  border-radius:12px;
  background:#faf9f6;
}
.vv-complex-workflow summary{
  cursor:pointer;
  color:#6d582b;
  font-size:11px;
  font-weight:900;
}
.vv-complex-workflow p{
  color:#73777f;
  font-size:10px;
  line-height:1.5;
}

@media(max-width:860px){
  .vv-simple-workflow-head{
    flex-direction:column;
  }
  .vv-customer-saved{
    width:100%;
    min-width:0;
  }
  .vv-simple-steps{
    grid-template-columns:1fr 1fr;
  }
  .vv-simple-action{
    grid-template-columns:1fr;
  }
  .vv-simple-action form>.btn,
  .vv-simple-open-actions>.btn{
    width:100%;
  }
}
@media(max-width:600px){
  .vv-mobile-inquiry-inbox{
    margin-left:-2px;
    margin-right:-2px;
    padding:14px;
  }
  .vv-mobile-inquiry-head h3{
    font-size:21px;
  }
  .vv-mobile-inquiry-list>article{
    grid-template-columns:1fr;
  }
  .vv-mobile-inquiry-list form,
  .vv-mobile-inquiry-list button{
    width:100%;
  }
  .vv-simple-workflow{
    padding:14px;
  }
  .vv-simple-workflow-head h3{
    font-size:22px;
  }
  .vv-simple-steps{
    grid-template-columns:1fr;
  }
  .vv-simple-steps small{
    white-space:normal;
  }
}
