*{box-sizing:border-box}body{margin:0;background:#f5f5f0;color:#172d35;font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:#176e61;text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,.button{display:inline-block;border:1px solid #173f3e;border-radius:9px;background:#173f3e;color:#fff;padding:10px 18px;cursor:pointer;text-decoration:none}button:hover,.button:hover{filter:brightness(.9);text-decoration:none}.secondary{color:#173f3e;background:#edf3ef}.quiet{background:transparent;color:inherit;border-color:#cbd4ce;padding:7px 12px}header{display:flex;align-items:center;gap:24px;padding:20px 4vw;background:white;border-bottom:1px solid #dce2da}header nav{margin-left:auto;display:flex;align-items:center;gap:20px}header nav form{margin:0}.brand{font-size:30px;letter-spacing:-1.5px;font-weight:750;color:#172d35}.brand span{color:#73a18b}.preview{font-size:12px;color:#64756e}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px}main{max-width:1280px;margin:48px auto;padding:0 32px;min-height:65vh}h1{font-size:36px;line-height:1.15;letter-spacing:-1.1px;margin:8px 0 14px}h2{font-size:21px;line-height:1.3;margin:0 0 18px}h3{font-size:17px}.eyebrow{color:#547664;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.muted{color:#65716b}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin:28px 0}.card{display:block;padding:28px;border:1px solid #dce1d9;border-radius:16px;background:#fff;margin-bottom:24px;box-shadow:0 5px 20px #152f2504}.grid>.card{margin:0}.narrow{max-width:520px;margin:60px auto}.narrow-left{max-width:640px}.monogram{display:grid;place-items:center;background:#e9f2eb;color:#275a47;width:48px;height:48px;border-radius:12px;font-weight:700;margin-bottom:20px}.company-card{color:inherit}.company-card:hover{text-decoration:none;border-color:#679380}.link{color:#236656}.company-logo{display:block;width:160px;max-height:90px;object-fit:contain;object-position:left;margin:15px 0}label{display:block;font-weight:600;margin:0 0 6px}input:not([type=checkbox]):not([type=file]),select{width:100%;border:1px solid #bccac2;border-radius:7px;padding:10px;color:#172d35;background:white}input[type=checkbox]{accent-color:#21574e}input[type=checkbox]+label{display:inline}form p{margin:0 0 20px}form div label{font-weight:400}form div label:has(input[type=checkbox]){display:flex;gap:8px;align-items:center}.helptext{display:block;font-size:12px;color:#65716b;margin-top:6px}.errorlist{background:#fff1f0;color:#982e2a;padding:12px 12px 12px 30px;border-radius:8px;font-size:13px}.notice{padding:14px 18px;border-radius:10px;border:1px solid #acd6bb;background:#edf7f0}.notice.error{background:#fff1ef;border-color:#e2b0aa}.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px}.team article{border-top:1px solid #dce2da;padding-top:12px}dl{display:grid;grid-template-columns:110px 1fr;gap:12px;margin-bottom:28px}dt{color:#65716b}dd{margin:0;overflow-wrap:anywhere}footer{padding:25px;text-align:center;color:#65716b;font-size:12px}summary{cursor:pointer;margin-top:20px}:focus-visible{outline:3px solid #bd7020;outline-offset:3px}.skip{position:absolute;top:-100px;left:20px;padding:10px;background:white;z-index:10}.skip:focus{top:12px}@media(max-width:800px){header{flex-wrap:wrap;padding:14px 20px;gap:12px}header nav{width:100%;margin:0;gap:15px;flex-wrap:wrap;font-size:13px}.preview{font-size:10px}main{margin:28px auto;padding:0 18px}.heading{align-items:flex-start;flex-direction:column;gap:10px}h1{font-size:28px}.card{padding:20px}.grid{grid-template-columns:1fr}.narrow{margin:30px auto}}
/* Shared screen tokens for account, company and administration pages. */
@media screen {
  :root {--control-height:36px;--control-radius:8px;--control-border:1px;--motion-fast:140ms;--paper:#f7f8f5;--white:#fff;--ink:#203137;--muted:#55665f;--line:#cdd7cf;--teal:#32776b;--teal-hover:#286559;--teal-light:#edf5ef;--field:#fcfdf9;--topbar:#fbfcf9;--on-accent:#fff;--radius:14px;--red:#a74332;--red-bg:#fff0eb;--focus:#236cba;}
  body {background:var(--paper);color:var(--ink);}
  a,.link {color:var(--teal);}
  button,.button {min-height:var(--control-height);border-radius:var(--control-radius);border-width:var(--control-border);border-color:var(--teal);background:var(--teal);color:var(--on-accent);padding:7px 14px;transition:background-color var(--motion-fast),border-color var(--motion-fast);}
  button:hover,.button:hover {filter:none;background:var(--teal-hover);color:var(--on-accent);}
  .secondary {background:var(--teal-light);color:var(--teal);border-color:var(--line);}
  .quiet {background:transparent;color:var(--ink);border-color:var(--line);padding:7px 12px;}
  .quiet:hover,.secondary:hover {background:var(--teal-light);color:var(--teal);border-color:var(--teal);}
  header {background:var(--topbar);border-color:var(--line);padding-top:14px;padding-bottom:14px;gap:18px;}
  header nav {gap:12px;flex-wrap:wrap;}
  #portal-preferences {display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  #portal-preferences select {width:auto;max-width:180px;}
  .brand {color:var(--ink)!important;font-size:28px;}
  .brand span {color:var(--teal);}
  header .brand {display:block;flex:none;line-height:1;}
  header .brand .boq-logo {width:91px;height:57px;}
  .eyebrow,h1,h2,h3 {text-transform:none;letter-spacing:0;}
  .eyebrow,.muted,.helptext,dt,footer {color:var(--muted);}
  .card {background:var(--white);border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow,none);}
  .company-card {color:var(--ink);}
  .company-card:hover {border-color:var(--teal);}
  .team article {border-color:var(--line);}
  input:not([type=checkbox]):not([type=file]),select,textarea {min-height:var(--control-height);border:var(--control-border) solid var(--line);border-radius:var(--control-radius);padding:7px 10px;color:var(--ink);background:var(--field);font:inherit;}
  input[type=checkbox] {accent-color:var(--teal);}
  input::placeholder,textarea::placeholder {color:var(--muted);opacity:1;}
  .monogram,.notice {background:var(--teal-light);color:var(--ink);border-color:var(--line);}
  .errorlist,.notice.error {background:var(--red-bg);color:var(--red);border-color:var(--red);}
  .skip {background:var(--white);color:var(--ink);}
  :focus-visible {outline:3px solid var(--focus);outline-offset:3px;}
  .theme-control select {min-height:var(--control-height);border-radius:var(--control-radius);width:auto;}
}
@media screen and (prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
