:root{--tau-navy:#102a43;--tau-blue:#176b87;--tau-teal:#0f9f8f;--tau-green:#38b26d;--tau-ink:#172636;--tau-muted:#64778a;--tau-line:#dce6ed;--tau-bg:#f4f7f9;--tau-panel:#fff;--tau-danger:#c83f49;--tau-warn:#b7791f;--tau-shadow:0 10px 30px rgba(16,42,67,.08)}
*{box-sizing:border-box}
body{background:var(--tau-bg);color:var(--tau-ink)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sidebar{width:264px;background:linear-gradient(180deg,#0d263d 0%,#123d4f 58%,#0d544f 100%);border:0;box-shadow:8px 0 28px rgba(10,37,58,.08)}
.brand{min-height:82px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.1)}
.brand-logo{max-width:138px;filter:brightness(0) invert(1)}
.brand-copy strong,.brand-copy small{color:#fff}.brand-copy small{opacity:.68}
.sidebar nav{padding:7px 12px 16px;overflow-y:auto}
.nav-section{padding:17px 10px 8px;color:rgba(255,255,255,.5);font-size:.67rem;letter-spacing:.13em;text-transform:uppercase}
.nav-link{display:flex;align-items:center;gap:10px;min-height:42px;margin:2px 0;padding:8px 10px;border-radius:11px;color:rgba(255,255,255,.78);font-weight:600;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}
.nav-link:hover{background:rgba(255,255,255,.09);color:#fff;transform:translateX(2px)}
.nav-link.active{background:linear-gradient(90deg,rgba(29,173,157,.34),rgba(55,177,109,.2));color:#fff;box-shadow:inset 3px 0 0 #55d6bd}
.nav-icon{display:grid;place-items:center;flex:0 0 29px;height:29px;border:1px solid rgba(255,255,255,.17);border-radius:9px;font-size:.63rem;letter-spacing:.04em;color:#a9fff0;background:rgba(255,255,255,.04)}
.nav-submenu{display:grid;gap:1px;margin:0 0 5px 47px}
.nav-submenu a{padding:5px 8px;border-left:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.6);font-size:.78rem;text-decoration:none}
.nav-submenu a:hover,.nav-submenu a.active{color:#fff;border-left-color:#55d6bd}
.account{background:rgba(3,24,36,.22);border-top:1px solid rgba(255,255,255,.1);color:#fff}
.account-copy strong,.account-copy small{color:#fff}.account-copy small{opacity:.65}
.avatar{background:linear-gradient(135deg,var(--tau-teal),var(--tau-green));color:#fff}
.main{margin-left:264px;min-width:0}
.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto minmax(170px,.65fr) minmax(300px,1fr) auto;align-items:center;gap:18px;min-height:70px;padding:10px 28px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--tau-line);backdrop-filter:blur(12px)}
.topbar-title{display:grid;line-height:1.12}.topbar-title small{color:var(--tau-muted);font-size:.7rem}.topbar-title strong{color:var(--tau-navy);font-size:.98rem}
.global-search{display:flex;align-items:center;max-width:620px;border:1px solid var(--tau-line);border-radius:12px;background:#f8fafb;overflow:hidden}
.global-search:focus-within{border-color:var(--tau-teal);box-shadow:0 0 0 3px rgba(15,159,143,.12);background:#fff}
.global-search input{min-width:0;flex:1;border:0;background:transparent;padding:10px 12px;outline:0}
.global-search button{border:0;border-left:1px solid var(--tau-line);padding:10px 13px;background:#fff;color:var(--tau-blue);font-weight:700;cursor:pointer}
.security-pill{white-space:nowrap;color:#147e70;background:#e9f8f4;border:1px solid #c5ece3}
.content{max-width:1640px;padding:27px 30px 56px}
.page-title{align-items:flex-start;margin-bottom:20px}.page-title h1{margin-bottom:4px;color:var(--tau-navy);font-size:1.65rem;letter-spacing:-.025em}.page-title p{color:var(--tau-muted);max-width:760px}
.eyebrow{color:var(--tau-teal);font-weight:800;letter-spacing:.11em;text-transform:uppercase;font-size:.7rem}
.card{border:1px solid var(--tau-line);border-radius:15px;box-shadow:var(--tau-shadow);overflow:hidden;background:var(--tau-panel)}
.card-head{min-height:62px;padding:16px 19px;border-bottom:1px solid #e8eef2;background:linear-gradient(180deg,#fff,#fbfcfd)}
.card-head h2{color:var(--tau-navy);font-size:1rem}.card-head p{color:var(--tau-muted);margin-top:3px;font-size:.8rem}.card-body{padding:19px}
.btn{border-radius:9px;font-weight:700;box-shadow:none}.btn.primary{background:linear-gradient(135deg,var(--tau-blue),var(--tau-teal));border-color:transparent}.btn.green{background:var(--tau-green)}
.btn.danger{color:#fff;background:var(--tau-danger);border-color:var(--tau-danger)}
input,select,textarea{border-color:#cfdce5;border-radius:9px;background:#fff;color:var(--tau-ink)}
input:focus,select:focus,textarea:focus{border-color:var(--tau-teal);box-shadow:0 0 0 3px rgba(15,159,143,.12);outline:0}
label{color:#324a5e;font-weight:700}.field-help{color:var(--tau-muted);font-weight:400}
.table-wrap{scrollbar-width:thin;scrollbar-color:#b9cad5 transparent}
table{border-collapse:separate;border-spacing:0;width:100%}thead th{position:sticky;top:0;background:#f4f8fa;color:#506779;font-size:.71rem;letter-spacing:.035em;text-transform:uppercase;border-bottom:1px solid var(--tau-line)}tbody td{border-bottom:1px solid #eaf0f3;vertical-align:middle}tbody tr:hover{background:#f8fbfc}
.badge{border-radius:999px;padding:4px 8px;font-size:.69rem;text-transform:none;letter-spacing:.01em}.badge.ok{background:#e5f7ed;color:#197046}.badge.warn{background:#fff5dc;color:#8c5b09}.badge.bad{background:#fdebec;color:#a52d37}.badge.info{background:#e8f3f8;color:#176b87}
.module-tabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 20px;padding:5px;border:1px solid var(--tau-line);border-radius:13px;background:#eaf0f4}
.module-tabs a{white-space:nowrap;padding:9px 14px;border-radius:9px;color:#536a7b;text-decoration:none;font-weight:700;font-size:.82rem}
.module-tabs a.active{background:#fff;color:var(--tau-blue);box-shadow:0 3px 12px rgba(16,42,67,.09)}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.metric-card{grid-column:span 3;position:relative;min-height:134px;padding:18px 19px;border:1px solid var(--tau-line);border-radius:15px;background:#fff;box-shadow:var(--tau-shadow);overflow:hidden}
.metric-card::after{content:"";position:absolute;right:-28px;bottom:-38px;width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,rgba(23,107,135,.08),rgba(15,159,143,.17))}
.metric-card .metric-label{display:block;color:#5b7182;font-size:.77rem;font-weight:700}.metric-card strong{display:block;margin:11px 0 5px;color:var(--tau-navy);font-size:1.62rem;letter-spacing:-.035em}.metric-card small{color:#7a8b99}.metric-card.alert-metric{border-left:4px solid #d99a31}.metric-card.good-metric{border-left:4px solid var(--tau-green)}
.panel-span-8{grid-column:span 8}.panel-span-7{grid-column:span 7}.panel-span-6{grid-column:span 6}.panel-span-5{grid-column:span 5}.panel-span-4{grid-column:span 4}.panel-span-12{grid-column:span 12}
.mini-chart{display:grid;gap:11px}.bar-row{display:grid;grid-template-columns:90px 1fr 92px;gap:10px;align-items:center;font-size:.75rem}.bar-track{height:9px;border-radius:999px;background:#e7eef2;overflow:hidden}.bar-fill{height:100%;min-width:2px;border-radius:inherit;background:linear-gradient(90deg,var(--tau-blue),var(--tau-teal))}.bar-row strong{text-align:right;color:var(--tau-navy)}
.kpi-inline{display:flex;flex-wrap:wrap;gap:12px}.summary-chip{border:1px solid var(--tau-line);border-radius:12px;background:#fff;padding:10px 14px}.summary-chip small{color:var(--tau-muted)}.summary-chip strong{color:var(--tau-navy)}
.filters{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;align-items:end}.filters .wide{grid-column:span 2}.filters-actions{display:flex;gap:8px;align-items:center}
.form-section{margin:4px 0 15px;padding-bottom:8px;border-bottom:1px solid var(--tau-line);color:var(--tau-blue);font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.line-items{display:grid;gap:10px}.line-item{display:grid;grid-template-columns:2fr .6fr .8fr .65fr auto;gap:8px;align-items:end;padding:12px;border:1px solid var(--tau-line);border-radius:12px;background:#f9fbfc}.line-item label{font-size:.72rem}
.actions-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.actions-row form{display:inline-flex}.table-actions{display:flex;flex-wrap:wrap;gap:5px}
.status-dot{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#8ca0af}.status-dot.green{background:var(--tau-green)}.status-dot.amber{background:#df9f34}.status-dot.red{background:var(--tau-danger)}
.empty-state{padding:34px;text-align:center;color:var(--tau-muted)}
.search-groups{display:grid;gap:17px}.search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px 0;border-bottom:1px solid var(--tau-line)}.search-result:last-child{border-bottom:0}.search-result strong{color:var(--tau-navy)}.search-result small{display:block;margin-top:3px;color:var(--tau-muted)}
.timeline{display:grid;gap:0}.timeline-item{position:relative;padding:0 0 18px 25px;border-left:2px solid #dce8ed}.timeline-item::before{content:"";position:absolute;left:-6px;top:2px;width:10px;height:10px;border-radius:50%;background:var(--tau-teal);box-shadow:0 0 0 4px #e5f7f3}.timeline-item:last-child{border-left-color:transparent}
.sensitive{border-left:4px solid var(--tau-warn)}
.permission-table input{width:18px;height:18px;accent-color:var(--tau-teal)}
.notice-compact{padding:11px 13px;border-radius:10px;background:#eff7fa;color:#2e6578;font-size:.79rem}.notice-compact.warning{background:#fff6df;color:#7d570d}
.popover-card{position:relative;z-index:5;width:min(430px,80vw);margin-top:8px;padding:13px;border:1px solid var(--tau-line);border-radius:11px;background:#fff;box-shadow:0 16px 36px rgba(16,42,67,.18)}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}.form-grid.compact{gap:8px;margin-bottom:10px}.form-grid.compact label{font-size:.7rem}.audit-json{max-width:460px;max-height:180px;overflow:auto;white-space:pre-wrap;font-size:.68rem;color:#42596b;background:#f5f8fa;border-radius:8px;padding:8px}
.record small,.search-result small,td small{display:block;margin-top:3px;color:var(--tau-muted);font-size:.72rem;line-height:1.35}.record-list{display:grid;gap:8px}
.mobile-only{display:none}

@media (max-width:1250px){.metric-card{grid-column:span 4}.panel-span-8,.panel-span-7{grid-column:span 12}.panel-span-5,.panel-span-4{grid-column:span 6}.filters{grid-template-columns:repeat(3,minmax(140px,1fr))}.topbar{grid-template-columns:auto minmax(160px,.55fr) minmax(260px,1fr)}.security-pill{display:none}}
@media (max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .2s ease}.menu-open .sidebar{transform:translateX(0)}.menu-open::after{content:"";position:fixed;inset:0 0 0 264px;z-index:40;background:rgba(5,21,33,.35)}.main{margin-left:0}.topbar{grid-template-columns:auto 1fr auto;padding:10px 16px}.global-search{grid-column:1/-1;grid-row:2;max-width:none}.content{padding:22px 17px 45px}.metric-card{grid-column:span 6}.panel-span-6,.panel-span-5,.panel-span-4{grid-column:span 12}.grid-2{grid-template-columns:1fr}.line-item{grid-template-columns:1fr 1fr}.line-item label:first-child{grid-column:1/-1}.filters{grid-template-columns:repeat(2,minmax(120px,1fr))}.filters .wide{grid-column:span 2}.mobile-only{display:initial}}
@media (max-width:560px){.metric-card{grid-column:span 12}.content{padding-inline:12px}.topbar-title small{display:none}.topbar-title strong{font-size:.88rem}.filters{grid-template-columns:1fr}.filters .wide{grid-column:auto}.line-item{grid-template-columns:1fr}.line-item label:first-child{grid-column:auto}.module-tabs a{padding:8px 11px}.page-title{display:block}.page-title .summary-chip{margin-top:12px}.bar-row{grid-template-columns:72px 1fr}.bar-row strong{grid-column:2}.desktop-only{display:none}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* TAU Administración 2.0.1 -------------------------------------------------
   Recupera la identidad visual del menú 1.8.x sin alterar la lógica 2.x. */
.sidebar{width:280px;background:#fff;border-right:1px solid var(--tau-line);box-shadow:none}
.brand{min-height:96px;padding:16px 20px;justify-content:center;border-bottom:1px solid #edf1f4}
.brand-logo{width:216px;max-width:100%;filter:none}
.brand-copy{display:none}
.sidebar nav{padding:16px 12px;overflow:auto;flex:1}
.nav-section{margin:22px 12px 8px;padding:0;color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.nav-link{display:flex;align-items:center;gap:11px;min-height:auto;margin:2px 0;padding:11px 13px;border-radius:12px;color:#334b60;font-size:14px;font-weight:500;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}
.nav-link:hover{background:#f3f7fa;color:#334b60;transform:translateX(2px)}
.nav-link.active{background:linear-gradient(90deg,#eaf2ff 0%,#edf8ee 100%);color:#246de0;font-weight:700;box-shadow:inset 3px 0 0 #3a83f7}
.nav-icon{display:block;flex:0 0 20px;width:20px;height:auto;border:0;border-radius:0;background:transparent;color:inherit;font-size:15px;line-height:1;text-align:center}
.nav-submenu{display:grid;gap:1px;margin:0 0 7px 44px}
.nav-submenu a{padding:6px 10px;border-left:1px solid #dbe4eb;color:#64748b;font-size:.78rem;text-decoration:none}
.nav-submenu a:hover{color:#334b60;border-left-color:#9fb4c3}
.nav-submenu a.active{color:#246de0;border-left-color:#3a83f7;font-weight:700}
.account{padding:14px;background:#fff;border-top:1px solid #edf1f4;color:var(--tau-ink)}
.account-copy strong{color:var(--tau-ink)}.account-copy small{color:var(--tau-muted);opacity:1}
.avatar{background:linear-gradient(135deg,#3a83f7,#53b559)}
.main{margin-left:280px}

/* Filtros y formularios compactos */
.filters{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px 14px;align-items:end}
.filters .wide{grid-column:span 2}
.filters-actions{min-height:41px;align-items:flex-end}
.filter-card .card-body{padding:16px 18px}
.filter-card label{min-width:0}
.filter-card input,.filter-card select{min-width:0}

.readonly-field{background:#f7fafc!important;color:#40576a!important}
.field-help.inline{display:block;margin-top:5px}
.method-form{display:grid;gap:3px}.method-form small{margin:0;color:var(--tau-muted)}

.metric-link{display:block;color:inherit;text-decoration:none}
.metric-link .metric-card{height:100%;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.metric-link:hover .metric-card{transform:translateY(-2px);border-color:#b9d5e1;box-shadow:0 14px 32px rgba(16,42,67,.11)}

.detail-panel{margin-top:16px;border-left:4px solid var(--tau-blue)}
.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.detail-stat{padding:12px;border:1px solid var(--tau-line);border-radius:10px;background:#f9fbfc}
.detail-stat small{display:block;color:var(--tau-muted);margin-bottom:5px}.detail-stat strong{color:var(--tau-navy)}
.payment-history{display:grid;gap:8px;margin-top:14px}.payment-history-item{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--tau-line);border-radius:10px;background:#fff}

.payroll-concepts{display:grid;gap:16px}
.payroll-concept-group{border:1px solid var(--tau-line);border-radius:12px;overflow:hidden}
.payroll-concept-group>h3{margin:0;padding:10px 12px;background:#f4f8fa;color:var(--tau-navy);font-size:.82rem}
.payroll-concept-row{display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(110px,.7fr) minmax(110px,.7fr);gap:10px;align-items:end;padding:10px 12px;border-top:1px solid #eaf0f3}
.payroll-concept-row:first-of-type{border-top:0}.payroll-concept-row label{font-size:.72rem}.payroll-concept-row .concept-name{align-self:center}.payroll-concept-row .concept-name strong{display:block}.payroll-concept-row .concept-name small{display:block;color:var(--tau-muted);margin-top:3px}
.payroll-live-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.payroll-live-summary>div{padding:10px;border:1px solid var(--tau-line);border-radius:10px;background:#f8fbfc}.payroll-live-summary small{display:block;color:var(--tau-muted)}.payroll-live-summary strong{display:block;margin-top:3px;color:var(--tau-navy)}.payroll-live-summary .net{background:#eef8f2;border-color:#cde8d5}

.flow-steps{display:flex;flex-wrap:wrap;gap:5px}.flow-step{padding:4px 7px;border-radius:999px;background:#eef2f5;color:#7a8b99;font-size:.65rem}.flow-step.done{background:#e5f7ed;color:#197046}.flow-step.current{background:#eaf2ff;color:#246de0;font-weight:700}

.declaration-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:15px 16px;border-bottom:1px solid var(--tau-line)}.declaration-card:last-child{border-bottom:0}.declaration-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.document-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.reconciliation-status{display:flex;gap:6px;flex-wrap:wrap;align-items:center}

.order-company-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px;border:1px dashed #b8ccd8;border-radius:11px;background:#f8fbfc}.order-company-preview small{display:block;color:var(--tau-muted)}

@media(max-width:900px){.main{margin-left:0}.menu-open::after{inset:0 0 0 280px}.filters .wide{grid-column:span 1}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-live-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-concept-row{grid-template-columns:1fr 1fr}.payroll-concept-row .concept-name{grid-column:1/-1}}
@media(max-width:560px){.brand-logo{width:205px}.filters{grid-template-columns:1fr}.detail-grid,.payroll-live-summary{grid-template-columns:1fr}.payment-history-item{grid-template-columns:1fr}.payroll-concept-row{grid-template-columns:1fr}.declaration-card{grid-template-columns:1fr}}


/* Hotfix visual: Historial de facturación ----------------------------------
   Retícula dedicada para evitar controles estirados o cortados. */
.billing-history-filters{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:14px 16px;
    align-items:end;
}
.billing-history-filters > label{
    grid-column:span 2;
    min-width:0;
    display:grid;
    gap:6px;
}
.billing-history-filters > label.wide{
    grid-column:span 4;
}
.billing-history-filters > label:nth-of-type(6),
.billing-history-filters > label:nth-of-type(7),
.billing-history-filters > label:nth-of-type(8),
.billing-history-filters > label:nth-of-type(9){
    grid-column:span 2;
}
.billing-history-filters .filters-actions{
    grid-column:span 4;
    display:flex;
    justify-content:flex-end;
    align-items:end;
    gap:10px;
    min-height:41px;
}
.billing-history-filters input,
.billing-history-filters select{
    width:100%;
    min-width:0;
    height:41px;
}
.billing-history-filters .filters-actions .btn{
    min-width:96px;
    justify-content:center;
}

@media (max-width:1180px){
    .billing-history-filters > label,
    .billing-history-filters > label.wide,
    .billing-history-filters > label:nth-of-type(6),
    .billing-history-filters > label:nth-of-type(7),
    .billing-history-filters > label:nth-of-type(8),
    .billing-history-filters > label:nth-of-type(9){
        grid-column:span 4;
    }
    .billing-history-filters > label.wide{grid-column:span 8}
    .billing-history-filters .filters-actions{grid-column:span 4}
}
@media (max-width:760px){
    .billing-history-filters > label,
    .billing-history-filters > label.wide,
    .billing-history-filters > label:nth-of-type(6),
    .billing-history-filters > label:nth-of-type(7),
    .billing-history-filters > label:nth-of-type(8),
    .billing-history-filters > label:nth-of-type(9),
    .billing-history-filters .filters-actions{
        grid-column:1/-1;
    }
    .billing-history-filters .filters-actions{
        justify-content:flex-start;
        flex-wrap:wrap;
    }
}


/* Hotfix visual: tipografía ligera dentro de buscadores y filtros ------------
   Las etiquetas conservan su jerarquía; el contenido de inputs/selects no se
   hereda en negrita. Incluye placeholders y controles de fecha. */
.filters input,
.filters select,
.filter-card input,
.filter-card select,
.global-search input,
input[type="search"],
input[type="date"],
input[type="number"]{
    font-weight:400 !important;
}
.filters input::placeholder,
.filter-card input::placeholder,
.global-search input::placeholder,
input::placeholder,
textarea::placeholder{
    font-weight:400 !important;
    color:#8a9aa8;
    opacity:1;
}
.filters select option,
.filter-card select option{
    font-weight:400;
}
input[type="date"]::-webkit-datetime-edit,
input[type="date"]::-webkit-datetime-edit-text,
input[type="date"]::-webkit-datetime-edit-month-field,
input[type="date"]::-webkit-datetime-edit-day-field,
input[type="date"]::-webkit-datetime-edit-year-field{
    font-weight:400 !important;
}


/* Hotfix UI: etiquetas ligeras + controles sin negrita --------------------- */
label{
    font-size:.76rem;
    font-weight:400 !important;
    color:#53697a;
    line-height:1.35;
}
.filter-card label,
.filters label{
    font-size:.73rem;
    font-weight:400 !important;
    color:#607587;
}
form input,
form select,
form textarea{
    font-weight:400 !important;
}
form input::placeholder,
form textarea::placeholder{
    font-weight:400 !important;
    color:#93a2ae;
}
input[type="date"]::-webkit-datetime-edit,
input[type="date"]::-webkit-datetime-edit-text,
input[type="date"]::-webkit-datetime-edit-month-field,
input[type="date"]::-webkit-datetime-edit-day-field,
input[type="date"]::-webkit-datetime-edit-year-field{
    font-weight:400 !important;
}
.field-help{
    font-size:.69rem;
    font-weight:400 !important;
    color:#738797;
}


/* Hotfix: acciones visibles de facturación -------------------------------- */
.invoice-form-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:4px;
    padding:16px 18px;
    border:1px solid #d8e4ea;
    border-radius:12px;
    background:#f8fbfc;
}
.invoice-action-copy{
    min-width:0;
}
.invoice-action-copy strong{
    display:block;
    color:var(--tau-navy);
    font-size:.84rem;
    font-weight:700;
}
.invoice-action-copy small{
    display:block;
    margin-top:4px;
    color:#738797;
    font-size:.71rem;
    line-height:1.4;
}
.invoice-form-actions .actions-row{
    flex:0 0 auto;
    justify-content:flex-end;
}
.invoice-form-actions .btn{
    min-width:160px;
}
.table-actions form{
    display:inline-flex;
    margin:0;
}
@media(max-width:760px){
    .invoice-form-actions{
        align-items:stretch;
        flex-direction:column;
    }
    .invoice-form-actions .actions-row{
        justify-content:flex-start;
    }
    .invoice-form-actions .btn{
        min-width:0;
        flex:1 1 auto;
    }
}


/* Hotfix UI5: filtros legibles y tarjetas contables responsivas ----------- */
.filter-card .filters:not(.billing-history-filters){
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:14px 16px;
    align-items:end;
}
.filter-card .filters:not(.billing-history-filters) > label{
    grid-column:span 2;
    display:grid;
    align-content:end;
    gap:6px;
    min-width:0;
}
.filter-card .filters:not(.billing-history-filters) > label.wide{
    grid-column:span 4;
}
.filter-card .filters:not(.billing-history-filters) .filters-actions{
    grid-column:span 4;
    display:flex;
    align-items:end;
    justify-content:flex-start;
    gap:10px;
    min-height:41px;
}
.filter-card .filters:not(.billing-history-filters) input,
.filter-card .filters:not(.billing-history-filters) select{
    display:block;
    width:100%;
    min-width:0;
    height:41px;
    margin:0;
    padding:9px 11px;
}
.filter-card .filters:not(.billing-history-filters) .filters-actions .btn{
    min-width:96px;
    justify-content:center;
}

.dashboard-grid > .metric-link{
    grid-column:span 3;
    min-width:0;
}
.dashboard-grid > .metric-link > .metric-card{
    grid-column:auto;
    width:100%;
    min-width:0;
}
.metric-link .metric-card .metric-label,
.metric-link .metric-card strong,
.metric-link .metric-card small{
    position:relative;
    z-index:1;
}
.metric-link .metric-card strong{
    font-size:clamp(1.3rem,1.55vw,1.62rem);
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}
.notice-compact.success{
    background:#e7f7ee;
    color:#17633f;
}

@media (max-width:1250px){
    .dashboard-grid > .metric-link{grid-column:span 4}
}
@media (max-width:1180px){
    .filter-card .filters:not(.billing-history-filters) > label{
        grid-column:span 4;
    }
    .filter-card .filters:not(.billing-history-filters) > label.wide{
        grid-column:span 8;
    }
    .filter-card .filters:not(.billing-history-filters) .filters-actions{
        grid-column:span 4;
    }
}
@media (max-width:900px){
    .dashboard-grid > .metric-link{grid-column:span 6}
}
@media (max-width:760px){
    .filter-card .filters:not(.billing-history-filters) > label,
    .filter-card .filters:not(.billing-history-filters) > label.wide,
    .filter-card .filters:not(.billing-history-filters) .filters-actions{
        grid-column:1/-1;
    }
    .filter-card .filters:not(.billing-history-filters) .filters-actions{
        flex-wrap:wrap;
    }
}
@media (max-width:560px){
    .dashboard-grid > .metric-link{grid-column:span 12}
    .metric-link .metric-card strong{font-size:1.45rem}
}

/* TAU navigation 2026-10-17: grouped modules, current section and mobile overlay. */
#tau-sidebar .primary-nav{padding:12px;min-height:0;overscroll-behavior:contain}
.primary-nav .nav-group{margin:3px 0;padding:0;border:0;background:transparent;box-shadow:none}
.primary-nav .nav-group-toggle{list-style:none;cursor:pointer;user-select:none;min-height:44px}
.primary-nav .nav-group-toggle::-webkit-details-marker{display:none}
.primary-nav .nav-group-toggle::marker{content:""}
.primary-nav .nav-label{flex:1;min-width:0;text-align:left}
.primary-nav .nav-caret{font-size:17px;line-height:1;color:var(--tau-muted);transition:transform .18s ease}
.primary-nav .nav-group[open]>.nav-group-toggle .nav-caret{transform:rotate(180deg)}
.primary-nav .nav-group.is-current>.nav-group-toggle{color:var(--tau-blue);font-weight:700;background:#eff7f6}
.primary-nav>.nav-link{min-height:44px}
.primary-nav .nav-submenu{margin:3px 0 9px 33px;padding:0;gap:2px}
.primary-nav .nav-submenu a{display:block;padding:8px 10px;border-left:2px solid var(--tau-line);border-radius:0 7px 7px 0;color:#52677a;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.primary-nav .nav-submenu a:hover{background:#f3f7fa;color:var(--tau-navy);border-left-color:var(--tau-teal)}
.primary-nav .nav-submenu a.active{background:#e7f6f0;color:#11695f;border-left-color:var(--tau-green);font-weight:700}
.primary-nav .nav-link:focus-visible,.primary-nav .nav-submenu a:focus-visible,.menu-btn:focus-visible{outline:2px solid var(--tau-teal);outline-offset:2px}
.nav-backdrop{display:none}
.topbar-title{min-width:0}
.topbar-title small,.topbar-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){
  .menu-btn{display:block}
  #tau-sidebar{width:min(280px,calc(100vw - 48px));z-index:60}
  body.menu-open{overflow:hidden}
  .menu-open::after{display:none}
  .menu-open .nav-backdrop{display:block;position:fixed;inset:0;z-index:55;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:rgba(5,21,33,.4);cursor:pointer}
  .primary-nav .nav-submenu a{min-height:40px;display:flex;align-items:center}
}
@media(max-width:560px){.topbar-title small{display:block;font-size:10px;margin-bottom:3px}}

/* TAU navigation 2026-10-17 revision 2: sections are available in the sidebar. */
body[data-page="billing"] .content > .module-tabs,
body[data-page="receivables"] .content > .module-tabs,
body[data-page="payables"] .content > .module-tabs,
body[data-page="payroll"] .content > .module-tabs,
body[data-page="accounting"] .content > .module-tabs,
body[data-page="catalogs"] .content > .module-tabs{display:none}
body[data-page="payroll"] .content > .module-tabs + .actions-row{display:none}

/* TAU payroll presentation 2026-10-17: list, context and individual detail. */
body[data-page="payroll"] .payroll-workspace{display:grid;gap:18px;min-width:0}
body[data-page="payroll"] .payroll-workspace>.card{margin-top:0!important}
body[data-page="payroll"] .payroll-form-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:8px 0 0;padding:18px;border:1px solid var(--tau-line);border-radius:12px;min-width:0}
body[data-page="payroll"] .payroll-form-section legend{padding:0 8px;color:var(--tau-navy);font-size:14px;font-weight:700}
body[data-page="payroll"] .payroll-list-filters{display:grid;grid-template-columns:minmax(180px,2fr) minmax(150px,1fr) auto;gap:16px;align-items:end}
body[data-page="payroll"] .payroll-period-picker{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:16px;align-items:end}
body[data-page="payroll"] .payroll-list-filters label,body[data-page="payroll"] .payroll-period-picker label{display:grid;gap:7px;font-size:13px;min-width:0}
body[data-page="payroll"] .payroll-list-filters input,body[data-page="payroll"] .payroll-list-filters select,body[data-page="payroll"] .payroll-period-picker select{width:100%;min-width:0;border:1px solid var(--tau-line);padding:10px 12px;border-radius:9px}
body[data-page="payroll"] .payroll-period-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:0;padding:18px;background:#fff;border:1px solid var(--tau-line);border-radius:12px}
body[data-page="payroll"] .payroll-period-summary>div{min-width:0}
body[data-page="payroll"] .payroll-period-summary dt{font-size:12px;color:var(--tau-muted);margin-bottom:7px}
body[data-page="payroll"] .payroll-period-summary dd{margin:0;color:var(--tau-navy);font-size:14px;font-weight:700;overflow-wrap:anywhere}
body[data-page="payroll"] tr.is-selected{background:#edf8f3}
body[data-page="payroll"] .payroll-worker-detail{margin-top:24px;scroll-margin-top:90px}
body[data-page="payroll"] .payroll-worker-detail>.notice-compact{margin:0!important}
body[data-page="payroll"] .payroll-manual-adjustments{margin:18px 0;padding:16px;background:#f7fafb;border:1px solid var(--tau-line);border-radius:10px}
body[data-page="payroll"] .payroll-manual-adjustments h3{margin:0 0 10px;font-size:14px;color:var(--tau-navy)}
body[data-page="payroll"] .payroll-review-section{margin:18px 0 0;padding:16px;border:1px solid var(--tau-line);border-radius:10px;min-width:0}
body[data-page="payroll"] .payroll-review-section legend{padding:0 8px;font-size:14px;font-weight:700;color:var(--tau-navy)}
body[data-page="payroll"] .payroll-review-section input:not([type="checkbox"]){display:block;width:100%;margin-top:7px;padding:10px 12px;border:1px solid var(--tau-line);border-radius:9px}
body[data-page="payroll"] .payroll-review-section input[type="checkbox"],body[data-page="payroll"] .payroll-manual-adjustments input[type="checkbox"]{width:auto;flex:0 0 auto}
@media(max-width:1180px){body[data-page="payroll"] .payroll-period-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body[data-page="payroll"] .payroll-list-filters,body[data-page="payroll"] .payroll-period-picker{grid-template-columns:1fr}body[data-page="payroll"] .payroll-form-section{grid-template-columns:1fr;padding:14px}body[data-page="payroll"] .payroll-form-section>.span-2{grid-column:1}body[data-page="payroll"] .payroll-period-summary{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-page="payroll"] .payroll-worker-detail .card-head{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:480px){body[data-page="payroll"] .payroll-period-summary{grid-template-columns:1fr}}
