/* Web portal only: body-level dialogs do not inherit the light .app theme. */
:is(.main,dialog,.modalback){--panel:#fff;--panel2:#f1f5f7;--line:#9aadb8;--text:#20323f;--muted:#526773;--ink:#20323f;color-scheme:light}
dialog,.modalback .modal{background:#fff;color:#20323f}
:is(.main,dialog,.modalback) label{color:#374f5e;font-size:14px}
:is(.main,dialog,.modalback) :is(.input,.select,.textarea){background:#fff;color:#20323f;border-color:#8b9faa;caret-color:#20323f}
:is(.main,dialog,.modalback) :is(.input,.textarea)::placeholder{color:#5b6f7c;opacity:1}
:is(.main,dialog,.modalback) :is(.btn,.webbtn){background:#edf3f6;color:#233c4d;border:1px solid #91a6b3}
:is(.main,dialog,.modalback) :is(.btn,.webbtn):hover:not(:disabled){background:#dcebf1;border-color:#54798d}
:is(.main,dialog,.modalback) :is(.btn,.webbtn).primary{background:#086b78;border-color:#086b78;color:#fff}
:is(.main,dialog,.modalback) :is(.btn,.webbtn).primary:hover:not(:disabled){background:#075865}
:is(.main,dialog,.modalback) :is(.btn,.webbtn).danger{background:#fff0f1;border-color:#bd6f78;color:#882637}
:is(.main,dialog,.modalback) :is(.btn,.webbtn):disabled{opacity:1;background:#e5eaee;color:#526371;border-color:#b5c1c9;cursor:not-allowed}
:is(.main,dialog,.modalback) :is(.input,.select,.textarea):disabled{opacity:1;background:#edf1f4;color:#526371}
:is(.main,dialog,.modalback) :is(.muted,small){color:#526773}
:is(.main,dialog,.modalback) :is(input,select,textarea,button,a):focus-visible{outline:3px solid #087b91;outline-offset:2px}
dialog :is(input[type=checkbox],input[type=radio]){accent-color:#086b78}
dialog::backdrop{background:#14233299}
dialog :is(h2,h3){color:#20323f}
/* Original brand mint from regionalbusthüringen.de header, 23 September 2026. */
.app aside{background:#97b49c;color:#172c20}
.app aside .nav{background:transparent;color:#172c20}
.app aside .nav:hover{background:#ffffff55}
.app aside .nav.active{background:#254d37;color:#fff}
.app aside .brand span,.app aside .muted,.app aside .portal-links a{color:#263e2d}
.app aside .portal-logo{background:#97B49C;border-radius:8px;padding:7px}
.stop-location-pin{background:transparent;border:0;filter:drop-shadow(0 2px 2px #0006)}
.duty-builder{min-width:0}.duty-builder details{border:1px solid #c5d2d8;border-radius:9px;padding:12px;margin:14px 0}.duty-builder summary{cursor:pointer;font-weight:600}.duty-weekdays{display:flex;gap:16px;flex-wrap:wrap}.duty-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.duty-summary>div{border:1px solid #bbcbd2;border-radius:9px;padding:14px;background:#f4f8f8}.duty-summary strong{display:block;font-size:22px;margin-top:7px}.duty-summary .error{grid-column:1/-1;color:#852630;background:#fff1f2}.duty-kinds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.duty-kinds button{min-height:48px;text-align:left}dialog [hidden]{display:none!important}.duty-builder td:first-child{white-space:nowrap}.duty-builder footer{position:sticky;bottom:-22px;background:#fff;padding:14px 0;border-top:1px solid #d6e0e5}@media(max-width:650px){.duty-summary{grid-template-columns:1fr}.duty-kinds{grid-template-columns:1fr}}

aside nav .nav-group-title{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#45616e;margin:18px 10px 5px;padding-top:10px;border-top:1px solid #b5c6ce}aside nav .nav-group-title:first-child{margin-top:0;border-top:0}
