/* Shared primary-page chrome, scoped away from business forms and printouts. */
body.gh-site-dashboard { margin:0; }
body.gh-site-page { margin:0; padding:20px; background:#f5f7f9; }
.gh-site-shell { box-sizing:border-box; width:100%; max-width:1180px; margin:0 auto; min-height:100vh; background:#fff; border:1px solid #d8dee6; border-radius:14px; box-shadow:0 8px 24px rgba(15,23,42,.08); overflow:hidden; }
.gh-site-shell .gh-site-banner { box-sizing:border-box; display:flex; align-items:center; height:90px; padding:20px 24px; background:linear-gradient(135deg,#183a59,#122c46); color:#fff; }
.gh-site-brand { display:flex; align-items:center; gap:14px; min-width:0; width:100%; }
.gh-site-brand > div { min-width:0; flex:1; }
.gh-site-shell .gh-site-logo { box-sizing:border-box; width:44px; height:44px; max-width:none; object-fit:contain; flex:none; padding:4px; background:#fff; border-radius:6px; }
.gh-site-shell .gh-site-banner h1 { margin:0 0 4px; font:700 21px/1.3 -apple-system,"Segoe UI",Arial,Helvetica,sans-serif; letter-spacing:0; overflow-wrap:anywhere; }
.gh-site-shell .gh-site-banner p { margin:0; color:#cfe3fb; font:13px/1.4 -apple-system,"Segoe UI",Arial,Helvetica,sans-serif; letter-spacing:0; overflow-wrap:anywhere; }
.gh-site-shell .gh-site-userbar { box-sizing:border-box; min-height:65px; padding:12px 24px; gap:12px; align-items:center; justify-content:space-between; border-bottom:1px solid #e5e9f0; background:#f8fafc; font:14px/1.4 -apple-system,"Segoe UI",Arial,Helvetica,sans-serif; }
.gh-site-userbar > div:first-child { min-width:0; overflow-wrap:anywhere; }
.gh-site-userbar strong { color:#17212b; }
.gh-site-role { color:#64748b; }
.gh-site-actions { display:flex; gap:8px; align-items:center; flex:none; }
.gh-site-shell .gh-site-account-button { box-sizing:border-box; display:inline-flex; justify-content:center; align-items:center; margin:0; min-height:40px; padding:9px 13px; border:1px solid #cbd5df; border-radius:6px; background:#fff; color:#24313f; font:700 13px/20px -apple-system,"Segoe UI",Arial,Helvetica,sans-serif; cursor:pointer; text-decoration:none; white-space:nowrap; }
.gh-site-account-button:hover { background:#edf2f7; }
.gh-site-shell :is(.gh-site-account-button,.gh-site-password input):focus-visible { outline:2px solid #2563eb; outline-offset:2px; }
.gh-site-userbar.is-visible { display:flex; }
.gh-site-password { padding:16px 24px; border-bottom:1px solid #e5e9f0; background:#fbfdff; }
.gh-site-password[hidden] { display:none; }
.gh-site-password-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.gh-site-password label { display:flex; flex-direction:column; gap:6px; font-size:12px; color:#475569; }
.gh-site-password input { width:100%; min-height:40px; padding:8px 10px; border:1px solid #cbd5df; border-radius:5px; font:inherit; }
.gh-site-password .gh-site-actions { margin-top:12px; }
.gh-site-password-status { margin-top:10px; font-size:13px; color:#475569; }
.gh-site-password-status:empty { display:none; }
.gh-site-nav { display:flex; flex-wrap:wrap; gap:6px; padding:9px 20px; background:#eaf0f4; border-bottom:1px solid #d7e0e8; }
.gh-site-nav a { padding:7px 10px; color:#264d6c; text-decoration:none; font-size:12px; font-weight:600; }
.gh-site-nav a.current { background:#183a59; color:#fff; }
.gh-site-finance > .tabs { padding:0 20px; }
.gh-site-finance > main { min-width:0; }
.gh-site-finance .line { grid-template-columns:135px 105px minmax(120px,1.7fr) 80px 100px 95px 100px 38px; }
@media(max-width:1100px) { .gh-site-finance .line { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:780px) {
  body.gh-site-page { padding:0; }
  .gh-site-shell { max-width:100%; border-radius:0; border-left:0; border-right:0; }
  .gh-site-shell .gh-site-banner { height:144px; padding:16px; }
  .gh-site-shell .gh-site-logo { width:34px; height:34px; }
  .gh-site-shell .gh-site-banner h1 { font-size:17px; min-height:44.2px; }
  .gh-site-shell .gh-site-banner p { font-size:12px; min-height:33.6px; }
  .gh-site-shell .gh-site-userbar { min-height:103px; padding:12px 16px; flex-direction:column; align-items:stretch; justify-content:center; gap:8px; }
  .gh-site-actions { width:100%; flex-wrap:wrap; }
  .gh-site-userbar .gh-site-actions { flex-wrap:nowrap; }
  .gh-site-userbar .gh-site-account-button { padding:9px 10px; }
  .gh-site-password { padding:14px 16px; }
  .gh-site-password-fields { grid-template-columns:1fr; }
  .gh-site-finance .line { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media print { .gh-site-banner,.gh-site-userbar,.gh-site-password,.gh-site-nav { display:none!important; } body.gh-site-page { padding:0; background:#fff; } .gh-site-shell { border:0; box-shadow:none; max-width:none; } }
