:root{
  --app-navy:#173653;--app-navy-deep:#10283f;--app-gold:#c58a3c;--app-gold-soft:#d5b270;
  --app-cream:#f5f0e6;--app-paper:#fffdf8;--app-green:#315743;--app-ink:#272a2d;--app-muted:#68717a;
  --app-line:#ddd4c4;--app-radius:12px;--app-shadow:0 5px 16px rgba(25,45,63,.08);
}

/* MIKE mobile components are opt-in. Desktop remains untouched. */
.usob-mobile-app{background:var(--app-cream);color:var(--app-ink);min-height:100vh}
.usob-mobile-app *{box-sizing:border-box}
@media(min-width:901px){.usob-mobile-app-only{display:none!important}}

@media(max-width:900px){
  body.usob-mobile-app{margin:0;padding:0 0 calc(58px + env(safe-area-inset-bottom));font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-text-size-adjust:100%}
  .usob-mobile-app .usob-site-header,.usob-mobile-app .usob-site-footer{display:none!important}
  .usob-mobile-app-main{width:100%;max-width:680px;margin:0 auto;padding:0 12px 18px}

  /* Compact production-style app bar */
  .usob-app-header{position:sticky;top:0;z-index:500;height:55px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;padding:4px 8px;background:rgba(255,253,248,.98);border-top:3px solid var(--app-navy);border-bottom:2px solid var(--app-gold);box-shadow:0 2px 10px rgba(25,45,63,.07);backdrop-filter:blur(12px)}
  .usob-app-header__side{display:flex;align-items:center}.usob-app-header__side--right{justify-content:flex-end}
  .usob-app-icon-button{position:relative;width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:var(--app-navy);padding:0;cursor:pointer}
  .usob-app-hamburger{display:grid;gap:4px;width:20px}.usob-app-hamburger i{height:2px;border-radius:4px;background:var(--app-navy)}
  .usob-app-brand{justify-self:center;display:flex;align-items:center;gap:7px;color:var(--app-navy);text-decoration:none;min-width:0;white-space:nowrap}
  .usob-app-brand img{width:37px;height:27px;object-fit:contain}
  .usob-app-brand span{display:block;font-family:Georgia,'Times New Roman',serif;line-height:.8;letter-spacing:.025em}
  .usob-app-brand strong{display:block;font-size:8px;font-weight:500}.usob-app-brand b{display:block;font-size:14px;letter-spacing:.04em}
  .usob-app-header__title{display:none}
  .usob-app-notification-button svg{width:21px;height:21px;stroke:currentColor}

  /* Fixed mobile navigation */
  .usob-app-bottom-nav{position:fixed;z-index:520;left:0;right:0;bottom:0;min-height:58px;display:grid;grid-template-columns:repeat(5,1fr);padding:3px 4px env(safe-area-inset-bottom);background:var(--app-navy-deep);border-top:2px solid var(--app-gold);box-shadow:0 -3px 12px rgba(16,40,63,.15)}
  .usob-app-bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:52px;color:#f7f1e8;text-decoration:none;font-size:8.5px;font-weight:700;line-height:1.05;min-width:0}
  .usob-app-bottom-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .usob-app-bottom-nav a.is-active{color:var(--app-gold-soft)}
  .usob-app-bottom-nav a::after{content:'';position:absolute;bottom:2px;height:2px;width:18px;border-radius:99px;background:transparent}.usob-app-bottom-nav a.is-active::after{background:var(--app-gold)}

  /* Drawer */
  .usob-app-drawer-backdrop{position:fixed;z-index:540;inset:0;background:rgba(8,22,34,.55);backdrop-filter:blur(2px)}
  .usob-app-drawer{position:fixed;z-index:550;left:0;top:0;bottom:0;width:min(82vw,320px);padding:14px 15px calc(24px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#fffdf8,#f7f0e4);box-shadow:16px 0 40px rgba(11,29,44,.25);transform:translateX(-104%);transition:transform .22s ease;overflow:auto}.usob-app-drawer.is-open{transform:translateX(0)}
  .usob-app-drawer__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--app-line)}
  .usob-app-drawer__brand{display:flex;align-items:center;gap:8px;color:var(--app-navy);font-family:Georgia,'Times New Roman',serif;font-size:12px;line-height:.9}.usob-app-drawer__brand img{width:46px;height:33px;object-fit:contain}.usob-app-drawer__brand b{font-size:17px}
  .usob-app-drawer__profile{display:flex;align-items:center;gap:10px;padding:13px 2px;border-bottom:1px solid var(--app-line)}.usob-app-avatar{width:40px;height:40px;display:grid;place-items:center;border:1.5px solid var(--app-gold);border-radius:50%;background:var(--app-paper);color:var(--app-navy);font:700 16px Georgia,serif}
  .usob-app-drawer__profile strong,.usob-app-drawer__profile small{display:block}.usob-app-drawer__profile strong{color:var(--app-navy);font-size:13px}.usob-app-drawer__profile small{margin-top:1px;color:var(--app-muted);font-size:9px}
  .usob-app-drawer__nav{display:grid;padding-top:8px}.usob-app-drawer__nav a{display:grid;grid-template-columns:21px 1fr;align-items:center;gap:8px;min-height:42px;padding:0 7px;border-radius:7px;color:var(--app-navy);text-decoration:none;font-size:13px;font-weight:700}.usob-app-drawer__nav a:hover{background:#efe5d4}.usob-app-drawer__nav .is-danger{margin-top:6px;border-top:1px solid var(--app-line);border-radius:0;color:#a3322b}

  /* App content density */
  .usob-app-screen-head{padding:13px 1px 8px}.usob-app-screen-head h1{margin:0;color:var(--app-navy);font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1}.usob-app-screen-head p{margin:4px 0 0;color:var(--app-muted);font-size:11px;line-height:1.35}
  .usob-app-section{padding:11px 0}.usob-app-section-title{margin:0 0 3px;color:var(--app-navy);font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.05}.usob-app-section-subtitle{margin:0 0 9px;color:var(--app-muted);font-size:10.5px;line-height:1.4}
  .usob-app-eyebrow{margin:0 0 4px;color:var(--app-green);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
  .usob-app-card{background:var(--app-paper);border:1px solid var(--app-line);border-radius:var(--app-radius);box-shadow:var(--app-shadow);overflow:hidden}.usob-app-card+.usob-app-card{margin-top:9px}.usob-app-card__body{padding:11px 12px}

  .usob-app-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 13px;border:1px solid transparent;border-radius:7px;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;text-decoration:none;cursor:pointer}.usob-app-button--primary{background:linear-gradient(180deg,#d0a254,#b97f2d);border-color:#a76f25;color:#fff;box-shadow:0 3px 8px rgba(165,111,37,.16)}.usob-app-button--secondary{background:var(--app-paper);border-color:var(--app-gold);color:var(--app-navy)}.usob-app-button--navy{background:var(--app-navy);border-color:var(--app-navy);color:#fff}.usob-app-button--block{width:100%}.usob-app-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}

  .usob-app-filter{display:grid;gap:6px}.usob-app-filter label{color:var(--app-navy);font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.usob-app-filter-note{color:var(--app-muted);font-size:9.5px;line-height:1.3}.usob-app-select,.usob-app-search{width:100%;min-height:42px;padding:0 11px;border:1px solid #d8cebd;border-radius:8px;background:#fff;color:var(--app-navy);font-size:13px;outline:none}.usob-app-select:focus,.usob-app-search:focus{border-color:var(--app-gold);box-shadow:0 0 0 3px rgba(197,138,60,.11)}

  .usob-app-list{margin:0;padding:0;list-style:none;background:var(--app-paper);border:1px solid var(--app-line);border-radius:11px;overflow:hidden}.usob-app-list-row{min-height:48px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px;padding:7px 10px;border-bottom:1px solid #e9e1d5;color:var(--app-navy);text-decoration:none}.usob-app-list-row:last-child{border-bottom:0}.usob-app-list-row strong{display:block;font-size:11.5px;line-height:1.2}.usob-app-list-row small{display:block;margin-top:2px;color:var(--app-muted);font-size:9px;line-height:1.25}.usob-app-list-row__meta{display:flex;align-items:center;gap:8px;color:var(--app-muted);font-size:10px}.usob-app-chevron{font-size:17px;color:var(--app-gold)}
  .usob-app-list-row--media{grid-template-columns:43px 1fr auto}.usob-app-thumb{width:43px;height:38px;border-radius:6px;background:#eee4cf;object-fit:cover;border:1px solid #d5c6b2}

  .usob-app-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.usob-app-stat{padding:10px;border:1px solid var(--app-line);border-radius:9px;background:var(--app-paper)}.usob-app-stat b{display:block;color:var(--app-navy);font:700 21px Georgia,serif}.usob-app-stat span{color:var(--app-muted);font-size:9px}

  .usob-app-hero{position:relative;min-height:145px;display:flex;align-items:flex-end;padding:13px;border-radius:0 0 12px 12px;overflow:hidden;background:linear-gradient(180deg,rgba(16,40,63,.08),rgba(16,40,63,.72)),url('/assets/img/usob-state-default-hero-v3.jpg') center/cover}.usob-app-hero h1{margin:0;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:.95;text-shadow:0 2px 8px rgba(0,0,0,.28)}.usob-app-hero p{margin:4px 0 0;color:#f7ead5;font-size:10px}

  /* Development-only marker: deliberately tiny so it doesn't distort the layout test. */
  .usob-app-showcase-tag{display:inline-flex;margin:8px 12px 0;padding:3px 7px;border:1px solid #ddcaa7;border-radius:999px;background:#fffaf2;color:var(--app-green);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
}


@media(max-width:900px){
  /* V3 precision corrections */
  body.usob-mobile-app{
    padding-bottom:calc(66px + env(safe-area-inset-bottom)) !important;
    overflow-x:hidden;
  }
  .usob-mobile-app-main{
    padding:0 12px calc(18px + env(safe-area-inset-bottom));
  }

  .usob-app-header{
    position:sticky;
    top:0;
    height:50px;
    min-height:50px;
    grid-template-columns:40px 1fr 40px;
    padding:2px 7px;
  }
  .usob-app-brand img{width:34px;height:24px}
  .usob-app-brand strong{font-size:7px}
  .usob-app-brand b{font-size:13px}
  .usob-app-header__title{display:none!important}

  .usob-app-showcase-tag{display:none!important}
  .usob-app-screen-head{padding:12px 1px 7px}
  .usob-app-screen-head h1{
    font-size:21px;
    line-height:1.05;
  }
  .usob-app-screen-head p{
    margin-top:3px;
    font-size:10px;
  }

  /* True viewport-anchored app navigation. */
  .usob-app-bottom-nav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    height:calc(62px + env(safe-area-inset-bottom)) !important;
    min-height:0 !important;
    padding:3px 4px env(safe-area-inset-bottom) !important;
    margin:0 !important;
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    align-items:stretch !important;
    background:var(--app-navy-deep) !important;
    border-top:2px solid var(--app-gold) !important;
    z-index:2147483000 !important;
    /* Do not force a composited containing layer here. iOS Safari can
       intermittently drop fixed UI while its browser chrome resizes. */
    transform:none !important;
    -webkit-transform:none !important;
    contain:none !important;
    -webkit-backface-visibility:visible;
    backface-visibility:visible;
  }
  .usob-app-bottom-nav a{
    height:57px !important;
    min-height:0 !important;
    padding:4px 1px 5px !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:2px !important;
    font-size:9px !important;
    line-height:1 !important;
    overflow:hidden !important;
  }
  .usob-app-bottom-nav a > svg{
    display:block !important;
    flex:0 0 21px !important;
    width:21px !important;
    height:21px !important;
    min-width:21px !important;
    min-height:21px !important;
    max-width:21px !important;
    max-height:21px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    vector-effect:non-scaling-stroke;
  }
  .usob-app-bottom-nav a > span{
    display:block !important;
    max-width:100%;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .usob-app-bottom-nav a::after{bottom:3px!important}

  .usob-app-list-row--media{grid-template-columns:40px 1fr auto}
  .usob-app-thumb{width:40px;height:36px}
}


@media(max-width:900px){
  /* V4: isolate bottom-nav icon/label rendering from legacy site CSS */
  .usob-app-bottom-nav{
    min-height:calc(62px + env(safe-area-inset-bottom)) !important;
  }
  .usob-app-bottom-nav > a{
    font-size:9px !important;
    color:#f7f1e8 !important;
  }
  .usob-app-bottom-nav > a.is-active{
    color:var(--app-gold-soft) !important;
  }
  .usob-app-bottom-nav > a > .usob-app-nav-svg{
    width:21px !important;
    height:21px !important;
    min-width:21px !important;
    min-height:21px !important;
    max-width:21px !important;
    max-height:21px !important;
    display:block !important;
    flex:none !important;
    overflow:visible !important;
    fill:none !important;
    stroke:currentColor !important;
  }
  .usob-app-bottom-nav > a > .usob-app-nav-svg *{
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    vector-effect:non-scaling-stroke !important;
  }
  .usob-app-bottom-nav > a > span{
    display:block !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    min-height:9px !important;
    margin:0 !important;
    padding:0 !important;
    font-size:9px !important;
    line-height:1 !important;
    font-weight:700 !important;
    color:inherit !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }
}


@media(max-width:900px){
  /* MIKE Safari fixed-nav stability guard. */
  html{overflow-x:hidden;}
  body.usob-mobile-app{position:relative;min-height:100dvh;}
  .usob-app-bottom-nav{
    position:fixed !important;
    inset:auto 0 0 0 !important;
    visibility:visible !important;
    opacity:1 !important;
    transform:none !important;
    -webkit-transform:none !important;
    contain:none !important;
    isolation:isolate;
  }
}


/* MIKE global mobile shell: suppress the original website header/nav.
   The MIKE app header and drawer replace it on converted mobile pages. */
@media (max-width:900px){
  body.usob-mobile-app > .usob-site-header,
  body.usob-mobile-app .usob-site-header[data-usob-navigation]{
    display:none !important;
  }
}
