/* Official Sproghuset identity. Loaded last; operational status colours stay independent. */
:root{
  --sproghuset-primary:#1a5632;--sproghuset-accent:#2e8b57;--sproghuset-light:#f0f7f2;
  --sproghuset-ink:#1a1a1a;--sproghuset-muted:#595959;--sproghuset-purple:#642575;
  --teal:var(--sproghuset-primary);--teal-dark:#124326;--teal-darker:#123921;
  --ink:var(--sproghuset-ink);--muted:var(--sproghuset-muted);--bg:#f8f9fa;
  --border:#dce6df;--th:#f0f7f2;--row-alt:#f8fbf9;--workspace-focus:#2e8b57;
  --shadow:0 5px 24px #1638210a;
}
body{background:var(--bg);color:var(--ink)}
h1,h2,h3{color:var(--ink)}
a{color:var(--sproghuset-primary)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--sproghuset-accent);outline-offset:3px}
input,select,textarea{border-color:#cbd9ce;color:var(--ink)}
input:focus,select:focus,textarea:focus{border-color:var(--sproghuset-accent);outline-color:#b9dbc4}
input::placeholder,textarea::placeholder{color:#68776b}
input[type=checkbox],input[type=radio]{accent-color:var(--sproghuset-primary)}

/* White navigation carries the unmodified, full-colour original logo. */
.layout .sidebar{background:#fff;color:var(--ink);border-right:1px solid var(--border)}
.layout .sidebar .logo{background:#fff;border-bottom:1px solid var(--border);padding:29px 22px 24px!important}
.layout .an-brand{gap:17px;align-items:flex-start}
.layout .an-brand img{display:block;width:192px;max-width:100%;height:auto}
.layout .an-brand span{color:#5b685e;font-size:9px;letter-spacing:1.45px;padding-left:1px;font-weight:650}
.layout .nav{scrollbar-color:#bdcebf #fff}
.layout .nav button{color:#4b594f;border-radius:9px;min-height:44px}
.layout .nav button:hover{color:var(--sproghuset-primary);background:var(--sproghuset-light)}
.layout .nav button.active{background:#e8f3ec;color:#194b2e;font-weight:650;box-shadow:inset 3px 0 0 var(--sproghuset-accent)}
.layout .nav button:focus-visible{outline-color:var(--sproghuset-accent)}
.layout .an-nav-label{color:#69766d;font-size:9px;letter-spacing:1.5px}
.layout .an-nav-separator{background:var(--border)}
.layout .sidebar .foot{border-color:var(--border);color:#5b685e;background:#fbfdfb}
.layout .an-help,.layout .an-side-caption{color:#526358}
.layout .an-help:hover{color:var(--sproghuset-primary)}
.layout .an-test-label{background:#e8f0ea;color:#345d40}
.layout .topbar{border-color:var(--border);box-shadow:0 1px 4px #193e2204}
.layout .an-breadcrumb,.layout .an-breadcrumb .an-icon,.layout .toggle-wrap{color:#5b685e}
.layout .an-breadcrumb strong,.layout .an-user-text b{color:var(--ink)}
.layout .an-avatar{color:var(--sproghuset-primary);background:#edf5ef;border-color:#d2e3d7}
.layout .an-user-text small,.layout .logout-btn{color:#626c64}
.layout .logout-btn:hover{background:var(--sproghuset-light);color:var(--sproghuset-primary)}
.layout .hamb{color:var(--sproghuset-primary);border-color:#cbd9ce}

/* Shared controls and working surfaces; red/yellow/success badges are untouched. */
.btn:not(.sec):not(.danger),:where(.layout,.overlay) .btn:not(.sec):not(.danger){background:var(--sproghuset-primary);border-color:var(--sproghuset-primary);color:#fff;box-shadow:0 2px 5px #183d2210}
.btn:not(.sec):not(.danger):hover:not(:disabled),:where(.layout,.overlay) .btn:not(.sec):not(.danger):hover:not(:disabled){background:#124326;border-color:#124326;box-shadow:0 4px 10px #193e2218}
.btn.sec:not(.danger),:where(.layout,.overlay) .btn.sec:not(.danger){color:#254d32;border-color:#cbdace;background:#fff}
.btn.sec:not(.danger):hover:not(:disabled),:where(.layout,.overlay) .btn.sec:not(.danger):hover:not(:disabled){background:var(--sproghuset-light);border-color:#a8c4b0;color:#163f25}
:where(.layout,.overlay) .iconbtn:not(.del){color:#53645a}
:where(.layout,.overlay) .iconbtn:not(.del):hover{color:var(--sproghuset-primary);border-color:#d2e3d7;background:#edf5ef}
:where(.layout,.overlay) .an-text-btn,.td-soft-link{color:var(--sproghuset-primary)}
.content>h1,.content .an-page-head h1,.content .bw-heading h1,.content .an-panel-head h2,.overlay .mhead h2{color:var(--ink)}
.content .sub,.content .an-page-head p,.content .an-greeting,.content .an-cell-secondary,.content .an-panel-head p,.content .an-panel-footer,.content .an-task small,.content .an-activity-item small,.content .an-overview-footer{color:var(--muted)}
.content .an-order-id,.content .an-time,.content .an-task strong,.content .an-activity-item strong{color:#284c33}
.content .an-quick-actions .an-icon{color:var(--sproghuset-primary)}
.content .an-quick-actions .btn:hover,.content .an-task:hover{background:var(--sproghuset-light)}
.content .an-support-card{background:var(--sproghuset-light);border-color:#d5e6da;color:#465e4d}
.content .an-support-card h3{color:var(--sproghuset-primary)}
.an-activity-dot{background:#69966f}.an-map-toggle{color:#41694d}.an-map-toggle:hover{background:var(--sproghuset-light)}
.an-small-avatar{background:#edf3ee;color:#436c4f}
.an-date,.statline,.statline b{color:#4d6154}
:where(.layout,.overlay) .tablewrap,.layout .an-panel,.layout .filterbox{border-color:var(--border)}
:where(.layout,.overlay) .tablewrap th{background:#f0f7f2;color:#445b4c;border-bottom-color:#d8e5dc}
:where(.layout,.overlay) .tablewrap td{color:var(--ink);border-bottom-color:#e8eee9}
:where(.layout,.overlay) .tablewrap tbody tr:hover,.booking-list-row:hover{background:#f0f7f2}
.layout .booking-list-row:focus-visible{outline-color:var(--sproghuset-accent)}
.exp-row td{background:#f0f7f2!important}
tfoot td,.an-date-divider td,.an-panel-footer{background:#f7faf8}
.layout .subtabs{border-color:#d8e3dc}.layout .subtabs button{color:var(--muted)}
.layout .subtabs button.active{color:var(--sproghuset-primary);border-bottom-color:var(--sproghuset-accent)}
.layout .pager,.layout .empty{color:var(--muted)}
.layout .pager button{border-color:#cbdace;color:#37563e}
.layout .pager button.cur{background:#e8f3ec;color:var(--sproghuset-primary);border-color:#94bfa2}
:where(.layout,.overlay) :is(.ff,.fgrid,.booking-plus,.agreement-rate) label,:where(.layout,.overlay) legend{color:#3d5445}
:where(.layout,.overlay) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]){border-color:#cad8ce;color:var(--ink)}
:where(.layout,.overlay) :is(input,textarea)::placeholder{color:#68776b}
:where(.layout,.overlay) :is(input,select,textarea):focus{border-color:var(--sproghuset-accent);outline-color:#b9dbc4}
:where(.layout,.overlay) :is(input,select,textarea):disabled{background:#f1f5f2;color:#657269}
:where(.layout,.overlay) input[readonly],:where(.layout,.overlay) textarea[readonly]{background:#f7faf8}
:where(.layout,.overlay) :is(input[type=checkbox],input[type=radio]){accent-color:var(--sproghuset-primary)}
:where(.layout,.overlay) fieldset,.overlay .modal,.overlay .mhead,.overlay .mfoot{border-color:var(--border)}
.overlay{background:#13281b66}.overlay .modal{box-shadow:0 22px 70px #142e2029}
.overlay .mfoot{background:#f8fbf9}.overlay .kv dt{color:var(--muted)}.overlay .kv dd{color:var(--ink)}
.chip{background:#edf5ef;color:var(--sproghuset-primary)}
.toast{background:#153b25;box-shadow:0 10px 35px #173a2529}
.loghist{background:#f8fbf9;border-color:var(--border)}

/* Login: original white artwork on a dark green welcome panel. */
.an-login{grid-template-columns:1.04fr 1fr;background:#fff}
.an-login-story{background:linear-gradient(150deg,#123c24 0%,#1a5632 65%,#236f43 100%);border:0;padding-top:48px;padding-bottom:38px}
.an-login-story>a{position:relative;z-index:1;align-self:flex-start}
.an-login-logo{width:290px;max-width:min(100%,350px);height:auto}
.an-login-story:after{width:440px;height:440px;border-color:#ffffff1d;box-shadow:0 0 0 72px #ffffff06,0 0 0 146px #ffffff04;right:-210px;bottom:8%}
.an-login-story:before{content:'';position:absolute;width:190px;height:190px;border:1px solid #c5a6d234;border-radius:50%;top:30%;left:-130px;pointer-events:none}
.an-login-message{max-width:490px;padding:62px 0}
.an-login-message .an-eyebrow{color:#c9e6d2;letter-spacing:2px;font-size:10px;margin-bottom:23px}
.an-login-message h1{color:#fff;font-size:clamp(38px,4.15vw,62px);line-height:1.1;letter-spacing:-2px;font-weight:600}
.an-login-message h1 span{color:#c6e8d0}
.an-login-message p{color:#d7e8dc;max-width:375px;font-size:15px;line-height:1.85}
.an-login-note{color:#cae1d1;font-size:11px;line-height:1.6;position:relative;z-index:1}
.an-login-note .an-icon{color:#d3eadb}
.an-login-story a:focus-visible{outline-color:#fff}
.an-login-main{background:#fff;padding:55px 34px 85px}
.an-login-form{max-width:385px}
.an-login-form h2{color:var(--ink);font-size:29px;letter-spacing:-.7px}
.an-login-form .sub,.an-login-form .ff label,.an-login-register{color:var(--muted)}
.an-login-form .ff{margin-bottom:22px}.an-login-form .ff input{height:49px;border-color:#ccdace;background:#fff}
.an-login-form .btn{height:49px;border-radius:9px}
.an-login-register a,.an-login-footer a{color:var(--sproghuset-primary)}
.an-login-footer{color:#6a746d;text-align:center;padding:0 16px}
.an-test-accounts{background:#f8fbf9;border-color:#cddfd1;color:#526357}
.an-test-accounts strong{color:#3e5b46}.an-test-buttons button{color:#395e43;border-color:#d4e3d9}
.an-test-buttons button:hover{background:#eaf4ed}
.loginpage{background:var(--sproghuset-light)}
.loginbox{border-color:#d7e3da;box-shadow:0 15px 55px #153d2212}

/* Customer home, directory and profile cards. No changes to status/rating semantics. */
.td-root{--td-navy:#1d3825;--td-muted:#595959}
.td-eyebrow,.td-preview-label{color:#49634f}.td-preview-label{background:#edf4ef}
.td-hero{background:linear-gradient(120deg,#edf6ef,#f5f9f5);border-color:#d8e8dd;border-radius:21px}
.td-hero h1 em{color:var(--sproghuset-primary)}
.td-hero-copy>p,.td-art-quote,.td-art-quote em{color:#4c6554}
.td-art-line{border-color:#8db69d55}.td-art-line.two{border-color:#93759b29}
.td-hero-portrait{border-color:#fff;box-shadow:0 12px 25px #183e2512}
.td-portrait{background:#e3eee5;color:#315e3e}
.td-hero-actions .btn{background:var(--sproghuset-primary)}
.td-soft-link,.td-soft-link:hover,.td-name,.td-profile-link,.td-roster>button:hover strong{color:var(--sproghuset-primary)}
.td-roster,.td-roster>div+div,.td-roster>button{border-color:#d8e5dc}
.td-roster>button>svg,.td-roster>div>.an-icon{color:#527f5f}
.td-filterbar,.td-search,.td-card,.td-specialties>span,.td-card-footer,.td-profile-book{border-color:var(--border)}
.td-filterbar select,.td-search{background:#fafcfb}
.td-filterbar label>span,.td-tabs button,.td-results-head,.td-results-head>span+span,.td-city,.td-card-bio,.td-specialties>span,.td-card-footer>div>span{color:var(--muted)}
.td-search .an-icon{color:#607967}.td-search:focus-within{outline-color:#b9dbc4;border-color:#93b49e}
.td-tabs button.active{background:#eaf4ed;border-color:#c4dccd;color:var(--sproghuset-primary)}
.td-card{box-shadow:0 5px 20px #173d2509;border-radius:14px}.td-card:hover{box-shadow:0 12px 30px #173d2517}
.td-card-image{background:#e9f0eb}.td-languages>span{background:#edf5ef;color:#295b39}
.td-card-headline,.td-profile-main h3,.td-profile-main h4,.td-profile-modal .mhead h2{color:#264c31}
.td-guidance{background:var(--sproghuset-light);border-color:#d6e6dc}
.td-guidance h3{color:var(--sproghuset-primary)}.td-guidance p,.td-footnote{color:#53665a}.td-guidance>span{color:var(--sproghuset-primary)}
.td-your-bookings h2>span,.td-date-tile{background:#e9f3ed;color:#356442}
.td-upcoming>button{color:#2a4f35;border-color:var(--border)}.td-upcoming>button:hover{border-color:#98bba3;background:#f6faf7}
.td-upcoming>button>span>small,.td-profile-facts,.td-biography p,.td-profile-book p,.td-demo-note,.td-save-profile{color:var(--muted)}
.td-profile-modes>span{color:#41654b;background:#eff6f1}
.td-empty,.td-loading{border-color:#cedfd3;background:#f7faf8}.td-empty h3,.td-empty>.an-icon{color:#496f54}
.td-no-booking{border-color:var(--border);color:#49634f}

/* Guided booking and optional modules share the same selected-state language. */
.content .bw-panel,.content .bw-summary{border-color:var(--border)}
.content .bw-panel p,.content .bw-help,.bw-eyebrow,.bw-summary span{color:var(--muted)}
.bw-panel h2,.bw-summary strong,.bw-types legend{color:#294d34}
.bw-steps li.is-current{background:#eaf4ed;color:var(--sproghuset-primary)}
.bw-steps li.is-current>span{background:var(--sproghuset-primary);color:#fff}
.bw-type:has(input:checked){border-color:var(--sproghuset-accent);background:#edf6f0;color:#214f30}
.bw-type input{accent-color:var(--sproghuset-primary)}
.bw-fixed{background:#f4f8f5;border-color:#d9e6dd;color:#2f4d37!important}
.bw-wish{background:#edf6f0;border-color:#c8dfd0;color:#2d573b}
.bw-wish>div>span,.bw-wish button{color:#456a50}
.sf-module,.sf-citizen{--sf-ink:#1a1a1a;--sf-blue:#1a5632;--sf-navy:#21492c;--sf-border:#d5e4da;--sf-soft:#f0f7f2}
.ipe-eyebrow{color:#526b58}.ipe-statusbar{background:#f1f7f3;border-color:var(--border)}.ipe-statusbar p{color:#46624e}
.ls-panel{border-color:#c9dfd1;background:#f0f7f2}.ls-panel small{color:var(--muted)}
.ls-indicator:not(.sharing){background:#eef4f0;color:#45674e;border-color:#d1e1d6}

/* Dispatch chrome and selection only. Marker, urgency, decline and radius colours stay intact. */
.dx-root{--dx-ink:#203c29;--dx-teal:#1a5632;--dx-line:#dce6df;--dx-muted:#595959}
.dx-root button:focus-visible,.dx-root summary:focus-visible,.dx-root a:focus-visible{outline-color:var(--sproghuset-accent)}
.dx-eyebrow,.dx-position-age,.dx-sticky-context,.dx-key-facts{color:#597060}.dx-key-facts strong{color:#2b5437}
.dx-metric:not(.urgent) small,.dx-metric>span>span,.dx-metric strong em{color:#5d6e62}
.dx-metric-icon:not(.live){background:#eef5f0;color:#42774f}
.dx-metric.urgent .dx-metric-icon{background:#fce8e7;color:#b94746}
.dx-metric.active:not(.urgent){border-color:#91b49c;box-shadow:inset 0 -2px var(--sproghuset-primary)}
.dx-periods{background:#edf3ef;border-color:var(--border)}.dx-periods>button{color:#5b6e62}.dx-periods>button.active{color:var(--sproghuset-primary)}
.dx-search{color:#68806d}.dx-search:focus-within{outline-color:#9cc8aa}
.dx-filter-main>select,.dx-filter-more>summary,.dx-filter-panel>label{color:#3f5c48}
.dx-filter-more[open]>summary{background:#eef6f1;border-color:#a0c3ac}
.dx-filter-panel,.dx-map-tools>button,.dx-map-tools summary{border-color:#d5e2d9}
.dx-queue h2 span,.dx-queue>header select{background:#f0f6f2;color:#52735c}
.dx-queue-period,.dx-day-group,.dx-job-line,.dx-order,.dx-job-language,.dx-job-bottom>span:last-child,.dx-queue>footer{color:#607365}
.dx-day-group{background:#f8fbf9;border-color:#e8eee9}
.dx-job{color:#294832;border-color:#e0e9e3}.dx-job:hover{background:#f5faf6;border-color:#accab7}
.dx-job.is-selected{border-color:#639b75;background:#edf6f0;box-shadow:inset 3px 0 var(--sproghuset-primary)}
.dx-badge.teal{background:#f0f7f2;border-color:#d0e2d7;color:#386b45}
.dx-map-panel,.dx-map-panel #dispatch-map{background:#eef3ef}
.dx-map-tools>button,.dx-map-tools summary,.dx-map-panel .leaflet-control-zoom a{color:#456b50}
.dx-map-tools input{accent-color:var(--sproghuset-primary)}
.dx-text-button,.dx-text-button:hover,#content .dx-order-info>summary{color:var(--sproghuset-primary)}
.dx-task-facts .an-icon{color:#799b82}.dx-task-facts strong,.dx-candidate-top strong{color:#294d34}
.dx-task-facts small,.dx-task-facts span,.dx-candidate-explainer,.dx-candidate-top>div>span,.dx-candidate-count,.dx-candidate-count strong{color:#5b7062}
.dx-candidate.chosen:not(.dx-candidate-declined):not(.dx-candidate-outside){border-color:#659c78;background:#f0f7f2}
.dx-mobile-tabs>button.active{background:var(--sproghuset-primary);color:#fff;border-color:var(--sproghuset-primary)}
.lm-job:hover,.lm-job.selected{background:#edf6f0}.lm-job-top strong,.lm-popup-job b{color:var(--sproghuset-primary)}
.lm-selected{background:#f2f8f4;border-top-color:var(--sproghuset-accent)}
.lm-check input{accent-color:var(--sproghuset-primary)}

@media(max-width:1190px){.layout .an-brand img{width:167px}.layout .sidebar .logo{padding:25px 21px 22px!important}}
@media(max-width:760px){
  .sb-open .layout .sidebar{box-shadow:12px 0 35px #143d2330}
  .an-login-main{padding:38px 24px 80px}
  .an-login-mobile-brand{display:block;width:230px;max-width:82%;height:auto;margin:0 0 38px}
  .an-login-form{max-width:410px}.an-login-form h2{font-size:27px}
  .an-login-footer{font-size:10px;bottom:20px}
  .td-hero{border-radius:16px}.td-hero h1{letter-spacing:-1.3px}
}
@media(forced-colors:active){
  .layout .nav button.active,.bw-type:has(input:checked),.dx-job.is-selected{border:2px solid Highlight;box-shadow:none}
  button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:Highlight}
}
