/* NineBrief public-tools shell. Canonical tokens; no customer-document styling. */
.site-brand{display:flex;align-items:center;gap:var(--nb-shell-brand-gap,16px);min-width:0;margin-right:var(--nb-shell-brand-margin-right,0)}
.site-brand-link{display:inline-flex;align-items:center;gap:var(--nb-shell-brand-link-gap,9px);min-height:var(--nb-shell-brand-link-min-height,48px);flex:0 0 auto;color:var(--nb-ink);text-decoration:none}
.site-brand-mark{width:var(--nb-shell-brand-mark-width,38px);height:var(--nb-shell-brand-mark-height,48px);flex:0 0 var(--nb-shell-brand-mark-width,38px);display:grid;place-items:center}
.site-brand-mark-image{display:block;width:var(--nb-shell-brand-image-width,37px);height:var(--nb-shell-brand-image-height,47px);object-fit:contain;border:0;background:transparent}
.site-brand-name{display:inline-flex;align-items:baseline;color:var(--nb-ink);font-size:var(--nb-shell-brand-name-size,27px);line-height:1;letter-spacing:var(--nb-shell-brand-name-tracking,-.045em);white-space:nowrap}
.site-brand-name strong,.site-brand-name em{font-size:1em;line-height:1;font-weight:var(--nb-shell-brand-name-weight,800)}
.site-brand-name strong{color:var(--nb-ink)}
.site-brand-name em{margin-left:0;color:var(--nb-green);font-style:normal}
.site-brand-context{display:flex;flex-direction:column;gap:3px;min-width:0;padding-left:var(--nb-shell-context-padding,16px);border-left:1px solid var(--nb-shell-context-border,var(--nb-border))}
.site-brand-context strong{color:var(--nb-shell-context-strong-color,var(--nb-ink));font-size:var(--nb-shell-context-strong-size,13px);font-weight:var(--nb-shell-context-strong-weight,600);line-height:1.3;white-space:var(--nb-shell-context-strong-wrap,normal)}
.site-brand-context>span{color:var(--nb-shell-context-text-color,var(--nb-muted));font-size:var(--nb-shell-context-text-size,12px);line-height:1.4}

.nb-site-header{
  --nb-shell-gutter:max(24px,calc((100% - 1200px)/2));
  position:sticky;top:0;z-index:70;min-height:76px;
  display:flex;align-items:center;gap:24px;
  padding:12px var(--nb-shell-gutter);box-sizing:border-box;
  border-bottom:1px solid var(--nb-border);background:var(--nb-white);
  color:var(--nb-ink);font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
.nb-site-header .nb-site-nav{margin-left:auto;display:flex;align-items:center;gap:8px;position:static}
.nb-tools-menu{position:static}
.nb-tools-menu>summary{
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:0 14px;border:1px solid transparent;border-radius:10px;background:transparent;
  color:var(--nb-ink);list-style:none;cursor:pointer;font:inherit;font-size:14px;font-weight:600;
  line-height:1.4;white-space:nowrap;box-sizing:border-box;
}
.nb-tools-menu>summary::-webkit-details-marker{display:none}
.nb-tools-menu>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);flex:0 0 6px;transition:transform 140ms ease}
.nb-tools-menu[open]>summary{background:var(--nb-surface);border-color:var(--nb-border)}
.nb-tools-menu[open]>summary::after{transform:translateY(2px) rotate(225deg)}
.nb-tools-menu>summary:hover{background:var(--nb-surface)}
.nb-tools-menu>summary:focus-visible,.nb-site-header a:focus-visible{outline:3px solid var(--nb-green);outline-offset:3px}
.nb-tools-menu:not([open]) .nb-tools-popover{display:none}
.nb-tools-popover{
  position:absolute;right:var(--nb-shell-gutter);top:calc(100% + 10px);z-index:90;
  width:min(744px,calc(100vw - 48px));box-sizing:border-box;
  display:grid;gap:4px;padding:12px;border:1px solid var(--nb-border);border-radius:16px;
  background:var(--nb-white);box-shadow:0 16px 40px rgba(18,18,18,.1);
  max-height:calc(100vh - var(--nb-shell-header-height,90px) - 24px);
  max-height:calc(100dvh - var(--nb-shell-header-height,90px) - 24px);overflow:auto;overscroll-behavior:contain;
}
.nb-tools-popover a{min-height:44px;display:flex;align-items:center;padding:12px;border-radius:10px;color:var(--nb-ink);font-size:14px;font-weight:600;line-height:1.45;text-decoration:none;box-sizing:border-box}
.nb-tools-popover a:hover{background:var(--nb-surface)}
.nb-tools-popover a:focus-visible{outline:2px solid var(--nb-ink);outline-offset:-2px;background:var(--nb-surface)}
.nb-tools-popover a[aria-current="page"]{background:var(--nb-green-soft,color-mix(in srgb,var(--nb-green) 12%,transparent));box-shadow:inset 3px 0 0 var(--nb-green);color:var(--nb-ink)}
.nb-tools-popover.nb-tools-enhanced{display:block;padding:0}
.nb-tools-heading{margin:0;padding:22px 24px 10px;color:var(--nb-muted);font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.05em;text-transform:uppercase}
.nb-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:4px 12px 18px}
.nb-tools-popover .nb-tool-link{align-items:flex-start;gap:14px;padding:16px 12px;min-width:0;min-height:100px}
.nb-tool-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border:1px solid var(--nb-border);border-radius:10px;background:var(--nb-surface);color:var(--nb-ink)}
.nb-tool-icon[data-tool-kind] svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.nb-tool-link[aria-current="page"] .nb-tool-icon{border-color:transparent}
.nb-tool-copy{display:flex;min-width:0;flex-direction:column;gap:6px}
.nb-tool-title{font-size:14px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.nb-tool-description{color:var(--nb-muted);font-size:13px;font-weight:400;line-height:1.6;overflow-wrap:anywhere}
.nb-tools-bottom{display:flex;align-items:center;padding:8px 16px;border-top:1px solid var(--nb-border);background:var(--nb-surface)}
.nb-tools-popover .nb-tools-all{font-size:13px;padding:10px 8px;gap:12px}
.nb-tools-all::after{content:"\2192";font-size:18px;line-height:1}
.nb-language-control{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;color:var(--nb-muted);font-size:12px;font-weight:500}
.nb-language-control>span{white-space:nowrap}
.nb-language-control select{min-height:44px;max-width:136px;padding:0 10px;border:1px solid var(--nb-border);border-radius:10px;background:var(--nb-white);color:var(--nb-ink);font:inherit;font-size:13px;cursor:pointer;box-sizing:border-box}
.nb-language-control select:hover{border-color:var(--nb-muted)}
.nb-language-control select:focus-visible{outline:3px solid var(--nb-green);outline-offset:3px}

.site-footer.nb-site-footer{display:block;padding:0;border-top:0;background:var(--nb-dark);color:var(--nb-muted-light);font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.nb-footer-main{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,1.5fr) minmax(120px,.6fr);gap:40px;width:min(1200px,calc(100% - 48px));box-sizing:border-box;margin:0 auto;padding:56px 0 40px}
.footer-brand-block{display:flex;flex-direction:column;gap:var(--nb-shell-footer-block-gap,14px);align-items:flex-start}
.footer-brand{display:inline-flex;align-items:center;gap:var(--nb-shell-footer-brand-gap,9px);white-space:nowrap}
.site-footer-mark{display:block;width:28px;height:35px;flex:0 0 28px;object-fit:contain}
.footer-brand .site-brand-name{font-size:24px;line-height:1;letter-spacing:-.035em}
.nb-site-footer .site-brand-name strong{color:var(--nb-white)}
.nb-site-footer .site-brand-name em{color:var(--nb-green)}
.nb-site-footer .footer-brand-block>span:not(.footer-brand){max-width:28ch;color:var(--nb-muted-light);font-size:13px;line-height:1.8}
.nb-footer-tools-block>strong,.nb-footer-resources-block>strong{display:block;margin:3px 0 16px;color:var(--nb-white);font-size:13px;font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none}
.nb-footer-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}
.nb-site-footer .nb-footer-tools a,.nb-site-footer .nb-footer-resources a,.nb-site-footer .nb-footer-bottom a{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;color:var(--nb-muted-light);font-size:13px;font-weight:400;line-height:1.6;text-decoration:none;box-sizing:border-box;overflow-wrap:anywhere}
.nb-site-footer a:hover{color:var(--nb-white);text-decoration:underline;text-underline-offset:4px}
.nb-site-footer a:focus-visible{color:var(--nb-white);outline:2px solid var(--nb-green);outline-offset:4px;border-radius:2px}
.nb-site-footer a:is([aria-current="page"],[aria-current="true"]){color:var(--nb-white);text-decoration:underline;text-decoration-color:var(--nb-green);text-underline-offset:5px}
.nb-site-footer.nb-shell-enhanced .nb-footer-tools a[href="/tools/"]{grid-column:1/-1}
.nb-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;width:min(1200px,calc(100% - 48px));box-sizing:border-box;margin:0 auto;padding:16px 0 20px;border-top:1px solid color-mix(in srgb,var(--nb-white) 14%,transparent);color:var(--nb-muted-light);font-size:12px;line-height:1.6}
.nb-footer-bottom-nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}

@media (max-width:1100px){
  .nb-site-header .site-brand-context{display:none}
  .nb-site-footer .nb-footer-main{grid-template-columns:minmax(140px,.8fr) minmax(0,1.4fr) minmax(110px,.6fr);gap:24px}
}
@media (max-width:760px){
  .nb-site-header{--nb-shell-gutter:16px;gap:12px;min-height:68px;padding:10px 16px}
  .nb-site-header .site-brand{gap:8px;min-width:0}
  .nb-site-header .site-brand-link{gap:7px;min-height:44px}
  .nb-site-header .site-brand-mark{width:28px;height:35px;flex-basis:28px}
  .nb-site-header .site-brand-mark-image{width:28px;height:35px}
  .nb-site-header .site-brand-name{font-size:22px}
  .nb-tools-menu>summary{padding:0 10px;font-size:13px}
  .nb-tools-popover{right:16px;left:16px;width:auto;top:calc(100% + 8px)}
  .nb-tools-heading{padding:18px 20px 8px}
  .nb-tool-icon{width:36px;height:36px;flex-basis:36px}
  .nb-tools-grid{gap:4px;padding:4px 8px 12px}
  .nb-tools-popover .nb-tool-link{gap:12px;padding:14px 12px}
  .nb-language-control>span{display:none}
  .nb-language-control select{max-width:110px;min-height:44px}
  .nb-site-footer .nb-footer-main{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;padding:36px 0 28px;width:calc(100% - 40px)}
  .nb-footer-bottom{width:calc(100% - 40px);padding:14px 0 18px}
}
@media (max-width:520px){
  .nb-site-header{gap:8px;padding:10px 12px;--nb-shell-gutter:12px;flex-wrap:wrap}
  .nb-site-header .site-brand{flex:1 1 auto}
  .nb-site-header .site-brand-link{gap:6px}
  .nb-site-header .site-brand-name{font-size:20px}
  .nb-site-header .nb-site-nav{margin-left:0}
  .nb-tools-menu>summary{padding:4px 8px;gap:8px;font-size:12px;white-space:normal;max-width:94px}
  .nb-language-control select{width:88px;max-width:88px;padding:0 5px;font-size:12px}
  .nb-tools-grid{grid-template-columns:minmax(0,1fr)}
  .nb-tools-popover .nb-tool-link{min-height:82px}
  .nb-tool-title{font-size:14px}
  .nb-tool-description{font-size:12px}
  .nb-footer-tools{grid-template-columns:minmax(0,1fr);gap:4px}
  .nb-footer-bottom{align-items:flex-start;flex-wrap:wrap;gap:4px 16px}
}
/* Resource links remain native anchors, including without JavaScript. */
.nb-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;box-sizing:border-box;color:var(--nb-muted);font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;border-radius:8px}
.nb-nav-link:hover{background:var(--nb-surface);color:var(--nb-ink)}
.nb-nav-link[aria-current]{color:var(--nb-ink);text-decoration:underline;text-decoration-color:var(--nb-green);text-decoration-thickness:2px;text-underline-offset:7px}
.nb-footer-resources{display:grid;align-content:start;gap:4px}
@media (max-width:760px){
  .nb-site-footer .footer-brand-block{grid-column:1/-1}
  .nb-footer-tools{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  /* DOM and visual order agree: brand, navigation, language. */
  .nb-site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;min-height:108px}
  .nb-site-header .site-brand{grid-column:1/-1}
  .nb-site-header .nb-site-nav{margin-left:0;gap:2px;min-width:0;justify-content:flex-start}
  .nb-nav-link{font-size:12px;padding:0 7px}
  .nb-tools-menu>summary{font-size:12px;padding:4px 7px;gap:7px;max-width:94px;white-space:normal}
  .nb-language-control>span{display:none}
  .nb-language-control select{width:88px;max-width:88px;padding:0 5px;font-size:12px}
  html:has(.nb-site-header){scroll-padding-top:132px}
}
@media (prefers-reduced-motion:reduce){.nb-tools-menu>summary::after{transition:none}}
@media (forced-colors:active){
  .nb-tools-popover,.nb-tool-icon{border-color:CanvasText;box-shadow:none}
  .nb-tools-popover a[aria-current="page"]{outline:2px solid Highlight;outline-offset:-2px}
  .nb-site-footer a:focus-visible,.nb-tools-menu>summary:focus-visible{outline-color:Highlight}
}
@media print{.nb-site-header,.nb-site-footer{display:none!important}}

/* Approved decorative icon palette, shared by tool navigation, hub and related-document cards. */
.nb-tool-icon[data-tool-kind="invoice"]{color:var(--nb-icon-invoice-fg);background:var(--nb-icon-invoice-bg);border-color:transparent}
.nb-tool-icon[data-tool-kind="quote"]{color:var(--nb-icon-quote-fg);background:var(--nb-icon-quote-bg);border-color:transparent}
.nb-tool-icon[data-tool-kind="order"]{color:var(--nb-icon-order-fg);background:var(--nb-icon-order-bg);border-color:transparent}
.nb-tool-icon[data-tool-kind="delivery"]{color:var(--nb-icon-delivery-fg);background:var(--nb-icon-delivery-bg);border-color:transparent}
@media (forced-colors:active){.nb-tool-icon[data-tool-kind]{color:CanvasText;background:Canvas;border-color:CanvasText}}
