/* GESTALTUNG: Diese Datei verändert Aussehen und Anordnung, nicht die gespeicherten Daten. --brand und --accent sind wiederverwendete Farben. */
:root{color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#e9edf2;color:#262b31;--brand:#099cf4;--accent:#076da9;--muted:#677580;--line:#e9edf2}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}
/* Begrenzt die App auf großen Bildschirmen; auf dem Handy nutzt sie den verfügbaren Platz. */
.app-shell{max-width:820px;margin:auto;min-height:100svh;background:#f5f7fa}
/* sticky hält die Kopfzeile beim Scrollen oben. safe-area berücksichtigt Aussparungen am Handy. */
.app-header{height:calc(76px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 24px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#f5f7fa;position:sticky;top:0;z-index:5}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:#292b2d;font-weight:800;font-size:25px;letter-spacing:-1px}.brand-symbol,.welcome-icon{display:grid;place-items:center;background:var(--brand);color:#132d42;font-weight:800;border-radius:13px}.brand-symbol{height:37px;width:37px;font-size:31px}.brand-sub{font-weight:400;letter-spacing:0;font-size:13px;margin-left:7px;color:var(--muted)}
.connection{font-size:12px;color:#327c6d;display:flex;align-items:center;gap:6px;background:#e3f2ec;padding:7px 10px;border-radius:20px}.connection>span{width:6px;height:6px;border-radius:100%;background:#2b9c79}.connection.offline{background:#fff0d4;color:#8b5c12}.connection.offline>span{background:#ba7e1c}
main{padding:25px 22px calc(126px + env(safe-area-inset-bottom))}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:3px 0 24px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;color:var(--muted);margin:0 0 8px}h1{font-size:34px;letter-spacing:-1.2px;line-height:1.15;margin:0;font-weight:750}h2{font-size:16px;margin:0;letter-spacing:-.3px}.heading-icon{height:42px;width:42px;background:#e7f3fc;color:var(--accent);display:grid;place-items:center;border-radius:50%;font-size:23px}
button{border:0;border-radius:12px;background:var(--brand);color:#132d42;font-weight:650;min-height:48px;padding:12px 18px}button:hover{filter:brightness(.97)}button:focus-visible,a:focus-visible{outline:3px solid #099cf4;outline-offset:3px}button.secondary{background:#e9edf2;color:#3c4c5b}.primary{display:flex;justify-content:space-between;align-items:center}
/* Gemeinsames Aussehen von Formularen, Beschriftungen und Eingabefeldern. */
form{display:grid;gap:18px}label{font-size:13px;font-weight:650;display:grid;gap:8px;min-width:0}input{width:100%;min-width:0;min-height:50px;padding:13px 14px;border:1px solid #dce3ea;border-radius:11px;background:white;color:#262b31;font-size:16px;outline:none}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #099cf420}input::placeholder{color:#73818e;font-size:14px}
.searchbar{display:flex;align-items:center;gap:10px;background:white;border:1px solid #e0e6ed;border-radius:14px;padding:5px 7px 5px 14px;box-shadow:0 3px 12px #172d4603}.searchbar>svg{height:19px;width:19px;flex-shrink:0;fill:none;stroke:#718596;stroke-width:1.8}.searchbar input{border:0;background:transparent;padding-left:0;box-shadow:none;min-height:42px}.searchbar button{min-height:40px;padding:8px 12px;background:#e8f4fd;color:var(--accent);font-size:20px}
.list-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:26px 2px 12px}.list-heading h2{font-size:14px}.list-heading>span{font-size:11px;color:var(--muted)}
/* Darstellung der Adresskarten, die addresses.js aus den Serverdaten erzeugt. */
#address-list,#address-favorites{display:grid;gap:9px}.address-card{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:white;color:#303941;padding:15px 13px;border:1px solid #e9edf2;border-radius:14px;min-height:83px;box-shadow:0 2px 4px #19334d02}.contact-avatar{flex:0 0 42px;height:44px;display:grid;place-items:center;border-radius:12px;background:#e9f3fd;color:#316b96;font-size:13px;font-weight:750}.address-card:nth-child(3n+2) .contact-avatar{background:#eef1f5;color:#5a6c7d}.address-card:nth-child(3n) .contact-avatar{background:#e4f3fc;color:#2679a8}.contact-copy{min-width:0;flex:1}.contact-name{display:block;font-size:14px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.address-card small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:5px}.contact-arrow{color:#899eae;font-size:23px;font-weight:400}
.pagination{display:flex;justify-content:space-between;gap:16px;margin:19px 0}.pagination button{min-height:44px;font-size:12px;background:transparent;color:#4d647a}
.fab{position:fixed;bottom:calc(95px + env(safe-area-inset-bottom));right:max(22px,calc((100vw - 776px)/2));box-shadow:0 6px 20px #099cf43b;border-radius:18px;min-height:54px;display:flex;align-items:center;gap:8px;z-index:6;font-size:14px}.fab>span{font-size:23px;font-weight:400}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);max-width:820px;width:100%;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(18px);border-top:1px solid #e2e8ef;display:flex;justify-content:space-around;z-index:7}.bottom-nav button{display:grid;justify-items:center;gap:4px;width:30%;padding:5px 10px;background:transparent;color:#667d90;font-size:10px;border-radius:12px}.bottom-nav button[aria-current]{background:#e4f2fc;color:var(--accent)}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.login-card{max-width:380px;margin:24px auto}.welcome-icon{width:64px;height:64px;font-size:48px;margin:0 0 32px}.login-card h1{font-size:30px;line-height:1.2}.intro,.login-note{font-size:14px;color:var(--muted);line-height:1.7}.login-card form{margin-top:30px}.login-note{font-size:11px;margin-top:24px;text-align:center}
.scanner,.settings-card,.account-card{background:white;border:1px solid var(--line);border-radius:18px;padding:24px}.scanner{text-align:center}.scanner label{text-align:left;margin:24px 0 9px}.scanner p{color:var(--muted);font-size:14px;line-height:1.6}.scan-visual{height:145px;width:180px;border:2px solid #8cccf3;border-radius:18px;margin:12px auto 28px;display:grid;place-items:center;position:relative;background:#f0f8fe;overflow:hidden}.scan-visual>span{font-size:56px;color:#366e92;letter-spacing:-5px}.scan-visual>i{position:absolute;left:0;right:0;height:2px;top:50%;background:#099cf4;box-shadow:0 0 13px #099cf4}.scan-result{text-align:left;margin-top:28px;border-top:1px solid var(--line);padding-top:20px}#barcode-result{font-size:16px;overflow-wrap:anywhere;display:block;line-height:1.5}
.account-card{display:flex;align-items:center;gap:16px;margin-bottom:20px}.account-card p{margin:5px 0 0;color:var(--muted);font-size:13px}.account-avatar{width:48px;height:48px;border-radius:50%;background:#e5f3fd;color:var(--accent);display:grid;place-items:center;font-weight:700}.settings-card{padding:0 20px}.settings-card>div{display:flex;justify-content:space-between;gap:10px;padding:19px 0;font-size:12px}.settings-card>div+div{border-top:1px solid var(--line)}.settings-card span{color:var(--muted)}.logout{width:100%;margin-top:18px}
/* Statusmeldungen über dem Seiteninhalt; ein leerer Meldungsbereich wird ausgeblendet. */
.feedback{position:fixed;bottom:calc(155px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 44px);max-width:650px;border-radius:12px;background:#273746;color:white;padding:14px 18px;font-size:13px;line-height:1.5;z-index:8;box-shadow:0 8px 28px #1a2d442b;margin:0}.feedback:empty{display:none}
dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:0;border-radius:22px;padding:28px;background:#f5f7fa;color:#262b31;box-shadow:0 20px 90px #10283c40;overscroll-behavior:contain}dialog::backdrop{background:#15283d80;backdrop-filter:blur(4px)}dialog h2{font-size:23px;letter-spacing:-.6px;margin:0 0 14px}dialog>p,#edit-id{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 20px}.toolbar{display:flex;gap:12px;align-items:end}.toolbar>*{flex:1;min-width:0}.dialog-feedback{font-size:13px;line-height:1.5;color:#076da9;background:#e5f3fd;border-radius:10px;padding:12px}.dialog-feedback:empty{display:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

@media(prefers-reduced-motion:no-preference){dialog[open]{animation:appear .18s ease-out}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}

/* Palette adapted from aevo.at: brand blue #099cf4, white and anthracite. */
.brand-symbol,.welcome-icon{background:var(--brand);color:#132d42}
button:hover:not(:disabled){filter:brightness(.96)}


/* The form scrolls independently; actions remain inside the visible viewport. */
dialog{
  position:fixed;top:calc(var(--dialog-top,0px) + 16px);bottom:auto;left:0;right:0;
  margin:0 auto;padding:24px 24px 0;
  height:min(760px,calc(var(--dialog-visible-height,100dvh) - 32px));
  max-height:calc(var(--dialog-visible-height,100dvh) - 32px);overflow:hidden;
}
dialog[open]{display:flex;flex-direction:column}
dialog #detail{display:contents}
dialog h2,dialog>p,dialog #edit-id,dialog .dialog-feedback{flex-shrink:0}
dialog .dialog-feedback{max-height:70px;overflow:auto;margin:0 0 10px}
dialog form{display:flex;flex-direction:column;flex:1;min-height:0;gap:0}
/* Nur die Eingabefelder scrollen. Der nachfolgende Aktionsbereich bleibt außerhalb dieser Scrollfläche. */
.dialog-fields{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:grid;align-content:start;gap:18px;padding:4px 4px 20px;scroll-padding:12px}
/* Zwei gleich breite Spalten halten Speichern und Abbrechen nebeneinander. */
.dialog-actions{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:14px 0 max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#f5f7fa}
.dialog-actions button{width:100%;min-width:0;min-height:48px;padding:12px 8px;white-space:nowrap;font-size:14px}
/* Auf kleinen Bildschirmen füllt der Dialog den sichtbaren Bereich. Die Höhe liefert dialog-viewport.js. */
@media(max-width:600px){
  dialog{width:100%;max-width:100%;height:var(--dialog-visible-height,100dvh);max-height:var(--dialog-visible-height,100dvh);top:var(--dialog-top,0px);margin:0;border-radius:0;padding:max(16px,env(safe-area-inset-top)) 18px 0}
  dialog h2{font-size:21px;margin-bottom:8px}
  dialog>p,dialog #edit-id{margin-bottom:12px}
  .dialog-fields{gap:14px}
}

/* App launcher and return navigation */
main{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
.home-intro{color:var(--muted);font-size:15px;margin:-8px 0 26px}
/* Kacheln des Startbildschirms: standardmäßig zwei Spalten, ab 650 Pixeln drei. */
.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:190px;text-align:left;padding:22px 18px;background:white;color:#262b31;border:1px solid #e0e6ed;border-radius:20px;box-shadow:0 4px 14px #132d4204}
.tile-icon{width:52px;height:52px;display:grid;place-items:center;background:#e5f3fd;color:var(--accent);border-radius:16px;margin-bottom:8px}
.tile-icon svg{width:27px;height:27px}
.home-tile strong{font-size:18px;letter-spacing:-.3px}
.home-tile>span:not(.tile-icon):not(.tile-arrow){font-size:12px;font-weight:400;color:var(--muted);line-height:1.5}
.tile-arrow{position:absolute;right:18px;top:18px;font-size:20px;color:#8aa7ba}
.home-footnote{font-size:12px;color:var(--muted);margin-top:32px}
.back-home{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 0;margin:-10px 0 15px;background:transparent;color:var(--accent);font-size:14px}
.back-home>span{font-size:22px}
.fab{bottom:calc(24px + env(safe-area-inset-bottom))}
.feedback{bottom:calc(94px + env(safe-area-inset-bottom))}
.app-view h1:focus{outline:none}
@media(min-width:650px){.home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:340px){.home-grid{gap:10px}.home-tile{padding:18px 12px}}

/* Original AEVO logo, bundled locally for the PWA. */
/* Original-Logo proportional skalieren; height:auto verhindert Verzerrungen. */
.brand-logo{display:block;width:138px;height:auto;flex-shrink:0}.brand .brand-sub{margin-left:0}.welcome-logo{display:block;width:184px;max-width:100%;height:auto;margin:0 0 32px}

/* Lagerumbuchung: gut bedienbare Felder, Erfassung und Übersicht auf kleinen Displays. */
.warehouse-tabs,.warehouse-search,.warehouse-actions{display:flex;gap:10px;margin-bottom:18px}
.warehouse-tabs>button,.warehouse-actions>button{flex:1;min-width:0;padding:12px 8px}
.warehouse-tabs [aria-pressed="true"]{background:var(--brand);color:#132d42}
.warehouse-card{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;margin:14px 0;overflow-wrap:anywhere}
.warehouse-card form{gap:16px}.warehouse-search{margin:0}.warehouse-search input{min-width:0;flex:1}.warehouse-search button{flex-shrink:0}
.warehouse-results{display:grid;gap:8px;margin:14px 0}.warehouse-card p{line-height:1.5}
#warehouse-feedback:not(:empty){padding:14px;background:#e5f3fd;border-radius:12px;line-height:1.5;font-size:14px;overflow-wrap:anywhere}
#view-warehouse h1{font-size:clamp(24px,7vw,34px)}
#view-warehouse select{width:100%;min-width:0;font:inherit;font-size:16px;min-height:50px;border:1px solid #dce3ea;border-radius:11px;padding:12px;background:white;color:#262b31}
#warehouse-review .warehouse-actions{position:sticky;bottom:0;background:#f5f7fa;padding:12px 0 max(12px,env(safe-area-inset-bottom))}

/* Rückmeldung direkt bei der Erfassung statt außerhalb des sichtbaren Handy-Bereichs. */
.warehouse-line-feedback:empty{display:none}.warehouse-line-feedback:not(:empty){margin:0;padding:14px;background:#e5f3fd;color:#174466;border-radius:12px;font-size:14px;line-height:1.5;overflow-wrap:anywhere;scroll-margin:90px 0 20px}#warehouse-feedback{scroll-margin-top:90px}

/* Originale weiße AEVO-Mobile-Icons: für den hellen Hintergrund dunkel darstellen. */
.tile-icon.original-aevo-icon{width:64px;height:64px}.original-aevo-icon img{display:block;width:52px;height:52px;object-fit:contain;filter:brightness(0);opacity:.72}

/* Dashboard: Karten bleiben am Zebra untereinander; große Displays nutzen zwei Spalten. */
.dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px}
.dashboard-toolbar select{min-height:48px;border:1px solid #dce3ea;border-radius:12px;padding:10px;background:white;font:inherit}
.dashboard-toolbar button{white-space:nowrap}
#dashboard-status{font-size:12px;color:var(--muted);min-height:18px}
.dashboard-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.dash-card{min-width:0;background:#fff;border:1px solid #dfe7ee;border-radius:18px;padding:19px;box-shadow:0 4px 16px #172d4604}
.dash-card h2{font-size:14px;color:var(--accent);margin-bottom:17px}
.dash-card h3{font-size:12px;margin:22px 0 10px;text-transform:uppercase;letter-spacing:.5px}
.dash-total{font-size:clamp(24px,6vw,32px);font-weight:750;letter-spacing:-.8px;overflow-wrap:anywhere}
.dash-caption{font-size:12px;color:var(--muted);line-height:1.6;margin:7px 0 16px}
.dash-card svg{width:100%;height:auto;display:block;margin-top:20px;overflow:visible}
.dash-gridline{stroke:#e5ebf0;stroke-width:1}
.dash-axis{font:12px sans-serif;fill:#677580}
.dash-current{fill:none;stroke:#099cf4;stroke-width:3;stroke-linejoin:round}
.dash-previous{fill:none;stroke:#8e9ea9;stroke-width:2;stroke-dasharray:6 5}
.dash-dot{fill:#099cf4}
.dash-legend{font-size:11px;color:var(--accent);text-align:center;margin:0 0 18px}
.dash-pair{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-top:1px solid #eef1f5;padding:11px 0;font-size:12px}
.dash-pair span{color:var(--muted)}.dash-pair strong{text-align:right;font-variant-numeric:tabular-nums}
.dash-ranking{padding-left:20px;font-size:12px;margin:0;max-height:430px;overflow:auto}
.dash-ranking li{padding:12px 0 12px 3px;border-bottom:1px solid #eef1f5}
.dash-ranking li::marker{color:var(--muted);font-weight:600}
.dash-rank-body strong{display:block;overflow-wrap:anywhere;line-height:1.4}
.dash-ranking small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.dash-rank-values{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:8px;font-variant-numeric:tabular-nums}
.dash-definitions{grid-column:1/-1;font-size:12px;color:var(--muted);line-height:1.7;padding:10px 2px}
.dash-definitions summary{cursor:pointer;font-weight:650}
@media(max-width:600px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.dash-card{padding:18px}.dashboard-toolbar{gap:8px}.dashboard-toolbar button{padding:12px}.dash-ranking{max-height:none}}

/* Zeiterfassung: große Bedienelemente für Touchscreen und Zebra. */
.time-toolbar{display:flex;align-items:end;gap:12px;margin-bottom:20px}.time-toolbar label{flex:1}.time-toolbar button{white-space:nowrap}
.time-summary{background:white;border:1px solid #dfe7ee;border-radius:20px;text-align:center;padding:26px 18px;margin:18px 0}
.time-clock{display:block;font-size:58px;letter-spacing:-2px;color:var(--accent);font-variant-numeric:tabular-nums}
.time-summary>span,.time-balances span{display:block;color:var(--muted);font-size:12px;margin:5px}
.time-balances{display:grid;grid-template-columns:1fr 1fr;margin:26px 0}.time-balances strong{font-size:25px;font-variant-numeric:tabular-nums}
.time-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.time-activity{background:white;border:1px solid #dfe7ee;display:flex;align-items:center;gap:14px;text-align:left;min-width:0;color:#263d4e}
.time-actions .time-activity{flex-direction:column;justify-content:center;padding:16px 8px;font-size:13px;text-align:center}
.time-action-icon{font-size:28px;color:var(--accent)}.time-activity strong{overflow-wrap:anywhere}
.time-activity-row{display:flex;gap:8px;margin:9px 0}.time-activity-row .time-activity{flex:1}.time-star{font-size:22px}
.time-history{margin-top:30px}.time-history-entry{background:white;border:1px solid #e1e7ee;border-radius:12px;padding:16px;margin:10px 0;display:grid;gap:6px}
.time-history-entry span,.time-history-entry small{font-size:12px;color:var(--muted)}.time-history-entry p{margin:3px 0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
#time-feedback,#time-dialog-feedback{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
#time-form textarea{font:inherit;width:100%;border:1px solid #dce3ea;border-radius:11px;padding:12px;resize:vertical;font-size:16px}
#time-check{margin-top:15px;width:100%}
@media(max-width:420px){.time-toolbar{gap:8px}.time-toolbar button{padding:12px 10px;font-size:12px}.time-toolbar input{padding:10px 6px}}

/* Gut lesbare Diagramme: volle Breite, feste Schriftgröße und exakte Monatswerte. */
.dash-chart-card{grid-column:1/-1}
.dash-axis{font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;fill:#455563;font-weight:400}
.dash-legend{font-size:14px;margin:4px 0 18px}
.dash-monthly{font-size:13px;margin:8px 0 18px}
.dash-monthly summary{cursor:pointer;color:var(--accent);font-weight:650;padding:10px 0}
.dash-monthly table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.dash-monthly th,.dash-monthly td{padding:10px 4px;border-bottom:1px solid #e7edf2;text-align:right}
.dash-monthly th:first-child{text-align:left}
@media(max-width:420px){.dash-monthly{font-size:11px}.dash-monthly th,.dash-monthly td{padding:10px 2px}}

/* Diagrammtext darf die Kontur der Navigations-Icons nicht erben. */
.dash-card svg{stroke:none}.dash-axis{stroke:none;font-weight:400}

/* Gemeinsamer Zurück-Button neben dem Verbindungsstatus. */
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.header-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 10px;background:#e7f3fc;color:var(--accent);font-size:13px;font-weight:500;white-space:nowrap}.header-back span{font-size:20px}.app-header{gap:12px}@media(max-width:420px){.app-header{padding-left:14px;padding-right:14px;gap:8px}.brand-logo{width:110px}.brand .brand-sub{display:none}.header-actions{gap:6px}.header-back{padding:8px}.connection{padding:7px 8px}}

/* Gemeinsame, eigens gestaltete Linien-Icons für alle Startkacheln. */
.home-tile .tile-icon{width:56px;height:56px;border-radius:17px;background:#e5f3fd;color:var(--accent)}
.home-tile .tile-icon svg{display:block;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}

/* Adressinformation: horizontale Reiter, auf kleinen Geräten seitlich scrollbar. */
.address-info-heading h2{font-size:25px;margin-top:22px;overflow-wrap:anywhere}
.address-info-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.sync-log-scroll{max-width:100%;overflow-x:auto;margin:12px 0}.sync-log-scroll table{border-collapse:collapse;width:100%;font-size:13px}.sync-log-scroll th,.sync-log-scroll td{text-align:left;padding:8px;border-bottom:1px solid #d8dfe5;vertical-align:top;min-width:90px;max-width:240px;overflow-wrap:anywhere}#address-sync-log summary{cursor:pointer;padding:10px 0}
.address-tabs{display:flex;overflow-x:auto;gap:6px;padding:6px 0 12px;margin:10px 0 12px;scrollbar-width:thin}
.address-tabs button{flex:0 0 auto;white-space:nowrap;background:#e9edf2;color:#536371;font-size:13px;min-height:44px;padding:10px 13px}
.address-tabs button[aria-selected="true"]{background:var(--accent);color:white}
.address-info-card{background:white;border:1px solid #dfe7ee;border-radius:16px;padding:20px;margin:14px 0}
.address-info-card h2{font-size:17px;line-height:1.4;margin-bottom:16px;overflow-wrap:anywhere}
.address-field{display:flex;gap:16px;justify-content:space-between;align-items:baseline;padding:11px 0;border-bottom:1px solid #eef1f5;font-size:13px}
.address-field>span{color:var(--muted);flex:0 0 35%}.address-field>strong{text-align:right;overflow-wrap:anywhere;min-width:0;font-weight:500}
.address-contact-links{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.address-contact-link{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:10px;color:var(--accent);background:#e5f3fd;text-decoration:none;font-size:13px}
.address-memo{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:14px}
.address-tab-panel>label{margin:12px 0}.address-tab-panel select{font:inherit;font-size:16px;padding:12px;border:1px solid #dce3ea;border-radius:10px;background:white;min-height:48px;width:100%}
.address-revenue-bars{margin-top:22px}.address-revenue-row{display:grid;grid-template-columns:24px minmax(30px,1fr) minmax(95px,auto);gap:10px;align-items:center;padding:9px 0;font-size:12px}
.address-revenue-row strong{font-weight:400;text-align:right;font-variant-numeric:tabular-nums}.address-revenue-row meter{width:100%;height:14px}.address-revenue-row meter::-webkit-meter-optimum-value{background:#099cf4}
.address-article{padding:16px 0;border-bottom:1px solid #dfe7ee}.address-article>strong{display:block;font-size:14px}.address-article small{display:block;color:var(--muted);margin-top:6px}
#address-show-favorites{margin-top:16px}
@media(max-width:420px){.address-info-card{padding:16px}.address-field{font-size:12px;gap:10px}.address-info-name{font-size:22px}}

/* Gemeinsame Kontaktkarte mit eigenem Favoritenknopf, ohne verschachtelte Buttons. */
.contact-row{display:flex;align-items:center;background:#fff;border:1px solid #e9edf2;border-radius:14px;overflow:hidden}
.contact-row .address-card{flex:1;min-width:0;width:auto;border:0;box-shadow:none;border-radius:0}
.contact-favorite{flex:0 0 48px;min-height:48px;margin-right:6px;padding:0;background:transparent;color:#657b8d;font-size:28px;border:0;border-radius:12px}
.contact-favorite[aria-pressed="true"]{color:#0876a7;background:transparent}
.contact-row:nth-child(3n+2) .contact-avatar{background:#eef1f5;color:#5a6c7d}
.contact-row:nth-child(3n) .contact-avatar{background:#e4f3fc;color:#2679a8}
.contact-favorite:focus-visible{outline:2px solid #0876a7;outline-offset:-3px}


/* Hover gehört zur ganzen Kontaktkarte, einschließlich Favoritenstern. */
.contact-row .address-card{background:transparent}
.contact-row button:hover,.contact-row button:hover:not(:disabled){filter:none}
@media (hover:hover){
 .contact-row:hover{background:#f5f5f5}
 .contact-row:hover .contact-favorite{background:transparent}
}
#address-tab-documents form{display:grid;gap:14px}#address-tab-documents form label{display:grid;gap:7px}#address-tab-documents input[type=file]{width:100%;min-width:0;font-size:14px}
.time-current{padding:16px;background:#edf7fc;border-radius:14px;margin:12px 0}.time-current>strong{display:block;font-size:18px;color:#176b91;overflow-wrap:anywhere}.time-current p{margin:8px 0 0}#time-main-actions{margin:12px 0 20px}.time-recommended{border:2px solid #078bc2;background:#e8f6fd}.time-explanation{text-align:left;line-height:1.5;font-size:12px}#time-main-actions .time-activity{min-height:85px}
.warehouse-tabs>button[aria-pressed="false"]{background:#e9edf2;color:#3c4c5b}.warehouse-tabs>button[aria-pressed="true"]{background:var(--brand);color:#132d42}.warehouse-confirm{width:min(440px,calc(100% - 28px));border:0;border-radius:18px;padding:24px}.warehouse-confirm p{line-height:1.5}.warehouse-confirm::backdrop{background:#142b4666}
a.home-tile {text-decoration:none;color:inherit}

/* Dashboard ohne Handy-Breitenlimit: Karten wachsen mit dem Browserfenster. */
.app-shell.dashboard-wide{width:100%;max-width:none}
.dashboard-wide .bottom-nav{max-width:none}
@media(min-width:601px){
  .dashboard-wide main{padding-left:clamp(24px,3vw,56px);padding-right:clamp(24px,3vw,56px)}
  .dashboard-wide .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .dashboard-wide .dash-card{padding:24px}
}
@media(min-width:1280px){
  .dashboard-wide .dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1920px){
  .dashboard-wide .dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Mehr Platz fuer die Auswahl des Geschaeftsjahres. */
.dashboard-toolbar select{min-width:160px}


/* Zusatzfunktionen von den bisherigen AEVO-Modulen trennen. */
.home-extra {margin-top:32px;padding-top:24px;border-top:1px solid #d8e0e8}
.home-extra h2 {margin:0 0 18px;font-size:20px;font-weight:600}
.home-tile>span.tile-test-note {color:#b42318!important;font-size:12px;font-weight:600;margin-top:auto}

/* Beide Elemente in der Kopfzeile erhalten dieselbe sichtbare Höhe. */
.header-actions .header-back,.header-actions .connection{box-sizing:border-box;height:32px;min-height:32px;padding-top:0;padding-bottom:0;line-height:1}
.header-actions .header-back span{line-height:1}


/* Einheitliche Rundung für Zurück und Online in der Kopfzeile. */
.header-actions .header-back,.header-actions .connection{border-radius:12px}

