@font-face { font-family:Manrope; font-style:normal; font-weight:200 800; font-display:swap; src:url('assets/fonts/Manrope-Variable.ttf') format('truetype'); }
:root { --nd-navy:#102f46; --nd-teal:#087f75; --nd-subtle:#607588; --nd-line:#d5e1e8; --nd-radius:10px; }
body, button, input, select, textarea { font-family:Manrope,system-ui,sans-serif; }
/* Compact hierarchy, with the existing action controls kept intact. */
#ticketDetailSection .ticket-detail-header { display:block; padding:16px 18px; margin-bottom:0; border-radius:var(--nd-radius) var(--nd-radius) 0 0; }
#ticketDetailSection .ticket-detail-header h2 { font-size:clamp(1.15rem,1.65vw,1.65rem); line-height:1.25; margin-top:4px; }
#ticketDetailSection .ticket-header-meta { gap:8px; margin-top:10px; }
#ticketDetailSection .ticket-header-meta-main { flex-wrap:wrap; gap:10px 16px; }
#ticketDetailSection .ticket-header-meta-context { gap:6px; }
#ticketDetailSection .ticket-header-chip { padding:4px 8px; border-radius:6px; }
#ticketDetailSection .ticket-header-fact strong { font-size:.82rem; }
#ticketDetailSection .operational-action-bar { position:sticky; top:8px; z-index:22; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; padding:10px 14px; margin:0 0 16px; border:1px solid var(--nd-line); border-radius:0 0 var(--nd-radius) var(--nd-radius); background:#fff; box-sizing:border-box; max-width:100%; }
#ticketDetailSection .operational-action-bar .ticket-action { min-height:38px; padding:8px 12px; width:auto; font-size:.78rem; }
#ticketDetailSection .operational-action-bar .ticket-action-workflow { background:#fff; border-color:#9bb8c7; color:var(--nd-navy); }
.operational-equipment-context { color:var(--nd-subtle); font-size:.8rem; line-height:1.5; margin:7px 0 0; overflow-wrap:anywhere; }
.operational-actions-menu { position:relative; min-width:0; margin-left:auto; }
.operational-actions-menu > summary { display:flex; align-items:center; justify-content:center; gap:10px; cursor:pointer; border:1px solid #bfd0dc; border-radius:8px; padding:9px 12px; min-height:38px; box-sizing:border-box; color:var(--nd-navy); font-size:.78rem; font-weight:650; list-style:none; }
.operational-actions-menu > summary::-webkit-details-marker { display:none; }
.operational-actions-menu[open] > summary { border-color:var(--nd-teal); color:var(--nd-teal); }
.operational-actions-list { position:absolute; right:0; top:calc(100% + 7px); display:grid; gap:4px; padding:7px; width:230px; max-width:calc(100vw - 40px); background:#fff; border:1px solid var(--nd-line); border-radius:var(--nd-radius); box-shadow:0 10px 26px #102f461a; max-height:min(65vh,420px); overflow-y:auto; }
#ticketDetailSection .operational-actions-list .ticket-action { width:100%; justify-content:flex-start; text-align:left; background:transparent; border-color:transparent; color:var(--nd-navy); white-space:normal; }
#ticketDetailSection .operational-actions-list .ticket-action:hover { background:#f0f6f8; }
#ticketDetailSection .operational-actions-list .ticket-action-danger { color:#b63838; border-top:1px solid #e3eaf0; border-radius:0 0 6px 6px; }
#ticketDetailSection .ticket-detail-layout { grid-template-columns:minmax(0,1fr) minmax(275px,320px); align-items:start; gap:16px; }
#ticketDetailSection .ticket-sidebar { min-width:0; }
#ticketDetailSection .ticket-main > section { padding:14px 16px; box-shadow:none; }
#ticketDetailSection .sidebar-card { box-shadow:none; padding:12px 14px; }
#ticketDetailSection .time-card-summary > strong { font-size:1.55rem; }
#ticketDetailSection .sidebar-card p { font-size:.8rem; line-height:1.5; margin-block:7px; }
#ticketDetailSection .ai-assistant-launch { display:flex; align-items:center; gap:10px; min-height:52px; padding:0; }
#ticketDetailSection .fyre-assistant-portrait { width:42px; height:42px; flex:0 0 42px; min-width:0; }
#ticketDetailSection .fyre-assistant-portrait img { width:100%; height:100%; object-fit:contain; }
#ticketDetailSection .ai-assistant-launch strong { font-size:.85rem; }
#ticketDetailSection .ai-assistant-launch small { font-size:.72rem; }
#ticketDetailSection .fyre-assistant-role { display:block; font-size:.7rem; font-weight:500; }
#ticketDetailSection .work-editor-field .rich-editor-area { min-height:96px; max-height:none; height:auto; padding:12px; }
#ticketDetailSection .work-entry-card { min-height:0; padding:10px 12px; gap:6px; }
#ticketDetailSection .work-entry-card > header { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
#ticketDetailSection .work-entry-heading-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:6px 12px; }
#ticketDetailSection .work-entry-heading-actions time { font-size:.72rem; color:var(--nd-subtle); }
#ticketDetailSection .work-entry-body { font-size:.9rem; line-height:1.55; margin:0; }
#ticketDetailSection .work-entry-body pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.operational-disclosure { border-top:1px solid var(--nd-line); padding-top:10px; }
.operational-disclosure > summary { cursor:pointer; padding:8px 0; color:var(--nd-navy); font-size:.85rem; font-weight:650; }
.operational-disclosure > summary small { font-weight:400; font-size:.73rem; color:var(--nd-subtle); margin-left:10px; }
.operational-disclosure > label { margin-top:8px; }
/* The state is always named: color is a second cue, never the only one. */
.status.pausado { color:#8c5e09; background:#fff2d6; border-color:#ebd29c; }
.status.en-proceso,.status.en-atencion,.status.en-sitio { color:#08766e; background:#e1f4f0; }
.operational-next-step { display:block; color:var(--nd-subtle); font-size:.74rem; line-height:1.4; margin-top:5px; }
.operational-site { display:block; color:var(--nd-teal); font-size:.76rem; font-weight:600; margin-top:3px; overflow-wrap:anywhere; }
.workshop-table td { padding-block:11px; vertical-align:middle; }
.workshop-table td :is(strong,span) { overflow-wrap:anywhere; }
.agenda-card .meta,.schedule-card .meta { gap:6px 14px; }
.billing-row .billing-readiness small { line-height:1.45; }
.billing-readiness-pill.review { border-radius:6px; background:#fff3dc; color:#865b13; }
.billing-readiness-pill.ready { border-radius:6px; background:#e3f4ef; color:#08766e; }
.invoice-preparation-hint { margin:0; padding:10px 12px; border-left:3px solid #d59829; background:#fff8eb; font-size:.8rem; line-height:1.5; color:#73551c; }
/* Unified affordances without changing a selector's data, creation or permission rules. */
:is(.lookup-menu,.equipment-lookup-menu,.client-lookup-menu) { border-color:var(--nd-line); border-radius:8px; font-family:inherit; }
:is(.lookup-menu,.equipment-lookup-menu,.client-lookup-menu) button { font-family:inherit; min-height:38px; text-align:left; }
dialog :is(input,select,textarea) { font-size:.88rem; }
dialog .field-help, dialog .dialog-helper { line-height:1.45; }
@media(max-width:1050px) { #ticketDetailSection .ticket-detail-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:620px) {
  #ticketDetailSection .ticket-detail-header { padding:12px; }
  #ticketDetailSection .operational-action-bar { top:0; padding:8px; gap:6px; }
  #ticketDetailSection .operational-action-bar .ticket-action { min-height:44px; padding:7px 10px; font-size:.75rem; }
  .operational-actions-menu > summary { min-height:44px; padding:8px 10px; }
  #ticketDetailSection .work-entry-card > header { flex-wrap:wrap; }
  #ticketDetailSection .work-entry-heading-actions { justify-content:flex-start; }
  .operational-disclosure > summary small { display:block; margin:4px 0 0; }
}

#ticketDetailSection :is(.operational-actions-menu,.operational-equipment-context,.ticket-header-chip)[hidden] { display:none !important; }

/* Keep icon artwork and text centered without inherited absolute-position crops. */
#ticketDetailSection #aiAssistantBtn { display:grid; grid-template-columns:56px minmax(0,1fr) 20px; align-items:center; gap:12px; min-height:72px; padding:0; }
#ticketDetailSection #aiAssistantBtn .fyre-assistant-portrait { align-self:center; display:grid; place-items:center; width:56px; height:56px; overflow:visible; }
#ticketDetailSection #aiAssistantBtn .fyre-assistant-portrait img { position:static; inset:auto; display:block; width:100%; height:100%; max-width:100%; object-fit:contain; }
#ticketDetailSection #aiAssistantBtn > span:nth-child(2) { padding:0; }
#ticketDetailSection #aiAssistantBtn .ai-assistant-launch-arrow { align-self:center; justify-self:end; padding:0; line-height:1; }
.operational-actions-menu > summary svg { display:block; flex:0 0 12px; align-self:center; }
#ticketDetailSection #ticketEquipmentWarrantyNotice { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 12px; padding:8px 12px; margin:8px 0 12px; border-left-width:3px; border-radius:8px; font-size:.8rem; line-height:1.45; }
#ticketDetailSection #ticketEquipmentWarrantyNotice.hidden { display:none; }
#ticketDetailSection #ticketEquipmentWarrantyNotice :is(strong,span) { display:inline; font-size:inherit; }
#ticketDetailSection #ticketEquipmentWarrantyNotice small { flex-basis:100%; font-size:.73rem; }
#ticketDetailSection .assembly-task-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
#ticketDetailSection .assembly-task-item { min-width:0; padding:4px 0; }
#ticketDetailSection .assembly-task-item label { min-height:36px; }
#ticketDetailSection .assembly-task-item :is(span,small) { overflow-wrap:anywhere; }
#ticketDetailSection .assembly-task-list > p { grid-column:1/-1; }
@media(max-width:700px) { #ticketDetailSection .assembly-task-list { grid-template-columns:minmax(0,1fr); } }

.vault-capacity-inline { display:block; margin-top:4px; padding:0; border:0; background:transparent; color:#607588; font-size:.74rem; line-height:1.4; overflow-wrap:anywhere; }
.vault-capacity-inline.capacity-error { color:#a52a32; }
.vault-account-count { display:inline; margin-left:6px; color:#607588; font-size:.72rem; white-space:nowrap; }
.vault-software-table td { padding-block:12px; }
.assembly-license-recovery { margin:4px 0; }
.assembly-license-recovery > summary { cursor:pointer; font-size:.82rem; padding:8px 0; }
.assembly-license-recovery[open] > .form-row { margin-top:8px; }

.vault-capacity-breakdown { margin:8px 0; }
.vault-capacity-breakdown > summary { cursor:pointer; padding:6px 0; color:#607588; font-size:.8rem; }

.vault-software-table th:nth-child(1), .vault-software-table td:nth-child(1) { width:110px; }
.vault-software-table th:nth-child(3), .vault-software-table td:nth-child(3) { width:210px; }
.vault-software-table th:nth-child(4), .vault-software-table td:nth-child(4) { width:210px; }
.vault-software-table th:nth-child(5), .vault-software-table td:nth-child(5) { width:150px; }
.vault-software-table th:nth-child(6), .vault-software-table td:nth-child(6) { width:160px; }
