/* Aprobaciones — Odoo Enterprise Tablero / form */
.appr-odo { display:flex; flex-direction:column; gap:16px; min-height:40vh; }
.appr-odo-brand-btn, .appr-odo .btn-primary, .appr-odo-form .btn-primary {
  background: var(--o-brand, #714B67) !important;
  border-color: var(--o-brand, #714B67) !important;
  color:#fff !important;
}
.appr-odo-toolbar {
  display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; padding-bottom:4px;
}
.appr-odo-title { margin:0; font-size:1.05rem; font-weight:650; color:var(--sfe-navy,#1e2b3c); }
.appr-odo-search { flex:1 1 240px; max-width:480px; margin:0 auto; }
.appr-odo-search__inner {
  display:flex; align-items:center; gap:8px; min-height:34px;
  border:1px solid #ced4da; border-radius:4px; padding:2px 10px; background:#fff;
}
.appr-odo-search input[type="search"] {
  flex:1; border:0; outline:none; min-height:28px; font-size:.875rem; background:transparent;
}
.appr-odo-pager {
  display:flex; align-items:center; gap:6px; margin-left:auto;
  color:#6c757d; font-size:.8125rem; font-variant-numeric:tabular-nums;
}
.appr-odo-pager__btn {
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border:1px solid #ced4da; border-radius:4px;
  text-decoration:none; color:#495057; background:#fff;
}
.appr-odo-pager__btn.is-disabled { opacity:.4; pointer-events:none; }

.appr-odo-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}
@media (max-width:1100px){ .appr-odo-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:640px){ .appr-odo-grid { grid-template-columns:1fr; } }

.appr-odo-card {
  background:#fff; border:1px solid #e9ecef; border-radius:6px;
  padding:16px 18px; display:flex; flex-direction:column; gap:18px; min-height:120px;
  box-shadow:0 1px 2px rgba(30,43,60,.04);
}
.appr-odo-card__head {
  display:grid; grid-template-columns:44px 1fr 28px; gap:10px; align-items:start;
}
.appr-odo-card__title {
  margin:0; font-size:.95rem; font-weight:600; color:#1e2b3c; line-height:1.3;
}
.appr-odo-card__body {
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.appr-odo-card__pending {
  color:#495057; font-size:.875rem; text-decoration:none; white-space:nowrap;
}
.appr-odo-card__pending:hover { color:var(--o-brand,#714B67); }

.appr-odo-card__icon {
  width:40px; height:40px; border-radius:8px;
  background:#f4f0f3 center/60% no-repeat;
  display:inline-block;
}
.appr-odo-icon--suitcase { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23714B67' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 12h18'/%3E%3C/svg%3E"); }
.appr-odo-icon--books { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23714B67' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M4 19a2 2 0 0 0 2 2h12M6 3h10a2 2 0 0 1 2 2v14H6a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z'/%3E%3Cpath d='M8 7h8M8 11h6'/%3E%3C/svg%3E"); }
.appr-odo-icon--folder { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23714B67' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7z'/%3E%3C/svg%3E"); }
.appr-odo-icon--contract { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23714B67' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H7a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M9 13h6M9 17h4M12 9.5c1.5 1.5 2.5 3 2.5 3'/%3E%3C/svg%3E"); }
.appr-odo-icon--card { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23714B67' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20M6 15h4'/%3E%3C/svg%3E"); }
.appr-odo-icon--car { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23714B67' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M3 13l2-5a2 2 0 0 1 2-1h10a2 2 0 0 1 2 1l2 5M5 17h.01M19 17h.01M3 13h18v3a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-3z'/%3E%3C/svg%3E"); }
.appr-odo-icon--medal { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23714B67' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='14' r='5'/%3E%3Cpath d='M8.5 9.5L7 2l5 3 5-3-1.5 7.5M12 12v2.5l1.5.9'/%3E%3C/svg%3E"); }
.appr-odo-icon--bag { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23714B67' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M6 8h12l1 13H5L6 8zM9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E"); }
.appr-odo-icon--rfq { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23714B67' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2'/%3E%3Crect x='9' y='3' width='6' height='4' rx='1'/%3E%3Cpath d='M9 12h6M9 16h4'/%3E%3C/svg%3E"); }

.appr-odo-kebab {
  border:0; background:transparent; cursor:pointer; font-size:1.2rem; line-height:1;
  color:#6c757d; padding:2px 6px; border-radius:4px;
}
.appr-odo-kebab:hover { background:#f1f3f5; }
.appr-odo-card__menu { position:relative; justify-self:end; }
.appr-odo-kebab-menu {
  position:absolute; right:0; top:100%; z-index:20; min-width:160px;
  background:#fff; border:1px solid #dee2e6; border-radius:6px;
  box-shadow:0 8px 24px rgba(30,43,60,.12); padding:6px 0;
}
.appr-odo-kebab-menu a {
  display:block; padding:8px 12px; color:#1e2b3c; text-decoration:none; font-size:.8125rem;
}
.appr-odo-kebab-menu a:hover { background:#f8f1f6; }

.appr-odo-table-wrap { overflow:auto; border:1px solid #e9ecef; border-radius:6px; background:#fff; }
.appr-odo-badge {
  display:inline-block; padding:2px 8px; border-radius:10px; font-size:.75rem; font-weight:600;
  background:#e9ecef; color:#495057;
}
.appr-odo-badge--draft { background:#e7f1ff; color:#084298; }
.appr-odo-badge--pending { background:#fff3cd; color:#664d03; }
.appr-odo-badge--approved { background:#d1e7dd; color:#0f5132; }
.appr-odo-badge--refused { background:#f8d7da; color:#842029; }
.appr-odo-row-actions { display:flex; gap:6px; flex-wrap:wrap; }
.appr-odo-muted { color:#adb5bd; }
.appr-odo-empty { padding:24px; }

.appr-odo-form__toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:10px; }
.appr-odo-form__crumbs { display:flex; gap:8px; align-items:center; font-size:.9rem; }
.appr-odo-form__crumbs a { color:var(--o-brand,#714B67); text-decoration:none; }
.appr-odo-statusbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:14px; }
.appr-odo-statusbar__actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.appr-odo-stages {
  display:flex; list-style:none; margin:0 0 0 auto; padding:0; gap:0; flex-wrap:wrap;
}
.appr-odo-stage {
  position:relative; padding:8px 18px 8px 28px; background:#f1f3f5; color:#6c757d;
  font-size:.8rem; font-weight:600;
  clip-path:polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%, 12px 50%);
}
.appr-odo-stage:first-child {
  padding-left:16px;
  clip-path:polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%);
  border-radius:4px 0 0 4px;
}
.appr-odo-stage.is-active { background:#cfe2ff; color:#084298; }
.appr-odo-stage.is-done { background:#e9ecef; color:#495057; }
.appr-odo-stage.is-refused { background:#f8d7da; color:#842029; }

.appr-odo-form__layout {
  display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:16px; align-items:start;
}
@media (max-width:960px){ .appr-odo-form__layout { grid-template-columns:1fr; } }
.appr-odo-form__sheet {
  background:#fff; border:1px solid #e9ecef; border-radius:6px; padding:18px 20px;
}
.appr-odo-field { display:flex; flex-direction:column; gap:4px; font-size:.8rem; color:#6c757d; margin-bottom:12px; }
.appr-odo-field input, .appr-odo-field select, .appr-odo-field textarea {
  border:1px solid #ced4da; border-radius:4px; padding:6px 8px; font-size:.875rem; color:#1e2b3c; background:#fff;
}
.appr-odo-field--title input {
  font-size:1.35rem; font-weight:500; border:0; border-bottom:1px solid #ced4da; border-radius:0;
  padding:8px 0; width:100%; outline:none;
}
.appr-odo-form__grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; }
@media (max-width:720px){ .appr-odo-form__grid { grid-template-columns:1fr; } }
.appr-odo-period { display:flex; align-items:center; gap:8px; }
.appr-odo-period input { flex:1; border:1px solid #ced4da; border-radius:4px; padding:6px 8px; font-size:.875rem; }

.appr-odo-tabs { margin-top:8px; }
.appr-odo-tabs__nav {
  display:flex; gap:4px; border-bottom:1px solid #dee2e6; margin-bottom:12px;
}
.appr-odo-tab {
  border:0; background:transparent; padding:8px 14px; font-size:.875rem; color:#6c757d;
  cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px;
}
.appr-odo-tab.is-active { color:var(--o-brand,#714B67); border-bottom-color:var(--o-brand,#714B67); font-weight:600; }
.appr-odo-tabpanel[hidden] { display:none !important; }
.appr-odo-lines input {
  width:100%; border:1px solid #ced4da; border-radius:4px; padding:4px 6px; font-size:.8125rem;
}
.appr-odo-add-line {
  background:none; border:0; color:#0d6efd; cursor:pointer; font-size:.875rem;
  padding:8px 0; text-decoration:underline;
}
.appr-odo-form__footer { display:flex; gap:8px; margin-top:16px; flex-wrap:wrap; }
.appr-odo-chatter {
  background:#fff; border:1px solid #e9ecef; border-radius:6px; padding:14px; min-height:200px;
}
.appr-odo-chatter__actions { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.appr-odo-chatter__log { font-size:.8125rem; color:#6c757d; }
.appr-odo-attach-name { font-size:.8rem; color:#495057; }
.sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.inline-form { display:inline; margin:0; }

/* Engrane siempre visible; Configuracion nunca como pill */
.approvals-module-nav .o_cp_gear_btn,
.approvals-module-nav .discuss-module-nav-config-btn {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  color: var(--gray-600, #4b5563);
}
.approvals-module-nav .o_cp_gear_btn .sfe-gear-glyph {
  font-size: 15px;
  line-height: 1;
}
.approvals-module-nav .o_cp_gear_btn .icon {
  width: 16px;
  height: 16px;
}
.approvals-module-nav [data-approvals-nav-group="configuracion"],
.approvals-module-nav [data-sfe-nav-group="configuracion"] {
  display: none !important;
}
.approvals-module-nav.discuss-module-nav .discuss-module-nav-config-wrap {
  margin-left: auto;
  display: inline-flex !important;
}
