/* Shared site header for pages with their own stylesheet (Line Loss Finder, Changeover Planner).
   Generated by tools/apply_tool_nav.py from styles.css; everything is scoped to .site-header. */
.site-header{--ink:#1A1F1C;--muted:#5C6660;--cream:#F4F1E8;--green:#6B9E78;--green-d:#3F6B4C;--gold:#C4A35A;--gold-d:#8A6D2B;--line:#DDD6C4;--white:#FFFDF8;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-family:var(--sans);font-size:17px;line-height:1.6;color:var(--ink);padding:0!important;margin:0}
.site-header *{box-sizing:border-box}
.site-header .wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.site-header img{max-width:100%;display:block}
.site-header small{font-weight:400}
.site-header .btn{display:inline-block;background:var(--ink);color:var(--cream);text-decoration:none;font-weight:650;border:1.5px solid var(--ink);border-radius:12px;font-size:.92rem;padding:9px 16px}
.site-header :focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.site-header .btn{display:inline-block;background:var(--ink);color:var(--cream);text-decoration:none;font-weight:650;padding:14px 22px;border-radius:12px;border:2px solid var(--ink);font-size:1rem;line-height:1.2;transition:background .15s,color .15s,border-color .15s}
.site-header .btn:hover{background:var(--green-d);border-color:var(--green-d);color:#fff}
.site-header .btn.sm{padding:9px 16px;font-size:.92rem}
/* header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(244,241,232,.94);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.site-header .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.site-header .brand svg{width:34px;height:34px}
.site-header .brand img{height:30px;width:auto;display:block}
.site-header .brand b{font-family:var(--serif);font-size:1.25rem;letter-spacing:-.01em}
.site-header .brand small{display:block;font-size:.68rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:-3px}
.site-header .nav{display:flex;align-items:center;gap:22px}
.site-header .nav a{color:var(--ink);text-decoration:none;font-size:.95rem}
.site-header .nav a:hover{color:var(--gold-d)}
.site-header .nav .btn{color:var(--cream)}
.site-header .nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:1rem;cursor:pointer;color:var(--ink)}
@media(max-width:900px){
  .site-header .nav-toggle{display:block}
  .site-header .nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--cream);flex-direction:column;align-items:stretch;padding:12px 22px 20px;border-bottom:1px solid var(--line);gap:4px}
  .site-header .nav.open{display:flex}.site-header .nav a{padding:10px 0;border-bottom:1px solid var(--line)}.site-header .nav .btn{text-align:center;margin-top:10px;border:0}
}

/* ===== Header nav v2: Tools/Guides dropdowns + hover tooltips ===== */
.site-header .nav{gap:6px}
.site-header .nav .nl{display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 12px;border-radius:10px;color:var(--ink);text-decoration:none;font:inherit;font-size:.95rem;line-height:1;background:none;border:0;cursor:pointer;position:relative}
.site-header .nav .nl:hover,.site-header .nav .nl:focus-visible,.site-header .dd.open>.dd-btn{background:rgba(196,163,90,.14);color:var(--ink)}
.site-header .nav .nl.active,.site-header .dd.active>.dd-btn{color:var(--green-d);font-weight:650;box-shadow:inset 0 -2px 0 var(--gold)}
.site-header .nav .btn.sm{margin-left:10px;position:relative}
.site-header .caret{font-size:.7em;transition:transform .15s}.site-header .dd.open .caret{transform:rotate(180deg)}
.site-header .dd{position:relative}
.site-header .dd-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:330px;background:var(--white,#fff);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(20,25,22,.14);padding:8px;z-index:40}
.site-header .dd-menu::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}
.site-header .dd.open .dd-menu{display:block}
@media(hover:hover) and (min-width:901px){.site-header .dd:hover .dd-menu{display:block}.site-header .dd:hover .caret{transform:rotate(180deg)}}
.site-header .dd-menu a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}
.site-header .dd-menu a:hover,.site-header .dd-menu a:focus-visible{background:rgba(14,140,143,.08)}
.site-header .dd-menu a b{display:block;font-size:.95rem}
.site-header .dd-menu a span{display:block;font-size:.82rem;color:var(--muted);margin-top:2px;line-height:1.35}
.site-header .dd-menu a.active b{color:var(--green-d)}
.site-header .dd-menu .dd-all{font-size:.85rem;font-weight:650;color:var(--green-d);border-top:1px solid var(--line);border-radius:0 0 10px 10px;margin-top:4px}
/* CSS tooltips (desktop) */
.site-header @media(hover:hover) and (min-width:901px){
  .site-header [data-tip]::after{content:attr(data-tip);position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);width:max-content;max-width:240px;white-space:normal;text-align:center;background:#1A1F1C;color:#fff;font-size:.78rem;font-weight:500;line-height:1.35;padding:7px 10px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .15s .25s;z-index:45;box-shadow:0 8px 20px rgba(0,0,0,.18)}
  .site-header [data-tip]:hover::after,.site-header [data-tip]:focus-visible::after{opacity:1}
  .site-header .nav .btn[data-tip]::after{left:auto;right:0;transform:none}
}
/* mobile menu */
.site-header @media(max-width:900px){
  .site-header .nav{gap:0;max-height:calc(100vh - 68px);overflow:auto}
  .site-header .nav .nl{width:100%;height:auto;padding:13px 4px;border-radius:0;border-bottom:1px solid var(--line);justify-content:space-between;flex-wrap:wrap}
  .site-header .nav a.nl[data-tip]::after{content:attr(data-tip);flex-basis:100%;font-size:.8rem;color:var(--muted);margin-top:3px}
  .site-header .nav .nl.active{box-shadow:inset 3px 0 0 var(--gold);padding-left:10px}
  .site-header .dd-menu{position:static;min-width:0;box-shadow:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 8px 8px}
  .site-header .dd-menu a{padding:9px 4px;border-bottom:0!important}
  .site-header .nav .btn.sm{margin:14px 0 0}
  .site-header .nav a{border-bottom:0}
}
/* neutralise tool-page button/link styles inside the header */
.site-header button.nl{margin:0!important;font:inherit;font-size:.95rem;font-weight:400;line-height:1;vertical-align:middle;color:var(--ink);background:none;box-shadow:none;width:auto;padding:0 12px;height:40px;border:0;border-radius:10px}
.site-header .dd.active>button.nl{color:var(--green-d);font-weight:650;box-shadow:inset 0 -2px 0 var(--gold)}
.site-header .dd.open>button.nl,.site-header button.nl:hover{background:rgba(196,163,90,.14)}
@media(max-width:900px){.site-header button.nl{width:100%;height:auto;padding:13px 4px;border-radius:0;border-bottom:1px solid var(--line)}}
.site-header .nav-toggle{margin:0!important;background:none;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:1rem;font-weight:400;width:auto}
/* nowrap-nav: keep every nav label and the brand on one line */
.site-header .nav .nl,.site-header .nav .btn,.site-header .brand b,.site-header .brand small{white-space:nowrap}
@media(min-width:901px){.site-header .nav{gap:2px}.site-header .nav .nl{padding:0 10px}}
@media(min-width:901px){.site-header .brand small{display:none}.site-header .nav .nl{padding:0 7px;font-size:.88rem}.site-header .nav .btn{padding:8px 12px;font-size:.85rem}.site-header .dd-menu{left:auto;right:0}}
@media(min-width:901px) and (max-width:1020px){.site-header .brand b{font-size:1.05rem}.site-header .nav .nl{padding:0 5px;font-size:.84rem}}
header .brand{flex-shrink:0}header .brand b,header .brand small,header .nav .nl,header .nav .btn{white-space:nowrap}
@media(min-width:901px){header .brand small{display:none}}
