/* Nordlicht Werkstatt. Scoped to the Werkzeugkoffer; existing behavior stays authoritative. */
.nl-workshop{--work-sage:#e8f0e9;--work-paper:#f3f5ef;--work-sand:#f6f1e7;--work-ink:#133449;--work-green:#205b3d;--work-line:#cbd9d0}
.nl-workshop :is(.wk-page,.sops-page){background:var(--work-paper)}
.nl-workshop .wk-page:not(.hub-image-page){padding-top:32px}
.nl-workshop :is(.wk-hero:not(.hub-image-hero),.sops-intro,.nl-tool-intro){position:relative;isolation:isolate;overflow:hidden;max-width:none;min-height:300px;padding:32px 42% 32px 32px;margin-bottom:30px;border:1px solid var(--work-line);border-radius:22px;background:var(--work-sage);color:var(--work-ink)}
.nl-workshop :is(.wk-hero:not(.hub-image-hero),.sops-intro,.nl-tool-intro) h1{font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.13;max-width:24ch;margin:12px 0 18px;letter-spacing:-.035em;overflow-wrap:break-word}
.nl-workshop :is(.wk-hero:not(.hub-image-hero),.sops-intro,.nl-tool-intro)>p:last-child{margin-bottom:0;font-size:1.05rem;line-height:1.65;color:#38534f}
.nl-workshop .nl-tool-photo{position:absolute;right:0;top:0;width:39%;height:100%;object-fit:cover;object-position:center;z-index:-1;mask-image:linear-gradient(90deg,transparent,#000 22%)}
.nl-workshop .nl-tool-photo[data-cover-kind=illustration]{object-fit:contain;background:#edf2e8;mask-image:none;padding:8px}
.nl-workshop .nl-tool-thumb[data-cover-kind=illustration]{object-fit:contain!important;background:#edf2e8;padding:5px}
.nl-workshop :is(.wk-back,.sops-back){display:inline-flex;align-items:center;min-height:44px;margin-bottom:6px;font-size:.94rem;color:var(--work-green)}
.nl-workshop :is(.wk-group,.sops-group){margin-bottom:44px}
.nl-workshop :is(.wk-group,.sops-group)>h2{padding-block:12px;border-bottom:1px solid var(--work-line);display:flex;gap:12px;align-items:baseline;font-size:clamp(1.5rem,2.5vw,2rem)}
.nl-workshop :is(.wk-group,.sops-group)>h2 span{font-size:.9rem;font-weight:500;color:#52645e}
.nl-workshop .wk-controls{background:#fff;border-color:var(--work-line);box-shadow:0 8px 28px #15362507}
.nl-workshop :is(.wk-filter,.sops-filters) button{min-height:44px;background:#f3f6ef;border-color:#b9cdbe;color:#244c3a}
.nl-workshop :is(.wk-filter,.sops-filters) button[aria-pressed=true]{background:#183f32;color:#fff;border-color:#183f32}
.nl-workshop :is(.wk-card,.sops-card){overflow:hidden;background:#fff;border:1px solid var(--work-line);border-radius:18px;box-shadow:0 6px 22px #163b2a06}
.nl-workshop .wk-card{padding:0 22px 22px;display:flex;flex-direction:column;align-items:flex-start}
.nl-workshop .wk-card>.nl-tool-thumb{width:calc(100% + 44px);max-width:none;height:140px;object-fit:cover;align-self:center;margin:0 -22px 20px}
.nl-workshop .wk-card>.wk-type{background:var(--work-sage);padding:5px 9px;border-radius:6px;font-size:.76rem;line-height:1.5}
.nl-workshop .wk-card h3{margin:14px 0 10px;line-height:1.32}
.nl-workshop .wk-card>.wk-open{display:inline-flex;align-items:center;gap:16px;min-height:44px;border-radius:9px;background:var(--work-sage);padding:8px 14px;margin-top:auto}
.nl-workshop .wk-card>.wk-rel{align-self:stretch}
.nl-workshop .wk-card .wk-rel strong{color:#465e55}
.nl-workshop :is(.wk-card,.sops-card){transition:box-shadow .18s,border-color .18s}
@media(hover:hover){.nl-workshop :is(.wk-card,.sops-card):hover{border-color:#91ae9b;box-shadow:0 10px 26px #163b2a12}}
/* Checklists: image-led cover, generous steps, and a quiet working surface. */
.nl-workshop .sops-context{max-width:none;background:var(--work-sand);border-color:#b59761;font-size:.94rem}
.nl-workshop .sops-controls{background:#fff;border-color:var(--work-line)}
.nl-workshop .sops-grid{align-items:start}
.nl-workshop .sops-card>details>summary{padding:0 22px 20px;gap:9px}
.nl-workshop .sops-card>details>summary>.nl-tool-thumb{width:calc(100% + 44px);max-width:none;height:145px;object-fit:cover;margin:0 -22px 9px}
.nl-workshop .sops-category{align-self:flex-start;background:var(--work-sage);padding:4px 8px;border-radius:5px;font-size:.76rem}
.nl-workshop .sops-open{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding-top:4px;border-top:1px solid #e4ebe3;margin-top:4px}
.nl-workshop .sops-card:has(>details[open]){grid-column:1/-1;border-color:#87a995;box-shadow:0 10px 32px #163b2a0c}
.nl-workshop .sops-card>details[open]>summary{position:relative;min-height:240px;padding:25px 42% 22px 25px;background:var(--work-sage);overflow:hidden}
.nl-workshop .sops-card>details[open]>summary>.nl-tool-thumb{position:absolute;inset:0 0 0 auto;margin:0;width:37%;height:100%;mask-image:linear-gradient(90deg,transparent,#000 18%)}
.nl-workshop .sops-card>details[open]>summary>strong{font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.2;max-width:28ch}
.nl-workshop .sops-card>details[open]>summary>.sops-category{background:#fff9}
.nl-workshop .sops-card>details[open]>summary>.sops-open{border-color:#c6d8c8;max-width:360px}
.nl-workshop .sops-detail{padding:24px;background:#f5f7f1}
.nl-workshop .sops-detail-intro{max-width:80ch;color:#425b50}
.nl-workshop .nl-check-status{display:grid;grid-template-columns:1fr minmax(100px,220px);align-items:center;gap:16px;margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid var(--work-line);font-size:.9rem;color:#2e5740}
.nl-workshop .nl-check-status progress{appearance:none;width:100%;height:8px;border:0;border-radius:10px;overflow:hidden;background:#dbe5d8;color:#3d7651}
.nl-workshop .nl-check-status progress::-webkit-progress-bar{background:#dbe5d8;border-radius:10px}
.nl-workshop .nl-check-status progress::-webkit-progress-value{background:#3d7651;border-radius:10px}
.nl-workshop .nl-check-status progress::-moz-progress-bar{background:#3d7651}
.nl-workshop .sops-steps{display:grid;gap:11px;max-width:950px;counter-reset:work-step}
.nl-workshop .sops-steps li{border:1px solid #d6e1d3;border-radius:12px;background:#fff;counter-increment:work-step;overflow:hidden}
.nl-workshop .sops-steps label{padding:17px 19px;gap:16px;line-height:1.65}
.nl-workshop .sops-steps input{width:23px;height:23px;flex-basis:23px;margin-top:3px;accent-color:var(--work-green)}
.nl-workshop .sops-steps b{display:inline-grid;place-items:center;border-radius:5px;background:var(--work-sage);min-width:25px;margin-right:7px;font-size:.8rem}
.nl-workshop .sops-steps span[data-step-label]::before{content:attr(data-step-label);display:block;margin:0 0 5px;font-size:1.03rem;font-weight:750;color:var(--work-ink);line-height:1.4}
.nl-workshop .sops-steps span[data-step-label]{position:relative;padding-left:38px}
.nl-workshop .sops-steps span[data-step-label]>b{position:absolute;left:0;top:0}
.nl-workshop .sops-steps li:has(input:checked){background:#e6efdf;border-color:#9fbea0}
.nl-workshop .sops-steps li:has(input:checked) span::before{color:#285339}
.nl-workshop .sops-result{background:#dfebda;border-left:4px solid #43774e}
.nl-workshop .sops-limit{background:var(--work-sand);border-left:4px solid #b59761}
.nl-workshop :is(.sops-result,.sops-limit){max-width:950px;padding:18px 20px;border-radius:0 10px 10px 0;line-height:1.65}
.nl-workshop .sops-actions{gap:10px}
.nl-workshop .sops-actions :is(button,a){min-height:44px;display:inline-flex;align-items:center}
.nl-workshop .sops-actions button[data-action=pdf]{background:var(--work-green);border-color:var(--work-green);color:#fff}
.nl-workshop .sops-sources{padding:10px 14px;background:#fff;border:1px solid var(--work-line);border-radius:10px}
/* Calculators and planners: distinct entry, working and results surfaces. */
.nl-workshop :is(.wk-calc,.wk-jump){background:#fff;border-color:var(--work-line)}
.nl-workshop .wk-calc>details>summary{background:#edf3e9;border-radius:18px}
.nl-workshop .wk-calc>details[open]>summary{border-radius:18px 18px 0 0}
.nl-workshop .wk-calc-body{background:#f8faf5;border-radius:0 0 18px 18px;padding-top:16px}
.nl-workshop .wk-field{padding:14px;background:#fff;border:1px solid #dbe4d6;border-radius:11px}
.nl-workshop .wk-field :is(input,select){min-height:48px;font-size:1rem}
.nl-workshop .wk-output{background:#e0edda;border-radius:0 12px 12px 0}
.nl-workshop .wk-planner{--paper:var(--work-paper);--white:#fff;--pale:#e8f0e2;--muted:#475f53;max-width:1200px}
.nl-workshop .wk-planner>.shell{padding:0;width:100%}
.nl-workshop .wk-planner .panel{padding:clamp(18px,3vw,28px);border-radius:18px;border-color:var(--work-line);box-shadow:0 6px 22px #163b2a05}
.nl-workshop .wk-planner .field label{font-size:.92rem}
.nl-workshop .wk-planner .stat{background:#e2edda;padding:18px}
.nl-workshop .wk-planner .stat span{font-size:.85rem}
.nl-workshop .wk-planner .crop-row{background:#f5f8f0}
.nl-workshop .nl-addon{--nl-paper:#f7faf3;--nl-soft:#e8f0e2;--nl-line:#cbd9d0;padding:clamp(18px,3vw,30px);border-radius:18px}
.nl-workshop .nl-addon .nl-field{padding:12px;background:#fff;border:1px solid #dbe5d6;border-radius:10px}
.nl-workshop .nl-addon .nl-fields{align-items:start}
.nl-workshop .nl-addon .nl-help{color:#43594d}
.nl-workshop .nl-addon .nl-results{border-top:3px solid #8dab84;padding-top:22px}
.nl-workshop .nl-addon .nl-note{background:#e5efdf;border-color:#b5ccab}
.nl-workshop .nl-addon .nl-boundary{background:var(--work-sand);border-color:#af965e}
.nl-workshop .nl-addon .nl-state{background:#e8f0e3;border-radius:7px}
.nl-workshop .wk-method:not(details),.nl-workshop .nl-cleanup-reference{padding:22px;background:var(--work-sand);border:1px solid #e2d7c3;border-radius:14px;margin-block:25px}
.nl-workshop .wk-rel:has(>h2){padding:24px;background:var(--work-sage);border:1px solid var(--work-line);border-radius:14px}
.nl-workshop :is(button,select,input:not([type=checkbox]):not([type=radio]),textarea){font-size:1rem}
.nl-workshop main :is(button,select,input:not([type=checkbox]):not([type=radio])){min-height:44px}
.nl-workshop :is(.wk-page,.sops-page,.wk-planner) [hidden]{display:none!important}
@media(max-width:760px){
 .nl-workshop :is(.wk-hero:not(.hub-image-hero),.sops-intro,.nl-tool-intro){min-height:0;padding:0 0 24px;border-radius:17px}
 .nl-workshop :is(.wk-hero:not(.hub-image-hero),.sops-intro,.nl-tool-intro)>:not(.nl-tool-photo){margin-left:20px;margin-right:20px}
 .nl-workshop .nl-tool-photo{position:relative;inset:auto;width:100%;height:190px;mask-image:none;margin:0 0 16px;display:block;z-index:auto}
 .nl-workshop :is(.wk-hero:not(.hub-image-hero),.sops-intro,.nl-tool-intro) h1{font-size:clamp(1.8rem,7vw,2.25rem)}
 .nl-workshop .sops-card>details[open]>summary{min-height:0;padding:0 20px 20px}
 .nl-workshop .sops-card>details[open]>summary>.nl-tool-thumb{position:relative;inset:auto;width:calc(100% + 40px);height:170px;max-width:none;margin:0 -20px 8px;mask-image:none}
 .nl-workshop .sops-card>details[open]>summary>strong{font-size:1.55rem}
 .nl-workshop .sops-detail{padding:18px 16px}
 .nl-workshop .sops-steps label{padding:16px 13px;gap:11px}
 .nl-workshop .sops-steps span[data-step-label]{padding-left:0}
 .nl-workshop .sops-steps span[data-step-label]>b{position:static;float:left;margin-right:8px}
 .nl-workshop .nl-check-status{grid-template-columns:1fr;gap:9px}
 .nl-workshop :is(.sops-result,.sops-limit){padding:15px}
 .nl-workshop .wk-planner{padding-inline:16px}
 .nl-workshop .wk-planner .fields{grid-template-columns:1fr}
 .nl-workshop .wk-planner .field.mobilewide{grid-column:auto}
 .nl-workshop .sops-actions :is(button,a){flex:1 1 150px;justify-content:center;text-align:center}
}
@media(max-width:420px){
 .nl-workshop .wk-card{padding-inline:18px}
 .nl-workshop .wk-card>.nl-tool-thumb{width:calc(100% + 36px);margin-inline:-18px}
 .nl-workshop .wk-calc-body{padding-inline:15px}
 .nl-workshop .wk-field{padding:12px}
 .nl-workshop .wk-planner .catalog{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.nl-workshop :is(.wk-card,.sops-card){transition:none}}
@media print{
 .nl-workshop{background:#fff}
 .nl-workshop :is(.nl-tool-photo,.nl-tool-thumb,.nl-check-status){display:none!important}
 .nl-workshop :is(.wk-hero:not(.hub-image-hero),.sops-intro,.nl-tool-intro){min-height:0;padding:0;margin:0 0 20px;border:0;background:none;overflow:visible}
 .nl-workshop :is(.wk-page,.sops-page,.wk-planner,.wk-calc-body,.sops-detail){background:#fff}
 .nl-workshop .sops-card>details[open]>summary{min-height:0;padding:0;background:none}
 .nl-workshop :is(.sops-steps li,.wk-field,.nl-addon .nl-field,.wk-method:not(details)){background:#fff;border-color:#bbb;box-shadow:none;break-inside:avoid}
 .nl-workshop .sops-steps label{padding:8px}
 .nl-workshop .sops-detail{padding:0}
 .nl-workshop .sops-steps span[data-step-label]{padding-left:0}
 .nl-workshop .sops-steps span[data-step-label]>b{position:static}
}
