/* Shared dashboard layout: scoped to the three internal portals. */
:is(.portal-admin,.portal-employee,.portal-partner) .btn {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:10px 16px;line-height:1.25;font-size:14px;
  text-align:center;white-space:normal;vertical-align:middle;flex-shrink:0;
}
:is(.portal-admin,.portal-employee,.portal-partner) :is(.input,.filter-search,.quick-verify-input,.recent-search-input):not(textarea):not([type=checkbox]):not([type=radio]) {
  min-height:44px;height:44px;padding:10px 12px;min-width:0;box-sizing:border-box;
}
:is(.portal-admin,.portal-employee,.portal-partner) :is(.topbar-actions,.panel-actions,.action-row,.actions,.hero-actions,.recent-search-actions,.stock-subpage-actions) {
  align-items:center;gap:12px;flex-wrap:wrap;min-width:0;
}
:is(.portal-admin,.portal-employee,.portal-partner) .panel-head {
  align-items:flex-start;flex-wrap:wrap;gap:16px;
}
:is(.portal-admin,.portal-employee,.portal-partner) .panel-head>div:first-child {
  flex:1 1 220px;min-width:0;
}
:is(.portal-admin,.portal-employee) :is(.main,.view) {align-content:start;min-width:0;}
:is(.portal-admin,.portal-employee) .topbar {align-items:flex-start;gap:16px;}
:is(.portal-admin,.portal-employee) .mobile-nav-toggle {display:none;}
.portal-employee .main {grid-template-rows:auto;grid-auto-rows:max-content;}
.portal-employee .view {align-items:start;}
.portal-employee .grid-two {align-items:start;}
.portal-employee .sidebar-nav {align-content:start;gap:10px;}
.portal-employee .nav-btn {display:flex;align-items:center;width:100%;min-height:44px;line-height:1.3;text-align:left;}
.portal-employee .sidebar-foot .btn {width:100%;}
.portal-employee .panel-actions {display:flex;justify-content:flex-end;}
.portal-employee .panel-actions .input {flex:1 1 260px;width:auto;min-width:0;}
.portal-employee #view-warranties .panel-head>div:first-child {flex:1 1 220px;min-width:0;}
.portal-employee #view-warranties .panel-actions {
  display:grid;grid-template-columns:minmax(160px,1fr) auto auto;
  flex:1 1 540px;width:auto;gap:12px;align-items:center;
}
.portal-employee #view-warranties .panel-head h3 {white-space:normal;line-height:1.3;}
.portal-employee #view-redemptions .panel-actions {
  display:grid;grid-template-columns:minmax(160px,1fr) auto;
  flex:1 1 420px;width:auto;
}
.portal-employee .filter-row {margin-bottom:16px;align-items:center;gap:12px;}
.portal-employee .table-wrap {width:100%;max-width:100%;overflow:auto;}
.portal-admin .nav-item {justify-content:flex-start;min-height:44px;text-align:left;line-height:1.3;}
.portal-admin .nav-ico {flex:0 0 26px;}
.portal-admin .nav-item>span:nth-child(2) {flex:1;min-width:0;}
.portal-admin .row {align-items:center;gap:12px;flex-wrap:wrap;}
.portal-admin .row>.input {flex:1 1 220px;min-width:0;}
.portal-admin .panel-actions {justify-content:flex-end;}
.portal-admin #view-warranties .btn {min-height:44px;}
.portal-admin .employee-feature-access-copy {min-width:0;}
.portal-admin .employee-feature-access-toggle {flex-shrink:0;}
:is(.portal-admin,.portal-employee) .stock-intel-head {flex-wrap:wrap;gap:16px;}
:is(.portal-admin,.portal-employee) .stock-intel-tools {align-items:center;min-width:0;gap:12px;}
:is(.portal-admin,.portal-employee) .stock-intel-summary {grid-template-columns:repeat(auto-fit,minmax(140px,1fr));}
:is(.portal-admin,.portal-employee) .stock-intel-layout {grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
:is(.portal-admin,.portal-employee) .stock-action-grid {grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;}
:is(.portal-admin,.portal-employee) .stock-action-card {min-height:120px;height:100%;}
:is(.portal-admin,.portal-employee) .stock-chart-body {grid-template-columns:140px minmax(0,1fr);}
:is(.portal-admin,.portal-employee) .stock-pie {max-width:100%;width:140px;}
.portal-partner .hero {align-items:flex-start;}
.portal-partner .hero-copy {min-width:0;}
.portal-partner .hero-actions {align-content:start;}
.portal-partner .dashboard-shell {align-content:start;}
.portal-partner .action-grid {align-items:stretch;}
.portal-partner .action-tile {height:100%;text-align:left;}
.portal-partner :is(.quick-verify-form,.recent-search-form) {align-items:center;gap:12px;min-width:0;}
.portal-partner :is(.quick-verify-input,.recent-search-input) {min-width:0;width:100%;}
.portal-partner .table-wrap {max-width:100%;overflow:auto;}
@media(max-width:1180px) {
  :is(.portal-admin,.portal-employee) .stock-intel-layout {grid-template-columns:minmax(0,1fr);}
  :is(.portal-admin,.portal-employee) .stock-intel-right {grid-row:1;}
}
@media(max-width:1100px) {
  :is(.portal-admin,.portal-employee) .mobile-nav-toggle {display:inline-flex;}
}
@media(max-width:900px) {
  .portal-partner .hero {display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:18px;}
  .portal-partner .profile-shortcut-wrap {position:relative;inset:auto;margin:0;}
  .portal-partner .hero-copy {padding:0;width:auto;}
  .portal-partner .hero-actions {
    position:relative;inset:auto;grid-column:1/-1;display:flex !important;
    width:100% !important;justify-content:flex-start;gap:12px;
  }
  .portal-partner .hero-actions .btn {flex:1;min-width:0;height:44px;font-size:14px;padding:10px 16px;}
  .portal-partner .dashboard-shell {margin-top:16px;gap:16px;}
  .portal-partner .kpi-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px;}
  .portal-partner .kpi-card {aspect-ratio:auto;min-height:130px;padding:16px;text-align:left;justify-content:flex-start;}
  .portal-partner .kpi-label {font-size:14px;line-height:1.3;word-break:normal;overflow-wrap:normal;}
  .portal-partner .kpi-value {margin-top:10px;font-size:28px;line-height:1.1;}
  .portal-partner .kpi-meta {margin-top:8px;font-size:12px;line-height:1.4;text-align:left;word-break:normal;overflow-wrap:normal;}
}
@media(max-width:720px) {
  :is(.portal-admin,.portal-employee,.portal-partner) .panel-head {flex-direction:column;align-items:stretch;}
  :is(.portal-admin,.portal-employee,.portal-partner) .panel-head>div:first-child {flex:0 1 auto;width:100%;}
  :is(.portal-admin,.portal-employee,.portal-partner) .panel-actions {width:100%;justify-content:flex-start;}
  .portal-employee #view-warranties .panel-head>div:first-child {flex:0 1 auto;}
  .portal-employee #view-warranties .panel-actions {flex:0 1 auto;grid-template-columns:1fr 1fr;width:100%;}
  .portal-employee #employeeWarrantySearch {grid-column:1/-1;width:100%;}
  .portal-employee #view-redemptions .panel-actions {flex:0 1 auto;grid-template-columns:minmax(0,1fr) auto;width:100%;}
  .portal-employee .filter-row .filter-search {flex-basis:100%;width:100%;}
  :is(.portal-admin,.portal-employee) .stock-action-grid {grid-template-columns:minmax(0,1fr);}
  :is(.portal-admin,.portal-employee) .stock-chart-body {grid-template-columns:minmax(0,1fr);}
  :is(.portal-admin,.portal-employee) .stock-intel-tools {width:100%;}
  :is(.portal-admin,.portal-employee) .stock-intel-tools .input {flex:1;width:100%;}
  .portal-partner .hero-actions {width:100%;justify-content:flex-start;}
  .portal-partner .recent-search-actions {display:flex;width:100%;}
  .portal-partner .recent-search-actions .btn {flex:1;}
}
