/* Mobile-first responsive refinement for the Poligest License Center.
   This file intentionally overrides layout only: no business behaviour is changed. */
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{min-width:0;overflow-x:hidden}
img,svg{max-width:100%}
button,input,textarea,select{max-width:100%}
.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}

@media(max-width:900px){
  .shell,.shell.sidebar-collapsed{display:block;min-height:100dvh}
  .sidebar{position:sticky;top:0;height:auto;min-height:64px;padding:11px max(12px,env(safe-area-inset-right)) 11px max(12px,env(safe-area-inset-left));z-index:60;box-shadow:0 6px 20px rgba(7,61,80,.16)}
  .brand,.shell.sidebar-collapsed .brand{min-height:42px;padding:0 58px 0 2px}
  .brand-copy,.shell.sidebar-collapsed .brand-copy{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand strong{font-size:16px}
  .brand span{font-size:11px}
  .sidebar-toggle,.shell.sidebar-collapsed .sidebar-toggle{display:flex!important;align-items:center;justify-content:center;position:absolute;top:10px;right:max(12px,env(safe-area-inset-right));width:44px;height:44px;margin:0;border-radius:11px;font-size:20px!important;line-height:1}
  .shell.sidebar-collapsed .sidebar-toggle:after{content:none}
  .sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:11px 0 2px;max-height:calc(100dvh - 74px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
  .responsive-ui-ready .sidebar nav{display:none}
  .responsive-ui-ready .shell.mobile-nav-open .sidebar nav{display:grid}
  .nav,.shell.sidebar-collapsed .nav{justify-content:flex-start;min-width:0;min-height:46px;padding:11px 12px;border-radius:10px;white-space:normal}
  .nav span{font-size:16px}
  .nav em,.shell.sidebar-collapsed .nav em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:13px}
  .sidebar-foot{display:none!important}

  main{width:100%;min-width:0}
  .topbar{min-height:0;padding:17px 18px;gap:14px;align-items:center}
  .topbar h1{font-size:21px;line-height:1.2}
  .topbar p{max-width:54ch;line-height:1.35}
  .topbar-right{min-width:0;align-items:flex-end;gap:7px}
  .refresh-meta{font-size:11px;white-space:normal;text-align:right}
  .actions{flex-wrap:wrap;justify-content:flex-end}
  button.primary,button.secondary,button.danger,button.mini{min-height:42px}

  #content{padding:18px}
  .notice{margin:14px 18px 0}
  .loading{padding:46px 18px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
  .card{padding:15px}
  .card .value{font-size:26px}
  .panel{margin-bottom:16px}
  .panel-head{padding:14px 15px;align-items:flex-start;flex-wrap:wrap}
  .panel-head>div{min-width:0;flex:1 1 220px}
  .panel-head h2,.panel-head p{overflow-wrap:anywhere}
  .panel-body{padding:15px}

  .filters,.toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:9px}
  .filters{padding:12px 15px}
  .toolbar input,.toolbar select,.filters input,.filters select{width:100%;min-width:0;min-height:44px}
  #dispatchInstanceSelect{width:100%!important;min-width:0!important;max-width:100%!important}
  .filters .search{grid-column:1/-1;min-width:0}
  .filters label.check{min-height:44px;padding:8px 0}
  .filters.compact-filterbar .hint,.compact-filterbar .hint{grid-column:1/-1;width:100%;margin-left:0}

  .instance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px}
  .instance-card{min-width:0}
  .instance-card header>div{min-width:0}
  .instance-card header strong,.instance-card header small,.instance-card dd{overflow-wrap:anywhere}
  .instance-card footer{flex-wrap:wrap}
  .split{grid-template-columns:1fr}
  .list-item{min-width:0}
  .list-item>div{min-width:0;overflow-wrap:anywhere}

  .readonly-grid,.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .drawer-modal{width:min(720px,100vw);max-width:100vw}
  .drawer-head,.drawer-body,.drawer-footer{padding-left:18px;padding-right:18px}
  .modal-actions{flex-wrap:wrap}
  .toast{right:14px;bottom:max(14px,env(safe-area-inset-bottom));left:14px;text-align:center}
}

@media(max-width:640px){
  .sidebar{min-height:62px}
  .sidebar nav{grid-template-columns:1fr 1fr}
  .topbar{display:block;padding:15px 16px}
  .topbar-right{align-items:stretch;margin-top:13px}
  .refresh-meta{text-align:left}
  .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .actions>button{width:100%;min-width:0}

  #content{padding:14px}
  .notice{margin:12px 14px 0}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .card{padding:13px;min-width:0}
  .card .label{font-size:10px;line-height:1.25}
  .card .value{font-size:24px}
  .card .hint{font-size:11px;overflow-wrap:anywhere}
  .panel{border-radius:10px}
  .panel-head{padding:13px 14px}
  .panel-head>button{width:100%}
  .panel-body{padding:14px}

  .filters,.toolbar{grid-template-columns:1fr}
  .filters .search,.filters.compact-filterbar .hint,.compact-filterbar .hint{grid-column:auto}
  .filters .hint{width:100%}
  .toolbar>button,.filters>button{width:100%}

  .instance-grid{grid-template-columns:1fr;padding:12px}
  .instance-card{padding:14px}
  .instance-card dl{grid-template-columns:minmax(90px,auto) 1fr}
  .instance-card footer .icon-btn{min-width:44px;height:44px}
  .list-item{flex-direction:column;align-items:flex-start}
  .action-list small{display:block;margin:5px 0 0}

  /* Turn data tables into readable cards without removing any field or action. */
  .table-wrap{overflow:visible;scrollbar-gutter:auto}
  .responsive-table,.compact-data.responsive-table{display:block;width:100%;min-width:0!important;table-layout:auto}
  .responsive-table thead{display:none}
  .responsive-table tbody{display:grid;gap:10px;padding:12px}
  .responsive-table tr{display:block;width:100%;min-width:0;padding:4px 12px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 1px 3px rgba(7,61,80,.035)}
  .responsive-table td,.responsive-table.compact-data td{display:grid;grid-template-columns:minmax(86px,34%) minmax(0,1fr);gap:10px;align-items:start;width:100%;min-width:0;padding:10px 0;border-bottom:1px solid #edf0f3;white-space:normal;text-align:left;line-height:1.35;overflow-wrap:anywhere}
  .responsive-table td:last-child{border-bottom:0}
  .responsive-table td:before{content:attr(data-label);display:block;color:#75858d;font-size:9px;font-weight:750;line-height:1.25;text-transform:uppercase;letter-spacing:.045em;padding-top:2px}
  .responsive-table td[colspan]{display:block;padding:22px 8px;text-align:center}
  .responsive-table td[colspan]:before{display:none}
  .responsive-table .number-cell{text-align:left}
  .responsive-table .code-value,.responsive-table code{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
  .responsive-table .action-buttons,.responsive-table .compact-actions{justify-content:flex-end;flex-wrap:wrap;white-space:normal}
  .responsive-table .icon-btn,.action-buttons .icon-btn,.compact-actions .icon-btn{min-width:44px;height:44px;padding:0 11px}
  .licenses-compact-table th,.usage-compact-table th,.errors-compact-table th{width:auto!important}

  .modal-backdrop{place-items:end center;padding:0}
  .modal:not(.drawer-modal){width:100%;max-width:100%;max-height:92dvh;border-radius:18px 18px 0 0;padding:18px 16px max(18px,env(safe-area-inset-bottom))}
  .modal-head{gap:12px}
  .modal h2{font-size:18px}
  .grid2,.readonly-grid,.form-grid.two{grid-template-columns:1fr}
  .modal-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  .modal-actions>button{width:100%;min-height:44px}

  .drawer-backdrop{place-items:stretch;padding:0}
  .drawer-modal{height:100dvh;width:100vw!important;max-width:100vw;max-height:100dvh;border-radius:0}
  .drawer-head{padding:calc(15px + env(safe-area-inset-top)) 15px 4px}
  .drawer-body{padding:15px;overscroll-behavior:contain}
  .drawer-footer{padding:12px 15px max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr}
  .drawer-footer>button{width:100%;min-height:44px}
  .license-key-detail{display:grid;grid-template-columns:1fr}
  .license-key-detail code{min-width:0;width:100%}
  .sample pre,.sample code{font-size:10px}
  .metricline{gap:12px}.metricline>*{min-width:0;overflow-wrap:anywhere}
}

@media(max-width:420px){
  .sidebar nav{grid-template-columns:1fr}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card .value{font-size:22px}
  .actions{grid-template-columns:1fr}
  .modal-actions,.drawer-footer{grid-template-columns:1fr}
  .responsive-table td,.responsive-table.compact-data td{grid-template-columns:1fr;gap:4px}
  .responsive-table td:before{padding-top:0}
  .responsive-table .action-buttons,.responsive-table .compact-actions{justify-content:flex-start}
}

@media(max-width:340px){
  .cards{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .shell{transition:none}
  *{scroll-behavior:auto!important}
}
