/* Shared Durlevel interface: local fonts, botanical green, practical controls. */
@media screen {
  :root {
    --brand: #11684f; --brand-dark: #0a4433; --brand-light: #eaf3ee;
    --ink: #182d25; --ink-soft: #52665c; --ink-faint: #64766b;
    --bg: #f4f6f3; --surface: #fff; --line: #e0e7e1; --line-strong: #c3cec5;
    --radius: 10px; --radius-sm: 8px; --t-xs: 12px; --t-sm: 14px;
  }
  html { scroll-padding-top: 100px; scrollbar-color: #b7c6bb var(--bg); }
  ::selection { background: #cbe5d5; color: #123c2c; }
  input, textarea { caret-color: var(--brand); }
  ::placeholder { color: #647269; opacity: 1; }
  a { text-underline-offset: 4px; }
  button, select, summary { cursor: pointer; }
  .btn { min-height: 44px; padding: 11px 20px; border-radius: 8px; letter-spacing: 0; }
  .btn:disabled, button[disabled] { cursor: not-allowed; opacity: .55; }
  .btn-sm { min-height: 36px; padding: 7px 12px; font-size: 13px; }
  .btn-ghost { background: var(--surface); border-color: var(--line-strong); color: var(--ink); }
  .btn-ghost:hover { background: var(--brand-light); color: var(--brand-dark); border-color: var(--brand); }
  .field > span { font-size: 14px; letter-spacing: 0; text-transform: none; font-weight: 500; }
  .field input, .field select { min-height: 46px; }
  .field input, .field select, .field textarea { border-radius: 8px; font-size: 16px; }
  .field .hint { font-size: 13px; line-height: 1.6; }
  .alert { border-width: 1px; border-radius: 8px; padding: 14px 18px; }
  .alert-error { background: #fff5f3; border-color: #edc7c1; color: #8b2b23; }
  .alert-ok { background: #edf6f0; border-color: #c5ddcd; }
  .skip-link { position: fixed; left: 20px; top: -100px; z-index: 500; background: var(--brand); color: white; padding: 12px 18px; border-radius: 8px; }
  .skip-link:focus { top: 12px; }
  main:focus { outline: none; }
  .wrap { width: min(1240px, 100% - 64px); }
  .site-header { background: var(--surface); border-bottom: 1px solid var(--line); box-shadow: none; }
  .site-header .bar { min-height: 80px; gap: 24px; }
  .brand-link { font-size: 25px; letter-spacing: -.035em; color: var(--brand-dark); }
  .brand-link img { max-width: 180px; max-height: 38px; object-fit: contain; }
  .site-nav { margin-inline: auto; gap: 6px; }
  .site-nav a { padding: 12px 16px; font-size: 14px; letter-spacing: 0; text-transform: none; font-weight: 500; border-radius: 8px; }
  .site-nav a:hover { background: var(--bg); }
  .site-nav a.active { background: var(--brand-light); color: var(--brand-dark); }
  .site-nav a.active::after { display: none; }
  .user-chip { max-width: 240px; padding-left: 20px; margin-left: 0; gap: 14px; }
  .user-chip > span { overflow-wrap: anywhere; line-height: 1.4; }
  .logout-btn { min-height: 44px; white-space: nowrap; font-size: 13px; }
  .page-head { padding: 48px 0 0; margin: 0 0 28px; border: 0; gap: 24px 48px; }
  .page-head h1 { margin: 0; font-size: clamp(30px, 3.4vw, 46px); line-height: 1.12; letter-spacing: -.035em; }
  .page-head .lede { font-size: 16px; line-height: 1.7; margin: 12px 0 0; max-width: 56ch; }
  .title-block { margin: 24px 0 0; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); padding: 18px 8px; }
  .title-block > div { padding: 0 20px; border: 0; }
  .title-block > div + div { border-left: 1px solid var(--line); }
  .title-block dt { font-size: 12px; letter-spacing: .02em; text-transform: none; }
  .title-block dd { font-size: 16px; line-height: 1.5; margin-top: 3px; }
  .toolbar { align-items: stretch; flex-direction: column; gap: 18px; padding: 0; }
  .search-form { flex: 0 1 auto; max-width: 720px; }
  .search-form input { font-size: 16px; min-height: 48px; border-radius: 8px; padding: 12px 16px; }
  .cat-nav { gap: 8px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
  .cat-nav a { min-height: 42px; padding: 9px 14px; font-size: 13px; letter-spacing: 0; text-transform: none; border-radius: 8px; border: 1px solid var(--line-strong); background: var(--surface); align-items: center; }
  .cat-nav a:hover, .cat-nav a:focus-visible { background: var(--brand-light); border-color: var(--brand); color: var(--brand-dark); }
  .cat-nav a::after { display: none; }
  .cat-nav .count { font-size: 12px; padding-left: 6px; border-left: 1px solid var(--line); }
  .sheet-counter { display: none; }
  .product-section, .product-section:first-of-type { margin-top: 36px; }
  .section-head { padding: 0; margin: 0 0 16px; align-items: center; gap: 12px; }
  .section-head::after { display: none; }
  .section-head h2 { font-size: 22px; letter-spacing: -.025em; font-weight: 600; }
  .section-head .count { font-size: 12px; text-transform: none; letter-spacing: 0; padding: 4px 9px; background: #e7ede7; color: #435a4b; border-radius: 6px; }
  .table-scroll { background: var(--surface); border-radius: 10px; border: 1px solid var(--line); }
  table.products { border: 0; background: transparent; }
  table.products th { color: #52665c; font-size: 12px; font-weight: 500; text-transform: none; letter-spacing: .02em; padding: 16px; background: #f9fbf8; }
  table.products td { padding: 18px 16px; border-color: var(--line); line-height: 1.6; }
  table.products tbody tr:last-child td { border-bottom: 0; }
  table.products tbody tr:hover { background: #f8fbf7; }
  table.products .name { color: var(--ink); font-size: 16px; font-weight: 600; overflow-wrap: anywhere; }
  table.products .thumb { border-radius: 8px; background: var(--bg); }
  .doc-link { padding: 6px 8px; border-radius: 6px; font-size: 12px; }
  .tag { border-radius: 5px; background: var(--bg); color: var(--ink-soft); }
  .staff-grid { gap: 20px; }
  .staff-card { border: 1px solid var(--line); border-radius: 10px; padding: 24px; background: var(--surface); }
  .staff-photo, .staff-photo-empty { border-radius: 50%; }
  .staff-photo-empty { background: var(--brand-light); color: var(--brand-dark); }
  .staff-contact li { padding-block: 9px; }
  .copy-btn { opacity: 1; min-width: 36px; min-height: 36px; border-radius: 6px; }
  .rep-panel { border: 1px solid var(--line); border-radius: 10px; }
  .rep-label, .rep-title { letter-spacing: 0; text-transform: none; }
  .rfq-section { margin-bottom: 32px; }
  .rfq-section h2 { font-size: 22px; border-bottom: 0; margin-bottom: 16px; }
  .rfq-section > .rfq-grid { padding: 24px; border: 1px solid var(--line); background: var(--surface); border-radius: 10px; }
  .empty-panel, .sent-panel { padding: 40px 24px; margin: 24px 0; border-radius: 10px; }
  .empty-panel .eyebrow { border: 0; font-size: 18px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--ink); }
  .site-footer { background: #e9eee8; color: var(--ink); border-top: 1px solid var(--line); padding: 32px 0; }
  .site-footer .colophon { color: var(--brand-dark); font-size: 24px; }
  .site-footer .foot-grid { margin: 0; border: 0; gap: 24px; }
  .site-footer .foot-grid > div { border: 0; padding: 0; }
  .site-footer dt { color: var(--ink-soft); font-size: 12px; letter-spacing: 0; text-transform: none; }
  .site-footer dd, .site-footer .notice { color: var(--ink); font-size: 13px; letter-spacing: 0; text-transform: none; }
  .login-body { background: #e9eee8; }
  .login-shell { padding: 48px 24px; }
  .login-card { width: min(1040px, 100%); border: 0; border-radius: 16px; box-shadow: 0 22px 70px #183b2412; }
  .login-aside { background: #143f30; padding: 44px; min-height: 540px; }
  .login-aside::before, .login-aside::after { display: none; }
  .login-aside .logo-text { font-size: 32px; font-weight: 600; letter-spacing: -.035em; }
  .login-aside .logo-img { max-width: 200px; max-height: 72px; object-fit: contain; }
  .login-aside .tagline { color: #c4dacc; font-size: 14px; line-height: 1.6; margin-top: 16px; }
  .login-intro { color: #fff; font-size: clamp(26px, 2.8vw, 38px); line-height: 1.2; letter-spacing: -.03em; margin: 48px 0 20px; }
  .login-index { border: 0; margin-top: 20px; }
  .login-index li { padding: 12px 0; color: #d7e7da; font-size: 13px; text-transform: none; letter-spacing: 0; border-color: #3f6653; }
  .login-form { padding: 48px; }
  .login-form h1 { font-size: 32px; letter-spacing: -.03em; line-height: 1.18; margin: 0 0 14px; }
  .login-caption { color: var(--ink-soft); line-height: 1.7; margin: 0 0 30px; font-size: 15px; }
  .login-note { color: var(--ink-soft); font-size: 13px; line-height: 1.7; padding-top: 22px; margin-top: 24px; }
  .security-panel { border: 1px solid var(--line); border-radius: 14px; }
  .security-panel .eyebrow { text-transform: none; letter-spacing: 0; font-size: 14px; }
  .security-panel h1 { font-size: 28px; }
  .security-panel h2 { margin-top: 32px; }
  .message-page { align-content: center; background: var(--surface); }
  @media (min-width: 760px) { .login-card { grid-template-columns: .95fr 1.05fr; } }
  @media (max-width: 1000px) {
    .site-header .bar { gap: 8px 16px; }
    .site-nav a { padding-inline: 10px; }
    .user-chip { max-width: 190px; padding-left: 12px; }
    .login-form, .login-aside { padding: 32px; }
  }
  @media (max-width: 860px) {
    .site-header .bar { padding: 12px 0 8px; }
    .site-nav { width: 100%; margin: 4px 0 0; gap: 4px; }
    .user-chip { padding: 0; margin-left: auto; }
  }
  @media (max-width: 680px) {
    .wrap { width: calc(100% - 32px); }
    .page-head { padding-top: 28px; margin-bottom: 24px; }
    .page-head h1 { font-size: 30px; }
    .search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; max-width: 100%; }
    .search-form input { width: 100%; min-width: 0; }
    .search-form > a { grid-column: 1 / -1; justify-self: start; min-height: 44px; padding: 8px 14px; }
    .page-head .lede { font-size: 15px; }
    .title-block { padding: 0; gap: 0; margin-top: 20px; }
    .title-block > div { padding: 12px 14px; border: 0; }
    .title-block > div + div { border-left: 0; }
    .title-block > div:nth-child(even) { border-left: 1px solid var(--line); }
    .title-block > div:nth-child(n+3) { border-top: 1px solid var(--line); }
    .title-block dd { font-size: 14px; }
    .cat-nav { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; }
    .cat-nav a { flex-shrink: 0; }
    .section-head h2 { font-size: 20px; }
    .section-head .count { flex: 0 0 auto; align-self: flex-start; width: auto; }
    .btn-sm, .doc-link, .copy-btn { min-height: 44px; }
    .site-nav a { font-size: 13px; padding: 10px 11px; }
    .user-chip { max-width: 190px; gap: 8px; font-size: 12px; }
    .staff-card { padding: 20px; }
    .rfq-section > .rfq-grid { padding: 16px; }
    .site-footer .foot-grid { gap: 18px; }
    .login-shell { padding: 20px 16px; }
    .login-aside { min-height: auto; padding: 26px; gap: 0; }
    .login-intro, .login-index { display: none; }
    .login-aside .logo-text { font-size: 28px; }
    .login-aside .tagline { margin-bottom: 0; }
    .login-form { padding: 28px 24px; }
    .login-form h1 { font-size: 28px; }
    .security-panel { padding: 28px 24px; }
  }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  }
}

.footer-brand-logo{width:180px;height:auto;object-fit:contain;background:transparent}.security-brand-logo{object-fit:contain;margin-bottom:20px}
