
:root{
  --bg:#f5f7fb;--card:#fff;--text:#182230;--muted:#667085;--border:#d7dde7;
  --blue:#1f5eff;--amber:#ad6500;--green:#16713a;--red:#b42318;--dark:#273142;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);font-size:16px}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
.shell{max-width:1180px;margin:0 auto;padding:18px}
.narrow{max-width:520px}
.login-shell{padding-top:7vh}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:16px}
.login-card h1{font-size:34px;margin:0 0 8px}
h1,h2,h3{margin-top:0}
.grid{display:grid;gap:14px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
label{display:flex;flex-direction:column;gap:7px;font-weight:700}
input,select{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;background:white}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:11px 15px;font-weight:700;cursor:pointer}
.btn.big{padding:18px 20px;font-size:18px}
.btn.primary,.btn.blue{background:var(--blue);color:white}
.btn.amber{background:#fff0d6;color:#854c00}
.btn.green{background:#e5f7ec;color:#0e6632}
.btn.red{background:#fde9e7;color:#9a1b14}
.btn.dark{background:var(--dark);color:white}
.btn.light{background:#eef2f7;color:#172033;border:1px solid #dce2eb}
.smallbtn{padding:8px 11px;font-size:14px}
.muted{color:var(--muted)}
.small{font-size:13px}
.hidden{display:none!important}
.topbar{max-width:1180px;margin:14px auto 0;padding:14px 18px;background:white;border:1px solid var(--border);border-radius:14px;display:flex;justify-content:space-between;align-items:center}
.topbar strong{font-size:22px}.topbar .role{margin-left:16px}
.mode-start,.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.inline-form{display:inline}
.inline-box{margin-top:14px;padding:14px;background:#f8fafc;border:1px solid var(--border);border-radius:12px;display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.inline-box label{min-width:240px}
.info-grid>div{display:flex;flex-direction:column;gap:5px}
.info-grid strong{font-size:19px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:11px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
th{font-size:13px;color:var(--muted)}
.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:13px;font-weight:700}
.badge.danger{background:#fee9e7;color:#a11b14}.badge.success{background:#e8f7ed;color:#126b35}.badge.blue{background:#e7efff;color:#1949b2}.badge.neutral{background:#eef1f5;color:#4b5563}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.alert{border-radius:12px;padding:12px 14px;margin-bottom:14px}.alert.danger{background:#fff0ef;border:1px solid #f0b5b0;color:#8d1813}.alert.success{background:#eaf8ef;border:1px solid #aed8bb;color:#155f32}.alert.warning{background:#fff7e8;border:1px solid #efd19a;color:#805000}
.flash{padding-top:0;padding-bottom:0}
.reason-form{display:grid;grid-template-columns:180px 1fr auto;gap:8px}
.inline-row{display:flex;gap:10px;align-items:end}.inline-row input{max-width:340px}
.event-row{display:grid;grid-template-columns:190px 1fr 1fr auto;gap:8px;margin:8px 0;align-items:center}
hr{border:0;border-top:1px solid var(--border);margin:22px 0}

/* Print / Tageskontrollblatt */
.print-toolbar{max-width:1180px;margin:14px auto;display:flex;gap:10px;padding:0 14px}
.print-sheet{width:100%;max-width:1180px;margin:0 auto;background:white;padding:12px;color:#111}
.sheet-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:8px}
.sheet-box{border:1px solid #777;padding:8px;min-height:50px;background:white}
.sheet-box.reason{margin-bottom:8px}
.timegraph{display:block;width:100%;height:auto;margin-top:4px}
.summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:9px}
.summary-grid .sheet-box{min-height:58px}
.signature{margin:28px 20px 0 auto;width:330px;border-top:1px solid #333;text-align:center;padding-top:7px;font-size:14px}

@media(max-width:800px){
  .grid.two,.grid.three,.grid.four,.mode-start,.action-grid{grid-template-columns:1fr}
  .reason-form,.event-row{grid-template-columns:1fr}
  .topbar{margin:8px;align-items:flex-start}
  .topbar .role{display:block;margin:4px 0 0}
  .summary-grid{grid-template-columns:repeat(2,1fr)}
}


/* MAI Fartenbuch print update v2 */
.sheet-grid.fourcols{grid-template-columns:1.45fr 1.45fr .8fr .8fr}
.signature{
  margin:46px 30px 0 auto;
  width:460px;
  min-height:72px;
  border-top:1px solid #333;
  text-align:center;
  padding-top:10px;
  font-size:14px
}


/* ===== MAI Fartenbuch print update v3: force one A4 landscape page ===== */


/* ===== v4: 14pt + centered on one A4 landscape page ===== */


/* ===== v5: one A4 landscape page, vertically centered with safe margins ===== */


/* ===== MAI Fartenbuch v6 multi-company ===== */
.checkline{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important}
.checkline input{width:auto!important}
.companyline{font-size:.9em}
.employer-confirm{margin:18px auto 0;width:72%;font-size:12pt}
.confirm-lines{margin-top:28px;border-top:1px solid #333;padding-top:6px;text-align:center}


/* v9: official document heading */
.sheet-title{font-size:1.18em;line-height:1.1}
.legal-reference{font-size:.76em;font-weight:700;margin-top:3px}
.document-purpose{font-size:.68em;line-height:1.2;margin-top:2px}
.document-footer{margin-top:8px;text-align:center;font-size:10px;color:#555}


.live-status{color:#16713a;font-weight:700}
.resume-card{border-left:5px solid #16713a}


/* ===== v12: stabile A4-Querformat-Druckansicht wie Bildschirm ===== */


/* v13: oberer Druckrand auf ca. 1,5 cm erhöht */


/* ===== v15 Super-Admin Dashboard ===== */
.dashboard-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:4px 0 16px}.dashboard-head h1{margin-bottom:5px}.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;min-height:104px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 2px 8px rgba(16,24,40,.04)}.metric-card span{font-size:13px;font-weight:700;color:var(--muted)}.metric-card strong{font-size:34px;line-height:1}.metric-card.warn{border-left:5px solid #f59e0b}.metric-card.danger{border-left:5px solid #d92d20}.metric-card.firmen,.metric-card.fahrer,.metric-card.fahrzeuge,.metric-card.dokumente{border-left:5px solid #1f5eff}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.section-title h2{margin-bottom:4px}.empty-state{padding:28px;border:1px dashed var(--border);border-radius:12px;display:flex;flex-direction:column;gap:6px;text-align:center;background:#fafcff}.status-dot{display:inline-block;width:11px;height:11px;border-radius:50%}.status-dot.red{background:#d92d20}.status-dot.amber{background:#f59e0b}.table-link{font-weight:700;color:#1949b2}.dashboard-search{display:grid;grid-template-columns:1fr auto;gap:10px}.search-results{display:grid;gap:8px;margin-top:12px}.search-result{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:#fafcff}.search-result:hover{border-color:#9bb6ff;background:#f4f7ff}.search-result b{color:#1949b2}.dashboard-columns{display:grid;grid-template-columns:1.65fr 1fr;gap:16px}.activity-list{display:grid;gap:4px}.activity-item{display:grid;grid-template-columns:112px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.activity-item>span{font-size:12px;color:var(--muted)}.activity-item div{display:flex;flex-direction:column;gap:3px}.activity-item small{color:var(--muted)}
@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(3,1fr)}.dashboard-columns{grid-template-columns:1fr}}
@media(max-width:650px){.dashboard-head{align-items:flex-start;flex-direction:column}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-search{grid-template-columns:1fr}.quick-actions{width:100%}.quick-actions .btn{flex:1}.search-result{grid-template-columns:1fr}.activity-item{grid-template-columns:90px 1fr}}

/* v18: Fahrzeug F1/F2 im Tageskontrollblatt */
.vehicle-change-note{margin:12px 0 4px;padding:8px 12px;border:1px solid #777;font-size:13px;line-height:1.35;background:#fff}


/* ===== v20: saubere Trennung von F1/F2 ===== */
.vehicle-change-note{font-size:13px;font-weight:500}
.vehicle-change-note .vehicle-note-detail{display:inline-block;margin-top:3px;font-size:11.5px;font-weight:400}


/* V28: zusätzliches Kennzeichen direkt beim Fahrer erfassen */
.add-plate-details{margin-top:8px}
.add-plate-details summary{display:inline-block;cursor:pointer;font-weight:700;color:#2563eb;list-style:none;padding:5px 0}
.add-plate-details summary::-webkit-details-marker{display:none}
.add-plate-details[open] summary{margin-bottom:6px}
.add-plate-details input{width:100%;box-sizing:border-box}

/* V29: mehrsprachige Benutzeroberfläche */
.language-menu{position:fixed;top:12px;right:14px;z-index:9999;font-family:inherit}
.language-current{width:44px;height:36px;border:1px solid #cfd7e6;border-radius:9px;background:#fff;color:#172033;font-weight:800;cursor:pointer;box-shadow:0 2px 9px rgba(16,24,40,.12)}
.language-dropdown{display:none;position:absolute;right:0;top:42px;width:188px;padding:7px;background:#fff;border:1px solid #d5dbea;border-radius:12px;box-shadow:0 12px 30px rgba(16,24,40,.18)}
.language-menu.open .language-dropdown{display:grid;gap:3px}
.language-dropdown button{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:7px;width:100%;padding:8px 9px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer;color:#172033;font-size:14px}
.language-dropdown button:hover,.language-dropdown button.active{background:#edf3ff;color:#1748b8}
.language-dropdown b{font-size:12px}.language-dropdown span{white-space:nowrap}
html[dir="rtl"] .language-menu{right:auto;left:14px}
html[dir="rtl"] .language-dropdown{right:auto;left:0}
html[dir="rtl"] .language-dropdown button{text-align:right;grid-template-columns:1fr 34px}
html[dir="rtl"] .language-dropdown button b{grid-column:2}html[dir="rtl"] .language-dropdown button span{grid-column:1;grid-row:1}
html[dir="rtl"] body{text-align:right}
html[dir="rtl"] input,html[dir="rtl"] select,html[dir="rtl"] textarea{text-align:right}
@media(max-width:650px){.language-menu{top:8px;right:8px}.language-current{width:40px;height:34px}.language-dropdown{width:172px}}


/* V31: Hinweis, dass der amtliche Ausdruck immer deutsch bleibt */
.print-action-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.print-language-note{font-size:13px;color:#5f6b7a;max-width:440px;line-height:1.35}
@media(max-width:720px){.print-action-group{align-items:flex-start;flex-direction:column;gap:7px}.print-language-note{max-width:100%}}


/* V32 product/legal package */
.site-footer{margin:32px auto 0;padding:22px 18px;text-align:center;border-top:1px solid #d8dee8;background:#f7f9fc;color:#526071;font-size:13px}
.site-footer nav{display:flex;justify-content:center;gap:18px;margin:9px 0}.site-footer a{color:#245fca;text-decoration:none;font-weight:700}.footer-protection{font-size:12px;color:#748096}
.legal-shell{max-width:980px}.legal-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}.legal-badge{padding:9px 12px;border-radius:9px;background:#fff3cd;color:#6b5200;border:1px solid #ffe08a;font-weight:700;font-size:13px}
.legal-document{line-height:1.65}.legal-document h1{font-size:34px;margin-bottom:4px}.legal-document h2{font-size:21px;margin-top:30px;border-bottom:1px solid #e2e7ef;padding-bottom:7px}.legal-document ul{padding-left:24px}.legal-lead{font-size:17px;color:#526071}.legal-warning{margin-top:32px;padding:16px;border:1px solid #f0c36a;background:#fff8e6;border-radius:10px}
.document-security{margin-top:8px;border-top:1px solid #777;padding-top:5px;font-size:8.5px;line-height:1.25;color:#333}.document-security span{font-size:7.5px}.document-footer{font-size:8px;text-align:left}
@media(max-width:700px){.legal-top{align-items:flex-start;flex-direction:column}.legal-document h1{font-size:28px}}


/* V33 multilingual driver manual */
.manual-lang[hidden]{display:none!important}
.manual-document ol,.manual-document ul{padding-inline-start:1.5rem}
.manual-document li{margin:.45rem 0;line-height:1.55}
.manual-document h2{margin-top:1.6rem}
.manual-document [dir="rtl"]{text-align:right}

/* V35: better readable document security block */
.document-security{font-size:10px!important;line-height:1.4!important;padding-top:7px!important;margin-top:10px!important}
.document-security span{font-size:9px!important;line-height:1.4!important}
.document-footer{font-size:9.5px!important;line-height:1.35!important;margin-top:6px!important}


/* V37: A4 landscape, one page, with 15 mm safe top margin */


/* ===== MAI login redesign v45 – 1:1 visual family with Routenplaner ===== */
.login-page{
  min-height:calc(100vh - 48px);
  display:grid;
  place-items:center;
  width:100%;
  padding:24px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(37,99,235,.11),transparent 28%),
    radial-gradient(circle at 12% 72%,rgba(96,165,250,.10),transparent 30%),
    linear-gradient(145deg,#f7fbff 0%,#eef5fd 52%,#f8fbff 100%);
}
.login-page:before,
.login-page:after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
  opacity:.34;
}
.login-page:before{
  width:46vw;height:46vw;max-width:680px;max-height:680px;
  right:-10vw;top:8vh;
  border:38px solid rgba(59,130,246,.08);
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius:50%;
  transform:rotate(18deg);
}
.login-page:after{
  width:38vw;height:170px;
  left:-5vw;bottom:9vh;
  border-top:22px solid rgba(255,255,255,.72);
  border-radius:50%;
  transform:rotate(-13deg);
}
.mai-login-shell{
  position:relative;z-index:1;
  width:min(810px,calc(100vw - 36px));
  margin:28px auto;
  background:#fff;
  border:1px solid rgba(148,163,184,.28);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(15,23,42,.18),0 8px 24px rgba(37,99,235,.08);
}
.mai-login-brand{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(135deg,#0c2f73 0%,#0b4fae 48%,#1674ef 100%);
  padding:34px 42px;
}
.mai-login-brand:before{
  content:"";
  position:absolute;
  width:520px;height:520px;
  right:-260px;top:-300px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  box-shadow:0 0 0 38px rgba(255,255,255,.035),0 0 0 85px rgba(255,255,255,.025);
}
.mai-login-brand-main{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:112px minmax(0,1fr) 120px;
  gap:26px;
  align-items:center;
}
.mai-login-logo{
  width:108px;height:108px;min-width:108px;
  display:grid;place-items:center;
  border-radius:18px;
  font-size:66px;font-weight:900;line-height:1;letter-spacing:0;
  color:#fff;
  background:linear-gradient(145deg,#58c4ff,#0f6bf2);
  border:1px solid rgba(255,255,255,.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 14px 30px rgba(0,20,80,.28);
  text-shadow:0 3px 12px rgba(0,20,80,.28);
}
.mai-login-brand-copy{min-width:0}
.mai-login-brand-copy h1{font-size:38px;line-height:1.08;margin:0;font-weight:850;letter-spacing:-.7px;color:#fff}
.mai-login-product{font-size:29px;line-height:1.12;font-weight:500;color:#d9e9ff;margin-top:3px}
.mai-login-brand-copy p{font-size:18px;color:#e4efff;margin:13px 0 0;letter-spacing:.1px;line-height:1.35}
.mai-document-mark{
  justify-self:end;
  width:88px;height:104px;
  border:3px solid rgba(191,219,254,.78);
  border-radius:18px;
  padding:24px 16px;
  display:flex;flex-direction:column;gap:11px;
  transform:rotate(3deg);opacity:.72;
}
.mai-document-mark span{display:block;height:4px;border-radius:999px;background:rgba(191,219,254,.86)}
.mai-document-mark span:nth-child(2){width:78%}.mai-document-mark span:nth-child(3){width:60%}
.mai-login-card-body{padding:36px 54px 38px;background:linear-gradient(#fff,#fdfefe)}
.mai-login-card-body h2{font-size:31px;line-height:1.15;color:#14223a;margin:0 0 10px;font-weight:850}
.mai-login-intro{max-width:640px;font-size:19px;line-height:1.45;color:#52627a;margin:0 0 27px}
.mai-login-form{display:block}
.mai-login-field{display:block;margin:18px 0 0;color:#18253a;font-size:17px;font-weight:850}
.mai-login-field>span:first-child{display:block;margin-bottom:8px}
.mai-input-wrap{position:relative;display:block}
.mai-input-wrap input{
  width:100%;height:60px;
  padding:14px 16px 14px 56px;
  border:1.5px solid #c8d6e8;
  border-radius:14px;
  background:#fff;
  font-size:17px;
  color:#14223a;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.025);
  transition:border-color .18s,box-shadow .18s,background .18s;
}
.mai-input-wrap input:focus{outline:none;border-color:#3888ef;box-shadow:0 0 0 4px rgba(59,130,246,.11);background:#fff}
.mai-input-wrap input::placeholder{color:#8a99ad}
.mai-field-icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);width:23px;height:23px;z-index:2;opacity:.72;color:#5f7696}
.mai-user-icon:before{content:"";position:absolute;width:9px;height:9px;border:2px solid currentColor;border-radius:50%;left:5px;top:0}
.mai-user-icon:after{content:"";position:absolute;width:18px;height:10px;border:2px solid currentColor;border-bottom:0;border-radius:12px 12px 0 0;left:0;bottom:0}
.mai-lock-icon:before{content:"";position:absolute;left:3px;bottom:0;width:17px;height:15px;border:2px solid currentColor;border-radius:4px}
.mai-lock-icon:after{content:"";position:absolute;left:7px;top:0;width:9px;height:11px;border:2px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0}
.mai-login-submit{
  width:100%;height:60px;
  margin:28px 0 0;
  border:0;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:19px;font-weight:800;cursor:pointer;
  background:linear-gradient(180deg,#2d8cff,#0867ea);
  box-shadow:0 12px 24px rgba(13,103,234,.23),inset 0 1px 0 rgba(255,255,255,.22);
  letter-spacing:.1px;
}
.mai-login-submit:hover{filter:none;background:linear-gradient(180deg,#2185ff,#075fd7);transform:translateY(-1px)}
.mai-login-submit:active{transform:translateY(0)}
.mai-login-arrow{display:inline-grid;place-items:center;margin-right:8px;font-size:25px;vertical-align:-2px}
.mai-login-footer{
  padding:18px 28px 20px;
  border-top:1px solid #e8eef5;
  background:#fbfdff;
  color:#61728b;
  font-size:13px;
  text-align:center;
}
.mai-login-footer span{padding:0 10px;color:#a2afc0}
@media(max-width:760px){
  .login-page{padding:12px;min-height:calc(100vh - 24px);place-items:start center}
  .mai-login-shell{width:min(100%,620px);margin:12px auto;border-radius:19px}
  .mai-login-brand{padding:26px 24px}
  .mai-login-brand-main{grid-template-columns:74px 1fr;gap:18px}
  .mai-login-logo{width:72px;height:72px;min-width:72px;border-radius:14px;font-size:45px}
  .mai-login-brand-copy h1{font-size:25px}
  .mai-login-product{font-size:22px}
  .mai-login-brand-copy p{font-size:14px;margin-top:8px}
  .mai-document-mark{display:none}
  .mai-login-card-body{padding:28px 24px 30px}
  .mai-login-card-body h2{font-size:27px}
  .mai-login-intro{font-size:16px}
  .mai-input-wrap input{height:56px}
  .mai-login-submit{height:56px}
  .mai-login-footer{font-size:11px;padding:15px 12px}
  .mai-login-footer span{padding:0 4px}
}


/* Latest 28 day numbering + document actions */
.day-number{width:46px;text-align:center;font-weight:800;white-space:nowrap}
.document-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.email-send-btn{white-space:nowrap}
@media (max-width:720px){.document-actions{align-items:stretch;flex-direction:column}.document-actions .btn{width:100%;text-align:center}.day-number{width:36px}}

/* Fahrzeugwechsel F1/F2/F3 – 2026-09-09 */
.current-day-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.current-day-main{min-width:0}
.vehicle-info-card{background:#f7f9fc;border:1px solid #dbe3ef;border-radius:16px;padding:18px;box-shadow:0 2px 8px rgba(20,35,60,.04)}
.vehicle-info-card h3{margin:0 0 10px;font-size:19px}
.vehicle-info-card p{line-height:1.45}
.continue-vehicle-form{display:grid;gap:12px;margin-top:16px}
.continue-vehicle-form label{display:grid;gap:6px;font-weight:700}
.continue-vehicle-form input,.continue-vehicle-form select{width:100%}
@media (max-width:900px){.current-day-layout{grid-template-columns:1fr}.vehicle-info-card{margin-top:6px}}

/* Fahrzeugwechsel direkt unter dem Status */
.vehicle-info-top{margin:14px 0 18px;max-width:none;width:auto}
.vehicle-info-top .continue-vehicle-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) minmax(140px,.7fr) auto;gap:12px;align-items:end}
.vehicle-info-top .continue-vehicle-form .muted.small{grid-column:1/-1;margin:0}
@media(max-width:900px){.vehicle-info-top .continue-vehicle-form{grid-template-columns:1fr}}

/* Formular Fahrzeugwechsel: Fahrzeug / Ort / Km Anfang exakt auf einer Hoehe */
.vehicle-info-top .continue-vehicle-form{align-items:start}
.vehicle-info-top .continue-vehicle-form > label{align-self:start}
.vehicle-info-top .continue-vehicle-form > label > select,
.vehicle-info-top .continue-vehicle-form > label > input{height:48px;box-sizing:border-box}
.vehicle-info-top .continue-vehicle-form > button{margin-top:28px;height:48px;align-self:start}
@media(max-width:900px){
  .vehicle-info-top .continue-vehicle-form > button{margin-top:0}
}

/* Tageskontrollblatt: Zeitdiagramm in zwei 12-Stunden-Bloecke */
.timegraph-split{margin-top:8px}
.sheet-grid.second .sheet-box{padding-top:7px;padding-bottom:7px}


/* Kompakte Druckdarstellung: beide 12-Stunden-Diagramme niedriger,
   damit Zusammenfassung, Hinweise und Unterschrift sicher auf eine A4-Seite passen. */


/* Drucklayout v15: drei Spalten wie in der Skizze — Zeiten | Strecke | Hinweis */
.print-bottom-layout.print-bottom-three{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.9fr) minmax(0,2.35fr);
  gap:8px;
  margin-top:7px;
  align-items:stretch;
}
.print-bottom-three>.sheet-box,
.print-bottom-three>.print-bottom-right{min-width:0}
.time-summary-box{display:flex;flex-direction:column;gap:5px}
.time-summary-box>div{display:grid;grid-template-columns:minmax(86px,auto) 1fr;gap:8px;align-items:baseline}
.time-summary-box span{white-space:nowrap}
.distance-summary-box div,.hint-summary-box div{margin-top:4px}
.print-bottom-right{display:flex;flex-direction:column;min-width:0}
.hint-summary-box{flex:1;overflow-wrap:anywhere}
.print-bottom-right .signature{margin-top:12px}


/* Drucklayout v16: kompakte drei Spalten, Bildschirmansicht = Ausdruck */
.print-bottom-layout.print-bottom-three{
  display:grid;
  grid-template-columns:minmax(0,25%) minmax(0,19%) minmax(0,56%);
  gap:4px;
  margin-top:5px;
  align-items:stretch;
}
.time-summary-box{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:5px 6px;
  min-height:0;
}
.time-summary-box>div{
  display:grid;
  grid-template-columns:minmax(82px,auto) 1fr;
  gap:5px;
  align-items:baseline;
  line-height:1.05;
}
.distance-summary-box,.hint-summary-box{
  padding:5px 6px;
  min-height:0;
}
.distance-summary-box div,.hint-summary-box div{margin-top:2px}
.hint-summary-box{overflow-wrap:anywhere}
.print-bottom-right .signature{margin-top:7px}

/* Bildschirmvorschau soll dem Ausdruck möglichst genau entsprechen */
#printArea.print-sheet{box-sizing:border-box}


/* V42: 10 mm Abstand vom oberen Papierrand beim Drucken */


/* V43: Zeitdiagramm beim Drucken exakt auf volle Inhaltsbreite ausrichten */


/* V44: печать — 18 mm сверху, 10 mm справа; диаграмма без внутреннего сжатия */


/* V46: A4 Querformat – без заданных полей, весь Tageskontrollblatt на одной странице */


/* V47: A4 Querformat – 10 mm Rand auf allen Seiten, alles auf einer Seite */

/* ===== Druck / PDF: konsolidiert 2026-09-10 =====
   Einzige Druckdefinition im Stylesheet.
   Ziel: A4 Querformat, 10 mm Rand rundum, exakt eine Seite,
   ohne rechts verlorene Breite durch Zoom. */
@media print {
  /* Единственная печатная конфигурация: A4 landscape, 20 mm со всех сторон. */
  @page {
    size: A4 landscape;
    margin: 20mm;
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  body * {
    visibility: hidden !important;
  }

  #printArea,
  #printArea * {
    visibility: visible !important;
  }

  .print-toolbar,
  .no-print,
  .language-menu,
  .site-footer,
  .print-language-note {
    display: none !important;
  }

  /* A4 landscape 297 x 210 mm minus 20 mm on each side = 257 x 170 mm.
     No zoom and no artificial oversized width: this prevents clipping on the right. */
  #printArea.print-sheet {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 257mm !important;
    max-width: 257mm !important;
    min-width: 257mm !important;
    height: auto !important;
    max-height: 170mm !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    zoom: 1 !important;
    transform: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  #printArea.print-sheet > * {
    box-sizing: border-box !important;
    max-width: 100% !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  .sheet-grid {
    width: 100% !important;
    max-width: 100% !important;
    gap: 1.2mm !important;
    margin: 0 0 1.2mm 0 !important;
    padding: 0 !important;
  }

  .sheet-grid.top {
    grid-template-columns: 2fr 1fr 1fr !important;
  }

  .sheet-grid.fourcols {
    grid-template-columns: 1.45fr 1.45fr .8fr .8fr !important;
  }

  .sheet-box {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 1.35mm 1.55mm !important;
    font-size: 9.5pt !important;
    line-height: 1.05 !important;
    border: .3mm solid #777 !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  .sheet-box b {
    font-size: 9.5pt !important;
    line-height: 1.05 !important;
  }

  .sheet-title {
    font-size: 12pt !important;
    line-height: 1.03 !important;
  }

  .legal-reference {
    font-size: 8pt !important;
    margin-top: .35mm !important;
  }

  .document-purpose {
    font-size: 7.5pt !important;
    line-height: 1.05 !important;
    margin-top: .2mm !important;
  }

  /* Диаграмма начинается точно по той же левой границе, что и остальные блоки. */
  .timegraph,
  .timegraph.timegraph-split {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 72mm !important;
    margin: .6mm 0 .8mm 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .timegraph text {
    font-size: 11px !important;
  }

  .print-bottom-layout.print-bottom-three {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 25% 19% 56% !important;
    gap: .8mm !important;
    margin: .8mm 0 0 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
  }

  .print-bottom-three > .sheet-box,
  .print-bottom-three > .print-bottom-right {
    min-width: 0 !important;
  }

  .time-summary-box {
    display: flex !important;
    flex-direction: column !important;
    gap: .35mm !important;
    padding: 1.1mm 1.3mm !important;
  }

  .time-summary-box > div {
    display: grid !important;
    grid-template-columns: 20mm 1fr !important;
    gap: .8mm !important;
    align-items: baseline !important;
    line-height: 1.02 !important;
  }

  .time-summary-box span {
    white-space: nowrap !important;
  }

  .distance-summary-box,
  .hint-summary-box {
    padding: 1.1mm 1.3mm !important;
  }

  .distance-summary-box div,
  .hint-summary-box div {
    margin-top: .35mm !important;
  }

  .print-bottom-right {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
  }

  .hint-summary-box {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    overflow-wrap: anywhere !important;
  }

  /* Оставляем реальное свободное место для подписи перед линией. */
  .print-bottom-right .signature,
  .signature {
    box-sizing: border-box !important;
    width: 60mm !important;
    min-height: 0 !important;
    margin: 11mm 2mm 0 auto !important;
    padding-top: 1mm !important;
    border-top: .3mm solid #333 !important;
    font-size: 9pt !important;
    line-height: 1.03 !important;
    text-align: center !important;
  }

  .vehicle-change-note {
    margin: .8mm 0 0 !important;
    padding: 1mm 1.3mm !important;
    font-size: 9pt !important;
    line-height: 1.08 !important;
    border: .3mm solid #333 !important;
  }

  .vehicle-change-note .vehicle-note-detail {
    font-size: 7.8pt !important;
  }

  .document-security {
    margin: 1.2mm 0 0 !important;
    padding-top: 1mm !important;
    width: 66% !important;
    font-size: 7.4pt !important;
    line-height: 1.1 !important;
    border-top: .25mm solid #777 !important;
  }

  .document-security span {
    font-size: 6.8pt !important;
    line-height: 1.08 !important;
  }

  .document-footer {
    margin: .8mm 0 0 !important;
    font-size: 7pt !important;
    line-height: 1.02 !important;
    text-align: left !important;
  }

  .employer-confirm {
    margin-top: 1.2mm !important;
    width: 72% !important;
    font-size: 9pt !important;
  }

  .confirm-lines {
    margin-top: 3mm !important;
    padding-top: .8mm !important;
  }
}
.control-share{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center;margin-top:18px;padding:18px;border:1px solid #d8dde5;border-radius:14px}.control-qr{width:200px;height:200px;max-width:100%;background:#fff}.wide-input{width:100%;max-width:720px}.inline-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}@media(max-width:700px){.control-share{grid-template-columns:1fr}.control-qr{width:180px;height:180px}}
.inline-form-gap{margin-bottom:6px}.end-day-wrap{margin-top:15px}.end-day-disabled{opacity:.45;cursor:not-allowed}.compact-note{margin:8px 0 0}.full-width{width:100%}
.mfa-qr{max-width:280px;margin:18px auto;padding:14px;background:#fff;border-radius:12px}.mfa-qr svg{width:100%;height:auto;display:block}pre{white-space:pre-wrap;word-break:break-word}

/* V23 separate test-system marker */
.test-system-banner{position:sticky;top:0;z-index:9999;text-align:center;padding:7px 12px;background:#fff0b8;border-bottom:1px solid #d6b84f;color:#5c4700;font-weight:800;letter-spacing:.04em;font-size:13px}
