/* HHH portal theme (Oct 22, 2026): warm, simple. Loaded only by portal pages (body.portal); public form iframes keep hhh.css alone. */
@font-face{font-family:'Happy Monkey';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/happy-monkey-400.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/poppins-400.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('/static/fonts/poppins-600.woff2') format('woff2')}
body.portal{--brand:#4a2a12;--accent:#e27a2b;--cream:#f6daa7;--bg:#fbf6ee;--line:#efe2cc;--ink:#2b1d12;--muted:#6b5a4a;
  font:15px/1.6 Poppins,system-ui,sans-serif;background:var(--bg);color:var(--ink)}
.portal .skip{position:absolute;left:-9999px}.portal .skip:focus{left:12px;top:8px;z-index:9;background:#fff;padding:6px 10px;border-radius:6px}
.portal .top{background:var(--brand);padding:10px 22px}.portal .brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;margin:0}
.portal .brand img{height:35px;width:auto;border-radius:4px}.portal .brand span{font-family:'Happy Monkey',Poppins,sans-serif;font-size:1.25rem}
.portal .top nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px}.portal .top nav a{margin:0;color:#fff;text-decoration:none;border-bottom:2px solid transparent;padding:2px 0}
.portal .top nav a:hover,.portal .top nav a:focus-visible{border-bottom-color:var(--accent)}.portal .top .who{color:var(--cream);opacity:1}
.portal .hello{background:#fff;border-bottom:1px solid var(--line)}.portal .hello p{max-width:1100px;margin:0 auto;padding:10px 20px}
.portal .hello strong{color:var(--accent)}.portal .hello .lead{color:var(--muted)}
.portal h1{font-family:'Happy Monkey',Poppins,sans-serif;font-weight:400;color:var(--brand);font-size:1.9rem}
.portal h2.sec,.portal h2,.portal h3{color:var(--brand)}.portal h2.sec{border-bottom-color:var(--line)}
.portal a{color:#a14f12}.portal .card{border-color:var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(74,42,18,.05)}
.portal table{border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}.portal th{background:#f7ead3;color:var(--brand)}
.portal tr:hover td{background:#fffaf2}.portal .pill{background:#f3e9da}.portal .pill.new{background:#dcefd9}.portal .pill.warn{background:#ffe0c0}
.portal .btn{background:var(--accent);border-radius:8px;font-weight:600}.portal .btn:hover{background:#c8661c}
.portal .btn-light{background:#fff;border-color:#d9c7aa;border-radius:8px}.portal .btn-light:hover{background:#fff6ea}
.portal .btn-danger{border-radius:8px}
.portal :focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.portal input[type=text],.portal input[type=email],.portal input[type=password],.portal input[type=date],.portal select,.portal textarea{border-color:#d9c7aa;border-radius:8px}
.portal .flash{background:#fff6e5;border-color:#f0c98a;border-radius:8px}.portal .flash.err{background:#fdecee;border-color:var(--bad)}
.portal .login{margin-top:48px}.portal .tabs a{display:inline-block;padding:4px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;margin:0 6px 6px 0}
.portal .foot{text-align:center;color:var(--muted);font-size:.85rem;padding:24px 0}
@media (max-width:640px){.portal .top{padding:10px 14px}.portal .wrap{padding:14px}.portal h1{font-size:1.5rem}
 .portal table{display:block;overflow-x:auto}.portal dl.kv{grid-template-columns:1fr}.portal dl.kv dt{margin-top:6px}}
.portal .tabs a[aria-current]{background:var(--brand);color:#fff;border-color:var(--brand)}
