/* JagaBisnis Master App Shell
   Shared authenticated shell for Business App and Platform Console.
   Portal styles may override visual tokens, but structure/behavior stays centralized. */

.master-shell-root{position:relative;min-width:0;}
.master-main{min-width:0;}
.master-topbar{position:relative;z-index:40;}
.master-page-heading{min-width:0;display:flex;flex-direction:column;justify-content:center;}
.master-page-heading h1{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.master-page-kicker{display:block;line-height:1.1;}
.master-mobile-brand{display:none;align-items:center;gap:7px;min-width:0;color:var(--text);font-size:12px;font-weight:800;letter-spacing:-.2px;}
.master-mobile-brand img{width:28px;height:28px;object-fit:contain;flex:0 0 auto;}
.master-topbar-actions{min-width:0;}
.master-shell-control{font-family:inherit;}
.master-shell-control.is-loading svg{animation:master-shell-spin .75s linear infinite;}
.master-environment-badge{white-space:nowrap;}
.master-sidebar-overlay{cursor:pointer;}
.master-notif-panel{z-index:510;}
.master-notif-panel-head{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);font-size:13px;font-weight:750;}
.master-notif-list{max-height:min(360px,calc(100vh - 120px));overflow-y:auto;padding:8px 0;overscroll-behavior:contain;}
.master-notif-empty{padding:20px 16px;text-align:center;color:var(--text3);font-size:12px;}
.master-shell-note{position:relative;z-index:2;}
.master-modal-overlay{z-index:1000;}
.master-toast-wrap{z-index:9998;}
.master-loading-overlay{z-index:9997;}
.master-loading-card{min-width:180px;}
.master-boot-overlay{z-index:10020;}

@keyframes master-shell-spin{to{transform:rotate(360deg)}}

@media(max-width:768px){
  .master-mobile-brand{display:flex;}
  .master-page-heading{flex:1;max-width:48vw;}
  .master-page-kicker{display:none;}
  .master-topbar{gap:8px;padding-inline:10px;}
  .master-topbar-actions{gap:5px;}
  .master-topbar .environment-badge{display:none;}
  .master-topbar .avatar{width:32px;height:32px;}
}

@media(max-width:460px){
  .master-mobile-brand span{display:none;}
  .master-page-heading{max-width:42vw;}
  .master-topbar #refreshDataBtn{display:none;}
}

.master-shell-extra{display:contents;}
