/* Owner surfaces use the tenant portal's visual scale. Scope every rule so
   the shared Operations source and its generated owner shell stay in sync. */
body.ro {
  --ink:#15201A; --white:#FFFFFF; --r:18px; --r-sm:12px;
  --ff:'Montserrat',sans-serif; --fb:'Inter',system-ui,sans-serif;
  --sh-sm:0 10px 30px -18px rgba(18,61,42,.22);
  background:var(--mint);font-family:var(--fb);font-size:16px;line-height:1.6;
}
body.ro :is(h1,h2,h3,h4){font-family:var(--ff);font-weight:700;line-height:1.15;letter-spacing:-.02em}
body.ro .top{padding:14px max(20px,calc((100vw - 960px)/2 + 48px));gap:16px}
body.ro .top-brand{gap:10px}
body.ro .top-brand>a{display:none!important}
body.ro .top h1{font-size:13px;font-weight:800;letter-spacing:.14em;line-height:1.6;color:#fff;white-space:normal}
body.ro #brandMode{color:var(--sage);font-family:var(--fb);font-size:12px;font-weight:500;letter-spacing:0}
body.ro #brandTag{display:none}
body.ro .owner-session-actions .btn{border-radius:99px;background:transparent;font-size:12px;font-weight:600;padding:7px 16px;min-height:44px}
body.ro .ro-banner{background:linear-gradient(160deg,var(--forest),var(--forest-deep));color:#fff;padding:32px max(20px,calc((100vw - 960px)/2 + 48px)) 40px;font-family:var(--ff);font-size:clamp(24px,4.5vw,34px);font-weight:700;line-height:1.2;letter-spacing:-.02em}
body.ro .ro-banner span{display:block;max-width:640px;margin:10px 0 0;font-family:var(--fb);font-size:15px;font-weight:400;line-height:1.6;letter-spacing:0;color:var(--sage);opacity:1}
body.ro #appMain.wrap{max-width:960px;padding:32px 48px 100px}
body.ro .panel{padding:clamp(20px,4vw,30px);border-radius:18px!important;box-shadow:0 12px 32px -24px rgba(14,44,32,.42);margin-bottom:24px}
body.ro .panel>h2,body.ro .panel>h3{font-size:19px!important;font-weight:700!important;line-height:1.25;margin-bottom:6px}
body.ro .panel>p{font-size:14px!important;line-height:1.6}
body.ro .kpis{gap:12px;margin-bottom:24px}
body.ro .kpi{border-radius:12px;padding:20px}
body.ro .btn{font-family:var(--ff);font-weight:700;min-height:44px}
body.ro :is(.owner-lower-disclosure,.owner-market-disclosure,.owner-maintenance){border-radius:18px;box-shadow:0 12px 32px -24px rgba(14,44,32,.42)}
body.ro :is(.owner-lower-disclosure,.owner-market-disclosure)>summary{padding:20px}
body.ro .owner-section-nav{background:rgba(243,246,241,.92)}
body.ro .owner-section-nav button{font-family:var(--ff);font-size:12px;font-weight:650;padding:8px 13px}
body.ro #loginScreen>div{max-width:420px!important;padding:clamp(28px,5vw,44px)!important;border-radius:22px!important;box-shadow:0 26px 64px -36px rgba(18,61,42,.32)!important}
body.ro #loginScreen input{border:1.5px solid var(--line)!important;border-radius:12px!important;padding:12px 14px!important;min-height:48px}
body.ro #loginScreen input:focus{outline:2px solid var(--green);outline-offset:2px}
body.ro #loginScreen .btn{border-radius:99px;padding:14px;font-size:15px}
@media(max-width:700px){
  body.ro .top{padding:14px 20px}
  body.ro .top-brand{display:flex;align-items:center;gap:10px}
  body.ro .top-brand>div:not(.owner-session-actions){flex:1;min-width:0}
  body.ro .top h1{font-size:12px;letter-spacing:.12em}
  body.ro #brandMode{display:block;font-size:11px;line-height:1.4}
  body.ro .owner-session-actions{gap:5px}
  body.ro .owner-session-actions .btn{font-size:11px;padding:7px 10px;min-height:44px}
  body.ro .ro-banner{padding:32px 20px 40px}
  body.ro #appMain.wrap{padding:28px 20px 100px}
  body.ro .panel{padding:20px}
  body.ro .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ro .kpi{min-width:0;padding:16px}
  body.ro .kpi .n{font-size:24px;overflow-wrap:anywhere}
  body.ro[data-owner-mobile-section="messages"] #appMain.wrap{padding:0;max-width:none}
  body.ro[data-owner-mobile-section="messages"] .ro-banner{display:none}
}
@media print{body.ro .ro-banner{background:#fff;color:var(--forest);padding:20px}body.ro #appMain.wrap{max-width:none;padding:0}}
