/*
 * OfficeShop UI Unify — ФИНАЛЕН, авторитетен слой стилове.
 *
 * Защо съществува този файл отделно от officeshop-design-system:
 * officeshop-business-core.php натрупа с годините НЯКОЛКО отделни <style>
 * блока, echo-нати директно в тялото на всяка admin страница (не през
 * wp_enqueue_style) — всеки от тях "коригира" бутоните/разстоянията малко
 * по-различно от предишния. Резултатът: някои бутони излизат без четим
 * текст, разстоянията се трупат от натрупани margin/padding от различни
 * поколения код.
 *
 * Този файл се зарежда като <link> в самия край на <body> (hook
 * admin_footer, priority PHP_INT_MAX — виж officeshop-ui-unify.php),
 * затова идва СЛЕД всички echo-нати <style> блокове в DOM реда и печели
 * при еднаква специфичност. Прицелва се БЕЗ да изисква .osb-app обвивка,
 * за да хване и елементи извън нея (напр. "Бързи действия" бутоните в
 * контролния панел).
 *
 * Не трие нищо съществуващо — само стандартизира финалния изглед.
 */

:root{
  --osu-radius: 8px;
  --osu-h: 38px;
  --osu-h-sm: 30px;
  --osu-h-lg: 44px;
  --osu-gap: 8px;
  --osu-pad-x: 14px;
  --osu-accent: #2f6df6;
  --osu-accent-hover: #2258d6;
  --osu-text: #1c2434;
  --osu-border: #cbd3e0;
  --osu-bg: #ffffff;
  --osu-bg-hover: #f2f5fb;
  --osu-danger: #d33a3a;
  --osu-danger-bg: #fdeceb;
  --osu-space: 14px;
}

/* ------------------------------------------------------------------ */
/* 1. БУТОНИ — ЕДИН вид, навсякъде в администрацията (не само .osb-app) */
/* ------------------------------------------------------------------ */
body.wp-admin :is(
    .button, .osb-btn, .osb-button, .osbd-status-button,
    button:not(.components-button):not([role="tab"]),
    input[type="submit"], input[type="button"]
  ):not(.osu-skip){
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  height: var(--osu-h) !important;
  min-height: var(--osu-h) !important;
  width: auto !important;
  padding: 0 var(--osu-pad-x) !important;
  margin: 0 !important;
  border: 1px solid var(--osu-border) !important;
  border-radius: var(--osu-radius) !important;
  background: var(--osu-bg) !important;
  color: var(--osu-text) !important;
  fill: var(--osu-text) !important;
  opacity: 1 !important;
  font: 600 13.5px/1 -apple-system, "Segoe UI", Inter, Roboto, sans-serif !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background .12s ease, border-color .12s ease, color .12s ease !important;
}
body.wp-admin :is(.button, .osb-btn, .osb-button, button, input[type="submit"], input[type="button"]):not(.osu-skip):hover{
  background: var(--osu-bg-hover) !important;
  border-color: var(--osu-accent) !important;
  color: var(--osu-accent) !important;
}
body.wp-admin :is(.button, .osb-btn, .osb-button, button, input[type="submit"], input[type="button"]):not(.osu-skip):focus-visible{
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(47,109,246,.25) !important;
}
body.wp-admin :is(.button, .osb-btn, .osb-button, button, input[type="submit"], input[type="button"]):not(.osu-skip):disabled,
body.wp-admin :is(.button, .osb-btn, .osb-button, button, input[type="submit"], input[type="button"]):not(.osu-skip)[disabled]{
  opacity: .45 !important;
  cursor: not-allowed !important;
  color: var(--osu-text) !important; /* НИКОГА прозрачен/невидим текст, дори когато е disabled */
}

/* Primary — единственият плътен цветен бутон в системата */
body.wp-admin :is(.button-primary, .osb-btn--primary, .osb-primary-action, .osb-button-primary):not(.osu-skip){
  background: var(--osu-accent) !important;
  border-color: var(--osu-accent) !important;
  color: #fff !important;
}
body.wp-admin :is(.button-primary, .osb-btn--primary, .osb-primary-action):not(.osu-skip):hover{
  background: var(--osu-accent-hover) !important;
  border-color: var(--osu-accent-hover) !important;
  color: #fff !important;
}

/* Danger / изтриване */
body.wp-admin :is(.osb-btn--danger, .osb-btn--danger-solid, .osbd-note-delete, a.submitdelete):not(.osu-skip){
  background: var(--osu-danger-bg) !important;
  border-color: #f3b4b0 !important;
  color: var(--osu-danger) !important;
}
body.wp-admin :is(.osb-btn--danger, .osbd-note-delete, a.submitdelete):not(.osu-skip):hover{
  background: var(--osu-danger) !important;
  border-color: var(--osu-danger) !important;
  color: #fff !important;
}

/* Малки / големи варианти — 3 размера навсякъде, без произволни 25/32/42px */
body.wp-admin :is(.button-small, .osb-btn--sm):not(.osu-skip){ height: var(--osu-h-sm) !important; min-height: var(--osu-h-sm) !important; padding: 0 10px !important; font-size: 12.5px !important; }
body.wp-admin :is(.button-hero, .osb-btn--lg):not(.osu-skip){ height: var(--osu-h-lg) !important; min-height: var(--osu-h-lg) !important; padding: 0 18px !important; font-size: 15px !important; }

/* Икон-бутони — квадратни, ЕДИН размер вместо произволните из отделните патчове */
body.wp-admin :is(.osb-btn--icon, .osb-icon-button, .osu-icon-btn):not(.osu-skip){
  width: var(--osu-h) !important; min-width: var(--osu-h) !important; padding: 0 !important;
}
body.wp-admin :is(.osb-btn--icon, .osb-icon-button):not(.osu-skip) .dashicons{
  width: 17px !important; height: 17px !important; font-size: 17px !important; line-height: 17px !important;
}

/* Групи бутони в ред — еднакъв gap навсякъде, без да се лепят един за друг */
body.wp-admin :is(.osb-actions, .osb-toolbar, .osb-page-heading-actions, .osb-project-toolbar > div:last-child){
  display: flex !important;
  align-items: center !important;
  gap: var(--osu-gap) !important;
  flex-wrap: wrap !important;
}

/* ------------------------------------------------------------------ */
/* 2. ПОЛЕТА — еднакви навсякъде, за консистентност с бутоните до тях   */
/* ------------------------------------------------------------------ */
body.wp-admin .osb-main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]), select, textarea){
  box-sizing: border-box !important;
  min-height: var(--osu-h) !important;
  padding: 0 12px !important;
  border: 1px solid var(--osu-border) !important;
  border-radius: var(--osu-radius) !important;
  font: 400 14px/1.3 -apple-system, "Segoe UI", Inter, Roboto, sans-serif !important;
}
body.wp-admin .osb-main textarea{ min-height: 90px !important; padding-top: 8px !important; padding-bottom: 8px !important; }
body.wp-admin .osb-main :is(input, select, textarea):focus{
  outline: 0 !important;
  border-color: var(--osu-accent) !important;
  box-shadow: 0 0 0 3px rgba(47,109,246,.16) !important;
}

/* ------------------------------------------------------------------ */
/* 3. РАЗСТОЯНИЯ — една стегната скàла навсякъде, вместо трупани        */
/*    margin/padding от различни поколения код ("убито" място)         */
/* ------------------------------------------------------------------ */
body.wp-admin .osb-main{ padding: var(--osu-space) !important; max-width: none !important; }
body.wp-admin :is(.osb-card, .osb-form){ padding: var(--osu-space) !important; margin-bottom: var(--osu-space) !important; }
body.wp-admin .osb-form-grid, body.wp-admin .osb-grid{ gap: 12px !important; }
body.wp-admin .osb-field-group{ margin-bottom: 10px !important; gap: 4px !important; }
body.wp-admin .osb-main h1{ margin: 0 0 4px !important; }
body.wp-admin .osb-main > h1:first-child,
body.wp-admin .osb-page-heading{ margin-bottom: 12px !important; }
body.wp-admin .osb-table th, body.wp-admin .osb-table td{ padding: 8px 10px !important; }
body.wp-admin .osb-toolbar{ padding: 8px 10px !important; margin-bottom: 12px !important; }

/* Празни/твърде широки блокове, останали от стари layout експерименти —
   никога повече от нужната ширина, никога скрито съдържание. */
body.wp-admin .osb-app{ max-width: none !important; }
body.wp-admin .osb-card, body.wp-admin .osb-form, body.wp-admin dialog{
  max-height: none !important;
  overflow: visible !important;
}
body.wp-admin dialog{ max-width: min(92vw, 640px) !important; max-height: 88vh !important; overflow: auto !important; padding: var(--osu-space) !important; }
body.wp-admin .osb-main table{ max-width: 100%; }
body.wp-admin .osb-main{ overflow-x: auto; }

/* ------------------------------------------------------------------ */
/* 4. Табло "Бързи действия" — конкретния случай от скрийншота: бутони  */
/*    без четим текст извън .osb-app. Хванати чрез общите правила по-   */
/*    горе (без .osb-app изискване), но подсигуряваме и placeholder-и   */
/*    без href/onclick (все още неизградени връзки) да изглеждат ясно   */
/*    като "предстои", а не като счупен бутон.                          */
/* ------------------------------------------------------------------ */
body.wp-admin .button[href=""], body.wp-admin .button:not([href]):not([type]){
  opacity: .55 !important;
}

@media (max-width: 782px){
  body.wp-admin .osb-main{ padding: 10px !important; }
  body.wp-admin :is(.osb-card, .osb-form){ padding: 12px !important; }
}
