/* Small accessibility and responsive overrides for the praise dashboard.
   Loaded after the shared Blake theme; order and fulfillment logic stay in app.js. */
.blake-panel .shell{width:100%;min-width:0}
.blake-panel .topbar{height:auto;min-height:68px;gap:12px;flex-wrap:wrap}
.blake-panel :is(.brand,.top-actions,.account,.layout,.content,.card,.stats,.stat,.admin-grid,.table,.table-head,.row){min-width:0}
.blake-panel .top-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.blake-panel .store-return{display:inline-flex;align-items:center;min-height:44px;line-height:1.35}
.blake-panel .sidebar{scroll-padding-inline:10px}
.blake-panel .nav{min-height:44px;color:#c2d3e5;font-weight:700}
.blake-panel .nav[aria-current="page"]{box-shadow:inset 3px 0 0 var(--cyan);color:#fff}
.blake-panel :is(a,button,input,select,textarea):focus-visible{outline:3px solid #8bd6ff;outline-offset:3px}
.blake-panel .sidebar .nav:focus-visible{outline-offset:-3px}
.blake-panel :is(.row strong,.row small,.details strong,.message,.user-cell){overflow-wrap:anywhere}
.blake-panel .row>div,.blake-panel .user-cell,.blake-panel .admin-grid>article,.blake-panel :is(.analytics-grid,.provider-grid)>*{min-width:0}
.blake-panel .table-head{flex-wrap:wrap}
.blake-panel .table-head :is(input,select){min-width:0;max-width:100%}
.blake-panel :is(.user-row,.collapse-button,.send-button):focus-visible{outline:3px solid #8bd6ff;outline-offset:3px}
.blake-panel .admin-section .table:focus-within{border-radius:10px}
.blake-panel .admin-section .row:focus-within{background:#173455}
.blake-panel :is(.home-order input,.order-page-panel input){min-width:0;max-width:100%}
.blake-panel .order-steps{flex-wrap:wrap;overflow-wrap:anywhere}
.blake-panel .message:not(:empty){padding:10px 12px;border:1px solid #42627d;border-radius:10px;background:#142439;line-height:1.5}
.blake-panel .message.success:not(:empty){color:#a1f3cc;border-color:#357b61;background:#10372c}
.blake-panel .message.error:not(:empty){color:#ffd6df;border-color:#aa5269;background:#381c2a}
.blake-panel button:disabled:hover{filter:none;transform:none}
@media(max-width:850px){
  .blake-panel .sidebar{padding:10px;gap:4px}
  .blake-panel .sidebar .nav{flex:none}
}
@media(max-width:560px){
  .blake-panel .shell{padding:12px}
  .blake-panel .topbar{align-items:flex-start;margin-bottom:18px}
  .blake-panel .top-actions{width:100%;justify-content:space-between}
  .blake-panel #account{min-width:0;overflow-wrap:anywhere}
  .blake-panel .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .blake-panel .stat{padding:14px;min-height:120px}
  .blake-panel .stat strong{font-size:clamp(20px,6vw,28px);overflow-wrap:anywhere}
  .blake-panel .profile{flex-wrap:wrap}
  .blake-panel .row{align-items:flex-start;flex-wrap:wrap;gap:8px}
  .blake-panel .table-head :is(input,select){flex:1 1 100%;max-width:none}
  .blake-panel .login-card{margin:24px auto;padding:22px}
}
@media(max-width:355px){
  .blake-panel .stats{grid-template-columns:minmax(0,1fr)}
  .blake-panel .commend-options{grid-template-columns:minmax(0,1fr)}
  .blake-panel .order-heading{flex-wrap:wrap}
}
/* The home panel injects ambient animations after stylesheets load. Respect
   user motion preferences even when those inline styles are added later. */
@media(prefers-reduced-motion:reduce){
  .blake-panel *, .blake-panel *::before, .blake-panel *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .blake-panel .home-order::before, .blake-panel .home-order::after, .blake-panel .order-hero{animation:none!important}
}
@media(forced-colors:active){
  .blake-panel .nav[aria-current="page"]{outline:1px solid Highlight;outline-offset:-1px}
  .blake-panel :is(.user-row,.collapse-button,.send-button):focus-visible{outline-color:Highlight}
  .blake-panel .message:not(:empty){border-color:CanvasText;background:Canvas;color:CanvasText}
}
