@font-face{font-family:'Ubuntu';font-style:normal;font-weight:400;font-display:swap;src:url('/index.php?asset=fontregular&v=3.3.0') format('woff')}
@font-face{font-family:'Ubuntu';font-style:normal;font-weight:500;font-display:swap;src:url('/index.php?asset=fontmedium&v=3.3.0') format('woff')}
@font-face{font-family:'Ubuntu';font-style:normal;font-weight:700;font-display:swap;src:url('/index.php?asset=fontbold&v=3.3.0') format('woff')}
:root{font:15px/1.6 'Ubuntu',Arial,sans-serif;color:#173543;background:#f3f6f8;--navy:#06354b;--teal:#087b7c;--muted:#657c88;--line:#dfe8ec}*{box-sizing:border-box}body{margin:0}header{height:100px;background:#fff;border-bottom:1px solid var(--line);padding:0 5%;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:15px}.mark{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--navy);color:#fff;font-size:21px;letter-spacing:-2px;box-shadow:0 6px 14px #06354b15}h1{font-size:24px;letter-spacing:-.8px;margin:0;font-weight:750}header span{font-size:12px;color:var(--muted)}main{max-width:1320px;margin:auto;padding:40px 32px}h2{font-size:32px;line-height:1.2;letter-spacing:-1px;margin:0 0 16px}h3{font-size:20px;line-height:1.35;letter-spacing:-.4px;margin:0 0 12px}p{color:var(--muted);margin:0 0 22px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:24px;color:var(--teal)}.msmark{display:grid;grid-template-columns:repeat(2,8px);gap:2px}.msmark i{width:8px;height:8px;background:#f25022}.msmark i:nth-child(2){background:#7fba00}.msmark i:nth-child(3){background:#00a4ef}.msmark i:nth-child(4){background:#ffb900}#login{display:grid;grid-template-columns:1.06fr 1fr;min-height:580px;border-radius:24px;overflow:hidden;background:white;box-shadow:0 22px 60px #153b4d09;border:1px solid var(--line);padding:0}.welcome-art{padding:56px;background:var(--navy);color:white;position:relative;overflow:hidden}.welcome-art .eyebrow{color:#83cfcb}.welcome-art h2{font-size:44px;line-height:1.16;max-width:370px;color:#fff}.welcome-art p{color:#b8ced8;max-width:330px}.welcome-art:after{content:'';position:absolute;width:280px;height:280px;border:1px solid #ffffff12;border-radius:50%;right:-160px;bottom:-70px;box-shadow:0 0 0 50px #ffffff04,0 0 0 100px #ffffff03}.module-list{margin-top:36px;display:grid;gap:12px}.module-preview{display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid #ffffff18;border-radius:12px;background:#ffffff07}.module-preview b{font-size:14px;font-weight:600}.module-preview small{display:block;color:#a5c1cd;font-size:12px}.module-symbol{font-size:21px;color:#9ad7d1;width:26px}.login-content{padding:65px 56px;display:flex;flex-direction:column;justify-content:center}.login-content h2{font-size:34px}.login-content .primary{align-self:stretch;margin:12px 0 25px;padding:17px}.login-content .small{font-size:12px;line-height:1.7}.login-foot{border-top:1px solid var(--line);padding-top:22px;margin-top:26px;color:var(--muted);font-size:12px}.site-footer{padding:24px 0;text-align:center;color:#81939c;font-size:12px}nav{display:flex;gap:6px;flex-wrap:wrap;padding:7px;border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:32px}nav button{border:0;background:transparent}nav button[aria-current=page]{background:var(--navy);color:white}#logout{margin-left:auto;color:#667c87}.view{background:#fff;border:1px solid var(--line);padding:32px;border-radius:18px}#overview{background:transparent;border:0;padding:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0}.card{border:1px solid var(--line);background:white;padding:28px;border-radius:18px;min-height:245px;position:relative}.card:before{content:'▤';display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#e9f2f5;color:var(--navy);font-size:25px;margin-bottom:24px}.card:nth-child(2):before{content:'▱';background:#e9f4ef;color:#317a5f}.card:nth-child(3):before{content:'◎';background:#f3edf8;color:#7d608e}.card p{font-size:13px;margin:0}.badge{font-size:9px;letter-spacing:1px;font-weight:700;color:#54727e;position:absolute;top:36px;right:23px;background:#f3f6f8;padding:5px 9px;border-radius:6px}.muted,.small{color:var(--muted)}.small{font-size:12px}.adminGrid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px}.avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;display:inline-flex;background:#e1eeef;color:#236067;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;overflow:hidden}.online{background:#269978}label{display:block;margin:14px 0;font-size:13px;font-weight:600}input:not([type=checkbox]),textarea{display:block;width:100%;font:400 14px/1.5 'Ubuntu',Arial,sans-serif;padding:12px 14px;border:1px solid #cfdce2;border-radius:9px;margin-top:7px;background:#fbfcfd;color:var(--navy)}textarea{min-height:84px;resize:vertical}.check{display:flex;gap:8px}input[type=checkbox]{accent-color:var(--teal);width:16px;height:16px}.mine{background:#e0f0eb;border-color:#d5e8e0;margin-left:auto}#profileInfo .avatar{height:96px;width:96px;font-size:28px;margin-bottom:20px}#identity{display:flex;align-items:center;gap:10px}#grants{margin-top:32px}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:10px;margin:20px 0}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:12px;border-bottom:1px solid var(--line);text-align:center}th{background:#f2f6f8;font-size:11px}td:first-child,th:first-child{text-align:left;min-width:190px}#notice:not(:empty){background:#fff6e6;color:#875c1f;border:1px solid #f1ddb8;padding:14px 20px;margin-bottom:24px;border-radius:10px;font-size:13px}.message-card{max-width:630px;margin:8vh auto;background:white;padding:44px;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px #153b4d08}.message-card .mark{margin-bottom:30px}.message-card p{margin:22px 0}.message-card a:not(.primary){color:var(--teal)}:focus-visible{outline:3px solid #2a9cad;outline-offset:3px}[hidden]{display:none!important}@media(max-width:900px){#login{grid-template-columns:1fr}.welcome-art{padding:36px}.welcome-art h2{font-size:34px;max-width:none}.module-list{grid-template-columns:repeat(3,1fr);margin-top:24px}.module-preview{padding:12px;gap:8px}.module-preview small{display:none}.login-content{padding:36px}.cards,.adminGrid{grid-template-columns:1fr}.card{min-height:200px}.brand h1{font-size:20px}}@media(max-width:540px){header{height:84px;padding:0 20px}.brand span{display:none}main{padding:24px 16px}.module-list{grid-template-columns:1fr}.welcome-art{padding:28px}.welcome-art h2{font-size:32px}.login-content{padding:28px}.view{padding:22px}nav button{padding:10px 12px}#logout{margin-left:0}#identity span{max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-card{margin:24px auto;padding:28px}}

.user-actions{margin:24px 0;padding:20px;background:#f5f8fa;border:1px solid var(--line);border-radius:12px}.user-actions p{margin:6px 0 16px}.action-buttons{display:flex;gap:10px;flex-wrap:wrap}.blocked-state{color:#a13232}.active-state{color:var(--navy)}.rights-group{border:1px solid var(--line);border-radius:12px;margin:12px 0;overflow:hidden;background:#fff}.rights-group summary{padding:17px 18px;cursor:pointer;font-weight:650;background:#f5f8fa;list-style-position:inside}.rights-group summary::marker{color:var(--teal)}.rights-count{float:right;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}.rights-group .tablewrap{margin:0;border:0;border-top:1px solid var(--line);border-radius:0}.rights-accordion{margin-bottom:20px}@media(max-width:540px){.rights-count{float:none;display:block;margin-left:18px}.action-buttons button{width:100%}}
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}body>main{flex:1;width:100%}.site-footer{margin-top:auto;padding:24px 20px 28px;text-align:center}.favorite-button{position:absolute;right:16px;top:15px;padding:0;width:36px;height:36px;border:0;background:transparent;font-size:25px;color:#718792;box-shadow:none}.favorite-button[aria-pressed=true]{color:#ba8218;background:#fff5d9}.card .badge{right:62px;top:23px}.card>button:not(.favorite-button){margin-top:24px}.card[data-module=belege]:before{content:'▤';background:#e9f2f5;color:var(--navy)}.card[data-module=vertraege]:before{content:'▱';background:#e9f4ef;color:#317a5f}.card[data-module=hr]:before{content:'◎';background:#f3edf8;color:#7d608e}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.section-heading .eyebrow{margin-bottom:10px}.document-toolbar,.document-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.upload-button{margin:0;cursor:pointer}.document-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;margin-top:20px}.document-layout aside{max-height:900px;overflow:auto}.document-item{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;margin-bottom:8px;text-align:left;overflow-wrap:anywhere;word-break:break-word}.document-item.selected{background:#e7f2f3;border-color:#79b4b3}select{font:inherit;max-width:100%;padding:11px;border:1px solid #cfdce2;border-radius:9px;background:#fff;color:var(--navy)}.document-fields{display:grid;grid-template-columns:1fr;gap:0}.document-fields select{display:block;margin-top:6px;width:100%}#documentCenters{border:1px solid var(--line);border-radius:9px;padding:12px;margin:8px 0}#documentCenters summary{cursor:pointer;font-weight:600}#centerChoices{max-height:250px;overflow:auto}#documentPreview{border:1px solid var(--line);border-radius:12px;width:100%;height:720px;background:#f0f3f5}#documentName{overflow-wrap:anywhere}.secondary-link{color:var(--teal);font-size:13px}.document-actions button{font-size:12px;padding:11px 14px}.document-actions a.primary{font-size:12px}#documentStatus{padding:8px 0}#documentEmpty{padding:45px 25px;text-align:center;background:#f5f8fa;border-radius:14px}@media(max-width:850px){.document-layout{grid-template-columns:1fr}.document-layout aside{max-height:260px}#documentPreview{height:550px}.section-heading{flex-direction:column}} 
:root{--surface:#fff;--page:#f3f6f8;--soft:#f5f8fa;--ink:#173543;--accent:#06354b;color-scheme:light}html[data-theme=dark]{--surface:#152b37;--page:#0d1d27;--soft:#1a3341;--ink:#e6eef2;--navy:#d7e9f0;--muted:#a5bbc6;--line:#304753;--teal:#76cbc5;--accent:#087b7c;color-scheme:dark;background:var(--page);color:var(--ink)}body{background:var(--page);color:var(--ink)}header{position:sticky;top:0;z-index:50;background:var(--surface);gap:16px}.brand{color:var(--ink);text-decoration:none}.brand-logo{width:56px;height:56px;object-fit:contain;flex-shrink:0}.header-controls,.account-controls{display:flex;align-items:center;gap:13px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:8px;border:0;background:transparent;color:var(--navy)}.header-menu{position:relative}.header-menu summary{cursor:pointer;list-style:none}.header-menu summary::-webkit-details-marker{display:none}.menu-panel{position:absolute;right:0;top:52px;min-width:210px;background:var(--surface);border:1px solid var(--line);padding:8px;border-radius:12px;box-shadow:0 12px 35px #0002}.menu-panel button{width:100%;justify-content:flex-start;background:transparent;border:0;text-align:left}.menu-panel button:hover{background:var(--soft)}#logout{font-size:12px;white-space:nowrap;margin-left:0;background:transparent;color:var(--muted);border-color:var(--line);padding:10px 12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.theme-switch{display:inline-flex;position:relative;align-items:center;margin:0;cursor:pointer}.theme-switch input{position:absolute;opacity:0;width:42px;height:24px;margin:0;z-index:2;cursor:pointer}.switch-track{width:42px;height:24px;background:#95a9b4;border-radius:20px;display:block;padding:3px;transition:background .2s}.switch-track:before{content:'';display:block;width:18px;height:18px;border-radius:50%;background:white;transition:transform .2s}.theme-switch input:checked+.switch-track{background:#087b7c}.theme-switch input:checked+.switch-track:before{transform:translateX(18px)}.theme-switch input:focus-visible+.switch-track{outline:3px solid #2a9cad;outline-offset:3px}.settings-card{padding:24px 0;border-bottom:1px solid var(--line);max-width:650px}.settings-card:last-child{border-bottom:0}.settings-card p{margin-bottom:12px}.settings-card select{display:block;margin-top:8px;min-width:220px}body.authenticated>main{max-width:1320px;width:calc(100% - 320px);margin-left:auto;margin-right:320px;padding:36px 28px}body.authenticated>.site-footer{margin-right:320px}html[data-theme=dark] header,html[data-theme=dark] nav,html[data-theme=dark] .view,html[data-theme=dark] .card,html[data-theme=dark] .message-card,html[data-theme=dark] #login{background:var(--surface)}html[data-theme=dark] .welcome-art{background:#06354b}html[data-theme=dark] button,html[data-theme=dark] select,html[data-theme=dark] input:not([type=checkbox]),html[data-theme=dark] textarea{background:var(--soft);color:var(--ink);border-color:var(--line)}html[data-theme=dark] button:hover{background:#284959}html[data-theme=dark] .primary,html[data-theme=dark] nav button[aria-current=page]{background:var(--accent);color:white;border-color:var(--accent)}html[data-theme=dark] .user-actions,html[data-theme=dark] .rights-group summary,html[data-theme=dark] th,html[data-theme=dark] #documentEmpty{background:var(--soft)}html[data-theme=dark] .rights-group{background:var(--surface)}html[data-theme=dark] .mine{background:#18443f}html[data-theme=dark] .badge{background:#263f4c;color:#b8cdd6}html[data-theme=dark] .favorite-button{background:transparent;color:#b8cdd6}html[data-theme=dark] .favorite-button[aria-pressed=true]{color:#ffc04b;background:#443918}html[data-theme=dark] .avatar{background:#284954;color:#c9e8e7}html[data-theme=dark] .danger,html[data-theme=dark] .blocked-state{color:#ffaaa5}html[data-theme=dark] #notice:not(:empty){background:#3e3421;color:#f5cf8a;border-color:#655535}html[data-theme=dark] .document-item.selected{background:#20494c;border-color:#76cbc5}html[data-theme=dark] #overview{background:transparent}
@media(max-width:1200px){body.authenticated .cards{grid-template-columns:1fr}.header-controls,.account-controls{gap:8px}#identity span{font-size:12px}body.authenticated .document-layout{grid-template-columns:1fr}.brand span{display:none}}
@media(max-width:900px){body.authenticated>main{width:100%;margin:auto;padding:24px 20px}body.authenticated>.site-footer{margin-right:0}#identity span{display:none}.header-controls,.account-controls{gap:5px}.brand h1{font-size:19px}.brand-logo{width:44px;height:44px}.brand{gap:10px}}
@media(max-width:540px){header{height:auto;min-height:84px;position:sticky;padding:12px 14px;flex-wrap:wrap;gap:8px}.brand h1{font-size:18px}.brand-logo{width:40px;height:40px}.header-controls{margin-left:auto}#identity .avatar{width:30px;height:30px}#logout{font-size:10px;padding:8px}header .icon-button{width:32px;height:32px}.header-controls .account-controls{flex-wrap:nowrap}.theme-switch{margin-right:3px}.theme-switch input,.switch-track{width:38px}.theme-switch input:checked+.switch-track:before{transform:translateX(14px)}body.authenticated>main{padding:20px 14px}}

/* 3.3.2: flexible workspace, intrinsic sizing and accessible mobile controls. */
:root{--header-height:100px}
header{height:auto;min-height:100px;padding:16px clamp(16px,3vw,48px);flex-shrink:0}
body>main{min-width:0;margin:0 auto}
body.authenticated>main{max-width:none;width:100%;margin:0;padding:clamp(20px,2.5vw,48px)}
body.authenticated>.site-footer{margin-right:0}
.view,.card,.document-layout>* ,.adminGrid>* ,.login-content,.welcome-art{min-width:0}
.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
body.authenticated .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
body.authenticated .document-layout{grid-template-columns:minmax(180px,240px) minmax(0,1fr)}
.document-layout aside{max-height:65vh}
#documentPreview{display:block;height:clamp(360px,70dvh,1100px);max-width:100%}
.section-heading,.document-toolbar,.document-actions{flex-wrap:wrap}
h1,h2,h3,p,.site-footer,#notice{overflow-wrap:anywhere}
.header-controls,.account-controls{flex-shrink:0}
button,.primary,.icon-button,header .icon-button,#logout{min-height:44px}
.icon-button,header .icon-button{min-width:44px}
input:not([type=checkbox]),textarea,select{min-width:0;max-width:100%}
.settings-card select{min-width:0;width:min(100%,320px)}
.check{align-items:flex-start}.check input{flex-shrink:0}
@media(max-width:1100px){
 body.authenticated>main{width:100%;margin:0;padding:24px}
 body.authenticated>.site-footer{margin-right:0}
 .adminGrid{grid-template-columns:1fr}
}
@media(max-width:760px){
 header{min-height:84px;flex-wrap:wrap;gap:10px;padding:12px 16px}
 .header-controls{margin-left:auto;flex-wrap:wrap;gap:6px}
 .account-controls{gap:4px}
 .brand span{display:none}
 body.authenticated>main{padding:20px 16px}
 body.authenticated .document-layout{grid-template-columns:minmax(0,1fr)}
 .document-layout aside{max-height:220px}
 .view{padding:20px}
 .section-heading{flex-direction:column}
 .document-toolbar>*{max-width:100%}
 input:not([type=checkbox]),textarea,select{font-size:16px}
 h2{font-size:28px}
 #documentPreview{height:65dvh;min-height:320px}
}
@media(max-width:420px){
 header .brand{width:100%}
 .header-controls{width:100%;justify-content:flex-end}
 .card{padding:22px}
 .document-actions>*{flex:1 1 130px}
 .login-content,.welcome-art{padding:24px}
 .login-content h2,.welcome-art h2{font-size:28px}
 .menu-panel{min-width:200px;max-width:calc(100vw - 32px)}
}

.menu-version{margin:4px 8px 8px;padding:8px 0 12px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.document-navigation,.document-footer{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.document-footer{margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}
#documentHint{position:fixed;margin:0;max-width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 18px 60px #0003}
#documentHint::backdrop{background:#0003}#hintText{white-space:pre-line}#documentHint form{text-align:right}

#downloadLinks a{display:block;overflow-wrap:anywhere;margin:8px 0}

#serverCheckResult{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}

.analysis-panel{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:18px;margin:18px 0}.analysis-panel h3{font-size:17px}.analysis-panel p{margin-bottom:12px}.analysis-panel summary{cursor:pointer;font-size:13px}#analysisDetails{font-size:13px;padding-left:20px;overflow-wrap:anywhere}

.archive-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end;margin:20px 0}.archive-filters label{margin:0}.archive-filters select{display:block;width:100%;margin-top:7px}.protocol-link{padding:0;border:0;background:transparent;color:var(--teal);text-decoration:underline;text-align:left;justify-content:flex-start;overflow-wrap:anywhere}

.mail-toolbar{margin:18px 0;padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:12px}.mail-toolbar label{font-weight:400}
body.authenticated>main{width:100%;margin:0}
body.authenticated>.site-footer{margin-right:0}
@media(min-width:1101px){
}
body.authenticated .document-layout{grid-template-columns:minmax(0,1fr)}
.document-layout>aside{max-height:170px;overflow:auto}
#documentList{display:flex;gap:8px;overflow:auto}
#documentList .document-item{width:220px;flex-shrink:0}
#documentEditor{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr);gap:24px;align-items:start}
.document-controls,.document-preview-pane{min-width:0}
.document-preview-pane{position:sticky;top:calc(var(--header-height) + 16px)}
@media(max-width:850px){
 #documentEditor{grid-template-columns:minmax(0,1fr)}
 .document-preview-pane{position:static}
}

/* Settings: short personal row followed by two administrative cards. */
/* Page surfaces follow the shared workspace width. */
#settings,#profile{width:100%;max-width:none;margin-inline:0}
.settings-heading{margin-bottom:28px}
.settings-heading h2{margin-bottom:8px}
.settings-heading p{margin:0}
#settings .settings-card{max-width:none;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);min-width:0}
#settings .settings-personal{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,360px);align-items:center;gap:24px;background:var(--soft)}
#settings .settings-personal h3{margin-bottom:6px}
#settings .settings-personal p{margin:0}
#settings .settings-control label{margin:0 0 6px}
#settings .settings-control select{width:100%;margin:0}
#settings .settings-control #themeStatus:not(:empty){margin-top:8px}
.settings-group-title{font-size:13px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin:32px 0 12px}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.settings-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.settings-card-heading h3{margin:0}
.settings-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--soft);color:var(--teal);font-size:21px;flex-shrink:0}
#settings .settings-card p{margin-bottom:14px}
#settings .mailbox-address{font-weight:500;color:var(--ink);overflow-wrap:anywhere}
.settings-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.connection-status{font-size:13px;display:flex;gap:8px;align-items:baseline}
.connection-status:before{content:'';width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#9aabb3}
.connection-status[data-connected=true]:before{background:#279d78}
#settings input[type=file]{width:100%}

.update-history{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.update-history summary{cursor:pointer}
.update-history ul{padding-left:18px}
#updateReview{margin-top:18px;padding:16px;border-radius:10px;background:var(--soft)}
#reloadAfterUpdate{margin-top:12px}
@media(max-width:900px){.settings-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){#settings .settings-personal{grid-template-columns:minmax(0,1fr);gap:16px}#settings .settings-card{padding:18px}.settings-actions>*{flex:1 1 auto}}

/* Personal account */

.account-heading{margin-bottom:28px}
.account-heading h2{margin-bottom:8px}
.account-heading p{margin:0}
.account-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.6fr);gap:24px;align-items:start}
.account-card{border:1px solid var(--line);border-radius:16px;padding:26px;background:var(--surface);min-width:0}
.account-identity{text-align:center;background:var(--soft)}
#profileInfo{display:flex;flex-direction:column;align-items:center;gap:18px}
#profileInfo .avatar{width:96px;height:96px;font-size:30px}
.account-person{min-width:0;width:100%}
.account-person h3{margin-bottom:7px;font-size:22px}
#profile .account-email{font-size:13px;overflow-wrap:anywhere;margin-bottom:14px}
.account-role{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:4px 11px;font-size:12px;color:var(--teal);background:var(--surface)}
.account-photo{margin-top:24px}
.account-photo button{width:100%}
.account-photo p{margin:9px 0 0;font-size:12px}
#profile .account-signin{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:12px}
.account-options{display:grid;gap:20px;min-width:0}
.account-options h3{margin-bottom:20px}
.account-option{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}
.account-option+.account-option{border-top:1px solid var(--line)}
.account-option label{margin:0;font-size:14px}
.account-option p{font-size:13px;margin:5px 0 0}
.account-option select{flex:0 0 180px;width:180px;font-size:14px}
.account-option .theme-switch{flex-shrink:0}
.account-options [role=status]:empty{display:none}
.account-options [role=status]{margin:0;font-size:12px}
.account-module{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line);font-size:14px}
.account-module:first-child{border-top:0;padding-top:0}
.account-module:last-child{padding-bottom:0}
.account-module-state{font-size:12px;color:var(--teal);white-space:nowrap}
@media(max-width:850px){.account-grid{grid-template-columns:minmax(0,1fr)}#profileInfo{flex-direction:row;text-align:left}.account-photo{max-width:300px;margin-inline:auto}.account-identity{padding:22px}}
@media(max-width:480px){#profileInfo{flex-direction:column;text-align:center}.account-card{padding:20px}.account-option{gap:12px;flex-wrap:wrap}.account-option select{flex:1 1 100%;width:100%}.account-option:has(.theme-switch){flex-wrap:nowrap}.account-module{flex-wrap:wrap}.account-options h3{font-size:18px}}

/* Receipt workspace */
.receipt-heading{margin-bottom:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
#backToReceipts{margin-left:auto;flex-shrink:0}
.receipt-heading h2{margin-bottom:8px}
.receipt-heading p{margin:0}
.receipt-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:14px}
.receipt-import,.receipt-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.receipt-filter select{min-height:44px}
.receipt-mail-options{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;padding:12px 4px 16px;font-size:12px;color:var(--muted)}
.receipt-mail-options summary{cursor:pointer;font-weight:500;color:var(--ink)}
.receipt-mail-options label{font-size:12px;font-weight:400;margin:12px 0 4px}
.receipt-mail-options p{margin:0}
.receipt-mail-options #mailStatus{flex:1 1 260px;overflow-wrap:anywhere}
.receipt-counts{display:flex;gap:8px;flex-wrap:wrap;padding:4px 0 0!important}
.receipt-count{display:inline-block;border-radius:20px;background:var(--soft);padding:5px 11px;color:var(--muted);font-size:12px}
#documents .document-navigation{align-items:center;margin:16px 0;gap:8px}
#processBatch{margin-left:auto}
#documents .document-layout{gap:18px}
#documents #documentListPane{max-height:150px}
#documents #documentList{padding:3px 0}
#documents .document-item{border-color:var(--line);padding:12px 14px;border-radius:10px;margin:0}
#documents .document-item strong{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#documents .document-item.selected{border-color:var(--teal)}
#documents #documentEmpty{padding:36px 20px;margin-top:18px;border:1px dashed var(--line);background:var(--soft)}
.receipt-empty-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 16px;border-radius:12px;background:var(--surface);color:var(--teal);font-size:24px}
#documents #documentEmpty h3{font-size:20px;margin-bottom:8px}
#documents #documentEmpty p{margin:0;font-size:14px}
#documents #documentEditor{gap:22px;grid-template-columns:minmax(260px,.7fr) minmax(0,1.5fr)}
#documents .document-controls{padding:20px;border:1px solid var(--line);border-radius:14px}
#documents #documentName{font-size:18px;margin-bottom:8px}
#documents #documentState{margin-bottom:16px}
#documents .analysis-panel{padding:14px;margin:16px 0}
#documents .analysis-panel h3{font-size:15px}
#documents .analysis-panel p:empty{display:none}
#documents #analysisStatus{font-weight:500;color:var(--ink)}
#documents .document-preview-pane #previewCaption{margin:0 0 10px;font-size:12px}
#documents .document-actions{gap:8px}
#documents .document-footer{margin:24px 0 0;padding-top:18px;gap:10px}
#documents .document-footer button{background:transparent}

@media(max-width:900px){#documents #documentEditor{grid-template-columns:minmax(0,1fr)}#documents .document-preview-pane{position:static}}
@media(max-width:600px){.receipt-toolbar{padding:12px;align-items:stretch}.receipt-import,.receipt-filter{width:100%}.receipt-import button,.receipt-filter select{flex:1 1 auto}.receipt-filter button{flex:0 0 auto}#processBatch{margin-left:0}#documents .document-navigation button{flex:1 1 140px}#documents .document-controls{padding:16px}#documents #documentEmpty{padding:28px 16px}.receipt-mail-options{gap:8px}}

/* Preview starts next to the tools instead of below the document list. */
#documents{container-type:inline-size}
.receipt-workspace{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.5fr);gap:24px;align-items:start}
.receipt-sidebar{min-width:0}
.receipt-workspace>.document-preview-pane{min-width:0;position:sticky;top:calc(var(--header-height) + 12px)}
#documents .receipt-workspace #documentEditor{display:block}
#documents .receipt-toolbar{padding:12px;gap:12px}
#documents .receipt-import,#documents .receipt-filter{width:100%}
#documents .receipt-import button{flex:1 1 120px}
#documents .receipt-filter select{flex:1;min-width:0}
#documents .receipt-mail-options{font-size:12px;padding-bottom:12px}
#documents #archiveFilters{display:block;padding:16px;margin:4px 0 14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
#archiveFilters h3{font-size:18px;margin:0 0 12px}
#archiveFilters label{margin:10px 0}
#archiveMore{margin-top:12px}
#archiveMore select{width:100%}
#archiveMore button{width:100%;margin-top:8px}
#documents #documentListPane{max-height:280px}
#documents #documentList{display:flex;flex-direction:column;gap:8px;overflow:auto}
#documents #documentList .document-item{width:100%;flex-shrink:0}
#documents .document-navigation{margin:12px 0}
#documents .document-navigation button{padding:10px 12px;font-size:12px;flex:1 1 auto}
#documents #processBatch{margin-left:0}
#documents #documentEmpty{margin-top:0;min-height:300px;display:flex;flex-direction:column;justify-content:center}
#documents #documentPreview{height:calc(100dvh - var(--header-height) - 70px);min-height:440px}
@container(max-width:850px){
 .receipt-workspace{grid-template-columns:minmax(0,1fr)}
 .receipt-workspace>.document-preview-pane{position:static}
 #documents #documentPreview{height:70dvh;min-height:340px}
}
@media(max-width:700px){.receipt-workspace{grid-template-columns:minmax(0,1fr)}.receipt-workspace>.document-preview-pane{position:static}#documents #documentPreview{height:70dvh;min-height:340px}}
/* Compact document navigation replaces the individual file tiles. */
#documents #documentList label{display:block;min-width:0;width:100%}
#documentChooser{display:block;width:100%;min-width:0;margin-top:6px;text-overflow:ellipsis}

.avatar>.avatar-image{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:inherit;margin:0;flex-shrink:0}
#settingsButton svg{display:block;flex:none}
#photoCropCanvas{display:block;width:min(256px,100%);height:auto;margin:0 auto 24px;border-radius:50%;background:#e1eeef}
#photoCropDialog label{display:block;margin-top:12px}#photoCropDialog input[type=range]{display:block;width:100%;accent-color:var(--teal)}

/* Identical icon controls for settings, account menu and logout. */
#settingsButton,#accountMenu>summary.icon-button,#logout.icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:11px;border:0;border-radius:10px;background:transparent;color:var(--navy);box-shadow:none;line-height:1;cursor:pointer;list-style:none;transition:background-color .15s ease,color .15s ease}
#accountMenu>summary::marker{content:''}#accountMenu>summary::-webkit-details-marker{display:none}
#settingsButton svg,#accountMenu>summary svg,#logout svg{display:block;width:22px;height:22px;flex:none}
#settingsButton:hover,#accountMenu>summary.icon-button:hover,#logout.icon-button:hover{background:#eaf1f4}
#settingsButton:focus-visible,#accountMenu>summary:focus-visible,#logout:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
html[data-theme=dark] #settingsButton,html[data-theme=dark] #accountMenu>summary.icon-button,html[data-theme=dark] #logout.icon-button{color:var(--ink);background:transparent}
html[data-theme=dark] #settingsButton:hover,html[data-theme=dark] #accountMenu>summary.icon-button:hover,html[data-theme=dark] #logout.icon-button:hover{background:#284959}
@media(prefers-reduced-motion:reduce){#settingsButton,#accountMenu>summary.icon-button,#logout.icon-button{transition:none}}

/* Module identity stays attached to the module, including favorite sorting. */
.card[data-module]::before{content:none;display:none}
.module-tile-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;margin-bottom:24px}
.card[data-module=belege] .module-tile-icon{background:#e9f2f5;color:var(--navy)}
.card[data-module=vertraege] .module-tile-icon{background:#e9f4ef;color:#317a5f}
.card[data-module=hr] .module-tile-icon{background:#f3edf8;color:#7d608e}
.module-tile-icon svg{display:block}
.card .favorite-button{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:40px;height:40px}
.favorite-button svg{width:23px;height:23px;display:block;fill:none;transition:fill .15s ease}
.favorite-button[aria-pressed=true] svg{fill:currentColor}
.favorite-button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.favorite-button svg{transition:none}}

.mail-automation{margin-top:20px;padding-top:20px;border-top:1px solid var(--border,#dbe5eb)}
.mail-automation h4{margin:0 0 14px}

/* Vertragsmanager */
.contract-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.contract-heading h2,.contract-heading h3{margin:0}.contract-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.contract-tile{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.contract-tile svg{width:48px;height:48px;padding:10px;border-radius:14px;background:#e7f4ef;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:none}.contract-tile p{margin:0}.contract-tile button{margin-top:auto}
.contract-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}.contract-list-item{display:flex;flex-direction:column;text-align:left;width:100%;gap:8px;margin-bottom:10px;overflow-wrap:anywhere}.contract-list-item[aria-current=true]{border-color:#169cae;background:#eaf5f7}.contract-detail-grid{display:grid;grid-template-columns:minmax(270px,1fr) minmax(300px,1.1fr);gap:22px}.contract-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.contract-fields label{min-width:0}.contract-fields label:first-child,.contract-fields label:last-child{grid-column:1/-1}.contract-fields input,.contract-fields select,.contract-fields textarea{width:100%;box-sizing:border-box}.contract-centers{max-height:230px;overflow:auto}.contract-centers label{display:flex;gap:8px;align-items:center;margin:8px 0}.contract-centers input{width:auto}#contractForm fieldset{border:1px solid #d9e6eb;border-radius:12px;margin:18px 0;padding:14px}#contractPreview{width:100%;height:850px;border:1px solid #d9e6eb;border-radius:14px}.contract-analysis{border-top:1px solid #d9e6eb;margin-top:24px;padding-top:20px}.contract-suggestion{padding:14px;border:1px solid #d9e6eb;border-radius:12px;margin-top:12px;overflow-wrap:anywhere}.contract-due{color:#a45100}#contractDetail{min-width:0}html[data-theme=dark] .contract-list-item[aria-current=true]{background:#163d48}html[data-theme=dark] .contract-tile svg{background:#163d48}@media(max-width:1200px){.contract-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-layout{grid-template-columns:190px minmax(0,1fr)}.contract-detail-grid{grid-template-columns:1fr}#contractPreview{height:650px}}@media(max-width:650px){.contract-tiles,.contract-layout,.contract-fields{grid-template-columns:1fr}.contract-heading{align-items:flex-start;flex-direction:column}.contract-detail-grid{grid-template-columns:minmax(0,1fr)}#contractList{max-height:240px;overflow:auto}}

/* Contract cards use their own SVGs, without the legacy generated icons. */
.card.contract-tile::before{content:none;display:none}
.contract-tile svg{flex:none;padding:8px;stroke-width:1.7;shape-rendering:geometricPrecision}

/* Main navigation belongs to the header. */
header{gap:24px}header #mainNavigation{margin:0 auto;padding:4px;border:0;border-radius:0;background:transparent;justify-content:center;flex-wrap:wrap;gap:6px}header #mainNavigation button{white-space:nowrap;padding:12px 16px}header .header-controls{margin-left:0}
@media(max-width:1100px){header{flex-wrap:wrap;gap:12px}header .header-controls{margin-left:auto}header #mainNavigation{order:3;flex-basis:100%;justify-content:flex-start;margin:0;padding:0}}
@media(max-width:480px){header #mainNavigation{gap:4px}header #mainNavigation button{padding:10px 11px;font-size:12px;flex:1 1 auto}}

#photoFocusCanvas{display:block;width:320px;max-width:100%;height:auto;margin:0 auto 16px;border:1px solid var(--line);border-radius:12px;cursor:crosshair;background:#eef3f5}#photoCropCanvas{display:block;clip-path:circle(50%);border-radius:50%;margin:12px auto}

/* Consistent contract form rhythm and aligned controls. */
#contractFields{gap:20px 16px;align-items:start}#contractFields .contract-field{display:flex;flex-direction:column;gap:8px;margin:0;min-width:0}#contractFields .contract-field-label{display:block;min-height:2.8em;line-height:1.4;align-content:end}#contractFields .contract-field-wide{grid-column:1/-1}#contractFields .contract-field-wide .contract-field-label{min-height:0}#contractFields input,#contractFields select{height:48px;min-height:48px;margin:0;padding:10px 12px;line-height:1.4}#contractFields textarea{min-height:112px;margin:0;padding:12px;line-height:1.5;resize:vertical}#contractFields .contract-field-hint{font-weight:400;line-height:1.4;color:var(--muted)}.contract-save-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.contract-read-status{margin-bottom:20px}.contract-read-status button{font-size:12px;padding:8px 12px}.contract-read-status p{margin-bottom:8px}@media(max-width:650px){#contractFields .contract-field-label{min-height:0}}

#contractCenters{max-height:none;overflow:visible;display:grid;gap:10px}.contract-center-row{display:flex;gap:10px;align-items:center}.contract-center-row select{flex:1;min-width:0;height:48px;margin:0}.contract-center-row button,.contract-center-add{height:44px;min-width:44px;padding:8px;font-size:22px}.contract-center-add{justify-self:start}#cf_notice{min-height:150px}

/* Contract overview, filters and status actions. */
.contract-overview-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.contract-layout{display:block}#contractList{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;max-height:none;overflow:visible;margin:20px 0 28px}.contract-list-item{align-items:flex-start;justify-content:flex-start;min-height:170px;border-radius:16px;padding:22px;margin:0;gap:10px}.contract-tile-status{border-radius:8px;padding:4px 8px;background:#e7f4ef;color:#173543;margin-top:auto}#contractState{position:static}#contractDetail{border-top:1px solid var(--line);padding-top:24px}


.contract-center-row button{flex-shrink:0}

/* Separate contract overview and detail screens. */
#contractWorkspace.is-detail>.contract-toolbar,#contractWorkspace.is-detail>#contractGroupTitle,#contractWorkspace.is-detail>#contractCount,#contractWorkspace.is-detail #contractList,#contractWorkspace.is-detail #contractEmpty{display:none}
#contractDetail{border:0;padding-top:0}#contractDetailBack{margin-bottom:24px}#contractDetail .contract-heading{margin-bottom:24px}
#contractList{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:22px}
#contractList .contract-list-item{display:flex;flex-direction:column;align-items:stretch;text-align:left;min-height:290px;padding:24px;gap:12px;background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 16px #06354b08;transition:box-shadow .15s,border-color .15s}
#contractList .contract-list-item:hover{border-color:var(--teal);box-shadow:0 8px 24px #06354b18}
.contract-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px}.contract-category-icon{width:50px;height:50px;padding:9px;flex-shrink:0;border-radius:14px;background:var(--soft);color:var(--teal);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contract-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;white-space:nowrap;color:var(--ink)}.contract-status-dot{width:9px;height:9px;border-radius:50%;background:#7c8992;flex-shrink:0}.status-active .contract-status-dot{background:#209966}.status-draft .contract-status-dot{background:#e0aa20}
.contract-card-category{color:var(--muted);font-size:11px;font-weight:500}.contract-card-title{font-size:19px;line-height:1.35;overflow-wrap:anywhere}.contract-card-partner{font-size:13px;font-weight:400;color:var(--muted)}.contract-card-store{font-size:12px;font-weight:400;line-height:1.5;padding-top:12px;border-top:1px solid var(--line)}.contract-card-open{color:var(--teal);font-size:12px;margin-top:auto;padding-top:8px}#contractState{padding:0;background:none;letter-spacing:normal}
#contractForm .contract-save-actions{flex-wrap:nowrap;gap:10px;overflow-x:auto;padding:4px 2px 12px}#contractForm .contract-save-actions button{height:48px;flex:0 0 auto;padding:0 16px;font-size:14px;line-height:1.4;white-space:nowrap}
.contract-detail-grid>div{min-width:0}

#notice.notice-success:not(:empty){background:#eaf6ee;color:#256342;border-color:#bdddc8}html[data-theme=dark] #notice.notice-success:not(:empty){background:#193b2c;color:#c3e8cf;border-color:#346348}

.archive-search-actions{gap:10px}.archive-search-actions button{flex:1}#archiveResults{display:grid;gap:10px;margin:16px 0}.archive-result{text-align:left;justify-content:flex-start;overflow-wrap:anywhere}.archive-result[aria-pressed=true]{border-color:var(--teal);background:var(--soft)}#exportDocument{font-size:12px;min-height:44px}

/* Login: allow natural line wrapping across the available panel width. */
#login .welcome-art{display:flex;flex-direction:column;justify-content:center;padding:40px 32px;min-width:0}#login .welcome-art h2,#login .welcome-art p{max-width:none;width:100%}#login .welcome-art h2{font-size:clamp(32px,3.2vw,44px)}#login .welcome-art p{margin-bottom:0}@media(max-width:540px){#login .welcome-art{padding:28px}}

.analysis-panel #analysisWarning{margin-bottom:6px}.analysis-panel #analysisRoute{margin-top:0}.analysis-panel .analysis-evidence-label{margin:0 0 8px;color:inherit;font-size:13px}.analysis-panel #analysisDetails{margin-top:0}

/* Full-width archive search and tabular results. */
#documents.archive-view .receipt-workspace{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.4fr);gap:24px}#documents.archive-view .receipt-sidebar{display:contents}#documents.archive-view #archiveFilters,#documents.archive-view #documentStatus,#documents.archive-view #archiveResults{grid-column:1/-1}#documents.archive-view #documentNavigation,#documents.archive-view #downloadLinks{display:none}#documents.archive-view:not(.archive-document-open) .document-preview-pane,#documents.archive-view:not(.archive-document-open) .document-layout{display:none}#documents.archive-view .document-layout{grid-column:1;min-width:0}#documents.archive-view .document-preview-pane{grid-column:2;min-width:0}#documents.archive-view #archiveFilters{padding:22px;background:var(--soft);margin:0}#documents.archive-view #archiveMore{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}#documents.archive-view #archiveFilters label{margin:0;display:flex;flex-direction:column;gap:8px;font-size:12px}#documents.archive-view #archiveFilters input,#documents.archive-view #archiveFilters select{height:44px;margin:0;width:100%;min-width:0} .archive-query-row{display:flex;align-items:end;gap:18px;margin-top:18px}.archive-query-row>label{flex:1;min-width:0}#documents.archive-view #archiveSearchStatus{margin:12px 0 0}#documents.archive-view #archiveSearchStatus:empty{display:none}#documents.archive-view #documentStatus{margin:0}#archiveResults .archive-table-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--muted);font-size:13px}.archive-pagination{display:flex;align-items:center;gap:14px}.archive-pagination button{padding:8px 14px}.archive-table-scroll{overflow-x:auto}#archiveResults table{margin:0;min-width:640px}#archiveResults th,#archiveResults td{text-align:left;padding:16px 12px;vertical-align:middle}#archiveResults th{background:var(--soft)}#archiveResults th button{padding:0;border:0;background:none;font-size:12px;text-align:left}#archiveResults .archive-result{border:0;background:none;padding:0;color:var(--teal);font-size:13px;text-decoration:underline}#archiveResults tbody tr:hover{background:var(--soft)}#documentEditor{scroll-margin-top:160px}@media(max-width:800px){#documents.archive-view #archiveMore{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-query-row{flex-direction:column;align-items:stretch}#documents.archive-view .receipt-workspace{grid-template-columns:minmax(0,1fr)}#documents.archive-view .document-preview-pane{grid-column:1}}@media(max-width:450px){#documents.archive-view #archiveMore{grid-template-columns:1fr}.archive-search-actions{flex-wrap:wrap}}

/* Keep archive search buttons aligned with the input. */
#documents.archive-view .archive-query-row>.archive-search-actions{flex:0 0 auto;flex-wrap:nowrap;align-items:center}#documents.archive-view .archive-query-row .archive-search-actions button{flex:0 0 auto;white-space:nowrap;height:44px;min-height:44px;padding:0 20px;line-height:1.4}#documents.archive-view .archive-query-row>label{flex:1 1 0;min-width:0}@media(max-width:450px){#documents.archive-view .archive-query-row>.archive-search-actions{flex-wrap:wrap}#documents.archive-view .archive-query-row .archive-search-actions button{flex:1 0 auto;padding:0 14px}}

button.module-tile-icon{padding:0;border:0;flex-shrink:0}button.module-tile-icon:not(:disabled):hover,button.contract-group-icon:not(:disabled):hover{box-shadow:0 0 0 2px var(--teal)}button.module-tile-icon:disabled{cursor:default}

.handbook-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px}.handbook-toc{display:flex;flex-direction:column;gap:10px;align-self:start;padding:20px;background:var(--soft);position:sticky;top:160px;max-height:calc(100vh - 180px);overflow:auto}.handbook-toc h3{font-size:17px}.handbook-toc a,.handbook-chapter a{color:var(--teal);text-decoration:underline}.handbook-toc a{font-size:13px;line-height:1.5}.handbook-chapter{scroll-margin-top:160px;padding:0 0 32px;margin-bottom:32px;border-bottom:1px solid var(--line)}.handbook-chapter p,.handbook-chapter li,.handbook-chapter dd{color:var(--ink);line-height:1.7}.handbook-chapter li{margin-bottom:10px}.handbook-chapter dt,.about-card dt{font-weight:600}.handbook-chapter dd{margin:6px 0 18px}.handbook-chapter th,.handbook-chapter td{text-align:left;vertical-align:top}.handbook-back{font-size:12px}#handbook-top{scroll-margin-top:160px}.about-card{max-width:780px;padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--soft)}.about-card>img{margin-bottom:16px}.about-card dl{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px 20px}.about-card dd{margin:0}.about-components{margin-top:28px}@media(max-width:900px){.handbook-layout{grid-template-columns:1fr}.handbook-toc{position:static;max-height:none}}@media(max-width:500px){.about-card dl{grid-template-columns:1fr;gap:6px}.about-card dd{margin-bottom:12px}.handbook-chapter table{display:block;overflow:auto}}
#supportDialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 monospace;background:var(--soft);padding:14px;border-radius:10px}#supportStatus{margin:18px 0}#supportDialog summary{cursor:pointer}

.contract-renewal-options{border:1px solid var(--line);border-radius:9px;background:var(--soft)}.contract-renewal-options summary{padding:12px;min-height:48px;cursor:pointer;font-size:14px}.contract-renewal-options label{display:flex;align-items:center;gap:10px;margin:0;padding:10px 14px;font-size:14px;font-weight:400}.contract-renewal-options input[type=checkbox]{height:16px!important;min-height:16px!important;width:16px!important}


#contractFields .contract-field-row-start{grid-column:1}

/* Bank rows use the normal grid gap without reserved two-line label space. */
#contractFields .contract-bank-field .contract-field-label{min-height:0}#contractFields #renewalOptionsLabel{font-size:13px;font-weight:600;line-height:1.4}

#contractFields .field-validation-error{color:var(--danger,#b4232b)}
#contractFields input[aria-invalid="true"]{border-color:var(--danger,#b4232b)}
#cf_iban{font-variant-numeric:tabular-nums}

/* Shared 4.0 form and action dimensions. Compact icon controls remain explicit. */
:root{--control-height:48px;--field-gap:8px;--form-row-gap:20px;--action-gap:10px}
#contractFields{gap:var(--form-row-gap) 16px}
#contractFields .contract-field{gap:var(--field-gap)}
#contractFields .contract-field-label{font-size:13px;font-weight:600}
#documents.archive-view #archiveFilters input,#documents.archive-view #archiveFilters select,
#documents.archive-view .archive-query-row .archive-search-actions button,
#exportDocument{height:var(--control-height);min-height:var(--control-height)}
#contractForm .contract-save-actions{gap:var(--action-gap);scrollbar-width:thin}
.contract-history{margin-top:20px;border:1px solid var(--line);border-radius:12px;padding:16px;overflow:auto}
.contract-history summary{cursor:pointer;font-weight:600}
.contract-history td,.contract-history th{white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;vertical-align:top;padding:8px}
.contract-history table{table-layout:fixed;width:100%}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

#contractCount{display:flex;align-items:center;gap:12px;flex-wrap:wrap}#contractCount button{min-height:44px}

.batch-progress{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;background:var(--soft,#edf5f7);color:inherit}.batch-progress[hidden]{display:none}.busy-spinner{display:inline-block;width:18px;height:18px;flex:0 0 18px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:batch-spin .8s linear infinite}@keyframes batch-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.busy-spinner{animation:none}}

.driver-heading,.driver-card-top,.driver-toolbar,.driver-actions{display:flex;align-items:center;gap:12px}.driver-heading{justify-content:space-between;flex-wrap:wrap}.driver-pilot{padding:8px 12px;border-radius:999px;background:#fff3d0;color:#725700;font-size:12px}.driver-info,.driver-automation{padding:16px;border:1px solid var(--line,#d7e4ea);border-radius:12px;margin:16px 0}.driver-info p{margin-bottom:0}.driver-toolbar{align-items:end;flex-wrap:wrap;margin:24px 0}.driver-toolbar label:first-child{flex:1;min-width:200px}.driver-toolbar label{display:grid;gap:8px;font-size:13px;font-weight:700}.driver-toolbar input,.driver-toolbar select{min-height:48px}.driver-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.driver-metrics>div{border:1px solid var(--line,#d7e4ea);border-radius:14px;padding:20px;display:grid;gap:8px}.driver-metrics strong{font-size:30px}.driver-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:20px}.driver-card{padding:24px;border:1px solid var(--line,#d7e4ea);border-radius:18px}.driver-card-top{justify-content:space-between}.driver-state{font-size:12px;font-weight:700}.driver-state:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:#8b9ba5;margin-right:7px}.driver-valid:before{background:#19875a}.driver-soon:before{background:#d39600}.driver-initial:before,.driver-overdue:before,.driver-blocked:before{background:#c44848}.driver-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:13px;margin-top:20px}.driver-dates strong{text-align:right}.driver-positive{color:#19875a}.driver-negative{color:#b83d3d}.driver-actions{margin-top:16px}.driver-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.driver-form-grid label{display:grid;gap:8px;font-size:13px;font-weight:700}.driver-form-grid input:not([type=checkbox]),.driver-form-grid select{width:100%;min-height:48px}.driver-form-grid .driver-check{display:flex;align-items:center;grid-column:1/-1;font-weight:400}.driver-check input{width:18px;height:18px;flex-shrink:0}.driver-wide{grid-column:1/-1;font-size:13px}.driver-history-item{border-bottom:1px solid #c7dbe4;padding:14px 0}#driverFormError{color:#b83d3d}@media(max-width:600px){.driver-form-grid{grid-template-columns:1fr}.driver-metrics{gap:8px}.driver-metrics>div{padding:12px;font-size:12px}}

/* 4.2: licence capture and consistent action rows */
.driver-automation button,.driver-toolbar button {min-height:48px;height:48px;line-height:1.2;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;margin:0;box-sizing:border-box}
.driver-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.driver-form-grid{gap:24px 16px}.driver-form-grid label>span:first-child{display:block;font-weight:700;margin-bottom:0}.driver-form-grid input:not([type=checkbox]),.driver-form-grid select{min-height:48px}.driver-photo{width:100%;max-height:320px;object-fit:contain;border-radius:12px;background:var(--soft);border:1px solid var(--line)}.driver-challenge{font-size:30px;letter-spacing:5px;text-align:center;padding:16px;background:var(--soft);border-radius:12px}

/* Fleet 4.3 */
.fleet-heading,.fleet-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fleet-heading{justify-content:space-between;margin-bottom:24px}.fleet-heading h2,.fleet-heading h3{margin:0}.fleet-heading p{margin:6px 0 0}.fleet-actions button,.fleet-toolbar button,.fleet-card>button,#fleetBack,#driverFleetBack{height:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;margin:0;line-height:1.2}


.fleet-panel>select{height:48px;margin:0}.fleet-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr));gap:20px}.fleet-card{border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--surface,#fff);display:flex;flex-direction:column;gap:12px}.fleet-card h3,.fleet-card p{margin:0}.fleet-card>button{align-self:flex-start;margin-top:auto}.fleet-card-head{display:flex;justify-content:space-between;align-items:center}.fleet-icon{width:48px;height:48px;padding:8px;background:#e7f3f0;border-radius:12px;fill:none;stroke:#0a5161;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.fleet-badge{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.fleet-badge:before{content:'';width:8px;height:8px;border-radius:50%;background:#8b9da7}.fleet-active:before{background:#16865c}.fleet-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.fleet-panel{padding:24px;border:1px solid var(--line);border-radius:16px;min-width:0;background:var(--surface,#fff)}.fleet-panel h3{margin:0 0 16px}.fleet-panel>select{width:100%}.fleet-panel .fleet-actions{margin-top:16px}.fleet-row{padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:16px}.fleet-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 16px}.fleet-form-grid label{display:grid;gap:8px;font-size:13px;font-weight:700}.fleet-form-grid input,.fleet-form-grid select{width:100%;height:48px;margin:0}.fleet-wide{grid-column:1/-1;font-size:13px}.fleet-form-grid+.fleet-actions{margin-top:24px}#fleetFormError{color:#b83d3d}.fleet-panel button:focus-visible,.fleet-card button:focus-visible{outline:3px solid #0c9ca9;outline-offset:3px}@media(max-width:700px){.fleet-columns,.fleet-form-grid{grid-template-columns:1fr}.fleet-toolbar{flex-wrap:wrap}.fleet-toolbar label:first-child{flex-basis:100%}.fleet-heading{align-items:flex-start}.fleet-panel{padding:18px}}

/* 4.3.1: consistent module identity and bottom-aligned actions */
#modules{align-items:stretch}
#modules>.card{display:flex;flex-direction:column;align-items:flex-start}
#modules>.card>.module-tile-icon{margin-top:0;flex:0 0 48px}
#modules>.card>p{margin-bottom:24px}
#modules>.card>.module-open{margin-top:auto;height:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;max-width:100%;flex-shrink:0}
.card[data-module=fuhrpark] .module-tile-icon{background:#e8f3f3;color:#176276}
html[data-theme=dark] .card[data-module=fuhrpark] .module-tile-icon{background:#23474a;color:#9cddd3}

/* KfZ manager: independent icon and aligned filter grid */
.card[data-module=kfz] .module-tile-icon{background:#edf0fb;color:#5668a1}
html[data-theme=dark] .card[data-module=kfz] .module-tile-icon{background:#303b59;color:#bcc9f5}



/* Dashboard: at most four managers per row; maintain comfortable card widths. */
body.authenticated #modules{grid-template-columns:minmax(0,1fr)}
@media(min-width:720px){body.authenticated #modules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){body.authenticated #modules{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1440px){body.authenticated #modules{grid-template-columns:repeat(4,minmax(0,1fr))}}




/* Shared concise help and consistent driver workspace controls. */
button.info-button{width:24px;height:24px;min-height:24px;padding:0;margin:0 0 0 5px;border-radius:50%;font:700 13px/1 Arial,sans-serif;vertical-align:middle;flex-shrink:0;background:var(--surface,#fff);color:var(--navy)}
.driver-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.driver-heading h2{display:flex;align-items:center;gap:6px}.driver-heading p{margin:8px 0 0}
#driverFleetBack{margin:0;flex-shrink:0}
.driver-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.driver-toolbar label{margin:0;display:grid;gap:8px}.driver-toolbar label:first-child{flex:1;min-width:240px}.driver-toolbar input,.driver-toolbar select,.driver-toolbar>button:not(.info-button){height:48px;min-height:48px;margin:0}.driver-toolbar>button.info-button{align-self:center}
#driverSettingsCard{margin-top:24px}#driverAutomation{padding:0;border:0;margin:16px 0 0;background:transparent}#driverAutomation>strong{display:block;margin-bottom:8px}#driverAutomation .settings-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}#driverAutomation button{height:48px;min-height:48px;margin:0}
@media(max-width:700px){.driver-heading{align-items:flex-start;flex-wrap:wrap}.driver-toolbar label{flex:1;min-width:180px}}

.fleet-registration{margin:24px 0}.fleet-actions a{height:48px;min-height:48px;margin:0;display:inline-flex;align-items:center;justify-content:center}.fleet-form-grid>label{margin:0}.fleet-form-grid select,.fleet-form-grid input:not([type=checkbox]){height:48px;min-height:48px}





.external-check{max-width:800px;margin:32px auto;padding:0 16px}.external-check .card{padding:28px}.external-check label{display:grid;gap:8px;margin:20px 0}.external-check .driver-check{display:flex;align-items:flex-start}.external-check button{min-height:48px;margin:8px 12px 8px 0}.external-check input[type=file]{width:100%;box-sizing:border-box}.external-check .driver-challenge{display:block;text-align:center;padding:16px;font-size:28px;letter-spacing:4px;background:#edf5f7;border-radius:10px}

.fleet-columns>.fleet-panel{display:flex;flex-direction:column;gap:16px}.fleet-columns>.fleet-panel>h3,.fleet-columns>.fleet-panel>p{margin:0}.fleet-columns .fleet-row{margin:0;padding:16px 0}.fleet-columns .fleet-panel-footer{margin-top:auto;padding-top:16px}.fleet-actions button,.fleet-actions a{min-height:48px;height:48px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;line-height:1.2}.fleet-columns .fleet-panel-footer button:not(.primary){background:#fff;color:#06354b}.contract-field input[readonly]{background:#f3f6f8}

#contractDetail.leasing-documents .contract-detail-grid{grid-template-columns:minmax(0,1fr)}#contractDocuments{min-width:0;border-top:1px solid #d9e6eb;padding-top:24px}.contract-file-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.contract-file-card{display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid #d9e6eb;border-radius:16px;min-width:0}.contract-file-card strong{overflow-wrap:anywhere}.contract-file-card label{display:grid;gap:8px;margin:0}.contract-file-card input{width:100%;box-sizing:border-box}.contract-file-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.contract-file-actions button,.contract-file-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;height:48px;box-sizing:border-box;line-height:1.2;margin:0;padding:10px 14px;border:1px solid #d9e6eb;border-radius:10px;text-decoration:none;font-weight:600;max-width:100%;white-space:normal}.contract-files-upload{display:grid;gap:8px;margin:20px 0}.contract-files-upload input{max-width:100%}@media(max-width:1300px){.contract-file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.contract-file-grid{grid-template-columns:minmax(0,1fr)}}

/* Shared action sizing and bottom alignment, including multi-line group titles. */
#contractGroups .contract-tile{display:flex;flex-direction:column;align-items:flex-start}
#contractGroups .contract-tile>button.primary{margin-top:auto;height:48px;min-height:48px}
#contractGroups .contract-group-icon{width:48px;height:48px;min-height:48px;padding:0;margin:0 0 12px;border:0;border-radius:12px;background:#e5f3ef;flex-shrink:0}
#contractGroups .contract-group-icon svg{margin:0;width:48px;height:48px}
.contract-file-heading{display:flex;align-items:center;gap:8px;min-height:48px}.contract-file-heading strong,.contract-file-heading input{min-width:0;flex:1;margin:0}.contract-file-heading input{height:48px}
.contract-rename{width:48px;height:48px;min-height:48px;flex:0 0 48px;padding:12px;margin:0}.contract-rename svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contract-files-upload{display:flex;align-items:center;gap:12px}.contract-files-upload button{height:48px;min-height:48px;margin:0}.contract-file-actions{align-items:flex-end}.contract-file-actions a{font-family:inherit;font-size:14px}.contract-file-actions a.primary{color:#fff}
.contract-group-icon:focus-visible,.contract-rename:focus-visible{outline:3px solid var(--teal);outline-offset:3px}

#contractName{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* Five module destinations: equal controls and wrapping without horizontal overflow. */
header #mainNavigation{min-width:0;max-width:100%}header #mainNavigation button{height:48px;min-height:48px;margin:0;flex:0 0 auto}
@media(max-width:1600px){header{height:auto;flex-wrap:wrap;gap:12px;padding-top:12px;padding-bottom:12px}header .header-controls{margin-left:auto}header #mainNavigation{order:3;flex-basis:100%;justify-content:center;margin:0;padding:0}}
@media(max-width:600px){header #mainNavigation{justify-content:flex-start;gap:6px}header #mainNavigation button{flex:1 1 auto;font-size:13px;padding:10px 12px}}

.driver-mail-templates{width:100%;border-top:1px solid var(--line);margin:24px 0;padding-top:24px}.driver-mail-templates label{display:grid;gap:8px;margin:16px 0;font-size:13px;font-weight:700}.driver-mail-templates input,.driver-mail-templates select,.driver-mail-templates textarea{width:100%;max-width:100%}.driver-mail-templates input,.driver-mail-templates select{height:48px}.driver-mail-actions,.driver-mail-test{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.driver-mail-test{margin-top:20px}.driver-mail-test label{flex:1;min-width:min(240px,100%);margin:0}.driver-mail-templates button{height:48px;min-height:48px;margin:0}.driver-mail-templates textarea{min-height:160px}.driver-mail-templates .small{font-weight:400}

.driver-dates{grid-template-columns:max-content max-content;column-gap:24px;justify-content:start}.driver-dates strong{text-align:left}.external-check{font-family:'Segoe UI',Arial,sans-serif}.external-check .card::before{display:none}.external-check h1{font-size:20px;margin-bottom:16px}.external-check h2{font-size:28px}.external-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.external-photo-grid label{min-width:0}.external-check .secondary{background:#fff;color:var(--navy);border-color:var(--line);box-shadow:none}@media(max-width:600px){.external-photo-grid{grid-template-columns:1fr;gap:0}.external-check .card{padding:20px}.driver-dates{column-gap:16px;font-size:12px}}

.external-footer{text-align:center;margin:36px 0 0;padding-top:20px;border-top:1px solid var(--line)}.external-photo-grid>div{min-width:0}

.external-brand{display:flex;align-items:center;gap:14px;margin-bottom:24px}.external-brand img{width:48px;height:48px;object-fit:contain}.external-brand h1{margin:0}

.license-class-row{display:grid;grid-template-columns:100px minmax(130px,1fr) minmax(150px,1.5fr) auto;gap:12px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}.license-class-row label{margin:0}.license-class-row button{height:48px;min-height:48px;margin:29px 0 0}.license-class-row img{object-fit:contain}.license-classes>button{height:48px;margin-top:16px}.license-summary{margin-top:20px}.license-summary-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0;font-size:13px}.license-summary-row strong{min-width:30px}@media(max-width:650px){.license-class-row{grid-template-columns:1fr 1fr}.license-class-row label:nth-child(3){grid-column:1/-1}.license-class-row button{margin:0;grid-column:1/-1;justify-self:start}}

/* Compact assignment dialog: avoid adding global label margins to grid gaps. */
#driverFormFields.driver-assignment{gap:14px 16px;align-items:start}
#driverFormFields.driver-assignment>label{margin:0;min-width:0;gap:6px}
#driverFormFields.driver-assignment>p{margin:0;line-height:1.5}
#driverFormFields.driver-assignment>h3{margin:6px 0 0}
#driverFormFields.driver-assignment .license-classes>h3{margin:6px 0 8px}
#driverFormFields.driver-assignment .license-classes>p{margin:0 0 8px}
#driverFormFields.driver-assignment .license-class-row{padding:10px 0}
.driver-assigned-vehicles{border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}
.driver-assigned-vehicles>div+div{margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}

/* Compact two-line restrictions field; user can enlarge vertically. */
#driverFormFields textarea.driver-restrictions{height:60px;min-height:60px;line-height:20px;padding:8px 12px;resize:vertical}

/* Shared native file picker: settings, documents, drivers and external forms. */
input[type=file]{padding:0;min-height:48px;line-height:1.4;max-width:100%;box-sizing:border-box;overflow:hidden}
input[type=file]::file-selector-button{font:600 14px/1.4 'Ubuntu',Arial,sans-serif;box-sizing:border-box;min-height:48px;padding:13px 16px;margin:0 12px 0 0;border:0;border-right:1px solid var(--line);border-radius:9px 0 0 9px;background:var(--surface,#fff);color:var(--navy);cursor:pointer;transition:background .15s}
input[type=file]:not(:disabled)::file-selector-button:hover{background:var(--soft,#f5f8fa)}
input[type=file]:disabled::file-selector-button{opacity:.5;cursor:default}
@media(prefers-reduced-motion:reduce){input[type=file]::file-selector-button{transition:none}}

/* Vehicle costs: compact responsive analysis and document review. */
#costPanel{margin:18px 0 24px}#costPanel[hidden],#costFiles[hidden]{display:none}
.cost-heading,.cost-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cost-heading h2{margin:0}
.cost-filters,.cost-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}.cost-filters label,.cost-fields label{display:grid;margin:0;gap:6px}.cost-filters input,.cost-filters select,.cost-fields input,.cost-fields select{width:100%;min-height:44px}
.cost-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.cost-metrics>div{background:var(--soft);padding:16px;border-radius:12px}.cost-metrics span,.cost-metrics strong{display:block}.cost-metrics strong{font-size:24px}
.cost-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.cost-chart-row{display:grid;grid-template-columns:32px 1fr 100px;align-items:center;gap:10px;margin:8px 0}.cost-chart-row progress{width:100%;height:18px;accent-color:var(--teal)}.cost-chart-row strong{text-align:right;font-size:13px}.cost-summary-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:8px 0}.cost-document{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);padding:12px 0}.cost-document strong{flex:1;min-width:180px}.cost-line{border:1px solid var(--line);border-radius:12px;margin:16px 0;padding:14px}.cost-sum{font-weight:700}#costStatus{white-space:pre-line}
@media(max-width:700px){.cost-filters,.cost-fields{grid-template-columns:1fr 1fr}.cost-columns{grid-template-columns:1fr}.cost-metrics{grid-template-columns:1fr}}
@media(max-width:420px){.cost-filters,.cost-fields{grid-template-columns:1fr}}

/* Driver profile: optional multiple vehicle selection and aligned licence rows. */
.driver-car-field{min-width:0;font-size:13px;font-weight:700}.driver-car-field>span{display:block;margin-bottom:6px}
.driver-car-picker{border:1px solid var(--line);border-radius:10px;background:var(--soft);font-weight:400}.driver-car-picker>summary{min-height:48px;padding:12px;cursor:pointer;overflow-wrap:anywhere}.driver-car-options{max-height:240px;overflow:auto;padding:0 12px 12px}.driver-form-grid .driver-car-option{display:flex;align-items:center;gap:10px;margin:0;padding:8px 0;font-weight:400}.driver-car-option input{flex:none}
.license-class-headings,.license-class-row{display:grid;grid-template-columns:140px minmax(140px,1fr) minmax(160px,1.5fr) 108px;gap:12px;align-items:center}
.license-class-headings{font-size:13px;font-weight:700;margin-top:14px}.license-class-row{padding:10px 0}.license-class-row>label{display:block;margin:0;min-width:0}.license-class-row input,.license-class-row select,.license-class-row>button{box-sizing:border-box;height:48px;min-height:48px;margin:0;width:100%;padding:10px 12px}.license-class-row>button{padding:10px}
.license-class-select{position:relative}.license-class-row .license-class-select select{padding-left:52px;padding-right:24px}.license-class-select img{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:34px;height:24px;pointer-events:none;object-fit:contain}
@media(max-width:700px){
 .license-classes{
  min-width:0;
  overflow-x:visible;
 }

 .license-class-headings{
  display:none;
 }

 .license-class-row{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  min-width:0;
  gap:10px 12px;
 }

 .license-class-row>label{
  min-width:0;
 }

 .license-class-row label:nth-child(3){
  grid-column:1/-1;
 }

 .license-class-row>button{
  grid-column:1/-1;
  justify-self:start;
  width:auto;
  min-width:48px;
 }
}

/* KPI tiles reuse dashboard card controls and typography. */
.kpi-modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),340px));gap:24px}.kpi-modules>.card{position:relative;display:flex;flex-direction:column;align-items:flex-start}.kpi-modules>.card>p{margin-bottom:24px}.kpi-modules .module-open{margin-top:auto;height:48px;min-height:48px;line-height:1.2}.card[data-module=kpi] .module-tile-icon,.card[data-module=kfzKpis] .module-tile-icon{background:#e9f2f5;color:var(--navy)}html[data-theme=dark] .card[data-module=kpi] .module-tile-icon,html[data-theme=dark] .card[data-module=kfzKpis] .module-tile-icon{background:var(--soft);color:var(--ink)}#kfzKpis>#costPanel{margin-top:20px}

/* Compact person overview and full-page person workspace. */
#driverCards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;align-items:stretch;grid-auto-rows:1fr}
.driver-person-tile{display:block;height:100%;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);text-decoration:none;min-width:0;transition:border-color .15s,box-shadow .15s}.driver-person-tile:hover{border-color:var(--teal);box-shadow:0 4px 14px #06354b12}.driver-person-tile h3{font-size:18px;margin:6px 0 8px}.driver-person-tile p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.driver-person-heading{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}.driver-person-heading h2{margin:0}
#driverPersonDetails>.driver-card{width:100%;min-height:0;padding:24px}#driverPersonDetails .driver-actions{margin-top:20px}#driverPerson .driver-inline-panel{margin-top:24px;padding:24px;width:100%;max-height:none;overflow:visible}#driverPerson .driver-inline-panel[hidden]{display:none}
.driver-person-info{display:grid;grid-template-columns:minmax(140px,1fr) 2fr minmax(140px,1fr) 2fr;gap:8px 16px;margin:20px 0}.driver-person-info dt{font-size:13px;color:var(--muted)}.driver-person-info dd{margin:0;overflow-wrap:anywhere}#driverPerson .license-summary{max-width:900px}
@media(max-width:800px){.driver-person-info{grid-template-columns:minmax(120px,1fr) 2fr}}@media(max-width:500px){#driverPerson .driver-inline-panel,#driverPersonDetails>.driver-card{padding:16px}.driver-person-info{grid-template-columns:1fr}.driver-person-info dd{margin-bottom:8px}}

/* The KPI detail page has no decorative module-card icon. */
#costPanel::before{content:none;display:none}

/* Embedded person forms and history do not use decorative tile symbols. */
#driverPerson .driver-inline-panel::before{content:none;display:none}

/* Comparable navigation tiles share dimensions, including wrapped captions. */
.settings-hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));grid-auto-rows:1fr;gap:16px;align-items:stretch}
.settings-nav-tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;gap:12px;min-width:0;height:100%;padding:24px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.settings-nav-tile:hover{border-color:var(--teal)}.settings-nav-tile strong{font-size:18px}.settings-nav-tile span{font-weight:400;color:var(--muted);line-height:1.5}.settings-nav-tile img{padding:6px;box-sizing:content-box;background:#e9f4f1;border-radius:10px}
#settingsBack{margin-bottom:20px}#settingsWorkspace .settings-card{width:100%;max-width:none}#settingsWorkspace .driver-automation{padding:0;border:0;margin:0}#settingsWorkspace .settings-card::before{content:none;display:none}
#settingsWorkspace .security-key-export{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:12px}#settingsWorkspace .security-key-export label{display:grid;gap:8px;margin-bottom:12px;max-width:560px}

.rights-description{padding:16px 20px;margin:0}.right-inherited{background:var(--soft);position:relative}.right-inherited::after{content:"geerbt";display:block;font-size:10px;color:var(--muted)}

/* 4.3.31: manual complete backup and reviewed restore, matching settings cards. */
.full-backup-panel{margin:24px 0 32px;padding-bottom:24px;border-bottom:1px solid var(--line,#d6e4e9)}
.full-backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0;align-items:stretch}
.full-backup-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:20px;border:1px solid var(--line,#d6e4e9);border-radius:16px}
.full-backup-card h4,.full-backup-review h4{margin:0 0 8px;font-size:1.1rem}
.full-backup-card input{width:100%;min-width:0;box-sizing:border-box}
.full-backup-card button{margin-top:auto;align-self:flex-start}
.full-backup-card p[role=status]{margin:0;overflow-wrap:anywhere}
.full-backup-review{padding:24px;border:1px solid var(--line,#d6e4e9);border-radius:16px}
.full-backup-review>input{display:block;width:100%;max-width:560px;margin:8px 0 16px;box-sizing:border-box}
.full-backup-review dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;max-width:520px}
.full-backup-review dd{margin:0;font-weight:700}
.full-backup-ack{display:flex;gap:12px;align-items:flex-start;margin:16px 0}.full-backup-ack input{flex:0 0 auto;width:auto;margin-top:4px}
.full-backup-rescues button{margin:4px 12px 4px 0}
@media(max-width:760px){.full-backup-grid{grid-template-columns:minmax(0,1fr)}.full-backup-card,.full-backup-review{padding:16px}}

/* 4.3.32: clearly separated maintenance status within data security. */
.security-cleanup{margin-top:24px;padding-top:20px;border-top:1px solid var(--line,#d6e4e9)}
.security-cleanup h4{margin:0 0 12px;font-size:1.1rem}

/* 4.3.33: compact, searchable KPI receipts, separated from the charts. */
.cost-receipts{margin-top:36px;padding-top:28px;border-top:1px solid var(--line,#d6e4e9)}
.cost-receipts-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.cost-receipts-heading h3{margin:0 0 6px}.cost-receipts-heading p{margin:0}
.cost-receipt-count{white-space:nowrap;font-size:13px;color:var(--muted,#718a95);padding-top:4px}
.cost-receipt-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,220px) auto;gap:14px;align-items:end;padding:16px;background:var(--soft,#f4f8f9);border-radius:14px;margin-bottom:12px}
.cost-receipt-filters label{display:flex;flex-direction:column;gap:7px;margin:0;min-width:0}.cost-receipt-filters input,.cost-receipt-filters select{width:100%;box-sizing:border-box;margin:0}
.cost-receipt-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 170px 90px;gap:16px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line,#d6e4e9)}
.cost-receipt-row.is-draft{padding-top:16px;padding-bottom:16px;background:var(--soft,#f4f8f9);border-radius:10px;margin-bottom:6px;border-bottom-color:transparent}
.cost-receipt-info{display:flex;flex-direction:column;gap:4px;min-width:0}.cost-receipt-info strong{font-size:14px;overflow-wrap:anywhere}
.cost-receipt-meta{font-size:12px;line-height:1.5;color:var(--muted,#718a95);overflow-wrap:anywhere}
.cost-receipt-badge{justify-self:start;font-size:12px;font-weight:500;padding:4px 8px;border-radius:6px;background:var(--surface,#fff);color:var(--teal,#087b7c)}
.cost-receipt-row.is-approved .cost-receipt-badge{background:var(--soft,#f4f8f9)}
.cost-receipt-amount{text-align:right;font-size:14px;font-variant-numeric:tabular-nums}
.cost-receipt-row .cost-receipt-open{min-height:36px;padding:8px 12px;font-size:13px;box-shadow:none;white-space:nowrap}
.cost-receipt-pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:16px;font-size:13px}
.cost-receipt-pagination button{min-height:36px;padding:8px 14px;font-size:13px}
.cost-receipt-empty{padding:24px;text-align:center;background:var(--soft,#f4f8f9);border-radius:12px}.cost-receipt-empty p{margin:8px 0 0}
@media(max-width:900px){.cost-receipt-row{grid-template-columns:minmax(0,1fr) 100px;gap:8px 14px}.cost-receipt-info{grid-column:1;grid-row:1}.cost-receipt-open{grid-column:2;grid-row:1 / span 2}.cost-receipt-badge{grid-column:1;grid-row:2}.cost-receipt-amount{grid-column:1;grid-row:3;text-align:left}.cost-receipt-filters{grid-template-columns:minmax(0,1fr) minmax(150px,200px)}.cost-receipt-filters>button{grid-column:2}}
@media(max-width:540px){.cost-receipts{margin-top:28px;padding-top:22px}.cost-receipts-heading{flex-direction:column;gap:6px}.cost-receipt-filters{grid-template-columns:minmax(0,1fr);padding:12px}.cost-receipt-filters>button{grid-column:1;justify-self:start}.cost-receipt-pagination{justify-content:space-between;gap:8px}}

/* 4.3.34: matched chart cards and signed, accessible SVG plots. */
#costPanel>.cost-filters{grid-template-columns:repeat(4,minmax(0,1fr));padding:16px;border-radius:14px;background:var(--soft,#f4f8f9);margin:18px 0}
.cost-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch;margin-top:24px}
.cost-chart-card{border:1px solid var(--line,#d6e4e9);border-radius:16px;padding:20px;min-width:0;display:flex;flex-direction:column}
.cost-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}.cost-chart-heading h3{margin:0}
.cost-chart-heading label,.cost-chart-controls label{display:flex;flex-direction:column;gap:6px;font-size:12px;margin:0;min-width:0}
.cost-chart-heading select{min-width:130px}.cost-chart-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}
.cost-chart-controls select{width:100%}.cost-chart-content{flex:1;min-height:300px;overflow-x:auto}
.cost-trend-svg{display:block;width:100%;height:auto;min-width:340px;margin:28px 0 12px}.cost-axis-label{fill:var(--ink,#103b4c);font-family:inherit;font-size:11px}
.cost-zero-line{stroke:var(--muted,#718a95);stroke-width:1}.cost-grid-line{stroke:var(--line,#d6e4e9);stroke-width:1;stroke-dasharray:4 4}
.cost-positive-fill{fill:var(--teal,#087b7c)}.cost-negative-fill{fill:#bc671f}.cost-trend-line{fill:none;stroke:var(--teal,#087b7c);stroke-width:2.5;stroke-linejoin:round}
.cost-chart-legend{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:12px;margin:16px 0 0;color:var(--muted,#718a95)}
.cost-positive-key::before,.cost-negative-key::before{content:'';display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;background:var(--teal,#087b7c)}.cost-negative-key::before{background:#bc671f}
.cost-chart-total{font-size:14px;font-weight:500;margin:14px 0}.cost-data-table{width:100%;border-collapse:collapse;font-size:13px}.cost-data-table th,.cost-data-table td{padding:7px 10px;border-bottom:1px solid var(--line,#d6e4e9);text-align:left}.cost-data-table td:last-child,.cost-data-table thead th:last-child{text-align:right;font-variant-numeric:tabular-nums}.cost-data-table tbody th{font-weight:400}
.cost-comparison-row{padding:9px 0;border-bottom:1px solid var(--line,#d6e4e9)}.cost-comparison-label{display:flex;justify-content:space-between;gap:12px;font-size:13px}.cost-comparison-label span{overflow-wrap:anywhere}.cost-comparison-label strong{white-space:nowrap;font-variant-numeric:tabular-nums}.cost-comparison-svg{display:block;width:100%;height:16px;margin-top:6px}
.cost-chart-pages{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;font-size:12px}.cost-chart-pages button{min-height:36px;padding:8px 12px;font-size:13px}.cost-chart-empty{padding:32px 12px;text-align:center;color:var(--muted,#718a95)}
@media(max-width:1050px){#costPanel>.cost-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-dashboard-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:540px){#costPanel>.cost-filters{grid-template-columns:minmax(0,1fr)}.cost-chart-card{padding:14px}.cost-chart-heading{align-items:flex-start;flex-wrap:wrap}.cost-chart-controls{grid-template-columns:minmax(0,1fr)}.cost-chart-pages{flex-wrap:wrap}.cost-trend-svg{min-width:320px}}

/* 4.3.35: illustrated licence-class selection, including the open list. */
.license-picker{position:relative;min-width:0;margin:0;border:0;padding:0}
.license-picker>summary{display:flex;align-items:center;gap:10px;min-height:48px;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line,#d6e4e9);border-radius:10px;background:var(--surface,#fff);cursor:pointer;list-style:none;font-size:13px;font-weight:500}
.license-picker>summary::-webkit-details-marker{display:none}.license-picker>summary::after{content:'⌄';margin-left:auto}.license-picker>summary img,.license-picker-option img{position:static;width:30px;height:24px;object-fit:contain;flex:0 0 30px;transform:none}
.license-picker[open]>summary,.license-picker>summary:focus-visible{outline:2px solid var(--teal,#087b7c);outline-offset:2px}
.license-picker-list{position:absolute;left:0;top:calc(100% + 6px);z-index:30;min-width:150px;width:100%;max-height:280px;overflow:auto;box-sizing:border-box;padding:6px;border:1px solid var(--line,#d6e4e9);border-radius:12px;background:var(--surface,#fff);box-shadow:0 8px 24px #103b4c22}
.license-picker .license-picker-option{display:flex;align-items:center;gap:12px;width:100%;min-height:40px;padding:6px 10px;margin:0;border:0;border-radius:6px;background:transparent;box-shadow:none;text-align:left;font-size:13px}
.license-picker-option[aria-selected=true]{background:var(--soft,#f4f8f9);color:var(--teal,#087b7c)}.license-picker-option:focus-visible,.license-picker-option:hover{background:var(--soft,#f4f8f9);outline:2px solid var(--teal,#087b7c);outline-offset:-2px}

/* 4.3.36: number matches a single form column; next row stays unchanged. */
.driver-form-grid .driver-license-number{width:calc((100% - 16px)/2);min-width:0;box-sizing:border-box}
@media(max-width:600px){.driver-form-grid .driver-license-number{width:100%}}

/* 4.3.37: clip native scrollbars and content to the shared dialog radius.
   Keeps native dialog scrolling, focus handling and the modal backdrop. */
dialog{border-radius:18px;clip-path:inset(0 round 18px)}

/* 4.3.38: shared, explicit action-needed appearance. Optional empty fields stay neutral. */
:root{--review-bg:#fff2f1;--review-border:#dea39e;--review-text:#843a36}
.needs-review,
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"],
input:user-invalid,select:user-invalid,textarea:user-invalid,
.contract-field:has(.contract-field-hint.needs-review:not([hidden]):not(:empty))>input,
.contract-field:has(.contract-field-hint.needs-review:not([hidden]):not(:empty))>select,
.contract-field:has(.contract-field-hint.needs-review:not([hidden]):not(:empty))>textarea{
 background:var(--review-bg)!important;border-color:var(--review-border)!important;
}
.review-hint{display:block;margin-top:6px;color:var(--review-text);font-size:.82rem;line-height:1.45;font-weight:400}
.review-warning:not(:empty),.driver-info,.driver-state:is(.driver-initial,.driver-soon,.driver-overdue,.driver-blocked),.contract-status.status-draft{
 background:var(--review-bg);color:var(--review-text);border:1px solid var(--review-border);border-radius:10px;padding:6px 10px;
}
#centerChoices.needs-review{border:1px solid var(--review-border);border-radius:12px;padding:10px}
.cost-sum.needs-review{border:1px solid var(--review-border);border-radius:10px;padding:10px}
.needs-review:focus-visible{outline:2px solid var(--brand,#007f82);outline-offset:2px}
@media(forced-colors:active){.needs-review{outline:2px solid Mark}.review-hint{color:CanvasText}}

/* 4.3.45: document availability beneath the vehicle activity status. */
.fleet-card-statuses{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-left:12px}
.fleet-card-statuses .fleet-badge{white-space:nowrap;line-height:1.4}
.fleet-card-statuses .fleet-badge:before{flex:none}
.fleet-registration-present:before{background:#16865c}
.fleet-registration-missing:before{background:#b83d3d}

/* Vehicle document actions follow the shared button sizing. */
.fleet-actions>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-weight:700}
.fleet-actions>a:not(.primary){background:var(--surface,#fff);color:inherit}
.fleet-panel>.fleet-icon{margin-bottom:12px}

.fleet-columns{grid-auto-rows:1fr}
.fleet-columns>.fleet-panel>button:last-child{align-self:flex-start;margin-top:auto}

/* 4.3.47: compact vehicle identity, separated cost centre and aligned status rows. */
.fleet-cards{grid-auto-rows:1fr}
.fleet-card-head{align-items:flex-start;min-height:68px}
.fleet-card-identity{display:flex;flex-direction:column;gap:4px;min-width:0}
.fleet-card-identity h3,.fleet-card-identity p{margin:0;line-height:1.5;overflow-wrap:anywhere}
.fleet-card .fleet-card-center{margin-top:8px;overflow-wrap:anywhere}

/* 4.3.48: shared horizontal headers for navigation tiles. */
.datahub-tile-header{display:flex;align-items:flex-start;gap:14px;width:100%;min-width:0;margin:0 0 18px}
.datahub-tile-copy{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1;text-align:left}
.datahub-tile-copy>h3,.datahub-tile-copy>p,.datahub-tile-copy>strong,.datahub-tile-copy>span{margin:0!important;min-height:0!important;overflow-wrap:anywhere}
.datahub-tile-copy>h3,.datahub-tile-copy>strong{line-height:1.35;color:var(--ink,#08384a)}
.datahub-tile-copy>p,.datahub-tile-copy>span{font-size:14px;font-weight:400;line-height:1.5;color:var(--muted)}
.datahub-icon-action,button.datahub-tile-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;min-height:48px;box-sizing:border-box;padding:0;margin:0;border:0;border-radius:12px;cursor:pointer;background:#e8f2f5;color:#176276}
.datahub-icon-action svg{width:32px;height:32px;box-sizing:border-box;padding:0;margin:0;background:transparent;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.datahub-icon-action.tone-people,.datahub-icon-action.tone-registration{background:#e6f3f0;color:#227965}
.datahub-icon-action.tone-contract{background:#eef0fa;color:#58669b}
.datahub-icon-action.tone-vehicle{background:#edf0fb;color:#5668a1}
button.datahub-icon-action:hover:not(:disabled),button.datahub-tile-icon:hover:not(:disabled){box-shadow:0 0 0 2px var(--teal,#008184)}
button.datahub-icon-action:focus-visible,button.datahub-tile-icon:focus-visible{outline:3px solid var(--teal,#008184);outline-offset:3px}
button.datahub-icon-action:disabled{opacity:.45;cursor:default}
#contractGroups .datahub-tile-icon{margin:0}
#contractGroups .datahub-tile-header svg{background:transparent}
#modules .datahub-tile-header{padding-right:22px;box-sizing:border-box}
.settings-nav-tile{flex-direction:row;align-items:flex-start;gap:14px}
.settings-nav-tile .settings-tile-symbol{width:32px;height:32px;flex:none;padding:8px;box-sizing:content-box}
.settings-nav-tile[data-section=security] img{background:#e9f0fa}
.settings-nav-tile[data-section=updates] img{background:#edf0fb}
.settings-nav-tile[data-section=export] img{background:#f3edf8}
.driver-person-tile>.driver-state{margin-left:62px;display:inline-flex}
.driver-person-tile .datahub-tile-header{margin-bottom:10px}
.contract-list-item .datahub-tile-header{margin-bottom:4px}
.fleet-card-head.fleet-tile-header{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px 14px;min-height:0}
.fleet-tile-header .fleet-card-statuses{grid-column:2;margin:0;min-height:68px}
.fleet-tile-header .fleet-card-identity{min-width:0}
.fleet-panel>.datahub-tile-header{margin-bottom:4px}
.contract-file-card .datahub-tile-copy{overflow-wrap:anywhere}
html[data-theme=dark] .datahub-icon-action{background:#23474a;color:#9cddd3}
html[data-theme=dark] .datahub-icon-action.tone-contract,html[data-theme=dark] .datahub-icon-action.tone-vehicle{background:#303b59;color:#bcc9f5}
html[data-theme=dark] .settings-nav-tile img{background:#cededc}
#modules,.contract-tiles,.settings-hub,.kpi-modules{grid-auto-rows:1fr}

/* 4.3.49 – Shared navigation tile standard, based on rental contract cards.
   Use dataHubTileHeader + datahub-tile-open for every new navigation tile.
   Data, status checks, edit and delete controls remain independent. */
:root{--tile-radius:16px;--tile-padding:24px;--tile-gap:12px;--tile-icon-bg:#eef0fa}
.datahub-tile,#contractList .contract-list-item.datahub-tile{
 display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
 box-sizing:border-box;min-width:0;padding:var(--tile-padding);gap:var(--tile-gap);
 border:1px solid var(--line);border-radius:var(--tile-radius);background:var(--surface);
 color:var(--ink);text-align:left;text-decoration:none;box-shadow:0 4px 16px #06354b08;
 transition:box-shadow .15s,border-color .15s;
}
.datahub-tile:hover,.datahub-tile:focus-within,#contractList .contract-list-item.datahub-tile:hover{
 border-color:var(--teal);box-shadow:0 8px 24px #06354b18;
}
.datahub-tile .datahub-tile-header{margin:0 0 4px;gap:14px;align-items:flex-start}
.datahub-tile .datahub-tile-copy>h3,.datahub-tile .datahub-tile-copy>strong,.datahub-tile .fleet-card-identity h3{font-size:19px;line-height:1.35;font-weight:700}
.datahub-tile .datahub-tile-copy>p,.datahub-tile .datahub-tile-copy>span,.datahub-tile .fleet-card-identity p{font-size:13px;line-height:1.5;font-weight:400;color:var(--muted)}
.datahub-tile .datahub-icon-action,.datahub-tile .datahub-tile-icon,.datahub-tile .settings-tile-symbol{border-radius:12px;background:var(--tile-icon-bg);color:var(--teal);box-shadow:none}
.datahub-tile .datahub-tile-icon svg{color:inherit;background:transparent}
.datahub-tile .fleet-card-statuses{margin:0;min-height:0;gap:8px;align-self:flex-start}
.datahub-tile.fleet-card .fleet-card-center{border-top:1px solid var(--line);padding-top:12px;margin:0;font-size:12px;line-height:1.5}
.datahub-tile.driver-person-tile>.driver-state{margin:0;align-self:flex-start}
.datahub-tile .contract-card-top{margin:0}
/* Only opening actions adopt the quiet footer; save/delete/upload keep their semantics. */
.datahub-tile .datahub-tile-open,#modules>.datahub-tile>.module-open,#contractGroups .datahub-tile>button.primary,.kpi-modules>.datahub-tile>.module-open{
 display:inline-flex;align-items:center;justify-content:flex-start;align-self:flex-start;
 margin: auto 0 0;padding:8px 0 0;min-height:44px;height:auto;width:auto;max-width:100%;
 border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--teal);
 font-size:12px;line-height:1.5;font-weight:700;white-space:normal;text-align:left;
}
button.datahub-tile-open::after,.datahub-tile>button.module-open::after,#contractGroups .datahub-tile>button.primary::after{content:' →';white-space:pre}
.datahub-tile .datahub-tile-open:hover{background:transparent;text-decoration:underline;box-shadow:none}
.datahub-tile .datahub-tile-open:disabled{opacity:.5;cursor:default;text-decoration:none}
.datahub-tile .datahub-tile-open:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:3px}
.settings-nav-tile.datahub-tile .datahub-tile-open{font-weight:700;color:var(--teal)}
#modules>.datahub-tile,#contractGroups>.datahub-tile,.kpi-modules>.datahub-tile,.fleet-cards>.datahub-tile,#contractList>.datahub-tile,.settings-hub>.datahub-tile{min-height:290px;height:100%}
.driver-person-tile.datahub-tile{height:100%}
html[data-theme=dark]{--tile-icon-bg:#303b59}
html[data-theme=dark] .datahub-tile .datahub-icon-action,html[data-theme=dark] .datahub-tile .datahub-tile-icon{background:var(--tile-icon-bg);color:#9cddd3}

/* 4.3.51 – Driver status: plain label and centered dot, at most four tiles. */
#driverCards{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(300px,calc((100% - 48px)/4))),1fr))}
.driver-state{display:inline-flex;align-items:center;gap:7px;line-height:1.5}
.driver-state::before{display:block;flex:0 0 9px;width:9px;height:9px;margin:0}
.driver-state.driver-initial{background:transparent;color:var(--ink);border:0;border-radius:0;padding:0;box-shadow:none}
.driver-state.driver-initial::before{background:#c44848}
svg[data-icon=fuhrpark],.datahub-icon-action svg[data-icon=fuhrpark]{stroke-width:1.25}

/* 4.3.53: icons inside whole-tile links/buttons share the icon button feedback. */
a.datahub-tile .datahub-icon-action,button.datahub-tile .datahub-icon-action{transition:box-shadow .15s}
a.datahub-tile .datahub-icon-action:hover,button.datahub-tile:not(:disabled) .datahub-icon-action:hover{box-shadow:0 0 0 2px var(--teal,#008184)}
a.datahub-tile:focus-visible .datahub-icon-action,button.datahub-tile:not(:disabled):focus-visible .datahub-icon-action{outline:3px solid var(--teal,#008184);outline-offset:3px}
@media(prefers-reduced-motion:reduce){a.datahub-tile .datahub-icon-action,button.datahub-tile .datahub-icon-action{transition:none}}

/* 4.3.54 – Settings reuse the shared whole-tile icon interactions. */
#settingsHub{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(300px,calc((100% - 48px)/4))),1fr))}
.settings-nav-tile.datahub-tile .datahub-tile-copy>strong{overflow-wrap:normal;word-break:normal;hyphens:manual}
@media(max-width:380px){.settings-nav-tile.datahub-tile .datahub-tile-header{flex-wrap:wrap}.settings-nav-tile.datahub-tile .datahub-tile-copy{flex-basis:100%}}
/* BEGIN GENERATED DESIGN STANDARD — edit design-system.css, not this section. */
/* ZR DataHub Design Standard 1.0. Source of truth; compiled at the end of app.css.
   New modules use dh-tile-grid / datahub-tile, dataHubTileHeader,
   datahub-tile-open, dh-filter-bar, dh-form-grid and explicit needs-review.
   See app/DESIGN-STANDARD.md. */
/* Responsive fleet chart geometry migrated from the frozen legacy prefix. */
.cost-chart-content{min-width:0;overflow-x:hidden}
.cost-trend-svg{max-width:100%;min-width:0}

:root{
 --dh-space:8px;--dh-gap:16px;--dh-padding:24px;--dh-control:48px;
 --dh-radius:16px;--dh-control-radius:10px;--dh-dialog-radius:18px;
 --dh-icon-size:48px;--dh-symbol-size:32px;--dh-icon-bg:#eef0fa;
 --dh-success:#19875a;--dh-warning:#a66e00;--dh-danger:#c44848;--dh-inactive:#8b9ba5;
 --dh-shadow:0 4px 16px #06354b08;--dh-hover-shadow:0 8px 24px #06354b18;
 --dh-backdrop:#06354b88;--dh-font:'Ubuntu',Arial,sans-serif;
 --review-bg:#fff2f1;--review-border:#dea39e;--review-text:#843a36;
}
html[data-theme=dark]{--dh-icon-bg:#303b59;--dh-success:#65cb9a;--dh-warning:#e8ba62;--dh-danger:#f48c88;--dh-inactive:#a5bbc6;--review-bg:#43282d;--review-border:#ab6468;--review-text:#ffd0cc;--dh-backdrop:#020b14bb}
/* Surfaces share workspace sizing; field/dialog widths may intentionally differ. */
#workspace>.view,#profile,#settings{width:100%;max-width:none;margin-inline:0}
#settingsWorkspace .settings-card{max-width:none}
/* Four columns maximum, driven by container width rather than viewport size. */
.dh-tile-grid,body.authenticated #modules,#driverCards,#settingsHub,.fleet-cards,#contractList,.contract-tiles,.contract-file-grid,.kpi-modules,.fleet-columns{
 display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(300px,calc((100% - 48px)/4))),1fr));
 gap:var(--dh-gap);grid-auto-rows:1fr;align-items:stretch;
}
.datahub-tile,#contractList .contract-list-item.datahub-tile{
 position:relative;box-sizing:border-box;padding:var(--dh-padding);gap:12px;border-radius:var(--dh-radius);
 background:var(--surface);border:1px solid var(--line);box-shadow:var(--dh-shadow);min-width:0;
 display:flex;flex-direction:column;align-items:stretch;text-align:left;color:var(--ink);
}
.datahub-tile:hover,.datahub-tile:focus-within,#contractList .contract-list-item.datahub-tile:hover{border-color:var(--teal);box-shadow:var(--dh-hover-shadow)}
#modules>.datahub-tile,#kfzModules>.datahub-tile,#contractGroups>.datahub-tile,.kpi-modules>.datahub-tile,.fleet-cards>.datahub-tile,#contractList>.datahub-tile,.settings-hub>.datahub-tile{min-height:290px;height:100%}
.datahub-tile .datahub-tile-header{display:flex;gap:14px;align-items:flex-start;margin:0 0 4px;min-width:0}
.datahub-tile .datahub-tile-copy{min-width:0;gap:5px}
.datahub-tile .datahub-tile-copy>h3,.datahub-tile .datahub-tile-copy>strong{font-size:19px;line-height:1.35;font-weight:700;hyphens:auto;overflow-wrap:anywhere}
.datahub-tile .datahub-tile-copy>p,.datahub-tile .datahub-tile-copy>span{font-size:13px;line-height:1.5;color:var(--muted)}
/* All symbol wrappers, including img elements, have an OUTER size of 48px. */
.datahub-tile :is(.datahub-icon-action,.datahub-tile-icon,.settings-tile-symbol),#contractGroups .contract-group-icon,.card[data-module] .module-tile-icon{
 display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
 flex:0 0 var(--dh-icon-size);width:var(--dh-icon-size);height:var(--dh-icon-size);min-height:var(--dh-icon-size);max-height:var(--dh-icon-size);
 padding:8px;margin:0;border:0;border-radius:12px;background:var(--dh-icon-bg);color:var(--teal);
 transition:box-shadow .15s;
}
.datahub-tile :is(.datahub-icon-action,.datahub-tile-icon) svg,#contractGroups .contract-group-icon svg{
 display:block;flex:none;width:var(--dh-symbol-size);height:var(--dh-symbol-size);padding:0;margin:0;background:transparent;
 fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;
}
/* Scale optical stroke by the SVG's coordinate system. */
.datahub-tile svg[viewBox='0 0 24 24']{stroke-width:1.25}
.datahub-tile svg[viewBox='0 0 32 32']{stroke-width:1.7}
html[data-theme=dark] .datahub-tile :is(.datahub-icon-action,.datahub-tile-icon,.settings-tile-symbol){background:var(--dh-icon-bg);color:var(--teal)}
.datahub-tile button:is(.datahub-icon-action,.datahub-tile-icon):hover:not(:disabled),
a.datahub-tile .datahub-icon-action:hover,button.datahub-tile:not(:disabled) .datahub-icon-action:hover{box-shadow:0 0 0 2px var(--teal)}
.datahub-tile button:is(.datahub-icon-action,.datahub-tile-icon):focus-visible,
a.datahub-tile:focus-visible .datahub-icon-action,button.datahub-tile:focus-visible .datahub-icon-action{outline:3px solid var(--teal);outline-offset:3px}
/* Stretch only the explicit navigation action. Other controls stay above it. */
:is(article,section).datahub-tile>button:is(.datahub-tile-open,.module-open):not(:disabled)::before{content:'';position:absolute;inset:0;border-radius:var(--dh-radius);cursor:pointer}
:is(article,section).datahub-tile>button:is(.datahub-tile-open,.module-open):focus-visible{outline:none}
:is(article,section).datahub-tile>button:is(.datahub-tile-open,.module-open):focus-visible::before{outline:3px solid var(--teal);outline-offset:3px}
:is(article,section).datahub-tile :is(.datahub-tile-icon,.datahub-icon-action,.favorite-button){position:relative;z-index:1}
:is(article,section).datahub-tile .favorite-button{position:absolute}
.datahub-tile .datahub-tile-open,.datahub-tile .module-open,.datahub-tile .contract-card-open{font-size:12px;font-weight:700;color:var(--teal);margin-top:auto;min-height:44px}
/* One status vocabulary: dot + label. Rich review messages use review-warning. */
.driver-state,.fleet-badge,.contract-status{
 display:inline-flex;align-items:center;gap:7px;line-height:1.5;font-size:12px;font-weight:600;
 background:transparent;border:0;border-radius:0;padding:0;color:var(--ink);box-shadow:none;
}
.driver-state:is(.driver-initial,.driver-soon,.driver-overdue,.driver-blocked),.contract-status.status-draft{background:transparent;border:0;border-radius:0;padding:0;color:var(--ink)}
.driver-state::before,.fleet-badge::before,.contract-status::before{content:'';display:block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;margin:0;background:var(--dh-inactive)}
.driver-valid::before,.fleet-active::before,.fleet-registration-present::before,.contract-status.status-active::before{background:var(--dh-success)}
.driver-soon::before,.contract-status.status-draft::before{background:var(--dh-warning)}
.driver-initial::before,.driver-overdue::before,.driver-blocked::before,.fleet-registration-missing::before{background:var(--dh-danger)}
.driver-info{background:var(--soft);border:1px solid var(--line);color:var(--ink);padding:16px;border-radius:var(--dh-control-radius)}
/* Shared filters, controls and form grids. Compact table buttons are deliberate. */
.dh-filter-bar,#fleetToolbar,.driver-toolbar,.contract-toolbar,.cost-receipt-filters,#costPanel>.cost-filters{
 padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:14px;gap:var(--dh-gap);align-items:end;
}
.dh-filter-bar label{margin:0;min-width:0;display:grid;gap:8px}
.dh-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
.dh-form-grid>label{margin:0;min-width:0;display:grid;gap:8px}
.view :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select),dialog :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select),.external-check :is(input:not([type=checkbox]),select){min-height:var(--dh-control);border-radius:var(--dh-control-radius);font-family:var(--dh-font)}
.view textarea,dialog textarea{font-family:var(--dh-font);border-radius:var(--dh-control-radius)}
.dh-button,.settings-actions button,.driver-actions button,.cost-actions button{min-height:var(--dh-control);border-radius:var(--dh-control-radius)}
/* These neutral hints must never mark a field as invalid. */
.contract-field-hint{color:var(--muted)}
.contract-field-hint.field-validation-error,.contract-field-hint.needs-review{color:var(--review-text)}
/* Dark mode respects readonly and secondary controls too. */
.fleet-columns .fleet-panel-footer button:not(.primary),.external-check .secondary{background:var(--surface);color:var(--ink)}
.contract-field input[readonly]{background:var(--soft);color:var(--ink)}
/* Width follows purpose (help/form/preview), frame and spacing are shared. */
dialog,dialog[class]{padding:var(--dh-padding);border:1px solid var(--line);border-radius:var(--dh-dialog-radius);clip-path:inset(0 round var(--dh-dialog-radius));background:var(--surface);color:var(--ink);max-height:calc(100dvh - 32px);max-width:calc(100vw - 32px);overflow:auto}
dialog::backdrop,dialog[class]::backdrop{background:var(--dh-backdrop)}

/* Global dialog structure.
   Width varies by purpose; frame, spacing and interaction remain shared. */
.dh-dialog{
 box-sizing:border-box;
 grid-template-rows:auto minmax(0,1fr) auto;
 width:min(100%,760px);
 max-height:calc(100dvh - 32px);
 padding:0;
 overflow:hidden;
}

.dh-dialog[open]{
 display:grid;
}

.dh-dialog-sm{width:min(100%,520px)}
.dh-dialog-md{width:min(100%,760px)}
.dh-dialog-lg{width:min(100%,1000px)}
.dh-dialog-wide{width:min(100%,1440px)}

/* Small dialogs containing the global custom-select may allow its
   listbox to leave the body without turning the dialog into a
   horizontal/vertical scroll container. */
.dh-dialog-select-popover{
 overflow:visible;
 clip-path:none;
}

.dh-dialog-select-popover .dh-dialog-body{
 overflow:visible;
}

.dh-dialog-select-popover .dh-select{
 position:relative;
 z-index:1;
 width:100%;
}

.dh-dialog-select-popover .dh-select.is-open{
 z-index:10020;
}

.dh-dialog-select-popover .dh-select-list{
 z-index:10021;
 width:100%!important;
 max-width:100%!important;
}

.dh-dialog-select-popover .dh-select-option{
 white-space:normal;
 overflow-wrap:anywhere;
}

.dh-dialog-header{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:16px;
 min-width:0;
 padding:24px;
 border-bottom:1px solid var(--line);
 background:var(--surface);
}

.dh-dialog-heading{
 min-width:0;
}

.dh-dialog-form{
 display:grid;
 grid-template-rows:auto minmax(0,1fr) auto;
 min-width:0;
 min-height:0;
 max-height:inherit;
 overflow:hidden;
}

.dh-dialog-title{
 margin:0;
 color:var(--ink);
 font-size:22px;
 line-height:1.3;
 font-weight:700;
 overflow-wrap:anywhere;
}

.dh-dialog-subtitle{
 margin:6px 0 0;
 color:var(--muted);
 font-size:13px;
 line-height:1.5;
}

.dh-dialog-close{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 flex:0 0 44px;
 width:44px;
 height:44px;
 min-height:44px;
 margin:0;
 padding:0;
 border-radius:var(--dh-control-radius);
 font-size:22px;
 line-height:1;
}

.dh-dialog-body{
 min-width:0;
 min-height:0;
 padding:24px;
 overflow:auto;
 overscroll-behavior:contain;
}

.dh-dialog-footer{
 display:flex;
 align-items:center;
 justify-content:flex-end;
 gap:10px;
 flex-wrap:wrap;
 padding:16px 24px 24px;
 border-top:1px solid var(--line);
 background:var(--surface);
}

.dh-dialog-footer>button,
.dh-dialog-footer>a{
 margin:0;
}

/* Photo crop uses the shared dialog frame.
   Content may scroll vertically on short viewports, but no dialog
   or horizontal scrollbar is shown. */
#photoCropDialog.dh-dialog{
 width:min(100%,520px);
 max-height:calc(100dvh - 32px);
 padding:0;
 overflow:hidden;
}

#photoCropDialog .dh-dialog-body{
 overflow-x:hidden;
 overflow-y:auto;
 scrollbar-width:none;
}

#photoCropDialog .dh-dialog-body::-webkit-scrollbar{
 display:none;
}

#photoCropDialog .dh-dialog-body>*{
 max-width:100%;
 box-sizing:border-box;
}

@media(max-width:600px){
 .dh-dialog,
 .dh-dialog-sm,
 .dh-dialog-md,
 .dh-dialog-lg,
 .dh-dialog-wide{
  width:calc(100vw - 16px)!important;
  max-width:calc(100vw - 16px)!important;
  max-height:calc(100dvh - 16px)!important;
  padding:0!important;
 }

 .dh-dialog-header{
  gap:12px;
  padding:16px;
 }

 .dh-dialog-title{
  font-size:20px;
 }

 .dh-dialog-body{
  padding:16px;
 }

 .dh-dialog-footer{
  padding:14px 16px 16px;
 }

 .dh-dialog-footer>button,
 .dh-dialog-footer>a{
  flex:1 1 140px;
 }
}
.external-check{font-family:var(--dh-font)}
@media(max-width:600px){.dh-form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.datahub-tile,.datahub-tile .datahub-icon-action,.datahub-tile .datahub-tile-icon{transition:none}}
@media(forced-colors:active){.driver-state::before,.fleet-badge::before,.contract-status::before{background:CanvasText}.datahub-tile .datahub-icon-action:hover{outline:2px solid Highlight}}

.datahub-tile:has(>button:is(.module-open,.datahub-tile-open):disabled):hover{border-color:var(--line);box-shadow:var(--dh-shadow)}

.driver-info.review-warning:not(:empty){background:var(--review-bg);border-color:var(--review-border);color:var(--review-text)}

/* Vehicle detail panels use the same four-column container grid as all tiles. */
.fleet-columns{margin-top:24px}
.fleet-columns>.fleet-registration{margin:0}
.fleet-columns>.datahub-tile{height:100%;min-width:0}
.fleet-columns .fleet-actions{gap:8px}
.fleet-columns .fleet-actions :is(button,a){flex:1 1 120px;max-width:100%;min-width:0;height:auto;min-height:var(--dh-control);white-space:normal;overflow-wrap:anywhere;text-align:center}
.fleet-columns .fleet-row{min-width:0;overflow-wrap:anywhere}

/* Presence status: shared by all document/assignment tiles. */
.dh-presence-status{display:inline-flex;align-items:center;gap:7px;line-height:1.5;font-size:12px;font-weight:600;background:transparent;border:0;padding:0;color:var(--ink)}
.dh-presence-status::before{content:'';display:block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--dh-inactive)}
.dh-presence-status[data-presence=present]::before{background:var(--dh-success)}
.dh-presence-status[data-presence=missing]::before{background:var(--dh-danger)}

/* Uniform tile action areas: equal columns, shared height, bottom-aligned. */
.fleet-columns>.datahub-tile>.datahub-tile-header{min-height:72px}
.fleet-columns .fleet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
.fleet-columns .fleet-actions :is(button,a){width:100%;min-height:var(--dh-control);height:var(--dh-control);margin:0;padding:8px 10px;line-height:1.25;font-size:13px}
.fleet-columns .fleet-actions>:only-child{grid-column:1/-1}
.fleet-columns>.datahub-tile>.fleet-panel-footer{margin-top:auto;padding-top:16px}
.fleet-columns>.datahub-tile>p[role=status]:empty{display:none}
.fleet-columns>.datahub-tile>.datahub-tile-open{min-height:var(--dh-control);margin-bottom:0}

/* Sales-KPIs reuse common controls, tile surfaces and chart colors. */
.sale-summary{margin:24px 0}
.sale-summary h3{font-size:15px;margin:0}
.sale-summary strong{font-size:26px}
.sale-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dh-gap);margin:24px 0}
.sale-charts .cost-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}
.sale-charts select{max-width:100%}
.sale-bars{display:grid;gap:14px}
.sale-bar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;font-size:13px}
.sale-bar-row>span{overflow-wrap:anywhere}
.sale-bar-row svg{grid-column:1/-1;width:100%;height:10px}
.sale-history{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.sale-import-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.sale-import-row>div:first-child{min-width:0;flex:1 1 260px;overflow-wrap:anywhere}
.sale-import-row p{margin:6px 0 0}
.sale-import-row .fleet-actions{gap:8px}
#saleDialog{width:min(760px,calc(100vw - 32px))}
#saleImportForm{display:grid;gap:20px}
#saleImportForm label{display:block}
#saleImportForm input[type=file]{max-width:100%}
@media(max-width:850px){.sale-charts{grid-template-columns:minmax(0,1fr)}}

/* Shared responsive filter layout: explicit grid, common action alignment. */
.dh-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 16px}
.dh-filter-grid select{width:100%;min-width:0}
.dh-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px}
#saleKpis>.cost-heading,#costPanel>.cost-heading,#contracts>.contract-heading{align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:24px}
#saleKpis>.cost-heading .fleet-actions,#costPanel>.cost-heading .fleet-actions,#contracts>.contract-heading .fleet-actions{display:flex;flex-wrap:wrap;gap:12px}
#saleMessage:empty{display:none}
#saleCoverage{margin:12px 0 24px}
@media(max-width:1100px){.dh-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dh-filter-grid{grid-template-columns:minmax(0,1fr)}.dh-filter-actions>button{flex:1 1 160px}}

/* Sales charts scale to their tile; no horizontal chart scrollbars. */
.sale-charts>section{min-width:0}
.sale-chart-scroll{width:100%;max-width:100%;overflow:hidden}
.sale-chart-svg{display:block;width:100%;max-width:100%;min-width:0;height:auto;color:var(--ink);outline:none}
.sale-chart-svg:focus,.sale-chart-svg:focus-visible{outline:none}.sale-annual-series:focus,.sale-annual-series:focus-visible,.sale-annual-series *:focus,.sale-annual-series *:focus-visible{outline:none}
.sale-chart-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0 16px;font-size:12px}
.sale-chart-legend>span{display:inline-flex;align-items:center;gap:6px;transform-origin:center;transition:transform .15s ease,font-weight .15s ease,opacity .15s ease;cursor:default}.sale-chart-legend>span.sale-legend-active,.sale-chart-legend>span.sale-legend-selected{transform:scale(1.14);font-weight:700;opacity:1}.sale-chart-legend>span.sale-legend-active svg,.sale-chart-legend>span.sale-legend-selected svg{transform:scale(1.18)}.sale-chart-legend>span.sale-legend-muted{opacity:.28}.sale-annual-series{cursor:pointer;transition:opacity .15s ease}.sale-annual-series.sale-series-muted{opacity:.18}.sale-annual-series.sale-series-selected .sale-series-line{stroke-width:4}.sale-annual-series.sale-series-selected .sale-series-dot{stroke:#fff;stroke-width:2;r:5.5px}.sale-series-hit{stroke:transparent;stroke-width:16;pointer-events:stroke}.sale-series-line,.sale-series-dot{pointer-events:all}.sale-series-value-bg{fill:var(--ink);opacity:.94}.sale-series-value-text{fill:var(--surface);font-family:inherit;font-size:12px;font-weight:700;paint-order:stroke;stroke:transparent}
.sale-segment-label{font-size:12px;fill:white;paint-order:stroke;stroke:#172936;stroke-width:2px;stroke-linejoin:round}

/* Equal heading slots and shared column-chart coordinates align both revenue plots. */
.sale-charts .cost-heading{min-height:48px;align-items:center;margin:0 0 16px}
.sale-charts .cost-heading h3{margin:0}
.sale-chart-legend{min-height:56px;box-sizing:border-box;align-content:flex-start;overflow:visible;flex-shrink:0}

/* Compact numeric KPI tiles retain the common four-column grid and surface. */
.sale-summary>.datahub-tile{padding:20px 24px;gap:10px;min-height:0}
.sale-summary strong{line-height:1.25}

/* Period controls and enlarged charts reuse the common modal frame. */
.dh-filter-grid>label[hidden]{display:none}
.sale-chart-card{cursor:default;position:relative}.sale-chart-card>.cost-heading{padding-right:58px}.sale-chart-expand{position:absolute;top:16px;right:16px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;min-height:42px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--teal);box-shadow:none}.sale-chart-expand:hover{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal);background:var(--soft)}.sale-chart-expand:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.sale-chart-card:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.sale-chart-svg.sale-chart-wide{width:100%;max-width:100%;min-width:0;height:auto}
#saleChartDialog{width:min(1440px,calc(100vw - 32px));max-height:90vh;overflow:auto}
.sale-chart-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;position:sticky;top:0;background:var(--surface);z-index:1}
.sale-chart-modal-header h3{margin:0}
#saleChartLarge .sale-chart-scroll{cursor:default}
#saleChartLarge .sale-chart-svg{width:100%;max-width:100%;min-width:0;height:auto}

/* Shared date/month picker. Native inputs retain ISO values and validation. */
.dh-calendar-input:not([readonly]):not(:disabled){cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008087' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M7 3v4m10-4v4M3 11h18m-13 4h2m4 0h2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:22px;background-position:right 14px center;padding-right:44px}
.dh-calendar-input::-webkit-calendar-picker-indicator{opacity:0}
#dhCalendar{
 position:fixed;
 inset:auto;
 width:360px;
 max-width:calc(100vw - 24px);
 max-height:calc(100dvh - 24px);
 box-sizing:border-box;
 margin:0;
 padding:20px;
 overflow:auto;
 border:1px solid var(--line);
 border-radius:var(--dh-dialog-radius);
 background:var(--surface);
 color:var(--ink);
 box-shadow:0 14px 34px rgb(0 47 80 / 16%),0 3px 8px rgb(0 47 80 / 8%);
 font-family:var(--dh-font);
 z-index:10000;
}
#dhCalendar::backdrop{background:transparent}
#dhCalendar button{margin:0;min-height:40px;padding:8px 12px;box-shadow:none;font-family:inherit}
#dhCalendar .dh-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
#dhCalendar h3{margin:0;font-size:20px}
#dhCalendar .dh-calendar-heading button{width:40px;font-size:24px;padding:0}
#dhCalendar .dh-calendar-nav{display:grid;grid-template-columns:36px minmax(0,1fr) 76px 36px;gap:8px;align-items:center}
#dhCalendar.dh-calendar-month-mode .dh-calendar-nav{grid-template-columns:36px minmax(0,1fr) 36px}
#dhCalendar .dh-calendar-nav button{font-size:24px;padding:0}
#dhCalendar .dh-calendar-nav input,#dhCalendar .dh-calendar-nav select{width:100%;min-width:0;min-height:40px;margin:0;padding:8px;font-size:14px;box-sizing:border-box;background:var(--surface);color:var(--ink)}
#dhCalendar [hidden]{display:none}
#dhCalendar .dh-calendar-caption{font-size:14px;font-weight:500;color:var(--muted);margin:16px 0 12px}
#dhCalendar .dh-calendar-week,#dhCalendar .dh-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
#dhCalendar .dh-calendar-week{font-size:12px;text-align:center;color:var(--muted);margin-bottom:8px}
#dhCalendar .dh-calendar-grid button{padding:0;min-width:0;border-color:transparent;border-radius:10px;font-size:14px;background:var(--surface);color:var(--ink)}
#dhCalendar .dh-calendar-grid.dh-calendar-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#dhCalendar .dh-calendar-months button{min-height:46px}
#dhCalendar .dh-calendar-grid button:hover:not(:disabled){background:var(--soft);border-color:var(--teal)}
#dhCalendar .dh-calendar-grid button.is-today{box-shadow:inset 0 0 0 1px var(--teal)}
#dhCalendar .dh-calendar-grid button.is-selected{background:var(--teal);color:white;border-color:var(--teal)}
#dhCalendar button:focus-visible,#dhCalendar input:focus-visible,#dhCalendar select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
#dhCalendar button:disabled{opacity:.35;cursor:default}
#dhCalendar .dh-calendar-actions{display:flex;justify-content:space-between;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
#dhCalendar .dh-calendar-status{font-size:13px;color:var(--review-text);margin:12px 0 0}
#dhCalendar .dh-calendar-status:empty{display:none}


@media(max-width:600px){
 #dhCalendar{
  width:min(360px,calc(100vw - 24px));
  padding:16px;
 }
}


/* =========================================================
   ZR DATAHUB · GLOBAL TIME PICKER
   Native HH:MM values remain the authoritative data source.
   ========================================================= */

.dh-time-field{
 position:relative;
 display:block;
 width:100%;
 min-width:0;
}

.dh-time-native{
 position:absolute!important;
 width:1px!important;
 height:1px!important;
 min-width:0!important;
 min-height:0!important;
 margin:0!important;
 padding:0!important;
 opacity:0!important;
 pointer-events:none!important;
 clip-path:inset(50%)!important;
}

.dh-time-control{
 position:relative;
 display:block;
 width:100%;
 height:36px;
 min-height:40px;
 margin:0;
 padding:0 28px 0 12px;
 border:1px solid var(--line);
 border-radius:10px;
 background:var(--surface);
 color:var(--ink);
 box-shadow:none;
 font:500 14px/1 var(--dh-font);
 text-align:left;
}

.dh-time-control::after{
 content:"";
 position:absolute;
 top:50%;
 right:13px;
 width:7px;
 height:7px;
 border-right:1.5px solid var(--teal);
 border-bottom:1.5px solid var(--teal);
 transform:translateY(-65%) rotate(45deg);
 transition:transform .15s ease;
}

.dh-time-control[aria-expanded="true"]::after{
 transform:translateY(-30%) rotate(225deg);
}

.dh-time-control:hover:not(:disabled),
.dh-time-control[aria-expanded="true"]{
 border-color:var(--teal);
}

.dh-time-control:focus-visible{
 border-color:var(--teal);
 outline:none;
 box-shadow:0 0 0 3px rgb(0 128 135 / 14%);
}

.dh-time-control:disabled{
 background:var(--soft);
 color:var(--muted);
 opacity:.55;
 cursor:default;
}

.dh-time-control.is-placeholder{
 color:var(--muted);
}

#dhTimePicker{
 position:fixed;
 inset:auto;
 z-index:10000;
 width:132px;
 max-height:min(320px,calc(100dvh - 24px));
 box-sizing:border-box;
 margin:0;
 padding:6px;
 overflow-y:auto;
 border:1px solid var(--line);
 border-radius:12px;
 background:var(--surface);
 color:var(--ink);
 box-shadow:
  0 14px 34px rgb(0 47 80 / 16%),
  0 3px 8px rgb(0 47 80 / 8%);
 font-family:var(--dh-font);
}

#dhTimePicker[hidden]{
 display:none!important;
}

#dhTimePicker .dh-time-option{
 display:block;
 width:100%;
 min-height:40px;
 margin:0;
 padding:8px 10px;
 border:0;
 border-radius:8px;
 background:transparent;
 box-shadow:none;
 color:var(--ink);
 font:500 14px/1.2 var(--dh-font);
 text-align:center;
}

#dhTimePicker .dh-time-option:hover,
#dhTimePicker .dh-time-option:focus-visible{
 background:var(--soft);
 color:var(--teal);
 outline:none;
}

#dhTimePicker .dh-time-option.is-selected{
 background:#eaf5f7;
 color:var(--navy);
 font-weight:700;
}

#dhTimePicker .dh-time-clear{
 color:var(--muted);
}

html[data-theme=dark] #dhTimePicker .dh-time-option.is-selected{
 background:#164047;
 color:#e0edf3;
}


/* Store-Stammdaten */
.store-time-slot{
 width:88px;
 min-width:88px;
}

.store-time-slot .dh-time-field{
 width:88px;
 min-width:88px;
 max-width:88px;
}



/* Store opening hours: optional second daily range. */
.store-hours-ranges{
 display:flex;
 align-items:center;
 gap:10px;
 flex-wrap:nowrap;
}

.store-hours-range{
 display:grid;
 grid-template-columns:88px 14px 88px;
 align-items:center;
 gap:5px;
 min-height:40px;
}

.store-hours-range-secondary[hidden]{
 display:none!important;
}

.store-hours-range-toggle{
 display:grid;
 place-items:center;
 flex:0 0 36px;
 width:36px;
 height:36px;
 min-width:36px;
 min-height:40px;
 margin:0;
 padding:0;
 border:1px solid var(--line);
 border-radius:9px;
 background:var(--surface);
 color:var(--teal);
 box-shadow:none;
 font:500 22px/1 var(--dh-font);
}

.store-hours-range-toggle:hover:not(:disabled),
.store-hours-range-toggle:focus-visible{
 border-color:var(--teal);
 background:var(--soft);
 outline:none;
}

.store-hours-range-toggle:disabled{
 opacity:.45;
 cursor:default;
}

@media(max-width:760px){
 .store-hours-ranges{
  display:grid;
  grid-template-columns:minmax(0,1fr) 36px;
  align-items:start;
 }

 .store-hours-range{
  grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);
  width:100%;
 }

 .store-hours-range-secondary{
  grid-column:1/-1;
 }
}

/* All currently visible period filters share one flexible row. */
.dh-filter-fields-row{grid-column:1/-1;display:flex;flex-wrap:nowrap;gap:16px;overflow-x:auto;padding:6px;align-items:end}
.dh-filter-fields-row>label{flex:1 1 0;min-width:160px;white-space:nowrap}
.dh-filter-fields-row>label[hidden]{display:none}
.dh-filter-fields-row input,.dh-filter-fields-row select{width:100%;min-width:0;box-sizing:border-box}

#saleHistoryDialog{width:min(1000px,calc(100vw - 32px));max-height:90vh;overflow:auto}
#saleHistoryDialog .sale-history{margin-top:16px;padding-top:0;border-top:0}

.sale-import-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:480px){.sale-import-actions{grid-template-columns:1fr}}

.sale-rated-value{display:flex;align-items:center;gap:12px}.sale-rating{position:relative;display:inline-block;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:transparent;flex:none;box-shadow:none;cursor:help}.sale-rating::before{content:"";position:absolute;inset:10px;border-radius:50%;background:#80939c;box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--line)}.sale-rating[hidden]{display:none}.sale-rating[data-state="green"]::before{background:#16885c}.sale-rating[data-state="yellow"]::before{background:#d39b00}.sale-rating[data-state="red"]::before{background:#ce4747}.sale-rating:focus-visible{outline:2px solid var(--teal);outline-offset:5px}

.sale-rating-tip{position:fixed;top:0;left:0;z-index:10000;box-sizing:border-box;width:max-content;max-width:min(380px,calc(100vw - 24px));padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:var(--dh-hover-shadow);font-family:var(--dh-font);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.sale-rating-tip[hidden]{display:none}.sale-rating-tip strong{display:block;margin-bottom:6px;font-size:14px}.sale-rating-tip div+div{margin-top:4px}

.sale-chart-loading{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;color:var(--ink);font-size:14px;padding:24px;box-sizing:border-box}.sale-loading-ring{width:42px;height:42px;border:4px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:sale-loading-spin 1s linear infinite}@keyframes sale-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.sale-loading-ring{animation:none}}

/* Handbook 6.0: task-based help, shared DataHub colors and typography. */
#handbook{max-width:1440px;margin-inline:auto}
#handbook .hb-hero{padding:32px;border:1px solid var(--line);border-radius:var(--dh-radius);background:var(--surface);border-top:4px solid var(--teal);margin-bottom:20px}
#handbook .hb-hero h2{font-size:36px;line-height:1.2;margin:8px 0 12px}
#handbook .hb-hero>p{margin:0 0 12px;max-width:70ch;color:var(--ink)}
#handbook .hb-kicker{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin:0 0 10px}
#handbook .hb-version{display:inline-block;padding:6px 10px;background:var(--soft);border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--ink)}
#handbook .hb-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
#handbook .hb-shortcuts a{display:flex;align-items:center;min-height:48px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:700;text-decoration:none}
#handbook .hb-shortcuts a:hover{border-color:var(--teal);color:var(--teal)}
#handbook .handbook-layout{grid-template-columns:290px minmax(0,1fr);gap:28px}
#handbook .handbook-toc{padding:20px;border:1px solid var(--line);border-radius:var(--dh-radius);background:var(--surface);top:120px;max-height:calc(100vh - 144px);gap:12px}
#handbook .handbook-toc h3{margin:0;font-size:17px}
#handbook .handbook-toc ol{list-style:none;padding:0;margin:0;display:grid;gap:4px}
#handbook .handbook-toc li{margin:0;padding:0}
#handbook .handbook-toc a{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start;padding:9px 8px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:13px;line-height:1.5}
#handbook .hb-number{color:var(--teal);font-weight:700;font-variant-numeric:tabular-nums}
#handbook .handbook-toc a:hover{background:var(--soft);color:var(--teal)}
#handbook .handbook-content{min-width:0}
#handbook .handbook-chapter{padding:28px;margin:0 0 24px;border:1px solid var(--line);border-radius:var(--dh-radius);background:var(--surface);scroll-margin-top:120px}
#handbook .handbook-chapter>h3{font-size:25px;line-height:1.3;margin:0 0 12px;text-wrap:balance}
#handbook .hb-intro{font-size:16px;margin:0 0 24px;color:var(--ink)}
#handbook .handbook-chapter h4{font-size:18px;line-height:1.4;margin:28px 0 12px;scroll-margin-top:130px}
#handbook .handbook-chapter p,#handbook .handbook-chapter li{font-size:15px;line-height:1.7;max-width:78ch}
#handbook .handbook-chapter p{margin:12px 0}
#handbook .handbook-chapter ul,#handbook .handbook-chapter ol{padding-left:24px;margin:12px 0 20px}
#handbook .handbook-chapter li{padding-left:4px;margin-bottom:10px}
#handbook .handbook-chapter li::marker{color:var(--teal);font-weight:700}
#handbook .handbook-chapter a{color:var(--teal);text-underline-offset:3px}
#handbook .handbook-back{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;font-size:13px}
#handbook .hb-note{background:var(--soft);border-left:3px solid var(--teal);border-radius:0 10px 10px 0;padding:16px 18px;margin:20px 0}
#handbook .hb-note>strong{font-size:15px}
#handbook .hb-note p{margin:6px 0 0}
#handbook .hb-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin:16px 0 20px}
#handbook .hb-table-wrap table{display:table;width:100%;border-collapse:collapse;margin:0;font-size:14px}
#handbook .hb-table-wrap th,#handbook .hb-table-wrap td{padding:12px 14px;line-height:1.55;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
#handbook .hb-table-wrap th{background:var(--soft);font-weight:700}
#handbook .hb-table-wrap tbody tr:last-child td{border-bottom:0}
#handbook code{white-space:normal;overflow-wrap:anywhere;color:var(--ink);font-size:.9em}
#handbook a:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
#handbook-top{scroll-margin-top:120px}
@media(max-width:1000px){#handbook .handbook-layout{grid-template-columns:minmax(0,1fr)}#handbook .handbook-toc{position:static;max-height:none}#handbook .handbook-toc ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}}
@media(max-width:600px){#handbook .hb-hero{padding:22px 18px}#handbook .hb-hero h2{font-size:30px}#handbook .handbook-chapter{padding:22px 18px}#handbook .handbook-chapter>h3{font-size:23px}#handbook .handbook-toc{padding:16px}#handbook .handbook-toc ol{grid-template-columns:minmax(0,1fr)}#handbook .hb-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#handbook .hb-shortcuts a{font-size:13px;padding:10px 12px}#handbook .hb-table-wrap th,#handbook .hb-table-wrap td{padding:10px;font-size:13px}#handbook .hb-table-wrap table{min-width:440px}}
@media print{body:has(#handbook:not([hidden]))>header,body:has(#handbook:not([hidden]))>footer,#handbook .handbook-toc,#handbook .hb-shortcuts,#handbook .handbook-back{display:none!important}#handbook .handbook-layout{display:block}#handbook .handbook-chapter{border:0;padding:0;margin:0 0 28px;break-before:page}#handbook .handbook-chapter h3,#handbook .handbook-chapter h4{break-after:avoid}#handbook .hb-note,#handbook tr{break-inside:avoid}#handbook .hb-table-wrap{overflow:visible}#handbook .hb-table-wrap table{min-width:0}#handbook .hb-hero{border:0;padding:0}}

#handbook .handbook-chapter:target{border-color:var(--teal)}

/* Benutzerverwaltung: Bereiche und Aktionen, 6.0.1 */
#permissions .rights-group {border:1px solid var(--line,#d6e3e9);border-radius:16px;margin:16px 0;overflow:hidden;background:var(--surface,#fff)}
#permissions .rights-group summary {display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:16px 20px;cursor:pointer;font-weight:700;background:var(--soft,#f4f8f9)}
#permissions .rights-group summary::before {content:'＋';color:var(--accent,#00848b)}
#permissions .rights-group[open] summary::before {content:'−'}
#permissions .rights-group summary>span:first-child {flex:1}
#permissions .rights-count {font-size:12px;white-space:nowrap;font-weight:400}
#permissions .rights-description {margin:16px 20px;font-size:13px;line-height:1.6}
#permissions .tablewrap {padding:0 16px 16px}
#permissions table {width:100%;min-width:690px;border-collapse:collapse}
#permissions th,#permissions td {padding:10px 8px;text-align:center;vertical-align:middle}
#permissions th:first-child {text-align:left;min-width:170px}
#permissions thead th {font-size:12px}
#permissions .rights-choice {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;cursor:pointer}
#permissions .rights-choice input {width:20px;height:20px;min-height:20px;margin:0;accent-color:var(--accent,#00848b)}
#permissions .rights-source {font-size:10px;white-space:nowrap}
#permissions .right-inherited {background:var(--soft,#f4f8f9)}
#permissions .rights-status {padding:12px 16px;border-left:3px solid var(--accent,#00848b);background:var(--soft,#f4f8f9);border-radius:10px}
#permissions summary:focus-visible,#permissions input:focus-visible {outline:2px solid var(--accent,#00848b);outline-offset:2px}
@media(max-width:600px){#permissions .rights-group summary{padding:12px;gap:8px}#permissions .rights-description{margin:12px}#permissions .tablewrap{padding:0 8px 8px}}

/* Compact permission editor: one area, one access choice. */
#permissions .rights-area{border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin:12px 0;background:var(--surface,#fff)}
#permissions .rights-area-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
#permissions .rights-area-head h3{font-size:16px;margin:0}
#permissions .rights-area-head>label{display:flex;align-items:center;gap:12px;font-size:12px;margin:0}
#permissions .rights-area-head select{width:190px;min-height:48px}
#permissions .rights-details>summary,#permissions .rights-review>summary{cursor:pointer;color:var(--teal);padding:12px 0;font-weight:500;min-height:44px}
#permissions .rights-details>p{margin:4px 0 16px}
#permissions .rights-details fieldset{border:0;border-top:1px solid var(--line);margin:8px 0 0;padding:12px 0;min-width:0}
#permissions .rights-details legend{font-size:13px;font-weight:700;padding-right:12px}
#permissions .rights-options{display:flex;flex-wrap:wrap;gap:8px 16px}
#permissions .rights-options label{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;font-size:13px;cursor:pointer}
#permissions .rights-options input{width:20px;height:20px;min-height:20px;margin:0;accent-color:var(--teal)}
#permissions .rights-review{padding:0 16px;margin:16px 0;background:var(--soft,#f3f7f9);border-radius:10px}
#permissions .rights-review ul{padding:0 0 16px 20px;font-size:13px}
#permissions .rights-options label:has(input:disabled){opacity:.65;cursor:default}
#permissions .rights-details summary:focus-visible,#permissions .rights-review summary:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
@media(max-width:600px){#permissions .rights-area{padding:12px}#permissions .rights-area-head{align-items:stretch;flex-direction:column;gap:8px}#permissions .rights-area-head>label{justify-content:space-between}#permissions .rights-area-head select{width:70%;min-width:0}#permissions .rights-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

#permissions .rights-reset{background:var(--surface,#fff);color:var(--navy);margin-bottom:12px}
@media(max-width:600px){#admin>h2{font-size:24px;letter-spacing:-.5px}}

/* Navigation 6.0.3: circular favorite hit target with undistorted SVG. */
#modules .favorite-button{width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;padding:9px;aspect-ratio:1;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center}
#modules .favorite-button svg{width:22px;height:22px;min-width:22px;flex-shrink:0;stroke-linecap:round;stroke-linejoin:round}
#modules>.datahub-tile .datahub-tile-header{padding-right:40px}

#kfzModules{margin-top:24px}

/* Compact receipt workbench, 6.0.4. */
@media(min-width:1001px){#documents:not(.archive-view) .receipt-workspace{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}
#documentEditor .analysis-panel{padding:14px 16px;margin-bottom:16px}
#documentEditor .analysis-panel h3{margin-bottom:8px}
#documentEditor .analysis-panel p{margin-bottom:8px}
#documentEditor .analysis-panel p:empty,#mailStatus:empty{display:none}
#documentEditor #analysisDetails{margin:8px 0 0;padding-left:20px}

.driver-heading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
@media(max-width:600px){#drivers .driver-heading{align-items:flex-start;flex-direction:column;gap:12px}.driver-heading-actions{width:100%;justify-content:flex-start}}

/* afh forwarding uses the shared settings form and action components. */
#afhSettings { margin-top: 24px; }
#afhSettings input[type=email] { width: 100%; min-width: 0; }
#afhJobs .afh-job { padding: 16px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
#afhJobs .afh-job:last-child { border-bottom: 0; }
#afhJobs .settings-actions { flex-wrap: wrap; }

/* KPI tendencies: text directions supplement accessible comparison hints. */
.sale-tendency{display:inline-grid;place-items:center;vertical-align:middle;width:32px;height:32px;min-height:32px;padding:0;margin-left:8px;border:0;border-radius:50%;box-shadow:none;background:transparent;color:var(--muted);font-size:25px;line-height:1;cursor:help}
.sale-tendency[data-state=green]{color:#16885c}.sale-tendency[data-state=orange]{color:#c67b12}.sale-tendency[data-state=red]{color:#ce4747}
.sale-tendency:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
#saleAverageBasis{margin:8px 0 0}

.sale-summary{grid-auto-rows:1fr}
.sale-summary h3{min-height:2.6em}
.sale-summary .sale-rated-value{flex-wrap:wrap}
html[data-theme=dark] .sale-tendency[data-state=green]{color:#54c99a}
html[data-theme=dark] .sale-tendency[data-state=orange]{color:#ffc26d}
html[data-theme=dark] .sale-tendency[data-state=red]{color:#ff8585}

/* Identical geometry and stroke for all KPI tendency directions. */
.sale-tendency svg{display:block;width:24px;height:24px;flex:none}

/* Shared freshness line: same status-dot geometry as other DataHub statuses. */
.dh-data-stand{display:flex;margin-top:8px;overflow-wrap:anywhere}
.dh-presence-status[data-freshness=green]::before{background:var(--dh-success)}
.dh-presence-status[data-freshness=orange]::before{background:#c67b12}
.dh-presence-status[data-freshness=red]::before{background:var(--dh-danger)}
html[data-theme=dark] .dh-presence-status[data-freshness=orange]::before{background:#ffc26d}

/* Taller monthly cost plot, with labels kept legible inside a scrolling card. */
#costChart .cost-trend-svg{width:100%;max-width:100%;min-width:0;margin:8px 0 0}

/* Cost overview: label, bar and amount share one vertically centered row. */
.cost-comparison-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(56px,1fr) max-content;align-items:center;gap:12px;min-height:48px;min-width:280px}
.cost-comparison-name{overflow-wrap:anywhere;font-size:13px}
.cost-comparison-amount{white-space:nowrap;font-size:13px;font-variant-numeric:tabular-nums;text-align:right}
.cost-comparison-row .cost-comparison-svg{margin-top:0;align-self:center}

/* Fleet charts reuse the Sales ZR loading ring, including reduced motion. */
#costStatus:empty{display:none}
.cost-chart-content.cost-chart-pending{display:flex;flex-direction:column}
.cost-chart-pending>.sale-chart-loading{flex:1;min-height:300px}


/* Grouping in the heading, with a responsive wrap. */
.cost-breakdown-card .cost-chart-heading{align-items:center;flex-wrap:wrap}
.cost-breakdown-card .cost-chart-heading>label{margin-left:auto;max-width:100%;flex:0 1 200px}
.cost-breakdown-card .cost-chart-heading select{width:100%;min-width:0;max-width:100%}

/* Navigation-only personal ordering; tokens and layout shared with existing tiles. */
[data-order-key]{user-select:none;-webkit-user-select:none}
.is-ordering>[data-order-key]{cursor:grab;outline:2px dashed var(--teal);outline-offset:-4px;touch-action:none}
.is-ordering>[data-order-key]:active{cursor:grabbing}
.is-ordering>[data-order-key]:focus{outline-style:solid}
.navigation-order-controls{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:12px 0}
.navigation-order-controls>span{flex:1 1 240px}
.navigation-order-controls>button{min-height:48px}

/* Supplier agreements reuse the tile/form/table vocabulary. */
#supplierPanel{margin:24px 0}
#supplierPanel details{border:1px solid var(--line);border-radius:16px;padding:16px;margin:16px 0;background:var(--surface)}
#supplierPanel summary{cursor:pointer;font-weight:500;min-height:32px}
#supplierPanel fieldset{min-width:0;margin:16px 0;border:1px solid var(--line);border-radius:10px;padding:16px}
#supplierPanel .dh-form-grid{margin:16px 0}
#supplierPanel input:not([type=checkbox]),#supplierPanel select,#supplierPanel textarea{width:100%;min-width:0}
#supplierPanel textarea{min-height:96px;resize:vertical}
.supplier-check{display:flex;align-items:center;gap:8px;margin:12px 0}
.supplier-check input{flex:0 0 auto}
.supplier-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}
.supplier-table-wrap{overflow:auto;margin:16px 0}
.supplier-table-wrap table{width:100%;border-collapse:collapse}
.supplier-table-wrap th,.supplier-table-wrap td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
#supplierPanel pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit}
#supplierPreview{width:100%;height:650px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
#supplierMessage:empty{display:none}
@media(max-width:600px){#supplierPanel details{padding:12px}#supplierPreview{height:450px}.supplier-actions>*{max-width:100%}}
/* Supplier-only simplification; other contract detail layouts stay unchanged. */
#contractDetail.supplier-detail .contract-detail-grid{grid-template-columns:minmax(0,1fr)}
#supplierPanel>.sale-summary{margin-top:12px}
#supplierPanel .sale-summary .dh-presence-status{font-size:13px;margin:0}
#supplierOrigin,#supplierListValue{margin-top:4px}
#supplierPackagePanel{border:1px solid var(--line);border-radius:var(--dh-radius);padding:var(--dh-padding);background:var(--surface);margin:16px 0}
#supplierPackagePanel button{margin:8px 8px 0 0}

/* Supplier terms stay visible beneath the KPI tiles, without disclosure controls. */
#supplierContractOverview{margin-top:24px;overflow-wrap:anywhere}
#supplierContractOverview .dh-form-grid{align-items:start}
#supplierContractOverview h4{margin:0 0 12px}
#supplierContractOverview .dh-presence-status{font-size:13px}

#supplierDataDialog{width:min(1000px,calc(100vw - 32px));max-height:90vh;overflow:auto}
#supplierDataMessage:empty{display:none}
#supplierDataDialog details{border:1px solid var(--line);border-radius:var(--dh-radius);padding:16px;margin:16px 0}
#supplierDataDialog summary{cursor:pointer;font-weight:700}

/* Consistent editable supplier form; colors only communicate revenue progress. */
#supplierEditor .supplier-form-section{padding:20px 0;border-bottom:1px solid var(--line)}
#supplierEditor .supplier-form-section:first-child{padding-top:0}
#supplierEditor .supplier-form-section:last-child{border-bottom:0}
#supplierEditor .supplier-form-section h3{margin:0 0 16px}
#supplierEditor fieldset{min-width:0;border:1px solid var(--line);border-radius:var(--dh-radius);padding:16px;margin:16px 0}
#supplierEditor textarea{min-height:72px;resize:vertical}
#supplierEditor .supplier-table-wrap{max-height:360px;overflow:auto}
#supplierEditor table input,#supplierEditor table select{min-width:100px;width:100%}
#supplierEditor table textarea{min-width:180px;width:100%}
#supplierExpected{cursor:help;border-bottom:1px dotted currentColor;width:fit-content}
#supplierExpected:focus-visible{outline:2px solid var(--teal);outline-offset:4px}
#supplierProjection,#supplierProjectionBasis{margin:4px 0}

#costPanel>.cost-heading h2,#contracts>.contract-heading h2{margin:0}
#costPanel>.cost-heading p,#contracts>.contract-heading p{margin:4px 0 0}

/* Page-heading contract: reference = KfZ-Leasingverträge, all page levels. */
 #workspace .dh-page-heading,dialog .dh-page-heading{
 display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
 width:100%;margin:0 0 24px;padding:0;text-align:left;background:transparent;
}
.dh-page-heading>.dh-page-copy{flex:1 1 320px;min-width:0}
#workspace .dh-page-heading>.dh-page-copy>h2{font-size:32px;line-height:1.2;margin:0;font-weight:700;color:var(--ink)}
#workspace .dh-page-heading>.dh-page-copy>h3{font-size:20px;line-height:1.3;margin:0;font-weight:700;color:var(--ink)}
.dh-page-heading>.dh-page-copy>p{margin:4px 0 0;color:var(--muted)}
.dh-page-heading>.dh-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:0 1 auto;flex-wrap:wrap;margin:0 0 0 auto;min-width:0;max-width:100%}
.dh-page-actions:empty{display:none}
.dh-page-actions>button,.dh-page-actions>a,.dh-page-import-group>button{min-height:48px;margin:0;white-space:normal}
.dh-page-actions>.dh-page-import,.dh-page-actions>.dh-page-import-group{order:100;margin-left:auto}
.dh-page-import-group{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px}
#documents .receipt-heading .receipt-import{margin:0;display:flex;flex-wrap:wrap;gap:12px}
#documents .receipt-heading .receipt-import[hidden]{display:none}
#handbook .hb-hero.dh-page-heading{padding:0;margin:0 0 24px;border:0;box-shadow:none;border-radius:0}
#handbook .dh-page-copy .hb-kicker{margin:0 0 4px}
#contractDetail>.dh-page-heading{margin-top:16px}
@media(max-width:768px){
  #workspace .dh-page-heading,dialog .dh-page-heading{gap:16px}
 .dh-page-heading>.dh-page-copy{flex-basis:100%}
 .dh-page-heading>.dh-page-actions{width:100%;justify-content:flex-end}
 #workspace .dh-page-heading>.dh-page-copy>h2{font-size:28px}
}

/* Contract search: visible fields share one row; actions align with inputs. */
.contract-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end}
.contract-toolbar>label{flex:1 1 160px;min-width:0}
.contract-toolbar>label:first-child{flex:1.5 1 220px}
.contract-toolbar>label[hidden]{display:none}
.contract-toolbar>.contract-search-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;flex:0 1 auto}
.contract-search-actions>button{margin:0;min-height:48px}
@media(max-width:600px){.contract-toolbar>label,.contract-toolbar>label:first-child{flex-basis:100%}.contract-toolbar>.contract-search-actions{width:100%;justify-content:flex-end}}

/* Supplier essentials: readable fields without nested scrolling tables. */
#supplierEditor>.supplier-form-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#supplierEditor .supplier-form-section{min-width:0;padding:0;border:0}
#supplierEditor .supplier-form-layout>.supplier-actions{grid-column:1/-1;margin:0}
#supplierEditor .supplier-remarks,#supplierEditor .supplier-copy-notice{grid-column:1/-1}
#supplierEditor .supplier-remarks textarea{min-height:144px;resize:vertical;field-sizing:content}
#supplierEditor .supplier-entry-list{display:grid;gap:16px;min-width:0}
#supplierEditor .supplier-entry{min-width:0;margin:0;padding:12px 0;border:0}
#supplierEditor .supplier-entry-title{grid-column:1/-1}
#supplierEditor .supplier-entry button{align-self:end;justify-self:start}
#supplierEditor .dh-form-grid>label{min-width:0}
#supplierEditor input,#supplierEditor select,#supplierEditor textarea{width:100%;min-width:0;max-width:100%}
#supplierEditor input[type=checkbox]{width:auto}
#contractFields[hidden]{display:none}
@media(max-width:1000px){#supplierEditor>.supplier-form-layout{grid-template-columns:1fr}}
@media(max-width:600px){#supplierEditor .dh-form-grid{grid-template-columns:1fr}}

/* Supplier fields and adjacent actions share control heights and baselines. */
#supplierEditor .dh-form-grid{align-items:end;gap:16px}
#supplierEditor .dh-form-grid>label{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;margin:0}
#supplierEditor .dh-form-grid>label>span{line-height:1.4}
#supplierEditor input:not([type=checkbox]),#supplierEditor select{height:48px;margin:0}
#supplierEditor button{min-height:48px;margin:0;line-height:1.4}
#supplierEditor .supplier-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0 0}
#supplierEditor .supplier-form-section>.supplier-entry-list{margin-top:16px}
#supplierEditor .supplier-form-section>button{margin-top:16px}

/* Start sibling supplier fields on the same baseline; compact add/remove controls. */
#supplierEditor .supplier-entry:first-child{padding-top:0}
#supplierEditor .supplier-symbol-action{display:inline-flex;align-items:center;justify-content:center;width:48px;min-width:48px;height:48px;padding:0;font-size:24px;line-height:1;flex:0 0 48px}

/* One header per tier list, two editable values and a fixed right action. */
#supplierEditor .supplier-tier-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px;align-items:center;gap:12px;min-width:0}
#supplierEditor .supplier-tier-row>label{display:block;min-width:0;margin:0}
#supplierEditor .supplier-tier-heading{font-size:12px;font-weight:700;line-height:1.4;margin-bottom:8px}
#supplierEditor .supplier-tier-list{display:grid;gap:8px}
#supplierEditor .supplier-tier-row>.supplier-symbol-action{justify-self:end}
#supplierEditor .supplier-tier-group>legend{width:100%;padding:0}
#supplierEditor .supplier-rule-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0}
#supplierEditor .supplier-rule-heading>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){#supplierEditor .supplier-tier-row{gap:8px}#supplierEditor .supplier-tier-row input{padding-left:6px;padding-right:6px}}


/* Benutzer- und Rechteverwaltung 7.0.2 */
#admin .adminGrid{grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:18px;align-items:start}
#admin .user-list-panel{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;position:sticky;top:118px;max-height:calc(100vh - 150px)}
#admin .user-search{margin:0;padding:14px;border-bottom:1px solid var(--line)}
#admin .user-search input{margin:0;min-height:44px}
#admin .user-list{overflow:auto;max-height:calc(100vh - 230px)}
#admin .user-row{width:100%;min-height:72px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:11px 14px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:11px;text-align:left;justify-content:stretch;background:transparent}
#admin .user-row:last-child{border-bottom:0}
#admin .user-row:hover{background:var(--soft)}
#admin .user-row.selected{background:color-mix(in srgb,var(--teal) 10%,var(--surface));box-shadow:inset 3px 0 var(--teal)}
#admin .user-row .avatar{width:40px;height:40px;font-size:13px;align-self:center}
#admin .user-row-copy{min-width:0;display:flex;flex-direction:column;gap:2px;align-self:center}
#admin .user-row-copy strong,#admin .user-row-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#admin .user-row-email{font-size:12px;color:var(--muted);font-weight:400}
#admin .user-row-status{align-self:center;font-size:11px;color:var(--muted);white-space:nowrap}
#admin .user-row-status::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:#94a7b1}
#admin .user-row-status.is-active{color:var(--teal)}
#admin .user-row-status.is-active::before{background:var(--teal)}
#admin .user-empty{padding:18px;margin:0}
#admin #userForm{margin:0}
#admin .user-meta-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:16px;align-items:stretch}
#admin .user-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#admin .user-fields label{margin:0}
#admin .user-fields input{min-height:44px}
#admin .user-access-card{padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:var(--soft);display:flex;flex-direction:column;justify-content:center;min-height:78px}
#admin .user-access-card>strong{font-size:12px;margin-bottom:7px}
#admin .user-access-status{display:flex;align-items:center;justify-content:space-between;gap:10px}
#admin .user-access-status>span{font-size:14px;font-weight:700}
#admin .user-access-status button{min-height:40px;padding:8px 12px;font-size:12px}
#admin .user-access-card p{margin:7px 0 0;font-size:11px;line-height:1.4}
#admin .user-account-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
#admin #grants{margin-top:22px}
#admin #grants>h3{margin-bottom:10px}
:is(#permissions,#groupPermissions).rights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
:is(#permissions,#groupPermissions) .rights-area{margin:0;border:1px solid var(--line);border-radius:14px;min-width:0;background:var(--surface,#fff);overflow:hidden;transition:border-color .15s,box-shadow .15s,background .15s}
:is(#permissions,#groupPermissions) .rights-area:hover{border-color:var(--teal)}
:is(#permissions,#groupPermissions) .rights-area-readonly{opacity:.62;background:var(--soft)}
:is(#permissions,#groupPermissions) .rights-area-readonly:hover{border-color:var(--line)}
:is(#permissions,#groupPermissions) .rights-area-readonly .rights-area-head{cursor:default}
:is(#permissions,#groupPermissions) .rights-area-readonly .rights-switch{filter:grayscale(1)}
:is(#permissions,#groupPermissions) .rights-area[open]{grid-column:1/-1;border-color:var(--teal);box-shadow:0 0 0 1px color-mix(in srgb,var(--teal) 18%,transparent)}
:is(#permissions,#groupPermissions) .rights-area-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer;list-style:none;min-height:86px}
:is(#permissions,#groupPermissions) .rights-area-head::-webkit-details-marker{display:none}
:is(#permissions,#groupPermissions) .rights-area-head::marker{display:none;content:''}
:is(#permissions,#groupPermissions) .rights-area-title{display:flex;align-items:center;gap:16px;min-width:0}
:is(#permissions,#groupPermissions) .rights-area-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
:is(#permissions,#groupPermissions) .rights-area-copy strong{font-size:15px;line-height:1.25;color:var(--navy)}
:is(#permissions,#groupPermissions) .rights-area-subtitle{font-size:12px;line-height:1.35;color:var(--muted)}
:is(#permissions,#groupPermissions) .rights-area-icon{width:44px;height:44px;display:grid;place-items:center;color:var(--teal);flex:0 0 auto}
:is(#permissions,#groupPermissions) .rights-area-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
:is(#permissions,#groupPermissions) .rights-area-arrow{font-size:32px;line-height:1;color:var(--teal);font-weight:400;flex:0 0 auto;transform:translateY(-1px)}
:is(#permissions,#groupPermissions) .rights-area-body{padding:0 20px 16px;border-top:1px solid var(--line)}
:is(#permissions,#groupPermissions) .rights-area fieldset{border:0;border-top:1px solid var(--line);margin:10px 0 0;padding:10px 0 0}
:is(#permissions,#groupPermissions) .rights-area fieldset:first-child{border-top:0;margin-top:0;padding-top:12px}
:is(#permissions,#groupPermissions) .rights-area legend{font-size:12px;padding-right:8px}
:is(#permissions,#groupPermissions) .rights-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 14px}
:is(#permissions,#groupPermissions) .rights-options label{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:7px;min-height:32px;font-size:12px}
:is(#permissions,#groupPermissions) .rights-options input{position:absolute;opacity:0;width:32px;height:18px;margin:0;cursor:pointer}
:is(#permissions,#groupPermissions) .rights-switch{width:32px;height:18px;border-radius:999px;background:#aebdc5;padding:2px;display:block;transition:background .15s}
:is(#permissions,#groupPermissions) .rights-switch::before{content:'';display:block;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0002}
:is(#permissions,#groupPermissions) .rights-options input:checked+.rights-switch{background:var(--teal)}
:is(#permissions,#groupPermissions) .rights-options input:checked+.rights-switch::before{transform:translateX(14px)}
:is(#permissions,#groupPermissions) .rights-options input:focus-visible+.rights-switch{outline:2px solid var(--teal);outline-offset:2px}
:is(#permissions,#groupPermissions) .rights-options label:has(input:disabled){opacity:.6;cursor:default}
:is(#permissions,#groupPermissions) .rights-options input:disabled{cursor:default}
:is(#permissions,#groupPermissions) .rights-label{min-width:0;line-height:1.25}
#admin .rights-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#admin .rights-actions-main,#admin .rights-actions-danger{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#admin .rights-actions-danger{margin-left:auto}
#admin .rights-actions button{min-height:44px}
@media(max-width:1100px){#admin .adminGrid{grid-template-columns:240px minmax(0,1fr)}#admin .user-meta-grid{grid-template-columns:1fr}#admin .user-access-card{min-height:0}}
@media(max-width:800px){:is(#permissions,#groupPermissions).rights-grid{grid-template-columns:1fr}}
@media(max-width:900px){#admin .adminGrid{grid-template-columns:1fr}#admin .user-list-panel{position:static;max-height:none}#admin .user-list{max-height:310px}#admin .user-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#admin .user-fields{grid-template-columns:1fr}:is(#permissions,#groupPermissions) .rights-options{grid-template-columns:1fr}:is(#permissions,#groupPermissions) .rights-area-head{padding:15px 16px;min-height:76px}:is(#permissions,#groupPermissions) .rights-area-icon{width:38px;height:38px}:is(#permissions,#groupPermissions) .rights-area-icon svg{width:32px;height:32px}#admin .rights-actions button,#admin .user-account-actions button{width:100%}}

/* 7.0.16: kompakte Unterkacheln innerhalb der Einstellungen; erste Ebene unverändert. */
#settingsWorkspace .settings-workspace-card{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
#settingsWorkspace .settings-subgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;margin-top:18px}
.settings-subtile{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
.settings-subtile:hover{border-color:var(--teal)}
.settings-subtile[open]{grid-column:1/-1;border-color:var(--teal)}
#settingsWorkspace .settings-subtile>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:78px;padding:18px 20px;color:var(--ink);user-select:none}
.settings-subtile>summary::-webkit-details-marker{display:none}
#settingsWorkspace .settings-subtile>summary>span:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
#settingsWorkspace .settings-subtile>summary strong{font-size:15px;line-height:1.25;color:var(--navy)}
#settingsWorkspace .settings-subtile-description{font-size:12px;line-height:1.4;color:var(--muted);font-weight:400}
.settings-subtile-chevron{flex:none;color:var(--teal);font-size:28px;line-height:1;transition:transform .16s ease}
.settings-subtile[open]>summary .settings-subtile-chevron{transform:rotate(90deg)}
.settings-subtile>summary:focus-visible{outline:3px solid var(--teal);outline-offset:-3px;border-radius:13px}
#settingsWorkspace .settings-subtile-body{padding:0 20px 20px;border-top:1px solid var(--line)}
#settingsWorkspace .settings-subtile-body>:first-child{margin-top:18px}
#settingsWorkspace .settings-subtile-body .settings-actions{margin-bottom:0}
#settingsWorkspace #fullBackupPanel{padding:0;margin:0}
#settingsWorkspace #fullBackupPanel>.settings-subtile-body{padding:0 20px 20px}
#settingsWorkspace .full-backup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1050px){#settingsWorkspace .settings-subgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#settingsWorkspace .settings-subgrid{grid-template-columns:minmax(0,1fr)}.settings-subtile[open]{grid-column:auto}#settingsWorkspace .full-backup-grid{grid-template-columns:minmax(0,1fr)}}

/* 7.0.17: second-level settings use compact ZR DataHub icon tiles. */
#settingsWorkspace .settings-subgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
#settingsWorkspace .settings-subtile>summary{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:92px;padding:16px 18px}
#settingsWorkspace .settings-subtile>summary>strong{font-size:16px;line-height:1.3;color:var(--navy);min-width:0}
#settingsWorkspace .settings-subtile-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--tile-icon-bg);color:var(--teal);flex:none}
#settingsWorkspace .settings-subtile-icon img{display:block;width:28px;height:28px}
#settingsWorkspace .settings-subtile-description{display:none!important}
.settings-subtile-chevron{font-size:30px;justify-self:end}
@media(max-width:1050px){#settingsWorkspace .settings-subgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#settingsWorkspace .settings-subgrid{grid-template-columns:minmax(0,1fr)}.settings-subtile[open]{grid-column:auto}}

/* 7.0.18: alle Einstellungen auf einer gemeinsamen, rechtegesteuerten Seite. */
#settingsWorkspace.settings-flat-page{display:grid;gap:26px}
#settingsWorkspace.settings-flat-page>[id^="settingsArea-"]{min-width:0}
#settingsWorkspace .settings-workspace-card{max-width:none;padding:0 0 24px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
#settingsWorkspace>[id^="settingsArea-"]:last-child .settings-workspace-card{border-bottom:0;padding-bottom:0}
#settingsWorkspace .settings-workspace-card>h3,#settingsWorkspace .settings-card-heading h3{margin:0 0 16px;font-size:21px;line-height:1.3;color:var(--navy)}
#settingsWorkspace .settings-card-heading{margin:0;padding:0}
#settingsWorkspace .settings-subgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;margin-top:0}
.settings-subtile{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
.settings-subtile:hover{border-color:var(--teal);box-shadow:var(--dh-hover-shadow)}
.settings-subtile[open]{grid-column:1/-1;border-color:var(--teal);box-shadow:none}
#settingsWorkspace .settings-subtile>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:52px minmax(0,1fr) 24px;align-items:center;gap:16px;min-height:92px;padding:16px 18px;color:var(--ink);user-select:none}
.settings-subtile>summary::-webkit-details-marker{display:none}
#settingsWorkspace .settings-subtile>summary>strong{font-size:16px;line-height:1.3;color:var(--navy);min-width:0;overflow-wrap:anywhere}
#settingsWorkspace .settings-subtile-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;background:var(--dh-icon-bg);color:var(--teal);flex:none;overflow:hidden}
#settingsWorkspace .settings-subtile-icon img{display:block;width:30px;height:30px;max-width:30px;max-height:30px;margin:0;object-fit:contain;object-position:50% 50%}
.settings-subtile-chevron{display:grid;place-items:center;width:24px;height:32px;margin:0;color:var(--teal);font-size:30px;line-height:1;justify-self:end;transition:transform .16s ease}
.settings-subtile[open]>summary .settings-subtile-chevron{transform:rotate(90deg)}
.settings-subtile>summary:focus-visible{outline:3px solid var(--teal);outline-offset:-3px;border-radius:13px}
#settingsWorkspace .settings-subtile-body{padding:0 20px 20px;border-top:1px solid var(--line)}
#settingsWorkspace .settings-subtile-body>:first-child{margin-top:18px}
#settingsWorkspace .settings-subtile-body .settings-actions{margin-bottom:0}
#settingsWorkspace .settings-subtile[hidden],#settingsWorkspace>[id^="settingsArea-"][hidden]{display:none!important}
#settingsWorkspace #fullBackupPanel{padding:0;margin:0}
#settingsWorkspace #fullBackupPanel>.settings-subtile-body{padding:0 20px 20px}
#settingsWorkspace .full-backup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1050px){#settingsWorkspace .settings-subgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#settingsWorkspace.settings-flat-page{gap:20px}#settingsWorkspace .settings-subgrid{grid-template-columns:minmax(0,1fr)}.settings-subtile[open]{grid-column:auto}#settingsWorkspace .settings-subtile>summary{grid-template-columns:48px minmax(0,1fr) 22px;gap:13px;min-height:82px;padding:14px 16px}#settingsWorkspace .settings-subtile-icon{width:48px;height:48px}#settingsWorkspace .settings-subtile-icon img{width:28px;height:28px}#settingsWorkspace .full-backup-grid{grid-template-columns:minmax(0,1fr)}}

/* 7.0.19: kompaktere Einstellungszeilen und optisch zentrierte SVG-Symbole. */
#settingsWorkspace.settings-flat-page{gap:18px}
#settingsWorkspace .settings-workspace-card{padding:0 0 18px}
#settingsWorkspace .settings-workspace-card>h3,#settingsWorkspace .settings-card-heading h3{margin:0 0 10px;font-size:20px;line-height:1.25}
#settingsWorkspace .settings-subgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}
.settings-subtile{border-radius:12px}
#settingsWorkspace .settings-subtile>summary{grid-template-columns:44px minmax(0,1fr) 20px;gap:12px;min-height:70px;padding:10px 14px}
#settingsWorkspace .settings-subtile>summary>strong{font-size:15px;line-height:1.25;overflow-wrap:normal}
#settingsWorkspace .settings-subtile-icon{width:44px;height:44px;border-radius:11px;overflow:visible}
#settingsWorkspace .settings-subtile-icon img{display:block;width:26px;height:26px;max-width:26px;max-height:26px;margin:0;object-fit:contain;object-position:center}
.settings-subtile-chevron{width:20px;height:28px;font-size:27px}
#settingsWorkspace .settings-subtile-body{padding:0 16px 16px}
#settingsWorkspace .settings-subtile-body>:first-child{margin-top:14px}
@media(max-width:1050px){#settingsWorkspace .settings-subgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#settingsWorkspace.settings-flat-page{gap:16px}#settingsWorkspace .settings-subgrid{grid-template-columns:minmax(0,1fr);gap:10px}.settings-subtile[open]{grid-column:auto}#settingsWorkspace .settings-subtile>summary{grid-template-columns:42px minmax(0,1fr) 20px;gap:11px;min-height:66px;padding:10px 13px}#settingsWorkspace .settings-subtile-icon{width:42px;height:42px}#settingsWorkspace .settings-subtile-icon img{width:25px;height:25px}}

/* 8.0.1: visible SVG glyph is centered inside the settings icon surface. */
#settingsWorkspace .settings-subtile>summary>.settings-subtile-icon{display:grid;place-items:center;align-items:center;justify-items:center;padding:0}
#settingsWorkspace .settings-subtile>summary>.settings-subtile-icon>img{display:block;position:static;width:26px;height:26px;max-width:26px;max-height:26px;margin:auto;transform:none;object-fit:contain;object-position:50% 50%}
@media(max-width:700px){#settingsWorkspace .settings-subtile>summary>.settings-subtile-icon>img{width:25px;height:25px;max-width:25px;max-height:25px}}

/* 8.0.4: handbook table of contents follows the page; no nested scrollbars. */
#handbook .handbook-toc-column{align-self:start;min-width:0}
#handbook .handbook-toc-column>h3{margin:0 0 10px;font-size:17px;color:var(--ink)}
#handbook .handbook-toc{position:static;top:auto;max-height:none;overflow:visible;padding:0;border:0;background:transparent;border-radius:0;min-width:0}
#handbook .handbook-toc ol{min-width:0}
#handbook .handbook-toc a{min-width:0;overflow-wrap:anywhere}
@media(max-width:1000px){#handbook .handbook-toc-column{position:static}}

/* KPI-Data uses the shared DataHub tile and form language. */
.kpi-data-grid{align-items:stretch}
.kpi-data-card{min-height:260px}
.kpi-data-card>p{margin:0 0 18px;color:var(--muted);line-height:1.55}
.kpi-data-formula{margin:4px 0 14px;padding:12px 14px;border-radius:10px;background:var(--soft);color:var(--ink);font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.kpi-data-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto}
.kpi-data-field{display:grid;gap:6px;margin:0;font-size:13px;font-weight:600}
.kpi-data-field input{width:100%;min-width:0}
.kpi-data-field:has(input[type=checkbox]){grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-column:1/-1}
.kpi-data-field input[type=checkbox]{width:18px;height:18px;min-height:18px}
@media(max-width:650px){.kpi-data-fields{grid-template-columns:1fr}}


/* 8.0.6: RemoteCARE KPI cards and vertical charts use the shared DataHub surfaces. */
.remote-store-warning{margin:18px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.remote-summary>section{min-height:150px}.remote-summary strong{font-size:26px;line-height:1.25;overflow-wrap:anywhere}.remote-summary .small{margin:8px 0 0}
.remote-charts>section{min-height:390px}.remote-chart-wrap{width:100%;max-width:100%;overflow:hidden}.remote-chart-svg{display:block;width:100%;height:auto;min-height:300px;color:var(--ink)}.remote-chart-axis{stroke:var(--line);stroke-width:1}.remote-chart-bar{fill:var(--teal)}.remote-chart-value{fill:var(--ink);font-family:var(--dh-font);font-size:12px;font-weight:700}.remote-chart-label{fill:var(--ink);font-family:var(--dh-font);font-size:11px}
@media(max-width:700px){.remote-charts>section{min-height:350px}.remote-chart-svg{min-height:260px}.remote-chart-label{font-size:10px}}

/* 8.1.2: compact settings rows, pixel-aligned KPI chart controls and user groups. */
#settingsWorkspace #afhSettings{margin-top:0}
.sale-chart-card>.cost-heading{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:12px;padding-right:0}
.sale-chart-card>.cost-heading.has-chart-select{grid-template-columns:minmax(0,1fr) minmax(190px,220px) 44px}
.sale-chart-card>.cost-heading h3{min-width:0}
.sale-chart-card>.cost-heading select{width:100%;height:44px;min-height:44px;max-height:44px;margin:0;padding-top:0;padding-bottom:0;border-radius:10px;box-sizing:border-box;align-self:center}
.sale-chart-card>.cost-heading .sale-chart-expand{position:static;inset:auto;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;max-height:44px;margin:0;padding:0;border-radius:10px;box-sizing:border-box;align-self:center}
@media(max-width:700px){.sale-chart-card>.cost-heading,.sale-chart-card>.cost-heading.has-chart-select{grid-template-columns:minmax(0,1fr) 44px}.sale-chart-card>.cost-heading.has-chart-select select{grid-column:1/2;grid-row:2}.sale-chart-card>.cost-heading.has-chart-select .sale-chart-expand{grid-column:2;grid-row:2}}

#admin .admin-view-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
#admin .admin-view-switch button{min-height:40px;padding:7px 12px;border:0;background:transparent;box-shadow:none}
#admin .admin-view-switch button[aria-current=page]{background:var(--surface);box-shadow:0 1px 4px rgba(6,53,75,.08)}
#adminGroupsPanel[hidden],#adminUsersPanel[hidden]{display:none!important}
#groupForm>label{display:flex;flex-direction:column;gap:7px;margin:0 0 22px;font-size:13px;font-weight:600}
#groupForm>label input{width:100%;min-height:44px;margin:0;background:var(--surface);border-color:var(--line)}
#groupPermissions.rights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
#groups .user-row>svg{width:36px;height:36px;padding:7px;border-radius:10px;background:var(--soft);color:var(--teal);flex:0 0 auto}
.user-row-groups{font-size:11px;color:var(--teal);line-height:1.35;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-groups-section{padding:16px 0 20px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.user-groups-section h3{margin-bottom:4px}.user-groups-section p{margin:0}
.user-group-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.user-group-choice{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);cursor:pointer}
.user-group-choice input{width:auto;margin:0;flex:0 0 auto}
.user-group-choice-copy{display:flex;flex-direction:column;min-width:0}.user-group-choice-copy .small{margin:1px 0 0}
.admin-empty{padding:28px;border:1px dashed var(--line);border-radius:14px;background:var(--soft)}.admin-empty p{margin:5px 0 0}
@media(max-width:900px){#groupPermissions.rights-grid,.user-group-choices{grid-template-columns:1fr}}

.cost-receipts .cost-receipt-filters{grid-template-columns:minmax(0,1fr) minmax(180px,220px) auto;gap:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--soft);margin-bottom:18px}
.cost-receipts .cost-receipt-filters input,.cost-receipts .cost-receipt-filters select{height:44px}
.cost-receipt-table-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 8px;padding:0 4px;color:var(--muted);font-size:13px}
.cost-receipt-table-bar .cost-receipt-count{padding:0}
.cost-receipt-table-bar .cost-receipt-pagination{margin:0;justify-content:flex-end}
.cost-receipt-table-bar .cost-receipt-pagination button{min-width:44px;height:44px;padding:8px 14px}
@media(max-width:540px){.cost-receipts .cost-receipt-filters{grid-template-columns:1fr}.cost-receipt-table-bar{align-items:center}.cost-receipt-table-bar .cost-receipt-pagination{margin-left:auto}}

/* 8.1.2: dialog footer alignment. */
/* 8.1.2: archive delivery status. */
.archive-transfer-status{display:inline-block;width:10px;height:10px;border-radius:50%;background:#ce4747;box-shadow:0 0 0 3px color-mix(in srgb,#ce4747 12%,transparent);vertical-align:middle}
.archive-transfer-status.is-sent{background:#16885c;box-shadow:0 0 0 3px color-mix(in srgb,#16885c 12%,transparent)}
.archive-transfer-status.is-not-sent,.archive-transfer-status.is-pending{background:var(--dh-warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--dh-warning) 12%,transparent)}
.archive-transfer-status.is-error{background:var(--dh-danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--dh-danger) 12%,transparent)}

/* Belegarchiv: alle sortierbaren Spaltenkoepfe verwenden dieselbe Typografie und Interaktion. */
#archiveResults th button{
  font:inherit;
  color:inherit;
  font-weight:inherit;
  line-height:inherit;
  cursor:pointer;
}

/* 8.1.4: compact multi-select dropdowns in user management. */
.multi-select-dropdown{margin:14px 0 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
.multi-select-dropdown>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:16px;min-height:48px;padding:11px 14px;cursor:pointer;font-weight:700;list-style:none}
.multi-select-dropdown>summary::-webkit-details-marker{display:none}.multi-select-dropdown>summary::after{content:'⌄';font-size:18px;color:var(--teal)}.multi-select-dropdown[open]>summary::after{content:'⌃'}
.multi-select-dropdown>summary .small{font-weight:500;color:var(--muted);white-space:nowrap}
.multi-select-dropdown .user-group-choices{margin:0;padding:8px 12px 12px;border-top:1px solid var(--line);max-height:360px;overflow:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
.multi-select-dropdown .user-group-choice{padding:10px 11px;background:var(--soft)}
@media(max-width:760px){.multi-select-dropdown>summary{grid-template-columns:minmax(0,1fr) 20px;gap:4px}.multi-select-dropdown>summary .small{grid-column:1/-1;grid-row:2;white-space:normal}.multi-select-dropdown>summary::after{grid-column:2;grid-row:1}.multi-select-dropdown .user-group-choices{grid-template-columns:1fr;max-height:300px}}

/* 8.1.4: Bestell-Manager as a modern internal shop. */
.order-shop-heading{align-items:end}.order-store-picker{display:grid;gap:6px;margin:0;font-size:12px;font-weight:700;color:var(--muted);min-width:230px}.order-store-picker select{height:44px;margin:0;background:var(--surface)}
.order-shop-nav{display:flex;align-items:center;gap:4px;margin:4px 0 24px;padding:4px;border:1px solid var(--line);border-radius:13px;background:var(--soft);width:max-content;max-width:100%;overflow-x:auto}
.order-shop-nav button{display:flex;align-items:center;gap:7px;min-height:40px;margin:0;padding:8px 14px;border:0;background:transparent;box-shadow:none;white-space:nowrap}
.order-shop-nav button.active{background:var(--surface);box-shadow:0 1px 5px rgba(6,53,75,.09)}.order-nav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--line);font-size:11px}.order-shop-nav button.active .order-nav-badge{background:var(--teal);color:#fff}
.order-shop-panel{min-width:0}.order-shop-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) minmax(180px,240px);gap:14px;align-items:end;margin-bottom:26px}.order-shop-toolbar label{display:grid;gap:6px;margin:0;font-size:12px;font-weight:700;color:var(--muted)}.order-shop-toolbar input,.order-shop-toolbar select{height:48px;margin:0;background:var(--surface)}
.order-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px}.order-section-heading h3{margin:0 0 3px;font-size:21px}.order-section-heading p{margin:0}.order-section-heading button{margin:0}
.order-category-section{margin-bottom:30px}.order-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.order-category-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:88px;margin:0;padding:16px 18px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:none}.order-category-card:hover,.order-category-card.active{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 6%,var(--surface))}.order-category-card strong{font-size:15px}.order-category-card span{margin-top:5px;color:var(--muted);font-size:12px;font-weight:500}
.order-product-heading{margin-top:6px}.order-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.order-product-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s}.order-product-card:hover{border-color:color-mix(in srgb,var(--teal) 55%,var(--line));box-shadow:0 8px 24px rgba(6,53,75,.08);transform:translateY(-1px)}.order-product-card-top{position:absolute;z-index:2;top:10px;right:10px}.order-wishlist-button{display:grid;place-items:center;width:38px;height:38px;min-width:38px;min-height:38px;margin:0;padding:0;border-radius:50%;background:rgba(255,255,255,.94);font-size:22px;color:var(--navy);box-shadow:0 2px 10px rgba(6,53,75,.1)}.order-wishlist-button.active{color:#b34d57;background:#fff3f4}.order-product-media{height:190px;display:grid;place-items:center;padding:18px;background:var(--soft);cursor:pointer}.order-product-media img{display:block;width:100%;height:100%;object-fit:contain}.order-product-media.is-empty{font-size:12px;color:var(--muted)}.order-product-copy{display:flex;flex:1;flex-direction:column;padding:16px}.order-product-meta{min-height:17px;color:var(--muted);font-size:11px}.order-product-title{display:block;min-height:auto;margin:5px 0 8px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--ink);font:700 16px/1.3 var(--dh-font);text-align:left}.order-product-title:hover{color:var(--teal)}.order-product-copy>p{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.order-product-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.order-product-card-footer>strong{font-size:17px;white-space:nowrap}.order-product-card-footer button{min-height:40px;margin:0;padding:8px 11px}
.order-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;padding:28px;border:1px dashed var(--line);border-radius:14px;background:var(--soft);text-align:center}.order-empty span{margin-top:5px;color:var(--muted);font-size:13px}
.order-list-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}.order-line-item{display:grid;grid-template-columns:68px minmax(0,1fr) 88px 110px auto;gap:14px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.order-line-item:last-child{border-bottom:0}.order-line-image{display:grid;place-items:center;width:68px;height:68px;padding:6px;border-radius:10px;background:var(--soft)}.order-line-image img{max-width:100%;max-height:100%;object-fit:contain}.order-line-copy{display:grid;gap:3px;min-width:0}.order-line-copy button{min-height:auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none;text-align:left;font-weight:700;color:var(--ink)}.order-line-copy .small{margin:0}.order-line-item input{width:88px;height:42px;margin:0}.order-line-item>strong{text-align:right;white-space:nowrap}.order-line-remove{min-height:38px;margin:0;padding:7px 10px}
.order-cart-summary{display:flex;flex-direction:column;align-items:flex-end;gap:10px;margin:18px 0 0}.order-cart-summary>div{display:flex;justify-content:space-between;gap:30px;width:min(420px,100%);padding-top:14px;border-top:1px solid var(--line)}.order-cart-summary strong{font-size:20px}.order-cart-summary p{margin:0}.order-cart-summary button{margin:0;min-width:220px}
.order-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:20px;align-items:start}.order-checkout-card{margin-bottom:14px;padding:20px}.order-checkout-card h4{margin:0 0 10px}.order-checkout-card p{margin:0}.order-checkout-card textarea{width:100%;margin:0}.order-checkout-summary{position:sticky;top:90px;padding:22px}.order-checkout-summary h3{margin-top:0}.order-checkout-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.order-checkout-row strong{white-space:nowrap}.order-checkout-total{display:flex;justify-content:space-between;gap:16px;padding:16px 0;font-size:18px}.order-checkout-summary>button{width:100%;margin:7px 0 0}.order-checkout-summary>p{line-height:1.45}
.order-product-dialog{width:min(980px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);overflow:auto}.order-product-dialog::backdrop{background:rgba(6,53,75,.48)}.order-dialog-close{position:sticky;z-index:3;top:12px;float:right;width:42px;height:42px;min-height:42px;margin:12px 12px -54px 0;padding:0;border-radius:50%;font-size:25px;background:var(--surface)}.order-product-detail-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(320px,1fr);gap:34px;padding:34px}.order-product-detail-media{display:grid;place-items:center;min-height:420px;padding:30px;border-radius:15px;background:var(--soft)}.order-product-detail-media img{max-width:100%;max-height:460px;object-fit:contain}.order-product-detail-copy{align-self:center}.order-product-kicker{color:var(--muted);font-size:12px}.order-product-detail-copy h2{font-size:30px;line-height:1.2;margin:6px 0 14px}.order-product-detail-price{font-size:25px;font-weight:700;margin-bottom:22px}.order-product-detail-description{white-space:pre-line;color:var(--muted);line-height:1.6}.order-product-detail-actions{display:grid;grid-template-columns:90px 1fr;gap:10px;margin-top:24px}.order-product-detail-actions input{height:48px;margin:0}.order-product-detail-actions button{margin:0}.order-product-detail-actions button:last-child{grid-column:1/-1}
.order-history-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.order-history-list{display:grid}.order-history-row{display:flex;justify-content:space-between;gap:18px;align-items:center;width:100%;min-height:70px;margin:0;padding:13px 15px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;text-align:left}.order-history-row:last-child{border-bottom:0}.order-history-row>div:first-child{display:grid;gap:3px}.order-history-row-right{display:flex;align-items:center;gap:12px}.order-status-chip{padding:5px 9px;border-radius:999px;background:var(--soft);font-size:11px;font-weight:700;white-space:nowrap}.order-history-detail{padding:22px}.order-history-items{margin-top:15px}.order-history-item{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.order-history-item-media{display:grid;place-items:center;width:60px;height:60px;background:var(--soft);border-radius:9px}.order-history-item-media img{max-width:100%;max-height:100%;object-fit:contain}.order-history-item>div:nth-child(2){display:grid;gap:3px}.order-history-detail-footer{display:flex;justify-content:space-between;padding-top:16px}.order-history-note{padding:12px 14px;border-radius:10px;background:var(--soft)}.order-history-note p{margin:5px 0 0}
@media(max-width:1200px){.order-product-grid,.order-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.order-product-grid,.order-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-checkout-grid{grid-template-columns:1fr}.order-checkout-summary{position:static}.order-product-detail-grid{grid-template-columns:1fr}.order-product-detail-media{min-height:280px}.order-line-item{grid-template-columns:58px minmax(0,1fr) 80px auto}.order-line-item>strong{grid-column:2/4;grid-row:2;text-align:left}.order-line-remove{grid-column:4;grid-row:1/3}.order-line-image{width:58px;height:58px}}
@media(max-width:620px){.order-shop-heading{align-items:stretch}.order-store-picker{width:100%;min-width:0}.order-shop-nav{width:100%;border-radius:11px}.order-shop-toolbar{grid-template-columns:1fr}.order-category-grid{display:flex;overflow-x:auto;gap:8px;padding-bottom:4px}.order-category-card{min-width:160px;min-height:70px;padding:12px 14px}.order-product-grid{grid-template-columns:1fr 1fr;gap:10px}.order-product-media{height:135px;padding:10px}.order-product-copy{padding:11px}.order-product-title{font-size:14px}.order-product-copy>p{display:none}.order-product-card-footer{align-items:flex-end;flex-direction:column}.order-product-card-footer button{width:100%;font-size:12px}.order-line-item{grid-template-columns:50px minmax(0,1fr) auto;gap:10px}.order-line-image{width:50px;height:50px}.order-line-item input{grid-column:2;width:82px}.order-line-item>strong{grid-column:2;grid-row:3}.order-line-remove{grid-column:3;grid-row:1/4}.order-product-detail-grid{padding:20px;gap:20px}.order-product-detail-media{min-height:220px;padding:18px}.order-product-detail-copy h2{font-size:24px}.order-product-detail-actions{grid-template-columns:82px 1fr}}
@media(max-width:430px){.order-product-grid{grid-template-columns:1fr}.order-product-media{height:190px}.order-product-card-footer{flex-direction:row;align-items:center}}

/* 8.1.5: premium shop navigation, product pages and checkout flow. */
.order-shop-view{padding-top:0}.order-commerce-shell{margin:-1px -2px 0;min-width:0}.order-service-strip{display:flex;justify-content:center;gap:34px;padding:8px 18px;border-bottom:1px solid var(--line);background:var(--soft);color:var(--muted);font:600 11px/1.2 var(--dh-font);letter-spacing:.02em}
.order-commerce-header{display:grid;grid-template-columns:170px minmax(260px,1fr) auto;gap:24px;align-items:center;padding:20px 6px 16px;background:var(--bg)}.order-shop-brand{display:flex;align-items:baseline;gap:7px;width:max-content;min-height:auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--navy);font-family:var(--dh-font)}.order-shop-brand span{font-size:28px;font-weight:800;letter-spacing:-.06em}.order-shop-brand strong{font-size:18px;letter-spacing:.13em}.order-header-search{position:relative;display:flex;align-items:center;max-width:760px;width:100%;justify-self:center}.order-header-search svg{position:absolute;left:15px;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;color:var(--muted);pointer-events:none}.order-header-search input{width:100%;height:48px;margin:0;padding:0 18px 0 46px;border:1px solid var(--line);border-radius:0;background:var(--surface);font-family:var(--dh-font);font-size:14px}.order-header-search input:focus{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.order-header-actions{display:flex;align-items:flex-start;gap:4px}.order-header-actions button{position:relative;display:grid;justify-items:center;gap:4px;min-width:72px;min-height:52px;margin:0;padding:4px 8px;border:0;background:transparent;box-shadow:none;color:var(--ink);font:600 11px/1.1 var(--dh-font)}.order-header-actions button:hover,.order-header-actions button.active{color:var(--teal)}.order-header-actions svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.order-action-badge{position:absolute;top:-2px;right:8px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:20px;background:var(--navy);color:#fff;font:700 10px/1 var(--dh-font)}
.order-category-nav{display:flex;align-items:center;gap:0;min-width:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.order-category-nav::-webkit-scrollbar{display:none}.order-category-nav>button,.order-category-nav>div>button{min-height:44px;margin:0;padding:0 16px;border:0;border-radius:0;background:transparent;box-shadow:none;white-space:nowrap;color:var(--ink);font:700 12px/1 var(--dh-font)}.order-category-nav>div{display:flex}.order-category-nav button:hover,.order-category-nav button.active{color:var(--teal);box-shadow:inset 0 -2px 0 var(--teal)}
.order-shop-panel{padding-top:26px}.order-shop-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:center;min-height:330px;margin-bottom:46px;padding:44px 54px;border-radius:2px;background:linear-gradient(115deg,color-mix(in srgb,var(--teal) 9%,var(--surface)),var(--soft));overflow:hidden}.order-shop-hero-copy{max-width:650px}.order-eyebrow{display:block;margin-bottom:8px;color:var(--muted);font:700 11px/1.2 var(--dh-font);letter-spacing:.11em;text-transform:uppercase}.order-shop-hero h2{max-width:650px;margin:0 0 14px;color:var(--navy);font-size:46px;line-height:1.05;letter-spacing:-.035em}.order-shop-hero p{max-width:590px;margin:0 0 24px;color:var(--muted);font-size:16px;line-height:1.55}.order-shop-hero button{margin:0}.order-shop-hero-art{display:grid;place-items:center}.order-shop-hero-art svg{width:min(100%,360px);fill:color-mix(in srgb,var(--teal) 10%,var(--surface));stroke:var(--teal);stroke-width:2}
.order-shop-home-section{margin:0 0 48px}.order-shop-section-title{margin-bottom:18px}.order-shop-section-title h3,.order-product-list-head h3{margin:0;color:var(--navy);font-size:26px;letter-spacing:-.02em}.order-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.order-category-card{display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 12px;align-items:center;min-height:94px;margin:0;padding:16px 18px;border:1px solid var(--line);border-radius:2px;background:var(--surface);box-shadow:none;text-align:left}.order-category-card:hover,.order-category-card.active{border-color:var(--teal);background:var(--surface);box-shadow:0 8px 24px rgba(6,53,75,.06)}.order-category-icon{grid-row:1/3;display:grid!important;place-items:center;width:48px;height:48px;margin:0!important;background:transparent;color:var(--teal)}.order-category-icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}.order-category-card strong{font-size:14px}.order-category-count{margin:0!important;color:var(--muted);font-size:11px!important;font-weight:500!important}
.order-product-list-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:18px}.order-product-list-head p{margin:5px 0 0}.order-sort-control{display:grid;gap:5px;margin:0;color:var(--muted);font:700 11px/1.2 var(--dh-font)}.order-sort-control select{min-width:190px;height:42px;margin:0;background:var(--surface);font-family:var(--dh-font)}.order-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px}.order-product-card{position:relative;display:flex;flex-direction:column;min-width:0;border:0;border-radius:0;background:transparent;overflow:visible;box-shadow:none;transform:none}.order-product-card:hover{border:0;box-shadow:none;transform:none}.order-product-card-top{top:10px;right:10px}.order-wishlist-button{width:38px;height:38px;min-width:38px;min-height:38px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:var(--navy);box-shadow:0 1px 7px rgba(6,53,75,.12)}.order-wishlist-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.order-wishlist-button.active{color:var(--teal);background:#fff}.order-product-media{height:240px;padding:22px;border-radius:0;background:var(--soft);cursor:pointer}.order-product-media img{transition:transform .2s ease}.order-product-card:hover .order-product-media img{transform:scale(1.025)}.order-product-copy{padding:12px 2px 0}.order-product-meta{min-height:15px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.order-product-title{margin:5px 0 5px;color:var(--ink);font:700 14px/1.35 var(--dh-font)}.order-product-sku{min-height:15px;color:var(--muted);font-size:10px}.order-product-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:11px}.order-product-card-footer>strong{font-size:15px}.order-card-cart{display:grid;place-items:center;width:38px;height:38px;min-width:38px;min-height:38px;margin:0;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--navy)}.order-card-cart:hover{border-color:var(--teal);color:var(--teal)}.order-card-cart svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.order-breadcrumb{display:flex;align-items:center;gap:8px;margin:0 0 22px;color:var(--muted);font-size:12px}.order-breadcrumb button{min-height:auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--muted);font-family:var(--dh-font)}.order-product-page-detail{min-height:520px}.order-product-detail-grid{display:grid;grid-template-columns:minmax(340px,1.05fr) minmax(340px,.95fr);gap:58px;padding:0 10px 42px}.order-product-detail-media{display:grid;place-items:center;min-height:560px;padding:44px;border-radius:0;background:var(--soft)}.order-product-detail-media img{max-width:100%;max-height:520px;object-fit:contain}.order-product-detail-copy{align-self:start;padding-top:28px}.order-product-kicker{margin:0 0 9px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.order-product-detail-copy h2{max-width:600px;margin:0 0 16px;font-size:34px;line-height:1.15;letter-spacing:-.025em}.order-product-detail-price{margin:0 0 22px;font-size:24px;font-weight:700}.order-product-detail-lead{margin:0 0 18px;color:var(--ink);font-size:15px;line-height:1.55}.order-product-detail-description{padding-top:18px;border-top:1px solid var(--line);white-space:pre-line;color:var(--muted);font-size:13px;line-height:1.65}.order-product-detail-actions{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;margin-top:28px}.order-qty-control{display:grid;gap:6px;margin:0;color:var(--muted);font-size:11px;font-weight:700}.order-qty-control input{height:48px;margin:0}.order-product-add{align-self:end;display:flex;align-items:center;justify-content:center;gap:9px;margin:0;height:48px}.order-product-add svg,.order-product-wish svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.order-product-wish{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:9px;margin:2px 0 0;background:transparent}.order-product-wish.active{color:var(--teal);border-color:var(--teal)}
.order-subpage-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:12px 0 24px}.order-subpage-head h2{margin:0 0 5px;font-size:30px}.order-subpage-head p{margin:0}.order-subpage-head button{margin:0}.order-checkout-head{max-width:760px;margin:6px auto 30px;text-align:center}.order-checkout-head h2{margin:0 0 8px;font-size:34px}.order-checkout-head p{margin:0;color:var(--muted)}.order-back-link{display:inline-flex;align-items:center;gap:4px;margin:0 0 24px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--ink);font-family:var(--dh-font)}.order-back-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.order-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:36px;align-items:start;max-width:1200px;margin:0 auto 40px}.order-checkout-main{display:grid;border-top:1px solid var(--line)}.order-checkout-step{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}.order-step-number{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--navy);border-radius:50%;color:var(--navy);font-weight:700}.order-checkout-step h3{margin:4px 0 6px;font-size:18px}.order-checkout-step p{margin:0 0 14px}.order-checkout-step textarea{width:100%;margin:0}.order-checkout-store-label{display:grid;gap:6px;max-width:430px;margin:0;color:var(--muted);font-size:11px;font-weight:700}.order-checkout-store-label select{height:48px;margin:0;background:var(--surface);font-family:var(--dh-font)}.order-checkout-summary{position:sticky;top:86px;padding:26px;border:1px solid var(--line);border-radius:0;background:var(--surface)}.order-checkout-summary h3{margin:0 0 14px;font-size:22px}.order-checkout-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.order-checkout-total{display:flex;justify-content:space-between;gap:16px;padding:18px 0 12px;font-size:18px}.order-checkout-destination{display:grid;gap:3px;margin-bottom:16px;padding:12px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.order-checkout-destination strong{color:var(--ink);font-size:13px}.order-checkout-summary>button{width:100%;margin:0}.order-checkout-summary #orderStatus{margin:10px 0 0}
/* Align the new multi-select controls with standard DataHub typography and chevrons. */
.multi-select-dropdown>summary{font-family:var(--dh-font);font-size:13px;line-height:1.35;color:var(--ink)}.multi-select-dropdown>summary .small{font-family:var(--dh-font);font-size:12px;line-height:1.35;color:var(--muted)}.multi-select-dropdown>summary::after{content:'';width:8px;height:8px;border-right:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(45deg) translateY(-2px);transform-origin:center;justify-self:center;transition:transform .15s}.multi-select-dropdown[open]>summary::after{content:'';transform:rotate(225deg) translate(-1px,-1px)}
@media(max-width:1100px){.order-commerce-header{grid-template-columns:130px minmax(220px,1fr) auto;gap:14px}.order-header-actions button{min-width:58px}.order-header-actions button span{display:none}.order-product-grid,.order-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.order-product-detail-grid{gap:34px}.order-product-detail-media{min-height:440px}}
@media(max-width:820px){.order-service-strip{justify-content:flex-start;overflow-x:auto}.order-commerce-header{grid-template-columns:1fr auto}.order-shop-brand{grid-column:1}.order-header-actions{grid-column:2}.order-header-search{grid-column:1/-1;grid-row:2;max-width:none}.order-shop-hero{grid-template-columns:1fr;min-height:0;padding:34px 28px}.order-shop-hero-art{display:none}.order-shop-hero h2{font-size:36px}.order-product-grid,.order-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-product-detail-grid{grid-template-columns:1fr}.order-product-detail-media{min-height:360px}.order-product-detail-copy{padding-top:0}.order-checkout-grid{grid-template-columns:1fr}.order-checkout-summary{position:static}}
@media(max-width:560px){.order-service-strip{gap:18px;padding-left:6px}.order-commerce-header{padding:14px 0 12px}.order-shop-brand span{font-size:24px}.order-shop-brand strong{font-size:15px}.order-header-actions button{min-width:44px;padding:2px 5px}.order-action-badge{right:0}.order-category-nav{margin:0 -2px}.order-shop-panel{padding-top:18px}.order-shop-hero{margin-bottom:32px;padding:28px 20px}.order-shop-hero h2{font-size:31px}.order-shop-hero p{font-size:14px}.order-category-grid{display:flex;overflow-x:auto;gap:10px}.order-category-card{min-width:210px}.order-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}.order-product-media{height:155px;padding:12px}.order-product-copy{padding-top:9px}.order-product-title{font-size:13px}.order-product-card-footer>strong{font-size:14px}.order-product-detail-grid{padding:0;gap:24px}.order-product-detail-media{min-height:280px;padding:22px}.order-product-detail-copy h2{font-size:27px}.order-product-detail-actions{grid-template-columns:88px minmax(0,1fr)}.order-subpage-head{align-items:stretch;flex-direction:column}.order-subpage-head button{width:100%}.order-checkout-head h2{font-size:29px}.order-checkout-step{grid-template-columns:32px minmax(0,1fr);gap:10px}.order-step-number{width:28px;height:28px}.order-checkout-summary{padding:20px}.order-line-item{grid-template-columns:50px minmax(0,1fr) auto;gap:10px}.order-line-image{width:50px;height:50px}.order-line-item input{grid-column:2;width:82px}.order-line-item>strong{grid-column:2}.order-line-remove{grid-column:3;grid-row:1/4}}
@media(max-width:390px){.order-product-grid{grid-template-columns:1fr}.order-product-media{height:210px}}

/* 8.1.6: compact shop header, first-level category filters and product pagination. */
.order-commerce-header{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:24px;align-items:center;padding:12px 6px 16px;background:var(--bg);position:static;inset:auto;z-index:auto}
.order-header-search{justify-self:start;max-width:900px}
.order-product-media img{transition:none!important;transform:none!important}
.order-product-card:hover .order-product-media img{transform:none!important}




.order-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding-top:16px;border-top:1px solid var(--line)}
.order-pagination>div{display:flex;align-items:center;gap:10px}
.order-pagination button{display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:700 22px/1 var(--dh-font)}
.order-pagination button:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}
.order-pagination button:disabled{opacity:.4;cursor:default}
.order-pagination #orderProductPage{min-width:54px;text-align:center;font-weight:700;color:var(--ink)}
@media(max-width:900px){}
@media(max-width:560px){.order-commerce-header{grid-template-columns:1fr auto;padding:10px 0 14px}.order-header-search{grid-column:1/-1;grid-row:2;max-width:none}.order-pagination{align-items:flex-start;flex-direction:column}.order-pagination>div{align-self:flex-end}}

/* Mobile dashboard/navigation optimization (iPhone-class widths). */
@media(max-width:700px){
  header #mainNavigation{display:none!important}
  .dh-tile-grid,body.authenticated #modules,#driverCards,#settingsHub,.fleet-cards,#contractList,.contract-tiles,.contract-file-grid,.kpi-modules,.fleet-columns{
    grid-auto-rows:auto;
    align-items:start;
  }
  #modules>.datahub-tile,#kfzModules>.datahub-tile,#contractGroups>.datahub-tile,.kpi-modules>.datahub-tile,.fleet-cards>.datahub-tile,#contractList>.datahub-tile,.settings-hub>.datahub-tile{
    min-height:0!important;
    height:auto!important;
    padding:16px;
    gap:8px;
  }
  .datahub-tile .datahub-tile-header{margin-bottom:0;gap:12px}
  .datahub-tile .datahub-tile-open,.datahub-tile .module-open,.datahub-tile .contract-card-open{
    margin-top:4px;
    min-height:40px;
  }
}
/* 8.1.7: logical shop categories, category pictograms and spacing refinement. */
.order-manager-page-heading{padding-top:20px;margin-bottom:18px}
.order-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.order-category-icon svg{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.order-shop-hero-art svg{fill:none;stroke:var(--teal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:820px){.order-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-manager-page-heading{padding-top:14px;margin-bottom:14px}}
@media(max-width:560px){.order-manager-page-heading{padding-top:10px;margin-bottom:10px}.order-category-grid{display:flex;overflow-x:auto;gap:10px}.order-category-card{min-width:235px}}

/* 8.1.8: larger premium category line-icons and transparent product imagery. */
.order-category-card{grid-template-columns:56px minmax(0,1fr)}
.order-category-icon{width:48px;height:48px;background:transparent;color:var(--teal)}
.order-category-icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}
.order-product-media img,.order-product-detail-media img,.order-line-image img,.order-history-item-media img{background:transparent}

/* 8.1.9: zentrierte Produktbilder und strukturierte Produktbeschreibung. */
.order-product-media,.order-product-detail-media,.order-line-image,.order-history-item-media{display:grid;place-items:center;overflow:hidden}
.order-product-media img{display:block;width:auto;height:auto;max-width:82%;max-height:82%;object-fit:contain;object-position:center center;margin:auto}
.order-product-detail-media img{display:block;width:auto;height:auto;max-width:88%;max-height:88%;object-fit:contain;object-position:center center;margin:auto}
.order-line-image img,.order-history-item-media img{display:block;width:auto;height:auto;max-width:82%;max-height:82%;object-fit:contain;object-position:center center;margin:auto}
.order-product-detail-description{white-space:normal}
.order-product-detail-bullets,.order-product-detail-list{margin:0;padding:0}
.order-product-detail-bullets{padding-left:20px;display:grid;gap:8px}
.order-product-detail-bullets li{color:var(--muted);font-size:13px;line-height:1.55}
.order-product-detail-list{list-style:none;display:grid;gap:10px}
.order-product-detail-list li{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:10px;align-items:start}
.order-product-detail-list strong{color:var(--ink);font-size:12px;line-height:1.45}
.order-product-detail-list span{color:var(--muted);font-size:13px;line-height:1.55}
@media(max-width:560px){.order-product-media img{max-width:84%;max-height:84%}.order-product-detail-list li{grid-template-columns:1fr;gap:3px}}

/* 8.1.10: Variantenartikel, Bildzentrierung, mobile Abstände und Hero-Feinschliff. */
.order-product-media,.order-product-detail-media{display:grid;place-items:center}
.order-product-media img{display:block;width:auto;height:auto;max-width:78%;max-height:78%;object-fit:contain;object-position:center center;margin:auto}
.order-product-detail-media img{display:block;width:auto;height:auto;max-width:84%;max-height:84%;object-fit:contain;object-position:center center;margin:auto}
.order-product-visual{min-width:0}
.order-variant-gallery{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
.order-variant-thumb{display:grid;place-items:center;flex:0 0 72px;width:72px;height:72px;min-width:72px;min-height:72px;margin:0;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:none}
.order-variant-thumb img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.order-variant-thumb.active{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal) inset}
.order-variant-picker{margin:0 0 20px;padding:16px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.order-variant-select-label{display:grid;gap:7px;margin:0;color:var(--muted);font:700 11px/1.2 var(--dh-font)}
.order-variant-select-label select{height:48px;margin:0;background:var(--surface);font-family:var(--dh-font)}
.order-product-detail-actions button:disabled{opacity:.5;cursor:not-allowed}
.order-shop-hero-art svg{overflow:visible}
@media(max-width:560px){
  #orderManager.view{padding-top:0}
  .order-manager-page-heading{padding-top:2px;margin-top:0;margin-bottom:8px}
  .order-manager-page-heading .dh-page-copy{padding-top:0}
  .order-product-media img{max-width:80%;max-height:80%}
  .order-variant-thumb{flex-basis:64px;width:64px;height:64px;min-width:64px;min-height:64px}
}


/* 8.1.11: einheitliche Dropdown-Chevrons, Beleg-Drag-and-Drop und Kategorie-Icons. */
select:not([multiple]){-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008087' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:18px 18px;background-position:right 16px center;padding-right:46px!important}
html[data-theme=dark] select:not([multiple]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2376cbc5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E")}
select:not([multiple]):disabled{opacity:.72;cursor:not-allowed}
.order-category-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.receipt-dropzone{display:flex;align-items:center;justify-content:center;gap:12px;min-height:74px;margin:0 0 18px;padding:14px 18px;border:1px dashed color-mix(in srgb,var(--teal) 55%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--teal) 3%,var(--surface));color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.receipt-dropzone svg{width:24px;height:24px;flex:0 0 24px;fill:none;stroke:var(--teal);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.receipt-dropzone>div{display:grid;gap:2px}.receipt-dropzone strong{font-size:13px}.receipt-dropzone span{color:var(--muted);font-size:11px;font-weight:500}
.receipt-dropzone:hover,.receipt-dropzone.is-dragover{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 7%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 10%,transparent)}
.receipt-dropzone.is-disabled{opacity:.55;cursor:not-allowed}.receipt-dropzone.is-disabled:hover{border-color:color-mix(in srgb,var(--teal) 55%,var(--line));background:color-mix(in srgb,var(--teal) 3%,var(--surface));box-shadow:none}
@media(max-width:700px){.receipt-dropzone{min-height:62px;padding:12px 14px}.receipt-dropzone span{display:none}}

/* 8.1.11: Shop-Verwaltung unter Einstellungen. */
.shop-admin-product-list,.shop-admin-category-list{display:grid;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}
.shop-admin-product-row{display:grid;grid-template-columns:54px minmax(240px,1fr) 100px 100px 76px;gap:12px;align-items:center;min-height:70px;padding:9px 12px;border-bottom:1px solid var(--line)}.shop-admin-product-row:last-child{border-bottom:0}.shop-admin-product-row.is-inactive{opacity:.62}.shop-admin-list-image{display:grid;place-items:center;width:50px;height:50px;background:var(--soft);border-radius:9px;overflow:hidden;color:var(--muted);font-size:12px}.shop-admin-list-image img{max-width:84%;max-height:84%;object-fit:contain}.shop-admin-product-copy{display:grid;gap:3px;min-height:auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none;text-align:left;color:var(--ink);font-family:var(--dh-font)}.shop-admin-product-copy strong{font-size:13px}.shop-admin-product-copy:hover{color:var(--teal)}.shop-admin-product-price{font-size:13px;text-align:right}.shop-admin-status-chip{display:inline-flex;align-items:center;justify-content:center;justify-self:end;min-width:62px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700}.shop-admin-status-chip.active{background:rgba(14,135,133,.11);color:var(--teal)}.shop-admin-status-chip.inactive{background:var(--soft);color:var(--muted)}
.shop-admin-category-row{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:58px;margin:0;padding:10px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;text-align:left;color:var(--ink)}.shop-admin-category-row:last-child{border-bottom:0}.shop-admin-category-row>span:first-child{display:grid;gap:3px}.shop-admin-category-row small{color:var(--muted)}.shop-admin-category-row:hover{background:var(--soft)}.shop-admin-category-row.is-inactive{opacity:.62}
.shop-admin-dialog{width:min(980px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto}.shop-admin-dialog form{display:grid;gap:16px}.shop-admin-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.shop-admin-form-grid label,.shop-variant-fields label{display:grid;gap:6px}.shop-variant-fields{display:grid;grid-template-columns:1fr 1fr 140px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.shop-admin-image-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;align-items:center;padding-top:4px}.shop-admin-image-preview{display:grid;place-items:center;width:160px;height:130px;border-radius:12px;background:var(--soft);overflow:hidden;color:var(--muted);font-size:12px}.shop-admin-image-preview img{max-width:86%;max-height:86%;object-fit:contain}.shop-admin-image-upload{display:grid;gap:6px}.shop-variant-admin{display:grid;gap:10px;padding-top:8px;border-top:1px solid var(--line)}.shop-variant-admin h4{margin:0}.shop-variant-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:52px;margin:0;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:none;text-align:left}.shop-variant-row>span:first-child{display:grid;gap:2px}.shop-variant-row small{color:var(--muted)}.shop-variant-row:hover{border-color:var(--teal)}
@media(max-width:820px){.shop-admin-product-row{grid-template-columns:48px minmax(0,1fr) auto}.shop-admin-product-price{grid-column:2;text-align:left}.shop-admin-product-row>.small{display:none}.shop-admin-status-chip{grid-column:3;grid-row:1/3}.shop-admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.shop-admin-toolbar>label,.shop-admin-toolbar button{width:100%}.shop-admin-form-grid,.shop-variant-fields,.shop-admin-image-row{grid-template-columns:1fr}.shop-admin-image-preview{width:100%;height:180px}.shop-admin-product-row{grid-template-columns:44px minmax(0,1fr)}.shop-admin-product-row>.shop-admin-status-chip{display:none}.shop-admin-product-price{grid-column:2}.shop-admin-list-image{width:42px;height:42px}}

/* 8.1.12: Beschaffungs-/Worker-Vorbereitung und Bestellverwaltung. */
@media(max-width:560px){#orderManager.view{padding-top:22px}.order-manager-page-heading{padding-top:0;margin-top:0}}
.automation-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.automation-summary-card{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.automation-summary-card strong{color:var(--navy);font-size:14px}.shop-automation-store-list{display:grid;gap:10px;margin-bottom:22px}.shop-store-address-row{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(180px,1.2fr) minmax(180px,1.2fr) 90px minmax(140px,1fr) 72px auto;gap:8px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.shop-store-address-row label{display:grid;gap:4px;margin:0;font-size:10px;color:var(--muted)}.shop-store-address-row input{min-height:40px!important;margin:0!important;padding:8px 10px!important}.shop-store-address-row button{min-height:40px;margin:0;padding:8px 12px}.shop-store-address-title{display:grid;gap:2px;align-self:center}.shop-store-address-title strong{font-size:12px}.shop-store-address-status{grid-column:2/-1;margin:0}.shop-worker-token{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--soft);overflow-wrap:anywhere;color:var(--ink)}
.order-management-controls{display:grid;grid-template-columns:minmax(180px,240px) minmax(280px,1fr) auto;gap:12px;align-items:end;margin-bottom:18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.order-management-controls label{display:grid;gap:6px;margin:0}.order-management-controls textarea{min-height:48px;margin:0}.order-management-controls button{margin:0}.order-supplier-section{display:grid;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.order-supplier-section h4{margin:0}.order-supplier-card{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.order-supplier-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.order-supplier-card-head>div{display:grid;gap:3px}.order-supplier-warning{margin:0;color:var(--dh-warning)}.order-supplier-error{margin:8px 0 0;padding:10px 12px;border:1px solid var(--review-border);border-radius:9px;background:var(--review-bg);color:var(--review-text)}
@media(max-width:1050px){.shop-store-address-row{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-store-address-title{grid-column:1/-1}.shop-store-address-status{grid-column:1/-1}.order-management-controls{grid-template-columns:1fr 1fr}.order-management-controls button{grid-column:1/-1;justify-self:start}}
@media(max-width:620px){.automation-summary-grid,.shop-store-address-row,.order-management-controls{grid-template-columns:1fr}.shop-store-address-title,.shop-store-address-status,.order-management-controls button{grid-column:auto}.shop-store-address-row button{width:100%}.order-supplier-card-head{align-items:stretch;flex-direction:column}.order-supplier-card-head .shop-admin-status-chip{justify-self:start}.order-supplier-card .settings-actions{display:grid;grid-template-columns:1fr}.order-supplier-card .settings-actions button{width:100%}}

/* Programmweiter Drag-&-Drop-Zustand für bestehende Datei-Uploads. */
.dh-file-drop-target{transition:border-color .15s,background .15s,box-shadow .15s}
.dh-file-drop-target.is-file-dragover{border-color:var(--teal)!important;background:color-mix(in srgb,var(--teal) 7%,var(--surface))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 10%,transparent)!important}
button.dh-file-drop-target.is-file-dragover{outline:2px dashed var(--teal);outline-offset:3px}
#documents .receipt-heading .receipt-import{margin:0;display:flex;align-items:center;gap:12px}
#documents .receipt-heading .receipt-import>button{min-height:48px;margin:0}

/* 8.1.14: Shop-Feinschliff */
#documents .receipt-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:nowrap}
#documents .receipt-heading-actions .receipt-mail-fetch{flex:0 0 auto;min-width:168px;width:auto;padding-left:22px;padding-right:22px}
#documents .receipt-heading-actions #openArchive{flex:0 0 auto}
.shop-supplier-checks{display:grid;gap:8px;margin-top:0}.shop-supplier-checks .check{margin:0}
.order-category-icon{color:var(--teal)}
.order-category-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.order-shop-hero-art svg{fill:none;stroke:var(--teal);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.shop-variant-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:6px;padding:5px 8px;cursor:default}
.shop-variant-row.is-dragging{opacity:.45;border-color:var(--teal)}
.shop-variant-drag{width:32px;min-width:32px;height:38px;margin:0;padding:0;border:0;background:transparent;color:var(--teal);box-shadow:none;cursor:grab;font-size:17px;letter-spacing:-3px}
.shop-variant-drag:active{cursor:grabbing}.shop-variant-drag:hover{background:var(--soft)}
.shop-variant-open{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:42px;margin:0;padding:4px 7px;border:0;background:transparent;box-shadow:none;text-align:left;color:var(--ink)}
.shop-variant-open>span:first-child{display:grid;gap:2px}.shop-variant-open small{color:var(--muted)}.shop-variant-price{font-weight:700;white-space:nowrap}
#orderManager.view .order-manager-page-heading{padding-top:34px}
@media(max-width:700px){#documents .receipt-heading-actions{gap:8px;flex-wrap:wrap}#documents .receipt-heading-actions .receipt-mail-fetch{min-width:0;padding-left:16px;padding-right:16px}#orderManager.view{padding-top:28px!important}#orderManager.view .order-manager-page-heading{padding-top:0!important}}

.shop-live-check-heading{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.shop-product-check-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:8px}.shop-product-check-summary .automation-summary-card{min-height:76px}.shop-product-check-summary strong{font-size:15px}.shop-product-check-state{display:inline-flex;align-items:center;gap:6px}.shop-product-check-state::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted)}.shop-product-check-state.ok::before{background:#2c9a62}.shop-product-check-state.review::before{background:#e39922}.shop-product-check-state.error::before{background:#c94444}@media(max-width:760px){.shop-product-check-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-live-check-heading{align-items:flex-start}.shop-live-check-heading button{width:100%}}

.order-category-card .order-category-icon{color:var(--teal)!important}.order-category-icon .zr-shop-category-svg{display:block;width:40px!important;height:40px!important;object-fit:contain}

/* 8.1.16 · Shop-Verwaltung */
.shop-settings-workspace{display:grid;gap:24px}.shop-settings-heading{margin-bottom:0}.settings-kicker,.shop-section-kicker{display:block;color:var(--teal);font:700 10px/1.2 var(--dh-font);letter-spacing:.11em;text-transform:uppercase}.shop-settings-heading h3{margin:4px 0 4px}.shop-settings-cluster{display:grid;gap:10px}.shop-settings-cluster-heading{display:flex;align-items:baseline;gap:12px;padding:0 2px}.shop-settings-cluster-heading>span{font-size:13px;font-weight:700;color:var(--navy)}.shop-settings-cluster-heading p{margin:0;font-size:12px}.shop-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shop-settings-tile{margin:0}.shop-settings-tile>summary{min-height:72px;padding:12px 14px}.shop-settings-summary-copy{display:grid;gap:2px;min-width:0}.shop-settings-summary-copy strong{font-size:14px}.shop-settings-summary-copy small{font-size:11px;color:var(--muted);font-weight:400}.shop-settings-icon{width:46px;height:46px;padding:7px;border-radius:12px;background:color-mix(in srgb,var(--teal) 7%,var(--surface));display:grid;place-items:center}.shop-settings-icon img{display:block;width:100%;height:100%;object-fit:contain}.shop-settings-icon-image{padding:4px}.shop-settings-tile[open]{grid-column:1/-1}.shop-settings-tile[open]>summary{border-bottom:1px solid var(--line)}.shop-settings-tile .settings-subtile-body{padding:18px 16px 20px}.shop-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.shop-section-head h4{margin:2px 0 4px}.shop-section-head p{margin:0;max-width:760px}.shop-list-count{margin:8px 2px}.shop-config-section{padding:18px 0;border-top:1px solid var(--line)}.shop-config-section:first-of-type{border-top:0}.shop-automation-status{margin-bottom:8px}.shop-form-section{display:grid;gap:12px;padding:16px 0;border-top:1px solid var(--line)}.shop-form-section:first-of-type{border-top:0;padding-top:2px}.shop-form-section-head h4{margin:0 0 3px}.shop-form-section-head p{margin:0}.shop-description-field{margin:0}.shop-price-grid,.shop-supplier-base-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-supplier-options .shop-supplier-checks{gap:8px}.shop-supplier-options .shop-supplier-checks .check{margin:0}.order-category-icon .zr-shop-category-svg{width:48px!important;height:48px!important;object-fit:contain}.order-shop-hero-art img{display:block;width:min(100%,360px);max-height:230px;object-fit:contain}.order-shop-hero-art svg{display:none!important}
@media(max-width:820px){.shop-settings-grid{grid-template-columns:1fr}.shop-settings-tile[open]{grid-column:auto}.shop-section-head{align-items:stretch;flex-direction:column}.shop-section-head button{align-self:flex-start}.shop-price-grid,.shop-supplier-base-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.shop-settings-cluster-heading{display:grid;gap:2px}.shop-settings-tile>summary{min-height:66px}.shop-settings-summary-copy small{white-space:normal}.shop-section-head button{width:100%}.shop-price-grid,.shop-supplier-base-grid{grid-template-columns:1fr}.order-category-icon .zr-shop-category-svg{width:44px!important;height:44px!important}}


/* 8.1.17 · Bestell-Manager: Produktverwaltung, Lager, Bestellhistorie */
.shop-section-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.shop-admin-product-header,.shop-admin-product-row{grid-template-columns:58px minmax(180px,1.7fr) minmax(105px,.8fr) minmax(150px,1fr) minmax(120px,.9fr) 88px 76px 74px 72px 94px}.shop-admin-product-header{display:grid;gap:10px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;background:var(--soft);color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.shop-admin-product-list{border-radius:0 0 14px 14px}.shop-admin-product-row{gap:10px}.shop-admin-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--muted)}.shop-admin-product-price{text-align:left}.shop-admin-stock{font-size:12px;font-weight:700}.shop-admin-stock.not-tracked{color:var(--muted);font-weight:400}.shop-admin-stock.low{color:#a56700}.shop-admin-stock.empty{color:#b42318}.shop-admin-stock.ok{color:var(--teal)}.shop-admin-row-actions{display:flex;justify-content:flex-end}.shop-admin-row-actions button{min-height:32px;margin:0;padding:6px 9px;font-size:11px}.shop-admin-pagination{margin-top:12px}.shop-stock-settings{display:grid;gap:12px}.shop-stock-settings>.check{margin:0}.shop-stock-dialog{width:min(1120px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto}.shop-stock-table-wrap,.order-recent-orders-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.shop-stock-table,.order-recent-orders-table{width:100%;border-collapse:collapse;background:var(--surface)}.shop-stock-table th,.shop-stock-table td,.order-recent-orders-table th,.order-recent-orders-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:12px;white-space:nowrap}.shop-stock-table th,.order-recent-orders-table th{background:var(--soft);font-size:10px;text-transform:uppercase;letter-spacing:.03em}.shop-stock-table tr:last-child td,.order-recent-orders-table tr:last-child td{border-bottom:0}.shop-stock-table .num{text-align:right}.shop-stock-status{font-weight:700}.shop-stock-status.ok{color:var(--teal)}.shop-stock-status.low{color:#a56700}.shop-stock-status.empty{color:#b42318}.order-recent-orders-section{margin-top:44px}.order-text-link,.order-table-link{min-height:auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--teal);font-weight:700}.order-table-link:hover,.order-text-link:hover{text-decoration:underline;background:transparent}.order-recent-orders-table td:nth-child(4),.order-recent-orders-table td:nth-child(5){font-weight:700}
@media(max-width:1180px){.shop-admin-product-header{display:none}.shop-admin-product-row{grid-template-columns:52px minmax(0,1fr) 90px 76px}.shop-admin-product-row>.shop-admin-cell{display:none}.shop-admin-row-actions{grid-column:4}.shop-admin-status-chip{grid-column:4;grid-row:1;justify-self:end}.shop-admin-product-list{border-radius:14px}}
@media(max-width:620px){.shop-section-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.shop-section-actions button{width:100%}.shop-admin-product-row{grid-template-columns:44px minmax(0,1fr) auto}.shop-admin-product-row>.shop-admin-stock,.shop-admin-product-row>.shop-admin-cell,.shop-admin-row-actions{display:none}.shop-admin-product-price{grid-column:2}.order-recent-orders-table th:nth-child(3),.order-recent-orders-table td:nth-child(3),.order-recent-orders-table th:nth-child(4),.order-recent-orders-table td:nth-child(4){display:none}}
@media print{
  body:has(#shopStockDialog[open])>*:not(#shopStockDialog){display:none!important}
  #shopStockDialog[open]{position:static!important;display:block!important;width:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important;color:#06354b!important}
  #shopStockDialog[open]::backdrop{display:none!important}
  #shopStockDialog[open] .dialog-head button,#shopStockDialog[open] .dialog-actions{display:none!important}
  #shopStockDialog[open] .shop-stock-table-wrap{overflow:visible!important;border:0!important}
  #shopStockDialog[open] .shop-stock-table{font-size:10pt!important}
  #shopStockDialog[open] .shop-stock-table th,#shopStockDialog[open] .shop-stock-table td{padding:6px 8px!important}
}

/* 8.1.18: Bestellübersicht, Ampelstatus, Produktdetailbearbeitung und Lagerfilter. */
.order-history-title-copy{display:flex;align-items:center;gap:14px}.order-history-heading-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--teal) 9%,var(--surface));color:var(--teal)}.order-history-heading-icon svg{width:30px;height:30px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.order-history-filter-card{margin-bottom:16px;padding:14px 16px}.order-history-summary{margin:10px 0 0;color:var(--muted)}.order-status-display{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;font-weight:700}.order-status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 15%,transparent)}.order-status-dot.green{background:#2c9a62;color:#2c9a62}.order-status-dot.orange{background:#e39922;color:#e39922}.order-status-dot.red{background:#c94444;color:#c94444}.order-status-dot.gray{background:#8a949b;color:#8a949b}
.shop-product-edit-view{max-width:1180px;margin-inline:auto}.shop-product-editor{display:grid;gap:18px;padding:20px}.shop-product-editor>.dh-page-heading{margin-bottom:0}.shop-product-editor .shop-form-section{padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.shop-product-editor .shop-variant-admin{margin-top:2px;padding-top:16px}.shop-product-editor .settings-actions{position:sticky;bottom:0;z-index:2;margin:2px -20px -20px;padding:14px 20px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px)}
.shop-stock-status.not-tracked{color:var(--muted);font-weight:500}
@media(max-width:1000px){.order-history-filters,.order-history-filters button,.shop-stock-filterbar button{justify-self:start}.order-history-row{align-items:flex-start}.order-history-row-right{flex-direction:column;align-items:flex-end}}
@media(max-width:620px){.order-history-title-copy{align-items:flex-start}.order-history-heading-icon{width:42px;height:42px;flex-basis:42px;border-radius:12px}.order-history-filters,.order-history-filters button,.shop-stock-filterbar button{width:100%}.order-history-row{align-items:stretch;flex-direction:column}.order-history-row-right{flex-direction:row;justify-content:space-between;align-items:center}.shop-product-editor{padding:14px}.shop-product-editor .settings-actions{position:static;display:flex;flex-wrap:wrap;gap:8px;margin:2px -14px -14px;padding:12px 14px}.shop-product-editor .settings-actions button{width:auto;flex:1 1 calc(50% - 4px);min-width:0}}
@media print{body:has(#shopStockDialog[open])>*:not(#shopStockDialog){display:none!important}#shopStockDialog[open]{position:static!important;display:block!important;width:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important;color:#06354b!important}#shopStockDialog[open]::backdrop{display:none!important}#shopStockDialog[open] .dh-page-actions,#shopStockDialog[open] #shopStockDialog[open] .shop-stock-table-wrap{overflow:visible!important;border:0!important}#shopStockDialog[open] .shop-stock-table{font-size:10pt!important}#shopStockDialog[open] .shop-stock-table th,#shopStockDialog[open] .shop-stock-table td{padding:6px 8px!important;color:#06354b!important;background:#fff!important}}

/* 8.1.19: Bestell-/Lagerverwaltung klar erreichbar, dekorative Seitensymbole entfernt. */
.order-history-title-copy{display:block}.order-history-heading-icon{display:none!important}.shop-product-edit-view .dh-page-heading::before,.shop-product-edit-view .dh-page-copy::before{display:none!important;content:none!important}.shop-settings-tile>summary>.shop-settings-summary-copy:first-child{margin-left:0}.site-footer{display:block;width:100%;margin-top:auto}

/* Bestell-Manager: Floating Navigation uses the same line-icon contract
   as the original header actions; no computed inline styles required. */
@media(max-width:600px){
 .zr-order-mobile-floating-nav button{
  color:var(--ink)!important;
 }
 .zr-order-mobile-floating-nav button:hover,
 .zr-order-mobile-floating-nav button.active{
  color:var(--teal)!important;
 }
 .zr-order-mobile-floating-nav svg{
  display:block!important;
  width:23px!important;
  height:23px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.6!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
 }
}

/* Beleg-Manager: keep the high-DPI canvas backing store while the
   visible PDF page retains its calculated CSS dimensions. */
#documents #documentPreview[data-css-width][data-css-height]{
 width:attr(data-css-width px);
 height:attr(data-css-height px);
}

/* =========================================================
   ZR DATAHUB GLOBAL SELECT STANDARD
   Einheitliche Dropdown-Felder programmweit
   ========================================================= */

select:not([multiple]){
  -webkit-appearance:none!important;
  appearance:none!important;

  width:100%;
  min-width:0;

  height:48px!important;
  min-height:48px!important;

  margin:0;
  padding:0 46px 0 14px!important;

  box-sizing:border-box;

  border:1px solid #cfdce2!important;
  border-radius:10px!important;

  background-color:var(--surface,#fff)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008087' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-size:18px 18px!important;
  background-position:right 14px center!important;

  color:var(--navy)!important;
  font:inherit;
  font-weight:500;
  line-height:1.2;

  box-shadow:none!important;

  transition:
    border-color .16s ease,
    box-shadow .16s ease,
    background-color .16s ease;
}

select:not([multiple]):hover:not(:disabled){
  border-color:#9fbfc8!important;
}

select:not([multiple]):focus,
select:not([multiple]):focus-visible{
  border-color:var(--teal,#008087)!important;
  outline:none!important;
  box-shadow:0 0 0 3px rgb(0 128 135 / 14%)!important;
}

select:not([multiple]):disabled{
  cursor:not-allowed;
  opacity:.62;
}

html[data-theme=dark] select:not([multiple]){
  background-color:var(--surface,#102a36)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2376cbc5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E")!important;
  border-color:#35515d!important;
  color:#e0edf3!important;
}

/* Labels mit Dropdowns ebenfalls konsistent */
label:has(> select:not([multiple])){
  min-width:0;
}

/* Beleg-Manager: keine zusätzliche lokale Select-Geometrie */
#documents .document-fields select{
  width:100%;
  height:48px!important;
  min-height:48px!important;
  margin-top:6px;
}

/* Filter-/Toolbar-Dropdowns übernehmen die globale Geometrie */
.receipt-filter select,
.archive-filters select,
.contract-toolbar select,
.driver-toolbar select,
.fleet-toolbar select,
.dh-filter-grid select,
.order-shop-toolbar select,
.order-history-filters select{
  height:48px!important;
  min-height:48px!important;
  border-radius:10px!important;
}


/* =========================================================
   ZR DATAHUB GLOBAL CUSTOM SELECT
   ========================================================= */

.dh-select{
  position:relative;
  width:100%;
  min-width:0;
}

.dh-select-native{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
}

.dh-select-button{
  display:grid;
  grid-template-columns:minmax(0,1fr) 18px;
  align-items:center;
  gap:12px;

  width:100%;
  height:48px;
  min-height:48px;
  margin:0;
  padding:0 14px;

  box-sizing:border-box;

  border:1px solid #cfdce2;
  border-radius:10px;

  background:var(--surface,#fff);
  color:var(--navy);

  font:inherit;
  font-weight:500;
  line-height:1.2;
  text-align:left;

  box-shadow:none;
  cursor:pointer;

  white-space:nowrap;
}

.dh-select-value{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dh-select-arrow{
  width:18px;
  height:18px;
  justify-self:end;

  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008087' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E")
    center/18px 18px no-repeat;

  transition:transform .16s ease;
}

.dh-select.is-open .dh-select-arrow{
  transform:rotate(180deg);
}

.dh-select-button:hover:not(:disabled){
  border-color:#9fbfc8;
}

.dh-select.is-open .dh-select-button,
.dh-select-button:focus-visible{
  border-color:var(--teal,#008087);
  outline:none;
  box-shadow:0 0 0 3px rgb(0 128 135 / 14%);
}

.dh-select-button:disabled{
  cursor:not-allowed;
  opacity:.62;
}

.dh-select-list{
  position:absolute;
  z-index:10000;

  top:calc(100% + 6px);
  left:0;
  right:auto;

  width:100%;
  max-width:calc(100vw - 24px);
  max-height:280px;

  overflow-x:hidden;
  overflow-y:auto;

  padding:6px;

  border:1px solid #cfdce2;
  border-radius:12px;

  background:var(--surface,#fff);
  box-shadow:
    0 14px 34px rgb(0 47 80 / 14%),
    0 3px 8px rgb(0 47 80 / 8%);
}

.dh-select.is-dropdown-right .dh-select-list{
  left:auto;
  right:0;
}

.dh-select.is-dropdown-constrained .dh-select-option{
  white-space:normal;
  overflow-wrap:anywhere;
}

.dh-select-list[hidden]{
  display:none!important;
}

.dh-select-option{
  display:flex;
  align-items:center;

  width:100%;
  min-height:40px;

  margin:0;
  padding:9px 11px;

  border:0;
  border-radius:8px;

  background:transparent;
  color:var(--navy);

  font:inherit;
  font-weight:500;
  text-align:left;

  box-shadow:none;
  cursor:pointer;
}

.dh-select-option:hover:not(:disabled),
.dh-select-option.is-keyboard-active{
  background:#e7f4ef;
}

.dh-select-option.is-selected{
  background:#eaf5f7;
  color:var(--navy);
  font-weight:700;
}

.dh-select-option.is-selected::after{
  content:"✓";
  margin-left:auto;
  padding-left:12px;
  color:var(--teal,#008087);
  font-weight:800;
}

.dh-select-option:disabled{
  opacity:.48;
  cursor:not-allowed;
}

html[data-theme=dark] .dh-select-button,
html[data-theme=dark] .dh-select-list{
  background:#102a36;
  border-color:#35515d;
  color:#e0edf3;
}

html[data-theme=dark] .dh-select-option{
  color:#e0edf3;
}

html[data-theme=dark] .dh-select-option:hover:not(:disabled),
html[data-theme=dark] .dh-select-option.is-keyboard-active{
  background:#173b45;
}

html[data-theme=dark] .dh-select-option.is-selected{
  background:#164047;
}

html[data-theme=dark] .dh-select-arrow{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2376cbc5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E");
}

/* Beleg-Manager: Abstand zwischen Label und Custom Select wie bisher */
#documents .document-fields label>.dh-select{
  margin-top:6px;
}

/* dynamisch erzeugte Vertragsfelder */
.contract-center-row .dh-select{
  min-width:0;
  flex:1 1 auto;
}

/* Filter-/Toolbar-Bereiche */
.receipt-filter .dh-select,
.contract-toolbar .dh-select,
.driver-toolbar .dh-select,
.fleet-toolbar .dh-select,
.dh-filter-grid .dh-select{
  width:100%;
}

@media(max-width:600px){
  .dh-select-button{
    min-height:44px;
  }

  .dh-select-list{
    max-height:min(320px,55dvh);
  }

  .dh-select-option{
    min-height:44px;
  }
}


/* ZR DATAHUB CUSTOM SELECT - OPTIONEN LINKSBÜNDIG */
.dh-select-option{
  justify-content:flex-start!important;
  text-align:left!important;
}

.dh-select-option.is-selected::after{
  margin-left:auto!important;
}

/* ZR DATAHUB GLOBAL BUTTON STANDARD
   Verbindliche Basis fuer normale Aktionsbuttons.
   Kompakte Icon-, Tabellen-, Kalender- und Navigationsbuttons
   duerfen ihre Geometrie gezielt ueberschreiben. */

button,
.primary{
 font:600 14px/1.4 var(--dh-font);
 border:1px solid var(--line);
 border-radius:var(--dh-control-radius);
 padding:13px 20px;
 cursor:pointer;
 background:var(--surface,#fff);
 color:var(--navy);
 text-decoration:none;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:12px;
 transition:background .15s,box-shadow .15s;
}

button:hover{
 background:#eaf1f4;
}

button:disabled{
 opacity:.5;
 cursor:default;
}

.primary{
 background:var(--navy);
 color:#fff;
 border-color:var(--navy);
 box-shadow:0 5px 12px #06354b16;
}

.primary:hover{
 background:#0b4c63;
}

.danger{
 color:#a13232;
 border-color:#e5bcbc;
 background:#fffafa;
}

.danger:hover{
 background:#fcecec;
}

/* ZR DATAHUB GLOBAL ACTION GROUP STANDARD
   Standard geometry for page, form, dialog and filter action rows.
   Compact navigation, pagination, icon-only, calendar and tile action
   controls remain deliberate exceptions. */

:is(
 .settings-actions,
 .driver-actions,
 .cost-actions,
 .contract-search-actions,
 .contract-save-actions,
 .archive-search-actions,
 .dialog-actions,
 .document-actions,
 .sale-import-actions,
 .rights-actions,
 .rights-actions-main,
 .rights-actions-danger,
 .fleet-filter-actions,
 .cost-filter-actions
){
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:12px;
}

:is(
 .settings-actions,
 .driver-actions,
 .cost-actions,
 .contract-search-actions,
 .contract-save-actions,
 .archive-search-actions,
 .dialog-actions,
 .document-actions,
 .sale-import-actions,
 .rights-actions,
 .rights-actions-main,
 .rights-actions-danger,
 .fleet-filter-actions,
 .cost-filter-actions
) > :is(button,a.primary){
 min-height:var(--dh-control);
 border-radius:var(--dh-control-radius);
 margin:0;
}

/* Filter actions follow the same 48px control geometry. */
.dh-filter-actions > button,
.cost-filter-actions > button,
.fleet-filter-actions > button{
 min-height:var(--dh-control);
 border-radius:var(--dh-control-radius);
 margin:0;
}

/* Existing admin 44px rules are superseded deliberately. */
#admin .rights-actions button{
 min-height:var(--dh-control);
}

/* Destructive admin actions remain visually separated on the right. */
#admin .rights-actions-danger{
 margin-left:auto;
}

/* Mobile action rows wrap into practical touch targets. */
@media(max-width:600px){
 :is(
  .settings-actions,
  .driver-actions,
  .cost-actions,
  .contract-search-actions,
  .archive-search-actions,
  .dialog-actions,
  .sale-import-actions,
  .fleet-filter-actions,
  .cost-filter-actions
 ) > :is(button,a.primary){
  flex:1 1 160px;
 }

 #admin .rights-actions{
  align-items:stretch;
 }

 #admin .rights-actions-main,
 #admin .rights-actions-danger{
  width:100%;
  margin-left:0;
 }

 #admin .rights-actions :is(button,a.primary){
  flex:1 1 100%;
 }
}

/* ZR DATAHUB GLOBAL KPI FILTER SPECIALIZATIONS
   Sales-KPIs und Kalender-KPIs bleiben die Referenz.
   KfZ-KPIs verwenden dieselbe 4 -> 2 -> 1 Logik. */

/* Sales / Kalender:
   geöffnete Custom-Selects dürfen nicht vom Filtercontainer
   abgeschnitten werden. */
#saleKpis .dh-filter-fields-row,
#remoteCareKpis .dh-filter-fields-row{
 overflow:visible;
}

#saleKpis .dh-filter-bar,
#remoteCareKpis .dh-filter-bar{
 overflow:visible;
}

#saleKpis .dh-select,
#remoteCareKpis .dh-select{
 position:relative;
 z-index:1;
}

#saleKpis .dh-select.is-open,
#remoteCareKpis .dh-select.is-open{
 z-index:10020;
}

#saleKpis .dh-select-list,
#remoteCareKpis .dh-select-list{
 z-index:10021;
}

@media(max-width:1100px){
 #saleKpis .dh-filter-fields-row,
 #remoteCareKpis .dh-filter-fields-row{
  flex-wrap:wrap;
 }

 #saleKpis .dh-filter-fields-row>label,
 #remoteCareKpis .dh-filter-fields-row>label{
  flex:1 1 210px;
 }
}

/* KfZ-KPIs:
   gleicher Filterraster wie der globale KPI-Standard. */
#costPanel>.cost-filters{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:20px 16px;
 align-items:end;
}

#costPanel>.cost-filters>label{
 min-width:0;
 margin:0;
 display:grid;
 gap:8px;
}

#costPanel>.cost-filters>label[hidden]{
 display:none!important;
}

#costPanel>.cost-filters :is(
 input:not([type=checkbox]):not([type=radio]),
 select,
 .dh-select,
 .dh-select-button
){
 width:100%;
 box-sizing:border-box;
}

#costPanel .cost-filter-actions{
 grid-column:1/-1;
 display:flex;
 align-items:center;
 justify-content:flex-end;
 flex-wrap:wrap;
 gap:12px;
 width:100%;
 min-width:0;
 margin-top:2px;
}

#costPanel .cost-filter-actions button{
 min-height:var(--dh-control);
 margin:0;
 white-space:nowrap;
}

@media(max-width:1100px){
 #costPanel>.cost-filters{
  grid-template-columns:repeat(2,minmax(0,1fr));
 }
}

@media(max-width:600px){
 #costPanel>.cost-filters{
  grid-template-columns:minmax(0,1fr);
 }

 #costPanel .cost-filter-actions{
  grid-column:1;
 }

 #costPanel .cost-filter-actions button{
  flex:1 1 160px;
 }
}

/* ZR DATAHUB FLEET + CONTRACT FILTER STANDARD
   Gemeinsame Filteroberfläche und Action-Anordnung.
   Fachlich sinnvolle Spaltenbreiten bleiben erhalten. */

/* Fleet: auf Desktop alle Filter und Aktionen in einer Zeile.
   Tablet und Mobil bleiben kompakt responsiv. */
#fleetToolbar{
 display:grid;
 grid-template-columns:repeat(6,minmax(0,1fr)) minmax(260px,max-content);
 gap:20px 16px;
 align-items:end;
 margin:24px 0;
}

#fleetToolbar>label{
 display:grid;
 gap:8px;
 margin:0;
 min-width:0;
 font-size:13px;
 font-weight:700;
}

#fleetToolbar :is(
 input:not([type=checkbox]):not([type=radio]),
 select,
 .dh-select,
 .dh-select-button
){
 width:100%;
 min-width:0;
 box-sizing:border-box;
}

#fleetToolbar>.fleet-filter-actions{
 grid-column:auto;
 justify-content:flex-end;
 width:auto;
 min-width:0;
 white-space:nowrap;
}

#fleetToolbar .fleet-filter-actions>button{
 min-height:var(--dh-control);
 margin:0;
 white-space:nowrap;
}

@media(max-width:1279px){
 #fleetToolbar{
  grid-template-columns:repeat(3,minmax(0,1fr));
 }

 #fleetToolbar>.fleet-filter-actions{
  grid-column:1/-1;
  width:100%;
 }
}

/* Vertrags-Manager: Suche bewusst breiter, übrige Filter gleichmäßig. */
.contract-toolbar{
 display:grid;
 grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(160px,1fr));
 gap:20px 16px;
 align-items:end;
}

.contract-toolbar>label{
 display:grid;
 gap:8px;
 margin:0;
 min-width:0;
}

.contract-toolbar>label[hidden]{
 display:none;
}

.contract-toolbar :is(
 input:not([type=checkbox]):not([type=radio]),
 select,
 .dh-select,
 .dh-select-button
){
 width:100%;
 min-width:0;
 box-sizing:border-box;
}

.contract-toolbar>.contract-search-actions{
 grid-column:1/-1;
 justify-content:flex-end;
 width:100%;
 min-width:0;
}

.contract-search-actions>button{
 min-height:var(--dh-control);
 margin:0;
 white-space:nowrap;
}

@media(max-width:1100px){
 #fleetToolbar,
 .contract-toolbar{
  grid-template-columns:repeat(2,minmax(0,1fr));
 }
}

@media(max-width:600px){
 #fleetToolbar,
 .contract-toolbar{
  grid-template-columns:minmax(0,1fr);
 }

 #fleetToolbar>.fleet-filter-actions,
 .contract-toolbar>.contract-search-actions{
  grid-column:1;
 }

 #fleetToolbar .fleet-filter-actions>button,
 .contract-toolbar .contract-search-actions>button{
  flex:1 1 160px;
 }
}

/* A3.3 · Globaler Shop-/Bestellfilter-Standard
   Desktop: eine Zeile soweit fachlich sinnvoll.
   Tablet: zwei Spalten.
   Mobil: eine Spalte.
   Alle normalen Filtercontrols: 48 px. */

.order-product-filters,
.order-history-filters,
.shop-stock-filterbar{
  display:grid;
  align-items:end;
  gap:10px 12px;
}

.order-product-filters{
  grid-template-columns:
    repeat(3,minmax(150px,1fr))
    auto;

  margin:0 0 24px;
  padding:14px;

  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
}

.order-history-filters,
.shop-stock-filterbar{
  grid-template-columns:
    minmax(220px,1.35fr)
    repeat(3,minmax(145px,.85fr))
    auto;
}

.shop-stock-filterbar{
  margin:14px 0;
}

.order-product-filters label,
.order-history-filters label,
.shop-stock-filterbar label,
.shop-admin-filterbar>label{
  display:grid;
  gap:5px;
  min-width:0;
  margin:0;
}

.order-product-filters label>span,
.order-history-filters label>span,
.shop-stock-filterbar label>span,
.shop-admin-filterbar>label>span{
  color:var(--muted);
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.order-product-filters input,
.order-history-filters input,
.shop-stock-filterbar input,
.shop-admin-filterbar input{
  height:48px;
  min-height:48px;
  margin:0;
}

.order-product-filters button,
.order-history-filters button,
.shop-stock-filterbar button,
.shop-admin-filterbar>button{
  height:48px;
  min-height:48px;
  margin:0;
  white-space:nowrap;
}

/* Shop-Verwaltung:
   Suche erhält mehr Raum, die restlichen Filter bleiben kompakt.
   Flex ist hier bewusst gewählt, weil Kategorien, Lieferanten und
   Produkte unterschiedlich viele Filter besitzen. */
.shop-admin-toolbar.shop-admin-filterbar{
  display:flex;
  align-items:end;
  gap:10px 12px;
  flex-wrap:nowrap;

  margin:0 0 14px;
  padding:12px;

  border:1px solid var(--line);
  border-radius:12px;
  background:var(--soft);
}

.shop-admin-toolbar.shop-admin-filterbar>label{
  flex:1 1 150px;
  min-width:140px;
}

.shop-admin-toolbar.shop-admin-filterbar>.shop-admin-search{
  flex:1.6 1 260px;
  min-width:240px!important;
}

.shop-admin-toolbar.shop-admin-filterbar>button{
  flex:0 0 auto;
}

/* Produkte: fünf Filter + Reset bleiben auf großen Desktops
   ebenfalls in einer Zeile. */
.shop-admin-filterbar-wide>label{
  flex:1 1 140px!important;
}

.shop-admin-filterbar-wide>.shop-admin-search{
  flex:1.8 1 280px!important;
}

/* Custom-Selects übernehmen immer die komplette Feldbreite. */
.order-product-filters .dh-select,
.order-history-filters .dh-select,
.shop-stock-filterbar .dh-select,
.shop-admin-filterbar .dh-select{
  width:100%;
}

/* Tablet */
@media(max-width:1000px){
  .order-product-filters,
  .order-history-filters,
  .shop-stock-filterbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .order-product-filters>button,
  .order-history-filters>button,
  .shop-stock-filterbar>button{
    justify-self:start;
  }

  .shop-admin-toolbar.shop-admin-filterbar{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .shop-admin-toolbar.shop-admin-filterbar>.shop-admin-search,
  .shop-admin-toolbar.shop-admin-filterbar-wide>.shop-admin-search{
    grid-column:1/-1;
    min-width:0!important;
  }

  .shop-admin-toolbar.shop-admin-filterbar>label{
    min-width:0;
  }

  .shop-admin-toolbar.shop-admin-filterbar>button{
    justify-self:start;
  }
}

/* Mobil */
@media(max-width:620px){
  .order-product-filters,
  .order-history-filters,
  .shop-stock-filterbar,
  .shop-admin-toolbar.shop-admin-filterbar{
    grid-template-columns:1fr;
  }

  .order-product-filters>button,
  .order-history-filters>button,
  .shop-stock-filterbar>button,
  .shop-admin-toolbar.shop-admin-filterbar>button{
    width:100%;
    justify-self:stretch;
  }

  .shop-admin-toolbar.shop-admin-filterbar>.shop-admin-search,
  .shop-admin-toolbar.shop-admin-filterbar-wide>.shop-admin-search{
    grid-column:auto;
  }
}


/* B3.7 specialist dialogs keep purpose-specific working widths while
   sharing the global dialog frame, header, body and footer. */
.dh-dialog-registration-preview{
 width:min(100%,1100px);
}

.dh-dialog-cost{
 width:min(100%,1080px);
}

.dh-dialog-registration-preview .dh-dialog-body,
.dh-dialog-cost .dh-dialog-body{
 overflow-x:hidden;
}

#registrationPreviewContent iframe{
 display:block;
 width:100%;
 height:65vh;
 border:1px solid var(--line);
 border-radius:10px;
 background:#fff;
}

#registrationPreviewContent img{
 display:block;
 max-width:100%;
 max-height:65vh;
 object-fit:contain;
 margin:auto;
}

.camera-dialog video,
.camera-dialog img{
 display:block;
 width:100%;
 max-height:55dvh;
 object-fit:contain;
 border-radius:12px;
 background:var(--soft);
}

.camera-dialog [hidden]{
 display:none;
}

.camera-dialog .camera-actions{
 margin:0;
}

@media(max-width:600px){
 .dh-dialog-registration-preview,
 .dh-dialog-cost{
  width:calc(100vw - 16px)!important;
  max-width:calc(100vw - 16px)!important;
 }
}

/* Führerscheinkontrolle: Originaldokument / Foto-Live-Abgleich.
   Die Prüffelder bleiben unverändert groß, nur der vertikale Rhythmus
   wird gegenüber allgemeinen Fahrerformularen kompakter. */
#driverFormFields.driver-inspection{
 gap:12px 16px;
 align-items:start;
}

#driverFormFields.driver-inspection>label{
 margin:0;
 gap:6px;
}

#driverFormFields.driver-inspection>p{
 margin:0;
 line-height:1.5;
}

#driverFormFields.driver-inspection>h3{
 margin:4px 0 0;
}

#driverFormFields.driver-inspection .license-classes>h3{
 margin:4px 0 6px;
}

#driverFormFields.driver-inspection .license-classes>p{
 margin:0 0 6px;
}

#driverFormFields.driver-inspection .license-class-row{
 padding:8px 0;
}

/* Originalkontrolle: kontextbezogene Hilfe gehört direkt zum Titel
   und belegt keine eigene Formularzeile. */
#driverDialogTitle:has(>button.info-button){
 display:flex;
 align-items:center;
 gap:8px;
 flex-wrap:wrap;
}

#driverDialogTitle>button.info-button{
 margin:0;
 flex:0 0 24px;
}

/* B4.5.3 · Dark mode active legacy gaps */

/* Shop-Verwaltung:
   Der Legacy-Tail enthält noch feste Light-Mode-Farben.
   Die höhere Spezifität hält die Kacheln im Dark Mode auf den
   gemeinsamen DataHub-Flächen und Textfarben. */
html[data-theme=dark] #settingsWorkspace .shop-settings-link:hover{
 background:var(--soft);
 border-color:var(--teal);
}

html[data-theme=dark] #settingsWorkspace .shop-settings-summary-copy strong{
 color:var(--ink);
}

html[data-theme=dark] #settingsWorkspace .shop-settings-summary-copy small{
 color:var(--muted);
}

/* Bestell-Manager:
   Die aktive Wunschliste darf die spätere Legacy-Regel
   background:#fff im Dark Mode nicht übernehmen. */
html[data-theme=dark] #orderManager .order-wishlist-button.active{
 background:var(--surface);
 color:var(--teal);
}


/* RemoteCARE R2.3 · Stores + Terminarten
   Fachliche RemoteCARE-Hooks bleiben bestehen; Darstellung folgt dem
   gemeinsamen DataHub-Form-, Status- und Aktionsstandard. */

:is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-inline-editor{
 display:grid;
 gap:16px;
 margin:16px 0 18px;
 padding:16px;
 border:1px solid var(--line);
 border-radius:12px;
 background:var(--soft);
}

:is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-inline-editor>h4{
 margin:0;
 font-size:16px;
 line-height:1.3;
 color:var(--navy);
}

:is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-inline-fields{
 margin:0;
}

:is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-check{
 display:flex;
 align-items:center;
 gap:8px;
 min-width:0;
 margin:0;
 color:var(--ink);
}

:is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-check>input[type=checkbox]{
 flex:0 0 auto;
 width:auto;
 margin:0;
}

#remoteCareTypesSettings .remote-store-picker{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
 gap:10px 16px;
 min-width:0;
 margin:0;
 padding:14px 16px 16px;
 border:1px solid var(--line);
 border-radius:12px;
 background:var(--surface);
}

#remoteCareTypesSettings .remote-store-picker>legend{
 padding:0 6px;
 color:var(--navy);
 font-size:13px;
 font-weight:700;
}

#remoteCareTypesSettings .remote-store-picker:disabled{
 opacity:.58;
}

:is(#remoteCareAdminStoresList,#remoteCareAdminTypesList,#remoteCareAdminBreaksList){
 display:grid;
 margin-top:16px;
 border-top:1px solid var(--line);
}

:is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-list-row{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 align-items:center;
 gap:12px 20px;
 min-width:0;
 padding:12px 0;
 border-bottom:1px solid var(--line);
}

:is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-row-main{
 display:flex;
 align-items:center;
 gap:12px;
 min-width:0;
}

:is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-row-copy{
 display:grid;
 gap:3px;
 min-width:0;
}

:is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-row-copy>strong{
 min-width:0;
 overflow-wrap:anywhere;
 color:var(--ink);
 font-size:14px;
 line-height:1.35;
}

:is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-row-copy>span{
 min-width:0;
 overflow-wrap:anywhere;
 color:var(--muted);
 font-size:12px;
 line-height:1.4;
}

:is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-row-actions.settings-actions{
 justify-content:flex-end;
 flex-wrap:wrap;
 margin:0;
}

:is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-order{
 display:inline-grid;
 place-items:center;
 flex:0 0 48px;
 width:48px;
 min-width:48px;
 height:48px;
 min-height:48px;
 margin:0;
 padding:0;
 font-size:18px;
 line-height:1;
}

@media(max-width:700px){
 :is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-list-row{
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
 }

 :is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-row-actions.settings-actions{
  justify-content:flex-start;
 }

 :is(#remoteCareStoresSettings,#remoteCareTypesSettings,#remoteCareBreaksSettings) .remote-row-actions.settings-actions>button:not(.remote-order){
  flex:1 1 140px;
 }

 #remoteCareTypesSettings .remote-store-picker{
  grid-template-columns:minmax(0,1fr);
 }
}

/* RemoteCARE R3.1 · Buchbare Zeiten */

#remoteCareCalendarSettings .remote-calendar{
 display:grid;
 margin-top:16px;
 border-top:1px solid var(--line);
}

#remoteCareCalendarSettings .remote-calendar-row{
 min-width:0;
 padding:12px 0;
 border-bottom:1px solid var(--line);
}

#remoteCareCalendarSettings .remote-calendar-day{
 display:flex;
 align-items:center;
 gap:10px;
 min-width:0;
 margin:0;
 color:var(--ink);
}

#remoteCareCalendarSettings .remote-calendar-day>input[type=checkbox]{
 flex:0 0 auto;
 width:auto;
 margin:0;
}

#remoteCareCalendarSettings .remote-calendar-day>strong{
 min-width:0;
 overflow-wrap:anywhere;
 font-size:14px;
 line-height:1.35;
}

#remoteCareCalendarSettings .remote-calendar-save.settings-actions{
 justify-content:flex-start;
 margin:16px 0 0;
}

@media(max-width:700px){
 #remoteCareCalendarSettings .remote-calendar-row{
  padding:14px 0;
 }

 #remoteCareCalendarSettings .remote-calendar-times{
  align-items:center;
 }
}

/* RemoteCARE R3.2 · Buchbare Zeiten inklusive Pause */

#remoteCareCalendarSettings .remote-bookable-hours{
 display:grid;
 margin-top:16px;
 border-top:1px solid var(--line);
}

#remoteCareCalendarSettings .remote-bookable-row{
 display:grid;
 grid-template-columns:220px minmax(0,1fr);
 align-items:center;
 gap:16px;
 min-width:0;
 padding:12px 0;
 border-bottom:1px solid var(--line);
}

#remoteCareCalendarSettings .remote-bookable-day{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 min-width:0;
}

#remoteCareCalendarSettings .remote-bookable-day>strong{
 min-width:0;
 color:var(--ink);
 font-size:14px;
 line-height:1.35;
}

#remoteCareCalendarSettings .remote-bookable-day .check{
 margin:0;
 flex:0 0 auto;
}

#remoteCareCalendarSettings .remote-bookable-ranges{
 display:flex;
 align-items:center;
 gap:10px;
 min-width:0;
 flex-wrap:nowrap;
}

#remoteCareCalendarSettings .remote-bookable-range{
 display:grid;
 grid-template-columns:88px 14px 88px;
 align-items:center;
 gap:5px;
 min-height:40px;
}

#remoteCareCalendarSettings .remote-bookable-range .dh-time-field,
#remoteCareCalendarSettings .remote-bookable-range input[type=time]{
 width:88px;
 min-width:88px;
 max-width:88px;
}

#remoteCareCalendarSettings .remote-bookable-range-secondary[hidden]{
 display:none!important;
}

#remoteCareCalendarSettings .remote-bookable-range-toggle{
 display:grid;
 place-items:center;
 flex:0 0 36px;
 width:36px;
 min-width:36px;
 height:36px;
 min-height:40px;
 margin:0;
 padding:0;
 border:1px solid var(--line);
 border-radius:9px;
 background:var(--surface);
 color:var(--teal);
 box-shadow:none;
 font:500 22px/1 var(--dh-font);
}

#remoteCareCalendarSettings .remote-bookable-range-toggle:hover:not(:disabled),
#remoteCareCalendarSettings .remote-bookable-range-toggle:focus-visible{
 border-color:var(--teal);
 background:var(--soft);
 outline:none;
}

#remoteCareCalendarSettings .remote-bookable-range-toggle:disabled{
 opacity:.45;
 cursor:default;
}

#remoteCareCalendarSettings .remote-bookable-row.is-closed{
 opacity:.62;
}

#remoteCareCalendarSettings .remote-bookable-warning{
 margin:10px 0;
 padding:10px 12px;
 border:1px solid var(--line);
 border-radius:10px;
 background:var(--soft);
}

#remoteCareCalendarSettings .remote-calendar-save.settings-actions{
 justify-content:flex-start;
 margin:16px 0 0;
}

@media(max-width:760px){
 #remoteCareCalendarSettings .remote-bookable-row{
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
  gap:10px;
  padding:14px 0;
 }

 #remoteCareCalendarSettings .remote-bookable-day{
  justify-content:space-between;
 }

 #remoteCareCalendarSettings .remote-bookable-ranges{
  display:grid;
  grid-template-columns:minmax(0,1fr) 36px;
  align-items:start;
 }

 #remoteCareCalendarSettings .remote-bookable-range{
  grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);
  width:100%;
 }

 #remoteCareCalendarSettings .remote-bookable-range .dh-time-field,
 #remoteCareCalendarSettings .remote-bookable-range input[type=time]{
  width:100%;
  min-width:0;
  max-width:none;
 }

 #remoteCareCalendarSettings .remote-bookable-range-secondary{
  grid-column:1/-1;
 }
}

/* ZR DATAHUB SETTINGS SUBMENU ACTIVE
   Ein konkreter Unterbereich ist der aktive Navigationspunkt.
   Der Elternpunkt Einstellungen bleibt lediglich aufgeklappt. */
.dh-settings-sub-link[aria-current=page]{
 background:#e5f0f3!important;
 color:#06354b!important;
 font-weight:700!important;
}

.dh-settings-sub-link[aria-current=page] svg{
 color:var(--teal)!important;
}

html[data-theme=dark] .dh-settings-sub-link[aria-current=page]{
 background:#1b3943!important;
 color:#fff!important;
}

html[data-theme=dark] .dh-settings-sub-link[aria-current=page] svg{
 color:var(--teal)!important;
}

/* ZR DATAHUB REMOTECARE SYSTEM STATUS */
.remote-system-panel{
 display:grid;
 gap:16px;
}

.remote-system-panel .remote-status-head{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:18px;
}

.remote-system-panel .remote-status-head p{
 margin:4px 0 0;
}

.remote-system-panel .remote-health-summary{
 display:flex;
 align-items:flex-start;
 gap:12px;
 padding:12px 14px;
 border:1px solid var(--line);
 border-radius:12px;
 background:var(--soft);
}

.remote-system-panel .remote-health-summary p{
 margin:4px 0 0;
}

.remote-system-panel .remote-health-dot{
 width:10px;
 height:10px;
 min-width:10px;
 margin-top:5px;
 border-radius:50%;
 background:var(--muted);
}

.remote-system-panel .remote-health-dot.is-ok{
 background:#2f9d72;
}

.remote-system-panel .remote-health-dot.is-warning{
 background:#d99024;
}

.remote-system-panel .remote-health-dot.is-error{
 background:#c94a4a;
}

.remote-system-section{
 display:grid;
 gap:10px;
}

.remote-system-section>h4{
 margin:0;
 font-size:14px;
 color:var(--ink);
}

.remote-system-checks{
 display:grid;
 gap:10px 12px;
}

.remote-system-status-grid{
 grid-template-columns:repeat(2,minmax(0,1fr));
}

.remote-system-info-grid{
 grid-template-columns:repeat(3,minmax(0,1fr));
}

.remote-system-check{
 display:grid;
 grid-template-columns:minmax(140px,1fr) auto;
 align-items:center;
 gap:8px 18px;
 min-height:46px;
 padding:9px 12px;
 border:1px solid var(--line);
 border-radius:10px;
 background:var(--surface);
}

.remote-system-check>span{
 min-width:0;
 color:var(--ink);
 font-weight:600;
}

.remote-system-check>small{
 grid-column:1 / -1;
 margin-top:-2px;
 color:var(--muted);
 line-height:1.45;
}

.remote-system-value{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:28px;
 padding:4px 9px;
 border-radius:999px;
 font-size:12px;
 font-weight:700;
 line-height:1.2;
 white-space:nowrap;
 background:var(--soft);
 color:var(--ink);
}

.remote-system-value.is-ok{
 background:#e7f4ee;
 color:#176c50;
}

.remote-system-value.is-warning{
 background:#fff2df;
 color:#955e0a;
}

.remote-system-value.is-error{
 background:#fbe8e8;
 color:#a33636;
}

.remote-system-value.is-neutral{
 background:#eef3f6;
 color:#355465;
}

.remote-system-history{
 margin-top:2px;
}

#remoteCareSystemHistory{
 display:grid;
 gap:8px;
}

.remote-update-history-item{
 display:grid;
 gap:3px;
 padding:9px 12px;
 border:1px solid var(--line);
 border-radius:10px;
 background:var(--surface);
}

.remote-update-history-head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
}

.remote-update-history-version{
 font-size:13px;
}

.remote-update-history-status{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:26px;
 padding:3px 8px;
 border-radius:999px;
 font-size:11px;
 font-weight:700;
 white-space:nowrap;
 background:#eef3f6;
 color:#355465;
}

.remote-update-history-status.is-ok{
 background:#e7f4ee;
 color:#176c50;
}

.remote-update-history-status.is-warning{
 background:#fff2df;
 color:#955e0a;
}

.remote-update-history-status.is-error{
 background:#fbe8e8;
 color:#a33636;
}

.remote-update-history-meta{
 margin:0;
}

html[data-theme=dark] .remote-system-value.is-ok,
html[data-theme=dark] .remote-update-history-status.is-ok{
 background:#18382f;
 color:#9fe1c7;
}

html[data-theme=dark] .remote-system-value.is-warning,
html[data-theme=dark] .remote-update-history-status.is-warning{
 background:#44341b;
 color:#f2c277;
}

html[data-theme=dark] .remote-system-value.is-error,
html[data-theme=dark] .remote-update-history-status.is-error{
 background:#462527;
 color:#efaaaa;
}

html[data-theme=dark] .remote-system-value.is-neutral,
html[data-theme=dark] .remote-update-history-status{
 background:#20333d;
 color:#c9d7de;
}

@media(max-width:900px){
 .remote-system-status-grid,
 .remote-system-info-grid{
  grid-template-columns:1fr;
 }

 .remote-system-panel .remote-status-head{
  align-items:stretch;
  flex-direction:column;
 }

 .remote-system-panel .remote-status-head button{
  align-self:flex-start;
 }

 .remote-system-check{
  grid-template-columns:minmax(0,1fr) auto;
 }
}

@media(max-width:520px){
 .remote-system-check{
  grid-template-columns:1fr;
 }

 .remote-system-value{
  justify-self:start;
 }

 .remote-update-history-head{
  align-items:flex-start;
  flex-direction:column;
 }
}

/* ZR DATAHUB SETTINGS PARENT EXPANDED NEUTRAL
   Aufgeklappt ist nur ein Strukturzustand.
   Aktiv bleibt ausschließlich aria-current=page. */
.dh-sidebar
.dh-sidebar-settings-parent[aria-expanded=true]:not([aria-current=page]){
 background:transparent!important;
 color:inherit!important;
 font-weight:inherit!important;
}

.dh-sidebar
.dh-sidebar-settings-parent[aria-expanded=true]:not([aria-current=page])>svg{
 color:inherit!important;
}

html[data-theme=dark]
.dh-sidebar
.dh-sidebar-settings-parent[aria-expanded=true]:not([aria-current=page]){
 background:transparent!important;
 color:inherit!important;
}

/* RemoteCARE Google Calendar – kompakte Verwaltung */
.remote-google-card{
  align-content:start;
}
.remote-google-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
  gap:10px 24px;
  width:100%;
}
.remote-google-summary>div{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.remote-google-summary strong{
  overflow-wrap:anywhere;
}
.remote-google-main-actions{
  margin-top:8px;
}
.remote-google-admin{
  width:100%;
  margin-top:10px;
  padding-top:2px;
  border-top:1px solid var(--line);
}
.remote-google-admin-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}
.remote-google-admin-row>div{
  min-width:0;
}
.remote-google-admin-row p{
  margin:3px 0 0;
  overflow-wrap:anywhere;
}
.remote-google-admin-row button{
  flex:0 0 auto;
}
.remote-google-editor{
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.remote-google-editor label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.remote-google-editor .settings-actions{
  margin-top:10px;
}
.remote-google-danger-row{
  border-bottom:0;
}
@media (max-width:760px){
  .remote-google-summary{
    grid-template-columns:1fr;
  }
  .remote-google-admin-row{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* RemoteCARE · Google Calendar als eigener Einstellungsbereich */
.remote-google-settings-body{
  display:grid;
  gap:0;
}

.remote-google-status-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-bottom:14px;
}

.remote-google-status-head p{
  margin:4px 0 0;
}

.remote-google-info-grid{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,.7fr) minmax(0,1.5fr);
  gap:10px;
  margin-bottom:8px;
}

.remote-google-info{
  display:grid;
  gap:4px;
  min-width:0;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
}

.remote-google-info>span{
  font-size:11px;
  color:var(--muted);
}

.remote-google-info>strong{
  min-width:0;
  overflow-wrap:anywhere;
}

.remote-google-settings-body>.remote-google-admin-row{
  padding:14px 0;
}

.remote-google-settings-body>#remoteCareGoogleMessage{
  margin:12px 0 0;
}

@media(max-width:900px){
  .remote-google-info-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .remote-google-status-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .remote-google-status-head button{
    width:100%;
  }
}

/* DataHub Standard: Einstellungs-Unterkacheln maximal 4 pro Zeile */
#settingsWorkspace .settings-subgrid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

@media(max-width:1180px){
  #settingsWorkspace .settings-subgrid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:900px){
  #settingsWorkspace .settings-subgrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  #settingsWorkspace .settings-subgrid{
    grid-template-columns:minmax(0,1fr);
  }

  .settings-subtile[open]{
    grid-column:auto;
  }
}

/* DataHub Standard: Shop-Verwaltung folgt ebenfalls dem 4er-Kachelraster */
#settingsWorkspace .shop-settings-workspace{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px 12px;
}

#settingsWorkspace .shop-settings-heading{
  grid-column:1/-1;
}

#settingsWorkspace .shop-settings-cluster,
#settingsWorkspace .shop-settings-grid{
  display:contents;
}

#settingsWorkspace .shop-settings-cluster-heading{
  grid-column:1/-1;
}

@media(max-width:1180px){
  #settingsWorkspace .shop-settings-workspace{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:900px){
  #settingsWorkspace .shop-settings-workspace{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  #settingsWorkspace .shop-settings-workspace{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Stammdaten · Unternehmen / Stores im gemeinsamen Seitenkopf */
#settingsAreaHeader .master-data-tabs{
  margin:0;
  flex:none;
}

#settingsAreaHeader .dh-page-actions{
  align-items:center;
}

@media(max-width:700px){
  #settingsAreaHeader .master-data-tabs{
    width:auto;
    max-width:100%;
  }
}

/* DataHub Standard: Breadcrumbs – programmweit verbindlich */
body.authenticated #dataHubBreadcrumb,
.order-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:7px;
  min-width:0;
  min-height:30px;
  margin:0 0 14px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--teal);
  font:600 12px/1.2 var(--dh-font);
}

body.authenticated #dataHubBreadcrumb .dh-breadcrumb-trail{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}

body.authenticated #dataHubBreadcrumb .dh-breadcrumb-link,
.order-breadcrumb button{
  min-height:30px!important;
  height:30px;
  margin:0!important;
  padding:2px 4px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--teal)!important;
  font:600 12px/1.2 var(--dh-font)!important;
}

body.authenticated #dataHubBreadcrumb .dh-breadcrumb-link:hover,
.order-breadcrumb button:hover{
  background:transparent!important;
  color:var(--teal)!important;
  box-shadow:none!important;
  text-decoration:underline;
  text-underline-offset:3px;
}

body.authenticated #dataHubBreadcrumb .dh-breadcrumb-current,
#orderProductBreadcrumb{
  color:var(--teal);
  font:600 12px/1.2 var(--dh-font);
}

body.authenticated #dataHubBreadcrumb .dh-breadcrumb-separator,
.order-breadcrumb>span[aria-hidden="true"]{
  flex:0 0 auto;
  color:var(--muted);
  font-weight:400;
}

body.authenticated #dataHubBreadcrumb .dh-breadcrumb-back{
  display:none!important;
}

/* Dashboard benötigt keinen Breadcrumb. */
body.authenticated
#dataHubBreadcrumb[data-current-view="overview"]{
  display:none!important;
}

/* Tablet und Smartphone: bestehende kompakte Zurück-Navigation,
   aber weiterhin dieselbe Breadcrumb-Typografie. */
@media(max-width:1180px){

  body.authenticated
  #dataHubBreadcrumb:not([data-current-view="overview"]){
    box-sizing:border-box;
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    width:100%!important;
    min-width:0;
    min-height:48px!important;
    margin-top:0!important;
    margin-bottom:8px!important;
    padding:0 0 0 58px!important;
    overflow:hidden!important;
    white-space:nowrap;
  }

  body.authenticated #dataHubBreadcrumb .dh-breadcrumb-back{
    display:inline-flex!important;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-width:0;
    height:36px;
    min-height:40px;
    margin:0;
    padding:0 9px;
    border:1px solid var(--line);
    border-radius:9px;
    background:var(--surface);
    color:var(--navy);
    box-shadow:none;
    font:600 12px/1 var(--dh-font);
  }

  body.authenticated #dataHubBreadcrumb .dh-breadcrumb-back-arrow{
    font-size:16px;
    line-height:1;
  }

  body.authenticated #dataHubBreadcrumb .dh-breadcrumb-trail{
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
    white-space:nowrap;
  }

  body.authenticated #dataHubBreadcrumb .dh-breadcrumb-link,
  body.authenticated #dataHubBreadcrumb .dh-breadcrumb-current{
    flex:0 1 auto;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

@media(min-width:601px) and (max-width:1180px){

  body.authenticated
  #dataHubBreadcrumb:not([data-current-view="overview"]){
    position:relative;
    z-index:5;
    min-height:48px!important;
    margin-top:-54px!important;
    margin-bottom:18px!important;
    padding-left:72px!important;
    padding-right:58px!important;
  }

  body.authenticated #dataHubBreadcrumb .dh-breadcrumb-back{
    height:38px;
    min-height:38px;
    padding:0 11px;
  }
}

@media(max-width:430px){

  body.authenticated #dataHubBreadcrumb .dh-breadcrumb-back{
    width:36px;
    min-width:36px;
    padding:0;
  }

  body.authenticated
  #dataHubBreadcrumb .dh-breadcrumb-back-label{
    display:none;
  }
}

/* Stammdaten · automatisch ermittelte Bundesländer */
#storeMaster-federal_state[readonly],
#companyMaster-federal_state[readonly]{
  background:var(--soft);
  color:var(--muted);
  cursor:default;
}

/* Stammdaten · automatisch ermittelte Bundesländer */
#storeMaster-federal_state[readonly],
#companyMaster-federal_state[readonly]{
  background:var(--soft);
  color:var(--muted);
  cursor:default;
}

/* =========================================================
   DataHub searchable combobox
   Optisch identisch zum globalen Select-Standard
   ========================================================= */

.dh-combobox{
  position:relative;
  width:100%;
  min-width:0;
}

.dh-combobox > input{
  width:100%;
}

.dh-combobox-list{
  position:absolute;
  z-index:1200;

  left:0;
  right:0;
  top:calc(100% + 6px);

  max-height:280px;
  overflow-y:auto;
  overflow-x:hidden;

  padding:6px;

  box-sizing:border-box;

  border:1px solid var(--line);
  border-radius:10px;

  background:var(--surface);
  color:var(--ink);

  box-shadow:0 10px 28px rgba(0,47,80,.14);
}

.dh-combobox-list[hidden]{
  display:none!important;
}

.dh-combobox-option{
  display:block;

  width:100%;
  min-height:40px;

  margin:0;
  padding:9px 12px;

  border:0;
  border-radius:8px;

  background:transparent;
  color:var(--ink);

  font:inherit;
  font-weight:500;
  text-align:left;

  cursor:pointer;
}

.dh-combobox-option:hover,
.dh-combobox-option:focus{
  outline:0;
  background:var(--soft);
  color:var(--ink);
}

html[data-theme=dark] .dh-combobox-list{
  background:var(--surface);
  color:var(--ink);
}

html[data-theme=dark] .dh-combobox-option{
  color:var(--ink);
}

html[data-theme=dark] .dh-combobox-option:hover,
html[data-theme=dark] .dh-combobox-option:focus{
  background:var(--soft);
}

/* =========================================================
   ZR DATAHUB GLOBAL SEARCHABLE COMBOBOX ARROW
   Identisch zum globalen .dh-select-arrow
   ========================================================= */

.dh-combobox::after{
  content:'';
  position:absolute;

  top:50%;
  right:14px;

  width:18px;
  height:18px;

  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008087' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E")
    center/18px 18px no-repeat;

  transform:translateY(-50%);
  transform-origin:center;

  pointer-events:none;

  transition:transform .16s ease;
}

.dh-combobox:has(
  > input[aria-expanded="true"]
)::after{
  transform:
    translateY(-50%)
    rotate(180deg);
}

.dh-combobox > input{
  padding-right:46px!important;
}

html[data-theme=dark] .dh-combobox::after{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2376cbc5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E");
}

/* =========================================================
   ZR DATAHUB GLOBAL TRANSIENT STATUS MESSAGE
   ========================================================= */

[role="status"].dh-status-message{
  opacity:1;
  transition:opacity .35s ease;
}

[role="status"].dh-status-message.is-fading{
  opacity:0;
}

[role="status"].dh-status-message:empty{
  display:none;
}

@media(prefers-reduced-motion:reduce){
  [role="status"].dh-status-message{
    transition:none;
  }
}


/* Stammdaten: native Inputs und DataHub-Custom-Select exakt gleiche Geometrie */
.store-master-form-grid>label>input:not([type=hidden]),
.store-master-form-grid>label>.dh-select{
 margin:0!important;
 width:100%!important;
 min-width:0!important;
 box-sizing:border-box;
}

.store-master-form-grid>label>input:not([type=hidden]),
.store-master-form-grid>label>.dh-select>.dh-select-button{
 height:48px!important;
 min-height:48px!important;
}

/* =========================================================
   ZR DataHub 8.1.28 · migrierte Stage-Designregeln
   Zuvor nach dem generierten Designblock in app.css.
   ========================================================= */
/* 8.1.27 Stage · zentrale KfZ-Fahrzeugmarken */
.fleet-brand-control{
 display:grid;
 grid-template-columns:minmax(0,1fr) 48px;
 gap:8px;
 width:100%;
 min-width:0;
}

.fleet-brand-control>select{
 width:100%;
 min-width:0;
}

.fleet-brand-add{
 width:48px;
 min-width:48px;
 max-width:48px;
 height:48px;
 min-height:48px;
 max-height:48px;
 margin:0;
 padding:0;
 display:grid;
 place-items:center;
 box-sizing:border-box;
 font-size:24px;
 line-height:1;
}

.fleet-brand-dialog-field{
 display:grid;
 gap:8px;
 margin:0;
 font-size:13px;
 font-weight:700;
}

.fleet-brand-dialog-field input{
 width:100%;
 height:48px;
 box-sizing:border-box;
}

.fleet-brand-dialog-spacer{
 flex:1;
}

#fleetBrandDialogError{
 color:#b83d3d;
 margin-bottom:0;
}

.fleet-settings-icon{
 display:block;
 width:28px;
 height:28px;
 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.fleet-brand-settings-head{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:18px;
}

.fleet-brand-settings-head p{
 margin-top:0;
}

.fleet-brand-settings-head button{
 flex:none;
 min-height:48px;
 margin:0;
}

.fleet-brand-list{
 display:grid;
 margin-top:16px;
 border-top:1px solid var(--line);
}

.fleet-brand-row{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 min-height:66px;
 padding:10px 0;
 border-bottom:1px solid var(--line);
}

.fleet-brand-row-copy{
 display:grid;
 gap:3px;
 min-width:0;
}

.fleet-brand-row button{
 flex:none;
 min-height:40px;
 margin:0;
}

.kfz-driver-settings-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:20px;
 margin-top:18px;
}

.kfz-settings-section{
 min-width:0;
 padding:18px;
 border:1px solid var(--line);
 border-radius:12px;
 background:var(--surface);
}

.kfz-settings-section h4{
 margin:0 0 14px;
 color:var(--navy);
}

@media(max-width:700px){
 .fleet-brand-settings-head{
  flex-direction:column;
 }

 .fleet-brand-settings-head button{
  width:100%;
 }

 .fleet-brand-row{
  align-items:flex-start;
 }

 .kfz-driver-settings-grid{
  grid-template-columns:1fr;
 }

 .fleet-brand-dialog-spacer{
  display:none;
 }
}

/* ==========================================================
   8.1.27 Stage · Settings icon system
   Referenz: Bestell-Manager
   ========================================================== */

#settingsWorkspace .settings-subtile-icon,
#settingsWorkspace .shop-settings-link .shop-settings-icon{
 width:44px !important;
 height:44px !important;
 min-width:44px !important;
 min-height:44px !important;
 padding:7px !important;
 border-radius:11px !important;
 box-sizing:border-box !important;
 display:grid !important;
 place-items:center !important;
 overflow:hidden !important;
 background:color-mix(
  in srgb,
  var(--teal) 7%,
  var(--surface)
 ) !important;
}

/* Externe Settings-SVGs */
#settingsWorkspace .settings-subtile-icon > img,
#settingsWorkspace .shop-settings-link .shop-settings-icon > img{
 display:block !important;
 width:30px !important;
 height:30px !important;
 max-width:30px !important;
 max-height:30px !important;
 margin:auto !important;
 object-fit:contain !important;
 object-position:center !important;
}

/* Inline-Modulsymbole, z.B. KfZ / Führerscheinkontrolle */
#settingsWorkspace .settings-subtile-icon > svg,
#settingsWorkspace .settings-module-icon{
 display:block !important;
 width:30px !important;
 height:30px !important;
 max-width:30px !important;
 max-height:30px !important;
 margin:auto !important;
 color:#07979A !important;
 stroke:#07979A !important;
 stroke-width:1.45 !important;
 fill:none !important;
}

/*
 * Hauptnavigation bleibt bewusst unangetastet.
 * Diese Regel gilt ausschließlich innerhalb des Settings-Workspace.
 */

/* Einheitliche Titel-/Chevron-Geometrie wie Bestell-Manager */
#settingsWorkspace .settings-subtile > summary,
#settingsWorkspace .shop-settings-link{
 grid-template-columns:44px minmax(0,1fr) 20px !important;
 gap:12px !important;
 min-height:72px !important;
 padding:12px 14px !important;
 align-items:center !important;
}

#settingsWorkspace .settings-subtile > summary > strong,
#settingsWorkspace .shop-settings-summary-copy strong{
 font-size:15px !important;
 line-height:1.25 !important;
}

.settings-subtile-chevron{
 width:20px !important;
 height:28px !important;
 display:grid !important;
 place-items:center !important;
 margin:0 !important;
 font-size:27px !important;
 line-height:1 !important;
}

/* Mobile */
@media(max-width:700px){
 #settingsWorkspace .settings-subtile-icon,
 #settingsWorkspace .shop-settings-link .shop-settings-icon{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  padding:7px !important;
 }

 #settingsWorkspace .settings-subtile-icon > img,
 #settingsWorkspace .shop-settings-link .shop-settings-icon > img,
 #settingsWorkspace .settings-subtile-icon > svg,
 #settingsWorkspace .settings-module-icon{
  width:28px !important;
  height:28px !important;
  max-width:28px !important;
  max-height:28px !important;
 }

 #settingsWorkspace .settings-subtile > summary,
 #settingsWorkspace .shop-settings-link{
  grid-template-columns:42px minmax(0,1fr) 20px !important;
  gap:11px !important;
  min-height:68px !important;
  padding:10px 13px !important;
 }
}

/* =========================================================
   ZR DataHub 8.1.28 · mobile Belegerfassung
   Gemeinsame Designquelle; kein separates Stylesheet.
   ========================================================= */
/* ZR DataHub · mobile Belegerfassung */

.receipt-mobile-capture{
 display:none;
 align-items:center;
 gap:8px;
}

.receipt-mobile-camera-icon{
 display:inline-flex;
 width:20px;
 height:20px;
 flex:0 0 20px;
}

.receipt-mobile-camera-icon svg{
 display:block;
 width:20px;
 height:20px;
 fill:none;
 stroke:currentColor;
 stroke-width:1.7;
 stroke-linecap:round;
 stroke-linejoin:round;
}

.receipt-mobile-scan-dialog,
.receipt-mobile-camera-dialog{
 width:min(720px,calc(100vw - 24px));
 max-height:calc(100dvh - 24px);
 padding:0;
 border:1px solid var(--line);
 border-radius:18px;
 background:var(--surface);
 color:var(--ink);
 overflow:auto;
}

.receipt-mobile-scan-dialog::backdrop,
.receipt-mobile-camera-dialog::backdrop{
 background:var(--dh-backdrop);
}

.receipt-mobile-scan-body{
 display:grid;
 gap:16px;
}

.receipt-mobile-source-actions{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:10px;
}

.receipt-mobile-source-actions button{
 min-height:50px;
 margin:0;
 display:flex;
 align-items:center;
 justify-content:center;
 gap:8px;
}

.receipt-mobile-info{
 margin:0;
 padding:11px 13px;
 border:1px solid var(--line);
 border-radius:11px;
 background:var(--soft);
}

.receipt-mobile-pages{
 display:grid;
 gap:10px;
}

.receipt-mobile-empty{
 min-height:90px;
 display:grid;
 place-items:center;
 padding:18px;
 border:1px dashed var(--line);
 border-radius:12px;
 color:var(--muted);
 text-align:center;
}

.receipt-mobile-page{
 display:grid;
 grid-template-columns:92px minmax(0,1fr) auto;
 gap:12px;
 align-items:center;
 padding:10px;
 border:1px solid var(--line);
 border-radius:12px;
 background:var(--surface);
}

.receipt-mobile-page-visual{
 position:relative;
 width:92px;
 height:116px;
 overflow:hidden;
 border-radius:9px;
 background:var(--soft);
}

.receipt-mobile-page-visual img{
 display:block;
 width:100%;
 height:100%;
 object-fit:contain;
}

.receipt-mobile-document-outline{
 position:absolute;
 inset:0;
 width:100%;
 height:100%;
 pointer-events:none;
}

.receipt-mobile-document-outline polygon{
 fill:color-mix(in srgb,var(--teal) 8%,transparent);
 stroke:var(--teal);
 stroke-width:5;
 vector-effect:non-scaling-stroke;
}

.receipt-mobile-page-copy{
 min-width:0;
 display:grid;
 gap:4px;
}

.receipt-mobile-page-copy span{
 color:var(--muted);
 line-height:1.35;
}

.receipt-mobile-page-actions{
 display:flex;
 gap:5px;
 align-items:center;
}

.receipt-mobile-page-actions button{
 min-width:38px;
 min-height:38px;
 height:38px;
 margin:0;
 padding:6px 9px;
}

.receipt-mobile-status{
 min-height:18px;
 margin:0;
 color:var(--muted);
}

.receipt-mobile-camera-body{
 display:grid;
 gap:12px;
}

.receipt-mobile-camera-view{
 position:relative;
 overflow:hidden;
 width:100%;
 max-height:68dvh;
 min-height:280px;
 border-radius:14px;
 background:#07141a;
}

.receipt-mobile-camera-view::after{
 content:'';
 position:absolute;
 inset:8% 7%;
 border:2px solid rgba(255,255,255,.72);
 border-radius:8px;
 pointer-events:none;
 box-shadow:0 0 0 999px rgba(0,0,0,.10);
}

.receipt-mobile-camera-view video{
 display:block;
 width:100%;
 height:min(68dvh,680px);
 object-fit:cover;
}

@media (pointer:coarse) and (max-width:1400px){
 .receipt-mobile-capture:not([hidden]){
  display:inline-flex;
 }
}

@media(max-width:600px){
 .receipt-mobile-scan-dialog,
 .receipt-mobile-camera-dialog{
  width:calc(100vw - 12px);
  max-height:calc(100dvh - 12px);
  border-radius:15px;
 }

 .receipt-mobile-source-actions{
  grid-template-columns:1fr;
 }

 .receipt-mobile-page{
  grid-template-columns:78px minmax(0,1fr);
 }

 .receipt-mobile-page-visual{
  width:78px;
  height:100px;
 }

 .receipt-mobile-page-actions{
  grid-column:1/-1;
  justify-content:flex-end;
 }

 .receipt-mobile-camera-view{
  min-height:250px;
 }
}

/* Mobile Belegerfassung: Quell-Schaltflächen exakt gleich hoch */
.receipt-mobile-source-actions button{
 height:52px;
 min-height:52px;
 max-height:52px;
 padding:0 16px;
 box-sizing:border-box;
 line-height:1.2;
}

.receipt-mobile-source-actions .receipt-mobile-camera-icon{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:20px;
 height:20px;
 flex:0 0 20px;
}

.receipt-mobile-source-actions .receipt-mobile-camera-icon svg{
 width:20px;
 height:20px;
}

/* Mobile Belegerfassung:
   beide Quellaktionen geometrisch identisch.
   Fokus darf die Außenmaße nicht vergrößern. */
.receipt-mobile-source-actions{
 align-items:stretch;
}

.receipt-mobile-source-actions>button{
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 gap:8px!important;

 width:100%!important;
 height:52px!important;
 min-height:52px!important;
 max-height:52px!important;

 margin:0!important;
 padding:0 16px!important;

 box-sizing:border-box!important;
 border-width:1px!important;

 line-height:1!important;
 transform:none!important;
}

/* Globalen äußeren Focus-Halo hier vermeiden.
   Fokus bleibt sichtbar, liegt aber innerhalb des Buttons. */
.receipt-mobile-source-actions>button:focus,
.receipt-mobile-source-actions>button:focus-visible{
 outline:none!important;
 box-shadow:inset 0 0 0 3px var(--teal)!important;
}

/* Primary-Button darf durch globale Hover-/Focus-Regeln
   seine Geometrie ebenfalls nicht ändern. */
.receipt-mobile-source-actions>button.primary,
.receipt-mobile-source-actions>button.primary:hover,
.receipt-mobile-source-actions>button.primary:focus,
.receipt-mobile-source-actions>button.primary:focus-visible{
 height:52px!important;
 min-height:52px!important;
 max-height:52px!important;
 margin:0!important;
 transform:none!important;
}

/* Icon bleibt innerhalb der 52-px-Schaltfläche. */
.receipt-mobile-source-actions .receipt-mobile-camera-icon{
 width:20px!important;
 height:20px!important;
 min-width:20px!important;
 flex:0 0 20px!important;
 margin:0!important;
}

/* Mobile Belegerfassung:
   Footer-Aktionen exakt gleich hoch */
.receipt-mobile-scan-dialog .dh-dialog-footer{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:12px;
 align-items:stretch;
}

.receipt-mobile-scan-dialog .dh-dialog-footer>button{
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;

 width:100%!important;
 height:58px!important;
 min-height:58px!important;
 max-height:58px!important;

 margin:0!important;
 padding:0 16px!important;

 box-sizing:border-box!important;
 line-height:1.2!important;
 text-align:center!important;
}

.receipt-mobile-scan-dialog #receiptMobileSubmit{
 white-space:normal!important;
}

/* ---------------------------------------------------------
   Mobile Belegerfassung · Dokumentecken
   --------------------------------------------------------- */

.receipt-mobile-page{
 grid-template-columns:minmax(0,1fr);
 align-items:stretch;
}

.receipt-mobile-page-visual.receipt-mobile-corner-editor{
 position:relative;
 width:100%;
 height:auto;
 max-height:none;
 min-height:0;
 overflow:hidden;
 border-radius:12px;
 border:1px solid var(--line);
 background:#20282d;
 touch-action:none;
}

.receipt-mobile-corner-editor>img{
 display:block;
 width:100%;
 height:auto;
 object-fit:contain;
}

.receipt-mobile-corner-editor .receipt-mobile-document-outline{
 position:absolute;
 inset:0;
 display:block;
 width:100%;
 height:100%;
 overflow:visible;
 touch-action:none;
}

.receipt-mobile-corner-polygon{
 fill:color-mix(
  in srgb,
  var(--teal) 10%,
  transparent
 );
 stroke:var(--teal);
 stroke-width:5;
 vector-effect:non-scaling-stroke;
 stroke-linejoin:round;
 pointer-events:none;
}

.receipt-mobile-corner-handle{
 fill:var(--teal);
 stroke:#fff;
 stroke-width:5;
 vector-effect:non-scaling-stroke;
 cursor:grab;
 pointer-events:all;
 touch-action:none;
 filter:drop-shadow(
  0 2px 4px rgba(0,0,0,.28)
 );
}

.receipt-mobile-corner-handle:active{
 cursor:grabbing;
}

.receipt-mobile-corner-editor.is-adjusting
 .receipt-mobile-corner-polygon{
 stroke-width:7;
}

.receipt-mobile-corner-editor.is-adjusting
 .receipt-mobile-corner-handle{
 stroke-width:7;
}

.receipt-mobile-page-copy{
 display:grid;
 gap:8px;
}

.receipt-mobile-page-state{
 color:var(--muted);
 line-height:1.4;
}

.receipt-mobile-redetect{
 width:max-content;
 max-width:100%;
 min-height:42px;
 margin:2px 0 0;
 padding:8px 13px;
}

.receipt-mobile-page-actions{
 grid-column:auto;
 justify-content:flex-end;
}

@media(max-width:600px){
 .receipt-mobile-page{
  grid-template-columns:minmax(0,1fr);
 }

 .receipt-mobile-page-visual.receipt-mobile-corner-editor{
  width:100%;
  height:auto;
 }

 .receipt-mobile-corner-handle{
  stroke-width:6;
 }
}

/* ---------------------------------------------------------
   Mobile Belegerfassung · kompakte Scan-Vorschau
   --------------------------------------------------------- */

@media (pointer:coarse) and (max-width:1400px){

 .receipt-mobile-page{
  gap:8px!important;
  padding:8px!important;
 }

 .receipt-mobile-page-visual.receipt-mobile-corner-editor{
  width:100%!important;
  margin:0!important;
  border-radius:10px!important;
 }

 /*
  * Informationen unter dem Scan möglichst kompakt:
  * Seitennummer + Status links, Neu erkennen rechts.
  */
 .receipt-mobile-page-copy{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:7px!important;
  row-gap:2px!important;
  padding:0 2px!important;
  margin:0!important;
 }

 .receipt-mobile-page-copy>strong{
  font-size:13px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
 }

 .receipt-mobile-page-state{
  min-width:0!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.25!important;
  white-space:normal!important;
 }

 .receipt-mobile-redetect{
  width:auto!important;
  min-width:0!important;
  min-height:34px!important;
  height:34px!important;
  margin:0!important;
  padding:0 10px!important;
  font-size:12px!important;
  white-space:nowrap!important;
 }

 .receipt-mobile-page-actions{
  margin-top:0!important;
  padding-top:0!important;
  gap:6px!important;
 }

 .receipt-mobile-page-actions>button{
  min-height:40px!important;
  height:36px!important;
 }

}

@media (pointer:coarse) and (max-width:600px){

 /*
  * Auf dem iPhone möglichst wenig Platz seitlich verschenken.
  */
 .receipt-mobile-page{
  padding:6px!important;
 }

 .receipt-mobile-page-copy{
  grid-template-columns:auto minmax(0,1fr) auto!important;
  column-gap:6px!important;
 }

 .receipt-mobile-page-state{
  font-size:11px!important;
 }

 .receipt-mobile-redetect{
  padding:0 8px!important;
 }

}

/* ---------------------------------------------------------
   Mobile Belegerfassung · kompakte Scan-Vorschau
   --------------------------------------------------------- */

@media (pointer:coarse) and (max-width:1400px){

 .receipt-mobile-page{
  gap:8px!important;
  padding:8px!important;
 }

 .receipt-mobile-page-visual.receipt-mobile-corner-editor{
  width:100%!important;
  margin:0!important;
  border-radius:10px!important;
 }

 /*
  * Informationen unter dem Scan möglichst kompakt:
  * Seitennummer + Status links, Neu erkennen rechts.
  */
 .receipt-mobile-page-copy{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:7px!important;
  row-gap:2px!important;
  padding:0 2px!important;
  margin:0!important;
 }

 .receipt-mobile-page-copy>strong{
  font-size:13px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
 }

 .receipt-mobile-page-state{
  min-width:0!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.25!important;
  white-space:normal!important;
 }

 .receipt-mobile-redetect{
  width:auto!important;
  min-width:0!important;
  min-height:34px!important;
  height:34px!important;
  margin:0!important;
  padding:0 10px!important;
  font-size:12px!important;
  white-space:nowrap!important;
 }

 .receipt-mobile-page-actions{
  margin-top:0!important;
  padding-top:0!important;
  gap:6px!important;
 }

 .receipt-mobile-page-actions>button{
  min-height:40px!important;
  height:36px!important;
 }

}

@media (pointer:coarse) and (max-width:600px){

 /*
  * Auf dem iPhone möglichst wenig Platz seitlich verschenken.
  */
 .receipt-mobile-page{
  padding:6px!important;
 }

 .receipt-mobile-page-copy{
  grid-template-columns:auto minmax(0,1fr) auto!important;
  column-gap:6px!important;
 }

 .receipt-mobile-page-state{
  font-size:11px!important;
 }

 .receipt-mobile-redetect{
  padding:0 8px!important;
 }

}

/* 8.1.29 Stage · Benutzerverwaltung kompakter und konsistent */

/* Gruppen + Stores nebeneinander */
#admin .user-assignment-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:16px;
 align-items:start;
 margin:0 0 22px;
 padding:0 0 22px;
 border-bottom:1px solid var(--line);
}

#admin .user-assignment-grid .user-groups-section{
 min-width:0;
 margin:0;
 padding:0;
 border:0;
}

#admin .user-assignment-grid .admin-section-heading{
 margin:0 0 9px;
}

#admin .user-assignment-grid .admin-section-heading h3{
 margin:0 0 3px;
}

#admin .user-assignment-grid .admin-section-heading p{
 margin:0;
 line-height:1.4;
}

/* Multi-Select im ZR-DataHub-Stil */
#admin .multi-select-dropdown{
 position:relative;
 margin:10px 0 9px;
 overflow:visible;
 border:0;
 border-radius:0;
 background:transparent;
}

#admin .multi-select-dropdown>summary{
 position:relative;
 z-index:2;
 display:grid;
 grid-template-columns:minmax(0,1fr) auto 18px;
 align-items:center;
 gap:12px;

 min-height:48px;
 padding:0 14px;

 border:1px solid var(--line);
 border-radius:var(--dh-control-radius);
 background:var(--surface);

 color:var(--ink);
 font-weight:700;
 cursor:pointer;
 list-style:none;

 transition:
  border-color .15s ease,
  box-shadow .15s ease,
  background .15s ease;
}

#admin .multi-select-dropdown>summary::-webkit-details-marker{
 display:none;
}

#admin .multi-select-dropdown>summary:hover{
 border-color:var(--teal);
}

#admin .multi-select-dropdown[open]>summary{
 border-color:var(--teal);
 box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 14%,transparent);
}

/* korrekter ZR-Chevron statt Unicode-Pfeil */
#admin .multi-select-dropdown>summary::after{
 content:"";
 display:block;
 justify-self:end;

 width:8px;
 height:8px;

 border-right:2px solid var(--teal);
 border-bottom:2px solid var(--teal);

 transform:rotate(45deg) translate(-1px,-1px);
 transform-origin:center;

 transition:transform .15s ease;
}

#admin .multi-select-dropdown[open]>summary::after{
 transform:rotate(-135deg) translate(-1px,-1px);
}

#admin .multi-select-dropdown>summary .small{
 min-width:0;
 overflow:hidden;
 color:var(--muted);
 font-weight:500;
 text-overflow:ellipsis;
 white-space:nowrap;
}

/* Dropdown-Liste wie DataHub-Auswahlliste, ohne Layout nach unten zu drücken */
#admin .multi-select-dropdown .user-group-choices{
 position:absolute;
 top:calc(100% + 6px);
 left:0;
 right:0;
 z-index:30;

 display:grid;
 grid-template-columns:minmax(0,1fr);
 gap:4px;

 max-height:310px;
 margin:0;
 padding:7px;

 overflow:auto;

 border:1px solid var(--line);
 border-radius:var(--dh-control-radius);
 background:var(--surface);
 box-shadow:0 12px 30px rgba(0,47,80,.14);
}

#admin .multi-select-dropdown .user-group-choice{
 min-height:40px;
 margin:0;
 padding:8px 10px;

 border:0;
 border-radius:8px;
 background:transparent;
}

#admin .multi-select-dropdown .user-group-choice:hover{
 background:var(--soft);
}

#admin .multi-select-dropdown .user-group-choice:has(input:checked){
 background:color-mix(in srgb,var(--teal) 9%,var(--surface));
}

#admin .multi-select-dropdown .user-group-choice input{
 width:17px;
 height:17px;
 min-height:17px;
 accent-color:var(--teal);
}

#admin .multi-select-dropdown .user-group-choice-copy{
 display:flex;
 flex-direction:row;
 align-items:center;
 gap:6px;
 min-width:0;
}

#admin .multi-select-dropdown .user-group-choice-copy strong,
#admin .multi-select-dropdown .user-group-choice-copy span{
 min-width:0;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}

/* Zuordnungsbuttons kompakter */
#admin .user-assignment-grid .settings-actions{
 display:flex;
 justify-content:flex-start;
 margin:0;
 padding:0;
}

#admin .user-assignment-grid .settings-actions button{
 min-height:40px;
 margin:0;
 padding:8px 13px;
 font-size:12px;
}

/* Berechtigungsbereich kompakter */
#admin .user-permissions-heading{
 margin:0 0 12px;
}

#admin .user-permissions-heading h3{
 margin:0 0 4px;
}

#admin .user-permissions-heading .rights-intro{
 margin:0;
}

#admin #permissions.rights-grid{
 gap:10px 12px;
 margin-top:12px;
}

/* flachere Kacheln */
#admin #permissions .rights-area{
 min-height:0;
}

#admin #permissions .rights-area-head{
 display:grid;
 grid-template-columns:minmax(0,1fr) 18px;
 align-items:center;
 gap:12px;

 min-height:76px;
 padding:11px 14px;
}

#admin #permissions .rights-area-title{
 display:flex;
 align-items:center;
 gap:12px;
 min-width:0;
}

#admin #permissions .rights-area-icon{
 flex:0 0 38px;
 width:38px;
 height:38px;
}

#admin #permissions .rights-area-icon svg{
 width:26px;
 height:26px;
}

#admin #permissions .rights-area-copy{
 min-width:0;
}

#admin #permissions .rights-area-copy strong{
 line-height:1.25;
}

#admin #permissions .rights-area-subtitle{
 margin-top:2px;
 line-height:1.25;
}

/* korrekter Pfeil rechts */
#admin #permissions .rights-area-arrow{
 display:grid;
 place-items:center;
 width:18px;
 height:18px;

 overflow:hidden;
 color:transparent;
 font-size:0;
}

#admin #permissions .rights-area-arrow::before{
 content:"";

 width:8px;
 height:8px;

 border-right:2px solid var(--teal);
 border-bottom:2px solid var(--teal);

 transform:rotate(-45deg);
 transition:transform .15s ease;
}

#admin #permissions .rights-area[open] .rights-area-arrow::before{
 transform:rotate(45deg);
}

/* Mobile wieder untereinander */
@media(max-width:760px){
 #admin .user-assignment-grid{
  grid-template-columns:minmax(0,1fr);
  gap:18px;
 }

 #admin .multi-select-dropdown>summary{
  grid-template-columns:minmax(0,1fr) 18px;
 }

 #admin .multi-select-dropdown>summary .small{
  grid-column:1/-1;
  grid-row:2;
  white-space:normal;
 }

 #admin .multi-select-dropdown>summary::after{
  grid-column:2;
  grid-row:1;
 }

 #admin #permissions .rights-area-head{
  min-height:68px;
  padding:9px 12px;
 }
}


/* Benutzerverwaltung: Auswahloptionen typografisch wie reguläre DataHub-Selects */
#admin .multi-select-dropdown .user-group-choice-copy strong{
 font-weight:400;
}

#admin .multi-select-dropdown .user-group-choice-copy .small:empty{
 display:none;
}


/* Benutzerverwaltung: Berechtigungskacheln exakt kompakt wie Einstellungen/Rechnungseingang */
#admin #permissions .rights-area-head{
 min-height:70px;
 padding:10px 14px;
 gap:12px;
}

#admin #permissions .rights-area-icon{
 width:44px;
 height:44px;
 flex:0 0 44px;
}

#admin #permissions .rights-area-icon svg{
 width:26px;
 height:26px;
}

#admin #permissions .rights-area-title{
 gap:12px;
}

#admin #permissions .rights-area-copy strong{
 font-size:15px;
 line-height:1.25;
}

#admin #permissions .rights-area-subtitle{
 font-size:12px;
 line-height:1.25;
 margin-top:2px;
}

/* Auch mobil keine wieder künstlich höhere Kachel */
@media(max-width:600px){
 #admin #permissions .rights-area-head{
  min-height:70px;
  padding:10px 14px;
 }

 #admin #permissions .rights-area-icon{
  width:44px;
  height:44px;
 }

 #admin #permissions .rights-area-icon svg{
  width:26px;
  height:26px;
 }
}


/* Benutzerverwaltung: Berechtigungskacheln exakt wie kompakte Einstellungs-Kacheln */
#admin #permissions .rights-area{
 padding:0;
 margin:0;
 border-radius:12px;
 overflow:hidden;
}

#admin #permissions .rights-area-head{
 box-sizing:border-box;
 height:70px;
 min-height:70px;
 padding:10px 14px;
 gap:12px;
}

#admin #permissions .rights-area-icon{
 width:44px;
 height:44px;
 flex:0 0 44px;
}

#admin #permissions .rights-area-icon svg{
 width:26px;
 height:26px;
}

#admin #permissions .rights-area-copy strong{
 font-size:15px;
 line-height:1.25;
}

#admin #permissions .rights-area-subtitle{
 margin-top:2px;
 font-size:12px;
 line-height:1.25;
}

@media(max-width:600px){
 #admin #permissions .rights-area{
  padding:0;
 }

 #admin #permissions .rights-area-head{
  height:70px;
  min-height:70px;
  padding:10px 14px;
 }
}

/* ==========================================================
   ZR DataHub · Globale Suche
   ========================================================== */

.dh-sidebar-tools{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}

.dh-sidebar-tools .dh-sidebar-search{
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.dh-sidebar-tools .dh-sidebar-search[hidden]{
  display:none!important;
}

.dh-sidebar-tools .dh-sidebar-search input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:7px 11px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:var(--surface)!important;
  font-size:13px!important;
  line-height:1.2!important;
}

body.dh-sidebar-search-open
 .dh-sidebar-tools
 #sidebarSearchButton,
body.dh-sidebar-search-open
 .dh-sidebar-tools
 #sidebarCollapseButton{
  flex:0 0 38px!important;
}

body.dh-sidebar-search-open
 .dh-sidebar-tools
 .dh-sidebar-search{
  display:block!important;
}

.dh-global-search-results{
  position:relative;
  z-index:40;
  max-height:min(52vh,520px);
  margin:4px 10px 10px;
  padding:5px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  box-shadow:0 12px 30px rgba(4,31,45,.14);
}

.dh-global-search-results[hidden]{
  display:none!important;
}

.dh-global-search-result{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;

  width:100%!important;
  min-height:48px!important;

  margin:0!important;
  padding:8px 9px!important;

  border:0!important;
  border-radius:9px!important;

  background:transparent!important;
  text-align:left!important;
}

.dh-global-search-result:hover,
.dh-global-search-result:focus-visible{
  background:var(--soft)!important;
}

.dh-global-search-result-type{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-width:55px;
  padding:4px 7px;

  border-radius:999px;
  background:var(--soft);

  color:var(--muted);
  font-size:10px;
  font-weight:700;
  line-height:1.2;
}

.dh-global-search-result-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:2px;
}

.dh-global-search-result-title,
.dh-global-search-result-detail{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dh-global-search-result-title{
  font-size:13px;
}

.dh-global-search-result-detail{
  color:var(--muted);
  font-size:11px;
}

.dh-global-search-empty{
  padding:12px;
  color:var(--muted);
  font-size:12px;
}

html[data-theme=dark]
 .dh-global-search-results{
  border-color:#304753;
  box-shadow:0 14px 34px #0006;
}

@media(max-width:900px){
  .dh-global-search-results{
    max-height:45vh;
  }
}

/* ==========================================================
   Sidebar kompakt · Such-/Aufklappwerkzeuge
   ========================================================== */

body.dh-sidebar-collapsed .dh-sidebar-tools{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  width:100%!important;
  padding:8px 0 6px!important;
}

body.dh-sidebar-collapsed
 .dh-sidebar-tools
 .dh-sidebar-tool-button{
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:38px!important;
  margin:0!important;
  padding:0!important;
}

body.dh-sidebar-collapsed #sidebarSearchBox{
  display:none!important;
}

body.dh-sidebar-collapsed #sidebarCollapseButton{
  display:flex!important;
}

/* Belege mobil · eigenes Erfassungsrecht */
#documents.receipt-mobile-only
 > :not(#receiptMobileOnlyLanding){
 display:none!important;
}

#documents.receipt-mobile-only
 #receiptMobileOnlyLanding{
 display:grid;
 gap:18px;
 width:min(100%,640px);
 margin:0 auto;
}

.receipt-mobile-only-content{
 display:grid;
 gap:14px;
 padding:22px;
 border:1px solid var(--line);
 border-radius:var(--dh-panel-radius,14px);
 background:var(--surface);
}

.receipt-mobile-only-content>button{
 width:100%;
 min-height:56px;
 margin:0;
}

.receipt-mobile-only-content>.small{
 margin:0;
}


/* Calendar dropdown: measured field/text width remains authoritative even with
   the retained compact legacy tail. Constrained options must grow vertically.
   The calendar class adds specificity without !important or a global reset. */
#dhCalendar.dh-calendar:not(.dh-calendar-month-mode) .dh-calendar-nav>.dh-select .dh-select-list{min-width:0}
#dhCalendar.dh-calendar:not(.dh-calendar-month-mode) .dh-calendar-nav>.dh-select.is-dropdown-constrained .dh-select-option{height:auto;white-space:normal;overflow-wrap:anywhere}




/* ZR DATAHUB - KALENDER DROPDOWN KOMPAKT V1 */

#dhCalendar:not(.dh-calendar-month-mode)
.dh-calendar-nav > .dh-select {
    width:100%;
    min-width:0;
    font-family:var(--dh-font);
    font-size:13px;
}

#dhCalendar:not(.dh-calendar-month-mode)
.dh-calendar-nav > .dh-select .dh-select-button {
    height:40px;
    min-height:40px;
    padding:0 10px;
    gap:6px;
    font:500 13px/1.2 var(--dh-font);
}

#dhCalendar:not(.dh-calendar-month-mode)
.dh-calendar-nav > .dh-select .dh-select-list {
    width:100%;
    min-width:150px;
    max-height:220px;
    padding:4px;
    box-sizing:border-box;
    overflow-y:auto;
}

#dhCalendar:not(.dh-calendar-month-mode)
.dh-calendar-nav > .dh-select .dh-select-option {
    height:30px;
    min-height:30px;
    padding:5px 9px;
    margin:0;
    border-radius:6px;
    font:500 13px/20px var(--dh-font);
    white-space:nowrap;
}

#dhCalendar:not(.dh-calendar-month-mode)
.dh-calendar-nav > .dh-select .dh-select-option.is-selected {
    font-weight:700;
}

#dhCalendar:not(.dh-calendar-month-mode)
.dh-calendar-nav > .dh-select .dh-select-arrow {
    width:16px;
    height:16px;
    background-size:16px 16px;
}

#dhCalendar:not(.dh-calendar-month-mode)
.dh-calendar-nav > input[type="number"] {
    height:40px;
    min-height:40px;
    padding:0 6px;
    font:500 13px/1.2 var(--dh-font);
    text-align:center;
}



/* ZR REMOTECARE CLOSURES COMPACT V1 */

#remoteCareClosureCreate[hidden]{
 display:none!important;
}

#remoteCareClosureEditor .remote-closure-editor{
 margin:12px 0 20px;
}

#remoteCareClosureEditor .remote-closure-fields{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 column-gap:16px!important;
 row-gap:12px!important;
 align-items:end!important;
}

#remoteCareClosureEditor .remote-closure-fields>label{
 display:flex!important;
 flex-direction:column;
 justify-content:flex-end;
 gap:6px;
 min-width:0;
 margin:0!important;
 font-size:12px;
 line-height:1.4;
}

#remoteCareClosureEditor .remote-closure-fields>label:first-child{
 grid-column:1/-1;
}

#remoteCareClosureEditor .remote-closure-fields
>label:has(input[type="checkbox"]){
 display:flex!important;
 flex-direction:row!important;
 align-items:center!important;
 justify-content:flex-start!important;
 align-self:center;
 gap:9px!important;
 min-height:44px;
 font-size:13px;
 font-weight:500;
 cursor:pointer;
}

#remoteCareClosureEditor .remote-closure-fields
>label>input[type="checkbox"]{
 position:static!important;
 appearance:auto!important;
 width:17px!important;
 height:17px!important;
 min-width:17px!important;
 min-height:17px!important;
 margin:0!important;
 padding:0!important;
 flex:none;
 accent-color:var(--teal,#008087);
}

#remoteCareClosureEditor .remote-closure-fields
>label>input:not([type="checkbox"]),
#remoteCareClosureEditor .remote-closure-fields
>label>select,
#remoteCareClosureEditor .remote-closure-fields
>label>.dh-select{
 width:100%!important;
 min-height:44px;
 margin:0!important;
 box-sizing:border-box;
}

#remoteCareClosureEditor .remote-closure-fields>details{
 grid-column:1/-1;
 min-width:0;
 margin:0!important;
}

#remoteCareClosureEditor .remote-closure-fields>details>summary{
 min-height:44px;
 display:flex;
 align-items:center;
 padding:9px 12px;
 border:1px solid var(--line);
 border-radius:10px;
 background:var(--surface);
 font-size:13px;
 font-weight:500;
 cursor:pointer;
}

#remoteCareClosureEditor .remote-closure-fields>details>div{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:8px 12px;
 padding:12px;
 border:1px solid var(--line);
 border-radius:10px;
 margin-top:6px;
}

#remoteCareClosureEditor .remote-closure-fields>details label{
 display:flex;
 align-items:center;
 gap:8px;
 min-width:0;
 margin:0;
 font-size:12px;
 cursor:pointer;
}

#remoteCareClosureEditor .remote-closure-fields>details input[type="checkbox"]{
 width:16px;
 height:16px;
 min-width:16px;
 margin:0;
 accent-color:var(--teal,#008087);
}

#remoteCareClosureEditor .remote-closure-fields>button{
 width:auto;
 justify-self:start;
 margin:4px 0 0!important;
 min-height:44px;
}

#remoteCareAdminClosuresList>h4{
 margin:18px 0 8px;
 font-size:14px;
}

#remoteCareAdminClosuresList .remote-closure-row{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) auto;
 align-items:center;
 gap:10px 16px;
 padding:9px 12px!important;
 min-height:0!important;
 margin:0!important;
 border-bottom:1px solid var(--line);
}

#remoteCareAdminClosuresList .remote-closure-row .remote-row-main{
 display:flex;
 align-items:center;
 min-width:0;
 gap:10px;
}

#remoteCareAdminClosuresList .remote-closure-row .remote-row-copy{
 display:grid;
 grid-template-columns:minmax(140px,1.2fr) minmax(0,3fr);
 gap:8px 16px;
 align-items:center;
 width:100%;
 min-width:0;
}

#remoteCareAdminClosuresList .remote-closure-row strong{
 font-size:12px;
 line-height:1.4;
}

#remoteCareAdminClosuresList .remote-closure-meta{
 display:grid;
 grid-template-columns:minmax(110px,1fr) minmax(95px,.7fr)
  minmax(95px,.7fr);
 gap:8px;
 align-items:center;
 font-size:12px;
 line-height:1.4;
 color:var(--muted);
 min-width:0;
}

#remoteCareAdminClosuresList .remote-closure-meta>span{
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}

#remoteCareAdminClosuresList .remote-row-actions{
 display:flex;
 align-items:center;
 gap:6px;
}

#remoteCareAdminClosuresList .remote-row-actions button{
 min-height:34px;
 padding:6px 10px;
 font-size:11px;
}

#remoteCareAdminClosuresList .remote-protected-badge{
 font-size:11px;
 white-space:nowrap;
}

@media(max-width:800px){
 #remoteCareAdminClosuresList .remote-closure-row{
  grid-template-columns:1fr;
 }
 #remoteCareAdminClosuresList .remote-closure-row .remote-row-copy{
  grid-template-columns:1fr;
 }
}

@media(max-width:600px){
 #remoteCareClosureEditor .remote-closure-fields{
  grid-template-columns:1fr!important;
 }
 #remoteCareClosureEditor .remote-closure-fields>details>div{
  grid-template-columns:1fr 1fr;
 }
 #remoteCareAdminClosuresList .remote-closure-meta{
  grid-template-columns:1fr 1fr;
 }
}



/* ZR REMOTECARE HOLIDAY YEARS V1 */

#remoteCareAdminClosuresList .remote-holiday-heading{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 flex-wrap:wrap;
 margin:20px 0 10px;
}

#remoteCareAdminClosuresList .remote-holiday-heading h4{
 margin:0;
 font-size:14px;
}

#remoteCareAdminClosuresList .remote-holiday-tools{
 display:flex;
 align-items:center;
 gap:8px;
}

#remoteCareAdminClosuresList .remote-holiday-tools input{
 width:92px;
 height:40px;
 min-height:40px;
 margin:0;
 text-align:center;
}

#remoteCareAdminClosuresList .remote-holiday-tools button{
 min-height:40px;
 margin:0;
}

#remoteCareAdminClosuresList .remote-holiday-year{
 border:1px solid var(--line);
 border-radius:10px;
 margin:0 0 8px;
 background:var(--surface);
 overflow:visible;
}

#remoteCareAdminClosuresList .remote-holiday-year>summary{
 display:flex;
 align-items:center;
 gap:12px;
 padding:10px 14px;
 cursor:pointer;
 font-size:13px;
 list-style:none;
}

#remoteCareAdminClosuresList .remote-holiday-year>summary::-webkit-details-marker{
 display:none;
}

#remoteCareAdminClosuresList .remote-holiday-year>summary::before{
 content:"";
 width:7px;
 height:7px;
 border-right:2px solid var(--teal);
 border-bottom:2px solid var(--teal);
 transform:rotate(-45deg);
 transition:transform .15s;
 flex-shrink:0;
}

#remoteCareAdminClosuresList .remote-holiday-year[open]>summary::before{
 transform:rotate(45deg);
}

#remoteCareAdminClosuresList .remote-holiday-year>summary>span{
 color:var(--muted);
 font-size:12px;
}

#remoteCareAdminClosuresList .remote-holiday-year>summary>button{
 margin:0 0 0 auto;
 min-height:32px;
 padding:5px 10px;
 font-size:11px;
}

#remoteCareAdminClosuresList .remote-holiday-year-content{
 border-top:1px solid var(--line);
 padding:4px 8px;
}

#remoteCareAdminClosuresList .remote-holiday-year-content
.remote-closure-row:last-child{
 border-bottom:0;
}

@media(max-width:600px){
 #remoteCareAdminClosuresList .remote-holiday-heading{
  align-items:stretch;
 }
 #remoteCareAdminClosuresList .remote-holiday-tools{
  width:100%;
 }
}


/* ZR REMOTECARE COMPACT FORM V2 */

#remoteCareClosureEditor .remote-closure-fields{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:12px 16px!important;
 align-items:end!important;
}

#remoteCareClosureEditor .remote-closure-fields>label:first-child{
 grid-column:span 2!important;
}

#remoteCareClosureEditor .remote-closure-fields
>.remote-closure-store-picker{
 grid-column:3!important;
 grid-row:1!important;
 align-self:end;
 position:relative;
}

#remoteCareClosureEditor .remote-closure-store-picker>summary{
 height:44px;
 min-height:44px;
 box-sizing:border-box;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 padding:0 12px;
 border:1px solid #cfdce2;
 border-radius:10px;
 font-size:13px;
 font-weight:500;
 list-style:none;
 cursor:pointer;
}

#remoteCareClosureEditor .remote-closure-store-picker>summary::after{
 content:"";
 width:16px;
 height:16px;
 flex:none;
 background:
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008087' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E")
 center/16px 16px no-repeat;
}

#remoteCareClosureEditor .remote-closure-store-picker[open]
>summary::after{
 transform:rotate(180deg);
}

#remoteCareClosureEditor .remote-closure-store-picker
>summary::-webkit-details-marker{
 display:none;
}

#remoteCareClosureEditor .remote-closure-store-picker>div{
 position:absolute;
 z-index:100;
 top:calc(100% + 5px);
 left:0;
 right:0;
 display:grid!important;
 grid-template-columns:1fr!important;
 max-height:270px;
 overflow-y:auto;
 gap:2px!important;
 margin:0!important;
 padding:6px!important;
 border:1px solid var(--line);
 border-radius:10px;
 background:var(--surface);
 box-shadow:0 12px 30px rgb(0 47 80 / 14%);
}

#remoteCareClosureEditor .remote-closure-store-picker>div>label{
 display:flex!important;
 flex-direction:row!important;
 align-items:center!important;
 gap:9px!important;
 min-height:32px;
 padding:5px 8px;
 margin:0!important;
 border-radius:7px;
 font-size:12px;
 font-weight:500;
 line-height:1.3;
 cursor:pointer;
}

#remoteCareClosureEditor .remote-closure-store-picker
>div>label:hover{
 background:var(--soft);
}

#remoteCareClosureEditor .remote-closure-store-picker
>div>label:first-child{
 border-bottom:1px solid var(--line);
 border-radius:0;
 padding-bottom:9px;
 margin-bottom:4px!important;
 font-weight:700;
}

#remoteCareClosureEditor .remote-closure-store-picker
input[type=checkbox]{
 position:static!important;
 appearance:auto!important;
 width:16px!important;
 height:16px!important;
 min-width:16px!important;
 min-height:16px!important;
 flex:none;
 margin:0!important;
 padding:0!important;
 accent-color:var(--teal,#008087);
}

#remoteCareClosureEditor .remote-closure-fields
>label:has(input[type=checkbox]){
 grid-column:1/-1!important;
 grid-row:3!important;
 justify-content:flex-start!important;
 min-height:26px!important;
 margin:0!important;
 padding:0!important;
}

#remoteCareClosureEditor .remote-closure-fields
>button[type=submit]{
 grid-column:1!important;
 grid-row:4!important;
}

#remoteCareClosureEditor .remote-closure-fields
>button:not([type=submit]){
 grid-column:2!important;
 grid-row:4!important;
}

@media(max-width:700px){
 #remoteCareClosureEditor .remote-closure-fields{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }

 #remoteCareClosureEditor .remote-closure-fields>label:first-child{
  grid-column:1/-1!important;
 }

 #remoteCareClosureEditor .remote-closure-fields
 >.remote-closure-store-picker{
  grid-column:1/-1!important;
  grid-row:auto!important;
 }

 #remoteCareClosureEditor .remote-closure-fields
 >label:has(input[type=checkbox]){
  grid-column:1/-1!important;
  grid-row:auto!important;
 }

 #remoteCareClosureEditor .remote-closure-fields
 >button[type=submit],
 #remoteCareClosureEditor .remote-closure-fields
 >button:not([type=submit]){
  grid-column:auto!important;
  grid-row:auto!important;
 }
}

@media(max-width:480px){
 #remoteCareClosureEditor .remote-closure-fields{
  grid-template-columns:1fr!important;
 }

 #remoteCareClosureEditor .remote-closure-fields>label:first-child{
  grid-column:1!important;
 }
}



/* ZR REMOTECARE CLOSURE INTERACTION V3 */

/* Buttons linksbuendig nebeneinander */
#remoteCareClosureEditor .remote-closure-fields{
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

#remoteCareClosureEditor .remote-closure-fields
>button[type="submit"],
#remoteCareClosureEditor .remote-closure-fields
>button:not([type="submit"]){
 grid-row:4!important;
 grid-column:auto!important;
 justify-self:start!important;
 width:auto!important;
 min-width:0!important;
 margin:0!important;
}

#remoteCareClosureEditor .remote-closure-fields
>button[type="submit"]{
 grid-column:1!important;
}

#remoteCareClosureEditor .remote-closure-fields
>button:not([type="submit"]){
 grid-column:2!important;
 justify-self:start!important;
}



#remoteCareClosureEditor .remote-closure-actions{
 grid-column:1/-1!important;
 display:flex!important;
 justify-content:flex-start!important;
 align-items:center!important;
 gap:12px!important;
 margin-top:4px!important;
}

#remoteCareClosureEditor .remote-closure-actions>button{
 width:auto!important;
 min-width:0!important;
 min-height:44px;
 margin:0!important;
}

@media(max-width:600px){
 #remoteCareClosureEditor .remote-closure-actions{
  flex-wrap:wrap;
 }
}


/* ZR REMOTECARE CLOSURE EDITOR FINAL LAYOUT */
#remoteCareClosureEditor .remote-closure-fields{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:12px 16px!important;
 align-items:end!important;
}
#remoteCareClosureEditor .remote-closure-fields>label:first-child{
 grid-column:1 / span 2!important;
 grid-row:1!important;
}
#remoteCareClosureEditor .remote-closure-fields>.remote-closure-store-picker{
 grid-column:3!important;
 grid-row:1!important;
 align-self:end;
 position:relative;
}
#remoteCareClosureEditor .remote-closure-fields>label:nth-child(3){grid-column:1!important;grid-row:2!important}
#remoteCareClosureEditor .remote-closure-fields>label:nth-child(4){grid-column:2!important;grid-row:2!important}
#remoteCareClosureEditor .remote-closure-fields>label:nth-child(5){grid-column:3!important;grid-row:2!important}
#remoteCareClosureEditor .remote-closure-fields>label:nth-child(6){
 grid-column:1/-1!important;
 grid-row:3!important;
 display:inline-flex!important;
 flex-direction:row!important;
 align-items:center!important;
 justify-content:flex-start!important;
 justify-self:start!important;
 gap:9px!important;
 min-height:28px!important;
 margin:0!important;
 padding:0!important;
 font-size:13px;
 cursor:pointer;
}
#remoteCareClosureEditor .remote-closure-fields>label:nth-child(6)>input[type=checkbox]{
 position:static!important;
 appearance:auto!important;
 width:17px!important;height:17px!important;
 min-width:17px!important;min-height:17px!important;
 padding:0!important;margin:0!important;
 flex:0 0 17px;
 accent-color:var(--teal,#008087);
}
#remoteCareClosureEditor .remote-closure-actions{
 grid-column:1/-1!important;
 grid-row:4!important;
 display:flex!important;
 flex-wrap:wrap;
 align-items:center!important;
 justify-content:flex-start!important;
 gap:12px!important;
 margin:0!important;
}
#remoteCareClosureEditor .remote-closure-actions>button{
 grid-column:auto!important;grid-row:auto!important;
 justify-self:auto!important;
 width:auto!important;min-width:0!important;
 height:44px;min-height:44px;
 margin:0!important;
}
#remoteCareClosureEditor .remote-closure-store-picker>summary{
 height:44px;min-height:44px;
}
#remoteCareClosureEditor .remote-closure-store-picker>div{
 max-height:260px;
}
@media(max-width:750px){
 #remoteCareClosureEditor .remote-closure-fields{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
 #remoteCareClosureEditor .remote-closure-fields>label:first-child{
  grid-column:1/-1!important;grid-row:1!important;
 }
 #remoteCareClosureEditor .remote-closure-fields>.remote-closure-store-picker{
  grid-column:1/-1!important;grid-row:2!important;
 }
 #remoteCareClosureEditor .remote-closure-fields>label:nth-child(3){grid-column:1!important;grid-row:3!important}
 #remoteCareClosureEditor .remote-closure-fields>label:nth-child(4){grid-column:2!important;grid-row:3!important}
 #remoteCareClosureEditor .remote-closure-fields>label:nth-child(5){grid-column:1/-1!important;grid-row:4!important}
 #remoteCareClosureEditor .remote-closure-fields>label:nth-child(6){grid-column:1/-1!important;grid-row:5!important}
 #remoteCareClosureEditor .remote-closure-actions{grid-row:6!important}
}
@media(max-width:480px){
 #remoteCareClosureEditor .remote-closure-fields{grid-template-columns:1fr!important}
 #remoteCareClosureEditor .remote-closure-fields>label:nth-child(3){grid-column:1!important;grid-row:3!important}
 #remoteCareClosureEditor .remote-closure-fields>label:nth-child(4){grid-column:1!important;grid-row:4!important}
 #remoteCareClosureEditor .remote-closure-fields>label:nth-child(5){grid-column:1!important;grid-row:5!important}
 #remoteCareClosureEditor .remote-closure-fields>label:nth-child(6){grid-column:1!important;grid-row:6!important}
 #remoteCareClosureEditor .remote-closure-actions{grid-column:1!important;grid-row:7!important}
}
/* Shared dropdown clamp. JavaScript supplies numeric DOM measurements only,
   never CSS declarations or inline positions. Keep the original absolute box
   so clipping, dialog widths, host borders and list scrolling remain unchanged.
   The measured width is intentional: dialog rules may constrain the visible
   width, while the approved positioning behaviour uses the measured width. */
.dh-select.is-open .dh-select-list{
 left:calc(
  clamp(
   12px,
   attr(data-dh-dropdown-field-left px,0px),
   calc(100vw - attr(data-dh-dropdown-measured-width px,0px) - 12px)
  )
  - attr(data-dh-dropdown-field-left px,0px)
  - attr(data-dh-dropdown-host-border px,0px)
 );
 right:auto;
}

/* RemoteCARE Stores: compact cards; all other settings retain their layout. */
#remoteCareStoresSettings .rc-store-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-top:12px}
#remoteCareStoresSettings #remoteCareStoresSummary{margin:0;color:var(--muted);font-size:12px}
#remoteCareStoresSettings .rc-store-filters{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
#remoteCareStoresSettings .rc-store-filters label{margin:0;min-width:0}
#remoteCareStoresSettings .rc-store-filters input,#remoteCareStoresSettings .rc-store-filters select{margin:0;min-height:40px;height:36px;min-width:0;max-width:100%;font-size:13px;padding:6px 10px}
#remoteCareStoresSettings .rc-store-filters input{width:200px}
#remoteCareStoresSettings #remoteCareAdminStoresList{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:12px;border:0}
#remoteCareStoresSettings .rc-store-card{display:grid;grid-template-columns:minmax(0,1fr) 54px;align-items:center;gap:8px;min-width:0;min-height:84px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:none}
#remoteCareStoresSettings .rc-store-card.is-inactive{background:var(--soft)}
#remoteCareStoresSettings .rc-store-copy{display:grid;gap:3px;min-width:0}
#remoteCareStoresSettings .rc-store-copy strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:13px;line-height:1.35;color:#002f50}
html[data-theme=dark] #remoteCareStoresSettings .rc-store-copy strong{color:var(--ink)}
#remoteCareStoresSettings .rc-store-copy>span{font-size:12px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}
#remoteCareStoresSettings .rc-store-control{display:flex;align-items:center;gap:2px}
#remoteCareStoresSettings .rc-store-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#bd3948}
#remoteCareStoresSettings .rc-store-dot.is-active{background:#208258}
html[data-theme=dark] #remoteCareStoresSettings .rc-store-dot{background:#ff8585}
html[data-theme=dark] #remoteCareStoresSettings .rc-store-dot.is-active{background:#54c99a}
#remoteCareStoresSettings .rc-store-switch{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink);box-shadow:none;cursor:pointer}
#remoteCareStoresSettings .rc-store-switch:hover{background:var(--soft)}
#remoteCareStoresSettings .rc-store-switch:disabled{cursor:default;opacity:.65}
#remoteCareStoresSettings .rc-store-switch:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
#remoteCareStoresSettings .rc-store-track{display:block;position:relative;width:34px;height:20px;border:1px solid var(--muted);border-radius:12px;background:var(--muted)}
#remoteCareStoresSettings .rc-store-track::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff}
#remoteCareStoresSettings .rc-store-switch[aria-checked=true] .rc-store-track{background:#087b7c;border-color:#087b7c}
#remoteCareStoresSettings .rc-store-switch[aria-checked=true] .rc-store-track::after{transform:translateX(14px)}
#remoteCareStoresSettings #remoteCareAdminStoresList>p{grid-column:1/-1;margin:6px 0}
@media(min-width:600px){#remoteCareStoresSettings #remoteCareAdminStoresList{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){#remoteCareStoresSettings #remoteCareAdminStoresList{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:399px){#remoteCareStoresSettings .rc-store-filters{width:100%}#remoteCareStoresSettings .rc-store-filters label:first-child{flex:1}#remoteCareStoresSettings .rc-store-filters input{width:100%}}
@media(forced-colors:active){#remoteCareStoresSettings .rc-store-track{border:1px solid ButtonText}#remoteCareStoresSettings .rc-store-switch[aria-checked=true] .rc-store-track{background:Highlight}#remoteCareStoresSettings .rc-store-track::after{background:ButtonText}}

/* UI/UX audit 8.1.32: shared tokens, field state and measured popup geometry. */
:root{
 --dh-primary:#002f50;--dh-accent:#087b7c;--dh-mint:#e7f4ef;
 --dh-text-xs:12px;--dh-text-sm:13px;--dh-text-base:14px;--dh-text-lg:19px;--dh-text-title:28px;
 --dh-weight-normal:400;--dh-weight-medium:500;--dh-weight-strong:700;
 --dh-leading:1.5;--dh-leading-heading:1.2;
 --dh-space-1:4px;--dh-space-2:8px;--dh-space-3:12px;--dh-space-4:16px;--dh-space-6:24px;
 --dh-control-compact:36px;--dh-control-touch:44px;--dh-border:1px solid var(--line);--dh-focus:var(--teal);
 --dh-disabled-opacity:.62;--dh-motion:140ms ease;
 --dh-breakpoint-mobile:600px;--dh-breakpoint-tablet:1100px;--dh-breakpoint-navigation:1180px;
}
html:not([data-theme=dark]){--navy:var(--dh-primary)}
body,button,input,select,textarea{font-family:var(--dh-font)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.dh-page-heading .dh-page-copy>:is(h1,h2,h3){font-size:var(--dh-text-title);font-weight:var(--dh-weight-strong);line-height:var(--dh-leading-heading)}
.dh-page-heading .dh-page-copy>p,.dh-form-grid>label,.dh-filter-bar>label{line-height:var(--dh-leading)}
.dh-select-button,.dh-select-list{border:var(--dh-border);color:var(--ink);background:var(--surface)}
.dh-select-option{font-size:var(--dh-text-base);color:var(--ink);line-height:var(--dh-leading)}
.dh-select-button:disabled,.dh-select-option:disabled{opacity:var(--dh-disabled-opacity)}
.dh-select-option:hover:not(:disabled),.dh-select-option.is-keyboard-active{background:var(--soft)}
.dh-select-option.is-selected{background:var(--dh-mint);color:var(--dh-primary)}
html[data-theme=dark] .dh-select-option.is-selected{background:var(--soft);color:var(--ink)}
.dh-select.is-open .dh-select-list[data-dh-dropdown-available]{max-height:attr(data-dh-dropdown-available px,280px);top:attr(data-dh-dropdown-top px,0px);overscroll-behavior:contain}
.dh-select.is-open .dh-select-list[popover]{
 position:fixed!important;inset:auto!important;margin:0!important;box-sizing:border-box;
 left:clamp(12px,attr(data-dh-dropdown-field-left px,0px),calc(100vw - attr(data-dh-dropdown-measured-width px,0px) - 12px))!important;
 top:attr(data-dh-dropdown-top px,0px)!important;
 width:attr(data-dh-dropdown-measured-width px,auto)!important;max-width:calc(100vw - 24px)!important;
 min-width:0!important;max-height:attr(data-dh-dropdown-available px,280px)!important;
}
.dh-select-list[popover]:popover-open{display:block}
.dh-select-list[popover] .dh-select-option{white-space:normal;overflow-wrap:anywhere}
/* Filters follow the available columns; reset remains a separate final action. */
.order-history-filters,.shop-stock-filterbar,.shop-admin-toolbar.shop-admin-filterbar{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--dh-space-3);min-width:0;
}
.shop-admin-toolbar.shop-admin-filterbar>label,.shop-admin-toolbar.shop-admin-filterbar-wide>label,
.shop-admin-toolbar.shop-admin-filterbar>.shop-admin-search,.shop-admin-toolbar.shop-admin-filterbar-wide>.shop-admin-search{min-width:0!important;max-width:100%;grid-column:auto}
.shop-admin-toolbar.shop-admin-filterbar .shop-admin-search{grid-column:span 2}
.order-history-filters>button,.shop-stock-filterbar>button,.shop-admin-toolbar.shop-admin-filterbar>button{
 grid-column:1/-1;justify-self:end;max-width:100%;width:auto;white-space:normal;
}
.order-history-filters :is(input,select),.shop-stock-filterbar :is(input,select),.shop-admin-filterbar :is(input,select){width:100%;max-width:100%;min-width:0}
#handbook .hb-shortcuts a{min-width:0;max-width:100%;overflow-wrap:anywhere}
#handbook :is(.handbook-layout,.handbook-body,.hb-chapter){min-width:0}
#handbook .hb-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior:contain}
/* Every path has exactly one current page; ancestors wrap instead of clipping. */
body.authenticated #dataHubBreadcrumb .dh-breadcrumb-trail{flex-wrap:wrap;overflow:visible;white-space:normal;row-gap:var(--dh-space-1)}
body.authenticated #dataHubBreadcrumb .dh-breadcrumb-label{color:var(--muted);font:inherit;overflow-wrap:anywhere}
body.authenticated #dataHubBreadcrumb .dh-breadcrumb-back{display:none!important}
body.authenticated #dataHubBreadcrumb :is(.dh-breadcrumb-current,.dh-breadcrumb-link){white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
@media(max-width:1180px){body.authenticated #dataHubBreadcrumb:not([data-current-view=overview]){overflow:visible!important;white-space:normal;align-items:center!important}}
@media(max-width:1100px){.order-history-filters,.shop-stock-filterbar,.shop-admin-toolbar.shop-admin-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .order-history-filters,.shop-stock-filterbar,.shop-admin-toolbar.shop-admin-filterbar{grid-template-columns:minmax(0,1fr)}
 .shop-admin-toolbar.shop-admin-filterbar .shop-admin-search{grid-column:auto}
 .order-history-filters>button,.shop-stock-filterbar>button,.shop-admin-toolbar.shop-admin-filterbar>button{width:100%;justify-self:stretch}
 #handbook .hb-hero{padding:var(--dh-space-4)}
 #handbook .hb-hero h2{font-size:var(--dh-text-title);overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.dh-select-arrow{transition:none}}
@media(forced-colors:active){.dh-select-option.is-selected{outline:1px solid Highlight}.dh-select-button:focus-visible{outline:2px solid Highlight}}

.dh-select-button{font-size:var(--dh-text-base)}

#handbook{overflow-wrap:anywhere}
.dh-table-scroll{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior:contain;scrollbar-color:var(--muted) var(--soft)}
.dh-table-scroll:focus-visible{outline:2px solid var(--dh-focus);outline-offset:2px}

html:not([data-theme=dark]){--muted:#526b79}

.order-action-badge{background:var(--dh-primary);color:#fff}

/* Operational Shop: scoped extensions of the central DataHub components. */
#orderManager.view.order-shop-view .order-commerce-header{position:sticky;top:0;z-index:5;background:var(--surface,#fff);display:flex;flex-wrap:wrap;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
#orderManager.view.order-shop-view .order-header-search{flex:1 1 260px;min-width:0}
#orderManager.view.order-shop-view .order-header-actions{flex:1 1 380px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;margin:0;padding:0;min-width:0}
#orderManager.view.order-shop-view .order-header-actions button{min-height:42px;padding:6px 9px;display:flex;align-items:center;gap:5px;font-size:12px}
#orderManager.view.order-shop-view .order-header-actions svg{width:20px;height:20px;flex-shrink:0}
#orderManager.view.order-shop-view .order-context-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 0}
#orderManager.view.order-shop-view .order-context-bar label{display:flex;align-items:center;gap:8px;font-size:12px;min-width:0}
#orderManager.view.order-shop-view .order-context-bar select{max-width:240px;margin:0}
#orderManager.view.order-shop-view #orderShopBreadcrumb{display:flex;align-items:center;gap:5px;flex-wrap:wrap;border:0;padding:0;margin:0;background:transparent;font-size:12px;min-width:0}
#orderManager.view.order-shop-view #orderShopBreadcrumb button{padding:4px 6px;min-height:32px}
#orderManager.view.order-shop-view .order-shop-intro{padding:12px 0}
#orderManager.view.order-shop-view .order-shop-intro h3{margin:0 0 4px}
#orderManager.view.order-shop-view .order-quick-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0 18px}
#orderManager.view.order-shop-view .order-quick-product{display:flex;align-items:center;text-align:left;gap:8px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:10px;background:transparent;font-size:12px;overflow-wrap:anywhere}
#orderManager.view.order-shop-view .order-quick-image{width:42px;height:42px;flex:0 0 42px;overflow:hidden}
#orderManager.view.order-shop-view .order-quick-image img{width:100%;height:100%;object-fit:contain}
#orderManager.view.order-shop-view .order-product-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
#orderManager.view.order-shop-view .order-product-filters label{flex:1 1 130px;min-width:0}
#orderManager.view.order-shop-view .order-product-card-footer{flex-wrap:wrap;gap:6px}
#orderManager.view.order-shop-view .order-card-quantity{width:62px;min-width:0;padding:6px;margin:0}
#orderManager.view.order-shop-view .order-continue{margin:8px 0 16px}
#orderManager.view.order-shop-view .order-empty button{justify-self:center;margin-top:12px}
#orderManager.view.order-shop-view #orderConfirmationPanel{min-height:0;padding:24px}
#orderManager.view.order-shop-view #orderConfirmationPanel::before{display:none}
.shop-workspace-nav{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:18px;padding:8px;border:1px solid var(--line);background:transparent}
.shop-workspace-nav button{min-height:38px;padding:7px 10px;font-size:12px}
.shop-workspace-nav button[aria-current=page]{background:#002f50;color:#fff}
.shop-operations-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.shop-operations-metrics .shop-operation-metric::before,#shopDashboard>.card::before,#shopReports>.card::before{display:none}
#shopDashboard>.card,#shopReports>.card{min-height:0;margin-bottom:16px}
.shop-operations-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.shop-operations-filters label{flex:0 1 220px;min-width:0}
.shop-operational-table{max-width:100%;overflow:auto}
.shop-operational-table table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}
.shop-operational-table th,.shop-operational-table td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.shop-operational-table th{font-weight:500;color:var(--muted);white-space:nowrap}
.shop-operational-table td button{padding:6px 10px;font-size:12px;min-height:40px}
#shopStockAdmin>#shopStockMovements{min-width:0}
#shopStockDialog .dh-dialog-body{display:grid;gap:12px}
html[data-theme=dark] #orderManager.view.order-shop-view .order-commerce-header,body.dark #orderManager.view.order-shop-view .order-commerce-header{background:var(--surface,#102934)}
@media(max-width:820px){#orderManager.view.order-shop-view .order-quick-products,.shop-operations-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#orderManager.view.order-shop-view .order-header-actions{justify-content:flex-start;flex-basis:100%}#orderManager.view.order-shop-view .order-header-actions button{flex:1 1 28%;justify-content:center}.shop-workspace-nav button{flex:1 1 28%}#orderManager.view.order-shop-view .order-context-bar label{width:100%}#orderManager.view.order-shop-view .order-context-bar select{flex:1;max-width:100%;min-width:0}}
@media(max-width:430px){#orderManager.view.order-shop-view .order-quick-products{grid-template-columns:1fr}#orderManager.view.order-shop-view .order-header-actions button{font-size:11px;padding:5px;gap:3px}#orderManager.view.order-shop-view .order-product-filters label{flex-basis:40%}.shop-operational-table th,.shop-operational-table td{padding:8px 6px}.shop-workspace-nav button{flex-basis:40%}}
@media print{.shop-workspace-nav,.shop-operations-filters{display:none!important}}

#orderManager.view.order-shop-view .order-category-card{min-height:84px;padding:12px;gap:6px}#orderManager.view.order-shop-view .order-category-icon{width:36px;height:36px}#orderManager.view.order-shop-view .order-category-icon img{max-width:36px;max-height:36px}#orderManager.view.order-shop-view .order-category-card strong{font-size:14px}.order-reconcile-form{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:12px 0}.order-reconcile-form label{flex:1 1 160px;min-width:0}

#orderManager.view.order-shop-view .order-recommendation-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:8px 0 16px}#orderManager.view.order-shop-view .order-recommendation-sections:has(>section[hidden]){grid-template-columns:1fr}#orderManager.view.order-shop-view .order-recommendation-sections h3{font-size:15px;margin-bottom:8px}#orderManager.view.order-shop-view .order-recommendation-sections .order-quick-products{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}#orderManager.view.order-shop-view .order-quick-product{min-height:52px}@media(max-width:600px){#orderManager.view.order-shop-view .order-recommendation-sections{grid-template-columns:1fr;gap:12px}#orderManager.view.order-shop-view .order-recommendation-sections .order-quick-products{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Replace the historical mobile/tablet-only Shop layout overrides with one header. */
#orderManager.view.order-shop-view .order-commerce-header{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:10px!important;padding:8px 0!important;margin:0 0 8px!important;height:auto!important;min-height:44px!important}
#orderManager.view.order-shop-view .order-header-search{grid-column:auto!important;grid-row:auto!important;flex:1 1 240px!important;height:auto!important;min-height:44px!important;margin:0!important;width:auto!important}
#orderManager.view.order-shop-view .order-header-search input{height:44px!important;min-height:44px!important}
#orderManager.view.order-shop-view .order-header-actions{display:flex!important;flex-wrap:wrap!important;grid-column:auto!important;grid-row:auto!important;flex:1 1 410px!important;width:auto!important;height:auto!important;min-height:44px!important;gap:4px!important;margin:0!important;padding:0!important}
#orderManager.view.order-shop-view .order-header-actions button{width:auto!important;min-width:0!important;height:auto!important;min-height:40px!important;padding:6px 8px!important;font-size:12px!important;line-height:1.25!important;white-space:normal!important}
#orderManager.view.order-shop-view .order-category-card{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:70px!important;padding:10px!important;gap:10px!important}
#orderManager.view.order-shop-view .order-category-card strong,#orderManager.view.order-shop-view .order-category-count{display:block!important;overflow-wrap:anywhere!important}
#orderManager.view.order-shop-view .order-category-icon,#orderManager.view.order-shop-view .order-category-icon img{flex:0 0 34px!important;width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important;margin:0!important}
@media(max-width:820px){#orderManager.view.order-shop-view .order-header-actions{flex-basis:100%!important;justify-content:flex-start!important}#orderManager.view.order-shop-view .order-header-actions button{flex:1 1 28%!important}#orderManager.view.order-shop-view .order-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:430px){#orderManager.view.order-shop-view .order-header-actions button{font-size:11px!important}#orderManager.view.order-shop-view .order-category-grid{grid-template-columns:1fr!important}}

#orderManager.view.order-shop-view .order-manager-page-heading{margin-bottom:8px!important}#orderManager.view.order-shop-view .order-manager-page-heading p{margin-bottom:0}#orderManager.view.order-shop-view .order-commerce-shell{padding-top:8px!important}#orderManager.view.order-shop-view .order-shop-panel{padding-top:8px!important}#orderManager.view.order-shop-view .order-shop-home-section{margin:12px 0!important;padding:0!important}#orderManager.view.order-shop-view .order-context-bar{padding:6px 0}#orderManager.view.order-shop-view .order-shop-section-title .order-eyebrow,#orderManager.view.order-shop-view .order-product-list-head .order-eyebrow{display:none}#orderManager.view.order-shop-view .order-section-heading{margin:8px 0!important}#orderManager.view.order-shop-view .order-product-list-head{margin-bottom:8px}@media(min-width:1181px){#orderManager.view.order-shop-view .order-header-actions{flex:0 1 auto!important}#orderManager.view.order-shop-view .order-header-search{flex:1 1 200px!important}}

/* Bestell-Manager: compact workspace, accessible analytics and visible order details. */
#orderManager.view.order-shop-view .order-commerce-header{gap:12px;padding:16px 18px;align-items:center}
#orderManager.view.order-shop-view .order-header-search{flex:1 1 280px;min-width:0}
#orderManager.view.order-shop-view .order-header-actions{gap:6px;flex-wrap:wrap}
#orderManager.view.order-shop-view .order-context-bar{padding:10px 18px;gap:12px}
#orderManager.view.order-shop-view .order-shop-panel{padding-top:16px}
#orderManager.view.order-shop-view .order-line-item{grid-template-columns:52px minmax(0,1fr) 74px auto auto;gap:12px;padding:12px}
.order-archive-filter{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:12px}.order-archive-filter input{width:auto}
.order-history-pager{display:flex;justify-content:center;align-items:center;gap:14px;padding-top:16px}
#orderHistory .order-history-detail{scroll-margin-top:20px;min-width:0}
.order-edit-quantities{display:grid;gap:10px;border:1px solid var(--line);padding:14px;border-radius:10px;min-width:0}
.order-edit-quantities label{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:12px;align-items:center;overflow-wrap:anywhere}
.order-edit-quantities legend{font-size:12px;max-width:100%;white-space:normal}
.order-manual-actions{grid-column:1/-1;flex-wrap:wrap}
@media(max-width:820px){#orderManager.view.order-shop-view .order-header-search{flex-basis:100%}}
@media(max-width:540px){#orderManager.view.order-shop-view .order-line-item{grid-template-columns:42px minmax(0,1fr) 65px;gap:8px}#orderManager.view.order-shop-view .order-line-item>strong{grid-column:2}#orderManager.view.order-shop-view .order-line-remove{grid-column:3;font-size:11px;padding:6px}.order-edit-quantities label{grid-template-columns:minmax(0,1fr) 70px}.order-manual-actions button{flex:1 1 100%}}

@media(max-width:600px){
 .shop-admin-page .shop-operational-table,#orderHistory .shop-operational-table{overflow:visible}
 .shop-admin-page .shop-operational-table table,#orderHistory .shop-operational-table table{display:block;width:100%;min-width:0}
 .shop-admin-page .shop-operational-table thead,#orderHistory .shop-operational-table thead{display:none}
 .shop-admin-page .shop-operational-table tbody,#orderHistory .shop-operational-table tbody{display:grid;gap:10px}
 .shop-admin-page .shop-operational-table tr,#orderHistory .shop-operational-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;border:1px solid var(--line);border-radius:10px;gap:10px}
 .shop-admin-page .shop-operational-table td,#orderHistory .shop-operational-table td{display:block;min-width:0;padding:0;border:0;white-space:normal;overflow-wrap:anywhere}
 .shop-admin-page .shop-operational-table td::before,#orderHistory .shop-operational-table td::before{content:attr(data-label);display:block;font-size:10px;opacity:.7;margin-bottom:3px}
 .shop-admin-page .shop-operational-table td:last-child,#orderHistory .shop-operational-table td:last-child{grid-column:1/-1}
 .shop-admin-page .shop-operational-table td button,#orderHistory .shop-operational-table td button{max-width:100%;white-space:normal}
}

/* Shared Shop administration filter alignment; business logic is unchanged. */
:is(#shopDashboard,#shopReports) .shop-operations-filters,
#orderHistory .order-history-filters,
.shop-admin-page .shop-stock-filterbar,
.shop-admin-page .shop-admin-toolbar.shop-admin-filterbar{
 display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;align-content:flex-start;
 gap:12px;min-width:0;min-height:0;padding:12px;margin:0 0 12px;
}
:is(#shopDashboard,#shopReports) .shop-operations-filters>label,
#orderHistory .order-history-filters>label,
.shop-admin-page .shop-stock-filterbar>label,
.shop-admin-page .shop-admin-toolbar.shop-admin-filterbar>label{
 display:grid;gap:4px;flex:1 1 160px;min-width:0!important;margin:0;grid-column:auto;
 font-size:12px;line-height:1.25;
}
:is(#shopDashboard,#shopReports) .shop-operations-filters>label{flex:0 1 180px}
.shop-admin-page .shop-admin-toolbar.shop-admin-filterbar>.shop-admin-search{flex:2 1 220px;grid-column:auto}
:is(#shopDashboard,#shopReports) .shop-operations-filters input,
#orderHistory .order-history-filters :is(input,select,.dh-select,.dh-select-button),
.shop-admin-page :is(.shop-stock-filterbar,.shop-admin-filterbar) :is(input,select,.dh-select,.dh-select-button){
 box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:40px!important;min-height:40px!important;margin:0!important;
}
:is(#shopDashboard,#shopReports) .shop-operations-filters>button,
#orderHistory .order-history-filters>button,
.shop-admin-page .shop-stock-filterbar>button,
.shop-admin-page .shop-admin-toolbar.shop-admin-filterbar>button{
 box-sizing:border-box;flex:0 0 auto;align-self:flex-end;grid-column:auto;width:auto;max-width:100%;
 height:40px;min-height:40px;margin:0;padding:8px 14px;line-height:1.25;white-space:nowrap;
}
@media(max-width:600px){
 :is(#shopDashboard,#shopReports) .shop-operations-filters>label{flex:1 1 140px}
 :is(#shopDashboard,#shopReports) .shop-operations-filters>button,
 #orderHistory .order-history-filters>button,
 .shop-admin-page .shop-stock-filterbar>button,
 .shop-admin-page .shop-admin-toolbar.shop-admin-filterbar>button{flex:1 1 140px;white-space:normal}
}

/* Order administration: overview and detail are separate, semantic workspaces. */
#orderHistory{--order-gap:12px;--order-control:40px}
#orderHistory .order-overview-shell,#orderHistory .order-history-detail{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:16px;min-height:0;min-width:0;margin:0}
#orderHistory .order-overview-head,#orderHistory .order-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px}
#orderHistory h3,#orderHistory h4{margin:0;font-size:16px;line-height:1.4}
#orderHistory .order-overview-head h3{font-size:18px}
#orderHistory .order-history-summary{margin:0;font-size:12px;color:var(--muted)}
#orderHistory .order-history-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;margin:0 0 12px;min-height:0;align-items:end}
#orderHistory :is(.order-history-filters,.order-edit-grid,.order-reconcile-form)>label{display:grid;gap:4px;margin:0;min-width:0!important;max-width:none;font-size:12px;line-height:1.4}
#orderHistory :is(.order-history-filters,.order-edit-grid,.order-manual-actions,.order-history-pager,.order-reconcile-form) :is(input,select,.dh-select-button,button),#orderHistory .order-history-filters>button{height:var(--order-control)!important;min-height:var(--order-control)!important;margin:0!important;min-width:0;max-width:100%;padding:8px 10px;box-sizing:border-box}
#orderHistory .order-history-filters>button{width:100%;align-self:end;white-space:normal;line-height:1.2}
#orderHistory .order-overview-table{min-width:0}
#orderHistory .shop-operational-table{margin:0;max-width:100%;min-width:0;overflow-x:auto}
#orderHistory .shop-operational-table th,#orderHistory .shop-operational-table td{padding:9px 8px;vertical-align:middle;font-size:12px}
#orderHistory .order-number-link{border:0;background:none;padding:0;min-height:32px;color:var(--teal);font-weight:700;text-align:left;white-space:normal;overflow-wrap:anywhere;box-shadow:none}
#orderHistory .order-open-action{padding:6px 10px;min-height:40px;white-space:nowrap;margin:0}
#orderHistory .order-overview-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
#orderHistory .order-archive-filter{margin:0;font-size:12px}
#orderHistory .order-history-pager{margin:0;gap:8px}
#orderHistory .order-history-detail{padding:0;overflow:clip}
#orderHistory .order-detail-toolbar{padding:12px 16px;border-bottom:1px solid var(--line)}
#orderHistoryDetailClose{margin:0;min-height:40px;padding:6px 10px}
#orderHistory .order-detail-heading{height:auto;position:static;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:16px;margin:0;border-bottom:1px solid var(--line);align-items:start}
#orderHistory .order-detail-heading h3{font-size:21px;margin:0 0 10px;overflow-wrap:anywhere}
#orderHistory .order-detail-eyebrow{margin:0 0 3px;color:var(--muted);font-size:11px}
#orderHistory .order-meta-grid{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;font-size:12px;min-width:0}
#orderHistory .order-meta-grid>div{min-width:0;max-width:100%}
#orderHistory .order-meta-grid dt{font-size:11px;color:var(--muted)}
#orderHistory .order-meta-grid dd{margin:0;overflow-wrap:anywhere}
#orderHistory .order-detail-overview{display:grid;gap:10px;text-align:right;justify-items:end;min-width:0}
#orderHistory .order-detail-overview strong{font-size:18px;overflow-wrap:anywhere}
#orderHistory .order-status-display{border-radius:20px;background:var(--soft);padding:4px 8px;white-space:normal;font-size:11px}
#orderHistoryDetailBody{padding:0 16px 16px}
#orderHistory .order-detail-content{margin:0;padding:0;display:block;min-width:0}
#orderHistory .order-detail-section{padding:16px 0;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;min-width:0}
#orderHistory .order-position-table-wrap{min-width:0;max-width:100%}
#orderHistory .order-position-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}
#orderHistory .order-position-table th{padding:6px 8px;color:var(--muted);font-size:11px;text-align:right;font-weight:400;border-bottom:1px solid var(--line)}
#orderHistory .order-position-table th:first-child{width:55%;text-align:left;padding-left:0}
#orderHistory .order-position-table th:nth-child(2){width:15%}
#orderHistory .order-position-table th:nth-child(3){width:15%}
#orderHistory .order-position-table .order-history-item{display:table-row;padding:0;border:0}
#orderHistory .order-position-table td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:right;overflow-wrap:anywhere}
#orderHistory .order-position-table td:first-child{text-align:left;padding-left:0}
#orderHistory .order-position-product{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center}
#orderHistory .order-history-item-media{display:grid;place-items:center;width:40px;height:40px;border-radius:6px;object-fit:contain;min-width:0}
#orderHistory .order-item-placeholder{background:var(--soft);border:1px solid var(--line);color:var(--muted);font-size:21px}
#orderHistory .order-item-copy{min-width:0;display:grid;gap:4px;overflow-wrap:anywhere}
#orderHistory .order-item-meta{display:flex;gap:3px 10px;flex-wrap:wrap;color:var(--muted);font-size:11px;line-height:1.5}
#orderHistory .order-position-table [data-item-id]{width:76px;max-width:100%;min-width:0;height:40px;min-height:40px;margin:0;padding:6px 8px}
#orderHistory .order-position-table .order-history-item-amount{display:table-cell;font-weight:700;white-space:normal}
#orderHistory .order-history-detail-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0 0;border:0;font-size:12px}
#orderHistory .order-management-controls{display:block;margin:0;border-bottom:1px solid var(--line)}
#orderHistory .order-management-controls h4{margin-bottom:12px}
#orderHistory .order-edit-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:12px;align-items:start}
#orderHistory .order-edit-grid textarea{height:72px;min-height:72px;width:100%;margin:0;padding:8px 10px;resize:vertical}
#orderHistory .order-manual-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;align-items:center}
#orderHistory .order-manual-actions button{width:auto;white-space:normal;line-height:1.2}
#orderHistory .order-management-controls>[role=status]{margin:8px 0 0;overflow-wrap:anywhere}
#orderHistory .order-management-controls>[role=status]:empty{display:none}
#orderHistory .order-supplier-section{display:grid;gap:10px;margin:0;padding:16px 0 0;border:0}
#orderHistory .order-supplier-section .admin-section-heading{margin:0}
#orderHistory .order-supplier-section h4{margin:0 0 4px}
#orderHistory .order-supplier-section p{margin:0;font-size:12px;line-height:1.5}
#orderHistory .order-supplier-empty,#orderHistory .order-detail-empty{padding:10px 12px;margin:0;border:1px dashed var(--line);border-radius:8px;color:var(--muted);background:var(--soft);font-size:12px}
#orderHistory .order-supplier-card{padding:12px;gap:10px;border-radius:8px}
#orderHistory .order-supplier-card .settings-actions{margin:0;gap:8px}
#orderHistory .order-reconcile-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;margin:0}
#orderHistory .order-reconcile-form>[role=status]{grid-column:1/-1}
#orderHistory .order-reconcile-form>[role=status]:empty{display:none}
#orderHistory .order-assignment-warning{border-left:3px solid var(--dh-warning);padding:6px 10px;color:var(--dh-warning)}
#orderHistory .order-detail-history{margin-top:16px;border-top:1px solid var(--line);padding-top:12px;font-size:12px}
#orderHistory .order-detail-history summary{cursor:pointer;font-weight:700;min-height:32px}
#orderHistory .order-detail-history p{margin:4px 0;overflow-wrap:anywhere}
@media(min-width:1500px){#orderHistory .order-history-filters{grid-template-columns:minmax(160px,1.4fr) repeat(5,minmax(110px,1fr)) auto}}
@media(max-width:1100px){#orderHistory .order-reconcile-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){#orderHistory .order-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#orderHistory .order-detail-heading{grid-template-columns:minmax(0,1fr)}#orderHistory .order-detail-overview{display:flex;flex-wrap:wrap;text-align:left;justify-items:start;justify-content:space-between;align-items:center}#orderHistory .order-edit-grid{grid-template-columns:minmax(0,1fr)}#orderHistory .order-position-table th:first-child{width:46%}#orderHistory .order-position-table th:nth-child(2){width:16%}#orderHistory .order-position-table th:nth-child(3){width:19%}}
@media(max-width:600px){#orderHistory .order-overview-shell{padding:12px}#orderHistory .order-detail-heading{padding:12px}#orderHistoryDetailBody{padding:0 12px 12px}#orderHistory .order-position-table,#orderHistory .order-position-table tbody{display:block}#orderHistory .order-position-table thead{display:none}#orderHistory .order-position-table .order-history-item{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}#orderHistory .order-position-table td{display:block;padding:0;border:0;text-align:left}#orderHistory .order-position-table td:first-child{grid-column:1/-1}#orderHistory .order-position-table td:not(:first-child)::before{content:attr(data-label);display:block;color:var(--muted);font-size:11px;margin-bottom:4px}#orderHistory .order-position-table .order-history-item-amount{display:block}#orderHistory .order-position-product{grid-template-columns:32px minmax(0,1fr)}#orderHistory .order-history-item-media{width:32px;height:32px}#orderHistory .order-manual-actions button{flex:1 1 140px}#orderHistory .order-reconcile-form{grid-template-columns:minmax(0,1fr)}#orderHistory .order-supplier-card-head{flex-wrap:wrap}}
@media(max-width:380px){#orderHistory .order-history-filters{grid-template-columns:minmax(0,1fr)}}

#orderHistory:has(#orderHistoryDetail:not([hidden]))>.dh-page-heading{display:none}
#orderHistory .order-supplier-card .settings-actions button{height:40px;min-height:40px;max-width:100%;padding:8px 10px;margin:0;font-size:12px}
@media(max-width:600px){#orderHistory:has(#orderHistoryDetail:not([hidden])) .shop-workspace-nav{display:none}}

/* Personal order cards use their own structure; never inherit the 60px image grid. */
#orderPersonalPanel,#orderPersonalRows{min-width:0;width:100%;max-width:100%}
#orderPersonalRows{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
#orderPersonalMessage:empty{display:none}
#orderPersonalPanel .personal-order-card{width:100%}
#orderPersonalPanel .personal-order-head{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:12px;padding:10px 14px;align-items:center;list-style:none;cursor:pointer;min-height:70px}
#orderPersonalPanel .personal-order-head>div{min-width:0}
#orderPersonalPanel .personal-order-head h3{margin:0 0 5px;font-size:16px;overflow-wrap:anywhere}
#orderPersonalPanel .personal-order-meta{margin:0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
#orderPersonalPanel .personal-order-summary{display:grid;justify-items:end;gap:6px;max-width:100%;font-size:15px}
#orderPersonalPanel .personal-order-summary .order-status-display{white-space:normal}
#orderPersonalPanel .personal-order-detail{padding:0 14px;min-width:0;border-top:1px solid var(--line)}
#orderPersonalPanel .personal-order-lines{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}
#orderPersonalPanel .personal-order-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(64px,max-content) minmax(88px,max-content) minmax(88px,max-content);gap:12px;align-items:center;min-width:0;padding:14px 0;border-bottom:1px solid var(--line)}
#orderPersonalPanel .personal-order-line:last-child{border-bottom:0}
#orderPersonalPanel .personal-line-product{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%}
#orderPersonalPanel .personal-line-image{display:grid;place-items:center;overflow:hidden;flex:0 0 44px;width:44px;height:44px;border-radius:7px;background:var(--soft)}
#orderPersonalPanel .personal-line-image img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
#orderPersonalPanel .personal-line-info{flex:1 1 0;min-width:0;max-width:100%;display:grid;gap:4px}
#orderPersonalPanel .personal-line-info>strong{font-size:14px;line-height:1.45;overflow-wrap:anywhere;word-break:normal}
#orderPersonalPanel .personal-line-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
#orderPersonalPanel .personal-line-number{min-width:0;max-width:140px;display:grid;gap:4px;text-align:right;font-size:13px;overflow-wrap:anywhere}
#orderPersonalPanel .personal-line-number .small{font-size:11px;color:var(--muted)}
#orderPersonalPanel .personal-order-procurement{margin:0;padding:8px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
#orderPersonalPanel .personal-order-empty{margin:0;padding:12px 0;font-size:13px}
@media(max-width:900px){#orderPersonalPanel .personal-order-line{grid-template-columns:minmax(0,1fr) repeat(3,minmax(56px,max-content));gap:10px}#orderPersonalPanel .personal-line-number{max-width:100px;font-size:12px}}
@media(max-width:600px){#orderPersonalPanel .personal-order-head{grid-template-columns:minmax(0,1fr) 20px;gap:8px;padding:10px 13px}#orderPersonalPanel .personal-order-summary{grid-column:1;grid-row:2}#orderPersonalPanel .settings-subtile-chevron{grid-column:2;grid-row:1/3}#orderPersonalPanel .personal-order-summary{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}#orderPersonalPanel .personal-order-detail{padding:0 12px}#orderPersonalPanel .personal-order-line{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#orderPersonalPanel .personal-line-product{grid-column:1/-1;align-items:flex-start;gap:10px}#orderPersonalPanel .personal-line-number{max-width:none;text-align:left}#orderPersonalPanel .personal-line-image{flex-basis:36px;width:36px;height:36px}}

:is(#saleKpis,#shopReports) .dh-filter-fields-row{flex-wrap:wrap;overflow:visible}
:is(#saleKpis,#shopReports) .dh-filter-fields-row>label{flex:1 1 160px;min-width:min(160px,100%)}

/* Optional states in the shared Sales chart; same existing DataHub status colors. */
.sale-chart-svg rect[data-state=green]{fill:var(--dh-success)}
.sale-chart-svg rect[data-state=orange]{fill:var(--dh-warning)}
.sale-chart-svg rect[data-state=red]{fill:var(--dh-danger)}
.sale-chart-svg rect[data-state=gray]{fill:var(--muted)}
.sale-chart-svg rect[role=button]:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}

/* Shared DataHub grid variant and single-chart placement; no new tile/chart skin. */
.dh-tile-grid.dh-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.sale-charts>.datahub-tile:only-child{grid-column:1/-1}
.sale-charts>.datahub-tile:only-child .sale-chart-svg{max-height:430px}
@media(max-width:1100px){.dh-tile-grid.dh-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dh-tile-grid.dh-grid-four{grid-template-columns:minmax(0,1fr)}}

/* Compact Store summaries use the shared tile, grid, status and focus system. */
#shopDemandStores>.shop-demand-store{padding:12px 16px;gap:6px;min-height:0;box-shadow:none}
.shop-demand-store .cost-heading{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin:0;min-width:0}
.shop-demand-store-open{flex:1;min-width:0;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--ink);font:inherit;font-size:14px;font-weight:700;text-align:left;overflow-wrap:anywhere}
.shop-demand-store .order-status-display{flex:none}
.shop-demand-store-values{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 8px;min-width:0}
.shop-demand-store-values strong{font-size:17px}
.shop-demand-store-values span{font-size:12px;overflow-wrap:anywhere}

/* Existing central form grid: consistent product editor controls and supplier rows. */
#shopProductForm .shop-admin-form-grid{align-items:start;gap:16px}
#shopProductForm .shop-admin-form-grid>label{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;align-self:start}
#shopProductForm .shop-admin-form-grid>label>:is(input:not([type=checkbox]),select){width:100%;min-width:0;height:48px;min-height:48px;box-sizing:border-box;margin:0;font:inherit;line-height:1.4}
#shopProductForm .shop-admin-form-grid>label>textarea{width:100%;min-width:0;box-sizing:border-box;margin:0;font:inherit;line-height:1.4}
#supplierEditor .supplier-entry:has(.supplier-symbol-action){grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}
.contract-toolbar:has(#contractTypeFilter option[value=lieferanten]:checked)>label:has(#contractCenterFilter){display:none}
@media(max-width:600px){#supplierEditor .supplier-entry:has(.supplier-symbol-action){grid-template-columns:minmax(0,1fr)} }

/* Compact shipping management and bounded product images use the shared DataHub components. */
.shop-automation-store-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}
.shop-automation-store-list>form,.shop-shipping-toolbar{grid-column:1/-1;min-width:0}
.shop-shipping-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow-wrap:anywhere}
.shop-shipping-card.is-inactive{opacity:.75}.shop-shipping-card .shop-form-section-head{display:flex;align-items:start;justify-content:space-between;gap:8px;margin:0}.shop-shipping-card h4{margin:0;font-size:14px}.shop-shipping-card .shop-form-section-head>span{font-size:11px;color:var(--muted)}
.shop-shipping-card address{font-style:normal;font-size:12px;line-height:1.45}.shop-shipping-card p{margin:0}.shop-shipping-card .settings-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px}.shop-shipping-card button{min-height:34px;margin:0;padding:6px 9px;font-size:11px}
.shop-shipping-status{font-size:12px}.shop-shipping-status:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:#ba4c4c}.shop-shipping-status[data-active=true]:before{background:#2d8659}
.order-variant-gallery{flex-wrap:wrap;overflow:visible;align-items:start;min-width:0}
.order-variant-thumb{box-sizing:border-box;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden;aspect-ratio:1}
.order-variant-thumb img{width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center;justify-self:stretch;align-self:stretch}
.order-product-detail-media{height:clamp(260px,35vw,480px);min-height:0;min-width:0;box-sizing:border-box;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.order-product-detail-media img{width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.order-product-media img,.order-line-image img,.order-history-item-media img{object-fit:contain;object-position:center}
@media(max-width:1100px){.shop-automation-store-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.shop-automation-store-list{grid-template-columns:minmax(0,1fr)}}

/* Definite image tracks prevent intrinsic portrait sizes from enlarging compact shop frames. */
.order-product-media,.order-line-image,.order-history-item-media,#orderPersonalPanel .personal-line-image{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0}
.order-product-media img,.order-line-image img,.order-history-item-media img,#orderPersonalPanel .personal-line-image img{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center}

/* HR foundation: shared controls/tiles, bounded tables and readable histories. */
#hrContent,.hr-detail-sections,.hr-scope-editor,.hr-company-history{min-width:0;max-width:100%}
#hrContent{display:grid;gap:var(--dh-gap)}
.hr-detail-sections,.hr-editor-stack,.hr-scope-editor,.hr-company-history{display:grid;gap:var(--dh-gap)}
.hr-table-scroll{max-width:100%;overflow-x:auto}
.hr-table-scroll table{width:100%;min-width:600px;border-collapse:collapse;text-align:left}
.hr-table-scroll caption{text-align:left;font-weight:700;padding:12px 0;color:var(--ink)}
.hr-table-scroll th,.hr-table-scroll td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.hr-table-scroll th{font-size:13px;background:var(--soft);white-space:nowrap;overflow-wrap:normal}
.hr-table-scroll td{font-size:14px;overflow-wrap:normal}.hr-table-scroll td:not(:first-child){white-space:nowrap}
.hr-editor-stack form{padding-block:12px;border-bottom:1px solid var(--line)}
#hrStatus:empty{display:none}
@media(max-width:600px){.hr-table-scroll th,.hr-table-scroll td{padding:8px 6px}.hr-table-scroll table{font-size:13px}}

/* Shared access visibility; individual order/favorite settings stay persisted. */
body #workspace [data-access-hidden="true"],body #dataHubSidebar [data-access-hidden="true"],body #mainNavigation [data-access-hidden="true"]{display:none!important}
.hr-scope-editor{gap:12px}
.hr-permission-assignment{min-width:0;border-top:1px solid var(--line);padding-block:10px}
.hr-permission-assignment .hr-assignment-context{margin:0 0 8px}
.hr-permission-area{min-width:0;margin-block:8px}
.hr-permission-area h4{margin:8px 0 4px;font-size:13px;color:var(--ink)}
.hr-permission-area p{margin:4px 0}

/* Active HR navigation uses the same interaction state as every module. */
body #dataHubSidebar #hrTab:not([data-access-hidden]){opacity:1!important;pointer-events:auto!important;cursor:pointer!important}
body #dataHubSidebar #hrTab:not([data-access-hidden])>svg{color:inherit!important}
body #dataHubSidebar #hrTab[data-access-hidden="true"]{display:none!important}

/* HR workspaces reuse the global grid, forms, accordions and theme variables. */
#hrContent .dh-tile-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
#hrContent .datahub-tile,#hrSettingsContent {min-width:0;}
#hrContent form,#hrSettingsContent form {margin-block:1rem;}
#hrContent textarea,#hrSettingsContent textarea {width:100%;min-width:0;box-sizing:border-box;resize:vertical;}
#hrContent .hr-document-preview {white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font:inherit;}
#hrContent .hr-signal {border-inline-start:4px solid currentColor;padding:.5rem .75rem;font-weight:500;}
#hrContent .hr-signal-green {color:var(--mint,#007d7c);}
#hrContent .hr-signal-orange {color:#b56800;}
#hrContent .hr-signal-red {color:#c83232;}
@media(max-width:1000px){#hrContent .dh-tile-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){#hrContent .dh-tile-grid {grid-template-columns:minmax(0,1fr);}}

/* Employee profile: existing avatar, page header, form grid and accordion components. */
.dh-page-heading.hr-profile-header{flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;margin-block:0 12px}
.hr-profile-header .avatar{flex:0 0 52px;width:52px;height:52px;border-radius:50%;overflow:hidden}
.hr-profile-header .dh-page-copy{flex:1;min-width:0}
.hr-profile-header h3{margin:0 0 3px;font-size:20px;line-height:1.25;overflow-wrap:anywhere}
.hr-profile-header p{display:flex;flex-wrap:wrap;align-items:center;gap:3px 12px;margin:2px 0 0;font-size:12px;line-height:1.4}
.hr-profile-area{min-width:0}
.hr-profile-area .hr-editor-stack{min-width:0;grid-template-columns:minmax(0,1fr)}
.hr-profile-area>summary{font-weight:700;cursor:pointer;padding-block:10px}
#hrContent .hr-profile-area form{margin-block:8px}

/* HR profile reuses the existing workspace navigation and form components. */
.hr-profile-tabs{display:flex;flex-wrap:nowrap;gap:6px;max-width:100%;min-width:0;overflow-x:auto;margin-block:0 10px;padding:4px;border-radius:8px;scroll-padding-inline:4px}
.hr-profile-tabs button{flex:0 0 auto;white-space:nowrap;margin:0;padding:6px 12px;border-radius:8px;font-size:12px;line-height:1.2}
.hr-detail-sections{min-width:0;gap:12px}
.hr-profile-area>.hr-editor-stack{gap:12px}
.hr-profile-header .avatar img{width:100%;height:100%;object-fit:cover}
#hrContent .dh-tile-grid .avatar{width:48px;height:48px;flex:0 0 48px;overflow:hidden;border-radius:50%}
#hrContent .dh-tile-grid .avatar img{width:100%;height:100%;object-fit:cover}

/* HR uses the existing settings accordion and account-menu components. */
:is(#hrContent,#hrSettingsContent,#orderHistoryDetailBody) .settings-subtile>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 14px;list-style:none;font-weight:700;color:var(--navy);cursor:pointer;overflow-wrap:anywhere}
:is(#hrContent,#hrSettingsContent,#orderHistoryDetailBody) .settings-subtile>summary::after{content:'›';flex:0 0 20px;text-align:center;font-size:27px;line-height:1;color:var(--teal);transition:transform .16s}
:is(#hrContent,#hrSettingsContent,#orderHistoryDetailBody) .settings-subtile[open]>summary{border-bottom:1px solid var(--line)}
:is(#hrContent,#hrSettingsContent,#orderHistoryDetailBody) .settings-subtile[open]>summary::after{transform:rotate(90deg)}
:is(#hrContent,#hrSettingsContent,#orderHistoryDetailBody) .settings-subtile>:not(summary){margin:12px 14px;min-width:0;max-width:calc(100% - 28px)}
:is(#hrContent,#hrSettingsContent,#orderHistoryDetailBody) .settings-subtile form{margin-block:12px}
:is(#hrContent,#hrSettingsContent,#orderHistoryDetailBody) .dh-filter-bar{align-items:end;gap:12px;margin-block:0}
:is(#hrContent,#hrSettingsContent,#orderHistoryDetailBody) .dh-filter-bar>button{align-self:end}
.hr-photo-menu{flex:0 0 64px;align-self:flex-start}
.hr-photo-menu>summary{border-radius:50%;width:64px;height:64px;outline-offset:3px}
.hr-photo-menu>summary:hover,.hr-photo-menu>summary:focus-visible{outline:2px solid var(--teal)}
.hr-photo-menu .menu-panel{left:0;right:auto;top:72px;z-index:30;min-width:180px;max-width:calc(100vw - 64px)}
#hrContent>.hr-photo-status:has(>p:empty){display:none}
#hrContent>.hr-photo-status>p{margin:0}

#hrSettingsContent .settings-subtile>summary::after{content:none}
#hrSettingsContent .settings-subtile>summary .settings-subtile-icon svg{width:26px;height:26px}
#hrSettingsContent .settings-subtile>summary>strong{min-width:0;overflow-wrap:normal}

.hr-employment-status{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink)}
.hr-employment-status::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--muted)}
.hr-employment-status[data-state=active]::before{background:#23854a}.hr-employment-status[data-state=upcoming]::before{background:#b58000}.hr-employment-status[data-state=departed]::before{background:#c44242}

/* Calendar workspace uses existing settings tiles, form tokens and buttons. */
.rc-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-block:12px;min-width:0}.rc-calendar[data-mode=day]{grid-template-columns:minmax(0,1fr)}.rc-calendar[data-mode=year]{grid-template-columns:repeat(4,minmax(0,1fr))}.rc-calendar-day{min-width:0;border:1px solid var(--line);border-radius:10px;padding:8px}.rc-calendar-day h4{font-size:13px;margin:0 0 8px}.rc-calendar-event{display:block;width:100%;min-width:0;white-space:normal;text-align:left;overflow-wrap:anywhere;font-size:12px;margin-block:4px}.rc-calendar-slot{min-height:28px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}#remoteCareSystemSettings .remote-system-check{min-height:36px;padding:7px 10px;gap:8px;grid-template-columns:minmax(0,1fr) auto}#remoteCareSystemSettings .remote-system-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#remoteCareOperationsStatus{min-width:0}#remoteCareOperationsStatus p{margin-block:6px}@media(max-width:900px){.rc-calendar[data-mode=week],.rc-calendar[data-mode=month]{grid-template-columns:repeat(2,minmax(0,1fr))}.rc-calendar[data-mode=year]{grid-template-columns:repeat(2,minmax(0,1fr))}#remoteCareSystemSettings .remote-system-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.rc-calendar[data-mode=week],.rc-calendar[data-mode=month]{grid-template-columns:minmax(0,1fr)}#remoteCareSystemSettings .remote-system-info-grid{grid-template-columns:minmax(0,1fr)}}

.sale-employee-comparison{display:grid;gap:8px;min-width:0;margin-block:12px}.sale-employee-row{display:grid;grid-template-columns:minmax(100px,180px) minmax(0,1fr) minmax(86px,max-content);align-items:center;gap:12px;min-height:30px;min-width:0}.sale-employee-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.sale-employee-row>svg{display:block;width:100%;height:24px;min-width:0}.sale-employee-value{text-align:right;white-space:nowrap;font-size:13px;font-variant-numeric:tabular-nums}@media(max-width:600px){.sale-employee-row{grid-template-columns:minmax(74px,100px) minmax(0,1fr) minmax(74px,max-content);gap:8px}.sale-employee-name,.sale-employee-value{font-size:12px}}

/* RemoteCARE calendar containers must not inherit a table intrinsic minimum. */
#remoteCareSettingsCard{min-width:0;max-width:100%}
#remoteCareAppointmentsSettings .settings-subtile-body,#remoteCareOperationsStatus{min-width:0;max-width:100%}
:is(#remoteCareAppointmentsSettings,#remoteCareOperationsStatus) .remote-row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
:is(#remoteCareAppointmentsSettings,#remoteCareOperationsStatus) .remote-inline-editor{margin-block:12px;padding:12px;border:1px solid var(--line);border-radius:12px;min-width:0}
:is(#remoteCareAppointmentsSettings,#remoteCareOperationsStatus) input,:is(#remoteCareAppointmentsSettings,#remoteCareOperationsStatus) select{min-width:0;max-width:100%}
#remoteCareOperationsStatus li{overflow-wrap:anywhere;margin-block:12px}

/* SharePoint uses the existing settings tiles and form/table design tokens. */
#settingsWorkspace .sp-library-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
#settingsWorkspace .sp-library-tile>summary{min-height:104px;padding:18px 16px;gap:10px}
#settingsWorkspace .sp-library-tile .settings-subtile-icon{display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px}
#settingsWorkspace .sp-library-tile .settings-subtile-icon svg{width:24px;height:24px}
#settingsWorkspace .sp-technical-settings{margin:24px 0}
#settingsWorkspace .sp-technical-settings>summary,.sp-module-documents>summary{padding:18px 20px;min-height:64px;cursor:pointer;color:var(--navy);font-weight:500}
.sp-module-documents{margin-top:24px}
.sp-module-documents .settings-subtile-body{padding:20px}
.sp-module-documents .settings-workspace-card{background:var(--surface);border:0;padding:0}
.sp-module-documents .dh-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sp-module-documents input,.sp-module-documents select{max-width:100%}
.sp-module-documents td button{margin:4px}
@media(max-width:1100px){#settingsWorkspace .sp-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){#settingsWorkspace .sp-library-grid,.sp-module-documents .dh-form-grid{grid-template-columns:minmax(0,1fr)}}

#settingsWorkspace .sp-library-tile>summary strong{min-width:0;flex:1;overflow-wrap:anywhere}

/* Updates & Sicherheit: four existing controls, unchanged handlers and rights. */
#settingsArea-safety.settings-subgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
#settingsArea-safety>.settings-subtile[open]{grid-column:1/-1}
@media(max-width:1050px){#settingsArea-safety.settings-subgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#settingsArea-safety.settings-subgrid{grid-template-columns:minmax(0,1fr)}}

/* HR master profile: consistent section and control spacing. */
#hrContent .hr-profile-master{gap:16px}
#hrContent .hr-profile-master>.hr-editor-stack{gap:8px}
#hrContent .hr-profile-master h3{margin:0;font-size:15px;line-height:1.3}
#hrContent .hr-profile-master form{display:grid;gap:10px;margin:0;padding:0;border:0;min-width:0}
#hrContent .hr-profile-master>.hr-editor-stack+ .hr-editor-stack{border-top:0;padding-top:0}
#hrContent .hr-profile-master>.hr-editor-stack>form .dh-filter-actions{margin:0}
#hrContent .hr-profile-master .dh-form-grid{gap:10px 12px}#hrContent .hr-profile-master .dh-form-grid>label{align-content:start;gap:5px;font-size:12px;line-height:1.35}
#hrContent .hr-profile-master .dh-form-grid>label>input:not([type=hidden]),
#hrContent .hr-profile-master .dh-form-grid>label>.dh-select,
#hrContent .hr-profile-master .dh-form-grid>label>select:not(.dh-select-native){margin:0!important;width:100%;min-width:0;box-sizing:border-box}
#hrContent .hr-profile-master .dh-form-grid>label>input:not([type=hidden]),
#hrContent .hr-profile-master .dh-form-grid>label>.dh-select>.dh-select-button,
#hrContent .hr-profile-master .dh-form-grid>label>select:not(.dh-select-native){height:var(--dh-control,48px);min-height:var(--dh-control,48px);box-sizing:border-box}
#hrContent .hr-profile-master .dh-form-grid>p:empty{display:none}


/* 039: existing sidebar, fixed brand/footer, independently scrollable navigation. */
.dh-sidebar>.dh-sidebar-brand,.dh-sidebar>.dh-sidebar-footer{flex-shrink:0}
.dh-sidebar .dh-sidebar-scroll{flex:1 1 0;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--teal) transparent;scroll-padding-block:12px}
.dh-sidebar .dh-sidebar-scroll::-webkit-scrollbar{width:6px}
.dh-sidebar .dh-sidebar-scroll::-webkit-scrollbar-thumb{background:var(--teal);border-radius:10px}
.dh-sidebar .dh-sidebar-scroll:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
/* 040: reuse settings spacing, status dots and the existing four-column grid. */
#settingsWorkspace .sp-connection-card.settings-workspace-card{display:grid;gap:16px;padding-bottom:0;border-bottom:0}
#settingsWorkspace .sp-connection-card>h3,#settingsWorkspace .sp-connection-card>p{margin:0}
#settingsWorkspace .sp-connection-card>.sp-technical-settings{margin:0}
#settingsWorkspace .sp-library-grid{align-items:start}
#settingsWorkspace .sp-library-tile>summary,#settingsWorkspace .sp-technical-settings>summary{min-height:72px;padding:12px 16px;gap:12px}
#settingsWorkspace .sp-connection-card .sp-library-tile>summary{min-height:96px!important}
#settingsWorkspace .sp-connection-card :is(.sp-library-tile,.sp-technical-settings)>summary{grid-template-columns:48px minmax(0,1fr) 20px!important;padding:12px 16px!important}
#settingsWorkspace .sp-connection-card .settings-subtile-icon{width:48px!important;height:48px!important}
#settingsWorkspace .sp-library-label{display:grid;gap:4px;min-width:0;flex:1}
#settingsWorkspace .sp-library-label small{font-size:11px;font-weight:400;color:var(--muted)}
#settingsWorkspace .sp-library-tile .settings-subtile-icon{width:48px;height:48px}
#settingsWorkspace .sp-library-tile .settings-subtile-icon svg{width:32px;height:32px}
#settingsWorkspace .sp-connection-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0}
#settingsWorkspace .sp-connection-status time{font-size:12px;color:var(--muted)}
#settingsWorkspace .sp-connection-card>button{justify-self:start;margin:0}
#settingsWorkspace .sp-library-tile .settings-subtile-body{display:grid;gap:16px}
#settingsWorkspace .sp-library-tile .settings-subtile-body>p{margin:0}

/* Tasks 042–046: existing DataHub tokens and scoped controls. */
#documentPreview{cursor:zoom-in}
.receipt-pdf-magnifier{width:min(1200px,96vw);height:94dvh;max-width:96vw;max-height:94dvh;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface,#fff);color:var(--ink,#173543);overflow:hidden}
.receipt-pdf-magnifier[open]{display:flex;flex-direction:column}
.receipt-pdf-magnifier::backdrop{background:rgb(0 20 35 / 65%)}
.receipt-pdf-magnifier-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;flex:none}
.receipt-pdf-magnifier-pages{overflow:auto;min-height:0;flex:1;padding:16px;overscroll-behavior:contain}
.receipt-pdf-magnifier-page{min-height:200px;margin:0 0 16px;text-align:center}
.receipt-pdf-magnifier-page canvas{display:block;max-width:100%;height:auto;margin:auto;cursor:zoom-out}
#storeMasterListCard .store-master-filterbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr) auto;align-items:end;gap:16px;margin-bottom:16px}
#storeMasterListCard .store-master-filterbar>label{width:auto;min-width:0;margin:0}
#storeMasterListCard .store-master-filterbar input,#storeMasterListCard .store-master-filterbar select,#storeMasterListCard .store-master-filterbar>button{height:48px;min-height:48px;box-sizing:border-box}
@media(max-width:640px){#storeMasterListCard .store-master-filterbar{grid-template-columns:1fr}.receipt-pdf-magnifier{width:98vw;max-width:98vw;height:96dvh;max-height:96dvh}}

#documents .receipt-analysis-details{padding:0;margin:16px 0 0}#documents .receipt-analysis-details>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:12px 14px;gap:8px}#documents .receipt-analysis-details .dh-data-stand{margin:0}.receipt-analysis-body{padding:0 14px 12px}.receipt-recognition-scroll{overflow-x:auto}.receipt-recognition-table{width:100%;border-collapse:collapse;font-size:13px}.receipt-recognition-table th,.receipt-recognition-table td{padding:6px 8px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.receipt-recognition-table tbody th{font-weight:500}.receipt-recognition-certain{color:var(--dh-success)}.receipt-recognition-review{color:var(--dh-warning)}.receipt-recognition-missing{color:var(--dh-danger)}

/* HR administration: shared toolbar controls and the approved compact absence card. */
.hr-admin-toolbar{align-items:end;gap:12px}
.hr-admin-toolbar>button{align-self:end;height:var(--dh-control,48px);min-height:var(--dh-control,48px);margin:0}
.hr-admin-toolbar>label{align-content:start;gap:8px;min-width:0}
.hr-admin-toolbar>label>input,.hr-admin-toolbar>label>select,.hr-admin-toolbar>label>.dh-select{margin:0!important;min-width:0;width:100%;box-sizing:border-box}
.hr-admin-toolbar>label>input,.hr-admin-toolbar>label>select:not(.dh-select-native),.hr-admin-toolbar>label>.dh-select>.dh-select-button{height:var(--dh-control,48px);min-height:var(--dh-control,48px)}
.hr-profile-tabs button{height:36px;min-height:36px;align-self:stretch}
.hr-absence-workspace{display:grid;gap:20px;min-width:0}
.hr-absence-calendar{border:1px solid var(--line);border-radius:var(--dh-radius,16px);padding:16px;display:grid;gap:12px;min-width:0;background:var(--surface)}
.hr-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hr-calendar-heading h3{font-size:20px;margin:0}
.hr-calendar-switch{display:flex;gap:4px;flex-wrap:wrap}
.hr-absence-calendar .hr-calendar-switch button{min-height:36px;padding:6px 14px;border:0;border-radius:18px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}
.hr-calendar-switch button[aria-pressed=true]{background:var(--navy,#002f50);color:#fff}
.hr-calendar-navigation{display:grid;grid-template-columns:48px minmax(100px,1fr) 48px auto minmax(150px,180px) auto;align-items:end;gap:8px}
.hr-calendar-navigation>button{height:48px;min-height:48px;margin:0}
.hr-calendar-navigation>strong{align-self:end;display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center;font-size:16px}
.hr-calendar-navigation>label{display:grid;gap:6px;min-width:0;margin:0}
.hr-calendar-navigation input{width:100%;min-width:0;box-sizing:border-box;height:48px;min-height:48px;margin:0!important}
.hr-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.hr-calendar-weekday{text-align:center;color:var(--muted);font-size:12px;font-weight:700;padding:4px}
.hr-calendar-cell{position:relative;min-height:58px;min-width:0;padding:4px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:6px;background:var(--soft)}
.hr-calendar-cell.is-outside{background:transparent;opacity:.55}
.hr-calendar-date{align-self:flex-start;border:0;background:transparent;color:var(--ink);font:inherit;font-size:12px;line-height:1.2;padding:0;cursor:pointer;min-width:20px;min-height:20px;text-align:left}
.hr-calendar-date[aria-current=date]{font-weight:700;outline:2px solid var(--teal);border-radius:4px}
.hr-absence-mark{display:block;height:5px;min-height:5px;padding:0;margin:0;border:0;border-radius:4px;cursor:pointer;flex:none;background:var(--teal,#00a7ad);width:100%}
.hr-absence-mark[data-kind=vacation]{background:var(--teal,#00a7ad)}
.hr-absence-mark[data-kind=sick],.hr-absence-mark[data-kind=child_sick]{background:#e88b11}
.hr-absence-mark[data-kind=training]{background:#597fc1}
.hr-absence-mark[data-kind=other]{background:#9565ad}
.hr-absence-mark[data-kind=unavailable]{background:var(--muted)}
.hr-absence-mark.is-half{width:50%}
.hr-absence-mark[data-status=requested]{opacity:.65;outline:1px dashed currentColor}
.hr-absence-mark[data-status=rejected],.hr-absence-mark[data-status=cancelled]{opacity:.35}
.hr-calendar-more{font:inherit;font-size:11px;color:var(--ink);background:transparent;border:0;padding:0;cursor:pointer;text-align:left}
.hr-calendar-warning{position:absolute;right:4px;top:2px;font-weight:700;color:#c47f00}
.hr-calendar-cell[data-warning=red] .hr-calendar-warning{color:#d04045}
.hr-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px}
.hr-calendar-legend>span{display:inline-flex;align-items:center;gap:5px}
.hr-calendar-legend>span:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--teal,#00a7ad)}
.hr-calendar-legend>[data-kind=sick]:before{background:#e88b11}
.hr-calendar-legend>[data-kind=training]:before{background:#597fc1}
.hr-calendar-legend>[data-kind=other]:before{background:#9565ad}
.hr-calendar-legend>[data-kind=unavailable]:before{background:var(--muted)}
.hr-calendar-year{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hr-calendar-month-title{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;padding:4px 0 8px;cursor:pointer}
.hr-calendar-mini .hr-calendar-cell{min-height:22px;padding:2px;gap:2px}
.hr-calendar-mini .hr-calendar-date{font-size:10px;min-height:14px;min-width:14px}
.hr-calendar-mini .hr-absence-mark{height:3px;min-height:3px}
.hr-calendar-day-list{display:grid;gap:8px;padding-block:8px;border-bottom:1px solid var(--line)}
.hr-calendar-day-list h4{margin:0}
.hr-calendar-entry{display:block;width:100%;text-align:left;white-space:normal;border-left:4px solid var(--teal)}
.hr-calendar-entry[data-kind=sick],.hr-calendar-entry[data-kind=child_sick]{border-left-color:#e88b11}
.hr-calendar-entry[data-kind=training]{border-left-color:#597fc1}
.hr-staffing-status{font-size:13px;color:var(--muted);margin:0}
.hr-staffing-status[data-state=red]{color:#d04045}
.hr-staffing-status[data-state=yellow]{color:#b47a00}
.hr-staffing-status[data-state=green]{color:#168c69}
@media(max-width:1000px){.hr-calendar-navigation{grid-template-columns:48px minmax(80px,1fr) 48px auto}.hr-calendar-navigation>label{grid-column:1/4}.hr-calendar-year{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hr-absence-calendar{padding:12px;gap:10px}.hr-calendar-heading{align-items:flex-start}.hr-calendar-switch{width:100%;justify-content:space-between}.hr-calendar-switch button{flex:1;padding-inline:8px}.hr-calendar-navigation{grid-template-columns:40px minmax(80px,1fr) 40px}.hr-calendar-navigation>button:nth-of-type(n+3){grid-column:1/-1;min-width:0;width:100%}.hr-calendar-navigation>label{grid-column:1/-1}.hr-calendar-refresh{grid-column:1/-1}.hr-calendar-cell{min-height:52px;padding:3px;gap:3px}.hr-calendar-year{grid-template-columns:minmax(0,1fr)}.hr-calendar-navigation>strong{font-size:14px}}

/* HR request count: exact shared Intranet badge dimensions and colours. */
.hr-request-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;border-radius:999px;font-size:11px;font-weight:700;line-height:1;background:#087e82;color:#fff;font-variant-numeric:tabular-nums;pointer-events:none}
#hrTab>.hr-request-badge{margin-left:auto}
.hr-absence-tile{position:relative}
.hr-absence-tile>.hr-request-badge{position:absolute;top:16px;right:16px}
.hr-absence-tile .dh-tile-title{padding-right:28px}
body.dh-sidebar-collapsed #hrTab>.hr-request-badge{position:absolute;right:2px;top:1px;min-width:15px;height:15px;font-size:9px;padding:0 3px}
html[data-theme=dark] .hr-request-badge{background:#217d80;color:#fff}
.hr-absence-register,.hr-open-requests{min-width:0}
.hr-open-requests .dh-filter-actions,.hr-absence-register .dh-filter-actions{flex-wrap:wrap}

/* 082: shared trash-2 control; visual change only, existing handlers and policy retained. */
/* Labeled action alternative: up to two text lines remain aligned with icon controls. */
body button.datahub-action-text{display:inline-flex;align-items:center;justify-content:center;height:var(--dh-control,48px);min-height:var(--dh-control,48px);box-sizing:border-box;padding-block:4px;line-height:1.2;white-space:normal}
body button.datahub-delete-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--dh-action-size,var(--dh-control,48px))!important;width:var(--dh-action-size,var(--dh-control,48px))!important;height:var(--dh-action-size,var(--dh-control,48px))!important;min-width:var(--dh-action-size,var(--dh-control,48px))!important;min-height:var(--dh-action-size,var(--dh-control,48px))!important;max-width:var(--dh-action-size,var(--dh-control,48px))!important;max-height:var(--dh-action-size,var(--dh-control,48px))!important;padding:0!important;gap:0;border:1px solid var(--line);border-radius:var(--dh-radius-sm,8px);background:var(--surface);color:var(--muted);vertical-align:middle;box-sizing:border-box;line-height:1;box-shadow:none}
body button.datahub-delete-button svg{display:block;width:20px;height:20px;flex:none;pointer-events:none}
body button.datahub-delete-button:hover:not(:disabled){color:var(--dh-danger);border-color:var(--dh-danger);background:var(--soft)}
body button.datahub-delete-button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
body button.datahub-delete-button:disabled{opacity:.45;cursor:not-allowed}
/* Compact action rows retain their existing size; touch targets remain at least 44px. */
#orderHistory .order-supplier-card .settings-actions{--dh-action-compact-size:40px;--dh-action-size:var(--dh-action-compact-size)}
.shop-shipping-card .settings-actions{--dh-action-compact-size:34px;--dh-action-size:var(--dh-action-compact-size)}
@media(pointer:coarse){body button.datahub-delete-button{--dh-action-size:max(44px,var(--dh-action-compact-size,var(--dh-control,48px)))}.settings-actions>button{min-height:44px}}
/* 083: scoped to HR permission assignments; existing switches and form controls. */
.hr-scope-editor{display:grid;gap:12px;min-width:0}
.hr-scope-editor>[role=status]:empty{display:none}
.hr-scope-editor>h3{margin:0;font-size:16px}
.hr-scope-editor .hr-permission-assignment{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:var(--dh-radius,12px);background:var(--surface)}
.hr-scope-editor .hr-assignment-context,.hr-scope-editor .hr-assignment-state{margin:0;overflow-wrap:anywhere}
.hr-scope-editor .hr-permission-assignment>h4{font-size:14px;margin:2px 0}
.hr-scope-editor .hr-scope-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start;margin:0}
.hr-scope-editor .hr-scope-context>label{display:grid;gap:5px;min-width:0;margin:0}
.hr-scope-editor .hr-scope-context>label[hidden]{display:none}
.hr-scope-editor .hr-scope-company{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px}
.hr-scope-editor .hr-scope-context :is(input,select,.dh-select-button,.dh-calendar-trigger){min-width:0;max-width:100%;box-sizing:border-box}
body #admin .hr-scope-context :is(input[type=date],select,.dh-select-button){height:48px;min-height:48px;margin-top:0;margin-bottom:0;box-sizing:border-box}
.hr-scope-editor .dh-form-grid.hr-permission-areas{grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}
.hr-scope-editor details.hr-permission-area{border:1px solid var(--line);border-radius:8px;margin:0;min-width:0;background:var(--surface);overflow:visible}
.hr-scope-editor .hr-permission-area>summary{padding:10px 12px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px}
.hr-scope-editor .hr-permission-area>summary::-webkit-details-marker{display:none}
.hr-scope-editor .hr-permission-area>summary::after{content:'›';font-size:22px;line-height:1;transform:rotate(0deg);color:var(--muted)}
.hr-scope-editor .hr-permission-area[open]>summary::after{transform:rotate(90deg)}
.hr-scope-editor .hr-permission-area>summary>span{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}
.hr-scope-editor .hr-permission-area summary strong{font-size:14px}
.hr-scope-editor summary:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:8px}
.hr-scope-editor .hr-permission-area fieldset{margin:0 10px 10px;padding:8px 10px;min-width:0;border:1px solid var(--line);border-radius:6px}
.hr-scope-editor .hr-permission-area legend{font-size:12px;padding-inline:4px;overflow-wrap:anywhere;max-width:100%}
.hr-scope-editor .rights-options{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0}
.hr-scope-editor .rights-options>label{display:inline-flex;align-items:center;gap:6px;min-height:32px;margin:0}
.hr-scope-editor .hr-scope-actions{display:flex;justify-content:flex-start;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 0}
.hr-scope-editor .hr-scope-new{border-top:1px solid var(--line);padding-top:12px}
.hr-scope-editor .hr-scope-new>summary{cursor:pointer;padding-block:8px}
.hr-scope-editor .hr-scope-new>.hr-permission-assignment{margin-top:8px}
@media(max-width:700px){.hr-scope-editor .hr-scope-context{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-scope-editor .hr-permission-assignment{padding:10px}}
@media(max-width:460px){.hr-scope-editor .hr-scope-context{grid-template-columns:minmax(0,1fr)}.hr-scope-editor .hr-scope-actions .primary{width:100%}}

/* 086–087: compact profile, one shared master action and inline field feedback. */
#hrContent .hr-profile-master .hr-master-actions{justify-content:flex-start;margin:4px 0 0}
#hrContent .hr-profile-master .hr-field-error{color:var(--dh-danger);font-size:12px;line-height:1.35}
#hrContent .hr-profile-master .hr-emergency-contact+.hr-emergency-contact{padding-top:10px;border-top:1px solid var(--line)}
@media(max-width:600px){.hr-profile-tabs{width:100%;justify-content:flex-start}.hr-profile-tabs button{width:auto;min-width:max-content}.hr-profile-header h3{font-size:18px}#hrContent .hr-profile-master .dh-form-grid{grid-template-columns:minmax(0,1fr)}}

/* Shared datepicker: keep the usable viewport despite retained generic mobile dialog !important rules. */
#dhCalendar.dh-calendar{width:min(360px,calc(100% - 24px))!important;max-width:calc(100% - 24px)!important;max-height:calc(100dvh - 24px)!important}
/* HR 089–091: informative calendar overlays and compact administrative entry. */
.hr-calendar-overlay-controls{border:1px solid var(--line);border-radius:var(--dh-control-radius);padding:var(--dh-gap);margin-block:var(--dh-gap);min-width:0}
.hr-state-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:var(--dh-gap);padding-block:var(--dh-gap);min-width:0}
.hr-state-options>label,.hr-calendar-overlay-controls>label{display:flex;align-items:center;gap:var(--dh-space);min-height:var(--dh-control);margin:0}
.hr-state-options input[type=checkbox],.hr-calendar-overlay-controls input[type=checkbox]{width:20px;height:20px;flex:none}
.hr-calendar-annotation{display:inline-flex;align-items:center;justify-content:center;min-width:20px;min-height:20px;color:var(--teal)}
.hr-calendar-annotation[data-kind=public]{color:var(--dh-warning)}
.hr-calendar-annotation[data-kind=closure]{color:var(--dh-danger)}
dialog.hr-absence-create{box-sizing:border-box;width:min(720px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:var(--dh-padding);border:1px solid var(--line);border-radius:var(--dh-dialog-radius);background:var(--surface);color:var(--ink);font-family:var(--dh-font)}
dialog.hr-absence-create::backdrop{background:var(--dh-backdrop)}
@media(max-width:600px){dialog.hr-absence-create .dh-form-grid{grid-template-columns:minmax(0,1fr)}.hr-state-options{grid-template-columns:minmax(0,1fr)}}


/* HR 092: actionable full-day cells, informative overlays and shared compact entry. */
.hr-calendar-cell.is-actionable,.hr-calendar-day-list.is-actionable{cursor:pointer}
.hr-calendar-cell.has-school,.hr-calendar-day-list.has-school{background:color-mix(in srgb,var(--teal) 13%,var(--surface))}
.hr-calendar-cell.has-public,.hr-calendar-day-list.has-public{background:color-mix(in srgb,var(--dh-warning) 16%,var(--surface))}
.hr-calendar-cell.has-school.has-public,.hr-calendar-day-list.has-school.has-public{background:linear-gradient(90deg,var(--dh-warning) 0 3px,color-mix(in srgb,var(--teal) 13%,var(--surface)) 3px 100%)}
.hr-calendar-day-list{position:relative;border-radius:var(--dh-radius-sm);padding:var(--dh-gap)}
@media(hover:hover){.hr-calendar-cell.is-actionable:hover,.hr-calendar-day-list.is-actionable:hover{box-shadow:inset 0 0 0 2px var(--teal)}}
.hr-calendar-cell.is-actionable:has(.hr-calendar-date:focus-visible),.hr-calendar-day-list.is-actionable:has(>button:focus-visible){box-shadow:inset 0 0 0 2px var(--teal)}
.hr-calendar-legend>[data-kind=school]:before{border-radius:2px;background:color-mix(in srgb,var(--teal) 18%,var(--surface));border:1px solid var(--teal)}
.hr-calendar-legend>[data-kind=public]:before{border-radius:2px;background:color-mix(in srgb,var(--dh-warning) 20%,var(--surface));border:1px solid var(--dh-warning)}
dialog.hr-absence-create{width:min(660px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
dialog.hr-absence-create>h2{margin:0 0 var(--dh-gap);font-size:22px;line-height:1.25}
dialog.hr-absence-create .hr-absence-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--dh-gap)}
dialog.hr-absence-create .hr-absence-fields>label,dialog.hr-absence-create .hr-absence-dates>section>label{display:grid;gap:6px;margin:0;min-width:0}
dialog.hr-absence-create .hr-absence-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dh-gap)}
dialog.hr-absence-create .hr-absence-dates>section{display:grid;align-content:start;gap:8px;min-width:0}
dialog.hr-absence-create .hr-absence-fields input[type=date],dialog.hr-absence-create .hr-absence-fields select:not(.dh-select-native),dialog.hr-absence-create .hr-absence-fields .dh-select-button{height:var(--dh-control);min-height:var(--dh-control);box-sizing:border-box;margin:0!important;border-width:1px;border-radius:var(--dh-control-radius)}
dialog.hr-absence-create .hr-absence-dayparts{display:grid;gap:6px;min-width:0;margin:0;padding:0;border:0}
dialog.hr-absence-create .hr-absence-dayparts>label{display:flex;align-items:center;gap:8px;margin:0;min-height:28px}
dialog.hr-absence-create .hr-absence-dayparts input[type=radio]{appearance:auto;flex:none;width:18px;height:18px;min-height:18px;margin:0!important;padding:0;box-shadow:none;accent-color:var(--teal)}
dialog.hr-absence-create .hr-absence-period{display:grid;gap:4px;min-width:0}
dialog.hr-absence-create .hr-absence-period>span{font-size:12px;color:var(--muted)}
dialog.hr-absence-create .hr-absence-period>p,dialog.hr-absence-create .hr-absence-fields>p{margin:0}
dialog.hr-absence-create .hr-absence-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--dh-gap);margin:0;padding-top:var(--dh-gap)}
dialog.hr-absence-create .hr-absence-actions>button{width:auto!important;height:var(--dh-control)!important;min-height:var(--dh-control)!important;margin:0;border-radius:var(--dh-control-radius)}
@media(max-width:600px){dialog.hr-absence-create .hr-absence-dates{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){dialog.hr-absence-create{width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;padding:var(--dh-gap)!important}}

/* 039: approved special-moment administration and shared local vector overlays. */
.moments-page{--moment-teal:#00ab98;--moment-soft:#dff7f2;--moment-gold:#edc55f;max-width:1660px;margin:auto}.moment-heading{display:flex;align-items:center;gap:18px;margin:5px 0 30px}.moment-heading h1{margin:0 0 4px;font-size:clamp(26px,3vw,38px);line-height:1.2;letter-spacing:-.8px}.moment-heading p{margin:0;color:var(--muted)}.moment-heading-icon{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;border-radius:16px;background:var(--moment-soft);color:#006b66}.moment-heading-icon svg{width:32px;height:32px}.moment-heading-sprinkles{margin-left:auto;color:#00ac9c;font-size:48px;transform:rotate(15deg)}.moments-columns{display:grid;grid-template-columns:1fr;gap:34px}.moment-info{display:flex;gap:12px;background:linear-gradient(100deg,#e1f6f0,#edf9f7);border:1px solid #daf0e8;padding:18px;border-radius:16px;color:#143c47;margin-bottom:28px}.moment-info>svg{flex:0 0 23px;width:23px;height:23px;color:#008c80}.moment-info strong{font-size:15px;color:#102441}.moment-info p{font-size:12px;line-height:1.6;margin:4px 0 0}.moment-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.moment-list-heading h2{font-size:19px;margin:0}.moments-page .moment-add{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(110deg,#00ae98,#009b8c);color:#fff;border:1px solid #00aa98;box-shadow:0 3px 8px #009d8a18;font-weight:700;padding:9px 15px;min-height:40px;white-space:nowrap}.moment-add>span{font-size:23px;line-height:1}.moment-type-list{display:grid;gap:9px}.moment-type-row{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface);min-height:90px}.moment-type-icon{width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center;border-radius:13px;background:#f9eaf7;overflow:hidden}.moment-type-icon[data-motif=anniversary],.moment-type-icon[data-motif=wedding]{background:#fcf5df}.moment-type-icon[data-motif=birth]{background:#dff9f1}.moment-type-icon .moment-art{width:110px;height:56px;max-width:none}.moment-type-icon[data-motif=birthday] .moment-art-side,.moment-type-icon[data-motif=anniversary] .moment-art-side{display:none}.moment-type-icon[data-motif=birthday] .moment-art{width:155px;transform:scale(1.05)}.moment-type-copy{flex:1;min-width:100px}.moment-type-copy h3{font-size:14px;margin:0 0 4px}.moment-type-copy p{font-size:12px;line-height:1.45;margin:0;color:var(--muted)}.moment-type-row form{margin:0}.moment-toggle{display:flex;align-items:center;gap:7px;min-height:40px;padding:4px 0;background:none;border:none;box-shadow:none;color:var(--text);font-size:12px;white-space:nowrap}.moment-switch{width:34px;height:20px;border-radius:20px;background:#7e8b93;position:relative;display:block}.moment-switch:after{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #16343c30;transition:transform .16s}.moment-toggle[aria-pressed=true] .moment-switch{background:#00ac96}.moment-toggle[aria-pressed=true] .moment-switch:after{transform:translateX(14px)}.moment-preview-button{display:flex;align-items:center;justify-content:center;gap:5px;border:0;border-radius:16px;color:#00635e;background:#def5ef;font-size:12px;font-weight:700;padding:7px 12px;min-height:36px;box-shadow:none;white-space:nowrap}.moment-preview-button svg{width:17px;height:17px}.moment-edit{display:grid;place-items:center;flex:0 0 36px;width:36px;min-height:40px;color:var(--text)}.moment-edit svg{width:20px;height:20px}.moment-preview-section h2{display:flex;align-items:center;gap:10px;font-size:23px;margin:0 0 5px;flex-wrap:wrap}.moment-preview-section h2 svg{width:29px;height:29px;color:#00a68f}.moment-preview-section h2 span{font-size:19px}.moment-preview-section>p{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.5}.moment-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.moment-preview-tile{background:none;padding:0;border:0;box-shadow:none;position:relative;text-align:center;border-radius:18px;min-width:0;width:100%;overflow:hidden;cursor:pointer;transition:transform .2s}.moment-preview-tile:hover{transform:translateY(-2px)}.moment-preview-tile:focus-visible{outline:3px solid #00b49c;outline-offset:4px}.moment-card{display:flex;position:relative;isolation:isolate;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:265px;padding:26px 25px 34px;border-radius:18px;background:radial-gradient(ellipse at 50% 20%,#353635,#242626 85%);color:#fff;border:1px solid #454746;box-shadow:0 10px 24px #0c263515;text-align:center;overflow:hidden}.moment-card-art{display:block;position:relative;width:min(100%,320px);margin:-10px 0 4px;z-index:1}.moment-art{display:block;width:100%;height:auto}.moment-card-title{display:block;font-weight:800;font-size:clamp(21px,2.5vw,31px);line-height:1.17;letter-spacing:-.65px;position:relative;z-index:1;max-width:100%;overflow-wrap:anywhere}.moment-card-subtitle{display:block;position:relative;font-size:clamp(15px,1.6vw,20px);line-height:1.4;font-weight:400;margin:11px 0 0;max-width:100%;z-index:1}.moment-card-sparkles{position:absolute;inset:0;pointer-events:none;z-index:0}.moment-card-sparkles i{position:absolute;width:6px;height:10px;background:#78dac8;border-radius:1px;left:6%;top:16%;transform:rotate(24deg)}.moment-card-sparkles i:nth-child(4n){background:#edc55f;left:87%;top:76%;transform:rotate(-18deg)}.moment-card-sparkles i:nth-child(4n+2){background:#ffd7e5;left:13%;top:72%;transform:rotate(-28deg)}.moment-card-sparkles i:nth-child(4n+3){background:#99f1df;left:83%;top:24%;transform:rotate(38deg)}.moment-card-sparkles i:nth-child(n+5){translate:20px -12px;rotate:20deg}.moment-card-sparkles i:nth-child(n+9){translate:55px 30px;rotate:50deg}.moment-card-sparkles i:nth-child(n+13){translate:-10px 55px;rotate:-25deg}.moment-card-sparkles i:nth-child(n+17){translate:8px -45px;rotate:65deg}.moment-card[data-motif=anniversary] .moment-card-sparkles i{background:#f7dc87;border-radius:50%}.moment-card[data-motif=birth] .moment-card-sparkles i{border-radius:50%;background:#b1eddf}.moment-card[data-motif=birth] .moment-card-sparkles i:nth-child(2n){background:#f4b6d0}.moment-card[data-motif=wedding] .moment-card-sparkles i{border-radius:80% 0;background:#fff0c0}.moment-play-label{display:flex;position:absolute;bottom:9px;left:0;right:0;justify-content:center;align-items:center;gap:5px;font-size:11px;color:#e1f2ed;opacity:0;transition:opacity .2s}.moment-play-label svg{width:13px;height:13px}.moment-preview-tile:hover .moment-play-label,.moment-preview-tile:focus-visible .moment-play-label{opacity:1}.moment-preview-section .moment-preview-note{margin:16px 0 0;font-size:12px}.moment-assignments{margin-top:34px;border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--surface)}.moment-assignments>summary{font-weight:700;cursor:pointer}.moment-assignments p{color:var(--muted);line-height:1.6}.moment-form-page{max-width:850px}.moment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.moment-form-grid label{display:flex;flex-direction:column;gap:7px;min-width:0}.moment-form-grid input,.moment-form-grid select{max-width:100%;width:100%}.moment-check{display:flex;align-items:center;gap:10px;margin:18px 0}.moment-check input{width:18px;height:18px;flex:0 0 18px}.moment-own{border:1px solid var(--line);border-radius:14px;padding:20px;margin:18px 0}.moment-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;pointer-events:none;padding:24px;box-sizing:border-box}.moment-confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.moment-overlay .moment-card{width:min(660px,calc(100vw - 48px));min-height:340px;padding:32px 36px 42px;box-shadow:0 20px 85px #06212545;animation:moment-enter .5s cubic-bezier(.16,1,.3,1) both,moment-exit .35s 4.45s ease-in both}.moment-overlay .moment-card-art{width:min(340px,76%)}.moment-overlay .moment-card-title{font-size:clamp(25px,4.3vw,39px)}.moment-overlay .moment-card-subtitle{font-size:clamp(16px,2.4vw,23px)}.moment-preview-tag{display:block;color:#d6dedb;font-size:11px;margin-top:14px}.moment-skip{position:fixed;top:20px;right:20px;pointer-events:auto;border:1px solid #cde5e0;background:#fff;color:#0b514e;box-shadow:0 2px 12px #11343620;min-height:44px;border-radius:30px;padding:10px 18px;font:inherit;font-size:13px;cursor:pointer}.moment-overlay[data-motif=birthday] .moment-art-main{transform-origin:center;animation:moment-bounce .9s .15s both}.moment-overlay[data-motif=birthday] .moment-art-side{transform-origin:center;animation:moment-pop .65s .2s both}.moment-overlay[data-motif=anniversary] .moment-art-main{transform-origin:center;animation:moment-award 1.1s .1s both}.moment-overlay[data-motif=birth] .moment-art-main{transform-origin:160px 110px;animation:moment-rock 2s .2s ease-in-out infinite}.moment-overlay[data-motif=wedding] .moment-art-main{transform-origin:center;animation:moment-rings 1.2s .1s both}.moment-overlay[data-motif=wedding] .moment-art-side{transform-origin:center;animation:moment-bloom 1.4s .2s both}@keyframes moment-enter{from{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:none}}@keyframes moment-exit{to{opacity:0;transform:translateY(-10px) scale(.98)}}@keyframes moment-bounce{0%{transform:translateY(14px) scale(.8);opacity:0}55%{transform:translateY(-7px) scale(1.05)}100%{transform:none;opacity:1}}@keyframes moment-pop{from{transform:scale(.25);opacity:0}to{transform:none;opacity:1}}@keyframes moment-award{from{transform:translateY(18px);filter:brightness(1.5);opacity:0}to{transform:none;filter:none;opacity:1}}@keyframes moment-rock{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes moment-rings{from{transform:scale(.75) rotate(-12deg);opacity:0}to{transform:none;opacity:1}}@keyframes moment-bloom{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}[data-theme=dark] .moments-page .moment-info{background:linear-gradient(110deg,#143832,#172f31);color:#c3dfd8;border-color:#24504a}[data-theme=dark] .moment-info strong{color:#e4f5f0}[data-theme=dark] .moment-heading-icon{background:#16423a;color:#92e6d3}[data-theme=dark] .moment-preview-button{background:#16443c;color:#a3f0df}[data-theme=dark] .moment-type-icon{background:#422b3c}[data-theme=dark] .moment-type-icon[data-motif=anniversary],[data-theme=dark] .moment-type-icon[data-motif=wedding]{background:#403923}[data-theme=dark] .moment-type-icon[data-motif=birth]{background:#21443c}.moment-static .moment-card,.moment-static .moment-card *{animation:none!important}@media(min-width:1550px){.moments-columns{grid-template-columns:minmax(530px,.95fr) minmax(610px,1.1fr)}}@media(max-width:700px){.moment-heading{gap:12px;margin-bottom:22px}.moment-heading-icon{width:48px;height:48px;flex-basis:48px;border-radius:12px}.moment-heading h1{font-size:28px}.moment-heading p{font-size:13px}.moment-heading-sprinkles{display:none}.moment-type-row{gap:9px;padding:11px;flex-wrap:wrap}.moment-type-copy{flex-basis:calc(100% - 76px)}.moment-type-row form{margin-left:65px}.moment-edit{margin-left:auto}.moment-type-icon{width:52px;height:52px;flex-basis:52px}.moment-preview-grid{gap:12px}.moment-card{min-height:235px;padding:18px 13px 28px;border-radius:14px}.moment-card-art{margin:0 0 6px}.moment-card-title{font-size:21px}.moment-card-subtitle{font-size:14px}.moment-preview-section h2{font-size:21px}.moment-form-grid{grid-template-columns:1fr}.moment-preview-tile .moment-play-label{opacity:1;font-size:10px}.moment-list-heading{flex-wrap:wrap}.moment-info{padding:14px}.moment-overlay{padding:16px}.moment-overlay .moment-card{width:calc(100vw - 32px);padding:24px 20px 30px;min-height:290px}.moment-skip{top:12px;right:12px}.moment-overlay .moment-card-art{width:260px}}@media(max-width:480px){.moment-preview-grid{grid-template-columns:1fr}.moment-card-title{font-size:28px}.moment-card-subtitle{font-size:17px}.moment-card-art{width:270px}.moment-preview-section>p{font-size:13px}}@media(prefers-reduced-motion:reduce){.moment-overlay .moment-card,.moment-overlay .moment-card *,.moment-preview-tile,.moment-switch:after{animation:none!important;transition:none!important}.moment-confetti{display:none}}

.moment-type-icon[data-motif=birth] .moment-art{transform:translateX(-25px) scale(1.1)}
.moment-type-icon{position:relative}.moment-type-icon .moment-art{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.moment-type-icon[data-motif=birthday] .moment-art{transform:translate(-50%,-50%) scale(1.05)}.moment-type-icon[data-motif=birth] .moment-art{transform:translate(calc(-50% - 27px),-50%) scale(1.1)}
.moment-preview-tile{display:block;align-self:stretch;container-type:inline-size}.moment-preview-tile>.moment-card{height:100%}.moment-preview-tile .moment-card-title{font-size:clamp(19px,6.8cqw,30px)}.moment-preview-tile .moment-card-subtitle{font-size:clamp(14px,4.7cqw,20px)}.moment-overlay .moment-card-subtitle{color:#f7faf9}

.moment-form-page{max-width:none;width:100%;margin:0}.moment-form-page>.dh-page-heading{align-items:flex-start;margin-bottom:24px}.moment-form-page>.dh-page-heading .button{white-space:nowrap}.moment-section-title{font-size:19px;margin:0 0 18px}.moment-form-grid{gap:18px 24px;align-items:start}.moment-form-grid>label,.moment-year-field{margin:0;display:flex;flex-direction:column;gap:8px;font-weight:600}.moment-form-grid>label>input,.moment-form-grid>label>select,.moment-year-row>input{height:44px;min-height:44px;box-sizing:border-box;margin:0;padding:0 12px;line-height:normal;font:inherit;font-weight:400}.moment-form-grid>label>select{padding-right:38px;background-position:right 12px center}.moment-form-page .moment-check{margin:14px 0;align-items:center;font-weight:400}.moment-form-actions{margin-top:18px;gap:10px;justify-content:flex-start}.moment-year-list{display:grid;gap:8px}.moment-year-row{display:flex;align-items:center;gap:10px}.moment-year-row>input{width:110px}.moment-year-row>button{height:40px;width:40px;min-width:40px;font-size:21px;padding:0;line-height:1}.moment-year-active{display:flex;align-items:center;gap:7px;margin:0;white-space:nowrap;font-size:13px;font-weight:400}.moment-year-active input{width:17px;height:17px;margin:0}.moment-year-add{align-self:flex-start;min-height:40px;padding:7px 12px}.moment-hr-source{margin-top:28px;padding:20px;border:1px solid var(--line);border-radius:14px}.moment-hr-source h2{font-size:18px;margin:0 0 8px}.moment-hr-source p{color:var(--muted);margin:0 0 15px;line-height:1.5}@media(max-width:700px){.moment-form-page>.dh-page-heading{flex-direction:column;gap:14px}.moment-form-grid{grid-template-columns:1fr}}

#hrMoments039 .moment-management{min-width:0}#hrMoments039 .moment-toggle{min-width:74px}#hrMoments039 .moment-type-row{grid-template-columns:48px minmax(120px,1fr) auto auto auto}#hrMoments039 .moment-form-page{margin-top:24px}#hrMoments039 .moment-preview-grid .moment-card{height:100%}#hrMoments039 .moment-info{display:block}#hrMoments039 .moment-preview-tile{min-width:0}
#hrMoments039 .moment-list-heading .primary{background:#00a58b;border-color:#00a58b;color:#fff}#hrMoments039 .moment-list-heading .primary:hover{background:#008e79}#hrMoments039 .moment-toggle{background:none;border:0;padding:4px 0;box-shadow:none}#hrMoments039 .moment-preview-button{background:#def5ef;border:0;color:#00635e;min-height:36px}#hrMoments039 .moment-edit{border:0;background:transparent;padding:6px;box-shadow:none}#hrMoments039 .moment-year-row svg{width:20px;height:20px}#hrMoments039 .moment-year-row>label:first-child{width:110px}#hrMoments039 .moment-year-row>button{margin-left:auto}#hrMoments039 .moment-year-row input[type=number]{width:110px}#hrMoments039 .moment-year-row .moment-check{white-space:nowrap}#hrMoments039 .moment-type-copy{flex:1;min-width:120px}[data-theme=dark] #hrMoments039 .moment-preview-button{background:#16443c;color:#a3f0df}
#hrMoments039 .moment-card .moment-card-subtitle{color:#f7faf9}

/* Compact document-only card assignments and cost approval preview. */
.dh-dialog-cost .dh-section, .dh-dialog-cost .dh-section > .settings-subtile { width: 100%; min-width: 0; max-width: 100%; }
.cost-assignment-scroll { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; }
.cost-assignment-table { width: 100%; min-width: 44rem; }
.cost-assignment-table td, .cost-assignment-table th { vertical-align: middle; }
.cost-assignment-table td:first-child .small { display: block; }
.cost-assignment-table th:nth-child(4), .cost-assignment-table td:nth-child(4) { width: 17rem; }
.cost-assignment-table .dh-select { min-width: 14rem; width: 100%; }
.cost-approval-preview { margin-block: 1rem; }

/* HR navigation tiles retain a shared intrinsic row height on narrow screens. */
#hrContent > .dh-tile-grid {
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
}
#hrContent > .dh-tile-grid > .datahub-tile {
  min-height: 170px !important;
  height: 100% !important;
}
#hrContent > .dh-tile-grid > .datahub-tile > .datahub-tile-open {
  margin-top: auto !important;
  min-height: var(--dh-control);
}

/* Personnel file095: existing HR tab, shared controls/dialogs and bounded mobile tables. */
.hr-personnel-file{min-width:0;max-width:100%}
.hr-personnel-file>.dh-page-heading{margin-bottom:16px;align-items:center}
.hr-personnel-file>.dh-page-heading h3{margin:0}
.hr-personnel-file>.dh-page-heading p{margin:4px 0 0}
.hr-personnel-file>.dh-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr));margin-block:12px}
.hr-file-empty{padding-block:16px;margin:0}
.hr-file-name{display:flex;align-items:flex-start;gap:8px;min-width:0}
.hr-file-name>svg{flex:0 0 24px;width:24px;height:24px;color:var(--teal)}
.hr-file-name>div{min-width:0;display:grid;gap:4px}
.hr-file-name strong,.hr-file-name span{overflow-wrap:anywhere}
.hr-table-scroll .hr-file-table{width:100%;min-width:760px;table-layout:fixed}
.hr-table-scroll .hr-file-table th,.hr-table-scroll .hr-file-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}
.hr-file-table th:first-child{width:21%}
.hr-file-table th:last-child{width:23%}
.hr-file-table .dh-filter-actions{gap:6px;align-items:flex-start}
.hr-file-table .dh-button,.hr-file-actions>button{min-height:40px;padding:6px 10px;font-size:12px}
.hr-file-actions{width:100%;min-width:0}
.hr-file-actions>summary{cursor:pointer;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--dh-control-radius);font-weight:600}
.hr-file-actions[open]>button{display:block;margin-top:6px;width:100%;text-align:left}
.hr-file-pending{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--line)}
.hr-file-pending>span{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}
.hr-file-preview{display:block;width:100%;height:65dvh;border:1px solid var(--line);border-radius:var(--dh-control-radius);background:var(--surface)}
.hr-file-image{display:block;max-width:100%;max-height:65dvh;margin:auto;object-fit:contain}
.hr-file-dialog .dh-form-grid{min-width:0}
.hr-file-connection{margin-top:16px}
@media(max-width:600px){
 .hr-personnel-file>.dh-page-heading{align-items:flex-start;flex-direction:column;gap:12px}
 .hr-personnel-file>.dh-filter-bar,.hr-file-dialog .dh-form-grid{grid-template-columns:minmax(0,1fr)}
 .hr-table-scroll .hr-file-table,.hr-file-table tbody,.hr-file-table tr{display:block;min-width:0;width:100%}
 .hr-file-table thead{display:none}
 .hr-file-table tr{margin-block:12px;padding:12px;border:1px solid var(--line);border-radius:var(--dh-control-radius)}
 .hr-file-table td{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:6px 0;border:0;width:100%;min-width:0}
 .hr-file-table td::before{content:attr(data-label);font-size:11px;font-weight:700;color:var(--muted)}
}

/* Shared clock cards: bounded credential previews, no horizontal page overflow. */
.hr-clock-preview img{display:block;max-width:100%;height:auto}
.hr-signal-neutral{color:var(--text)}

/* DataHub Standard: Zentrale Anwendungsrechte */
#centralAccess{--central-border:var(--line,#d5e1e8);--central-accent:#008b87;color:var(--ink,#002f50)}.central-grid{display:grid;grid-template-columns:minmax(210px,280px) minmax(0,1fr);gap:24px;margin-top:20px}.central-grid>aside{border:1px solid var(--central-border);border-radius:14px;padding:12px;align-self:start}.central-person{display:block;text-align:left;width:100%;border:0;border-radius:8px;padding:12px;background:transparent}.central-person small{display:block;overflow-wrap:anywhere}.central-person.selected,.central-person:hover{background:color-mix(in srgb,#34dec6 16%,transparent)}.central-grid details{margin:12px 0;border:1px solid var(--central-border);border-radius:10px;padding:12px}.central-check{display:flex;align-items:center;gap:9px;margin:7px 0}.central-check input{width:18px;height:18px;accent-color:var(--central-accent);flex:none}.central-filters{display:flex;gap:12px;flex-wrap:wrap}.central-filters label{flex:1;min-width:160px}.central-matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:16px 0}.central-permission{border:1px solid var(--central-border);border-radius:12px;padding:14px}.central-permission h4{margin:0}.central-permission-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid var(--central-border);margin-top:7px;min-height:38px}.central-permission-row>small,.central-inherited{font-size:12px;max-width:55%}.central-inherited button{padding:2px 4px;color:var(--central-accent)}.central-scopes input,.central-create input{display:block;max-width:100%}.central-grid pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.central-grid>section{min-width:0}@media(max-width:760px){.central-grid{grid-template-columns:1fr}.central-grid>aside{max-height:230px;overflow:auto}.central-matrix{grid-template-columns:1fr}}

.central-savebar{position:sticky;bottom:10px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;gap:10px;box-shadow:0 4px 20px #002f5014;z-index:2}.central-grid>section>label:not(.central-check){display:block;margin:10px 0}.central-grid>section>label:not(.central-check)>input{display:block;width:100%}#centralAccess{font-family:'Ubuntu',sans-serif}



/* Central user administration: compact application/area/action overview. */
#centralAccess .central-grid{gap:16px;margin-top:12px;align-items:start}
#centralAccess .central-grid>aside{padding:10px;max-height:75vh;overflow:auto}
#centralAccess .central-person{padding:9px 10px;min-height:44px}
#centralAccess .central-account{margin:0;gap:10px}
#centralAccess .central-object-id{display:block;overflow-wrap:anywhere;opacity:.72;margin:6px 0 10px}
#centralAccess .central-account-flags{display:flex;flex-wrap:wrap;gap:4px 18px}
#centralAccess .central-check{margin:0;min-height:36px;gap:7px;font-size:13px}
#centralAccess .central-assignments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 14px}
#centralAccess .central-grid details{padding:8px 10px;margin:0;border-radius:8px}
#centralAccess summary{cursor:pointer;min-height:32px;align-content:center;font-weight:500}
#centralAccess .central-assignments details[open]{max-height:280px;overflow:auto}
#centralAccess .central-filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:10px;align-items:end}
#centralAccess .central-filters label{min-width:0;margin:0}
#centralAccess .central-filters input,#centralAccess .central-filters select,#centralAccess .central-account input{width:100%;height:var(--dh-control,48px);min-height:var(--dh-control,48px);margin-bottom:0}
#centralAccess .central-legend{margin:8px 0 12px;line-height:1.45}
#centralAccess .central-application{margin:12px 0}
#centralAccess .central-application>h4{margin:0 0 8px;font-size:15px}
#centralAccess .central-area{margin-bottom:6px}
#centralAccess .central-table-scroll{overflow:auto;max-width:100%;margin-top:6px}
#centralAccess .central-rights-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}
#centralAccess .central-rights-table th,#centralAccess .central-rights-table td{padding:8px;vertical-align:top;border-bottom:1px solid var(--central-border);white-space:normal;overflow-wrap:anywhere;text-align:left}
#centralAccess .central-rights-table thead th:first-child{width:24%}
#centralAccess .central-rights-table thead th:last-child{width:25%}
#centralAccess .central-rights-table tbody th{font-weight:500}
#centralAccess .central-resource-id{display:block;font-size:11px;font-weight:400;opacity:.7;margin-top:3px}
#centralAccess .central-actions{display:flex;flex-wrap:wrap;gap:2px 12px}
#centralAccess .central-action{flex-wrap:wrap;min-height:36px}
#centralAccess .central-origin{font-size:10px;opacity:.8;border-bottom:1px dotted currentColor}
#centralAccess .central-rights-table td>small{display:block;margin-top:4px}
#centralAccess .central-rights-table .secondary-link{display:block;min-height:32px;padding:4px 0;text-align:left;white-space:normal;text-decoration:underline;font-size:12px}
#centralAccess .central-scope-action{min-height:36px;padding:5px 8px;font-size:12px}
#centralAccess .central-savebar{position:static;box-shadow:none;border:0;border-top:1px solid var(--central-border);border-radius:0;padding:12px 0 0;gap:8px;margin-top:14px;flex-wrap:wrap;align-items:center;z-index:auto;background:transparent}
#centralAccess .central-save-status{margin-left:auto}
#centralAccess .central-history{margin-top:18px}
#centralAccess .central-history details{margin-bottom:6px}
#centralAccess .central-empty{padding:12px 0}
@media(max-width:900px){#centralAccess .central-grid{grid-template-columns:minmax(180px,220px) minmax(0,1fr)}#centralAccess .central-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#centralAccess .central-filters>label:first-child{grid-column:1/-1}#centralAccess .central-rights-table thead{display:none}#centralAccess .central-rights-table tr{display:block;padding:6px 0;border-bottom:1px solid var(--central-border)}#centralAccess .central-rights-table tbody th,#centralAccess .central-rights-table td{display:block;width:100%;box-sizing:border-box;border:0;padding:4px 0}#centralAccess .central-rights-table td:last-child{font-size:12px}}
@media(max-width:760px){#centralAccess .central-grid{grid-template-columns:minmax(0,1fr)}#centralAccess .central-grid>aside{max-height:230px}#centralAccess .central-save-status{flex-basis:100%;margin-left:0}}
@media(max-width:420px){#centralAccess .central-assignments{grid-template-columns:minmax(0,1fr)}#centralAccess .central-filters{grid-template-columns:minmax(0,1fr)}#centralAccess .central-filters>label:first-child{grid-column:auto}#centralAccess .central-area{padding:8px}#centralAccess .central-actions{gap:2px 8px}}
/* END GENERATED DESIGN STANDARD */
/* 8.1.24 · Shop-Verwaltung als eigenständige Admin-Seiten */
.shop-settings-link-grid{align-items:stretch}
.shop-settings-link{width:100%;min-height:72px;text-align:left;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line,#dbe5ea);border-radius:12px;background:var(--surface,#fff);color:inherit;box-shadow:none}
.shop-settings-link:hover{border-color:#0a7f83;background:#fbfefe}
.shop-settings-link .settings-subtile-icon{margin:0}
.shop-settings-link .settings-subtile-chevron{font-size:28px;line-height:1;color:#087f82}
.shop-settings-summary-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.shop-settings-summary-copy strong{font-size:15px;color:#062f44}
.shop-settings-summary-copy small{font-size:12px;color:#617a87;font-weight:400;line-height:1.35}
.shop-admin-page{}
.shop-admin-page>.dh-page-heading{margin-bottom:18px}
.shop-admin-page-card,.shop-admin-editor-card{padding:20px}
.shop-admin-filterbar-wide{grid-template-columns:minmax(280px,2fr) repeat(4,minmax(150px,1fr)) auto}
.shop-admin-page .shop-admin-filterbar,.shop-admin-page .shop-stock-filterbar{margin-bottom:14px}
.shop-admin-editor-card{max-width:1180px;margin:0 auto}
.shop-admin-editor-card>.dh-page-heading{margin:-2px 0 22px}
.shop-admin-page .shop-admin-category-list{display:grid;gap:8px}
.shop-admin-page .shop-admin-category-row{width:100%}
@media(max-width:1200px){.shop-admin-filterbar-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-admin-filterbar-wide .shop-admin-search{grid-column:1/-1}}
@media(max-width:760px){.shop-settings-link{min-height:68px}.shop-admin-filterbar-wide{grid-template-columns:1fr}.shop-admin-filterbar-wide .shop-admin-search{grid-column:auto}.shop-admin-page-card,.shop-admin-editor-card{padding:14px}}
@media print{body.stock-print-mode .view:not(#shopStockAdmin),body.stock-print-mode header,body.stock-print-mode .site-footer,body.stock-print-mode #shopStockAdmin>.dh-page-heading,body.stock-print-mode #shopStockAdmin .shop-stock-filterbar{display:none!important}body.stock-print-mode #shopStockAdmin{display:block!important}body.stock-print-mode #shopStockAdmin .card{border:0;box-shadow:none;padding:0}}

/* Shop-Unterseiten: dekorative Zusatzsymbole entfernen.
   Die Symbole in der eigentlichen Shop-Verwaltungsübersicht bleiben erhalten. */
.shop-admin-page .settings-subtile-icon,
.shop-admin-page .shop-settings-icon,
.shop-admin-page .shop-page-icon,
.shop-admin-page .shop-section-icon,
.shop-admin-page .shop-admin-icon,
.shop-product-edit-view .settings-subtile-icon,
.shop-product-edit-view .shop-settings-icon,
.shop-product-edit-view .shop-page-icon,
.shop-product-edit-view .shop-section-icon,
.shop-product-edit-view .shop-admin-icon{
  display:none !important;
}


/* Bestell-Manager-Unterseiten: keine generischen Card-Symbole */
.shop-admin-page .card::before,
.shop-product-edit-view .card::before,
#orderHistory .card::before{
  content:none !important;
  display:none !important;
}


/* ZR settings canonical layout 8.1.24 */

/* Einheitliche Abstände aller Einstellungsbereiche */
#settingsWorkspace.settings-flat-page{
  gap:18px;
}

#settingsWorkspace .settings-workspace-card{
  padding:0 0 18px;
}

#settingsWorkspace .settings-workspace-card>h3,
#settingsWorkspace .settings-card-heading h3{
  margin:0 0 10px;
  font-size:20px;
  line-height:1.25;
}

#settingsWorkspace .settings-subgrid,
#settingsWorkspace .shop-settings-grid,
#settingsWorkspace .shop-settings-link-grid{
  gap:10px;
  align-items:stretch;
}

/* Einheitlicher Kachelstandard */
#settingsWorkspace .settings-subtile,
#settingsWorkspace .shop-settings-link{
  border-radius:12px;
}

/* Aufklappbare Standard-Kacheln */
#settingsWorkspace .settings-subtile>summary{
  grid-template-columns:44px minmax(0,1fr) 20px;
  gap:12px;
  min-height:70px;
  padding:10px 14px;
}

#settingsWorkspace .settings-subtile>summary>strong{
  font-size:15px;
  line-height:1.25;
}

#settingsWorkspace .settings-subtile-icon{
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  border-radius:11px;
  display:grid;
  place-items:center;
}

#settingsWorkspace .settings-subtile-icon img{
  width:26px;
  height:26px;
  max-width:26px;
  max-height:26px;
  margin:auto;
  object-fit:contain;
}

#settingsWorkspace .settings-subtile-chevron{
  width:20px;
  height:28px;
  font-size:27px;
  line-height:1;
}

/* Inhalt geöffneter Kacheln */
#settingsWorkspace .settings-subtile-body{
  padding:0 16px 16px;
}

#settingsWorkspace .settings-subtile-body>:first-child{
  margin-top:14px;
}

/* Shop-Verwaltung exakt wie übrige Einstellungs-Kacheln */
#settingsWorkspace .shop-settings-link{
  min-height:70px;
  grid-template-columns:44px minmax(0,1fr) 20px;
  gap:12px;
  padding:10px 14px;
}

#settingsWorkspace .shop-settings-link .shop-settings-icon{
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  padding:7px;
  border-radius:11px;
}

#settingsWorkspace .shop-settings-link .shop-settings-icon img{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
}

#settingsWorkspace .shop-settings-summary-copy{
  display:block;
}

#settingsWorkspace .shop-settings-summary-copy strong{
  font-size:15px;
  line-height:1.25;
}

#settingsWorkspace .shop-settings-link .settings-subtile-chevron{
  width:20px;
  height:28px;
  font-size:27px;
}

/* Shop-Seitenkopf ohne unnötige Leerabstände */
#settingsWorkspace .shop-settings-heading{
  margin:0 0 10px;
}

#settingsWorkspace .shop-settings-heading h3{
  margin:0;
}

/* Mobil ebenfalls einheitlich */
@media(max-width:700px){
  #settingsWorkspace.settings-flat-page{
    gap:16px;
  }

  #settingsWorkspace .settings-subgrid,
  #settingsWorkspace .shop-settings-grid,
  #settingsWorkspace .shop-settings-link-grid{
    grid-template-columns:minmax(0,1fr);
    gap:10px;
  }

  #settingsWorkspace .settings-subtile>summary,
  #settingsWorkspace .shop-settings-link{
    grid-template-columns:42px minmax(0,1fr) 20px;
    gap:11px;
    min-height:66px;
    padding:10px 13px;
  }

  #settingsWorkspace .settings-subtile-icon,
  #settingsWorkspace .shop-settings-link .shop-settings-icon{
    width:42px;
    height:42px;
    min-width:42px;
    min-height:42px;
  }
}

/* ZR Einstellungen – finale Abstandskorrekturen */

/* Führerscheinkontrolle: kein abweichender Zusatzabstand */
#settingsWorkspace #driverSettingsCard{
  margin-top:0 !important;
}

/* Shop-Verwaltung: nur Überschrift, keine erklärende Unterzeile */
#settingsWorkspace .shop-settings-heading > p{
  display:none !important;
}

/* Überschrift und Kacheln kompakt im gleichen Raster */
#settingsWorkspace .shop-settings-heading{
  margin:0 !important;
}

#settingsWorkspace .shop-settings-heading h3{
  margin:0 !important;
}

/* Entfernte Katalog-/Beschaffung-Überschriften dürfen keinen Platz behalten */
#settingsWorkspace .shop-settings-cluster-heading:empty{
  display:none !important;
}

/* Alle sechs Shop-Kacheln optisch als ein zusammengehöriger Block */
#settingsWorkspace .shop-settings-workspace{
  gap:10px !important;
}

#settingsWorkspace .shop-settings-cluster{
  gap:0 !important;
  margin:0 !important;
}

#settingsWorkspace .shop-settings-grid,
#settingsWorkspace .shop-settings-link-grid{
  gap:10px !important;
  margin:0 !important;
}

/* Einheitliche Shop-Kachelhöhe und Innenabstände */
#settingsWorkspace .shop-settings-link{
  min-height:70px !important;
  height:70px;
  padding:10px 14px !important;
  margin:0 !important;
}

@media(max-width:700px){
  #settingsWorkspace .shop-settings-link{
    height:auto;
    min-height:66px !important;
  }
}



/* ZR SETTINGS TILE GEOMETRY FINAL */

/* Einheitliches Raster */
#settingsWorkspace .settings-subgrid,
#settingsWorkspace .shop-settings-grid,
#settingsWorkspace .shop-settings-link-grid{
  gap:10px !important;
  align-items:stretch !important;
}

/* Einheitliche Kachelform */
#settingsWorkspace .settings-subtile,
#settingsWorkspace .shop-settings-link{
  min-width:0 !important;
  border-radius:12px !important;
  box-sizing:border-box !important;
}

/* Standard-Einstellungskacheln */
#settingsWorkspace .settings-subtile>summary{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) 20px !important;
  align-items:center !important;
  gap:12px !important;
  min-height:70px !important;
  height:auto !important;
  padding:10px 14px !important;
  box-sizing:border-box !important;
}

/* Shop-Kacheln exakt gleiche Geometrie */
#settingsWorkspace .shop-settings-link{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) 20px !important;
  align-items:center !important;
  gap:12px !important;
  min-height:70px !important;
  height:auto !important;
  padding:10px 14px !important;
  margin:0 !important;
}

/* Einheitliche Icons */
#settingsWorkspace .settings-subtile-icon,
#settingsWorkspace .shop-settings-link .shop-settings-icon{
  display:grid !important;
  place-items:center !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  margin:0 !important;
  border-radius:11px !important;
  box-sizing:border-box !important;
}

#settingsWorkspace .settings-subtile-icon img{
  display:block !important;
  width:26px !important;
  height:26px !important;
  max-width:26px !important;
  max-height:26px !important;
  margin:auto !important;
  object-fit:contain !important;
}

#settingsWorkspace .shop-settings-link .shop-settings-icon img{
  display:block !important;
  width:30px !important;
  height:30px !important;
  max-width:30px !important;
  max-height:30px !important;
  margin:auto !important;
  object-fit:contain !important;
}

/* Einheitliche Titel */
#settingsWorkspace .settings-subtile>summary>strong,
#settingsWorkspace .shop-settings-summary-copy strong{
  font-size:15px !important;
  line-height:1.25 !important;
}

/* Einheitliche Pfeile */
#settingsWorkspace .settings-subtile-chevron{
  display:grid !important;
  place-items:center !important;
  width:20px !important;
  height:28px !important;
  margin:0 !important;
  font-size:27px !important;
  line-height:1 !important;
}

/* Mobil */
@media(max-width:700px){
  #settingsWorkspace .settings-subtile>summary,
  #settingsWorkspace .shop-settings-link{
    grid-template-columns:42px minmax(0,1fr) 20px !important;
    gap:11px !important;
    min-height:66px !important;
    height:auto !important;
    padding:10px 13px !important;
  }

  #settingsWorkspace .settings-subtile-icon,
  #settingsWorkspace .shop-settings-link .shop-settings-icon{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
  }

  #settingsWorkspace .settings-subtile-icon img{
    width:25px !important;
    height:25px !important;
    max-width:25px !important;
    max-height:25px !important;
  }
}

/* Shop-Verwaltung: sichtbare Gesamthöhe an Standard-Kacheln angleichen */
#settingsWorkspace .shop-settings-link{
  min-height:72px !important;
}

@media(max-width:700px){
  #settingsWorkspace .shop-settings-link{
    min-height:68px !important;
  }
}



/* ==========================================================
   Beleg-Manager: aktueller UI-Stand + robuste PNG-Vorschau
   ========================================================== */

#documents .receipt-mail-status{
  margin:8px 0 0;
  font-size:12px;
  font-weight:600;
}

#documents .receipt-preview-position{
  margin:0 0 4px;
  font-size:12px;
  font-weight:600;
  color:var(--muted);
}

#documents .receipt-preview-position[hidden]{
  display:none;
}

#documents .receipt-preview-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:10px;
}

#documents .receipt-preview-meta #previewCaption{
  margin:0;
}

#documents .receipt-preview-page-navigation{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

#documents .receipt-preview-page-navigation[hidden]{
  display:none;
}

#documents .receipt-preview-page-navigation button{
  min-width:34px;
  height:34px;
  padding:0 9px;
  font-size:18px;
  line-height:1;
}

#documents .receipt-preview-frame{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  width:100%;
  height:calc(100dvh - var(--header-height) - 96px);
  min-height:440px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f0f3f5;
}

#documents #documentPreview{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  min-height:0;
  border:0;
  border-radius:0;
  background:white;
}

#documents #documentPreview[hidden]{
  display:none;
}

#documents .receipt-preview-loading,
#documents .receipt-preview-error{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:12px;
  padding:30px;
  text-align:center;
  color:var(--muted);
}

#documents .receipt-preview-loading[hidden],
#documents .receipt-preview-error[hidden]{
  display:none;
}

@media(max-width:900px){
 #documents .receipt-preview-frame{
  height:70dvh;
  min-height:340px;
 }

 #documents .receipt-preview-meta{
  align-items:flex-start;
  flex-direction:column;
  gap:8px;
 }
}


/* Beleg-Manager: PDF.js Canvas-Vorschau */
#documents #documentPreview{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  min-height:0;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
}

#documents #documentPreview[hidden]{
  display:none;
}

#documents .receipt-preview-frame{
  padding:12px;
  align-items:flex-start;
}



/* KfZ-Kostenbeleg: konsistente Feldhöhen und vertikaler Rhythmus. */
#costDialog{
 width:min(1080px,94vw);
}

#costDialog #costFields{
 display:grid;
 gap:16px;
}

#costDialog .cost-fields{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:18px 16px;
 align-items:start;
}

#costDialog .cost-fields label{
 display:grid;
 grid-template-rows:minmax(2.8em,auto) 48px;
 gap:8px;
 margin:0;
 min-width:0;
 align-items:end;
 line-height:1.4;
}

#costDialog .cost-fields input:not([type=checkbox]),
#costDialog .cost-fields select{
 display:block;
 box-sizing:border-box;
 width:100%;
 height:48px;
 min-height:48px;
 max-height:48px;
 margin:0;
 padding:10px 12px;
 line-height:1.4;
}

#costDialog .cost-line{
 margin:18px 0;
 padding:18px;
}

#costDialog .cost-line legend{
 padding:0 6px;
 font-weight:600;
}

#costDialog .cost-sum{
 margin:4px 0 0;
}

@media(max-width:700px){
 #costDialog .cost-fields{
  grid-template-columns:1fr 1fr;
 }

 #costDialog .cost-fields label{
  grid-template-rows:auto 48px;
 }
}

@media(max-width:420px){
 #costDialog .cost-fields{
  grid-template-columns:1fr;
 }
}


/* Beleg-Manager: Upload direkt in leerer Vorschau.
   Bestehende DOM-Elemente bleiben erhalten. */
#receiptDropzone{
 display:none!important;
}

#documentEmpty{
 position:relative;
}

#documentEmpty>.receipt-empty-icon,
#documentEmpty>#documentEmptyTitle,
#documentEmpty>#documentEmptyText{
 display:none;
}

#receiptPreviewUploadZone{
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:7px;
 width:100%;
 min-height:300px;
 box-sizing:border-box;
 margin:0;
 padding:32px 20px;
 border:1px dashed var(--teal);
 border-radius:14px;
 background:var(--soft);
 color:var(--ink);
 box-shadow:none;
 text-align:center;
 cursor:pointer;
}

#receiptPreviewUploadZone:hover,
#receiptPreviewUploadZone:focus-visible,
#receiptPreviewUploadZone.is-dragging{
 border-color:var(--navy);
 background:var(--surface);
 box-shadow:0 4px 14px #06354b12;
 outline:none;
}

#receiptPreviewUploadZone.is-disabled,
#receiptPreviewUploadZone:disabled{
 opacity:.55;
 cursor:default;
}

#receiptPreviewUploadZone strong{
 font-size:15px;
 color:var(--ink);
}

#receiptPreviewUploadZone>span:last-child{
 font-size:13px;
 font-weight:400;
 color:var(--muted);
}

.receipt-preview-upload-icon{
 display:grid;
 place-items:center;
 width:48px;
 height:48px;
 margin-bottom:4px;
 border-radius:12px;
 background:#e9f4f1;
 color:var(--teal);
}

#documentPreviewFrame{
 position:relative;
}

#receiptPreviewUploadOverlay{
 position:absolute;
 inset:12px;
 z-index:40;
 display:none;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:8px;
 padding:24px;
 box-sizing:border-box;
 border:2px dashed var(--teal);
 border-radius:14px;
 background:color-mix(in srgb,var(--surface) 94%,transparent);
 color:var(--ink);
 text-align:center;
 pointer-events:none;
}

#documentPreviewFrame.is-upload-dragging
 #receiptPreviewUploadOverlay{
 display:flex;
}

#receiptPreviewUploadOverlay>span:last-child{
 color:var(--muted);
 font-size:13px;
}

html[data-theme=dark] .receipt-preview-upload-icon{
 background:var(--soft);
}

@media(max-width:700px){
 #receiptPreviewUploadZone{
  min-height:240px;
  padding:24px 16px;
 }
}
/* ZR DATAHUB SIDEBAR CLEAN STAGE6 */

body.authenticated{
 --dh-sidebar-width:248px;
 --header-height:0px;
}

body.authenticated>header{
 display:none!important;
}

body:not(.authenticated) #dataHubSidebar,
body:not(.authenticated) #sidebarBackdrop,
body:not(.authenticated) #dataHubBreadcrumb{
 display:none!important;
}

.dh-sidebar{
 position:fixed;
 inset:0 auto 0 0;
 z-index:70;
 width:var(--dh-sidebar-width);
 height:100dvh;
 display:flex;
 flex-direction:column;
 overflow:hidden;
 background:var(--surface);
 color:var(--ink);
 border-right:1px solid var(--line);
 box-shadow:4px 0 18px #06354b08;
}

.dh-sidebar-brand{
 display:flex;
 align-items:center;
 justify-content:flex-start;
 gap:11px;
 width:100%;
 min-height:78px;
 padding:13px 14px;
 margin:0;
 border:0;
 border-bottom:1px solid var(--line);
 border-radius:0;
 background:transparent;
 color:var(--ink);
 box-shadow:none;
 text-align:left;
}
.dh-sidebar-brand:hover{background:var(--soft)}

.dh-sidebar-brand .brand-logo{
 width:44px;
 height:44px;
 flex:0 0 44px;
 object-fit:contain;
}

.dh-sidebar-brand-copy{
 display:flex;
 flex-direction:column;
 min-width:0;
 line-height:1.25;
}
.dh-sidebar-brand-copy strong{
 font-size:18px;
 color:var(--ink);
}
.dh-sidebar-brand-copy small{
 margin-top:3px;
 color:var(--muted);
 font-size:10px;
 font-weight:400;
}

.dh-sidebar-group{
 padding:13px 9px 0;
}

.dh-sidebar-group-label{
 display:block;
 padding:0 9px 6px;
 color:var(--muted);
 font-size:9px;
 font-weight:700;
 letter-spacing:.1em;
 text-transform:uppercase;
}

.dh-sidebar #mainNavigation{
 display:flex;
 flex-direction:column;
 align-items:stretch;
 width:100%;
 margin:0;
 padding:0;
 gap:2px;
 border:0;
 border-radius:0;
 background:transparent;
}

.dh-sidebar-link{
 display:flex!important;
 align-items:center!important;
 justify-content:flex-start!important;
 gap:10px!important;
 width:100%!important;
 height:42px!important;
 min-height:42px!important;
 margin:0!important;
 padding:0 10px!important;
 border:0!important;
 border-radius:10px!important;
 background:transparent!important;
 color:var(--ink)!important;
 box-shadow:none!important;
 font-size:13px!important;
 text-align:left!important;
}

.dh-sidebar-link>svg{
 display:block!important;
 width:18px!important;
 height:18px!important;
 flex:0 0 18px!important;
 fill:none!important;
 stroke:currentColor!important;
 stroke-width:1.7!important;
 stroke-linecap:round!important;
 stroke-linejoin:round!important;
 color:var(--muted);
}

.dh-sidebar-link:hover{
 background:#e8f4f1!important;
 color:#06354b!important;
}

.dh-sidebar-link:hover>svg{
 color:var(--teal)!important;
}

.dh-sidebar-link[aria-current=page]{
 background:#e5f0f3!important;
 color:#06354b!important;
 font-weight:700!important;
}

.dh-sidebar-link[aria-current=page]>svg{
 color:var(--teal)!important;
}

.dh-sidebar #driversTab{
 display:none!important;
}

.dh-sidebar #hrTab{
 display:flex!important;
 opacity:.45!important;
 cursor:default!important;
 pointer-events:none!important;
}

.dh-sidebar #hrTab>svg{
 display:block!important;
 visibility:visible!important;
 opacity:1!important;
 color:var(--muted)!important;
}

.dh-sidebar-utility{
 margin-top:8px;
 padding-top:12px;
 border-top:1px solid var(--line);
}

.dh-sidebar-spacer{
 flex:1 1 auto;
 min-height:16px;
}

.dh-sidebar-footer{
 position:relative;
 padding:8px 9px;
 border-top:1px solid var(--line);
 background:var(--surface);
}

.dh-sidebar-account{
 display:flex;
 align-items:center;
 justify-content:flex-start;
 gap:9px;
 width:100%;
 min-height:50px;
 margin:0;
 padding:7px 8px;
 border:0;
 border-radius:10px;
 background:transparent;
 color:var(--ink);
 box-shadow:none;
 text-align:left;
}

.dh-sidebar-account:hover{
 background:var(--soft);
}

.dh-sidebar-account>svg:last-child{
 width:15px!important;
 height:15px!important;
 margin-left:auto;
 color:var(--muted);
}

.dh-sidebar-user-avatar,
.dh-account-avatar{
 display:grid;
 place-items:center;
 overflow:hidden;
 border-radius:50%;
 background:#e2f1ef;
 color:var(--teal);
 font-size:11px;
 font-weight:700;
}

.dh-sidebar-user-avatar{
 width:36px;
 height:36px;
 flex:0 0 36px;
}

.dh-account-avatar{
 width:40px;
 height:40px;
 flex:0 0 40px;
}

.dh-user-photo{
 display:block!important;
 width:100%!important;
 height:100%!important;
 object-fit:cover!important;
 border-radius:50%!important;
}

.dh-sidebar-user-copy,
.dh-account-head-copy{
 display:flex;
 flex-direction:column;
 min-width:0;
 line-height:1.3;
}

.dh-sidebar-user-copy strong,
.dh-account-head-copy strong{
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 color:var(--ink);
 font-size:12px;
}

.dh-sidebar-user-copy small,
.dh-account-head-copy small{
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 color:var(--muted);
 font-size:10px;
 font-weight:400;
}

.dh-account-panel{
 position:absolute;
 left:9px;
 right:9px;
 bottom:66px;
 z-index:80;
 padding:7px;
 border:1px solid var(--line);
 border-radius:12px;
 background:var(--surface);
 box-shadow:0 14px 36px #06354b22;
}

.dh-account-panel[hidden]{
 display:none!important;
}

.dh-account-head{
 display:flex;
 align-items:center;
 justify-content:flex-start;
 gap:10px;
 width:100%;
 min-height:62px;
 margin:0 0 4px;
 padding:8px 9px 10px;
 border:0;
 border-bottom:1px solid var(--line);
 border-radius:8px 8px 0 0;
 background:transparent;
 box-shadow:none;
 text-align:left;
}

.dh-account-head:hover{
 background:var(--soft);
}

.dh-account-action,
.dh-account-theme{
 display:flex!important;
 align-items:center!important;
 justify-content:flex-start!important;
 gap:10px!important;
 width:100%!important;
 margin:0!important;
 border:0!important;
 background:transparent!important;
 box-shadow:none!important;
 color:var(--ink)!important;
 font-size:12px!important;
 font-weight:500!important;
}

.dh-account-action{
 height:39px!important;
 min-height:39px!important;
 padding:0 9px!important;
 border-radius:8px!important;
}

.dh-account-theme{
 height:36px!important;
 min-height:36px!important;
 padding:0 9px!important;
 border-radius:7px!important;
}

.dh-account-action>svg{
 display:block!important;
 width:17px!important;
 height:17px!important;
 flex:0 0 17px!important;
 fill:none!important;
 stroke:currentColor!important;
 stroke-width:1.7!important;
 color:var(--muted)!important;
}

.dh-account-theme>svg{
 display:block!important;
 width:16px!important;
 height:16px!important;
 flex:0 0 16px!important;
 fill:none!important;
 stroke:currentColor!important;
 stroke-width:1.7!important;
 color:var(--muted)!important;
}

.dh-account-action:hover,
.dh-account-theme:hover{
 background:var(--soft)!important;
}

.dh-account-appearance{
 margin-top:5px;
 padding:9px 0 4px;
 border-top:1px solid var(--line);
}

.dh-account-section-title{
 display:block;
 padding:0 9px 5px;
 color:var(--muted);
 font-size:9px;
 font-weight:700;
 letter-spacing:.11em;
 text-transform:uppercase;
}

.dh-account-theme-buttons{
 display:grid;
 gap:2px;
}

.dh-account-theme.is-active{
 background:#e6f3f1!important;
 color:#06354b!important;
}

.dh-account-theme.is-active>svg{
 color:var(--teal)!important;
}

.dh-account-logout{
 margin-top:5px!important;
 border-top:1px solid var(--line)!important;
 border-radius:0 0 8px 8px!important;
 color:#b4232b!important;
}

.dh-account-logout>svg{
 color:#b4232b!important;
}

body.authenticated>main{
 width:calc(100% - var(--dh-sidebar-width))!important;
 max-width:none!important;
 margin:0 0 0 var(--dh-sidebar-width)!important;
 padding:22px clamp(20px,2.4vw,40px) 40px!important;
}

body.authenticated>.site-footer{
 width:calc(100% - var(--dh-sidebar-width));
 margin-left:var(--dh-sidebar-width);
 margin-right:0;
}

.dh-breadcrumb{
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:7px;
 min-height:30px;
 margin:0 0 14px;
 padding:0;
 border:0;
 background:transparent;
 color:var(--muted);
 font-size:12px;
}

.dh-breadcrumb-link{
 min-height:30px;
 height:30px;
 padding:2px 4px;
 border:0;
 background:transparent;
 color:var(--teal);
 font-size:12px;
}

.dh-breadcrumb-separator{color:#9aabb3}
.dh-breadcrumb-current{font-weight:600}

.dh-sidebar-backdrop{
 display:none;
}

.document-preview-pane{
 top:16px!important;
}

.handbook-toc{
 top:24px!important;
}

.handbook-chapter,
#handbook-top{
 scroll-margin-top:24px!important;
}

html[data-theme=dark] .dh-sidebar,
html[data-theme=dark] .dh-sidebar-footer{
 background:#0d1d27;
 border-color:#304753;
}

html[data-theme=dark] .dh-sidebar-link:hover{
 background:#18343d!important;
 color:#e6eef2!important;
}

html[data-theme=dark] .dh-sidebar-link[aria-current=page]{
 background:#1b3943!important;
 color:#fff!important;
}

html[data-theme=dark] .dh-account-panel{
 background:#152b37;
 border-color:#304753;
 box-shadow:0 16px 38px #0006;
}

html[data-theme=dark] .dh-account-theme.is-active{
 background:#173d43!important;
 color:#fff!important;
}

@media(max-width:900px){
 body.authenticated{
  --dh-sidebar-width:min(86vw,300px);
 }

 .dh-sidebar{
  transform:translateX(-102%);
  transition:transform .18s ease;
 }

 body.dh-sidebar-open .dh-sidebar{
  transform:translateX(0);
 }

 .dh-sidebar-backdrop{
  display:block;
  position:fixed;
  inset:0;
  z-index:65;
  background:#06354b55;
  opacity:0;
  pointer-events:none;
 }

 body.dh-sidebar-open .dh-sidebar-backdrop{
  opacity:1;
  pointer-events:auto;
 }

 body.authenticated>main{
  width:100%!important;
  margin:0!important;
  padding:68px 16px 32px!important;
 }

 body.authenticated>.site-footer{
  width:100%;
  margin-left:0;
 }

 #sidebarToggle{
  display:inline-flex!important;
  position:fixed;
  top:12px;
  left:12px;
  z-index:62;
  width:44px;
  height:44px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface);
  box-shadow:0 5px 18px #06354b22;
 }
}
/* ZR DATAHUB SIDEBAR NAV STAGE9 */

.dh-sidebar-tools{
 display:flex;
 align-items:center;
 gap:4px;
 padding:8px 9px 4px;
}

.dh-sidebar-tool-button{
 display:grid!important;
 place-items:center!important;
 width:38px!important;
 height:38px!important;
 min-width:38px!important;
 min-height:38px!important;
 padding:0!important;
 margin:0!important;
 border:0!important;
 border-radius:9px!important;
 background:transparent!important;
 color:var(--muted)!important;
 box-shadow:none!important;
}

.dh-sidebar-tool-button:hover{
 background:var(--soft)!important;
 color:var(--ink)!important;
}

.dh-sidebar-tool-button svg{
 width:18px;
 height:18px;
}

#sidebarCollapseButton{
 margin-left:auto!important;
}

.dh-sidebar-search{
 display:flex;
 align-items:center;
 gap:8px;
 margin:4px 9px 5px;
 padding:0 10px;
 min-height:40px;
 border:1px solid var(--line);
 border-radius:9px;
 background:var(--surface);
}

.dh-sidebar-search[hidden]{
 display:none!important;
}

.dh-sidebar-search svg{
 width:17px;
 height:17px;
 flex:0 0 17px;
 color:var(--muted);
}

.dh-sidebar-search input{
 width:100%;
 min-width:0;
 height:36px;
 padding:0;
 border:0;
 outline:0;
 background:transparent;
 color:var(--ink);
 font:inherit;
 font-size:12px;
 box-shadow:none;
}

.dh-sidebar-search-hidden{
 display:none!important;
}

.dh-sidebar-search-empty{
 display:none!important;
}

/* Einstellungen als Sidebar-Bereich */
.dh-sidebar-settings-parent{
 margin-top:2px!important;
}

.dh-settings-submenu{
 display:grid;
 gap:1px;
 margin:2px 0 3px 28px;
}

.dh-settings-sub-link{
 display:flex;
 align-items:center;
 justify-content:flex-start;
 gap:8px;
 width:calc(100% - 4px);
 min-height:35px;
 margin:0;
 padding:0 8px;
 border:0;
 border-radius:8px;
 background:transparent;
 color:var(--muted);
 font-size:11px;
 font-weight:500;
 text-align:left;
 box-shadow:none;
}

.dh-settings-sub-link:hover{
 background:#e8f4f1;
 color:#06354b;
}

.dh-settings-sub-link svg{
 width:15px;
 height:15px;
 flex:0 0 15px;
 color:var(--muted);
}

.dh-settings-sub-link:hover svg{
 color:var(--teal);
}

/* Alte horizontale Einstellungsnavigation verschwindet,
   Fachinhalte und Funktionen bleiben bestehen. */
.dh-settings-original-nav{
 display:none!important;
}

/* HR: feste Ausrichtung und sichtbares SVG */
.dh-sidebar #hrTab.dh-sidebar-hr{
 display:flex!important;
 align-items:center!important;
 justify-content:flex-start!important;
 gap:10px!important;
 padding:0 10px!important;
 text-align:left!important;
 opacity:.45!important;
}

.dh-sidebar #hrTab.dh-sidebar-hr svg{
 display:block!important;
 visibility:visible!important;
 width:18px!important;
 height:18px!important;
 min-width:18px!important;
 flex:0 0 18px!important;
 opacity:1!important;
}

.dh-sidebar #hrTab.dh-sidebar-hr .dh-sidebar-link-label{
 display:block!important;
 flex:1 1 auto!important;
 margin:0!important;
 text-align:left!important;
}

/* Eingeklappte Sidebar */
body.dh-sidebar-collapsed{
 --dh-sidebar-width:64px;
}

body.dh-sidebar-collapsed .dh-sidebar{
 width:64px;
}

body.dh-sidebar-collapsed .dh-sidebar-brand{
 justify-content:center;
 min-height:64px;
 padding:10px;
}

body.dh-sidebar-collapsed .dh-sidebar-brand .brand-logo{
 width:40px;
 height:40px;
 flex-basis:40px;
}

body.dh-sidebar-collapsed .dh-sidebar-brand-copy,
body.dh-sidebar-collapsed .dh-sidebar-group-label,
body.dh-sidebar-collapsed .dh-sidebar-link-label,
body.dh-sidebar-collapsed .dh-sidebar-user-copy,
body.dh-sidebar-collapsed .dh-settings-submenu{
 display:none!important;
}

body.dh-sidebar-collapsed .dh-sidebar-tools{
 display:grid;
 grid-template-columns:1fr;
 justify-items:center;
 gap:3px;
 padding:7px 0;
}

body.dh-sidebar-collapsed #sidebarCollapseButton{
 margin-left:0!important;
}

body.dh-sidebar-collapsed .dh-sidebar-group{
 padding-left:9px;
 padding-right:9px;
}

body.dh-sidebar-collapsed .dh-sidebar-link{
 justify-content:center!important;
 gap:0!important;
 padding:0!important;
}

body.dh-sidebar-collapsed .dh-sidebar-account{
 justify-content:center;
 padding-left:0;
 padding-right:0;
}

body.dh-sidebar-collapsed .dh-sidebar-account>svg:last-child{
 display:none;
}

body.dh-sidebar-collapsed .dh-account-panel{
 left:70px;
 right:auto;
 bottom:8px;
 width:230px;
}

body.dh-sidebar-collapsed .dh-sidebar-footer{
 padding-left:7px;
 padding-right:7px;
}

html[data-theme=dark] .dh-settings-sub-link:hover{
 background:#18343d;
 color:#e6eef2;
}

html[data-theme=dark] .dh-sidebar-search{
 background:#0d1d27;
 border-color:#304753;
}

/* Mobile bleibt Overlay und wird nicht in Icon-Modus gezwungen */
@media(max-width:900px){
 body.dh-sidebar-collapsed{
  --dh-sidebar-width:min(86vw,300px);
 }

 body.dh-sidebar-collapsed .dh-sidebar{
  width:var(--dh-sidebar-width);
 }

 body.dh-sidebar-collapsed .dh-sidebar-brand{
  justify-content:flex-start;
  min-height:78px;
  padding:13px 14px;
 }

 body.dh-sidebar-collapsed .dh-sidebar-brand-copy,
 body.dh-sidebar-collapsed .dh-sidebar-group-label,
 body.dh-sidebar-collapsed .dh-sidebar-link-label,
 body.dh-sidebar-collapsed .dh-sidebar-user-copy{
  display:flex!important;
 }

 body.dh-sidebar-collapsed .dh-settings-submenu{
  display:grid!important;
 }

 body.dh-sidebar-collapsed .dh-sidebar-tools{
  display:flex;
  padding:8px 9px 4px;
 }

 body.dh-sidebar-collapsed #sidebarCollapseButton{
  display:none!important;
 }

 body.dh-sidebar-collapsed .dh-sidebar-link{
  justify-content:flex-start!important;
  gap:10px!important;
  padding:0 10px!important;
 }
}
/* ZR DATAHUB SETTINGS TOGGLE STAGE11 */
.dh-settings-submenu[hidden]{
 display:none!important;
}

.dh-sidebar-settings-parent[aria-expanded=true]{
 background:#e5f0f3!important;
 color:#06354b!important;
 font-weight:700!important;
}

.dh-sidebar-settings-parent[aria-expanded=true]>svg{
 color:var(--teal)!important;
}

html[data-theme=dark]
.dh-sidebar-settings-parent[aria-expanded=true]{
 background:#1b3943!important;
 color:#fff!important;
}
/* ZR DATAHUB HR SIDEBAR ICON STAGE12 */
.dh-sidebar #hrTab.dh-sidebar-hr{
 opacity:1!important;
 color:var(--muted)!important;
 cursor:default!important;
 pointer-events:auto!important;
}

.dh-sidebar #hrTab.dh-sidebar-hr:hover{
 background:transparent!important;
 color:var(--muted)!important;
}

.dh-sidebar #hrTab.dh-sidebar-hr .dh-sidebar-hr-icon{
 display:block!important;
 visibility:visible!important;
 width:18px!important;
 height:18px!important;
 min-width:18px!important;
 flex:0 0 18px!important;
 margin:0!important;
 padding:0!important;
 color:var(--muted)!important;
 stroke:currentColor!important;
 opacity:1!important;
}

.dh-sidebar #hrTab.dh-sidebar-hr .dh-sidebar-link-label{
 display:block!important;
 flex:1 1 auto!important;
 margin:0!important;
 padding:0!important;
 color:var(--muted)!important;
 text-align:left!important;
 line-height:1.3!important;
 opacity:1!important;
}
/* ZR DATAHUB HR COLLAPSED STAGE17 */
body.dh-sidebar-collapsed
.dh-sidebar #hrTab.dh-sidebar-hr .dh-sidebar-link-label{
 display:none!important;
 width:0!important;
 min-width:0!important;
 max-width:0!important;
 overflow:hidden!important;
 margin:0!important;
 padding:0!important;
}

body.dh-sidebar-collapsed
.dh-sidebar #hrTab.dh-sidebar-hr{
 justify-content:center!important;
 gap:0!important;
 padding-left:0!important;
 padding-right:0!important;
}

body.dh-sidebar-collapsed
.dh-sidebar #hrTab.dh-sidebar-hr .dh-sidebar-hr-icon{
 margin:0!important;
 flex:0 0 18px!important;
}

/* ZR DATAHUB RESPONSIVE FOUNDATION STAGE20 */

/* Tablet */
@media (max-width:1180px){
  #workspace{
    min-width:0!important;
  }

  .view{
    min-width:0;
    max-width:100%;
  }

  .dh-page-heading{
    min-width:0;
  }

  .dh-page-copy{
    min-width:0;
  }

  .dh-page-copy h1,
  .dh-page-copy h2,
  .dh-page-copy h3{
    overflow-wrap:anywhere;
  }

  .tablewrap,
  .hb-table-wrap,
  .shop-stock-table-wrap,
  .order-recent-orders-table-wrap{
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}

/* Smartphone + Tablet Portrait */
@media (max-width:900px){

  body.authenticated{
    --dh-sidebar-width:min(86vw,300px);
  }

  body.authenticated #workspace,
  body.authenticated .site-footer{
    width:100%!important;
    margin-left:0!important;
  }

  .dh-sidebar{
    max-width:300px;
  }

  .dh-sidebar-backdrop{
    touch-action:none;
  }

  .dh-breadcrumb{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .dh-breadcrumb::-webkit-scrollbar{
    display:none;
  }

  .dh-breadcrumb-link,
  .dh-breadcrumb-current{
    flex:0 0 auto;
  }

  dialog,
  dialog[class]{
    max-width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
  }
}

/* Smartphone */
@media (max-width:600px){

  #workspace{
    min-width:0!important;
  }

  .view{
    min-width:0;
    max-width:100%;
  }

  .dh-page-heading{
    align-items:flex-start;
    gap:12px!important;
  }

  .dh-page-actions{
    max-width:100%;
    flex-wrap:wrap;
  }

  .dh-breadcrumb{
    font-size:12px;
    gap:6px;
  }

  .dh-breadcrumb-separator{
    margin:0 1px;
  }

  /* gut bedienbare Touch-Ziele */
  .view button,
  dialog button,
  .dh-sidebar button,
  .dh-sidebar summary,
  .dh-account-panel button{
    min-height:44px;
  }

  .view input:not([type="checkbox"]):not([type="radio"]),
  .view select,
  dialog input:not([type="checkbox"]):not([type="radio"]),
  dialog select{
    min-height:44px;
    max-width:100%;
  }

  textarea{
    max-width:100%;
  }

  /* Formulare dürfen auf kleinen Geräten nie aus dem Viewport laufen */
  .dh-form-grid,
  .fleet-form-grid,
  .cost-fields,
  .cost-filters{
    min-width:0;
  }

  .dh-form-grid > *,
  .fleet-form-grid > *,
  .cost-fields > *,
  .cost-filters > *{
    min-width:0;
    max-width:100%;
  }

  /* Noch nicht migrierte Legacy-Dialoge bleiben mobil nahezu vollflächig.
     Globale .dh-dialog-Komponenten verwenden ausschließlich ihren
     zentralen Responsive-Standard aus design-system.css. */
  dialog:not(.dh-dialog){
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    margin:auto!important;
    padding:14px!important;
    box-sizing:border-box;
  }

  /* Tabellen bleiben horizontal scrollbar statt die Seite zu verbreitern */
  .tablewrap,
  .hb-table-wrap,
  .shop-stock-table-wrap,
  .order-recent-orders-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }

  table{
    max-width:none;
  }

  img,
  svg,
  iframe{
    max-width:100%;
  }

  #registrationPreviewContent iframe{
    height:60dvh;
  }

  .site-footer{
    max-width:100%;
    overflow-wrap:anywhere;
  }
}

/* sehr kleine Smartphones */
@media (max-width:390px){

  .dh-page-heading{
    gap:10px!important;
  }

  .dh-page-copy h2{
    font-size:24px;
  }

  dialog:not(.dh-dialog){
    width:calc(100vw - 10px)!important;
    max-width:calc(100vw - 10px)!important;
    max-height:calc(100dvh - 10px)!important;
    padding:12px!important;
  }
}

/* iPad / Tablet Hoch- und Querformat */
@media (min-width:601px) and (max-width:1180px){

  .view{
    min-width:0;
  }

  .dh-page-heading{
    gap:16px;
  }

  dialog,
  dialog[class]{
    box-sizing:border-box;
  }

  button,
  summary,
  input,
  select{
    touch-action:manipulation;
  }
}


/* ZR DATAHUB MOBILE TOP SPACING STAGE21 */
@media (max-width:600px){

  body.authenticated #workspace{
    padding-top:10px!important;
  }

  body.authenticated .dh-breadcrumb{
    margin-top:0!important;
    margin-bottom:8px!important;
  }

  body.authenticated .view{
    padding-top:0!important;
  }

  body.authenticated #overview.view{
    padding-top:0!important;
  }

  body.authenticated #overview .dh-page-heading{
    margin-top:0!important;
  }
}


/* ZR DATAHUB RESPONSIVE TILE HEIGHT STAGE23 */

/* Smartphone und Tablet: Kacheln niemals künstlich in der Höhe strecken */
@media (max-width:1180px){

  .dh-tile-grid,
  body.authenticated #modules,
  #kfzModules,
  #driverCards,
  #settingsHub,
  .settings-hub,
  .fleet-cards,
  #contractList,
  .contract-tiles,
  .contract-file-grid,
  .kpi-modules,
  .fleet-columns{
    align-items:start!important;
    align-content:start!important;
    grid-auto-rows:max-content!important;
  }

  #modules>.datahub-tile,
  #kfzModules>.datahub-tile,
  #contractGroups>.datahub-tile,
  .kpi-modules>.datahub-tile,
  .fleet-cards>.datahub-tile,
  #contractList>.datahub-tile,
  .settings-hub>.datahub-tile,
  #settingsHub>.datahub-tile{
    height:auto!important;
    min-height:0!important;
    align-self:start!important;
  }
}

/* Smartphone: noch kompakter */
@media (max-width:700px){

  #modules>.datahub-tile,
  #kfzModules>.datahub-tile,
  #contractGroups>.datahub-tile,
  .kpi-modules>.datahub-tile,
  .fleet-cards>.datahub-tile,
  #contractList>.datahub-tile,
  .settings-hub>.datahub-tile,
  #settingsHub>.datahub-tile{
    padding:16px!important;
  }

  .datahub-tile .datahub-tile-header{
    margin-bottom:0!important;
  }

  .datahub-tile .datahub-tile-open,
  .datahub-tile .module-open,
  .datahub-tile .contract-card-open{
    margin-top:12px!important;
  }
}

/* Querformat auf Smartphone/Tablet:
   Inhalt bestimmt die Kartenhöhe, nicht die verfügbare Bildschirmhöhe */
@media (max-width:1180px) and (orientation:landscape){

  .dh-tile-grid,
  body.authenticated #modules,
  #kfzModules,
  .fleet-cards,
  #contractList,
  .contract-tiles,
  .kpi-modules{
    grid-auto-rows:max-content!important;
  }

  .datahub-tile{
    height:auto!important;
    min-height:0!important;
  }
}




/* ZR DATAHUB MOBILE DASHBOARD HEAD STAGE25 */
@media (max-width:1180px){

  /* Auf dem Dashboard ist "Dashboard" als Breadcrumb redundant. */
  body.authenticated
  .dh-breadcrumb[data-current-view="overview"]{
    display:none!important;
  }

  /* Originale Begrüßung direkt neben dem mobilen Menü verwenden. */
  body.authenticated #overview>.dh-page-heading{
    display:flex!important;
    position:relative;
    min-height:48px;
    margin:0 0 14px!important;
    padding:0 0 0 58px!important;
    align-items:center!important;
  }

  body.authenticated #overview>.dh-page-heading .dh-page-copy{
    display:grid;
    gap:1px;
    min-width:0;
  }

  body.authenticated #overview>.dh-page-heading .dh-page-copy h2{
    margin:0!important;
    font-size:20px!important;
    line-height:1.12!important;
  }

  body.authenticated #overview>.dh-page-heading .dh-page-copy p{
    margin:0!important;
    font-size:13px!important;
    line-height:1.3!important;
  }

  body.authenticated #overview>.dh-page-heading .dh-page-actions{
    display:none!important;
  }

  body.authenticated #overview{
    padding-top:0!important;
  }
}

@media (max-width:600px){

  body.authenticated>main{
    padding-top:10px!important;
  }

  body.authenticated #overview>.dh-page-heading{
    min-height:46px;
    margin-bottom:10px!important;
    padding-left:58px!important;
  }

  body.authenticated #overview>.dh-page-heading .dh-page-copy h2{
    font-size:19px!important;
  }

  body.authenticated #overview>.dh-page-heading .dh-page-copy p{
    font-size:12px!important;
  }
}

@media (max-width:1180px) and (orientation:landscape){

  body.authenticated #overview>.dh-page-heading{
    min-height:44px;
    margin-bottom:8px!important;
  }
}



/* ZR DATAHUB PROGRAM INFO BUTTON STAGE3 */

body:not(.authenticated) .dh-program-info-button{
 display:none!important;
}

.dh-program-info-button{
 position:fixed;
 top:16px;
 right:18px;
 z-index:64;

 display:grid!important;
 place-items:center!important;

 width:44px!important;
 height:44px!important;
 min-width:44px!important;
 min-height:44px!important;

 margin:0!important;
 padding:0!important;

 border:1px solid var(--line)!important;
 border-radius:50%!important;

 background:#f1f4f5!important;
 color:#087b7c!important;

 box-shadow:0 5px 18px rgba(6,53,75,.10)!important;
 cursor:pointer;
}

.dh-program-info-button:hover{
 background:#e7eff1!important;
 color:#087b7c!important;
}

.dh-program-info-button:focus-visible{
 outline:3px solid rgba(8,123,124,.20);
 outline-offset:2px;
}

.dh-program-info-button svg{
 display:block!important;
 width:22px!important;
 height:22px!important;

 fill:none!important;
 stroke:currentColor!important;
 stroke-width:1.9!important;
 stroke-linecap:round!important;
 stroke-linejoin:round!important;

 overflow:visible!important;
}

html[data-theme=dark] .dh-program-info-button{
 background:#1a3341!important;
 border-color:#304753!important;
 color:#76cbc5!important;
}

/* Smartphone / Tablet */
@media(max-width:1180px){

 .dh-program-info-button{
  top:12px;
  right:12px;
 }

}

/* iPhone Safe Area */
@supports(top:env(safe-area-inset-top)){

 @media(max-width:700px){

  .dh-program-info-button{
   top:calc(env(safe-area-inset-top) + 12px);
  }

 }
}


/* ZR DATAHUB MOBILE BREADCRUMB + BACK STAGE26 */

.dh-breadcrumb-trail{
 display:flex;
 align-items:center;
 gap:7px;
 min-width:0;
}

.dh-breadcrumb-back{
 display:none;
}

@media (max-width:1180px){

 body.authenticated .dh-breadcrumb:not([data-current-view="overview"]){
  box-sizing:border-box;
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  width:100%!important;
  min-height:48px!important;
  margin-top:0!important;
  margin-bottom:8px!important;
  padding:0 0 0 58px!important;
  overflow:hidden!important;
  white-space:nowrap;
 }

 body.authenticated .dh-breadcrumb-back{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:0;
  height:36px;
  min-height:36px;
  margin:0;
  padding:0 9px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface,#fff);
  color:var(--navy);
  box-shadow:none;
  font-size:12px;
  line-height:1;
 }

 body.authenticated .dh-breadcrumb-back-arrow{
  font-size:16px;
  line-height:1;
 }

 body.authenticated .dh-breadcrumb-trail{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
 }

 body.authenticated .dh-breadcrumb-trail .dh-breadcrumb-link,
 body.authenticated .dh-breadcrumb-trail .dh-breadcrumb-current{
  flex:0 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
 }

 body.authenticated .dh-breadcrumb-trail .dh-breadcrumb-current{
  display:block;
 }

 body.authenticated
 .dh-breadcrumb[data-current-view="overview"]{
  display:none!important;
 }
}

@media (max-width:430px){

 body.authenticated .dh-breadcrumb-back{
  width:36px;
  min-width:36px;
  padding:0;
 }

 body.authenticated .dh-breadcrumb-back-label{
  display:none;
 }
}


/* ZR DATAHUB TABLET LAYOUT STAGE27 */

@media (min-width:601px) and (max-width:1180px){

  /*
   * Gemeinsame mobile Kopfzeile:
   * Hamburger links, Zurück + Breadcrumb daneben.
   */
  body.authenticated #workspace{
    padding-top:14px!important;
  }

  body.authenticated
  .dh-breadcrumb:not([data-current-view="overview"]){
    position:relative;
    z-index:5;
    min-height:48px!important;
    margin-top:-54px!important;
    margin-bottom:18px!important;
    padding-left:72px!important;
    padding-right:58px!important;
    align-items:center!important;
  }

  body.authenticated .dh-breadcrumb-back{
    height:38px;
    min-height:38px;
    padding:0 11px;
  }

  body.authenticated .dh-breadcrumb-trail{
    min-height:38px;
    align-items:center;
  }

  /*
   * Dashboard: Begrüßung näher an die obere Navigation.
   */
  body.authenticated
  #overview>.dh-page-heading{
    min-height:0!important;
    margin-top:0!important;
    margin-bottom:18px!important;
    padding-left:58px!important;
  }

  /*
   * Tablet-Kacheln:
   * gleiche Höhe innerhalb der Übersicht.
   */
  body.authenticated #modules,
  #kfzModules,
  .kpi-modules,
  .contract-tiles,
  #contractList,
  .fleet-cards,
  #settingsHub,
  .settings-hub{
    align-items:stretch!important;
    grid-auto-rows:1fr!important;
  }

  body.authenticated #modules>.datahub-tile,
  #kfzModules>.datahub-tile,
  .kpi-modules>.datahub-tile,
  .contract-tiles>.datahub-tile,
  #contractList>.datahub-tile,
  .fleet-cards>.datahub-tile,
  #settingsHub>.datahub-tile,
  .settings-hub>.datahub-tile{
    height:100%!important;
    min-height:0!important;
  }

  /*
   * Dashboard-Kacheln etwas kompakter und ruhiger.
   */
  body.authenticated #modules>.datahub-tile{
    min-height:168px!important;
  }
}


/*
 * Smartphone behält bewusst dynamische Kachelhöhen.
 */
@media (max-width:600px){

  body.authenticated #modules,
  #kfzModules,
  .kpi-modules,
  .contract-tiles,
  #contractList,
  .fleet-cards,
  #settingsHub,
  .settings-hub{
    align-items:start!important;
    grid-auto-rows:max-content!important;
  }

  body.authenticated #modules>.datahub-tile,
  #kfzModules>.datahub-tile,
  .kpi-modules>.datahub-tile,
  .contract-tiles>.datahub-tile,
  #contractList>.datahub-tile,
  .fleet-cards>.datahub-tile,
  #settingsHub>.datahub-tile,
  .settings-hub>.datahub-tile{
    height:auto!important;
    min-height:0!important;
  }
}


/* ZR DATAHUB TABLET DASHBOARD GREETING STAGE28 */
@media (min-width:601px) and (max-width:1180px){

  body.authenticated #overview>.dh-page-heading{
    display:flex!important;
    align-items:center!important;
    min-height:48px!important;
    margin:-54px 58px 18px 0!important;
    padding:0 0 0 72px!important;
  }

  body.authenticated #overview>.dh-page-heading .dh-page-copy{
    display:grid!important;
    gap:1px!important;
    min-width:0!important;
  }

  body.authenticated #overview>.dh-page-heading h1,
  body.authenticated #overview>.dh-page-heading h2{
    margin:0!important;
    line-height:1.1!important;
  }

  body.authenticated #overview>.dh-page-heading p{
    margin:2px 0 0!important;
    line-height:1.2!important;
  }
}


/* ZR DATAHUB PAGE HEADING TOP SPACING STAGE29 */

/*
 * Normale DataHub-Bereiche:
 * etwas mehr Luft zwischen oberer Kartenlinie und Überschrift.
 *
 * Bestell-Manager bleibt bewusst unverändert.
 */
body.authenticated
.view:not(#overview):not(#orderManager)
> .dh-page-heading:first-child{
  padding-top:10px!important;
}

/*
 * Auf Smartphone/Tablet ebenfalls etwas Luft erhalten.
 */
@media (max-width:1180px){

  body.authenticated
  .view:not(#overview):not(#orderManager)
  > .dh-page-heading:first-child{
    padding-top:10px!important;
  }
}


/* ZR DATAHUB SMARTPHONE CONSISTENT PAGE HEADING STAGE30 */
@media (max-width:600px){

  /*
   * Auf Smartphones erhalten alle normalen Bereiche
   * denselben Abstand von der oberen Kartenlinie.
   */
  body.authenticated
  .view:not(#overview){
    padding-top:10px!important;
  }

  /*
   * Abstand kommt einheitlich über die View.
   * Keine zusätzlichen unterschiedlichen Innenabstände
   * an den einzelnen Überschriften.
   */
  body.authenticated
  .view:not(#overview)
  > .dh-page-heading:first-child{
    padding-top:0!important;
    margin-top:0!important;
  }

  /*
   * Bestell-Manager verwendet einen eigenen Heading-Typ.
   * Diesen auf exakt denselben Abstand normalisieren.
   */
  body.authenticated
  #orderManager.view{
    padding-top:10px!important;
  }

  body.authenticated
  #orderManager.view
  > .order-manager-page-heading:first-child{
    padding-top:0!important;
    margin-top:0!important;
  }
}


/* ZR DATAHUB SMARTPHONE ORDER-MANAGER HEADING ALIGNMENT STAGE31 */
@media (max-width:600px){

  /*
   * Bestell-Manager verwendet einen eigenen Seitenkopf.
   * Diesen vertikal an die übrigen DataHub-Bereiche angleichen.
   */
  body.authenticated
  #orderManager.view
  .order-manager-page-heading{
    padding-top:10px!important;
    margin-top:0!important;
  }
}


/* ZR DATAHUB SMARTPHONE ORDER-MANAGER FINAL SPACING STAGE32 */
@media (max-width:600px){

  /*
   * Messung:
   * Beleg-Manager     border -> Titel = 21px
   * Bestell-Manager  border -> Titel = 11px
   *
   * Deshalb +10px nur am View-Innenabstand des Bestell-Managers.
   */
  body.authenticated #orderManager.view{
    padding-top:20px!important;
  }

  body.authenticated
  #orderManager.view
  .order-manager-page-heading{
    padding-top:0!important;
    margin-top:0!important;
  }
}


/* ZR DATAHUB BESTELL-MANAGER SMARTPHONE REDESIGN STAGE33 */
@media (max-width:600px){

  /* Hauptansicht */
  body.authenticated #orderManager.view{
    padding-top:20px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }

  #orderManager .order-manager-page-heading{
    padding-top:0!important;
    margin-top:0!important;
    margin-bottom:14px!important;
  }

  /* Shop-Kopf: Aktionen oben, Suche darunter */
  #orderManager .order-commerce-header{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    padding:8px 0 14px!important;
  }

  #orderManager .order-header-actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
    grid-column:1!important;
    grid-row:1!important;
  }

  #orderManager .order-header-actions button{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    padding:7px 5px!important;
    margin:0!important;
    font-size:11px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }

  #orderManager .order-header-actions button span{
    display:inline!important;
  }

  #orderManager .order-header-search{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }

  #orderManager .order-header-search input{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
  }

  /* Hero kompakter */
  #orderManager .order-shop-hero{
    min-height:0!important;
    margin:4px 0 22px!important;
    padding:20px 16px!important;
    grid-template-columns:1fr!important;
  }

  #orderManager .order-shop-hero h2{
    font-size:25px!important;
    line-height:1.15!important;
  }

  #orderManager .order-shop-hero p{
    font-size:13px!important;
    line-height:1.45!important;
  }

  #orderManager .order-shop-hero-art{
    display:none!important;
  }

  /* Kategorien: keine horizontale Scrollleiste mehr */
  #orderManager .order-category-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    padding:0!important;
  }

  #orderManager .order-category-card{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:64px!important;
    margin:0!important;
    padding:10px 12px!important;
    gap:10px!important;
    text-align:left!important;
  }

  #orderManager .order-category-icon{
    flex:0 0 auto!important;
  }

  #orderManager .order-category-card strong{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }

  #orderManager .order-category-count{
    white-space:nowrap!important;
  }

  /* Filter immer untereinander */
  

  #orderManager .order-product-filters > *{
    width:100%!important;
    min-width:0!important;
  }

  /* Produktkarten: auf Smartphone bewusst einspaltig */
  #orderManager .order-product-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    width:100%!important;
  }

  #orderManager .order-product-card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  #orderManager .order-product-media{
    height:190px!important;
    padding:14px!important;
  }

  #orderManager .order-product-media img{
    max-width:88%!important;
    max-height:88%!important;
  }

  #orderManager .order-product-copy{
    padding:13px!important;
  }

  #orderManager .order-product-copy > p{
    display:block!important;
  }

  #orderManager .order-product-title{
    font-size:15px!important;
    line-height:1.35!important;
  }

  #orderManager .order-product-card-footer{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
  }

  #orderManager .order-product-card-footer > strong{
    align-self:flex-start!important;
    font-size:16px!important;
  }

  #orderManager .order-product-card-footer button,
  #orderManager .order-card-cart,
  #orderManager .order-wishlist-button{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
  }

  /* Pagination */
  #orderManager .order-pagination{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    width:100%!important;
  }

  #orderManager .order-pagination > div{
    align-self:flex-end!important;
  }

  /* Produktdetail */
  #orderManager .order-product-detail-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:0!important;
  }

  #orderManager .order-product-detail-media{
    min-height:240px!important;
    padding:20px!important;
  }

  #orderManager .order-product-detail-copy{
    padding-top:0!important;
  }

  #orderManager .order-product-detail-copy h2{
    font-size:25px!important;
  }

  #orderManager .order-product-detail-actions{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  #orderManager .order-qty-control,
  #orderManager .order-product-add,
  #orderManager .order-product-wish{
    width:100%!important;
    grid-column:1!important;
  }

  /* Wunschliste / Warenkorb */
  #orderManager .order-subpage-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
  }

  #orderManager .order-subpage-head button{
    width:100%!important;
  }

  #orderManager .order-line-item{
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr) auto!important;
    gap:10px!important;
    width:100%!important;
  }

  #orderManager .order-line-image{
    width:52px!important;
    height:52px!important;
  }

  #orderManager .order-line-item input{
    grid-column:2!important;
    width:82px!important;
  }

  #orderManager .order-line-item > strong{
    grid-column:2!important;
    grid-row:auto!important;
    text-align:left!important;
  }

  #orderManager .order-line-remove{
    grid-column:3!important;
  }

  /* Checkout */
  #orderManager .order-checkout-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }

  #orderManager .order-checkout-summary{
    position:static!important;
    width:100%!important;
    padding:18px!important;
  }

  #orderManager #orderSubmit,
  #orderManager #orderCheckoutOpen,
  #orderManager #orderWishlistToCart,
  #orderManager #orderCartClear{
    width:100%!important;
    min-height:44px!important;
  }
}


/* ZR DATAHUB BESTELL-MANAGER SMARTPHONE PASS 2 */
@media (max-width:600px){

  /* Weniger Luft im gesamten Shop */
  #orderManager .order-shop-panel{
    padding-top:10px!important;
  }

  /* Obere Aktionen kompakter */
  #orderManager .order-header-actions{
    gap:8px!important;
  }

  #orderManager .order-header-actions button{
    min-height:52px!important;
    padding:6px 4px!important;
    border-radius:10px!important;
    font-size:10px!important;
  }

  #orderManager .order-header-actions svg{
    width:18px!important;
    height:18px!important;
  }

  /* Suche näher an die Aktionen */
  #orderManager .order-header-search{
    margin-top:2px!important;
  }

  /* Hero deutlich kompakter */
  #orderManager .order-shop-hero{
    margin:0 0 18px!important;
    padding:16px!important;
  }

  #orderManager .order-shop-hero h2{
    font-size:23px!important;
    margin-bottom:8px!important;
  }

  #orderManager .order-shop-hero p{
    margin-bottom:0!important;
  }

  /* Kategorien als kompakte Navigationszeilen */
  #orderManager .order-category-grid{
    gap:6px!important;
  }

  #orderManager .order-category-card{
    min-height:54px!important;
    padding:8px 10px!important;
    border-radius:10px!important;
  }

  #orderManager .order-category-icon,
  #orderManager .order-category-icon img{
    width:34px!important;
    height:34px!important;
  }

  #orderManager .order-category-card strong{
    font-size:13px!important;
    line-height:1.25!important;
  }

  #orderManager .order-category-count{
    font-size:10px!important;
  }

  /* Filter kompakter */
  

  

  

  

  /* Produktliste kompakter */
  #orderManager .order-product-grid{
    gap:12px!important;
  }

  #orderManager .order-product-card{
    border-radius:12px!important;
    overflow:hidden!important;
  }

  #orderManager .order-product-media{
    height:150px!important;
    padding:10px!important;
  }

  #orderManager .order-product-media img{
    max-width:90%!important;
    max-height:90%!important;
  }

  #orderManager .order-product-copy{
    padding:11px 12px 12px!important;
  }

  #orderManager .order-product-copy > p{
    margin:4px 0!important;
    font-size:10px!important;
  }

  #orderManager .order-product-title{
    font-size:14px!important;
    line-height:1.3!important;
    margin-bottom:6px!important;
  }

  #orderManager .order-product-card-footer{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    margin-top:10px!important;
  }

  #orderManager .order-product-card-footer > strong{
    grid-column:1!important;
    grid-row:1!important;
    margin:0!important;
    font-size:16px!important;
  }

  /*
   * Warenkorb-Button:
   * keine leere langgezogene Pillenform mehr.
   */
  #orderManager .order-card-cart{
    grid-column:1/-1!important;
    grid-row:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:100%!important;
    min-height:42px!important;
    height:42px!important;
    padding:0 12px!important;
    border-radius:9px!important;
    font-size:12px!important;
    font-weight:700!important;
  }

  /*
   * Falls ältere CSS-Regeln den Buttontext verstecken:
   * Text wieder sichtbar machen.
   */
  #orderManager .order-card-cart span{
    display:inline!important;
  }

  /* Wunschliste als kleiner Icon-Button oben rechts */
  #orderManager .order-wishlist-button{
    position:absolute!important;
    top:10px!important;
    right:10px!important;
    z-index:2!important;
    display:grid!important;
    place-items:center!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    padding:0!important;
    border-radius:50%!important;
    background:var(--surface)!important;
    box-shadow:0 2px 8px rgba(0,0,0,.08)!important;
    overflow:hidden!important;
    font-size:0!important;
  }

  #orderManager .order-wishlist-button svg{
    width:18px!important;
    height:18px!important;
  }

  #orderManager .order-product-card{
    position:relative!important;
  }

  /* Abschnittsabstände reduzieren */
  #orderManager .order-shop-home-section{
    margin-bottom:22px!important;
  }

  #orderManager .order-shop-home-section > h3{
    margin-bottom:8px!important;
  }

  /* Pagination kompakt */
  #orderManager .order-pagination{
    margin-top:16px!important;
    gap:8px!important;
  }
}

/* ZR ORDER MOBILE PASS 3 */
@media (max-width:600px){

  /* oberer Bereich kompakter */
  #orderManager .order-header-actions{
    gap:8px!important;
    margin:0 0 8px!important;
  }

  #orderManager .order-header-search{
    margin:0 0 10px!important;
  }

  /* Hero mobil ausblenden */
  #orderManager .order-shop-hero{
    display:none!important;
  }

  /* Kategorien nur als 3 Icon-Kacheln */
  #orderManager .order-category-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    margin:0 0 12px!important;
  }

  #orderManager .order-category-card{
    display:grid!important;
    place-items:center!important;
    min-height:78px!important;
    padding:10px!important;
    border-radius:12px!important;
  }

  #orderManager .order-category-card strong,
  #orderManager .order-category-count{
    display:none!important;
  }

  #orderManager .order-category-icon,
  #orderManager .order-category-icon img,
  #orderManager .zr-shop-category-svg{
    width:34px!important;
    height:34px!important;
    max-width:34px!important;
    max-height:34px!important;
    margin:0!important;
  }

  /* mobil ausgeblendete Zwischenüberschriften */
  #orderManager .order-mobile-hidden-heading{
    display:none!important;
  }

  /* kompakter Filter-Button */
  #orderManager .order-mobile-filter-toggle{
    display:grid!important;
    place-items:center!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    margin:0 0 10px auto!important;
    padding:0!important;
    border-radius:12px!important;
  }

  #orderManager .order-mobile-filter-toggle svg{
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }

  /* Filterbereich kompakter */
  

  #orderManager .order-product-filters[hidden]{
    display:none!important;
  }

  

  

  /* Produktliste kompakter */
  #orderManager .order-product-grid{
    gap:12px!important;
  }

  #orderManager .order-product-card{
    border-radius:12px!important;
    overflow:hidden!important;
  }

  #orderManager .order-product-media{
    height:144px!important;
    padding:10px!important;
  }

  #orderManager .order-product-copy{
    padding:10px 12px 12px!important;
  }

  #orderManager .order-product-title{
    font-size:14px!important;
    line-height:1.3!important;
  }

  #orderManager .order-product-copy > p{
    font-size:10px!important;
    margin:4px 0!important;
  }

  #orderManager .order-product-card-footer{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    margin-top:10px!important;
  }

  #orderManager .order-product-card-footer > strong{
    margin:0!important;
    font-size:16px!important;
  }

  /* Warenkorb-Button sauber und kompakt */
  #orderManager .order-card-cart{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    width:100%!important;
    min-height:40px!important;
    height:40px!important;
    padding:0 12px!important;
    border-radius:10px!important;
    font-size:12px!important;
    font-weight:700!important;
  }

  #orderManager .order-card-cart span{
    display:inline!important;
  }
}

@media (min-width:601px){
  #orderManager .order-mobile-filter-toggle{
    display:none!important;
  }
}

/* ZR ORDER MOBILE PASS 4 */
@media (max-width:600px){

  /* Hauptüberschrift + Unterzeile mobil ausblenden */
  #orderManager .order-mobile-hide-title{
    display:none!important;
  }

  /* Schnellzugriff mobil ausblenden */
  #orderManager .order-mobile-hide-quicklabel{
    display:none!important;
  }

  /* Sticky Schnellleiste */
  #orderManager .order-mobile-quicknav{
    position:sticky!important;
    top:8px!important;
    z-index:30!important;
    margin:0 0 10px!important;
    transition:transform .22s ease, opacity .22s ease, box-shadow .22s ease!important;
  }

  #orderManager .order-mobile-quicknav.is-hidden{
    transform:translateY(-18px)!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  #orderManager .order-mobile-quicknav.is-visible{
    transform:translateY(0)!important;
    opacity:1!important;
  }

  /* Kategorien nur als kompakte Symbolkacheln */
  #orderManager .order-category-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }

  #orderManager .order-category-card{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:86px!important;
    padding:10px!important;
    border-radius:14px!important;
  }

  #orderManager .order-category-card strong,
  #orderManager .order-category-count{
    display:none!important;
  }

  #orderManager .order-category-icon{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
  }

  #orderManager .order-category-icon img,
  #orderManager .zr-shop-category-svg{
    width:42px!important;
    height:42px!important;
    max-width:42px!important;
    max-height:42px!important;
    object-fit:contain!important;
    display:block!important;
    margin:0 auto!important;
  }

  /* Noch etwas kompakter zwischen Top-Leiste und Suche */
  #orderManager .order-header-search{
    margin-top:4px!important;
  }
}


/* ZR ORDER MOBILE QUICKNAV SCROLL FIX */
@media (max-width:600px){

  /*
   * Alten Sticky-/Transform-Mechanismus neutralisieren.
   */
  #orderManager .order-mobile-quicknav{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
    transition:none!important;
  }

  #orderManager .order-mobile-quicknav.is-hidden,
  #orderManager .order-mobile-quicknav.is-visible{
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  /*
   * Beim Hochscrollen erzeugen wir über JS eine eigene
   * feste Kopie der Schnellnavigation.
   */
  .zr-order-mobile-floating-nav{
    position:fixed!important;
    z-index:90!important;
    top:82px!important;
    left:16px!important;
    right:16px!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    padding:7px!important;
    border:1px solid var(--line)!important;
    border-radius:13px!important;
    background:var(--surface,#fff)!important;
    box-shadow:0 8px 24px rgba(0,47,80,.14)!important;
  }

  .zr-order-mobile-floating-nav[hidden]{
    display:none!important;
  }

  .zr-order-mobile-floating-nav button{
    min-width:0!important;
    min-height:48px!important;
    margin:0!important;
    padding:5px 3px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:10px!important;
  }
}

@media (min-width:601px){
  .zr-order-mobile-floating-nav{
    display:none!important;
  }
}


/* ZR ORDER MOBILE FLOATING NAV COMPACT */
@media (max-width:600px){

  .zr-order-mobile-floating-nav{
    top:8px!important;
    left:calc(50% - 84px)!important;
    right:auto!important;
    width:168px!important;

    grid-template-columns:repeat(3,48px)!important;
    justify-content:center!important;
    gap:4px!important;

    padding:5px!important;
    border-radius:13px!important;

    background:var(--surface,#fff)!important;
    border:1px solid var(--line)!important;
    box-shadow:0 5px 18px rgba(0,47,80,.14)!important;
  }

  .zr-order-mobile-floating-nav button{
    position:relative!important;

    display:grid!important;
    place-items:center!important;

    width:48px!important;
    min-width:48px!important;
    height:44px!important;
    min-height:44px!important;

    margin:0!important;
    padding:0!important;

    border:0!important;
    background:transparent!important;
    box-shadow:none!important;

    color:var(--ink)!important;
    font-size:0!important;
  }

  /*
   * Nur die Texte der schwebenden Kopie ausblenden.
   * SVGs selbst werden NICHT verändert.
   */
  .zr-order-mobile-floating-nav button > span:not(.order-action-badge){
    display:none!important;
  }

  .zr-order-mobile-floating-nav button svg{
    display:block!important;
    width:20px!important;
    height:20px!important;
    margin:0!important;
  }

  .zr-order-mobile-floating-nav .order-action-badge{
    position:absolute!important;
    top:1px!important;
    right:2px!important;

    display:grid!important;
    place-items:center!important;

    min-width:16px!important;
    height:16px!important;
    padding:0 4px!important;

    font-size:9px!important;
    line-height:1!important;
  }
}


/* ZR ORDER MOBILE FLOATING NAV CENTERED BETWEEN HEADER CONTROLS */
@media (max-width:600px){

  .zr-order-mobile-floating-nav{
    top:8px!important;

    /*
     * Hamburger links und Info rechts freihalten.
     * Die Leiste sitzt exakt im verbleibenden Mittelbereich.
     */
    left:92px!important;
    right:62px!important;
    width:auto!important;

    grid-template-columns:repeat(3,44px)!important;
    justify-content:center!important;
    gap:6px!important;

    padding:5px 8px!important;
    margin:0!important;
  }

  .zr-order-mobile-floating-nav button{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }
}


/* ZR ORDER MOBILE FLOATING NAV FINAL */
@media (max-width:600px){

  .zr-order-mobile-floating-nav{
    top:8px!important;
    left:92px!important;
    right:62px!important;

    width:auto!important;
    height:48px!important;
    min-height:48px!important;

    display:grid!important;
    grid-template-columns:repeat(3,44px)!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;

    margin:0!important;
    padding:0 6px!important;

    border:1px solid var(--line)!important;
    border-radius:12px!important;

    background:var(--surface,#fff)!important;
    box-shadow:0 4px 14px rgba(0,47,80,.12)!important;
  }

  .zr-order-mobile-floating-nav button{
    position:relative!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;

    margin:0!important;
    padding:0!important;

    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    box-shadow:none!important;

    font-size:0!important;
  }

  /*
   * Wichtig:
   * Original-Icon-Styling NICHT überschreiben.
   */
  .zr-order-mobile-floating-nav button svg{
    margin:0!important;
  }

  /*
   * Nur sichtbare Beschriftungen ausblenden.
   */
  .zr-order-mobile-floating-nav
  button
  > span:not(.order-action-badge){
    display:none!important;
  }

  .zr-order-mobile-floating-nav .order-action-badge{
    position:absolute!important;
    top:1px!important;
    right:1px!important;
  }
}


/* ZR ORDER FLOATING NAV ORIGINAL ICON APPEARANCE */
@media (max-width:600px){

  /*
   * Keine eigene Symbolgestaltung mehr.
   * Die konkreten Werte kommen per JS direkt vom Original.
   */
  .zr-order-mobile-floating-nav button{
    color:inherit!important;
  }

  .zr-order-mobile-floating-nav button svg{
    display:block!important;
    margin:0 auto!important;
  }
}


/* ZR ORDER TABLET CLEAN LAYOUT */
@media (min-width:601px) and (max-width:1180px){

  /* Hauptüberschrift und Hero entfernen */
  #orderManager .order-manager-page-heading{
    display:none!important;
  }

  #orderManager .order-shop-hero{
    display:none!important;
  }

  /* Shop kompakter starten */
  #orderManager .order-shop-panel{
    padding-top:0!important;
  }

  /* Suche + Aktionsleiste exakt auf gleicher Höhe */
  #orderManager .order-commerce-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:14px!important;

    margin:0 0 18px!important;
    padding:0!important;
  }

  #orderManager .order-header-search{
    grid-column:1!important;
    grid-row:1!important;

    width:100%!important;
    max-width:none!important;

    margin:0!important;
  }

  #orderManager .order-header-search input{
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
  }

  #orderManager .order-header-actions{
    grid-column:2!important;
    grid-row:1!important;

    display:grid!important;
    grid-template-columns:repeat(3,52px)!important;
    align-items:center!important;

    height:48px!important;
    min-height:48px!important;

    margin:0!important;
    padding:0 8px!important;
  }

  #orderManager .order-header-actions button{
    width:52px!important;
    min-width:52px!important;
    height:46px!important;
    min-height:46px!important;

    margin:0!important;
    padding:0!important;
  }

  /* Abschnittsüberschrift Schnellzugriff entfernen */
  #orderManager .order-mobile-hide-quicklabel,
  #orderManager .order-tablet-hide-quicklabel{
    display:none!important;
  }

  /* Kategorien kompakt */
  #orderManager .order-category-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;

    gap:12px!important;

    margin:0 0 14px!important;
    padding:0!important;

    overflow:visible!important;
  }

  #orderManager .order-category-card{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    min-width:0!important;
    min-height:86px!important;

    padding:10px!important;
  }

  #orderManager .order-category-card strong,
  #orderManager .order-category-count{
    display:none!important;
  }

  #orderManager .order-category-icon{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:100%!important;
    height:100%!important;

    margin:0!important;
  }

  #orderManager .order-category-icon img,
  #orderManager .zr-shop-category-svg{
    width:46px!important;
    height:46px!important;

    max-width:46px!important;
    max-height:46px!important;

    margin:0 auto!important;

    object-fit:contain!important;
  }

  /* Sortiment / Alle Artikel / Artikelanzahl entfernen */
  #orderManager .order-tablet-hide-products-heading{
    display:none!important;
  }

  /* Filter nur per Symbol */
  #orderManager .order-mobile-filter-toggle{
    display:grid!important;
    place-items:center!important;

    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;

    margin:0 0 10px auto!important;
    padding:0!important;
  }

  #orderManager .order-mobile-filter-toggle svg{
    width:18px!important;
    height:18px!important;

    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }

  #orderManager .order-product-filters[hidden]{
    display:none!important;
  }

  

  

  /* Produkte */
  #orderManager .order-product-grid{
    align-items:stretch!important;
    gap:14px!important;

    margin-top:0!important;
  }

  #orderManager .order-product-card{
    display:flex!important;
    flex-direction:column!important;

    height:100%!important;
  }

  #orderManager .order-product-copy{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
  }

  #orderManager .order-product-card-footer{
    margin-top:auto!important;
  }

  /* Floating-Leiste für Tablet */
  .zr-order-tablet-floating-nav{
    position:fixed!important;

    top:8px!important;
    left:104px!important;
    right:72px!important;

    z-index:90!important;

    height:48px!important;
    min-height:48px!important;

    display:grid!important;
    grid-template-columns:repeat(3,48px)!important;
    align-items:center!important;
    justify-content:center!important;

    gap:8px!important;

    padding:0 8px!important;

    background:var(--surface,#fff)!important;
    border:1px solid var(--line)!important;
    border-radius:12px!important;
    box-shadow:0 4px 14px rgba(0,47,80,.12)!important;
  }

  .zr-order-tablet-floating-nav[hidden]{
    display:none!important;
  }

  .zr-order-tablet-floating-nav button{
    position:relative!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:48px!important;
    height:44px!important;

    min-width:48px!important;
    min-height:44px!important;

    margin:0!important;
    padding:0!important;

    border:0!important;
    background:transparent!important;
    box-shadow:none!important;

    font-size:0!important;
  }

  .zr-order-tablet-floating-nav
  button > span:not(.order-action-badge){
    display:none!important;
  }
}


/* Tablet Hochformat */
@media (min-width:601px) and (max-width:899px){

  #orderManager .order-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* Tablet Querformat */
@media (min-width:900px) and (max-width:1180px){

  #orderManager .order-product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}


/* ZR ORDER TABLET FILTER CLEANUP */
@media (min-width:601px) and (max-width:1180px){

  /* Mehr Luft zur oberen Kartenkante */
  #orderManager .order-shop-panel{
    padding-top:18px!important;
  }

  #orderManager .order-commerce-header{
    margin-top:0!important;
    margin-bottom:18px!important;
  }

  /* Nur ein Filter-Button */
  #orderManager #orderMobileFilterToggle{
    display:none!important;
  }

  #orderManager #orderTabletFilterToggle{
    display:grid!important;
    place-items:center!important;

    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;

    margin:0 0 10px auto!important;
  }

  /* Geschlossener Filter wirklich ausblenden */
  #orderManager .order-product-filters[hidden]{
    display:none!important;
  }

  
}


/* ZR ORDER TABLET SPACING FINAL */
@media (min-width:601px) and (max-width:1180px){

  /*
   * Sauberer Innenabstand zur oberen Kartenkante.
   */
  #orderManager .order-shop-panel{
    padding-top:24px!important;
  }

  #orderManager .order-commerce-header{
    margin-top:0!important;
    margin-bottom:18px!important;
  }

  /*
   * Suche und Aktionsleiste bleiben exakt gleich hoch.
   */
  #orderManager .order-header-search,
  #orderManager .order-header-search input,
  #orderManager .order-header-actions{
    height:48px!important;
    min-height:48px!important;
  }

  /*
   * Kategorien kompakt halten.
   */
  #orderManager .order-category-grid{
    margin-bottom:14px!important;
  }

  /*
   * Alle Zwischenbereiche nach den Kategorien zusammenziehen.
   * Die ausgeblendeten Sortiment-/Produktüberschriften sollen
   * keinerlei Resthöhe mehr erzeugen.
   */
  #orderManager .order-shop-home-section{
    margin-top:0!important;
    margin-bottom:14px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    min-height:0!important;
  }

  #orderManager .order-shop-home-section:has(
    .order-tablet-hide-products-heading
  ){
    margin:0!important;
    padding:0!important;
    min-height:0!important;
  }

  #orderManager .order-tablet-hide-products-heading{
    display:none!important;
    margin:0!important;
    padding:0!important;
    height:0!important;
    min-height:0!important;
  }

  /*
   * Filter-Icon direkt unter die Kategorien holen.
   */
  #orderManager #orderTabletFilterToggle{
    margin-top:0!important;
    margin-bottom:10px!important;
  }

  /*
   * Wenn Filter geschlossen:
   * keinerlei Platz für den Filterbereich reservieren.
   */
  #orderManager .order-product-filters[hidden]{
    display:none!important;
    margin:0!important;
    padding:0!important;
    height:0!important;
    min-height:0!important;
  }

  /*
   * Produktliste direkt anschließend.
   */
  #orderManager .order-product-grid{
    margin-top:0!important;
    padding-top:0!important;
  }
}


/* ZR ORDER TABLET MEASURED SPACING FIX */
@media (min-width:601px) and (max-width:1180px){

  /*
   * Gemessen:
   * orderManager top = 94
   * commerceHeader top = 94
   * => bisher 0 px Abstand zur oberen Randlinie.
   *
   * Der gemeinsame Shop-Container erhält deshalb
   * einen echten Innenabstand von 24 px.
   */
  #orderManager .order-commerce-shell{
    padding-top:24px!important;
    box-sizing:border-box!important;
  }

  /*
   * Gemessen:
   * Kategorien bottom = 323
   * ProductListSection top = 337
   * => gewünschter Abschnittsabstand bereits 14 px.
   *
   * Filterbutton top = 379
   * => innerhalb der ProductListSection entstehen
   * zusätzlich unnötige 42 px.
   *
   * Diese 42 px ziehen wir exakt heraus.
   */
  #orderManager #orderProductListSection
  > #orderTabletFilterToggle{
    margin-top:-42px!important;
  }

  /*
   * Der normale Abstand nach dem Filterbutton bleibt erhalten.
   */
  #orderManager #orderTabletFilterToggle{
    margin-bottom:10px!important;
  }
}


/* ZR ORDER SMARTPHONE SINGLE FILTER */
@media (max-width:600px){

  /*
   * Tablet-Filter darf auf Smartphones niemals sichtbar sein.
   * Smartphone verwendet ausschließlich den bestehenden
   * orderMobileFilterToggle.
   */
  #orderManager #orderTabletFilterToggle{
    display:none!important;
  }

  #orderManager #orderMobileFilterToggle{
    display:grid!important;
  }
}

/* =========================================================
   BELEG-MANAGER KOSTENSTELLEN
   Optisch wie globale DataHub-Dropdowns
   ========================================================= */

#documentCenters{
  position:relative;
  width:100%;
  margin:6px 0 0!important;
  padding:0!important;

  border:0!important;
  border-radius:0!important;

  background:transparent!important;
  overflow:visible!important;
}

#documentCenters > summary{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  gap:8px;

  width:100%;
  height:48px;
  min-height:48px;
  margin:0;
  padding:0 14px;

  box-sizing:border-box;

  border:1px solid #cfdce2;
  border-radius:10px;

  background:var(--surface,#fff);
  color:var(--navy);

  font:inherit;
  font-weight:600;
  line-height:1.2;

  list-style:none;
  cursor:pointer;

  box-shadow:none;
}

#documentCenters > summary::-webkit-details-marker{
  display:none;
}

#documentCenters > summary::marker{
  display:none;
  content:"";
}

#documentCenters > summary::before{
  content:"";

  width:18px;
  height:18px;

  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008087' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E")
    center/18px 18px no-repeat;

  transform:rotate(-90deg);
  transition:transform .16s ease;
}

#documentCenters[open] > summary::before{
  transform:rotate(0deg);
}

#documentCenters > summary:hover{
  border-color:#9fbfc8;
}

#documentCenters[open] > summary,
#documentCenters > summary:focus-visible{
  border-color:var(--teal,#008087);
  outline:none;
  box-shadow:0 0 0 3px rgb(0 128 135 / 14%);
}

#documentCenters #centerChoices{
  width:100%;
  max-height:280px;
  margin-top:6px;
  padding:6px;

  box-sizing:border-box;
  overflow:auto;

  border:1px solid #cfdce2;
  border-radius:12px;

  background:var(--surface,#fff);
  box-shadow:
    0 14px 34px rgb(0 47 80 / 14%),
    0 3px 8px rgb(0 47 80 / 8%);
}

#documentCenters #centerChoices .check{
  display:flex;
  align-items:center;
  gap:10px;

  width:100%;
  min-height:40px;
  margin:0;
  padding:9px 11px;

  box-sizing:border-box;

  border-radius:8px;

  color:var(--navy);
  font-weight:500;
  text-align:left;

  cursor:pointer;
}

#documentCenters #centerChoices .check:hover{
  background:#e7f4ef;
}

#documentCenters #centerChoices .check:has(input:checked){
  background:#eaf5f7;
  font-weight:700;
}

#documentCenters #centerChoices input[type="checkbox"]{
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin:0;

  accent-color:var(--teal,#008087);
}

html[data-theme=dark] #documentCenters > summary,
html[data-theme=dark] #documentCenters #centerChoices{
  background:#102a36;
  border-color:#35515d;
  color:#e0edf3;
}

html[data-theme=dark] #documentCenters #centerChoices .check{
  color:#e0edf3;
}

html[data-theme=dark] #documentCenters #centerChoices .check:hover{
  background:#173b45;
}

html[data-theme=dark] #documentCenters #centerChoices .check:has(input:checked){
  background:#164047;
}

html[data-theme=dark] #documentCenters > summary::before{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2376cbc5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E");
}

@media(max-width:600px){
  #documentCenters > summary{
    min-height:44px;
  }

  #documentCenters #centerChoices{
    max-height:min(320px,55dvh);
  }

  #documentCenters #centerChoices .check{
    min-height:44px;
  }
}


/* =========================================================
   BELEG-MANAGER KOSTENSTELLE FINAL
   ========================================================= */

#documents .document-centers-field{
  display:grid;
  gap:6px;
  width:100%;
  min-width:0;
  margin:0 0 14px;
}

#documents .document-centers-label{
  display:block;
  margin:0;
  color:var(--navy);
  font-size:13px;
  font-weight:700;
  line-height:1.2;
}

/* Container */
#documents #documentCenters{
  position:relative;
  width:100%;
  min-width:0;

  margin:0!important;
  padding:0!important;

  border:0!important;
  border-radius:0!important;

  background:transparent!important;
  overflow:visible!important;
}

/* geschlossenes Feld */
#documents #documentCenters > summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 18px!important;
  align-items:center!important;
  gap:12px!important;

  width:100%!important;
  height:48px!important;
  min-height:48px!important;

  margin:0!important;
  padding:0 14px!important;

  box-sizing:border-box!important;

  border:1px solid #cfdce2!important;
  border-radius:10px!important;

  background:var(--surface,#fff)!important;
  color:var(--navy)!important;

  font:inherit!important;
  font-weight:400!important;
  line-height:1.2!important;
  text-align:left!important;

  list-style:none!important;
  cursor:pointer!important;

  box-shadow:none!important;
}

#documents #documentCenters > summary::-webkit-details-marker{
  display:none!important;
}

#documents #documentCenters > summary::marker{
  content:""!important;
}

/* alten linken Pfeil vollständig entfernen */
#documents #documentCenters > summary::before{
  content:none!important;
  display:none!important;
}

/* Pfeil rechts – identisch zu normalen Dropdowns */
#documents #documentCenters > summary::after{
  content:""!important;

  display:block!important;
  width:18px!important;
  height:18px!important;

  justify-self:end!important;

  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008087' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E")
    center/18px 18px no-repeat!important;

  transform:none!important;
  transition:transform .16s ease!important;
}

#documents #documentCenters[open] > summary::after{
  transform:rotate(180deg)!important;
}

#documents #documentCenters > summary:hover{
  border-color:#9fbfc8!important;
}

#documents #documentCenters[open] > summary,
#documents #documentCenters > summary:focus-visible{
  border-color:var(--teal,#008087)!important;
  outline:none!important;
  box-shadow:0 0 0 3px rgb(0 128 135 / 14%)!important;
}

/* aufgeklappte Liste */
#documents #centerChoices{
  width:100%;
  max-height:280px;

  margin:6px 0 0!important;
  padding:6px!important;

  box-sizing:border-box;
  overflow:auto;

  border:1px solid #cfdce2!important;
  border-radius:12px!important;

  background:var(--surface,#fff)!important;

  box-shadow:
    0 14px 34px rgb(0 47 80 / 14%),
    0 3px 8px rgb(0 47 80 / 8%)!important;
}

#documents #centerChoices .check{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;

  width:100%;
  min-height:40px;

  margin:0!important;
  padding:9px 11px!important;

  box-sizing:border-box;

  border-radius:8px;

  color:var(--navy);
  font-weight:500!important;
  text-align:left!important;

  cursor:pointer;
}

#documents #centerChoices .check:hover{
  background:#e7f4ef;
}

#documents #centerChoices .check:has(input:checked){
  background:#eaf5f7;
  font-weight:700!important;
}

#documents #centerChoices input[type="checkbox"]{
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin:0;
  accent-color:var(--teal,#008087);
}

/* Aktionszeile sauber unter den Feldern */
#documents .document-fields + .document-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:10px!important;

  width:100%!important;

  margin:0!important;
  padding:0!important;
}

/* Status darf die Buttons nicht nach rechts schieben */
#documents .document-fields + .document-actions #documentSaveStatus:empty{
  display:none!important;
}

/* Buttons exakt links mit Dropdowns ausrichten */
#documents .document-fields + .document-actions > button:first-of-type,
#documents .document-fields + .document-actions > #deferDocument{
  margin-left:0!important;
}

/* Dark Mode */
html[data-theme=dark] #documents #documentCenters > summary,
html[data-theme=dark] #documents #centerChoices{
  background:#102a36!important;
  border-color:#35515d!important;
  color:#e0edf3!important;
}

html[data-theme=dark] #documents #documentCenters > summary::after{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2376cbc5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E")!important;
}

html[data-theme=dark] #documents #centerChoices .check{
  color:#e0edf3;
}

html[data-theme=dark] #documents #centerChoices .check:hover{
  background:#173b45;
}

html[data-theme=dark] #documents #centerChoices .check:has(input:checked){
  background:#164047;
}

@media(max-width:600px){
  #documents #documentCenters > summary{
    min-height:44px!important;
  }

  #documents #centerChoices{
    max-height:min(320px,55dvh);
  }

  #documents #centerChoices .check{
    min-height:44px;
  }
}

/* 8.1.24 · Stammdaten / Stores */
#storeMasterCard{width:100%}
.store-master-heading{margin-bottom:18px}
.store-master-heading p{margin:5px 0 0}

.store-master-toolbar{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 margin:0 0 16px
}
.store-master-toolbar h4{margin:0}
.store-master-toolbar p{margin:4px 0 0}

.store-master-table{width:100%;border-collapse:collapse}
.store-master-table th,
.store-master-table td{vertical-align:middle}
.store-master-table th:last-child,
.store-master-table td:last-child{
 text-align:right;
 white-space:nowrap
}
.store-master-actions{width:1%}

.store-master-editor-heading{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 margin-bottom:18px
}
.store-master-editor-heading h4{margin:0}

.store-master-section{
 padding:20px 0;
 border-top:1px solid var(--border)
}
.store-master-section:first-of-type{
 border-top:0;
 padding-top:0
}
.store-master-section h5{
 margin:0 0 14px;
 font-size:1rem
}
.store-master-section>p.small{margin:-7px 0 14px}

.store-master-form-grid{
 grid-template-columns:repeat(2,minmax(0,1fr))
}
.store-master-wide{grid-column:1/-1}

.store-opening-hours{
 display:grid;
 gap:8px
}
.store-hours-row{
 display:grid;
 grid-template-columns:190px minmax(0,1fr);
 gap:18px;
 align-items:center;
 min-height:54px;
 padding:8px 0;
 border-bottom:1px solid var(--border)
}
.store-hours-row:last-child{border-bottom:0}

.store-hours-day{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px
}
.store-hours-day .check{
 margin:0;
 white-space:nowrap
}

.store-hours-ranges{
 display:flex;
 align-items:center;
 gap:12px;
 flex-wrap:wrap
}
.store-hours-range{
 display:grid;
 grid-template-columns:120px 16px 120px;
 align-items:center;
 gap:6px
}
.store-hours-range span{text-align:center}
.store-hours-row.is-closed .store-hours-ranges{opacity:.42}

.store-master-footer{
 display:flex;
 align-items:center;
 width:100%;
 margin-top:20px
}
.store-master-footer-spacer{flex:1}

#storeMasterStatus.is-error,
#storeMasterFormStatus.is-error{
 color:var(--danger)
}

@media(max-width:760px){
 .store-master-toolbar{
  align-items:flex-start;
  flex-direction:column
 }
 .store-master-toolbar button{width:100%}

 .store-master-form-grid{grid-template-columns:1fr}
 .store-master-wide{grid-column:auto}

 .store-hours-row{
  grid-template-columns:1fr;
  gap:8px
 }
 .store-hours-day{justify-content:flex-start}
 .store-hours-ranges{
  display:grid;
  grid-template-columns:1fr
 }
 .store-hours-range{
  grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)
 }

 .store-master-footer{flex-wrap:wrap}
 .store-master-footer-spacer{display:none}
 .store-master-footer button{flex:1 1 100%}
}

/* Stammdaten · kompakte Store-Uebersicht */
.store-master-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:12px;
 margin-top:14px;
}

.store-master-card{
 display:flex;
 flex-direction:column;
 align-items:stretch;
 min-width:0;
 min-height:122px;
 margin:0;
 padding:15px 16px;
 border:1px solid var(--line);
 border-radius:14px;
 background:var(--surface);
 color:var(--ink);
 box-shadow:none;
 text-align:left;
}

.store-master-card:hover{
 border-color:var(--teal);
 background:var(--soft);
 box-shadow:none;
}

.store-master-card-head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 margin-bottom:10px;
}

.store-master-id{
 font-size:12px;
 color:var(--teal);
 letter-spacing:.02em;
}

.store-master-card-edit{
 color:var(--muted);
 font-size:11px;
 font-weight:500;
}

.store-master-name{
 display:block;
 overflow:hidden;
 margin-bottom:5px;
 font-size:15px;
 line-height:1.25;
 text-overflow:ellipsis;
 white-space:nowrap;
}

.store-master-address{
 display:block;
 color:var(--muted);
 font-size:12px;
 line-height:1.4;
}

.store-master-state{
 display:block;
 margin-top:auto;
 padding-top:7px;
 color:var(--muted);
 font-size:11px;
}

@media(max-width:1150px){
 .store-master-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
 }
}

@media(max-width:850px){
 .store-master-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
 }
}

@media(max-width:560px){
 .store-master-grid{
  grid-template-columns:1fr;
 }
}

.store-master-filterbar{
 margin:4px 0 14px;
}

.store-master-filterbar .shop-admin-search{
 flex:1 1 320px;
}

.store-master-filterbar>label:last-child{
 flex:0 1 220px;
}

#storeMaster-federal_state[readonly]{
 background:var(--soft);
 color:var(--muted);
 cursor:default;
}

@media(max-width:650px){
 .store-master-filterbar>label,
 .store-master-filterbar .shop-admin-search,
 .store-master-filterbar>label:last-child{
  flex:1 1 100%;
  width:100%;
 }
}

/* Stammdaten · kompakte Öffnungszeiten */
.store-hours-ranges{
 display:flex;
 align-items:center;
 gap:10px;
 flex-wrap:nowrap;
}

.store-hours-range{
 display:grid;
 grid-template-columns:88px 14px 88px;
 align-items:center;
 gap:5px;
}

.store-hours-heading-actions{
 display:flex;
 justify-content:flex-end;
 margin:-42px 0 14px;
}

.store-hours-heading-actions button{
 min-height:38px;
 padding:0 12px;
 font-size:12px;
}

.store-hours-transfer-source{
 display:grid;
 gap:6px;
 margin:18px 0;
}

.store-hours-transfer-source select{
 margin:0;
}

.store-hours-copy{
 display:none!important;
}

@media(max-width:850px){
 .store-hours-row{
  grid-template-columns:1fr;
 }

 .store-hours-ranges{
  flex-wrap:wrap;
 }

 .store-hours-heading-actions{
  margin:0 0 14px;
  justify-content:flex-start;
 }
}

@media(max-width:520px){
 .store-hours-range{
  grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);
  width:100%;
 }
}

/* Stammdaten · kompakter Öffnungszeiten-Übertragen-Dialog */
.store-hours-copy-dialog{
 width:min(460px,calc(100vw - 32px));
}

.store-hours-transfer-block{
 display:grid;
 gap:8px;
 margin:18px 0 20px;
}

.store-hours-source-days{
 display:grid;
 grid-template-columns:repeat(7,minmax(0,1fr));
 gap:6px;
}

.store-hours-source-day{
 min-width:0;
 min-height:40px;
 margin:0;
 padding:0;
 border:1px solid var(--line);
 border-radius:9px;
 background:var(--surface);
 color:var(--ink);
 font-weight:600;
}

.store-hours-source-day:hover{
 border-color:var(--teal);
}

.store-hours-source-day.is-active{
 border-color:var(--teal);
 background:rgba(8,123,124,.10);
 color:var(--teal);
}

.store-hours-target-title{
 display:block;
 margin-bottom:10px;
}

.store-hours-copy-choice{
 min-height:34px;
 padding:5px 0;
}

.store-hours-copy-choices{
 margin-bottom:20px;
}

@media(max-width:520px){
 .store-hours-source-days{
  grid-template-columns:repeat(4,minmax(0,1fr));
 }
}

/* Stammdaten · Öffnungszeiten-Übertragung als echtes Modal */
.store-hours-copy-overlay{
 display:none!important;
}

.store-hours-transfer-dialog{
 position:fixed;
 inset:auto;
 width:min(460px,calc(100vw - 32px));
 max-width:none;
 max-height:calc(100vh - 40px);
 margin:auto;
 padding:22px;
 border:1px solid var(--line);
 border-radius:16px;
 background:var(--surface);
 color:var(--ink);
 box-shadow:0 20px 60px rgba(6,53,75,.22);
 overflow:auto;
}

.store-hours-transfer-dialog::backdrop{
 background:rgba(5,32,47,.30);
 backdrop-filter:blur(2px);
}

.store-hours-transfer-dialog h4{
 margin:0 0 6px;
}

.store-hours-transfer-dialog>p{
 margin:0;
}

.store-hours-transfer-block{
 display:grid;
 gap:9px;
 margin:20px 0;
}

.store-hours-source-days{
 display:grid;
 grid-template-columns:repeat(7,minmax(0,1fr));
 gap:6px;
}

.store-hours-source-day{
 min-width:0;
 min-height:40px;
 margin:0;
 padding:0;
 border:1px solid var(--line);
 border-radius:9px;
 background:var(--surface);
 color:var(--ink);
 box-shadow:none;
 font-weight:600;
}

.store-hours-source-day:hover{
 border-color:var(--teal);
}

.store-hours-source-day.is-active{
 border-color:var(--teal);
 background:rgba(8,123,124,.10);
 color:var(--teal);
}

.store-hours-target-title{
 display:block;
 margin-bottom:10px;
}

.store-hours-copy-choices{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:8px 18px;
 margin:0 0 22px;
}

.store-hours-copy-choice{
 min-height:32px;
 margin:0;
}

.store-hours-copy-actions{
 display:flex;
 justify-content:flex-end;
 gap:10px;
}

@media(max-width:520px){
 .store-hours-transfer-dialog{
  width:calc(100vw - 20px);
  padding:18px;
 }

 .store-hours-source-days{
  grid-template-columns:repeat(4,minmax(0,1fr));
 }

 .store-hours-copy-choices{
  grid-template-columns:1fr;
 }
}

/* Stammdaten · Öffnungszeiten-Modal exakt zentrieren */
.store-hours-transfer-dialog{
 position:fixed!important;
 top:50%!important;
 left:50%!important;
 right:auto!important;
 bottom:auto!important;
 transform:translate(-50%,-50%)!important;
 margin:0!important;
}


.store-hours-row{
 overflow:visible;
}

.store-opening-hours{
 overflow:visible;
}

/* Modal exakt im sichtbaren Browserfenster */
.store-hours-transfer-dialog{
 position:fixed!important;
 top:50%!important;
 left:50%!important;
 right:auto!important;
 bottom:auto!important;
 transform:translate(-50%,-50%)!important;
 margin:0!important;
}

/* Stammdaten · Checkbox + Text "geschlossen" sauber auf einer Linie */
.store-hours-row{
 align-items:center;
}

.store-hours-closed{
 display:flex;
 align-items:center;
 gap:10px;
 min-height:42px;
 line-height:1;
 white-space:nowrap;
}

.store-hours-closed input[type="checkbox"]{
 margin:0;
 flex:0 0 auto;
}

.store-hours-closed span,
.store-hours-closed label,
.store-hours-closed{
 font-size:14px;
}


.store-hours-closed input[type="checkbox"]{
 position:relative;
 top:1px;
}


/* Stammdaten · Öffnungszeiten Spalten exakt ausrichten */
.store-hours-row{
 grid-template-columns:220px minmax(0,1fr);
 align-items:center;
}

.store-hours-day{
 display:grid;
 grid-template-columns:96px 116px;
 align-items:center;
 justify-content:start;
 gap:8px;
 min-width:0;
}

.store-hours-day>strong{
 margin:0;
 line-height:1.2;
 white-space:nowrap;
}

.store-hours-day>.check{
 display:flex;
 align-items:center;
 justify-content:flex-start;
 gap:9px;
 min-height:42px;
 margin:0;
 line-height:1;
 white-space:nowrap;
}

.store-hours-day>.check input[type="checkbox"]{
 position:static;
 top:auto;
 flex:0 0 auto;
 width:16px;
 height:16px;
 margin:0;
}

@media(max-width:850px){
 .store-hours-row{
  grid-template-columns:1fr;
 }

 .store-hours-day{
  grid-template-columns:96px 116px;
 }
}

/* Stammdaten · Öffnungszeiten kompakter */
.store-opening-hours{
 gap:2px;
}

.store-hours-row{
 min-height:0;
 padding:3px 0;
}

.store-hours-day>.check{
 min-height:36px;
}

.store-hours-range{
 min-height:36px;
}


/* Sales-KPIs · DataHub Drag & Drop */
.sale-file-field{
 display:grid;
 gap:7px;
 min-width:0;
}

.sale-file-label{
 color:var(--ink);
 font-size:12px;
 font-weight:700;
}

.sale-drop-zone{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:12px;
 width:100%;
 min-height:78px;
 margin:0;
 padding:14px 18px;
 border:1px dashed var(--line);
 border-radius:11px;
 background:var(--soft);
 box-shadow:none;
 color:var(--ink);
 text-align:left;
 transition:
  border-color .15s ease,
  background .15s ease,
  box-shadow .15s ease;
}

.sale-drop-zone:hover,
.sale-drop-zone:focus-visible{
 border-color:var(--teal);
 background:var(--surface);
}

.sale-drop-zone.is-dragging{
 border-color:var(--teal);
 background:rgba(8,123,124,.08);
 box-shadow:0 0 0 3px rgba(8,123,124,.10);
}

.sale-drop-zone.has-file{
 border-style:solid;
 border-color:var(--teal);
}

.sale-drop-icon{
 display:grid;
 place-items:center;
 width:34px;
 height:34px;
 flex:0 0 34px;
 border-radius:50%;
 background:rgba(8,123,124,.10);
 color:var(--teal);
 font-size:18px;
 font-weight:700;
}

.sale-drop-copy{
 display:grid;
 gap:3px;
}

.sale-drop-copy strong{
 font-size:13px;
}

.sale-drop-copy>span{
 color:var(--muted);
 font-size:12px;
 font-weight:500;
}

.sale-drop-file{
 margin:0;
 min-height:16px;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}

@media(max-width:600px){
 .sale-drop-zone{
  justify-content:flex-start;
 }
}

/* =========================================================
   8.1.24 · KPI-Monatsdialog Sales / Kalender
   Monatsmodus: Jahr sauber zwischen den Navigationspfeilen
   ========================================================= */

/* Im Monatsmodus wird das Monats-Select nicht benötigt.
   Das native Select ist bereits hidden; auch die globale
   Custom-Select-Hülle muss verschwinden. */
.dh-calendar.dh-calendar-month-mode .dh-calendar-nav > .dh-select{
  display:none!important;
}

/* Navigation im Monatsmodus exakt: Pfeil | Jahr | Pfeil */
.dh-calendar.dh-calendar-month-mode .dh-calendar-nav{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) 40px!important;
  align-items:center!important;
  gap:8px!important;
}

/* linker und rechter Jahrespfeil */
.dh-calendar.dh-calendar-month-mode .dh-calendar-nav > button{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0!important;

  display:grid!important;
  place-items:center!important;

  border:1px solid #cfdce2!important;
  border-radius:10px!important;

  background:var(--surface,#fff)!important;
  color:var(--teal,#008087)!important;

  font-size:24px!important;
  line-height:1!important;
  box-shadow:none!important;
}

/* Jahresfeld */
.dh-calendar.dh-calendar-month-mode .dh-calendar-nav > input[type="number"]{
  grid-column:2!important;

  width:100%!important;
  height:40px!important;
  min-height:40px!important;

  margin:0!important;
  padding:0 14px!important;

  box-sizing:border-box!important;

  border:1px solid #cfdce2!important;
  border-radius:10px!important;

  background:var(--surface,#fff)!important;
  color:var(--navy)!important;

  font:600 14px/1.2 var(--dh-font)!important;
  text-align:center!important;

  appearance:textfield;
  -moz-appearance:textfield;
}

/* native Number-Pfeile entfernen */
.dh-calendar.dh-calendar-month-mode
.dh-calendar-nav > input[type="number"]::-webkit-inner-spin-button,
.dh-calendar.dh-calendar-month-mode
.dh-calendar-nav > input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance:none;
  margin:0;
}

/* Die Jahreszahl steht bereits im Eingabefeld.
   Die zusätzliche Caption darunter wäre doppelt. */
.dh-calendar.dh-calendar-month-mode .dh-calendar-caption{
  display:none!important;
}

/* etwas sauberer Abstand zum Monatsraster */
.dh-calendar.dh-calendar-month-mode .dh-calendar-grid{
  margin-top:18px!important;
}

/* Dark Mode */
html[data-theme=dark]
.dh-calendar.dh-calendar-month-mode .dh-calendar-nav > button,
html[data-theme=dark]
.dh-calendar.dh-calendar-month-mode .dh-calendar-nav > input[type="number"]{
  background:#102a36!important;
  border-color:#35515d!important;
  color:#e0edf3!important;
}

html[data-theme=dark]
.dh-calendar.dh-calendar-month-mode .dh-calendar-nav > button{
  color:#76cbc5!important;
}

@media(max-width:600px){
  .dh-calendar.dh-calendar-month-mode .dh-calendar-nav{
    grid-template-columns:40px minmax(0,1fr) 40px!important;
  }
}


/* 8.1.24 · kompakte Store-Stammdatenkarten */

.store-master-card{
  padding:16px!important;
  gap:0!important;
  min-height:0!important;
}

.store-master-card-head{
  margin:0 0 12px!important;
}

.store-master-name{
  display:block;
  margin:0 0 8px!important;
  line-height:1.25!important;
}

.store-master-address{
  display:block;
  margin:0 0 6px!important;
  line-height:1.35!important;
}

.store-master-state{
  display:block;
  margin:0!important;
  line-height:1.3!important;
}

.store-master-id,
.store-master-card-edit{
  line-height:1.2!important;
}


/* Store-Stammdatenkarten: kompaktere Typografie */
.store-master-name{
  margin-bottom:4px!important;
}

.store-master-address,
.store-master-state{
  font-weight:400!important;
}

.store-master-address{
  margin-bottom:4px!important;
}

.store-master-state{
  margin-top:0!important;
}

/* Stammdaten: Titel links, Store hinzufügen rechts */
.store-master-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "title action"
    "text  action";
  align-items:start;
  gap:4px 20px;
  margin-bottom:14px!important;
}

.store-master-heading h3,
.store-master-heading h2{
  grid-area:title;
  margin:0!important;
}

.store-master-heading p{
  grid-area:text;
  margin:4px 0 0!important;
}

#storeMasterAdd{
  grid-area:action;
  align-self:start;
  justify-self:end;
  margin:0!important;
  white-space:nowrap;
}

@media(max-width:600px){
  .store-master-heading{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "title"
      "text"
      "action";
    gap:4px;
  }

  #storeMasterAdd{
    justify-self:start;
    margin-top:10px!important;
  }
}

/* =========================================================
   DataHub Design System · Feldwert auf Stores übertragen
   ========================================================= */

.store-transfer-field{
  position:relative;
  display:block;
  width:100%;
  margin-top:7px;
}

.store-transfer-field>input{
  width:100%!important;
  margin-top:0!important;
  padding-right:48px!important;
}

.store-transfer-arrow{
  position:absolute;
  z-index:2;
  top:50%;
  right:5px;
  transform:translateY(-50%);

  display:grid;
  place-items:center;

  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  min-height:38px!important;

  margin:0!important;
  padding:0!important;

  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  box-shadow:none!important;

  color:var(--teal,#087b7c)!important;
}

.store-transfer-arrow svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.store-transfer-arrow:hover{
  background:color-mix(
    in srgb,
    var(--teal,#087b7c) 10%,
    transparent
  )!important;
}

.store-transfer-arrow:focus-visible{
  outline:2px solid var(--teal,#087b7c)!important;
  outline-offset:1px!important;
}


/* Dialog */
.store-value-transfer-dialog{
  width:min(540px,calc(100vw - 32px));
  max-height:min(720px,calc(100dvh - 32px));

  padding:24px;

  border:1px solid var(--line);
  border-radius:18px;

  background:var(--surface,#fff);
  color:var(--ink);

  overflow:auto;
}

.store-value-transfer-dialog::backdrop{
  background:#06354b66;
}

.store-value-transfer-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}

.store-value-transfer-heading h4{
  margin:0;
  font-size:20px;
}

.store-value-transfer-heading p{
  margin:5px 0 0;
}

.store-value-transfer-close{
  flex:0 0 40px;
  width:40px;
  height:40px;
  min-height:40px;
  margin:0;
  padding:0;

  font-size:22px;
  line-height:1;
}

.store-value-transfer-value{
  display:grid;
  gap:4px;

  padding:12px 14px;
  margin-bottom:16px;

  border:1px solid var(--line);
  border-radius:10px;
  background:var(--soft);
}

.store-value-transfer-value span{
  color:var(--muted);
  font-size:11px;
}

.store-value-transfer-value strong{
  overflow-wrap:anywhere;
  font-size:14px;
}

.store-value-transfer-controls{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.store-value-transfer-controls button{
  min-height:36px;
  margin:0;
  padding:7px 11px;
  font-size:12px;
}

.store-value-transfer-choices{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;

  max-height:340px;
  overflow:auto;

  padding:2px;
}

.store-value-transfer-choice{
  display:flex!important;
  align-items:center;
  gap:10px;

  min-height:48px;
  margin:0!important;
  padding:9px 11px;

  border:1px solid var(--line);
  border-radius:10px;

  background:var(--surface);
  cursor:pointer;
}

.store-value-transfer-choice:hover{
  border-color:var(--teal);
  background:var(--soft);
}

.store-value-transfer-choice:has(input:checked){
  border-color:var(--teal);
  background:color-mix(
    in srgb,
    var(--teal) 8%,
    var(--surface)
  );
}

.store-value-transfer-choice input{
  flex:0 0 auto;
  margin:0;
}

.store-value-transfer-choice-copy{
  display:grid;
  gap:2px;
  min-width:0;
}

.store-value-transfer-choice-copy strong{
  color:var(--teal);
  font-size:12px;
}

.store-value-transfer-choice-copy span{
  overflow:hidden;
  color:var(--ink);
  font-size:13px;
  font-weight:400;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.store-value-transfer-status{
  min-height:18px;
  margin:14px 0 0!important;
}

.store-value-transfer-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.store-value-transfer-actions button{
  margin:0;
}

@media(max-width:560px){
  .store-value-transfer-dialog{
    padding:18px;
  }

  .store-value-transfer-choices{
    grid-template-columns:1fr;
  }

  .store-value-transfer-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .store-value-transfer-actions button{
    width:100%;
  }
}

/* Store-Übertragung: Store-ID und Ort in einer Zeile */
.store-value-transfer-choice{
  align-items:center!important;
}

.store-value-transfer-choice-copy{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0;
}

.store-value-transfer-choice-copy strong,
.store-value-transfer-choice-copy span{
  display:inline!important;
  margin:0!important;
  line-height:1.3!important;
}

.store-value-transfer-choice-copy strong{
  flex:0 0 auto;
}

.store-value-transfer-choice-copy span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Unternehmensstammdaten */
#settingsArea-master{
 display:grid;
 gap:18px;
}

.company-master-card{
 margin:0;
}

.company-master-card .store-master-section:first-of-type{
 margin-top:10px;
}

.company-master-actions{
 justify-content:flex-end;
}

.company-master-directors{
 grid-column:1/-1;
}

@media(max-width:760px){
 .company-master-directors{
  grid-column:auto;
 }
}

/* Stammdaten · Unternehmen / Stores */
.master-data-tabs{
 display:flex;
 align-items:center;
 gap:4px;
 width:max-content;
 max-width:100%;
 margin:0 0 18px;
 padding:4px;
 border:1px solid var(--line);
 border-radius:12px;
 background:var(--soft);
}

.master-data-tabs button{
 min-height:40px;
 margin:0;
 padding:8px 18px;
 border:0;
 border-radius:9px;
 background:transparent;
 color:var(--muted);
 box-shadow:none;
 font-weight:600;
}

.master-data-tabs button:hover{
 background:var(--surface);
 color:var(--ink);
 box-shadow:none;
}

.master-data-tabs button.is-active{
 background:var(--surface);
 color:var(--ink);
 box-shadow:0 1px 3px rgba(0,0,0,.08);
}

.company-master-card{
 margin:0;
}

.company-master-actions{
 justify-content:flex-end;
}

.company-master-directors{
 grid-column:1/-1;
}

#companyMasterStatus:empty{
 display:none;
}

@media(max-width:760px){
 .master-data-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  width:100%;
 }

 .master-data-tabs button{
  width:100%;
 }

 .company-master-directors{
  grid-column:auto;
 }
}

/* ==========================================================
   Einstellungen · Startseite / Bereichsnavigation
   ZR DataHub Design System
   ========================================================== */

#settingsHome{
 width:100%;
}

#settingsHome>.dh-page-heading{
 margin-bottom:24px;
}

#settingsHub{
 width:100%;
 margin:0;
}

/*
 * Settings-Kacheln entsprechen dem globalen DataHub-Tile-Standard.
 * Maximal vier Kacheln je Zeile.
 */
#settingsHub.settings-hub{
 display:grid;
 grid-template-columns:
  repeat(
   auto-fill,
   minmax(
    min(100%,max(300px,calc((100% - 48px)/4))),
    1fr
   )
  );
 gap:var(--dh-gap,16px);
 grid-auto-rows:1fr;
 align-items:stretch;
}

#settingsHub>.settings-nav-tile{
 min-height:240px;
 height:100%;
}

#settingsHub .settings-tile-symbol{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 flex:0 0 var(--dh-icon-size,48px);
 width:var(--dh-icon-size,48px);
 height:var(--dh-icon-size,48px);
 min-height:var(--dh-icon-size,48px);
 padding:8px;
 box-sizing:border-box;
 border-radius:12px;
 background:var(--dh-icon-bg,#eef0fa);
 color:var(--teal);
}

#settingsHub .settings-tile-symbol svg{
 display:block;
 width:var(--dh-symbol-size,32px);
 height:var(--dh-symbol-size,32px);
 fill:none;
 stroke:currentColor;
 stroke-width:1.25;
 stroke-linecap:round;
 stroke-linejoin:round;
}

#settingsBack{
 margin:0 0 20px;
}

/*
 * Legacy-Reiter der ersten Einstellungsebene werden nicht mehr benutzt.
 * Die erste Ebene ist ausschließlich die Kachelübersicht.
 */
#settingsTabs{
 display:none!important;
}

/*
 * Unterbereiche bleiben vollständig verborgen, solange sie nicht
 * über eine Einstellungskachel geöffnet wurden.
 */
#settingsWorkspace>[id^="settingsArea-"][hidden]{
 display:none!important;
}

/*
 * Stammdatenreiter:
 * Immer exakt nur der ausgewählte Inhalt.
 */
#companyMasterCard[hidden],
#storeMasterCard[hidden]{
 display:none!important;
}

@media(max-width:700px){
 #settingsHub>.settings-nav-tile{
  min-height:0;
 }

 #settingsBack{
  width:100%;
 }
}

/* ==========================================================
   Einstellungen · Navigation / Header – DataHub Standard
   ========================================================== */

#settingsAreaHeader{
 margin:0 0 24px;
}

#settingsAreaHeader .dh-page-copy h2{
 margin:0;
}

#settingsAreaHeader .dh-page-copy p{
 margin:5px 0 0;
}

#settingsAreaHeader .dh-page-actions{
 margin-left:auto;
}

#settingsAreaHeader #settingsBack{
 width:auto;
 margin:0;
}

/* Alte breite Zurück-Darstellung sicher neutralisieren. */
#settingsWorkspace>#settingsBack{
 width:auto;
}

/*
 * Die technisch weiterhin vorhandenen Settings-Tabs sind nur Quelle
 * für das linke Sidebar-Untermenü.
 */
#settingsTabs{
 display:none!important;
}

/* Unterseiten bleiben nur aktiv, wenn explizit ausgewählt. */
#settingsWorkspace>[id^="settingsArea-"][hidden],
#companyMasterCard[hidden],
#storeMasterCard[hidden]{
 display:none!important;
}

/*
 * Settings-Kacheln: exakt der globale Navigationskachel-Standard.
 */
#settingsHub>.settings-nav-tile{
 min-height:290px;
}

#settingsHub .datahub-tile-open{
 white-space:normal;
}

/*
 * Sidebar-Unterpunkte bei geöffneten Einstellungen sichtbar lassen.
 */
body.authenticated #sidebarSettingsSubmenu:not([hidden]){
 display:grid;
}

@media(max-width:700px){
 #settingsAreaHeader{
  align-items:flex-start;
 }

 #settingsAreaHeader .dh-page-actions{
  width:100%;
  margin-left:0;
 }

 #settingsAreaHeader #settingsBack{
  width:auto;
 }

 #settingsHub>.settings-nav-tile{
  min-height:0;
 }
}
