:root{
  --bg:#f4f1ea;
  --surface:#fffdf9;
  --surface-2:#f8f5ef;
  --text:#201b17;
  --muted:#736a61;
  --line:#e7dfd4;
  --green:#2f5b35;
  --green-2:#467a4a;
  --green-soft:#e7f0e5;
  --brown:#5b3c28;
  --brown-2:#7b5437;
  --brown-soft:#f2e8dc;
  --amber:#be7a2c;
  --amber-soft:#fbefd9;
  --red:#b34137;
  --red-soft:#fbe6e3;
  --shadow:0 16px 40px rgba(58,40,27,.08);
  --radius:20px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:linear-gradient(180deg,#f8f5ef,#f2eee7);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
.hidden{display:none!important}

/* common */
.panel{background:rgba(255,253,249,.96);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;color:var(--brown-2);font-weight:800}
.muted{color:var(--muted)}
.small{font-size:.82rem}
.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.space{justify-content:space-between}
.btn{border:1px solid transparent;border-radius:13px;padding:11px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;transition:.18s ease;background:#fff;color:var(--text)}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--green);color:#fff;box-shadow:0 10px 22px rgba(47,91,53,.18)}
.btn.secondary{background:var(--brown);color:#fff}
.btn.soft{background:var(--green-soft);color:var(--green);border-color:#d6e5d3}
.btn.ghost{background:transparent;border-color:var(--line);color:var(--brown)}
.btn.danger{background:var(--red-soft);color:var(--red);border-color:#f2c9c4}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.icon-btn{width:42px;height:42px;padding:0;border-radius:12px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--brown)}
.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:.72rem;font-weight:800;background:var(--surface-2);border:1px solid var(--line);color:var(--muted)}
.badge.green{background:var(--green-soft);color:var(--green);border-color:#d4e6d2}
.badge.amber{background:var(--amber-soft);color:#9a5c15;border-color:#f1d8b5}
.badge.red{background:var(--red-soft);color:var(--red);border-color:#f0c5bf}
.badge.brown{background:var(--brown-soft);color:var(--brown);border-color:#e5d2c0}

/* auth */
.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:#f5f1e9}
.auth-visual{position:relative;overflow:hidden;min-height:100vh;background:
  linear-gradient(180deg,rgba(33,43,29,.08),rgba(45,55,37,.62)),
  radial-gradient(circle at 20% 20%,rgba(255,255,255,.65),transparent 28%),
  linear-gradient(135deg,#d5d6c1,#9eaa78 42%,#5e744b 72%,#364630);
}
.auth-visual:before{content:"";position:absolute;inset:auto -5% 0 -5%;height:52%;background:linear-gradient(15deg,#81725b 0 7%,transparent 7%),repeating-linear-gradient(168deg,rgba(231,221,187,.82) 0 5px,rgba(118,138,81,.42) 6px 14px);clip-path:polygon(0 28%,100% 0,100% 100%,0 100%);opacity:.88}
.auth-visual-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:50px}
.auth-logo-wrap{width:min(420px,80%);background:rgba(255,253,249,.91);padding:20px;border-radius:24px;box-shadow:0 18px 50px rgba(39,31,22,.14)}
.auth-logo-wrap img{width:100%;display:block}
.auth-copy{max-width:520px;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.auth-copy h1{font-size:clamp(2.6rem,5vw,4.8rem);line-height:.98;margin:0 0 18px;font-family:Georgia,"Times New Roman",serif;font-weight:700}
.auth-copy p{font-size:1.12rem;line-height:1.6;margin:0;max-width:470px}
.auth-card-wrap{display:grid;place-items:center;padding:34px}
.auth-card{width:min(500px,100%);padding:30px}
.auth-card .mini-brand{display:flex;align-items:center;gap:13px;margin-bottom:28px}.mini-brand img{width:58px;height:58px;object-fit:cover;object-position:50% 12%;border-radius:15px}.mini-brand strong{font-size:1.35rem;color:var(--brown)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-2);padding:5px;border-radius:13px;margin:0 0 22px}.auth-tabs button{border:0;background:transparent;padding:11px;border-radius:10px;font-weight:800;color:var(--muted)}.auth-tabs button.active{background:#fff;box-shadow:0 4px 16px rgba(44,33,23,.08);color:var(--green)}
.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.field{display:grid;gap:7px}.field label{font-size:.82rem;font-weight:800;color:#4e453d}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 13px;color:var(--text);outline:none}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8fa98f;box-shadow:0 0 0 3px rgba(47,91,53,.08)}
.form-error{padding:11px 12px;border-radius:12px;background:var(--red-soft);color:var(--red);font-size:.86rem;border:1px solid #f1c9c5}

/* onboarding */
.onboarding{min-height:100vh;display:grid;place-items:center;padding:25px}.onboarding-card{width:min(620px,100%);padding:34px;text-align:center}.onboarding-card img{width:170px}.onboarding-card h1{font-size:2rem;margin:12px 0 8px}.onboarding-card p{color:var(--muted);line-height:1.6}.onboarding-card .field{text-align:left;max-width:460px;margin:24px auto 14px}

/* app layout */
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:rgba(255,253,249,.97);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30}
.brand{padding:8px 10px 18px;display:flex;align-items:center;gap:11px}.brand img{width:48px;height:48px;object-fit:cover;object-position:50% 10%;border-radius:12px}.brand strong{display:block;color:var(--brown);font-size:1.1rem;letter-spacing:.02em}.brand span{font-size:.68rem;color:var(--green);font-weight:800}
.nav-list{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#5c544d;padding:12px 13px;border-radius:12px;display:flex;align-items:center;gap:11px;text-align:left;font-weight:750}.nav-item svg{width:19px}.nav-item:hover{background:#f4efe8}.nav-item.active{background:var(--green);color:#fff;box-shadow:0 8px 18px rgba(47,91,53,.16)}
.sidebar-foot{margin-top:auto;display:grid;gap:8px;padding-top:15px}.plan-card{padding:14px;border:1px solid #dfd2c5;background:linear-gradient(145deg,#f4eadf,#fffaf3);border-radius:15px}.plan-card b{color:var(--brown)}.plan-card p{font-size:.77rem;color:var(--muted);line-height:1.4;margin:6px 0 10px}
.main{min-width:0;padding:22px 26px 104px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.topbar-left h1{font-size:1.55rem;margin:0}.topbar-left p{margin:5px 0 0;color:var(--muted);font-size:.9rem}.userbox{display:flex;align-items:center;gap:10px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--brown),#8a654b);color:#fff;font-weight:900}.userbox small,.userbox strong{display:block}.userbox small{color:var(--muted)}
.mobile-topbar{display:none}
.mobile-nav{display:none}

/* dashboard */
.hero{padding:24px;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center;background:linear-gradient(135deg,#fffdf9 0 58%,#edf2e8 58%)}.hero h2{font-size:clamp(1.9rem,3vw,2.6rem);margin:0 0 9px}.hero p{margin:0;color:var(--muted);line-height:1.55}.hero-art{height:150px;position:relative;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#d8ddcc,#aebc88 45%,#786a4d 46%,#64553c 100%)}.hero-art:before{content:"";position:absolute;width:118px;height:64px;left:50%;top:54%;transform:translate(-50%,-50%);border-radius:50% 50% 22% 22%;background:var(--green);box-shadow:-48px 31px 0 -13px #222,48px 31px 0 -13px #222}.hero-art:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-3px;height:48px;background:repeating-linear-gradient(-8deg,#b89f72 0 8px,#7f744d 8px 15px);opacity:.8}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.stat-card{padding:17px;display:flex;gap:13px;align-items:center}.stat-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--green-soft);color:var(--green)}.stat-icon.amber{background:var(--amber-soft);color:var(--amber)}.stat-icon.red{background:var(--red-soft);color:var(--red)}.stat-icon.brown{background:var(--brown-soft);color:var(--brown)}.stat-card span{font-size:.75rem;color:var(--muted);font-weight:700}.stat-card strong{display:block;font-size:1.55rem;margin-top:2px}
.section{margin-top:24px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}.section-head h2{margin:0;font-size:1.25rem}.section-head p{margin:5px 0 0;color:var(--muted);font-size:.85rem}
.alert-list{display:grid;gap:9px}.alert-row{padding:13px 15px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border-radius:14px;border:1px solid var(--line);background:#fff}.alert-row .vehicle-dot{width:40px;height:40px;border-radius:12px;background:var(--green-soft);display:grid;place-items:center;color:var(--green)}.alert-row strong,.alert-row small{display:block}.alert-row small{margin-top:3px;color:var(--muted)}

/* vehicle grids */
.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px}.vehicle-card{overflow:hidden;transition:.18s ease}.vehicle-card:hover{transform:translateY(-2px);box-shadow:0 18px 46px rgba(58,40,27,.11)}.vehicle-image{height:150px;background:linear-gradient(145deg,#e8e4da,#d7d0c3);position:relative;display:grid;place-items:center;overflow:hidden}.vehicle-image img{width:100%;height:100%;object-fit:cover;display:block}.vehicle-image .placeholder{color:var(--brown);display:grid;place-items:center}.vehicle-image .placeholder svg{width:48px;height:48px;opacity:.65}.vehicle-card-body{padding:14px}.vehicle-card h3{margin:0;font-size:1.03rem}.vehicle-meta{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0 11px}.vehicle-data{display:grid;gap:7px;font-size:.82rem}.vehicle-data div{display:flex;justify-content:space-between;gap:10px;color:var(--muted)}.vehicle-data b{color:var(--text);font-weight:750}.vehicle-status{margin-top:12px;padding:9px 10px;border-radius:10px;background:var(--green-soft);color:var(--green);font-size:.79rem;font-weight:800}.vehicle-status.amber{background:var(--amber-soft);color:#9a5c15}.vehicle-status.red{background:var(--red-soft);color:var(--red)}

/* lists */
.table-panel{overflow:hidden}.list-row{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(150px,.7fr) minmax(130px,.6fr) auto;gap:14px;align-items:center;padding:14px 16px;border-top:1px solid var(--line)}.list-row:first-child{border-top:0}.list-main{display:flex;align-items:center;gap:11px;min-width:0}.list-icon{width:42px;height:42px;border-radius:12px;background:var(--surface-2);display:grid;place-items:center;color:var(--brown)}.list-main strong,.list-main small{display:block}.list-main small{color:var(--muted);margin-top:3px}.list-cell span{display:block;color:var(--muted);font-size:.73rem}.list-cell b{display:block;margin-top:3px;font-size:.88rem}.empty{padding:38px 20px;text-align:center;color:var(--muted)}.empty svg{width:36px;height:36px;margin-bottom:10px;color:#978b7e}

/* detail */
.detail-header{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;padding:18px}.detail-photo{height:220px;border-radius:16px;background:#e6dfd5;overflow:hidden;display:grid;place-items:center}.detail-photo img{width:100%;height:100%;object-fit:cover}.detail-photo svg{width:64px;height:64px;color:var(--brown);opacity:.6}.detail-title h1{margin:4px 0 7px;font-size:2rem}.detail-title p{margin:0;color:var(--muted)}.detail-actions{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap}.detail-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.mini-kpi{padding:12px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line)}.mini-kpi span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.mini-kpi b{display:block;margin-top:5px;font-size:1rem}.tabs{display:flex;gap:7px;overflow:auto;margin-top:16px;padding-bottom:3px}.tab-btn{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;color:var(--muted);font-weight:800}.tab-btn.active{background:var(--green);color:#fff;border-color:var(--green)}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.info-card{padding:17px}.info-card h3{margin:0 0 13px}.kv{display:grid;gap:10px}.kv div{display:flex;justify-content:space-between;gap:20px;padding-bottom:9px;border-bottom:1px solid #eee6db}.kv div:last-child{border-bottom:0;padding-bottom:0}.kv span{color:var(--muted)}

/* premium */
.pricing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:920px}.price-card{padding:26px;position:relative}.price-card.featured{border:2px solid #7c9d79;background:linear-gradient(180deg,#fffdf9,#f3f7ef)}.popular{position:absolute;right:18px;top:18px}.price{font-size:2.4rem;font-weight:900;color:var(--brown);margin:18px 0 4px}.price small{font-size:.85rem;color:var(--muted)}.feature-list{display:grid;gap:10px;margin:20px 0}.feature{display:flex;gap:9px;align-items:flex-start}.feature svg{width:18px;color:var(--green);margin-top:1px}.price-toggle{display:inline-flex;padding:5px;border-radius:12px;background:#eee7dd;margin-bottom:18px}.price-toggle button{border:0;background:transparent;padding:9px 13px;border-radius:9px;font-weight:800;color:var(--muted)}.price-toggle button.active{background:#fff;color:var(--green);box-shadow:0 4px 12px rgba(58,40,27,.08)}

/* modals */
.modal-backdrop{position:fixed;inset:0;background:rgba(31,24,19,.52);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;z-index:100}.modal{width:min(720px,100%);max-height:92vh;overflow:auto;padding:22px}.modal.large{width:min(900px,100%)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.modal-head h2{margin:0}.modal-head p{margin:5px 0 0;color:var(--muted);font-size:.86rem}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.upload-box{border:1px dashed #cbbbab;border-radius:14px;padding:16px;background:#fbf8f3}.upload-preview{width:100%;height:190px;border-radius:12px;background:#eee7dc;display:grid;place-items:center;overflow:hidden;margin-top:10px}.upload-preview img{width:100%;height:100%;object-fit:cover}

/* toast */
#toast-root{position:fixed;right:18px;bottom:18px;z-index:130;display:grid;gap:9px}.toast{padding:12px 15px;border-radius:13px;background:#222;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.22);animation:toastIn .2s ease}.toast.success{background:var(--green)}.toast.error{background:var(--red)}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* responsive */
@media(max-width:1100px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.hero-art{height:120px}.detail-header{grid-template-columns:220px minmax(0,1fr)}.pricing{grid-template-columns:1fr}.list-row{grid-template-columns:minmax(190px,1fr) minmax(130px,.6fr) auto}.list-row>.list-cell:nth-of-type(2){display:none}}
@media(max-width:760px){
  .auth-page{grid-template-columns:1fr}.auth-visual{display:none}.auth-card-wrap{padding:18px;min-height:100vh}.auth-card{padding:22px}
  .app-shell{display:block}.sidebar{display:none}.main{padding:78px 13px 92px}.topbar{display:none}.mobile-topbar{display:flex;position:fixed;left:0;right:0;top:0;height:64px;background:rgba(255,253,249,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:40;align-items:center;justify-content:space-between;padding:8px 13px}.mobile-topbar .brand{padding:0}.mobile-topbar .brand img{width:40px;height:40px}.mobile-topbar .brand span{display:none}
  .mobile-nav{display:grid;position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:50;grid-template-columns:repeat(5,1fr);padding:6px;background:rgba(255,253,249,.96);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 34px rgba(58,40,27,.18);backdrop-filter:blur(16px)}.mobile-nav button{border:0;background:transparent;padding:7px 3px 5px;border-radius:12px;display:grid;place-items:center;gap:3px;color:var(--muted);font-size:.62rem;font-weight:750}.mobile-nav button svg{width:19px;height:19px}.mobile-nav button.active{background:var(--green-soft);color:var(--green)}
  .hero{padding:18px;background:#fff}.hero-art{display:none}.hero h2{font-size:1.6rem}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{padding:13px;align-items:flex-start}.stat-icon{width:38px;height:38px;border-radius:11px}.stat-card strong{font-size:1.3rem}
  .vehicle-grid{grid-template-columns:1fr}.vehicle-image{height:190px}.section{margin-top:18px}.section-head{align-items:center}.section-head .btn span{display:none}
  .alert-row{grid-template-columns:auto minmax(0,1fr)}.alert-row>.badge{grid-column:2;justify-self:start}
  .list-row{grid-template-columns:minmax(0,1fr) auto;padding:12px}.list-cell{display:none}.list-row>.badge{display:inline-flex}
  .detail-header{grid-template-columns:1fr;padding:13px}.detail-photo{height:230px}.detail-title h1{font-size:1.6rem}.detail-kpis{grid-template-columns:1fr 1fr}.detail-kpis .mini-kpi:last-child{grid-column:1/-1}.info-grid{grid-template-columns:1fr}
  .form-grid.two{grid-template-columns:1fr}.modal{padding:16px}.modal-actions{position:sticky;bottom:-16px;background:linear-gradient(transparent,#fff 22%);padding-top:18px;padding-bottom:2px}
  .pricing{grid-template-columns:1fr}.price-card{padding:20px}
}

/* =========================================================
   FUHRKERN v1.2 — compact fleet, image editor, privacy
   ========================================================= */
.brand img{
  object-fit:contain !important;
  object-position:center !important;
  background:#fff;
  padding:2px;
}
.mobile-topbar .brand img{object-fit:contain !important;object-position:center !important}

/* Dashboard KPI cards are direct navigation shortcuts */
.stat-link{
  width:100%;
  border:1px solid var(--line);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  font:inherit;
  position:relative;
}
.stat-link:hover{transform:translateY(-1px);border-color:#bfcdbd;box-shadow:0 12px 28px rgba(58,40,27,.09)}
.stat-link .stat-arrow{margin-left:auto;color:var(--muted);display:grid;place-items:center}

/* Smaller fleet cards: overview first, details after tap */
.vehicle-grid{
  grid-template-columns:repeat(auto-fill,minmax(185px,1fr));
  gap:11px;
}
.vehicle-card{border-radius:15px}
.vehicle-image{height:105px}
.vehicle-card-body{padding:10px 11px 11px}
.vehicle-card h3{font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vehicle-meta{margin:5px 0 7px;gap:5px}
.vehicle-meta .badge{font-size:.62rem;padding:4px 6px}
.vehicle-data{gap:4px;font-size:.74rem}
.vehicle-data div{display:block}
.vehicle-data span{display:none}
.vehicle-data b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vehicle-status{margin-top:8px;padding:7px 8px;font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* photo crop / zoom editor */
.current-photo{display:flex;align-items:center;gap:10px;margin-top:12px;color:var(--muted);font-size:.78rem}
.current-photo img{width:88px;height:54px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}
.crop-editor{display:none;margin-top:14px}
.crop-editor.active{display:block}
.crop-stage{position:relative;width:100%;max-width:720px;margin:0 auto;border-radius:14px;overflow:hidden;background:#171512;touch-action:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.crop-stage canvas{display:block;width:100%;height:auto;cursor:grab;touch-action:none}
.crop-stage canvas:active{cursor:grabbing}
.crop-guide{position:absolute;inset:0;pointer-events:none;border:2px solid rgba(255,255,255,.78);box-shadow:inset 0 0 0 999px rgba(0,0,0,.05)}
.crop-guide:before,.crop-guide:after{content:"";position:absolute;background:rgba(255,255,255,.38)}
.crop-guide:before{left:33.333%;top:0;bottom:0;width:1px;box-shadow:calc(33.333vw) 0 0 rgba(255,255,255,0)}
.crop-guide:after{top:50%;left:0;right:0;height:1px}
.crop-controls{display:flex;align-items:center;gap:10px;margin-top:11px;color:var(--brown)}
.crop-controls input[type="range"]{flex:1;accent-color:var(--green)}
.small-btn{padding:7px 10px;font-size:.75rem}
.tiny{font-size:.72rem}

.privacy-link{border:0;background:transparent;color:var(--muted);font-size:.72rem;text-align:left;padding:8px 12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.privacy-link:hover{color:var(--green)}
.privacy-page{max-width:820px;padding:26px;line-height:1.65}
.privacy-page h2{margin:0 0 18px;font-size:1.7rem}
.privacy-page h3{margin:22px 0 6px;color:var(--brown)}
.privacy-page p{margin:0 0 10px;color:#514a43}
.privacy-page a{color:var(--green);font-weight:800}

@media(max-width:1100px){
  .vehicle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .vehicle-image{height:82px}
  .vehicle-card-body{padding:8px}
  .vehicle-card h3{font-size:.8rem}
  .vehicle-meta{margin:4px 0 5px}
  .vehicle-meta .badge{font-size:.54rem;padding:3px 5px}
  .vehicle-meta .badge:nth-child(2){display:none}
  .vehicle-data{font-size:.68rem}
  .vehicle-status{font-size:.6rem;padding:5px 6px;margin-top:6px}
  .crop-controls{gap:7px;flex-wrap:wrap}
  .crop-controls input[type="range"]{min-width:160px}
  .privacy-page{padding:18px}
}

/* =========================================================
   V1.3 — INTERACTIVE VEHICLE PHOTO EDITOR
   ========================================================= */
.current-photo{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#faf8f3}
.current-photo img{width:96px;height:62px;object-fit:cover;border-radius:9px;border:1px solid var(--line);flex:0 0 auto}
.current-photo>div{display:grid;gap:7px;justify-items:start}
.current-photo span{color:var(--muted);font-size:.75rem;font-weight:700}
.crop-editor{margin-top:14px;padding:12px;border:1px solid rgba(47,91,53,.18);border-radius:15px;background:#f8f5ee}
.crop-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.crop-editor-head>div{display:grid;gap:2px}
.crop-editor-head strong{font-size:.92rem;color:var(--brown)}
.crop-editor-head span{font-size:.72rem;color:var(--muted)}
#cropZoomValue{font-size:.76rem;color:var(--green);background:#e7efe5;border-radius:999px;padding:5px 8px;min-width:52px;text-align:center}
.crop-stage{position:relative;user-select:none;-webkit-user-select:none;background:#e9e4da}
.crop-stage canvas{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}
.crop-stage canvas.dragging{cursor:grabbing}
.crop-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);pointer-events:none;background:rgba(20,18,14,.68);color:#fff;font-size:.68rem;padding:5px 9px;border-radius:999px;backdrop-filter:blur(5px)}
.crop-controls{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:10px;align-items:center;margin-top:12px}
.crop-controls input[type="range"]{width:100%;min-width:0;height:32px;cursor:pointer;accent-color:var(--green)}
.crop-round{width:38px;height:38px;border:1px solid rgba(47,91,53,.2);border-radius:50%;background:#fff;color:var(--green);display:grid;place-items:center;cursor:pointer;padding:0}
.crop-round:hover{background:#e9f0e7}
.crop-presets{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.crop-presets .btn{flex:0 0 auto}
@media(max-width:760px){
  .crop-editor{padding:9px}
  .crop-stage{border-radius:12px}
  .crop-controls{grid-template-columns:42px minmax(0,1fr) 42px;gap:8px}
  .crop-round{width:42px;height:42px}
  .crop-presets{display:grid;grid-template-columns:1fr 1fr}
  .crop-presets #cropReset{grid-column:1/-1}
  .crop-presets .btn{width:100%}
  .crop-hint{font-size:.62rem;bottom:7px;white-space:nowrap}
}


/* V1.4 — service remaining hours / km */
.service-remaining-line{margin-top:5px!important;color:var(--green)!important;font-size:.76rem!important;font-weight:800;line-height:1.25}
.service-remaining-line.is-overdue{color:var(--red)!important}
.service-upcoming-row .badge{white-space:nowrap}
@media(max-width:760px){
  .service-upcoming-row .list-main{align-items:flex-start}
  .service-remaining-line{font-size:.7rem!important;margin-top:4px!important}
  .service-upcoming-row>.badge{align-self:start;margin-top:1px}
}

/* =========================================================
   V1.5 — multi-vehicle filters for service and repairs
   ========================================================= */
.vehicle-filter-panel{
  margin:14px 0 16px;
  padding:13px 14px;
  box-shadow:none;
  border-radius:15px;
}
.vehicle-filter-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.vehicle-filter-head>div{display:grid;gap:2px}
.vehicle-filter-head strong{font-size:.9rem;color:var(--brown)}
.vehicle-filter-head small{font-size:.7rem;color:var(--muted)}
.filter-clear{
  border:0;
  background:transparent;
  color:var(--green);
  font-size:.72rem;
  font-weight:800;
  cursor:pointer;
  padding:5px 0;
}
.vehicle-filter-chips{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.vehicle-filter-chip{
  border:1px solid var(--line);
  background:#fff;
  color:#514a43;
  min-height:36px;
  padding:7px 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  font:inherit;
  font-size:.74rem;
  font-weight:750;
  transition:.15s ease;
}
.vehicle-filter-chip:hover{border-color:#aabda8;background:#f7f9f5}
.vehicle-filter-chip.active{
  border-color:var(--green);
  background:var(--green-soft);
  color:var(--green);
  box-shadow:inset 0 0 0 1px rgba(47,91,53,.04);
}
.vehicle-filter-chip svg{flex:0 0 auto}
@media(max-width:760px){
  .vehicle-filter-panel{padding:10px;margin:10px 0 13px}
  .vehicle-filter-chips{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:3px;
    scrollbar-width:none;
  }
  .vehicle-filter-chips::-webkit-scrollbar{display:none}
  .vehicle-filter-chip{white-space:nowrap;min-height:38px;padding:8px 10px}
}

/* =========================================================
   FUHRKERN v2.0 — PREMIUM BETA
   ========================================================= */
.nav-lock{margin-left:auto;font-size:.56rem;letter-spacing:.08em;padding:3px 5px;border-radius:999px;background:var(--brown-soft);color:var(--brown)}
.compact-empty{min-height:92px!important}
.service-plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:12px}
.service-plan-card{padding:15px;box-shadow:none}
.service-plan-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.service-plan-top strong,.service-plan-top small{display:block}.service-plan-top small{color:var(--muted);margin-top:4px}
.service-plan-card p{color:var(--brown);font-weight:750;font-size:.82rem;margin:11px 0}
.service-plan-meta{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.76rem}
.service-plan-actions{display:flex;align-items:center;gap:7px;margin-top:13px}.service-plan-actions .btn{flex:1}
.service-checklist{padding:14px;margin-top:14px;box-shadow:none}.service-checklist>strong{display:block;margin-bottom:10px}.service-checklist label{display:flex;align-items:flex-start;gap:9px;padding:8px 4px;border-top:1px solid var(--line);font-size:.84rem}.service-checklist input{accent-color:var(--green);margin-top:2px}
.next-service-box{padding:15px;margin-top:15px;box-shadow:none}.next-service-box>strong{display:flex;align-items:center;gap:8px}
.document-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:14px 16px;margin:14px 0}.document-toolbar label{display:grid;gap:6px;color:var(--muted);font-size:.74rem}.document-toolbar select,.year-select{min-width:220px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 12px;color:var(--text)}
.document-row{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;align-items:center;gap:12px;padding:12px 15px;border-top:1px solid var(--line)}.document-row:first-child{border-top:0}.document-size{font-size:.75rem;color:var(--muted);text-align:right}.document-actions{display:flex;gap:5px}
.cost-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.cost-kpi{padding:18px}.cost-kpi span{display:block;color:var(--muted);font-size:.74rem}.cost-kpi strong{display:block;font-size:1.65rem;margin-top:6px;color:var(--brown)}
.cost-list{overflow:hidden}.cost-row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(160px,2fr) auto;align-items:center;gap:16px;padding:13px 16px;border-top:1px solid var(--line)}.cost-row:first-child{border-top:0}.cost-row strong,.cost-row small{display:block}.cost-row small{color:var(--muted);margin-top:4px;font-size:.72rem}.cost-bar{height:9px;border-radius:999px;background:#ece7de;overflow:hidden}.cost-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),#6b936c)}
.team-panel{overflow:hidden}.team-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 15px;border-top:1px solid var(--line)}.team-row:first-child{border-top:0}.team-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-weight:900}.team-row strong,.team-row small{display:block}.team-row small{color:var(--muted);margin-top:3px}
.invite-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.invite-box input{border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:var(--surface-2);min-width:0}
.premium-active{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;background:linear-gradient(135deg,#fffdf9,#eef5eb)}.premium-active h2{margin:5px 0 7px}.premium-active p{margin:0 0 12px;color:var(--muted)}.premium-crown{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:var(--green);color:#fff;flex:0 0 auto}.premium-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.premium-hub-card{border:1px solid var(--line);padding:17px;text-align:left;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;color:var(--text)}.premium-hub-card>svg{color:var(--green)}.premium-hub-card strong,.premium-hub-card span{display:block}.premium-hub-card span{color:var(--muted);font-size:.76rem;margin-top:4px}.premium-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;margin-top:14px}.premium-tools p{margin:5px 0 0;color:var(--muted)}
.qr-wrap{display:grid;place-items:center;gap:12px}.qr-wrap #qrCode{padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px}.qr-wrap input{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:var(--surface-2)}

@media(max-width:760px){
  .service-plan-grid{grid-template-columns:1fr}
  .document-toolbar{align-items:stretch;flex-direction:column}.document-toolbar label,.document-toolbar select{width:100%}
  .document-row{grid-template-columns:minmax(0,1fr) auto}.document-size{display:none}.document-actions{grid-column:2;grid-row:1}
  .cost-kpis{grid-template-columns:1fr}.cost-row{grid-template-columns:minmax(0,1fr) auto}.cost-bar{grid-column:1/-1;grid-row:2}
  .team-row{grid-template-columns:42px minmax(0,1fr) auto}.team-row>.badge{grid-column:2;justify-self:start}.member-remove{grid-column:3;grid-row:1}
  .invite-box{grid-template-columns:1fr}.premium-active{padding:18px}.premium-crown{width:58px;height:58px}.premium-hub{grid-template-columns:1fr}.premium-tools{align-items:flex-start;flex-direction:column}.premium-tools .btn{width:100%}
}

@media print{
  body *{visibility:hidden!important}.modal-backdrop,.modal-backdrop *{visibility:visible!important}.modal-backdrop{position:absolute!important;inset:0!important;background:#fff!important}.modal{box-shadow:none!important;border:0!important}.modal-head .icon-btn,.qr-wrap .btn,.qr-wrap input{display:none!important}.qr-wrap{margin-top:40px}
}

/* =========================================================
   FUHRKERN v2.1 — INVITES, REPAIR EDITOR, PWA, UX
   ========================================================= */
.brand-home{
  width:100%;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit;
}
.brand-home:hover{background:rgba(47,91,53,.045);border-radius:14px}
.mobile-topbar .brand-home{width:auto}
.invite-auth{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:15px;margin:0 0 18px;border:1px solid var(--line)}
.invite-auth.valid{background:#edf4eb;border-color:#c9dcc5;color:#24472a}
.invite-auth.invalid{background:#fff4ec;border-color:#ebd0bb;color:#7d432d}
.invite-auth strong,.invite-auth p{display:block;margin:0}.invite-auth p{margin-top:4px;line-height:1.45;font-size:.86rem}
.invite-success{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;margin-bottom:14px;background:#edf4eb;border-color:#c9dcc5}
.invite-success>div{display:flex;gap:11px;align-items:flex-start;color:#24472a}.invite-success strong,.invite-success span{display:block}.invite-success span{margin-top:3px;font-size:.82rem;color:#58705b}
.hero-dismiss{margin-top:14px;background:transparent;border:1px solid var(--line);color:var(--muted);padding:9px 12px}
.hero.compact-hero{grid-template-columns:1fr;padding:17px 22px;background:#fff}.hero.compact-hero h2{margin:0}.hero.compact-hero .hero-art{display:none}
.repair-row-click{cursor:pointer;transition:background .16s ease}.repair-row-click:hover,.repair-row-click:focus{background:#f7f5ef;outline:none}
.hidden-field{display:none!important}
.cost-row-link{width:100%;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.cost-row-link:hover{background:#f7f5ef}.cost-row-link svg{color:var(--muted)}
.app-footer{display:flex;justify-content:center;align-items:center;gap:8px;padding:30px 8px 6px;color:var(--muted);font-size:.73rem}.app-footer a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.app-footer .privacy-link{padding:0;font-size:inherit}
.privacy-page{max-width:900px}.privacy-page h3{margin-top:26px}.privacy-page p{line-height:1.7}

@media(max-width:760px){
  .invite-auth{margin-top:4px}.invite-success{margin:0 0 12px;padding:12px}.invite-success span{font-size:.78rem}
  .hero.compact-hero{padding:14px 16px}.hero.compact-hero h2{font-size:1.45rem}
  .repair-row-click .list-cell{display:none}
  .cost-row-link{grid-template-columns:minmax(0,1fr) auto}.cost-row-link svg{display:none}
  .app-footer{padding-bottom:14px}
}
.repair-row-click{grid-template-columns:minmax(180px,1.2fr) minmax(120px,.6fr) minmax(110px,.5fr) minmax(110px,.5fr) auto}
.cost-row-link{grid-template-columns:minmax(190px,1.2fr) minmax(160px,2fr) auto 24px}
@media(max-width:1100px){
  .repair-row-click{grid-template-columns:minmax(180px,1fr) minmax(110px,.55fr) auto}
  .repair-row-click>.list-cell:nth-of-type(2),.repair-row-click>.list-cell:nth-of-type(3){display:none}
  .cost-row-link{grid-template-columns:minmax(0,1fr) auto 20px}.cost-row-link .cost-bar{grid-column:1/-1;grid-row:2}
}
@media(max-width:760px){
  .repair-row-click{grid-template-columns:minmax(0,1fr) auto}
  .repair-row-click>.list-cell{display:none!important}
  .cost-row-link{grid-template-columns:minmax(0,1fr) auto}.cost-row-link .cost-bar{grid-column:1/-1;grid-row:2}.cost-row-link svg{display:none}
}

/* =========================================================
   FUHRKERN v2.2 — MOBILE MORE + ROLE UI
   ========================================================= */
.more-account{display:flex;align-items:center;gap:14px;padding:16px;margin-bottom:14px}
.more-account-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--green-soft);color:var(--green)}
.more-account>div:nth-child(2){display:grid;gap:2px;min-width:0;flex:1}.more-account span,.more-account small{color:var(--muted);font-size:.78rem}.more-account strong{font-size:1rem}.more-account>.badge{flex:0 0 auto}
.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.more-card{border:1px solid var(--line);padding:16px;text-align:left;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;color:var(--text);cursor:pointer;background:var(--panel)}
.more-card:hover{border-color:#c7b6a5;transform:translateY(-1px)}
.more-icon{width:44px;height:44px;border-radius:13px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}
.more-card>div:nth-child(2){display:grid;gap:3px}.more-card strong{font-size:.95rem}.more-card span{color:var(--muted);font-size:.78rem;line-height:1.35}.more-logout{margin-top:14px;width:100%}
.role-info{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;margin:0 0 14px;background:#f7f4ee}.role-info svg{color:var(--green);flex:0 0 auto;margin-top:2px}.role-info div{display:grid;gap:3px}.role-info span{font-size:.8rem;color:var(--muted);line-height:1.4}
.role-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.role-guide-card{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fffdf9;display:grid;gap:4px}.role-guide-card b{font-size:.88rem}.role-guide-card span{font-size:.75rem;line-height:1.35;color:var(--muted)}
.team-row.is-me{background:#fbf7ee}.team-person{min-width:0}.member-role-select{min-width:142px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 10px;color:var(--text);font-weight:700}

@media(max-width:760px){
  .more-grid{grid-template-columns:1fr}
  .more-card{padding:14px}
  .role-guide{grid-template-columns:1fr}
  .team-row{grid-template-columns:42px minmax(0,1fr) auto !important;gap:9px !important}
  .team-row .member-role-select{grid-column:2/-1;width:100%;min-width:0}
  .team-row .member-remove{grid-column:3;grid-row:1}
}

/* =========================================================
   FUHRKERN v2.3 — PREMIUM EXCEL EXPORT
   ========================================================= */
.head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.export-btn{white-space:nowrap}
.export-note{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;margin-bottom:14px;background:rgba(47,91,53,.055);border:1px solid rgba(47,91,53,.12);border-radius:14px;color:var(--muted)}
.export-note strong{display:block;color:var(--text);margin-bottom:2px}
.export-note span{font-size:.82rem;line-height:1.35}
@media(max-width:760px){
  .section-head>.head-actions{width:100%;justify-content:stretch}
  .section-head>.head-actions .btn{flex:1;justify-content:center;min-width:0}
  .export-note{font-size:.86rem}
}


/* FUHRKERN v2.4 — Stripe Billing */
.billing-subscribe{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;margin-top:16px}
.billing-subscribe h2{margin:4px 0 6px}.billing-subscribe p{margin:0;color:var(--muted)}
.billing-subscribe small{display:block;color:var(--muted);max-width:260px;line-height:1.45}
.billing-info{padding:16px 18px;margin-bottom:12px}.billing-info>div{display:flex;align-items:center;gap:12px}.billing-info span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.billing-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.premium-active-side{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.price-saving{font-size:12px;font-weight:800;color:var(--green);margin:-4px 0 12px}
.badge.amber{background:#fff2cc;color:#7b5a00}.badge.red{background:#fee2e2;color:#991b1b}
@media(max-width:760px){.billing-subscribe{align-items:stretch;flex-direction:column}.billing-subscribe .btn{width:100%}.billing-subscribe small{max-width:none}.premium-active-side{width:100%;justify-content:space-between}.premium-active{align-items:flex-start}}
