/* =====================================================
   EDIT ORGANIZATION DIALOG — BizMetry Design System
   Prefix: eod-
   ===================================================== */

/* ─── Design tokens ──────────────────────────────── */
.eod-dialog {
  --eod-gradient:      linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  --eod-primary:       #667eea;
  --eod-shadow-sm:     0 2px 6px  rgba(102, 126, 234, 0.18);
  --eod-shadow-md:     0 4px 14px rgba(102, 126, 234, 0.28);
  --eod-text:          #1e2535;
  --eod-text-muted:    #6b7494;
  --eod-text-faint:    #9aa0b8;
  --eod-border:        #e8eaf0;
  --eod-bg-canvas:     #f0f2f7;
  --eod-bg-white:      #ffffff;
  --eod-bg-section:    #f7f8fc;
  --eod-radius-dialog: 14px;
  --eod-radius-card:   10px;
  --eod-radius-input:  8px;
  --eod-radius-btn:    8px;
  --eod-ease:          all 0.2s ease;

  /* ── Dialog shell ── */
  max-width:      560px !important;
  width:          92vw !important;
  border-radius:  var(--eod-radius-dialog) !important;
  overflow:       hidden !important;
  display:        flex !important;
  flex-direction: column !important;
  box-shadow:     0 24px 64px rgba(0, 0, 0, 0.22) !important;
}

/* ─── Toolbar ────────────────────────────────────── */
.eod-dialog .eod-toolbar {
  background:  var(--eod-gradient) !important;
  box-shadow:  0 2px 12px rgba(102, 126, 234, 0.3) !important;
  min-height:  68px !important;
  flex-shrink: 0 !important;
}

.eod-dialog .eod-toolbar-tools {
  padding:     0 20px !important;
  min-height:  68px !important;
  display:     flex !important;
  align-items: center !important;
}

.eod-dialog .eod-toolbar-left {
  display:     flex;
  align-items: center;
  gap:         14px;
}

.eod-dialog .eod-toolbar-icon-wrap {
  width:           40px;
  height:          40px;
  border-radius:   10px;
  background:      rgba(255, 255, 255, 0.18);
  border:          1px solid rgba(255, 255, 255, 0.25);
  display:         flex;
  align-items:     center;
  justify-content: center;
  flex-shrink:     0;
}

.eod-dialog .eod-toolbar-icon-wrap md-icon {
  font-size: 22px !important;
  width:     22px !important;
  height:    22px !important;
  color:     white !important;
}

.eod-dialog .eod-toolbar-title {
  font-size:      18px;
  font-weight:    700;
  color:          white;
  margin:         0;
  line-height:    1.2;
  letter-spacing: -0.2px;
}

.eod-dialog .eod-toolbar-subtitle {
  font-size:   12px;
  color:       rgba(255, 255, 255, 0.65);
  margin:      2px 0 0;
  font-weight: 400;
}

.eod-dialog .eod-close-btn {
  color:      rgba(255, 255, 255, 0.8) !important;
  transition: var(--eod-ease) !important;
}

.eod-dialog .eod-close-btn:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  color:      white !important;
}

.eod-dialog .eod-close-btn md-icon { color: inherit !important; }

/* ─── Content ────────────────────────────────────── */
.eod-dialog .eod-content {
  background:  var(--eod-bg-canvas) !important;
  padding:     24px 20px 20px !important;
  overflow-y:  auto !important;
  flex:        1 1 auto !important;
  direction:   ltr !important;   /* guard against any RTL bleed */
}

.eod-dialog .eod-content::-webkit-scrollbar       { width: 5px; }
.eod-dialog .eod-content::-webkit-scrollbar-track { background: var(--eod-bg-canvas); }
.eod-dialog .eod-content::-webkit-scrollbar-thumb { background: #c5c9d6; border-radius: 3px; }
.eod-dialog .eod-content::-webkit-scrollbar-thumb:hover { background: #a8adb8; }

/* ─── Loading state ──────────────────────────────── */
.eod-dialog .eod-loading {
  display:         flex;
  flex-direction:  column;
  align-items:     center;
  justify-content: center;
  gap:             16px;
  padding:         60px 24px;
  color:           var(--eod-text-muted);
  font-size:       14px;
}

.eod-dialog .eod-spinner circle { stroke: var(--eod-primary) !important; }

/* ─── Org ID row ─────────────────────────────────── */
.eod-dialog .eod-org-id-wrap {
  display:       flex;
  align-items:   center;
  gap:           12px;
  background:    var(--eod-bg-white);
  border:        1px solid var(--eod-border);
  border-radius: var(--eod-radius-card);
  padding:       12px 14px 12px 16px;
  margin-bottom: 14px;
  transition:    background 0.15s ease;
  box-shadow:    0 1px 3px rgba(0, 0, 0, 0.04);
}

.eod-dialog .eod-org-id-wrap:hover { background: #fafbff; }

.eod-dialog .eod-org-id-icon {
  font-size:   20px !important;
  width:       20px !important;
  height:      20px !important;
  color:       var(--eod-primary) !important;
  flex-shrink: 0;
}

.eod-dialog .eod-org-id-body {
  flex:           1;
  display:        flex;
  flex-direction: column;
  gap:            2px;
  min-width:      0;
}

.eod-dialog .eod-org-id-label {
  font-size:      10px;
  font-weight:    700;
  color:          var(--eod-text-faint);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.eod-dialog .eod-org-id-value {
  font-size:      12px;
  font-weight:    600;
  color:          var(--eod-text);
  font-family:    'Courier New', monospace;
  letter-spacing: 0.2px;
  white-space:    nowrap;
  overflow:       hidden;
  text-overflow:  ellipsis;
}

.eod-dialog .eod-copy-btn {
  width:       32px !important;
  height:      32px !important;
  min-width:   32px !important;
  min-height:  32px !important;
  margin:      0 !important;
  flex-shrink: 0;
}

.eod-dialog .eod-copy-btn md-icon {
  font-size: 17px !important;
  width:     17px !important;
  height:    17px !important;
  color:     var(--eod-primary) !important;
}

.eod-dialog .eod-copy-btn:hover { background: rgba(102, 126, 234, 0.1) !important; }

/* ─── Card ───────────────────────────────────────── */
.eod-dialog .eod-card {
  background:    var(--eod-bg-white);
  border-radius: var(--eod-radius-card);
  border:        1px solid var(--eod-border);
  box-shadow:    0 1px 4px rgba(0, 0, 0, 0.05);
  overflow:      hidden;
}

/* ─── Section header ─────────────────────────────── */
.eod-dialog .eod-section-header {
  display:         flex !important;
  flex-direction:  row !important;
  align-items:     center !important;
  justify-content: flex-start !important;
  text-align:      left !important;
  gap:             9px;
  padding:         11px 16px;
  background:      var(--eod-bg-section);
  border-bottom:   1px solid var(--eod-border);
  position:        relative;
}

.eod-dialog .eod-section-header::before {
  content:       '';
  position:      absolute;
  top: 0; left: 0; right: 0;
  height:        2px;
  background:    var(--eod-gradient);
  border-radius: var(--eod-radius-card) var(--eod-radius-card) 0 0;
}

.eod-dialog .eod-section-header md-icon {
  font-size:   16px !important;
  width:       16px !important;
  height:      16px !important;
  color:       var(--eod-primary) !important;
  flex-shrink: 0 !important;
  flex-grow:   0 !important;
  margin:      0 !important;  /* AM sets margin:auto on md-icon — kills flex alignment */
}

.eod-dialog .eod-section-header > span {
  font-size:      11px;
  font-weight:    700;
  color:          #5a6080;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  text-align:     left;
}

/* ─── Form ───────────────────────────────────────── */
.eod-dialog .eod-form {
  padding: 4px 16px 8px;
}

.eod-dialog .eod-field-group {
  padding:       14px 0 10px;
  border-bottom: 1px solid #f2f4f9;
}

.eod-dialog .eod-field-group--last { border-bottom: none; }

/* ─── Field label (div, NOT label — avoids AM global label CSS) ── */
.eod-dialog .eod-field-label {
  display:         flex !important;
  flex-direction:  row !important;
  align-items:     center !important;
  justify-content: flex-start !important;
  text-align:      left !important;
  gap:             7px;
  font-size:       11px;
  font-weight:     700;
  color:           var(--eod-text-muted);
  text-transform:  uppercase;
  letter-spacing:  0.5px;
  margin-bottom:   8px;
  width:           100%;
  box-sizing:      border-box;
}

.eod-dialog .eod-field-label md-icon {
  display:      inline-flex !important;
  font-size:    15px !important;
  width:        15px !important;
  height:       15px !important;
  color:        var(--eod-primary) !important;
  flex-shrink:  0 !important;
  flex-grow:    0 !important;
  margin:       0 !important;  /* AM sets margin:auto on md-icon — kills flex alignment */
}

.eod-dialog .eod-field-label > span {
  text-align: left !important;
  flex:       none;
}

.eod-dialog .eod-field-label--disabled { opacity: 0.45; }

.eod-required {
  color:       #e53935;
  font-weight: 700;
  margin-left: 2px;
}

/* ─── Input container overrides ─────────────────── */
.eod-dialog .eod-input-container {
  width:    100% !important;
  margin:   0 !important;
  padding:  0 0 2px !important;
  overflow: visible !important;
  padding-bottom: 3px !important;
}

/* Suppress all AM decorations */
.eod-dialog .eod-input-container label                        { display:    none !important; }
.eod-dialog .eod-input-container .md-errors-spacer            { display:    none !important; min-height: 0 !important; }
.eod-dialog .eod-input-container .md-input-messages-animation { display:    none !important; }
.eod-dialog .eod-input-container .md-input                    { border-bottom: none !important; overflow: visible !important; }
.eod-dialog .eod-input-container::after                       { display:    none !important; }
.eod-dialog .eod-input-container:not(.md-input-invalid).md-input-has-value .md-input,
.eod-dialog .eod-input-container:not(.md-input-invalid).md-input-focused  .md-input {
  border-bottom: none !important;
}

/* Text input */
.eod-dialog .eod-input-container input[type="text"] {
  width:         100% !important;
  height:        46px !important;
  padding:       0 14px !important;
  font-size:     14px !important;
  color:         var(--eod-text) !important;
  background:    var(--eod-bg-white) !important;
  border:        1.5px solid #d0d4e4 !important;
  border-radius: var(--eod-radius-input) !important;
  box-sizing:    border-box !important;
  transition:    var(--eod-ease) !important;
  display:       block !important;
  margin:        0 !important;
  line-height:   46px !important;
}

.eod-dialog .eod-input-container input[type="text"]:focus {
  border-color: var(--eod-primary) !important;
  box-shadow:   0 0 0 3px rgba(102, 126, 234, 0.12) !important;
  outline:      none !important;
}

.eod-dialog .eod-input-container input[type="text"]:disabled {
  background: #f5f6fa !important;
  color:      var(--eod-text-faint) !important;
  cursor:     not-allowed !important;
}

.eod-dialog .eod-input-container input[type="text"]::placeholder {
  color:     #b8bdd0 !important;
  font-size: 13px !important;
}

/* Textarea (Description) */
.eod-dialog .eod-input-container textarea {
  width:         100% !important;
  min-height:    72px !important;
  padding:       10px 14px !important;
  font-family:   inherit !important;
  font-size:     14px !important;
  line-height:   1.4 !important;
  color:         var(--eod-text) !important;
  background:    var(--eod-bg-white) !important;
  border:        1.5px solid #d0d4e4 !important;
  border-radius: var(--eod-radius-input) !important;
  box-sizing:    border-box !important;
  transition:    var(--eod-ease) !important;
  display:       block !important;
  margin:        0 !important;
  resize:        vertical !important;
}

.eod-dialog .eod-input-container textarea:focus {
  border-color: var(--eod-primary) !important;
  box-shadow:   0 0 0 3px rgba(102, 126, 234, 0.12) !important;
  outline:      none !important;
}

.eod-dialog .eod-input-container textarea:disabled {
  background: #f5f6fa !important;
  color:      var(--eod-text-faint) !important;
  cursor:     not-allowed !important;
}

.eod-dialog .eod-input-container textarea::placeholder {
  color:     #b8bdd0 !important;
  font-size: 13px !important;
}

/* md-select */
.eod-dialog .eod-input-container md-select {
  width:         100% !important;
  height:        46px !important;
  min-height:    46px !important;
  margin:        0 !important;
  padding:       0 !important;
  border:        1.5px solid #d0d4e4 !important;
  border-radius: var(--eod-radius-input) !important;
  background:    var(--eod-bg-white) !important;
  box-sizing:    border-box !important;
  display:       flex !important;
  align-items:   center !important;
  transition:    var(--eod-ease) !important;
}

.eod-dialog .eod-input-container md-select:hover:not([disabled]) {
  border-color: #a8adb8 !important;
}

.eod-dialog .eod-input-container md-select.md-focused,
.eod-dialog .eod-input-container.md-input-focused md-select {
  border-color: var(--eod-primary) !important;
  box-shadow:   0 0 0 3px rgba(102, 126, 234, 0.12) !important;
}

.eod-dialog .eod-input-container md-select[disabled] {
  background: #f5f6fa !important;
  cursor:     not-allowed !important;
  opacity:    0.55 !important;
}

.eod-dialog .eod-input-container md-select .md-select-value {
  border-bottom: none !important;
  height:        44px !important;
  min-height:    44px !important;
  padding:       0 14px !important;
  font-size:     14px !important;
  color:         var(--eod-text) !important;
  display:       flex !important;
  align-items:   center !important;
  margin:        0 !important;
}

.eod-dialog .eod-input-container md-select .md-select-value span:not(.md-select-icon) {
  flex:          1 !important;
  border-bottom: none !important;
  padding:       0 !important;
  margin:        0 !important;
}

.eod-dialog .eod-input-container md-select .md-select-icon {
  color:     var(--eod-primary) !important;
  margin:    0 !important;
  transform: none !important;
}

.eod-dialog .eod-input-container md-select .md-select-placeholder {
  color:     #b8bdd0 !important;
  font-size: 13px !important;
}

/* ─── Field hint ─────────────────────────────────── */
.eod-dialog .eod-field-hint {
  display:     flex !important;
  align-items: center !important;
  gap:         4px;
  font-size:   11px;
  color:       var(--eod-text-faint);
  margin-top:  6px;
}

.eod-dialog .eod-field-hint md-icon {
  font-size: 13px !important;
  width:     13px !important;
  height:    13px !important;
  color:     var(--eod-text-faint) !important;
}

/* ─── Footer actions ─────────────────────────────── */
.eod-dialog .eod-actions {
  display:     flex !important;
  align-items: center !important;
  padding:     14px 20px !important;
  background:  var(--eod-bg-white) !important;
  border-top:  2px solid var(--eod-border) !important;
  gap:         10px;
  flex-shrink: 0 !important;
  box-shadow:  0 -2px 8px rgba(0, 0, 0, 0.05);
  margin:      0 !important;
  min-height:  0 !important;
}

/* Base button */
.eod-dialog .eod-btn {
  display:        inline-flex !important;
  align-items:    center !important;
  gap:            7px;
  padding:        0 20px !important;
  height:         40px !important;
  border-radius:  var(--eod-radius-btn) !important;
  font-size:      14px !important;
  font-weight:    600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition:     var(--eod-ease) !important;
  margin:         0 !important;
  min-width:      96px !important;
}

.eod-dialog .eod-btn md-icon {
  font-size: 18px !important;
  width:     18px !important;
  height:    18px !important;
  margin:    0 !important;
}

.eod-dialog .eod-btn[disabled] {
  opacity:        0.45 !important;
  cursor:         not-allowed !important;
  pointer-events: none !important;
  transform:      none !important;
  box-shadow:     none !important;
}

.eod-dialog .eod-btn--cancel {
  background: #f0f2f7 !important;
  color:      var(--eod-text-muted) !important;
  border:     1px solid var(--eod-border) !important;
}

.eod-dialog .eod-btn--cancel:hover:not([disabled]) {
  background:   #e2e6ef !important;
  border-color: #c5c9d6 !important;
}

.eod-dialog .eod-btn--save {
  background: var(--eod-gradient) !important;
  color:      white !important;
  border:     none !important;
  box-shadow: var(--eod-shadow-sm) !important;
  min-width:  156px !important;
}

.eod-dialog .eod-btn--save:hover:not([disabled]) {
  box-shadow: var(--eod-shadow-md) !important;
  transform:  translateY(-1px) !important;
}

.eod-dialog .eod-btn-spinner {
  display: inline-block;
  margin:  0 !important;
}

.eod-dialog .eod-btn-spinner circle { stroke: white !important; }

/* ─── Accessibility ──────────────────────────────── */
.eod-dialog .eod-btn:focus-visible {
  outline:        2px solid var(--eod-primary);
  outline-offset: 2px;
}

/* ─── Responsive ─────────────────────────────────── */
@media (max-width: 600px) {
  .eod-dialog {
    width:         100% !important;
    max-width:     100% !important;
    border-radius: 0 !important;
    margin:        0 !important;
  }

  .eod-dialog .eod-content    { padding: 16px !important; }
  .eod-dialog .eod-btn--save  { min-width: 120px !important; }
}
/* ══ Locate myself ═══════════════════════════════════════════════════════ */
.eod-dialog .eod-locate-row {
  display:         flex !important;
  flex-direction:  row !important;
  align-items:     center !important;
  gap:             10px !important;
  padding:         4px 0 12px 0 !important;
}

.eod-dialog .eod-locate-btn {
  display:         inline-flex !important;
  align-items:     center !important;
  gap:             6px !important;
  height:          34px !important;
  padding:         0 14px !important;
  border-radius:   6px !important;
  border:          1px solid rgba(102, 126, 234, .45) !important;
  background:      rgba(102, 126, 234, .07) !important;
  color:           #667eea !important;
  font-size:       12px !important;
  font-weight:     600 !important;
  letter-spacing:  .3px !important;
  text-transform:  none !important;
  min-width:       0 !important;
  line-height:     1 !important;
  transition:      background .18s, border-color .18s !important;
  margin:          0 !important;
}

.eod-dialog .eod-locate-btn:hover:not([disabled]) {
  background:    rgba(102, 126, 234, .15) !important;
  border-color:  rgba(102, 126, 234, .7)  !important;
}

.eod-dialog .eod-locate-btn[disabled] {
  opacity: .5 !important;
  cursor:  default !important;
}

.eod-dialog .eod-locate-btn md-icon {
  font-size:   16px !important;
  width:       16px !important;
  height:      16px !important;
  color:       #667eea !important;
  margin:      0 !important;
  flex-shrink: 0 !important;
  align-self:  center !important;
  line-height: 16px !important;
  display:     inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.eod-dialog .eod-locate-spinner {
  width:  14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
}

.eod-dialog .eod-locate-spinner svg {
  width:  14px !important;
  height: 14px !important;
}

.eod-dialog .eod-locate-spinner .md-inner .md-gap {
  border-color: #667eea !important;
}

.eod-dialog .eod-locate-spinner .md-inner .md-left .md-half-circle,
.eod-dialog .eod-locate-spinner .md-inner .md-right .md-half-circle {
  border-top-color: #667eea !important;
}

.eod-dialog .eod-locate-hint {
  font-size:  11px !important;
  color:      rgba(0, 0, 0, .38) !important;
  font-style: italic !important;
}

/* ══ Org Name validation error ══════════════════════════════════════════ */
.eod-dialog .eod-input-error {
  font-size:   11px !important;
  color:       #e53935 !important;
  margin-top:  4px !important;
  padding-left: 2px !important;
  display:     flex !important;
  align-items: center !important;
  gap:         4px !important;
}

/* ══ Fix: border-bottom del input — la regla .md-input (3 clases, mayor
   especificidad) sobreescribía el border shorthand de input[type=text].
   Esta regla tiene especificidad (0,3,1) > (0,3,0) y restaura el borde. ══ */
.eod-dialog .eod-input-container input[type="text"].md-input {
  border-bottom: 1.5px solid #d0d4e4 !important;
}
.eod-dialog .eod-input-container input[type="text"].md-input:focus {
  border-bottom-color: var(--eod-primary) !important;
}
.eod-dialog .eod-input-container input[type="text"].md-input:disabled {
  border-bottom-color: #d0d4e4 !important;
}
