/* Shared visual vocabulary. System fonts avoid third-party font requests. */
:root{
  --font-body:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --font-heading:var(--font-body);
  --asr-space-1:4px;--asr-space-2:8px;--asr-space-3:12px;--asr-space-4:16px;
  --asr-space-5:20px;--asr-space-6:24px;--asr-space-8:32px;
  --asr-text-xs:.75rem;--asr-text-sm:.875rem;--asr-text-base:1rem;
  --asr-page-padding:clamp(16px,2vw,28px);--asr-control-height:44px;
  --asr-radius:8px;--asr-line-height:1.55;
}
body{font-family:var(--font-body);font-size:var(--asr-text-base);line-height:var(--asr-line-height);-webkit-text-size-adjust:100%}
body h1,body h2,body h3,body h4,body h5,body h6{font-family:var(--font-heading);line-height:1.25;overflow-wrap:anywhere}
body button,body input,body select,body textarea{font-family:var(--font-body)}
body input:not([type=checkbox]):not([type=radio]),body select,body textarea{max-width:100%;box-sizing:border-box}
body textarea{line-height:1.5}
body .btn,body button[type=submit]{min-height:var(--asr-control-height)}
body :where(a,button,input,select,textarea):focus-visible{outline:3px solid #2563eb;outline-offset:3px}
body p{line-height:var(--asr-line-height)}
.asr-form-feedback{margin:12px 0 0;line-height:1.55;font-size:.875rem;font-family:var(--font-body);overflow-wrap:anywhere}
.asr-newsletter{flex-wrap:wrap}
.asr-newsletter>.error-message{flex-basis:100%;min-width:0;overflow-wrap:anywhere}
body .asr-error{color:#b91c1c!important;font-family:var(--font-body);font-size:.875rem!important;font-weight:400;line-height:1.55}
body table{font-size:var(--asr-text-sm);font-variant-numeric:tabular-nums}
.asr-browse-search{display:flex;gap:var(--asr-space-3);margin:0 0 var(--asr-space-6);max-width:100%}
.asr-browse-search input[type=search]{flex:1;min-width:0;min-height:var(--asr-control-height);border:1px solid #d4d4d8;border-radius:var(--asr-radius);padding:var(--asr-space-3) var(--asr-space-4);background:#fff}
.asr-browse-search button{flex:none}
.contributor-panel .bulkUpload-workspace,.contributor-panel .stats-main,.contributor-panel .dashboard-main{padding:var(--asr-page-padding);min-width:0}
.contributor-panel .bulkUpload-workspace>.contributor-topbar,.contributor-panel .stats-main>.contributor-topbar,.contributor-panel .dashboard-main>.contributor-topbar{margin:calc(-1 * var(--asr-page-padding)) calc(-1 * var(--asr-page-padding)) var(--asr-space-6)}
.contributor-panel .contributorFiles-wrap{padding:0;background:transparent}
.contributor-panel .contributorFiles-head,.contributor-panel .stats-title,.contributor-panel .dashboard-title{margin-bottom:var(--asr-space-6)}
.contributor-panel .contributorFiles-head h3,.contributor-panel .stats-title h1,.contributor-panel .dashboard-title h1{font-size:clamp(24px,2.4vw,32px);font-weight:700;letter-spacing:-.02em;line-height:1.25}
.contributor-panel .stats-card-head h2,.contributor-panel .dashboard-section-head h2{font-size:clamp(18px,1.6vw,22px);font-weight:650;line-height:1.3}
.contributor-panel .dashboard-hero h1{font-size:clamp(24px,2.4vw,34px);font-weight:700;line-height:1.25}
.contributor-panel .contributor-nav a,.contributor-panel .contributor-action,.contributor-panel .contributor-user-copy strong{font-weight:600}
.contributor-panel .stats-metric span,.contributor-panel .performance-card span,.contributor-panel .dashboard-hero-panel span{font-weight:500}
.contributor-panel .stats-metric strong,.contributor-panel .performance-card strong,.contributor-panel .dashboard-hero-panel strong{font-weight:700}
.contributor-panel .stats-card,.contributor-panel .dash-panel,.contributor-panel .dashboard-guide{border-radius:var(--asr-radius);padding:var(--asr-space-6)}
.contributor-panel .stats-tabs{flex-wrap:wrap}
.contributor-panel .stats-filter{gap:var(--asr-space-3)}
.contributor-panel .stats-filter>div{min-width:0}
.contributor-panel .stats-date-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.contributor-panel .mini-row>div,.contributor-panel .performance-card{min-width:0}
.contributor-panel .mini-row strong,.contributor-panel .dashboard-guide li span{overflow-wrap:anywhere}
@media(max-width:991px){
  .contributor-panel .contributor-sidebar-card{min-height:0}
  .contributor-panel .stats-card,.contributor-panel .dash-panel,.contributor-panel .dashboard-guide{padding:var(--asr-space-4)}
}
@media(prefers-reduced-motion:reduce){.bulkUpload-layout,.stats-shell,.contributor-dashboard{transition:none}}
/* Long account menus remain reachable on short/mobile viewports. */
.asr-user-dropdown { max-height: calc(100dvh - 90px); overflow-y: auto; overscroll-behavior: contain; }

.asr-admin-menu-close{display:none}
.asr-admin-panel [data-admin-menu-toggle]{width:44px!important;height:44px!important;flex-shrink:0}
.asr-admin-panel .asr-admin-asset-title{max-width:320px;white-space:normal!important;overflow-wrap:anywhere}
.contributor-mobile-menu{display:none}
.contributor-panel .contributor-avatar-menu .contributor-menu-card{display:none}
.contributor-panel .contributor-avatar-menu.is-open .contributor-menu-card{display:block;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
.contributor-panel .contributor-avatar-button,.contributor-panel .contributor-top-icon,.contributor-panel .contributor-action{min-height:44px}
.contributor-panel .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.contributor-panel .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{background:var(--contributor-accent,#2563eb)!important;color:var(--contributor-on-accent,#fff)!important;border-color:var(--contributor-accent,#2563eb)!important}
.asr-delete-dialog{font-family:var(--font-body);border-radius:8px;padding:24px}
.asr-delete-dialog .swal2-title{font-size:24px;line-height:1.3;color:#111827;margin:0}
.asr-delete-dialog .swal2-actions{gap:8px;margin:24px auto 0}
.asr-delete-dialog .swal2-styled{font-size:14px;min-height:44px;min-width:44px;border-radius:8px;margin:0;padding:8px 16px}
.asr-delete-dialog .swal2-validation-message{font-size:14px;line-height:1.5;color:#b42318;background:#fff5f5}
.contributor-panel .contributor-top-icon{width:44px;flex-shrink:0}
.contributor-panel .contributor-topbar-right,.contributor-panel .contributor-avatar-menu,.contributor-panel .contributor-user-copy{min-width:0}
.contributor-panel .contributor-user-copy strong{overflow-wrap:anywhere;white-space:normal}
.contributor-panel .contributor-profile .profile-card{padding:var(--asr-page-padding)}
.contributor-panel .profile-head>div,.contributor-panel .info-box{min-width:0;overflow-wrap:anywhere}
.contributor-panel .profile-head img,.contributor-panel .profile-avatar{flex-shrink:0}
.contributor-panel .profile-head h1{font-weight:700;font-size:clamp(24px,2.4vw,32px)}
.contributor-panel .profile-note{overflow-wrap:anywhere}
.contributor-panel .profile-form label{display:block;margin-bottom:8px;font-weight:600}
.contributor-panel .dashboard-section-head{flex-wrap:wrap;gap:12px}
.contributor-panel .dashboard-section-head>a{display:inline-flex;align-items:center;min-height:44px}
.contributor-panel :is(.bulkUpload-layout,.stats-shell,.contributor-dashboard,.bulkUpload-workspace,.stats-main,.dashboard-main,.contributor-topbar,.contributor-topbar-actions,.contributor-topbar-right,.contributor-avatar-button){transition:none}
.asr-admin-panel .zMainContent{transition:none}
@media(max-width:1023px){
  .asr-admin-panel .zSidebar{left:0!important;right:auto!important;transform:translateX(-100%);visibility:hidden;pointer-events:none;transition:transform .18s ease}
  .asr-admin-panel.direction-rtl .zSidebar{left:auto!important;right:0!important;transform:translateX(100%)}
  .asr-admin-panel .zSidebar.menuClose{transform:translateX(0);visibility:visible;pointer-events:auto}
  .asr-admin-panel .zSidebar *{transition:none}
  .asr-admin-panel .zSidebar:not(.menuClose) *::before,
  .asr-admin-panel .zSidebar:not(.menuClose) *::after{display:none!important}
  .asr-admin-panel .zSidebar-wrap{position:relative;background:var(--sidebar-bg);z-index:3}
  .asr-admin-panel .zSidebar-overlay{width:calc(100vw - 250px)!important;left:250px;right:auto;z-index:2}
  .asr-admin-panel.direction-rtl .zSidebar-overlay{left:auto;right:250px}
  .asr-admin-panel .zMainContent{left:0!important;right:auto!important;width:100%!important;min-width:0}
  .asr-admin-menu-open{overflow:hidden}
  .asr-admin-panel .asr-admin-menu-close{display:grid;place-items:center;position:absolute;inset-inline-end:8px;top:8px;width:44px;height:44px;border:1px solid var(--stroke);border-radius:8px;color:var(--title-color,#111827);background:var(--sidebar-bg);z-index:4}
}
@media(max-width:991px){
  .contributor-panel .bulkUpload-leftNav{height:auto;position:static;max-height:none;overflow:visible}
  .contributor-panel .contributor-sidebar-card{height:auto!important;min-height:0;padding:8px 16px}
  .contributor-panel .contributor-mobile-menu{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-weight:600;list-style:none}
  .contributor-mobile-menu::-webkit-details-marker{display:none}
  .contributor-panel .contributor-mobile-menu:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
  .contributor-panel details:not([open])>:not(summary){display:none}
  .contributor-panel .contributor-sidebar-footer{margin-top:16px}
  .contributor-panel .contributor-topbar{flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px 16px;gap:12px}
  .contributor-panel .contributor-topbar-actions{width:auto;min-width:0;flex:1 1 120px}
  .contributor-panel .contributor-topbar-right{width:auto;justify-content:flex-end;flex:0 0 auto}
  .contributor-panel .contributor-avatar-menu{position:static}
  .contributor-panel .contributor-menu-card{left:16px;right:16px;top:100%;width:auto;min-width:0}
  .contributor-panel .contributor-topbar{position:relative}
  .contributor-panel .contributor-user-copy{display:none}
  .contributor-panel .contributor-avatar-button{width:44px;justify-content:center;gap:0}
  .contributor-panel .contributor-avatar-button>i{display:none}
  .contributor-panel .contributor-profile .profile-head{align-items:flex-start;gap:12px}
  .contributor-panel .contributor-profile .profile-head img,.contributor-panel .contributor-profile .profile-avatar{width:56px;height:56px;font-size:24px}
}
@media(prefers-reduced-motion:reduce){.asr-admin-panel .zSidebar{transition:none}}
