@media(min-width:700px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-actions{grid-template-columns:repeat(4,1fr)}}@media(min-width:960px){.sidebar{display:block}.topbar{margin-left:var(--sidebar-w)}.main{margin-left:var(--sidebar-w);padding:27px 30px 44px}.bottom-nav{display:none}.mobile-brand{display:none}.property-menu-mobile{display:none}.top-search{display:block}.toast-region{left:auto;right:24px;bottom:24px;width:380px}.update-bar{left:auto;right:24px;bottom:24px;width:470px}.login{grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);background:#EEF3F7}.login-left{display:flex;background:var(--c-navy);color:#fff;padding:58px clamp(38px,6vw,86px);flex-direction:column;justify-content:space-between}.login-right{background:#EEF3F7;padding:32px}}@media(max-width:959px){.topbar-inner{flex-wrap:wrap}.top-search{display:block;order:3;flex:1 0 100%;max-width:none}.top-search input{min-height:40px}.property-menu-mobile .property-menu-panel{position:fixed;left:10px;right:10px;top:auto;bottom:calc(70px + var(--safe-bottom));max-height:68dvh;border-radius:16px;padding:10px;z-index:75}.property-menu-mobile .property-menu-item,.property-menu-mobile .property-menu-action{min-height:46px;font-size:14px}}@media(max-width:700px){.desktop-table{display:none}.page-head{margin-bottom:18px}.page-head .btn span.hide-mobile{display:none}.toolbar>*{flex:1}.toolbar input{max-width:none}.kv{grid-template-columns:110px 1fr}.action-row .btn{flex:1}.metric-value{font-size:21px}}@media(min-width:701px){.mobile-only-list{display:none}}@media print{.sidebar,.topbar,.bottom-nav,.toolbar,.btn,.network-banner,.update-bar{display:none!important}.main{margin:0!important;padding:0!important;max-width:none}.card,.table-wrap{box-shadow:none;border-color:#bbb}.print-only{display:block}body{background:#fff}}


/* v2 visual hardening: long Indonesian labels, narrow phones, modal safety */
.page-head>* ,.row-between>* ,.section-head>* ,.list-row>* ,.mobile-row-top>* ,.attention-row>* ,.quick-action>*{min-width:0}
.page-head h1,.page-head p,.list-title,.list-sub,.mobile-row strong,.kv strong,.kv span,.notice,.card,.card-flat,.badge,.table-link{overflow-wrap:anywhere;word-break:normal}
.action-row,.form-actions,.toolbar,.row-between,.section-head{min-width:0}
.tabs{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.modal-card{max-width:calc(100vw - 28px);overscroll-behavior:contain}
input,select,textarea,.btn{min-width:0;max-width:100%}
[data-money]{font-variant-numeric:tabular-nums}
@media(max-width:520px){
  .page-head{flex-direction:column;align-items:stretch}
  .page-head>.action-row,.page-head>.row,.page-head>.btn{width:100%}
  .page-head>.action-row .btn{flex:1 1 140px}
  .section-head{align-items:flex-start;flex-wrap:wrap}
  .row-between{flex-wrap:wrap}
  .list-row,.mobile-row-top,.attention-row{align-items:flex-start}
  .list-meta{max-width:46%}
  .kv{grid-template-columns:minmax(92px,42%) minmax(0,1fr)}
  .kv strong{min-width:0}
  .modal-backdrop{padding:10px}
  .modal-card{max-height:calc(100dvh - 20px);padding:15px}
  .form-actions .btn{flex:1 1 130px}
}
@media(max-width:360px){
  .metric-grid{grid-template-columns:1fr 1fr}
  .action-row .btn,.form-actions .btn{flex-basis:100%}
  .list-meta{max-width:42%}
}

/* Kostral v2.9 chat mobile */
@media (max-width:720px){
  .chat-page{height:calc(100dvh - 72px);min-height:0;border-radius:0;border-left:0;border-right:0;margin:-12px -12px 0}
  .chat-header{padding:9px 10px}.chat-header-actions .btn{padding:7px 9px;font-size:11px}.chat-header-actions .btn:last-child{display:none}
  .chat-scroll{padding:16px 9px 12px}.chat-bubble{max-width:86%}.chat-composer{padding:8px}.chat-hint{display:none}
  .chat-property-title{padding-left:2px}.chat-thread{padding:12px}.chat-thread-avatar{width:42px;height:42px}
}

/* v2.11 chat + organization mobile */
@media(max-width:720px){
  .tg2-chat{height:calc(100dvh - 64px - env(safe-area-inset-bottom));min-height:0;margin:-18px -14px -86px;border:0;border-radius:0;box-shadow:none}
  .tg2-header{height:58px;padding:0 8px}.tg2-group-avatar{width:38px;height:38px}.tg2-scroll{padding:12px 8px 18px}.tg2-wrap{max-width:82%}.tg2-avatar{width:27px;height:27px;font-size:14px}.tg2-identity{font-size:9px}.tg2-text{font-size:13.5px}.tg2-icon{opacity:.78}.tg2-composer{padding:7px 8px max(8px,env(safe-area-inset-bottom))}.tg2-compose textarea{min-height:40px;padding:9px 13px}.tg2-send{width:42px;height:42px}
  .org-settings-card{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:15px}.org-owner{grid-column:2}.org-settings-card>.btn{grid-column:1/-1;width:100%}.team-row{grid-template-columns:minmax(0,1fr) auto;padding:12px}.team-status{align-self:start}.team-actions{grid-column:1/-1;justify-content:flex-end}.team-actions .btn{flex:1}.team-copy .list-sub{white-space:normal;overflow-wrap:anywhere}
}

/* v2.13 form + 360 px safety */
html,body{max-width:100%;overflow-x:hidden}
.scope-context{flex-wrap:wrap}.kc-new-chat:disabled{opacity:.45;cursor:not-allowed}
.org-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.org-actions .btn{min-width:0}
@media(max-width:520px){
  input,select,textarea{font-size:16px}
  .org-actions{grid-column:1/-1;width:100%}
  .org-actions .btn{flex:1 1 150px}
  .modal-card,.card,.card-flat,.table-wrap{min-width:0}
  .phone-input,.row{max-width:100%}
}


/* v2.14.3 — mobile UI stability */
@media(max-width:720px){
  body.kc-chat-open{overflow:hidden;overscroll-behavior:none}
  .kc-chat-open .topbar,.kc-chat-open .bottom-nav{display:none!important}
  .kc-chat-open .main{max-width:none!important;margin:0!important;padding:0!important;height:var(--kc-chat-vh,100dvh)!important;min-height:0!important;overflow:hidden}
  .kc-chat-open .kc-chat-screen{width:100%;max-width:none;height:var(--kc-chat-vh,100dvh)!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;grid-template-rows:56px minmax(0,1fr) auto}
  .kc-chat-open .kc-chat-body{min-height:0;padding-bottom:10px;scroll-padding-bottom:12px}
  .kc-chat-open .kc-composer{position:relative;z-index:4;padding:7px 8px max(7px,env(safe-area-inset-bottom));box-shadow:0 -1px 5px rgba(23,33,43,.035)}
  .kc-chat-open .kc-reply-bar{margin-bottom:6px}
  .kc-chat-open .kc-compose-row{width:100%;max-width:none}
  .kc-chat-open .kc-compose-row textarea{font-size:16px}
  [data-fin-panel] .list-row{align-items:flex-start;flex-direction:column;gap:9px}
  [data-fin-panel] .list-row>div:first-child{width:100%;min-width:0}
  [data-fin-panel] .list-row>.row{width:100%;min-width:0;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:7px}
  [data-fin-panel] .list-row>.row>strong{margin-right:auto;max-width:100%;white-space:nowrap}
  [data-fin-panel] .list-row>.row>.btn{flex:0 0 auto;min-width:72px}
  #finance-tabs{scrollbar-width:none;scroll-snap-type:x proximity}
  #finance-tabs::-webkit-scrollbar{display:none}
  #finance-tabs .tab{scroll-snap-align:start}
  .room-billing-row{align-items:flex-start;flex-direction:column;gap:9px}
  .room-billing-actions{width:100%;justify-content:flex-start}
  .room-billing-actions .btn{flex:1 1 120px}
}
@media(max-width:420px){[data-fin-panel] .list-row>.row>.btn{flex:1 1 110px}.room-billing-actions .badge{width:100%;justify-content:center}}


/* v2.14.4 — stable mobile Kos bottom sheet */
@media(max-width:959px){
  .property-menu-mobile{min-width:0}
  .property-menu-mobile .property-menu-trigger{max-width:min(62vw,250px)}
  .property-menu-mobile .property-menu-copy{min-width:0}
  .property-menu-mobile .property-menu-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .property-menu-mobile .property-menu-panel{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;max-width:none!important;max-height:min(74dvh,620px)!important;margin:0!important;padding:8px 14px calc(14px + env(safe-area-inset-bottom))!important;border-radius:22px 22px 0 0!important;border:0!important;box-shadow:0 -18px 48px rgba(15,31,46,.22)!important;overflow:auto!important;overscroll-behavior:contain;z-index:1200!important;background:#fff}
  .property-menu-mobile .property-sheet-handle{width:42px;height:4px;border-radius:999px;background:#cad4db;margin:2px auto 10px}
  .property-menu-mobile .property-menu-title{font-size:16px;padding:4px 6px 10px}
  .property-menu-mobile .property-menu-item,.property-menu-mobile .property-menu-action{min-height:50px!important;border-radius:12px!important;font-size:15px!important;padding:10px 12px!important}
}


/* v2.14.4 final — property selector viewport sheet */
@media(max-width:959px){
  .topbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}
  body.property-menu-open{overflow:hidden!important}
  body.property-menu-open .topbar{z-index:1110!important}
  .property-menu-backdrop{position:fixed;inset:0;background:rgba(15,31,46,.34);z-index:1090}
  .property-menu-backdrop[hidden]{display:none!important}
  .property-menu-mobile .property-menu-panel{z-index:1120!important}
}

@media(max-width:520px){#resident-wizard .wizard-actions{margin-left:-2px;margin-right:-2px}.wizard-step-message{font-size:12px}}

/* v2.14.8 narrow-card fixes */
@media(max-width:420px){.payment-method-row{grid-template-columns:minmax(0,1fr) auto!important;gap:8px}.payment-method-actions{gap:5px}.payment-method-actions .btn{min-width:48px}.payment-method-actions .badge{padding-inline:7px}}

/* v2.14.9 — polished mobile property sheet + resident wizard */
@media(max-width:959px){
  .property-menu-mobile{width:auto;max-width:min(58vw,260px)}
  .property-menu-mobile .property-menu-trigger{min-height:44px;border-radius:12px;background:#f7fafc;border-color:#dbe4ea;padding:6px 9px}
  .property-menu-mobile .property-menu-chevron{width:22px;height:22px;border-radius:999px;background:#eaf1f5;display:grid;place-items:center;font-size:13px}
  .property-menu-mobile .property-menu-panel{padding:8px 14px calc(16px + env(safe-area-inset-bottom))!important}
  .property-menu-mobile .property-menu-head{position:sticky;top:-8px;z-index:2;margin:0 -4px;padding:7px 4px 11px;background:#fff}
  .property-menu-mobile .property-menu-title{padding:0;font-size:17px;text-transform:none;letter-spacing:-.02em;color:var(--c-navy)}
  .property-menu-mobile .property-menu-subtitle{font-size:10.5px;margin-top:3px}
  .property-menu-mobile .property-menu-item{min-height:62px!important;padding:10px!important;font-size:13px!important}
  .property-menu-mobile .property-menu-actions{position:sticky;bottom:calc(-16px - env(safe-area-inset-bottom));z-index:2;background:#fff;padding:10px 0 calc(16px + env(safe-area-inset-bottom));margin-bottom:calc(-16px - env(safe-area-inset-bottom))}
}
@media(max-width:620px){
  .resident-add-choices{grid-template-columns:1fr}
  .resident-add-choices .choice-card{min-height:96px}
  #resident-wizard .wizard-steps{grid-template-columns:repeat(5,36px);justify-content:space-between;gap:2px}
  #resident-wizard .wizard-steps span{padding:6px;background:transparent}
  #resident-wizard .wizard-steps span em{display:none}
  #resident-wizard .wizard-steps span b{width:27px;height:27px;font-size:10px}
  .resident-wizard-panel{padding:12px}
  #resident-wizard .wizard-actions{bottom:-15px;margin:13px -15px -15px;padding:9px 15px calc(9px + env(safe-area-inset-bottom))}
  #resident-wizard .wizard-actions .btn{flex:1}
  #resident-wizard .wizard-actions .btn-primary{margin-left:0;flex:1.35}
  .property-menu-actions{grid-template-columns:1fr 1fr}
  .property-menu-action{min-height:56px}
}
@media(max-width:390px){
  .property-menu-actions{grid-template-columns:1fr}
  .property-menu-mobile{max-width:55vw}
  .resident-wizard-headcopy>strong{font-size:15px}
}
@media(max-width:900px){.resident-add-choices.three{grid-template-columns:1fr}}
