/* MotoUnity R2.8.5 — UX & Design System
   Additive presentation layer. No business logic or data-model changes. */
:root{
  --mu-focus:#e56b2f;
  --mu-radius-sm:10px;
  --mu-radius-md:14px;
  --mu-radius-lg:20px;
  --mu-radius-xl:24px;
  --mu-touch:44px;
  --mu-shadow-1:0 4px 18px rgba(23,34,49,.045);
  --mu-shadow-2:0 12px 32px rgba(23,34,49,.085);
  --mu-transition:160ms ease;
}

/* Accessibility foundation */
.skip-link{position:fixed;left:14px;top:10px;z-index:9999;transform:translateY(-140%);padding:10px 14px;border-radius:10px;background:#181f27;color:#fff;font-weight:800;font-size:13px;box-shadow:0 10px 30px rgba(0,0,0,.22);transition:transform var(--mu-transition)}
.skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--mu-focus) 34%,transparent);outline-offset:3px}
:where(button,.btn,.tiny-btn,.action-btn,.sidebar-link,.mobile-app-nav>a,.topbar-action){min-height:var(--mu-touch)}
[aria-disabled="true"],button:disabled,.btn:disabled{opacity:.58;cursor:not-allowed;pointer-events:none}
[hidden]{display:none!important}

/* Better readable rhythm across every signed-in module */
.auth-ui .ms-page{line-height:1.55}
.auth-ui .ms-page :where(h1,h2,h3){text-wrap:balance}
.auth-ui .ms-page :where(p,.muted,small){text-wrap:pretty}
.auth-ui .ms-page :where(.panel,.card,.post,.listing,.bike-card,.admin-card){transition:border-color var(--mu-transition),box-shadow var(--mu-transition),transform var(--mu-transition)}
.auth-ui .ms-page :where(.panel,.card,.post,.listing,.bike-card){border-radius:var(--mu-radius-lg)}
.auth-ui .ms-page :where(.panel,.card) :where(p,ul,ol){max-width:78ch}

/* Consistent section headings/actions */
.auth-ui .ms-page .section-head{gap:16px}
.auth-ui .ms-page .section-head>div:first-child{min-width:0}
.auth-ui .ms-page .section-head .actions{margin-left:auto;justify-content:flex-end}
.auth-ui .ms-page .section-head :where(.btn,.tiny-btn){white-space:nowrap}
.auth-ui .ms-page>.section-head:first-child{box-shadow:var(--mu-shadow-1)}

/* Sidebar information architecture */
.sidebar-scroll{padding-bottom:14px}
.sidebar-nav-group{display:grid;gap:4px;margin:0 0 14px}
.sidebar-group-title{padding:5px 12px 3px;color:#929aa2;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.sidebar-nav-group .sidebar-link{min-height:42px}
.sidebar-link{position:relative}
.sidebar-link.active:before{content:"";position:absolute;left:2px;top:9px;bottom:9px;width:3px;border-radius:99px;background:#e56426}
.sidebar-link.active{font-weight:800}
.sidebar-shortcuts{margin-top:8px}

/* Top bar: clearer search and controls */
.auth-ui .topbar{border-bottom-color:#e7eaed;box-shadow:0 1px 0 rgba(23,34,49,.02)}
.auth-ui .top-search{transition:box-shadow var(--mu-transition),border-color var(--mu-transition),background var(--mu-transition)}
.auth-ui .top-search:focus-within{background:#fff;border-color:#d8dde2;box-shadow:0 0 0 4px rgba(229,107,47,.08)}
.auth-ui .topbar-action,.auth-ui .nav-toggle{transition:background var(--mu-transition),color var(--mu-transition),border-color var(--mu-transition)}

/* Forms: unified control sizes and validation-friendly spacing */
.auth-ui .ms-page .form label{line-height:1.35}
.auth-ui .ms-page :where(input,select,textarea)::placeholder{color:#9aa2aa;opacity:1}
.auth-ui .ms-page :where(input,select,textarea):disabled{background:#f1f3f4!important;color:#8a929a!important}
.auth-ui .ms-page .form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:18px}
.auth-ui .ms-page .form-actions .btn:first-child{min-width:130px}
.auth-ui .ms-page .check{min-height:36px}
.auth-ui .ms-page input[type="checkbox"],.auth-ui .ms-page input[type="radio"]{accent-color:var(--page-accent,#e56426)}

/* Data tables: easier management */
.auth-ui .ms-page .table-wrap,.admin-ui .table-wrap{position:relative;scrollbar-gutter:stable}
.auth-ui .ms-page .table-wrap table thead th,.admin-ui .table-wrap table thead th{position:sticky;top:0;z-index:2}
.auth-ui .ms-page tbody tr,.admin-ui tbody tr{transition:background var(--mu-transition)}
.auth-ui .ms-page td :where(.btn,.tiny-btn),.admin-ui td :where(.btn,.tiny-btn){white-space:nowrap}

/* Empty states become actionable and calm */
.auth-ui .ms-page :where(.empty,.empty-state){max-width:none}
.auth-ui .ms-page .empty{min-height:180px}
.auth-ui .ms-page .empty :where(h2,h3){margin:10px 0 6px;color:#303840}
.auth-ui .ms-page .empty p{max-width:560px;margin:0 auto;color:#7b848d;line-height:1.65}
.auth-ui .ms-page .empty .actions{justify-content:center;margin-top:16px}

/* Messages and notification lists */
.auth-ui .ms-page .conversation-row,.auth-ui .ms-page .notification{min-height:64px}
.auth-ui .ms-page .conversation-row:focus-visible,.auth-ui .ms-page .result-card:focus-visible{border-color:var(--page-accent-line);box-shadow:0 0 0 4px color-mix(in srgb,var(--page-accent) 9%,transparent)}
.auth-ui .ms-page .message-list{scrollbar-gutter:stable}

/* Marketplace / business / community cards */
.auth-ui .ms-page :where(.listing,.business-card,.club-pro-card,.event-card,.help-card){overflow:hidden}
.auth-ui .ms-page :where(.listing,.business-card,.club-pro-card,.event-card,.help-card):hover{box-shadow:var(--mu-shadow-2)}

/* Status and feedback consistency */
.flash{position:relative}
.auth-ui .flash{box-shadow:var(--mu-shadow-1)}
.auth-ui .flash.success{color:#246740}
.auth-ui .flash.error{color:#8d3e3e}
.site-notice{border-radius:12px}

/* Admin: clearer curation workspace */
.admin-ui .admin-nav-link{min-height:42px}
.admin-ui .admin-card{box-shadow:var(--mu-shadow-1)}
.admin-ui .admin-card:focus-within{border-color:#d9dde2;box-shadow:var(--mu-shadow-2)}
.admin-ui .admin-section-head{gap:14px}
.admin-ui .admin-section-head>div:first-child{min-width:0}
.admin-ui .admin-table th{position:sticky;top:0;z-index:2;background:#f8f9fa}

/* Mobile ergonomics and safe areas */
@media(max-width:1050px){
  body.sidebar-open{overflow:hidden;touch-action:none}
  .sidebar.open{overscroll-behavior:contain}
  .sidebar-nav-group{margin-bottom:11px}
  .sidebar-group-title{padding-left:11px}
}
@media(max-width:680px){
  .auth-ui .app-content>.shell{width:min(100% - 16px,1210px);padding-top:18px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .auth-ui .footer{padding-bottom:calc(98px + env(safe-area-inset-bottom))}
  .mobile-app-nav{bottom:max(8px,env(safe-area-inset-bottom));left:7px;right:7px}
  .mobile-app-nav>a{min-height:50px;height:50px}
  .auth-ui .ms-page>.section-head:first-child,.auth-ui .ms-page>.hero:first-child{margin-bottom:15px}
  .auth-ui .ms-page .section-head .actions{width:100%;margin-left:0;justify-content:flex-start}
  .auth-ui .ms-page .section-head .actions :where(.btn,.tiny-btn){flex:1 1 auto}
  .auth-ui .ms-page .form-actions{align-items:stretch;flex-direction:column}
  .auth-ui .ms-page .form-actions :where(.btn,.tiny-btn){width:100%}
  .auth-ui .ms-page .table-wrap{margin-left:-2px;margin-right:-2px}
  .auth-ui .ms-page .message-bubble{max-width:86%}
  .auth-ui .ms-page .post-actions,.auth-ui .ms-page .social-actions{gap:2px}
}
@media(max-width:420px){
  .mobile-app-nav>a span{font-size:7.5px}
  .auth-ui .ms-page .panel,.auth-ui .ms-page .card{padding:15px}
  .auth-ui .ms-page .section-head h1{font-size:27px}
  .auth-ui .ms-page .profile-stats{gap:7px}
}

/* Motion preferences */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Higher contrast preference */
@media(prefers-contrast:more){
  .auth-ui .ms-page :where(.panel,.card,.post,.listing,.bike-card),.auth-ui .topbar,.auth-ui .sidebar{border-color:#cbd1d6!important}
  .muted{color:#5f6871!important}
}

/* Printing: legal/invoice friendly, hide app chrome */
@media print{
  .sidebar,.sidebar-backdrop,.topbar,.mobile-app-nav,.footer,.skip-link{display:none!important}
  .app-content{margin:0!important}
  .shell{width:100%!important;max-width:none!important;padding:0!important}
  body{background:#fff!important;color:#000!important}
}
