/* =========================================================
   302b — ATOSY MODERN SUBJECT CATEGORY UI
   Scope: Subject Category Manager only
   Visual-only: No database or application logic changes
   ========================================================= */

#atosy-category-manager-overlay {
  --cat302-bg: #071b39;
  --cat302-surface: #0d2d58;
  --cat302-surface2: #103665;
  --cat302-stroke: rgba(155,194,245,.22);
  --cat302-text: #f3f8ff;
  --cat302-muted: #a8c3e5;
  --cat302-accent: #4d89ff;
  color: var(--cat302-text) !important;
}

#atosy-category-manager-overlay .catmgr {
  background: linear-gradient(
    145deg, #0b254c 0%, #071a38 100%
  ) !important;
  color: var(--cat302-text) !important;
  border: 1px solid rgba(168,203,255,.25) !important;
  border-radius: 25px !important;
  box-shadow: 0 32px 100px rgba(0,8,27,.52) !important;
  overflow: hidden !important;
}

#atosy-category-manager-overlay .catmgr-head {
  position: relative;
  background: linear-gradient(
    116deg, #08234c 0%, #13477f 66%, #2469bd 100%
  ) !important;
  border-bottom: 1px solid rgba(165,204,255,.2) !important;
  color: #fff !important;
  padding: 26px 30px !important;
}

#atosy-category-manager-overlay .catmgr-head h2 {
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: -.35px !important;
}

#atosy-category-manager-overlay .catmgr-eyebrow {
  color: #c5ddff !important;
  text-transform: uppercase;
  letter-spacing: 2px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}

#atosy-category-manager-overlay .catmgr-head p,
#atosy-category-manager-overlay .catmgr-head small {
  color: #bed8f9 !important;
}

#atosy-category-manager-overlay .catmgr-close {
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 50% !important;
  transition: background .18s ease, transform .18s ease;
}

#atosy-category-manager-overlay .catmgr-close:hover {
  background: rgba(255,255,255,.21) !important;
  transform: scale(1.04);
}

#atosy-category-manager-overlay .catmgr-body {
  background: #071b39 !important;
  color: #f3f8ff !important;
}

#atosy-category-manager-overlay .catmgr-left {
  background: linear-gradient(
    180deg, #0b2a55 0%, #092348 100%
  ) !important;
  border-right: 1px solid var(--cat302-stroke) !important;
  color: var(--cat302-text) !important;
  min-width: 0 !important;
}

#atosy-category-manager-overlay .catmgr-right {
  background: linear-gradient(
    160deg, #09244a 0%, #071c3d 100%
  ) !important;
  color: var(--cat302-text) !important;
  min-width: 0 !important;
}

#atosy-category-manager-overlay .catmgr-tools {
  background: rgba(6,24,53,.7) !important;
  border-bottom: 1px solid var(--cat302-stroke) !important;
}

#atosy-category-manager-overlay .catmgr-search,
#atosy-category-manager-overlay .catmgr-input {
  background: #0c2e59 !important;
  color: #f6faff !important;
  -webkit-text-fill-color: #f6faff !important;
  border: 1px solid #2c5383 !important;
  border-radius: 12px !important;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.08) !important;
  outline: none !important;
  font-weight: 650 !important;
}

#atosy-category-manager-overlay .catmgr-search::placeholder,
#atosy-category-manager-overlay .catmgr-input::placeholder {
  color: #90afd3 !important;
  -webkit-text-fill-color: #90afd3 !important;
}

#atosy-category-manager-overlay .catmgr-search:focus,
#atosy-category-manager-overlay .catmgr-input:focus {
  border-color: #77b1ff !important;
  box-shadow: 0 0 0 3px rgba(81,150,255,.2) !important;
}

#atosy-category-manager-overlay .catmgr-input[readonly] {
  background: #112d51 !important;
  color: #bed3ec !important;
  -webkit-text-fill-color: #bed3ec !important;
  opacity: 1 !important;
}

#atosy-category-manager-overlay .catmgr-tree {
  background: transparent !important;
  color: #e9f3ff !important;
}

#atosy-category-manager-overlay .catmgr-summary {
  color: #96b5da !important;
  border-bottom: 1px solid rgba(152,188,236,.11) !important;
  font-weight: 650 !important;
}

#atosy-category-manager-overlay .catmgr-row {
  background: rgba(30,73,127,.27) !important;
  color: #e7f1ff !important;
  border: 1px solid rgba(132,178,235,.12) !important;
  border-radius: 11px !important;
  transition: background .16s ease, border-color .16s ease;
}

#atosy-category-manager-overlay .catmgr-row:hover {
  background: rgba(51,103,177,.32) !important;
  border-color: rgba(111,170,255,.4) !important;
}

#atosy-category-manager-overlay .catmgr-row.sel {
  background: linear-gradient(
    105deg, rgba(52,103,212,.53), rgba(90,75,174,.37)
  ) !important;
  border-color: #6f9eff !important;
  box-shadow: inset 3px 0 0 #79a9ff !important;
}

#atosy-category-manager-overlay .catmgr-name {
  color: #ecf5ff !important;
  font-weight: 700 !important;
}

#atosy-category-manager-overlay .catmgr-row.sel .catmgr-name {
  color: #fff !important;
}

#atosy-category-manager-overlay .catmgr-toggle {
  color: #a4cbff !important;
  background: transparent !important;
}

#atosy-category-manager-overlay .catmgr-pill {
  background: #1b416c !important;
  color: #d5e8ff !important;
  border: 1px solid rgba(162,203,255,.12) !important;
}

#atosy-category-manager-overlay .catmgr-pill.on {
  background: rgba(19,142,113,.2) !important;
  color: #7ce3bb !important;
  border-color: rgba(67,210,154,.28) !important;
}

#atosy-category-manager-overlay .catmgr-pill.off {
  background: rgba(211,114,55,.15) !important;
  color: #ffcb9e !important;
  border-color: rgba(255,174,115,.25) !important;
}

#atosy-category-manager-overlay .catmgr-editor-head {
  background: rgba(12,43,82,.85) !important;
  color: #f5f9ff !important;
  border-bottom: 1px solid var(--cat302-stroke) !important;
}

#atosy-category-manager-overlay .catmgr-editor-head h3 {
  color: #fff !important;
  font-weight: 800 !important;
}

#atosy-category-manager-overlay .catmgr-path {
  color: #aac9ef !important;
  overflow-wrap: anywhere;
}

#atosy-category-manager-overlay .catmgr-formwrap,
#atosy-category-manager-overlay .catmgr-form {
  background: transparent !important;
  color: #f3f8ff !important;
}

#atosy-category-manager-overlay .catmgr-field {
  color: #e9f3ff !important;
}

#atosy-category-manager-overlay .catmgr-field > span {
  color: #adc9ea !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .5px !important;
  text-transform: uppercase;
}

#atosy-category-manager-overlay .catmgr-check {
  background: rgba(22,61,107,.48) !important;
  border: 1px solid var(--cat302-stroke) !important;
  border-radius: 12px !important;
  color: #e9f2ff !important;
}

#atosy-category-manager-overlay .catmgr-check input {
  accent-color: #4c91ff;
}

#atosy-category-manager-overlay .catmgr-btn {
  border-radius: 12px !important;
  font-weight: 750 !important;
  transition: filter .16s ease, transform .16s ease;
}

#atosy-category-manager-overlay .catmgr-btn:hover:not(:disabled) {
  filter: brightness(1.12);
}

#atosy-category-manager-overlay .catmgr-btn.primary {
  background: linear-gradient(
    105deg, #2673e9, #408cff
  ) !important;
  border-color: rgba(146,194,255,.38) !important;
  color: #fff !important;
}

#atosy-category-manager-overlay .catmgr-btn.green {
  background: linear-gradient(
    105deg, #159e82, #21b78e
  ) !important;
  border-color: rgba(89,227,181,.32) !important;
  color: #fff !important;
}

#atosy-category-manager-overlay .catmgr-btn:not(.primary):not(.green) {
  background: #173c69 !important;
  color: #dcecff !important;
  border: 1px solid #315b8e !important;
}

#atosy-category-manager-overlay .catmgr-note {
  background: rgba(48,88,148,.19) !important;
  color: #bed6f4 !important;
  border: 1px solid rgba(145,185,238,.17) !important;
  border-radius: 12px !important;
}

#atosy-category-manager-overlay .catmgr-empty {
  color: #a7c5e7 !important;
}

#atosy-category-manager-overlay :focus-visible {
  outline: 2px solid #87b9ff !important;
  outline-offset: 2px;
}

@media (max-width: 780px) {
  #atosy-category-manager-overlay .catmgr-head {
    padding: 18px 20px !important;
  }

  #atosy-category-manager-overlay .catmgr {
    border-radius: 17px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #atosy-category-manager-overlay *,
  #atosy-category-manager-overlay *::before,
  #atosy-category-manager-overlay *::after {
    transition-duration: 0s !important;
  }
}
