/* Shared layout refinements. Existing module colors and data semantics remain. */
.ux-disclosure { border:1px solid #d4e1f2; border-radius:16px; background:#fff; margin:0 0 18px; min-width:0 }
.ux-disclosure>summary { padding:14px 18px; cursor:pointer; color:#153e70; font-weight:750; min-height:48px; box-sizing:border-box }
.ux-disclosure>summary small { display:block; font-weight:400; color:#526780; font-size:13px; margin:5px 0 0; overflow-wrap:anywhere }
.ux-disclosure>summary:focus-visible,button:focus-visible,a:focus-visible { outline:3px solid #1d70ee; outline-offset:3px }
.ux-disclosure>.card { margin:0; box-shadow:none; border:0 }
.ux-data-disclosure>.card>h2 { display:none }
.ux-section-picker { display:none }
.users-workspace { display:flex!important; flex-direction:column; gap:18px }
.users-workspace>.ux-user-create { order:1 }
.users-workspace>.users-directory { order:2 }
.ux-user-search { display:grid; gap:7px; margin:0 0 16px }
.modules { grid-template-columns:repeat(3,minmax(0,1fr))!important }
button.module { text-align:left; display:block; color:var(--ux-text); min-width:0; padding:22px; background:#fff; white-space:normal }
button.module h3 { font-size:20px; margin:10px 0 }
.module-state { display:block; color:#526780; font-weight:500; margin-top:12px }
.dashboard-attention { border-left:4px solid #b45309; padding:13px 18px; margin:16px 0; background:#fff7e8; color:#744710; border-radius:12px }
.analytics-warning-summary { margin-bottom:18px; border:1px solid #e5d1a4; border-radius:14px; background:#fffaf0 }
.analytics-warning-summary>summary { padding:13px 17px; font-weight:700; cursor:pointer }
.analytics-warning-summary .analytics-warning { margin:0 12px 10px }
.analytics-table-wrap th:first-child,.analytics-table-wrap td:first-child { position:sticky; left:0; z-index:1; background:#fff; min-width:110px; box-shadow:2px 0 4px #132c4d12 }
.analytics-table-wrap th:first-child { z-index:3; background:#edf4fd }
.partner-product-filters { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; max-width:none!important }
.partner-product-filters>label { min-width:0!important; width:100%; max-width:none!important }
.ux-catalog-options { margin:0 0 12px; color:#153e70; border:1px solid #d4e1f2; border-radius:12px; background:#fff }
.ux-catalog-options>summary { padding:11px 14px; cursor:pointer; font-size:14px; font-weight:700 }
.ux-catalog-options-body { padding:0 14px 14px; display:flex; gap:14px; flex-wrap:wrap; align-items:end }
.ux-catalog-options-body>label { flex:1 1 180px }
.ux-catalog-options-body input[type=checkbox] { width:18px!important; min-height:18px!important }
.partner-catalog-controls { display:flex; gap:12px; flex-wrap:wrap; justify-content:space-between; align-items:center; margin:0 0 18px }
.partner-catalog-controls label { display:flex!important; align-items:center }
.partner-pagination { display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; margin:22px 0 }
.partner-pagination strong { min-width:130px; text-align:center }
.partner-catalog-count { color:#526780; font-size:14px }
.partner-grid.is-list { display:grid; grid-template-columns:1fr }
#partnerProducts { scroll-margin-top:90px }
.partner-grid.is-list .partner-product { display:grid; grid-template-columns:140px minmax(0,1fr) }
.partner-grid.is-list .partner-photo { height:160px; padding:12px; border-bottom:0; border-right:1px solid #e1e9e4 }
.partner-grid.is-list .partner-product-info { padding:15px; gap:5px }
.partner-grid.is-list .partner-product-info>p:empty { display:none }
.partner-grid.is-list .partner-price { padding:3px 0 }
#partnerDialog { position:fixed; padding:0; max-height:calc(100dvh - 36px); width:min(760px,calc(100vw - 36px)); box-sizing:border-box; overscroll-behavior:contain }
#partnerDialog[open] { display:flex; flex-direction:column; overflow:hidden }
#partnerDialogBody { padding:24px; overflow-y:auto; min-height:0; overscroll-behavior:contain }
#partnerDialogBody>h2 { padding-right:42px }
.ux-dialog-close { position:absolute; top:8px; right:10px; z-index:5; font-size:25px; width:44px; padding:0!important }
#partnerDialogClose { display:none }
.ux-dialog-actions { flex:none; background:#fff; padding:12px 24px; border-top:1px solid #dbe5df; z-index:4 }
.ux-dialog-actions>button { width:100% }
body.ux-dialog-open { overflow:hidden }
.partner-updated { color:#526780 }
.software-version-note { display:block; margin-top:8px; color:#854d0e; font-size:12px; line-height:1.5; max-width:300px }
@media(max-width:900px) {
  .ux-section-picker { display:grid; gap:6px; width:100%; margin-bottom:16px; font-size:13px; font-weight:700 }
  .finance-sidebar,.management-sidebar { display:none!important }
  .modules { grid-template-columns:repeat(2,minmax(0,1fr))!important }
  .partner-header { padding:6px 0 14px }
  .partner-header h1 { font-size:28px }
}
@media(max-width:680px) {
  input,select,textarea,#partnerPage input,#partnerPage select,#partnerDialog input,#partnerDialog select { font-size:16px }
  .title h1 { font-size:26px }
  .title>div>p { margin:6px 0 }
  .title .actions { gap:7px }
  .title .actions button { min-height:40px; padding:8px 10px; font-size:12px }
  .stats,.analytics-stats,.finance-stats,.management-stats { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px }
  .stat { min-height:100px; padding:14px }
  .stat strong { font-size:22px; overflow-wrap:anywhere }
  .stat small { font-size:11px }
  .stats>.stat:first-child:last-child { grid-column:1/-1 }
  .modules { gap:10px!important }
  button.module { padding:14px; min-height:134px }
  button.module h3 { font-size:16px }
  button.module small { font-size:11px }
  .analytics-filters,.finance-filters { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; gap:12px!important; padding:14px!important }
  .analytics-filters>label,.finance-filters>label { min-width:0!important; width:100% }
  .analytics-filters>div,.finance-periods { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:6px }
  .analytics-source-panel { margin-bottom:12px }
  .analytics-section-title { margin-top:16px }
  .users-card-head,.table-title { align-items:flex-start!important; flex-direction:column; gap:8px }
  .users-card-head p { margin-bottom:8px }
  .partner-header { gap:10px; margin-bottom:0 }
  .partner-header>div>p { display:none }
  #partnerBrand { margin:5px 0 }
  #partnerBrand img { max-height:40px; max-width:110px }
  .partner-header label { min-width:0; width:100% }
  .partner-tabs { gap:6px; margin-bottom:14px; padding-bottom:12px }
  .partner-tabs button { font-size:12px; padding:8px 10px; min-height:40px }
  .partner-toolbar { margin:12px 0; gap:8px }
  .partner-toolbar p { font-size:12px }
  .partner-product-filters { grid-template-columns:1fr 1fr!important; gap:10px!important; margin-bottom:12px!important }
  .partner-product-info { padding:16px; gap:6px }
  .partner-product h3 { font-size:18px }
  .partner-photo { height:190px; flex-basis:190px }
  .partner-grid.is-list .partner-product { grid-template-columns:95px minmax(0,1fr) }
  .partner-grid.is-list .partner-photo { height:130px }
  .partner-grid.is-list .partner-updated,.partner-grid.is-list .partner-field-history { display:none }
  .partner-pagination button { min-width:84px }
  #partnerDialog { width:100%; max-width:100%; height:100dvh; max-height:100dvh; margin:0; border-radius:0; border:0 }
  #partnerDialogBody { padding:18px; flex:1 }
  .ux-dialog-actions { padding:12px 18px; padding-bottom:max(12px,env(safe-area-inset-bottom)) }
  #partnerDialogClose { margin-left:18px }
  .partner-form-grid { grid-template-columns:1fr!important }
}
@media(max-width:359px) {
  .modules,.stats,.analytics-stats,.finance-stats { grid-template-columns:1fr!important }
  .analytics-filters,.finance-filters { grid-template-columns:1fr!important }
}
@media print {
  .ux-section-picker,.ux-user-search,.ux-dialog-close,.partner-pagination { display:none!important }
  .ux-filter-disclosure>section { display:grid!important }
  .ux-filter-disclosure>summary { display:none }
  .analytics-warning-summary>div { display:block!important }
}
