/* OSU Workbench — interfaz serena para jornadas prolongadas. */
:root {
  --navy:#28343a;
  --blue:#3f6876;
  --blue-2:#315661;
  --teal:#5f7f77;
  --ink:#262b2e;
  --muted:#687077;
  --line:#d9d6cf;
  --surface:#fbfaf7;
  --background:#f1f0eb;
  --soft-blue:#e8edef;
  --soft-teal:#e6eeea;
  --soft-amber:#f3ecdc;
  --field:#fffefa;
  --table-head:#eeece6;
  --row-hover:#f5f3ee;
  --success:#39705b;
  --success-surface:#e5eee9;
  --warning:#9a6a20;
  --warning-ink:#654817;
  --warning-surface:#f4ecda;
  --danger:#a24646;
  --danger-surface:#f3e5e3;
  --shadow:0 5px 18px rgba(38,43,46,.055);
}

:root[data-theme="dark"] {
  --navy:#c2ced0;
  --blue:#83a9b2;
  --blue-2:#9dbbc2;
  --teal:#8eaea4;
  --ink:#e5e4df;
  --muted:#a5a9a8;
  --line:#383d3d;
  --surface:#202424;
  --background:#171a1a;
  --soft-blue:#293538;
  --soft-teal:#293734;
  --soft-amber:#3b3325;
  --field:#252929;
  --table-head:#292d2d;
  --row-hover:#282c2c;
  --success:#82b59f;
  --success-surface:#263832;
  --warning:#d1aa67;
  --warning-ink:#e3c88f;
  --warning-surface:#3b3325;
  --danger:#d58b86;
  --danger-surface:#402d2d;
  --shadow:0 5px 20px rgba(0,0,0,.16);
}

html,body{background:var(--background)}
body{letter-spacing:.001em}
.main-column::before{opacity:.018!important;filter:grayscale(.25)}

/* Navegación sobria: el logotipo conserva identidad, el menú deja de competir. */
.sidebar,.sidebar:hover,.sidebar:focus-within{
  color:#d8dddc;
  background:#242d30!important;
  box-shadow:8px 0 22px rgba(20,25,26,.12)!important;
}
:root[data-theme="dark"] .sidebar{background:#1d2325!important}
.brand{margin-bottom:16px}
.brand-shield::before{opacity:.38!important;filter:blur(13px)!important;animation-duration:5.5s!important}
.brand-shield img{animation-duration:5.5s!important}
.brand strong{color:#f2f1ed}.brand small,.sidebar-footer small{color:#aeb9b7}
.nav-section-label{color:#899895;letter-spacing:.12em}
.nav-list a,.nav-group{min-height:38px;color:#c7cfcd;border-radius:6px;font-weight:520}
.nav-list a:hover,.nav-group:hover{color:#fff;background:#303b3e}
.nav-list a.active{color:#fff;background:#405b5a!important;box-shadow:inset 3px 0 #9abbb1!important}
.nav-icon{border:0!important;border-radius:0!important;color:#aebbb8}
.nav-list a.active .nav-icon{color:#fff}
.nav-submenu a{color:#b7c1bf;font-size:13px}
.sidebar-footer{border-color:#3a4547}.status-dot{background:#7fbaa4;box-shadow:0 0 0 3px rgba(127,186,164,.11)}
.sidebar-pin{display:flex;align-items:center;justify-content:center;width:auto;height:28px;padding:4px 8px;top:10px;right:10px;border-color:#526064;color:#e6ebe9;background:#303b3e;font-size:10px;font-weight:750;opacity:0;pointer-events:none;transition:opacity .14s}
.sidebar:hover .sidebar-pin,.sidebar:focus-within .sidebar-pin,body.sidebar-pinned .sidebar-pin{opacity:1;pointer-events:auto}
body.sidebar-pinned{--osu-rail:var(--osu-sidebar-open)}
body.sidebar-pinned .sidebar{width:var(--osu-sidebar-open)!important;padding:18px 14px 14px!important;box-shadow:8px 0 22px rgba(20,25,26,.12)!important}
body.sidebar-pinned .sidebar .brand{margin:8px 0 14px}
body.sidebar-pinned .sidebar .brand-shield{width:72px!important;height:72px!important}
body.sidebar-pinned .sidebar .brand-shield img{width:68px!important;height:68px!important}
body.sidebar-pinned .sidebar .brand strong{font-size:14px!important}
body.sidebar-pinned .sidebar .brand small{font-size:9px!important}
body.sidebar-pinned .sidebar .nav-section-label{height:auto!important;margin:8px 10px 1px!important;font-size:9px!important}
body.sidebar-pinned .sidebar .nav-list a,body.sidebar-pinned .sidebar .nav-group{justify-content:flex-start!important;padding:8px 10px!important;font-size:14px!important}
body.sidebar-pinned .sidebar .nav-submenu:not([hidden]){display:grid!important;font-size:14px!important}
body.sidebar-pinned .sidebar .sidebar-footer div{display:flex!important;font-size:12px!important}

/* Barra de trabajo. */
.topbar{height:68px;padding-inline:clamp(16px,2vw,30px);border-color:var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 1px 8px rgba(38,43,46,.025)}
.page-heading span{color:var(--muted);font-size:10px}.page-heading h1{font-size:19px;font-weight:690}
.search-box{border-radius:6px;background:var(--field)}
.user-chip>span{border-radius:6px;background:#35464b}
.user-menu{position:relative;z-index:45}.user-menu-trigger{width:42px;height:42px;display:grid;place-items:center;padding:2px;border:1px solid var(--line);border-radius:7px;background:var(--surface);cursor:pointer;text-align:center}.user-menu-trigger:hover,.user-menu.open .user-menu-trigger{border-color:#8f9a9e;background:var(--row-hover)}.user-menu-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 34%,transparent);outline-offset:2px}.user-menu-trigger:disabled{cursor:default;opacity:.76}.user-menu-trigger #user-initials{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;color:#fff;background:#35464b;font-size:12px;font-weight:750}.user-menu-identity,.user-menu-caret{display:none!important}.user-menu-panel{position:absolute;top:calc(100% + 9px);right:0;z-index:50;width:232px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 15px 36px rgba(22,32,51,.18)}.user-menu-summary{display:flex;flex-direction:column;gap:3px;padding:13px 14px 11px;border-bottom:1px solid var(--line);background:var(--field)}.user-menu-summary strong{font-size:13px;color:var(--ink)}.user-menu-summary small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.user-menu-item{width:100%;min-height:39px;display:flex;align-items:center;gap:9px;padding:9px 14px;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 68%,transparent);color:var(--ink);background:var(--surface);font:inherit;font-size:13px;font-weight:610;text-align:left;text-decoration:none;cursor:pointer}.user-menu-item:last-child{border-bottom:0}.user-menu-item:hover,.user-menu-item:focus-visible{background:var(--row-hover)}.user-menu-item>span{width:16px;color:var(--muted);font-size:16px;text-align:center}.user-menu-logout{color:#a33131}.user-menu-logout>span{color:inherit}
.content{padding-top:22px}

/* Controles convencionales, compactos y sin estética generativa. */
.button{min-height:36px;padding:7px 13px;border-radius:6px;font-weight:620;box-shadow:none;transition:border-color .14s,background .14s,color .14s}
.button:hover{border-color:#a7aaa6;background:var(--row-hover);transform:none}
.button-primary{color:#fff;border-color:#42666d;background:#42666d;box-shadow:none}
.button-primary:hover{border-color:#34545a;background:#34545a}
.button-danger{border-color:#9c4d4a;background:#9c4d4a}
.button-small{min-height:30px;padding:5px 9px;border-radius:5px}
.icon-button,.chrome-pin{border-radius:6px;background:var(--field);box-shadow:none}
.icon-button.active{border-color:var(--teal);background:var(--teal)}
.input,.select,.textarea{min-height:38px;border-radius:6px;background:var(--field)}
.input:focus,.select:focus,.textarea:focus{border-color:#668993;box-shadow:0 0 0 2px rgba(63,104,118,.12)}
.badge{min-height:23px;padding:3px 7px;border-radius:5px;font-weight:650}

/* Superficies con menos volumen visual. */
.panel,.stat-card,.osu-kpi,.module-card,.metric-card{border-radius:9px;box-shadow:var(--shadow)}
.panel{padding:18px}.stat-card{min-height:112px;padding:16px}.stat-card .value{margin-top:11px;font-size:24px}
.stats-grid,.osu-kpi-grid{gap:12px}.dashboard-grid,.dashboard-finance-grid{gap:14px}
.osu-kpi{min-height:116px;padding:16px;border-radius:9px;transition:border-color .14s,background .14s}
.osu-kpi:hover{transform:none;border-color:#8da3a5;background:var(--row-hover)}
.osu-kpi.kpi-primary{border-color:#bcc9c8;background:color-mix(in srgb,var(--soft-teal) 52%,var(--surface))}
.osu-kpi span{font-size:11px;letter-spacing:.025em;text-transform:none}.osu-kpi strong{margin:10px 0 7px;font-size:22px}
.data-table th{padding:9px 11px;letter-spacing:.035em}.data-table td{padding:10px 11px}
.activity-icon{border-radius:6px}

/* Encabezados informativos: claros y planos en lugar de bloques azules. */
.hero-strip,.osu-dashboard-head,.support-hero{
  color:var(--ink)!important;
  border:1px solid var(--line);
  border-left:4px solid #5f7f77;
  border-radius:9px;
  background:var(--surface)!important;
  box-shadow:var(--shadow);
}
.hero-strip{padding:18px 20px}.hero-strip p,.osu-dashboard-head p,.support-hero p{color:var(--muted)!important}
.hero-strip .button{color:var(--ink);border-color:var(--line);background:var(--field)}
.osu-dashboard-head{padding:19px 22px}.osu-dashboard-head h2{font-size:24px}
.dashboard-welcome>div:first-child span,.dashboard-period label,.support-hero>div:first-child>span{color:var(--teal)!important}
.dashboard-period{border-color:var(--line);border-radius:7px;background:var(--background)}
.dashboard-period span{color:var(--muted)!important}.dashboard-period .select,.support-controls .select{color:var(--ink);border-color:var(--line);background:var(--field)}
.support-controls label,.support-controls small{color:var(--muted)}

/* Estados accesibles sin grandes manchas saturadas. */
.osu-alert{padding:11px 13px;border-left-width:3px;border-radius:6px;background:var(--soft-blue)}
.osu-alert.warning{background:var(--warning-surface)}.osu-alert.critical{background:var(--danger-surface)}
.quote-context-filter,.dashboard-support-summary{border-radius:8px;background:var(--surface)}
.finance-breakdown a,.osu-module-links a,.support-assignees>div{border-radius:7px;background:transparent}
.osu-module-links a:hover,.osu-flow a:hover{border-color:#9cafaf;background:var(--row-hover)}
.support-sphere{min-height:170px;border-radius:9px;box-shadow:var(--shadow)}
.support-sphere>div{border-width:7px;background:var(--background)}

/* Ventanas y asistentes. */
.modal-backdrop{background:rgba(30,35,36,.52);backdrop-filter:blur(2px)}
.modal{border:1px solid var(--line);border-radius:11px!important;box-shadow:0 18px 50px rgba(28,33,34,.22)!important}
.modal-header,.modal-footer{background:var(--surface)}
.technical-assistant{border-color:var(--line);border-radius:10px;box-shadow:0 16px 44px rgba(28,33,34,.18)}
body.assistant-collapsed .technical-assistant{border-radius:10px;background:#496b70;box-shadow:0 7px 20px rgba(28,33,34,.16)}
.fiscal-drop{border-color:#82999b;border-radius:8px;color:var(--blue);background:var(--row-hover)}

/* Acceso: profesional y descansado, sin pared azul. */
.access-screen{background:var(--background)}
.access-card{border-color:var(--line);border-radius:14px;background:var(--surface);box-shadow:0 22px 60px rgba(28,33,34,.16)}
.access-brand{color:var(--ink);background:#e8e7e1}.access-brand h1{color:#28343a}.access-brand p{color:#687077}
.access-security>span{color:var(--teal)}.access-security strong{color:var(--ink)}.access-security p,.access-form small{color:var(--muted)}
.access-form label{color:var(--ink)}.access-form .input{color:var(--ink);border-color:var(--line);background:var(--field)}
.access-foot span{border-radius:5px;color:var(--teal);background:var(--soft-teal)}
.role-summary{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}

@media(max-width:760px){
  body.sidebar-pinned{--osu-rail:0px}
  .sidebar-pin{display:none!important}
  .topbar{min-height:62px}.content{padding:14px 10px 32px}
  .sidebar.open{background:#242d30!important;box-shadow:12px 0 34px rgba(20,25,26,.25)!important}
  .sidebar-backdrop:not([hidden]){background:rgba(24,29,30,.48);backdrop-filter:blur(1px)}
  .hero-strip,.osu-dashboard-head,.support-hero{padding:16px}
  .panel{padding:15px}.stat-card{min-height:98px}
}

.crm-pipeline{display:grid;grid-template-columns:repeat(6,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}.crm-pipeline>.panel{padding:14px;min-height:180px}.crm-card{display:grid;width:100%;gap:5px;margin:8px 0;padding:12px;border:1px solid var(--border,#dfe3e8);border-radius:10px;background:var(--surface,#fff);color:inherit;text-align:left;cursor:pointer}.crm-card:hover{border-color:var(--primary,#1e5dff);box-shadow:0 5px 16px rgba(23,32,51,.08)}.crm-card span,.crm-card small{color:var(--muted,#667085)}.crm-card b{font-size:13px}@media(max-width:760px){.crm-pipeline{grid-template-columns:repeat(6,minmax(250px,82vw))}}
.analytics-bar{display:inline-block;width:min(130px,45%);height:7px;margin-right:8px;overflow:hidden;border-radius:999px;background:rgba(30,93,255,.1);vertical-align:middle}.analytics-bar i{display:block;height:100%;border-radius:inherit;background:#1e5dff}.analytics-bar.expense{background:rgba(217,144,0,.12)}.analytics-bar.expense i{background:#d99000}

/* 96.20 — contraste estructural para trabajo prolongado.
   Los dos temas usan bordes visibles y jerarquía constante, sin depender de sombras. */
:root{
  --background:#eef1f2;
  --surface:#ffffff;
  --field:#ffffff;
  --ink:#1d272c;
  --muted:#526168;
  --line:#aeb9be;
  --line-strong:#7f9097;
  --table-head:#e3e8ea;
  --row-hover:#edf3f2;
  --soft-blue:#e4edef;
  --soft-teal:#e1ece8;
  --action:#315e68;
  --shadow:0 4px 14px rgba(28,40,45,.08);
}
:root[data-theme="dark"]{
  --background:#101516;
  --surface:#1b2224;
  --field:#121819;
  --ink:#f0f3f1;
  --muted:#b5c0bd;
  --line:#536267;
  --line-strong:#74868c;
  --table-head:#283235;
  --row-hover:#2b3638;
  --soft-blue:#29383c;
  --soft-teal:#293a35;
  --action:#356875;
  --shadow:0 5px 16px rgba(0,0,0,.3);
}

/* Cuadros y bloques principales. */
.panel,.stat-card,.osu-kpi,.module-card,.metric-card,.support-sphere,
.dashboard-support-summary,.quote-context-filter,.permission-module,
.permission-checks label,.personal-task,.technical-assistant,.assistant-chat,
.assistant-message,.crm-card{
  border:2px solid var(--line)!important;
}
.panel-header,.panel-heading,.section-toolbar{border-color:var(--line)}
.panel-header h2,.panel-header h3,.panel-heading h2,.panel-heading h3,
.section-toolbar h2,.form-field label,.field label{color:var(--ink);font-weight:700}
.help-text,.panel-header p,.panel-heading p{color:var(--muted)!important}

/* Campos: el área editable se reconoce incluso sin foco. */
.input,.select,.textarea,.money-with-prefix,.money-with-suffix,
.general-discount-control>label,.notes-section textarea,.notes-tasks input{
  border:2px solid var(--line-strong)!important;
  color:var(--ink);
  background:var(--field);
}
.input:hover,.select:hover,.textarea:hover,.notes-section textarea:hover,.notes-tasks input:hover{border-color:var(--blue)!important}
.input:focus,.select:focus,.textarea:focus,.notes-section textarea:focus,.notes-tasks input:focus{
  border-color:var(--blue)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 24%,transparent)!important;
}
.input::placeholder,.textarea::placeholder{color:color-mix(in srgb,var(--muted) 86%,transparent);opacity:1}

/* Botones con silueta y estados inequívocos. */
.button,.icon-button,.chrome-pin,.line-action,.assistant-quick-prompts button{
  border-width:2px!important;
  border-color:var(--line-strong);
  font-weight:700;
}
.button:not(.button-primary):not(.button-danger):hover,.icon-button:hover,.chrome-pin:hover{
  color:var(--ink);border-color:var(--blue)!important;background:var(--soft-blue);
}
.button-primary{color:#fff;border-color:color-mix(in srgb,var(--action) 72%,#000)!important;background:var(--action)}
.button-primary:hover{border-color:var(--ink)!important;filter:brightness(.94)}
.button:focus-visible,.icon-button:focus-visible,.chrome-pin:focus-visible,.line-action:focus-visible{
  outline:3px solid color-mix(in srgb,var(--blue) 38%,transparent);outline-offset:2px;
}

/* Tablas y listas: separación horizontal más clara. */
.table-wrap{border:2px solid var(--line);border-radius:8px;background:var(--surface)}
.data-table th{color:var(--ink);border-bottom:2px solid var(--line-strong);background:var(--table-head);font-weight:750}
.data-table td{border-bottom:1px solid var(--line)}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:var(--row-hover)}

/* Navegación: cada opción tiene contorno y el activo no depende solo del color. */
.sidebar,.sidebar:hover,.sidebar:focus-within{border-right:2px solid #4c5d61;background:#202a2d!important}
:root[data-theme="dark"] .sidebar{border-right-color:#607277;background:#182023!important}
.nav-list a,.nav-group{border:1px solid transparent}
.nav-list a:hover,.nav-group:hover{border-color:#657579;background:#303b3e}
.nav-list a.active{border:2px solid #a8c7be!important;border-left-width:4px!important;background:#3d5b59!important;box-shadow:none!important}
.nav-submenu{border-left:2px solid #516166}
.nav-submenu a{border-radius:5px}
.nav-section-label{color:#a7b6b2}
.topbar{border-bottom:2px solid var(--line-strong);box-shadow:0 3px 10px rgba(28,40,45,.07)}

/* Ventanas, avisos y accesos mantienen los mismos límites. */
.modal,.access-card{border:2px solid var(--line-strong)!important}
.modal-header{border-bottom:2px solid var(--line)}
.modal-footer{border-top:2px solid var(--line)}
.osu-alert{border:1px solid var(--line);border-left-width:5px}
.hero-strip,.osu-dashboard-head,.support-hero{border:2px solid var(--line-strong);border-left-width:5px}
.access-form .input{border-width:2px!important}
.money-with-prefix .input,.money-with-suffix .input{border:0!important;box-shadow:none!important}

@media(max-width:760px){
  .panel,.stat-card,.osu-kpi,.module-card,.metric-card{border-width:2px!important}
  .sidebar.open{border-right:2px solid #697b80!important}
}

/* 96.22 — jerarquía compacta y ubicación consistente de acciones. */
:root{--control-height:36px;--control-height-small:28px;--control-gap:7px}
.button{
  min-height:var(--control-height);
  height:auto;
  padding:0 12px;
  line-height:1.15;
  vertical-align:middle;
}
.button-small{min-height:var(--control-height-small);padding:0 8px;font-size:11px}
.icon-button,.chrome-pin{width:var(--control-height);height:var(--control-height);min-width:var(--control-height);padding:0}
.line-action{width:26px;height:26px;min-width:26px;padding:0;border-radius:5px}
.line-drag-handle{width:26px;min-width:26px}

.filters,.table-actions,.topbar-actions,.dashboard-quick-actions,.report-actions,
.assistant-analysis-actions,.quote-bottom-actions>div{
  align-items:center;
  column-gap:var(--control-gap);
  row-gap:7px;
}
.filters .button,.table-actions .button,.report-actions .button{margin:0}
.table-actions,.data-table td:last-child>.filters,.data-table td:last-child .table-actions{justify-content:flex-end}
.data-table td:last-child>.filters{display:flex;flex-wrap:wrap}
.data-table td:last-child .button-small{margin:0}

.section-toolbar,.panel-header,.panel-heading,.hero-strip,.osu-dashboard-head,.support-hero{
  align-items:center;
}
.section-toolbar>div:first-child,.panel-header>div:first-child,.panel-heading>div:first-child,
.hero-strip>div:first-child,.osu-dashboard-head>div:first-child,.support-hero>div:first-child{min-width:0}
.section-toolbar>.button,.panel-header>.button,.panel-heading>.button,
.hero-strip>.button,.osu-dashboard-head>.button,.support-hero>.button{flex:0 0 auto}
.hero-strip>.filters,.osu-dashboard-head>.filters,.support-hero>.filters{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  max-width:64%;
}
.section-toolbar>.filters,.panel-header>.filters,.panel-heading>.filters{display:flex;flex-wrap:wrap;justify-content:flex-end}

.modal-header .icon-button{align-self:flex-start}
.modal-footer{align-items:center;justify-content:flex-end;gap:var(--control-gap);padding:11px 18px}
.modal-footer .button{min-width:92px}
.modal-footer .button-primary,.modal-footer .button-danger{min-width:116px}
.topbar-actions .button,.topbar-actions .icon-button{flex:0 0 auto}
.topbar-actions #new-quote-top{min-height:38px;padding-inline:14px}
.access-form .button{height:46px;min-height:46px}
.notes-tasks form button{width:36px;height:36px;padding:0}
.summary-actions .button{width:100%}
.quote-bottom-actions{align-items:center}
.quote-bottom-actions>div{margin-left:auto}
.report-actions{padding:14px}

@media(max-width:760px){
  :root{--control-height:40px;--control-height-small:32px;--control-gap:7px}
  .section-toolbar,.panel-header,.panel-heading{align-items:stretch}
  .section-toolbar>.filters,.panel-header>.filters,.panel-heading>.filters,
  .hero-strip>.filters,.osu-dashboard-head>.filters,.support-hero>.filters{width:100%;max-width:none;justify-content:flex-start}
  .hero-strip>.filters .button,.osu-dashboard-head>.filters .button,.support-hero>.filters .button{flex:0 1 auto}
  .modal-footer{flex-wrap:wrap;padding:12px 14px}
  .modal-footer .button{flex:1 1 120px;min-width:0}
  .table-actions,.data-table td:last-child>.filters{justify-content:flex-start}
  .button-small{white-space:normal;text-align:center}
  .quote-bottom-actions>div{width:100%;margin-left:0}
  .quote-bottom-actions .button{flex:1 1 150px}
}

@media(max-width:420px){
  .hero-strip>.filters .button,.osu-dashboard-head>.filters .button,.support-hero>.filters .button{flex:1 1 calc(50% - 4px)}
  .modal-footer .button{flex:1 1 calc(50% - 4px)}
  .modal-footer .button-primary:only-child,.modal-footer .button-danger:only-child{flex-basis:100%}
  .dashboard-quick-actions{grid-template-columns:1fr}
}

/* 96.23 — sistema único de medidas y ubicación para botones. */
:root{
  --button-height:36px;
  --button-height-compact:30px;
  --button-radius:7px;
  --button-space:8px;
}

.button{
  box-sizing:border-box;
  min-width:0;
  min-height:var(--button-height);
  padding:0 13px;
  border-radius:var(--button-radius);
  line-height:1.2;
}
.button-small{
  min-height:var(--button-height-compact);
  padding:0 9px;
  border-radius:6px;
  font-size:11px;
}
.icon-button,.chrome-pin{
  box-sizing:border-box;
  width:var(--button-height);
  min-width:var(--button-height);
  height:var(--button-height);
  min-height:var(--button-height);
  display:inline-grid;
  place-items:center;
  padding:0;
  line-height:1;
}

/* Las acciones principales permanecen a la derecha y alineadas entre sí. */
.section-toolbar,.panel-header,.panel-heading,.hero-strip,.osu-dashboard-head,.support-hero{
  column-gap:16px;
  row-gap:10px;
}
.section-toolbar>.filters,.panel-header>.filters,.panel-heading>.filters,
.hero-strip>.filters,.osu-dashboard-head>.filters,.support-hero>.filters,
.table-actions,.modal-footer,.quote-bottom-actions>div{
  gap:var(--button-space);
}
.hero-strip>.filters,.osu-dashboard-head>.filters,.support-hero>.filters{
  margin-left:auto;
  align-self:center;
}
.section-toolbar>.filters,.panel-header>.filters,.panel-heading>.filters{
  margin-left:auto;
}

/* En tablas los controles ocupan una sola franja compacta y no agrandan la fila. */
.data-table td:last-child{min-width:0}
.data-table td:last-child>.filters,.data-table td:last-child .table-actions{
  align-content:center;
  gap:5px;
}
.data-table td:last-child .button-small{
  min-height:28px;
  padding-inline:8px;
  white-space:nowrap;
}
.sortable-header{display:inline-flex;align-items:center;gap:5px;padding:3px 0;border:0;color:inherit;background:transparent;font:inherit;font-weight:inherit;cursor:pointer}.sortable-header:hover,.sortable-header.active{color:var(--blue)}.sortable-header span{font-size:12px;line-height:1}.data-table th.number .sortable-header{margin-left:auto}

/* Los botones de formularios y ventanas conservan una jerarquía predecible. */
.modal-footer .button{min-width:96px}
.modal-footer .button-primary,.modal-footer .button-danger{min-width:120px}
.summary-actions .button,.access-form .button{justify-content:center}
.quote-bottom-actions{display:flex;flex-wrap:wrap}
.quote-bottom-actions>div{display:flex;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:760px){
  :root{--button-height:42px;--button-height-compact:36px;--button-space:7px}
  .button{padding-inline:12px}
  .button-small{font-size:12px}
  .user-menu-panel{position:fixed;top:62px;right:12px;width:min(260px,calc(100vw - 24px))}
  .hero-strip,.osu-dashboard-head,.support-hero{align-items:stretch}
  .hero-strip>.filters,.osu-dashboard-head>.filters,.support-hero>.filters,
  .section-toolbar>.filters,.panel-header>.filters,.panel-heading>.filters{
    margin-left:0;
  }
  .hero-strip>.filters .button,.osu-dashboard-head>.filters .button,.support-hero>.filters .button{
    flex:1 1 150px;
  }
  .data-table td:last-child>.filters,.data-table td:last-child .table-actions{
    min-width:150px;
    justify-content:flex-start;
  }
  .data-table td:last-child .button-small{
    min-height:34px;
    white-space:normal;
  }
  .quote-bottom-actions>div{justify-content:stretch}
}

@media(max-width:620px){.user-menu-trigger{display:grid!important}}

@media(max-width:420px){
  .hero-strip>.filters .button,.osu-dashboard-head>.filters .button,.support-hero>.filters .button,
  .quote-bottom-actions .button{flex:1 1 100%}
  .modal-footer .button{flex:1 1 100%}
}

/* 96.23.34 — controles de trabajo: legibles, compactos y consistentes. */
:root{--button-height:38px;--button-height-compact:30px}
.field,.form-field{gap:7px}.field label,.form-field label{font-size:12px;font-weight:750;letter-spacing:.01em}
.input,.select,.textarea{min-height:40px;border-radius:7px;border-color:var(--line-strong)!important;line-height:1.35}
.textarea{min-height:88px}.input:disabled,.select:disabled,.textarea:disabled{color:var(--muted);background:var(--table-head);opacity:1}
.select-search-results{top:calc(100% + 6px);max-height:300px;padding:6px;border:2px solid var(--line-strong);border-radius:9px;box-shadow:0 16px 34px rgba(28,40,45,.2)}
.select-search-option{padding:10px 11px;border-radius:6px}.select-search-option+.select-search-option{border-top:1px solid color-mix(in srgb,var(--line) 68%,transparent)}
.nav-subicon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.quote-lines .input,.quote-lines .select,.financial-line-row .input,.financial-line-row .select{min-height:32px}
.sidebar-pin{width:32px!important;min-width:32px!important;height:32px!important;padding:0!important;border-radius:7px!important}.sidebar-pin svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.sidebar-pin.is-pinned{color:#fff;background:#42666d;border-color:#b7ceca!important}.sidebar-pin.is-pinned svg{transform:rotate(45deg)}
