/* Nexo · Ejecutivo compacto. Presentation only; print styles remain unchanged. */
:root{--nav:#122c46;--teal:#007c70;--mint:#75e3c1;--line:#dfe7ef;--muted:#566e82;--shadow:0 5px 20px #142f4510;background:#eef3f8;color:#20364b;color-scheme:light}
.shell{grid-template-columns:222px minmax(0,1fr)}
.sidebar{width:222px;background:linear-gradient(165deg,#15334e,#10283e)}
.sidebar .brand{padding:20px 19px 16px;color:var(--mint);font-size:1.6rem}
.brand-mark{width:32px;height:32px;border-radius:9px;box-shadow:0 3px 12px #0002}
.company{margin:0 12px 12px;padding:9px 10px;border-color:#345169;background:#ffffff05}
.nav{padding:0 9px 10px}.nav-group{margin:16px 10px 6px;color:#9db7cb;font-size:.68rem}
.nav button{padding:8px 10px;gap:9px;font-size:.82rem;border-radius:7px;margin:2px 0}
.nav button.active{background:#235167;color:#97f4dc;box-shadow:inset 3px 0 var(--mint)}
.nav button:hover{background:#21455e;color:#fff}.nav-section{padding:5px 0}
.nav-section-head{background:#1a3b54!important}.nav-section-head.open{background:#204c60!important}
.nav-section-items{padding:3px 0 4px 6px}.nav-section-items button{padding:7px 9px;font-size:.8rem}
.nav-switch{gap:5px;margin-bottom:8px}.nav-switch button{padding:7px 5px;font-size:.69rem}
.sidebar-foot{padding:11px 17px;font-size:.72rem}.sidebar-foot .dot{box-shadow:0 0 0 3px #75e3c115}
.topbar{height:58px;padding:0 22px;background:#ffffff;border-color:#dfe7ef}
.top-actions{gap:12px}.avatar{width:32px;height:32px;background:#dcf4ed;color:#066d5d}
.user-button strong{font-size:.8rem}.user-button small{font-size:.7rem}.breadcrumb{font-size:.8rem;gap:8px}
.page{max-width:1680px;padding:18px 22px 26px}
.page-heading{background:linear-gradient(115deg,#153751,#122c46);border:1px solid #22465f;border-radius:10px;padding:14px 16px;margin-bottom:14px;gap:12px;box-shadow:0 4px 12px #132c4610}
.page-heading h1{color:#fff;font-size:1.55rem;letter-spacing:-.035em}
.page-heading .eyebrow{color:var(--mint);font-size:.68rem;margin-bottom:5px;letter-spacing:.1em}
.page-heading .subtitle{color:#c5d7e6;margin-top:5px;font-size:.82rem;line-height:1.45}
.page-heading .button-row{justify-content:flex-end;flex-shrink:0}
.page-heading .btn:not(.primary):not(.danger){background:#25465f;border-color:#527185;color:#ecf5fb}
.page-heading .btn:not(.primary):not(.danger):hover{background:#325870;border-color:#92c3cf}
.page-heading .btn.primary{box-shadow:0 2px 9px #0002;background:#008476;border-color:#22ae95}
.btn{padding:7px 11px;font-size:.81rem;gap:6px;border-radius:7px;min-height:34px}
.btn.small{padding:5px 8px;font-size:.75rem;min-height:29px}
.btn.primary{box-shadow:0 2px 5px #007c7017}.btn.primary:hover{background:#006e63}
.button-row{gap:7px}.btn svg{width:17px;height:17px}
.btn:focus-visible,.quick-action:focus-visible,.nav button:focus-visible{outline:3px solid #21ad9c;outline-offset:3px}
.stats{gap:10px;margin-bottom:14px}
.stat{--stat-color:#3279d9;--stat-soft:#edf4ff;border:1px solid var(--line);border-top:3px solid var(--stat-color);border-radius:9px;padding:12px 14px;background:linear-gradient(130deg,#fff 45%,var(--stat-soft));box-shadow:0 3px 10px #17364d05}
.stat:nth-child(4n+2){--stat-color:#079a83;--stat-soft:#e5f7ef}
.stat:nth-child(4n+3){--stat-color:#d7911e;--stat-soft:#fff5e2}
.stat:nth-child(4n+4){--stat-color:#8762ce;--stat-soft:#f1ebff}
.stat-label{color:#536b7f;font-size:.75rem;line-height:1.35;min-height:21px}
.stat-label svg{color:var(--stat-color);background:var(--stat-soft);width:27px;height:27px;padding:5px;border-radius:7px}
.stat-number{color:#16364e;font-size:1.65rem;letter-spacing:-.04em;margin:6px 0 4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stat-foot{font-size:.72rem;line-height:1.4;color:#587084}
.dashboard-grid{gap:14px}.panel{border-radius:9px;border-color:var(--line);box-shadow:0 3px 10px #17364d04}
.panel-head{padding:12px 14px;background:#fbfdff;border-bottom-color:#e7edf3}
.panel-head h2{font-size:.98rem;color:#086f67;letter-spacing:-.015em}
.panel-head>svg{color:#009c89}.panel-head small{margin-top:3px;font-size:.74rem}
.panel-body{padding:13px 14px}.list-row{padding:10px 14px;gap:10px}.list-row small{margin-top:3px;font-size:.76rem}
.list-icon{width:31px;height:31px;background:#e0f5ee;color:#07846f;border-radius:8px}
.list-row .badge{flex-shrink:0}.list-row .button-row{flex-shrink:0}
.toolbar{padding:10px 14px;gap:10px;background:#fbfdff}.search svg{top:9px}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select{min-height:36px;padding:7px 10px;border-radius:7px;font-size:.83rem;border-color:#c9d7e3}
.search input{padding-left:36px!important}
input:focus,select:focus,textarea:focus{outline:2px solid #009c892b;border-color:#008d7c}
label{font-size:.8rem;margin-bottom:5px;color:#385367}.field{margin-bottom:12px}
.field-help{margin-top:4px;font-size:.74rem}.form-grid{column-gap:14px}
th{padding:10px 12px;background:#edf4fa;color:#526f87;font-size:.68rem;letter-spacing:.05em}
td{padding:10px 12px;font-size:.82rem;border-bottom-color:#e8eef4}
tbody tr:hover{background:#eff8f6}td:first-child{color:#1e4056}.count{font-size:.75rem}
.badge{border-radius:20px;padding:3px 8px;font-size:.72rem}
.badge.green{background:#d9f5e6;color:#14613f}.badge.amber{background:#fff0cc;color:#81570b}
.badge.blue{background:#e0edff;color:#235a9a}.badge.red{background:#ffe5e9;color:#a52d44}
.section-gap{margin-top:14px}.notice{padding:10px 13px;margin-bottom:14px;font-size:.8rem;line-height:1.5;border-radius:8px}
.empty{padding:28px 16px}.mini-grid{gap:9px}
.quick-action{padding:11px 12px;gap:9px;font-size:.82rem;background:#fcfefe;border-color:#dce8ee}
.quick-action>svg:first-child{width:29px;height:29px;padding:5px;border-radius:7px;background:#e0f5ee;color:#087c6b}
.quick-action:nth-child(4n+2)>svg:first-child{background:#e5edff;color:#366dbe}
.quick-action:nth-child(4n+3)>svg:first-child{background:#f0e9ff;color:#8052b8}
.quick-action:nth-child(4n)>svg:first-child{background:#fff0d8;color:#a66b0f}
.quick-action:hover{background:#eaf7f3;border-color:#79c7b5}
.progress-row{margin-bottom:12px}.progress-label{font-size:.8rem;margin-bottom:5px}
.bsc-grid{gap:12px;margin-bottom:14px}.bsc-card{padding:14px;border-radius:9px}.bsc-card h3{margin-bottom:12px;color:#08776c}
.step{gap:10px;margin-bottom:12px}.step small{font-size:.75rem}.step::before{width:26px;height:26px;background:#def4ec}
.detail-grid{gap:14px;margin:14px 0}.detail-grid dt{margin-bottom:4px}.detail-grid dd{font-size:.85rem}
dialog{border-radius:11px}.modal-head{padding:15px 17px;background:#f6fbfb;border-top:3px solid #029884}
.modal-head h2{color:#096e65;font-size:1.08rem}.modal-head p{margin-top:3px;font-size:.75rem}
.modal-body{padding:17px}.modal-foot{padding-top:13px;margin-top:13px}
.modal-inline-title{margin:17px 0 8px}.error{padding:10px;margin-bottom:12px;font-size:.82rem}
.ticket-filters{gap:10px}.ticket-filters .field{margin-bottom:0}
.ticket-date-shortcuts{padding-top:0;padding-bottom:10px}
.ticket-card{padding:13px}.ticket-card h3{margin:8px 0 5px}.ticket-card p{margin:5px 0}
.ticket-summary{gap:14px}.ticket-summary>div{gap:5px}
.ticket-work{padding:14px;margin:14px 0;background:#eaf7f2;border-color:#c0e5d7;border-radius:9px}
.ticket-work>strong{font-size:23px;color:#087859}.ticket-team-row{margin:11px 0;gap:8px}
.ticket-photo-section{margin:16px 0}.ticket-material-table{margin:10px 0}.ticket-conformity{margin:16px 0}
.ticket-extra{margin-top:12px}.ticket-extra summary{padding:9px 0}
.operations-week{margin-top:14px;gap:8px}.calendar-job{margin:9px 0;padding:10px;gap:4px}
.finance-filters{padding:10px 12px;margin:0 0 14px;gap:10px;background:white;border:1px solid var(--line);border-radius:9px;box-shadow:0 3px 10px #17364d04}
.finance-filters label{font-size:.74rem;flex-basis:180px}.finance-filters input,.finance-filters select{margin-top:4px}
.finance-flow{margin-bottom:14px;gap:6px}.finance-flow span{padding:8px;font-size:.75rem}
.finance-saldo{gap:9px;margin-bottom:14px}.finance-saldo>div{padding:10px;background:#f4faf8}
.finance-saldo strong{margin-top:4px}.amount-in{color:#087862}.amount-out{color:#af3751}
.hr-toolbar,.hr-tabs{margin:13px 0;gap:8px}.hr-toolbar input,.hr-toolbar select{padding:7px 10px}
.hr-stats{gap:10px;margin-bottom:14px}.hr-stats>div{padding:12px 14px;border-radius:9px;border-top:3px solid #3279d9;background:#f2f7ff}
.hr-stats>div:nth-child(2){border-top-color:#079a83;background:#edf9f4}.hr-stats>div:nth-child(3){border-top-color:#d7911e;background:#fff9ed}.hr-stats>div:nth-child(4){border-top-color:#8762ce;background:#f6f2ff}
.hr-stats strong{font-size:25px;margin-top:5px}.hr-steps{padding:11px 14px;margin-bottom:14px;gap:14px;border-radius:9px;background:#193d53}
.hr-note{padding:12px 14px}.hr-check{padding:11px;margin:12px 0}
.sales-filters,.sales-metrics{margin-bottom:14px}.sales-metrics summary{padding:12px 14px;color:#08776c}
.sales-metrics>.field-help{padding:0 14px 12px}.sales-chart-scroll{padding:14px 14px 0}
.sales-chart-legend{padding:11px 14px;gap:8px 16px}.sales-chart-month-name{padding:9px 0}
.sales-chart-year-total{font-size:1.4rem;color:#08776c}
.collection-summary{gap:9px;margin-bottom:13px}.collection-summary>div{background:#eaf4f8;padding:10px}
.collection-payment,.collection-part{padding:11px;margin:10px 0}
.network-source{margin-bottom:12px;font-size:.78rem}.network-filters{gap:10px}
.network-filters .field{margin-bottom:0}.network-details{gap:14px;margin:15px 0}
.network-status{padding:4px 8px}.network-map-caption{margin:10px 14px}
.login-side .brand{color:var(--mint)}.login-side{background:linear-gradient(145deg,#173d55,#10283e)}
.login-main{background:linear-gradient(145deg,#fff 45%,#edf8f5)}.login-form .field{margin-bottom:15px}
.login-form h1{color:#123b4d}.login-form .btn.primary{min-height:42px}
@media(min-width:1101px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.network-stats{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:1650px){.page{padding-top:20px}.stat{padding:14px 16px}.stat-number{font-size:1.85rem}}
@media(max-width:1100px){.shell{grid-template-columns:208px minmax(0,1fr)}.sidebar{width:208px}.page{padding:16px}.topbar{padding:0 16px}.page-heading{flex-wrap:wrap}.page-heading .button-row{flex-shrink:1}.stats{gap:10px}.network-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.shell{display:block}.sidebar{width:232px}.page{padding:12px 11px 22px}.topbar{height:56px;padding:0 11px}.page-heading{padding:12px;gap:10px;margin-bottom:12px}.page-heading h1{font-size:1.4rem}.page-heading .eyebrow{font-size:.65rem}.page-heading .subtitle{font-size:.78rem}.page-heading .button-row{justify-content:flex-start;width:100%}.stats{gap:8px;margin-bottom:12px}.stat{padding:10px}.stat-number{font-size:1.45rem}.stat-label{font-size:.73rem}.stat-foot{font-size:.71rem}.network-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{gap:12px}.panel-head{padding:11px 12px}.panel-body{padding:12px}.toolbar{padding:10px 12px}.list-row{padding:11px 12px}.modal-head{padding:13px 14px}.modal-body{padding:14px}.finance-filters label{flex:1 1 130px}.network-filters .field:first-child{min-width:180px}.network-filters .field{min-width:130px}.ticket-date-shortcuts{padding-top:0}.hr-stats{gap:8px}.hr-stats>div{padding:11px}.hr-stats strong{font-size:23px}}
@media(pointer:coarse){.btn,.btn.small,.nav button,.quick-action{min-height:44px}.btn.small{padding:8px 10px}input:not([type=checkbox]):not([type=radio]):not([type=file]),select{min-height:44px;font-size:16px}textarea{font-size:16px}.ticket-photo-card .photo-remove{min-width:44px;min-height:44px}.mobile-toggle{min-width:44px}.nav-switch button{font-size:.7rem}.ticket-filters{row-gap:12px}}

/* Keep work identifiers readable and use the same status colors as their badges. */
.ticket-table td:nth-child(1),.ticket-table td:nth-child(2){white-space:nowrap}
#ticket-stats .stat:nth-child(1){--stat-color:#d7911e;--stat-soft:#fff5e2}
#ticket-stats .stat:nth-child(2){--stat-color:#3279d9;--stat-soft:#edf4ff}
#ticket-stats .stat:nth-child(3){--stat-color:#079a83;--stat-soft:#e5f7ef}
#ticket-stats .stat:nth-child(4){--stat-color:#c75e76;--stat-soft:#fff0f3}
