/* OfferBed Stage A2.1 — responsive coverage for public, auth, dashboard, organizations.
   Load AFTER offerbed-theme.css and offerbed-stage-a2.css.
   No external build step; deliberately avoid overriding Filament's drawer mechanics. */
:root { color-scheme: light; }
.ob-site, .ob-workspace, .ob2-dashboard { min-width: 0; }
.ob-site img, .ob-workspace img, .ob2-dashboard img { height: auto; max-width: 100%; }
.ob-container, .ob-header-inner, .ob-hero-grid > *, .ob-feature-grid > *,
.ob-split > *, .ob-summary > *, .ob2-metrics > *, .ob2-panels > *, .ob2-checkrow > div,
.ob2-workspace-banner > *, .ob2-hero-content { min-width: 0; }
.ob-page-title, .ob-subtitle, .ob-card strong, .ob2-hero h2, .ob2-org-main,
.ob2-invitation-detail, .ob2-panel h3 { overflow-wrap: anywhere; }
.ob-workspace .ob-list-item > *, .ob-workspace .ob2-title-row > *,
.ob-workspace .ob2-invitation-row > * { min-width: 0; }
.ob-site button, .ob-site input, .ob-site textarea, .ob-site select,
.ob2-dashboard button { font: inherit; }
.ob-site input, .ob-site select, .ob-site textarea { max-width: 100%; }
.ob-site .ob-btn, .ob-site .ob2-button, .ob2-dashboard .ob2-button { text-align: center; }
.ob-workspace .ob-input { font-size: 16px; }
.ob-mobile-nav { display: none; position: relative; z-index: 25; }
.ob-mobile-nav summary { display: flex; align-items: center; gap: 9px; min-height: 44px;
    padding: 9px 12px; border-radius: 12px; border: 1px solid #dbe6f3;
    background: #fff; color: #0c376e; cursor: pointer; font-size: 14px; font-weight: 750;
    list-style: none; user-select: none; }
.ob-mobile-nav summary::-webkit-details-marker { display: none; }
.ob-mobile-nav summary:focus-visible { outline: 3px solid #84c5ff; outline-offset: 3px; }
.ob-mobile-icon { display: inline-block; width: 19px; height: 14px;
    background: linear-gradient(#195ead,#195ead) center 0/19px 2px no-repeat,
                linear-gradient(#195ead,#195ead) center 6px/19px 2px no-repeat,
                linear-gradient(#195ead,#195ead) center 12px/19px 2px no-repeat; }
.ob-mobile-nav[open] summary { background:#eef5ff; }
.ob-mobile-links { position: absolute; right: 0; top: calc(100% + 8px); width: min(290px,calc(100vw - 26px));
    display: grid; gap: 3px; background:#fff; border:1px solid #dfe9f6;
    box-shadow:0 18px 40px rgba(8,35,78,.16); border-radius:15px; padding:9px; }
.ob-mobile-links a { display: flex; align-items:center; min-height:44px; padding:10px 13px;
    color:#123a70; text-decoration:none; font-size:14px; font-weight:700; border-radius:10px; }
.ob-mobile-links a:hover, .ob-mobile-links a:focus-visible { background:#edf5ff; }
.ob2-dashboard { width:100%; max-width:100%; }
.ob2-hero-content, .ob2-panel, .ob2-metric { min-width:0; }
.ob2-checkrow strong, .ob2-checkrow small, .ob2-org-row strong { overflow-wrap:anywhere; }
.ob2-checkrow > .ob2-done, .ob2-checkrow > .ob2-mini-link { flex-shrink:0; }
.ob2-invitation-actions form { flex-shrink:0; }
.ob2-invitation-actions button { min-height:42px; }
.ob2-button, .ob-btn, .ob2-mini-action { touch-action: manipulation; }
.ob2-workspace-banner, .ob-card, .ob2-panel, .ob2-metric { max-width:100%; }
.ob2-workspace-banner strong, .ob2-workspace-banner small { overflow-wrap:anywhere; }
/* Filament 5: maintain framework sidebar/mobile drawer, only constrain readable surfaces */
.fi-body .fi-main, .fi-body .fi-main-ctn, .fi-body .fi-page, .fi-body .fi-section,
.fi-body .fi-wi, .fi-body .fi-wi-widget, .fi-body .fi-sc, .fi-body .fi-fo-field-wrp { min-width:0; max-width:100%; }
.fi-body .fi-logo { width:auto; max-width: min(245px, 100%); height:auto; }
.fi-body .ob-topbar-link { display:inline-flex; align-items:center; min-height:44px;
    margin-inline:8px; padding: 6px 8px; color:#125fc5; font-size:13px;
    line-height:1.2; font-weight:750; text-decoration:none; white-space:nowrap; }
.fi-body .ob-topbar-link:hover { text-decoration:underline; }
.fi-body .ob-topbar-link:focus-visible { outline:3px solid #84c5ff; outline-offset:2px; }
@media (max-width: 1100px) {
  .ob2-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ob2-panels { grid-template-columns:minmax(0,1fr); }
  .ob2-hero { padding: 30px; }
  .ob2-hero-emblem { flex-basis:95px; }
  .ob2-hero-emblem img { width:95px; }
}
@media (max-width: 900px) {
  .ob-hero-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .ob-hero { padding:65px 0; }
  .ob-preview { transform:none; max-width:650px; }
  .ob-split { grid-template-columns:minmax(0,1fr); }
  .ob-page-header { align-items:flex-start; }
  .ob2-hero h2 { font-size:clamp(27px, 4.7vw, 36px); }
}
@media (max-width: 700px) {
  .ob-header-inner { min-height:72px; gap:12px; }
  .ob-header .ob-nav { display:none; }
  .ob-header .ob-mobile-nav { display:block; }
  .ob-brand img { width:clamp(146px,36vw,205px); }
  .ob-container { width:calc(100% - 30px); }
  .ob-workspace-main { padding:24px 0 65px; }
  .ob-page-header { gap:14px; }
  .ob-page-header > .ob-btn { min-height:44px; }
  .ob-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ob-feature-grid { grid-template-columns: minmax(0,1fr); }
  .ob-banner { padding:25px; align-items:flex-start; flex-direction:column; }
  .ob-banner .ob-btn { width:100%; }
  .ob2-panel-header, .ob2-title-row { flex-wrap:wrap; }
  .ob2-hero-emblem { display:none; }
  .ob2-hero { padding:26px 22px; }
  .ob2-hero-actions { gap:10px; }
  .ob2-panel { padding:21px; }
  .ob2-workspace-banner { padding:20px; }
  .ob2-workspace-banner-mark { display:none!important; }
  .fi-body .ob-topbar-link { font-size:12px; margin-inline:2px; padding:7px 5px; }
  .fi-body .fi-logo { max-height:40px; max-width:155px; }
  .fi-body .fi-simple-main { max-width: min(100%, 440px); }
}
@media (max-width: 520px) {
  .ob-hero { padding:45px 0 48px; }
  .ob-hero h1 { font-size:clamp(32px,8.8vw,42px); letter-spacing:-.045em; }
  .ob-lead { font-size:16px; line-height:1.6; }
  .ob-section { padding:42px 0; }
  .ob-preview { padding:18px; }
  .ob-preview-top { flex-wrap:wrap; }
  .ob-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .ob-actions .ob-btn { width:100%; }
  .ob-page-header > .ob-btn { width:100%; }
  .ob-page-title { font-size:clamp(25px,7vw,34px); }
  .ob-card { padding:18px; border-radius:16px; }
  .ob-list-item { flex-direction:column; align-items:stretch; gap:9px; }
  .ob-list-item > strong, .ob-list-item > div { overflow-wrap:anywhere; }
  .ob-list-item > .ob-btn { align-self:stretch; }
  .ob2-title-row { align-items:flex-start; }
  .ob2-invitation-row { flex-direction:column; align-items:flex-start; }
  .ob2-invitation-actions { width:100%; flex-wrap:wrap; }
  .ob2-workspace-banner { align-items:flex-start; }
  .ob2-metrics { gap:10px; }
  .ob2-hero { border-radius:17px; }
  .ob2-hero h2 { font-size:clamp(24px,7.1vw,32px); }
  .ob2-hero-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .ob2-button { width:100%; }
  .ob2-panel-header { align-items:flex-start; }
  .ob2-checkrow { display:grid; grid-template-columns:33px minmax(0,1fr); gap:6px 11px; align-items:start; }
  .ob2-checkrow > .ob2-circle { grid-column:1; grid-row:1 / span 2; }
  .ob2-checkrow > div { grid-column:2; grid-row:1; }
  .ob2-checkrow > .ob2-done, .ob2-checkrow > .ob2-mini-link { grid-column:2; grid-row:2; justify-self:start; }
  .ob2-status { white-space:normal; }
  .ob2-activity-row time { flex-basis:100%; margin-left:16px; }
  .fi-body .fi-simple-main { padding-inline: min(3vw, 12px); }
}
@media (max-width: 420px) {
  .ob-container { width:calc(100% - 26px); }
  .ob-brand img { width:146px; }
  .ob-header-inner { min-height:67px; }
  .ob-summary { grid-template-columns:minmax(0,1fr); }
  .ob2-metrics { grid-template-columns:minmax(0,1fr); gap:10px; }
  .ob2-metric { display:grid; grid-template-columns:34px minmax(0,1fr); column-gap:11px; align-items:center; padding:13px 15px; }
  .ob2-metric-icon { grid-column:1; grid-row:1 / span 3; margin:0; }
  .ob2-metric-label { grid-column:2; grid-row:1; }
  .ob2-metric strong { grid-column:2; grid-row:2; font-size:27px; margin-top:2px; }
  .ob2-metric-caption { grid-column:2; grid-row:3; margin-top:2px; }
  .ob2-panel { padding:17px; }
  .ob2-overline { flex-wrap:wrap; }
  .ob2-panel h3 { font-size:18px; }
  .ob2-workspace-banner strong { font-size:18px; }
  .ob2-org-row { gap:9px; }
  .fi-body .ob-topbar-link { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  .ob-mobile-nav *, .ob2-dashboard *, .ob-workspace * { scroll-behavior:auto; animation-duration:0.01ms!important; }
}
