:root{
  --navy-950:#0b1f33;--navy-900:#102a43;--navy-800:#183b56;--navy-700:#28536f;
  --teal-700:#087f75;--teal-600:#0f9488;--teal-500:#18a999;--teal-100:#dff4f1;--teal-50:#f0faf8;
  --blue-600:#3568d4;--blue-50:#edf3ff;--amber-600:#b7791f;--amber-50:#fff7e6;--red-600:#c2413b;--red-50:#fff0ef;
  --ink:#172b3a;--muted:#6b7c89;--subtle:#8da0ad;--line:#dfe7ec;--line-soft:#edf2f5;--surface:#fff;--canvas:#f5f7f9;
  --shadow-sm:0 2px 10px rgba(16,42,67,.05);--shadow-md:0 12px 36px rgba(16,42,67,.10);
  --radius:12px;--radius-lg:16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)
}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;min-width:320px;background:var(--canvas);color:var(--ink);text-transform:uppercase}button,input,select,textarea{font:inherit;text-transform:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}
.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:256px;padding:24px 16px 18px;background:linear-gradient(180deg,var(--navy-950),#0d263c 65%,#102f47);color:#dbe7ee;display:flex;flex-direction:column}.main-content{width:calc(100% - 256px);min-width:0;margin-left:256px}
.brand{height:48px;display:flex;align-items:center;gap:12px;padding:0 8px;margin-bottom:30px}.brand-mark{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,var(--teal-500),#0d897e);color:#fff;font-weight:850;font-size:18px;box-shadow:0 7px 20px rgba(24,169,153,.25)}.brand-copy{min-width:0}.brand strong{display:block;color:#fff;font-size:14px;letter-spacing:.14em}.brand small{display:block;margin-top:3px;color:#91a9b8;font-size:10px}.sidebar-close{display:none;margin-left:auto;border:0;background:transparent;color:#fff;font-size:24px}.nav-section-label{padding:0 12px 8px;color:#648196;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.16em}.nav-item{position:relative;width:100%;min-height:44px;border:0;border-radius:9px;margin:3px 0;padding:0 12px;display:flex;align-items:center;gap:12px;background:transparent;color:#a9bdc9;text-align:left;font-size:12px;font-weight:650;transition:.18s ease}.nav-item:hover{color:#fff;background:rgba(255,255,255,.055)}.nav-item.active{color:#fff;background:rgba(33,179,164,.13);box-shadow:inset 3px 0 var(--teal-500)}.nav-icon{width:22px;text-align:center;font-size:17px;color:#7d98a9}.nav-item.active .nav-icon{color:#50c7bc}.sidebar-spacer{flex:1}.system-card{margin:16px 0;padding:14px;border:1px solid rgba(185,216,230,.12);border-radius:12px;background:rgba(255,255,255,.04)}.system-line{display:flex;align-items:center;gap:8px;font-size:10px}.system-card small{display:block;color:#7691a2;font-size:9px;margin-top:7px;line-height:1.45}.status-dot{width:7px;height:7px;border-radius:50%;background:#e8a43a;box-shadow:0 0 0 4px rgba(232,164,58,.10)}.status-dot.online{background:#27c0ae;box-shadow:0 0 0 4px rgba(39,192,174,.11)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:14px 8px 0;border-top:1px solid rgba(255,255,255,.08)}.avatar{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:var(--teal-100);color:var(--teal-700);display:grid;place-items:center;font-size:10px;font-weight:850}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user strong{font-size:10px;color:#e8f0f4}.sidebar-user small{font-size:9px;color:#718b9c;margin-top:3px}
.topbar{position:sticky;top:0;z-index:15;height:76px;padding:0 34px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.topbar-title{display:flex;align-items:center;gap:12px}.breadcrumb{margin:0 0 5px;color:var(--subtle);font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:750}.topbar h1{margin:0;font-size:20px;letter-spacing:-.02em}.menu-button{display:none;width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:8px}.top-actions{display:flex;align-items:center;gap:9px}.profile-button{height:42px;display:flex;align-items:center;gap:9px;border:0;border-left:1px solid var(--line);margin-left:5px;padding:0 0 0 16px;background:transparent;color:var(--muted)}.profile-copy{text-align:left}.profile-copy strong,.profile-copy small{display:block}.profile-copy strong{font-size:10px;color:var(--ink)}.profile-copy small{font-size:9px;margin-top:2px}
.content{width:min(1500px,100%);margin:0 auto;padding:28px 34px 52px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head h2{margin:0 0 7px;font-size:24px;letter-spacing:-.035em}.page-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.button{min-height:38px;border:1px solid transparent;border-radius:8px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:750;white-space:nowrap;transition:.16s ease}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--teal-600);color:#fff;box-shadow:0 5px 14px rgba(15,148,136,.18)}.button.primary:hover{background:var(--teal-700)}.button.secondary{background:var(--navy-900);color:#fff}.button.quiet,.button.ghost{background:#fff;color:var(--ink);border-color:var(--line)}.button.quiet:hover,.button.ghost:hover{border-color:#b8c7d1;background:#fbfcfd}.button.danger{color:var(--red-600);background:var(--red-50);border-color:#f7d8d5}.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi-card{position:relative;min-height:132px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.kpi-top{display:flex;justify-content:space-between;align-items:flex-start}.kpi-label{color:var(--muted);font-size:10px;font-weight:700}.kpi-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--teal-50);color:var(--teal-700);font-size:14px;font-weight:800}.kpi-card.blue .kpi-icon{background:var(--blue-50);color:var(--blue-600)}.kpi-card.amber .kpi-icon{background:var(--amber-50);color:var(--amber-600)}.kpi-value{margin:17px 0 5px;font-size:24px;font-weight:800;letter-spacing:-.045em}.kpi-foot{font-size:9px;color:var(--subtle)}.kpi-foot strong{color:var(--teal-700)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel-pad{padding:20px}.panel-head{min-height:64px;padding:17px 19px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h3{margin:0 0 4px;font-size:12px}.panel-sub{display:block;color:var(--muted);font-size:9px;line-height:1.45}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:18px}.stack{display:grid;gap:18px}.data-table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:10px}.data-table th{padding:11px 12px;text-align:left;color:#8495a2;background:#fbfcfd;border-bottom:1px solid var(--line);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.data-table td{padding:13px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfdfd}.data-table .primary-cell strong,.data-table .primary-cell small{display:block}.data-table .primary-cell strong{font-size:10px}.data-table .primary-cell small{max-width:290px;margin-top:4px;color:var(--muted);font-size:8px;white-space:normal;line-height:1.45}.data-table .amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table .amount strong{font-size:10px}.table-action{border:0;background:transparent;color:var(--teal-700);font-size:9px;font-weight:750;padding:4px}.empty{padding:34px!important;text-align:center;color:var(--muted)}
.status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:30px;background:#edf2f5;color:#5d6e7a;font-size:8px;font-weight:800;white-space:nowrap}.status::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status.open,.status.migrated{background:var(--teal-100);color:var(--teal-700)}.status.transit{background:var(--blue-50);color:var(--blue-600)}.status.customs{background:var(--amber-50);color:var(--amber-600)}.status.warehouse{background:#eef0ff;color:#5c55bd}.status.closed{background:#edf1f3;color:#5d6e7a}.status.draft{background:var(--red-50);color:var(--red-600)}
.bar-list{display:grid;gap:14px;padding:18px 20px}.bar-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:9px}.bar-meta span:first-child{color:#4c6170;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-meta strong{font-variant-numeric:tabular-nums}.bar-track{height:6px;border-radius:10px;background:#edf2f4;overflow:hidden}.bar-fill{height:100%;border-radius:10px;background:linear-gradient(90deg,var(--teal-600),#2eb9ac)}.pipeline{padding:18px 20px;display:grid;gap:6px}.pipeline-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:9px}.pipeline-row:last-child{border-bottom:0}.pipeline-row span{display:flex;align-items:center;gap:8px}.pipeline-dot{width:8px;height:8px;border-radius:50%;background:var(--teal-500)}.pipeline-row strong{font-size:12px}.insight{margin:0 20px 18px;padding:12px 13px;border-radius:9px;background:var(--teal-50);color:#35665f;font-size:9px;line-height:1.55}
.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-wrap{position:relative;min-width:250px}.search-wrap::before{content:"⌕";position:absolute;left:11px;top:9px;color:var(--subtle);font-size:15px}.search,.filter{height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:10px;outline:none}.search{width:100%;padding:0 12px 0 33px}.filter{padding:0 31px 0 11px}.search:focus,.filter:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(24,169,153,.08)}
.operations-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.operation-list{max-height:calc(100vh - 220px);overflow:auto;padding:8px}.operation-card{width:100%;padding:14px 13px;border:1px solid transparent;border-radius:9px;background:transparent;text-align:left;color:var(--ink)}.operation-card:hover{background:#f8fafb}.operation-card.active{border-color:#bfe4df;background:var(--teal-50)}.operation-card-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.operation-card strong{font-size:10px}.operation-card p{margin:7px 0 10px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.operation-card-foot{display:flex;justify-content:space-between;color:var(--subtle);font-size:8px}.operation-card-foot b{color:var(--ink);font-size:9px}.operation-workspace{min-width:0}.operation-hero{padding:20px}.operation-hero-top{display:flex;justify-content:space-between;gap:20px;align-items:start}.operation-id{display:flex;align-items:center;gap:9px;margin-bottom:7px}.operation-id h2{margin:0;font-size:17px}.operation-hero p{margin:0;color:var(--muted);font-size:10px}.operation-total{text-align:right}.operation-total small,.operation-total strong{display:block}.operation-total small{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.operation-total strong{margin-top:6px;font-size:22px}.operation-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft)}.meta-item span,.meta-item strong{display:block}.meta-item span{color:var(--subtle);font-size:8px;text-transform:uppercase;letter-spacing:.05em}.meta-item strong{margin-top:5px;font-size:9px;line-height:1.4}.tabs{display:flex;gap:2px;padding:0 20px;border-top:1px solid var(--line-soft);overflow:auto}.tab{height:46px;border:0;border-bottom:2px solid transparent;padding:0 13px;background:transparent;color:var(--muted);font-size:9px;font-weight:750;white-space:nowrap}.tab.active{color:var(--teal-700);border-color:var(--teal-600)}.tab-content{padding:18px}.summary-costs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary-tile{padding:15px;border:1px solid var(--line);border-radius:9px;background:#fbfcfd}.summary-tile span,.summary-tile strong{display:block}.summary-tile span{font-size:8px;color:var(--muted);text-transform:uppercase}.summary-tile strong{font-size:17px;margin-top:8px}.summary-section{margin-top:18px}.summary-section h4,.section-title{margin:0 0 10px;font-size:10px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detail-box{padding:12px;border:1px solid var(--line-soft);border-radius:8px}.detail-box span,.detail-box strong{display:block}.detail-box span{font-size:8px;color:var(--muted)}.detail-box strong{font-size:9px;margin-top:5px;line-height:1.45}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.record-count{font-size:9px;color:var(--muted)}
.stage-costs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.stage-tile{border-top:3px solid var(--teal-500)}.stage-tile:nth-child(2){border-top-color:var(--blue-600)}.stage-tile:nth-child(3){border-top-color:#7c6bd4}.stage-tile:nth-child(4){border-top-color:var(--amber-600)}.movement-stage{margin-top:18px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.movement-stage-head{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;background:#fbfcfd;border-bottom:1px solid var(--line)}.movement-stage-head h4{margin:0 0 4px;font-size:11px;text-transform:uppercase}.movement-stage-head>strong{font-size:14px}
.analytics-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:18px}.currency-box{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px}.currency-tile{padding:13px;border:1px solid var(--line-soft);border-radius:8px}.currency-tile span,.currency-tile strong{display:block}.currency-tile span{font-size:8px;color:var(--muted)}.currency-tile strong{font-size:13px;margin-top:5px}.currency-tile.wide{grid-column:1/-1;background:var(--navy-900);color:#fff;border:0}.currency-tile.wide span{color:#a9c0cf}.currency-tile.wide strong{font-size:20px}.filter-strip{padding:14px 18px;border-bottom:1px solid var(--line-soft)}
.admin-tabs{margin-bottom:18px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:4px;display:flex;gap:3px;overflow:auto}.admin-tabs .tab{height:38px;border:0;border-radius:7px}.admin-tabs .tab.active{background:var(--navy-900);color:#fff}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-grid .span-2{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:9px;color:#526773;font-weight:750}.field input,.field select,.field textarea{width:100%;min-height:39px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:#fff;color:var(--ink);font-size:10px;outline:none}.field textarea{min-height:78px;resize:vertical}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:18px}.catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:18px}.catalog-card{padding:13px;border:1px solid var(--line-soft);border-radius:8px}.catalog-card span{display:block;color:var(--subtle);font-size:8px;text-transform:uppercase}.catalog-card p{margin:7px 0 0;font-size:9px;line-height:1.6}.session-state{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px}.session-state .status-dot{flex:0 0 auto}
.modal-backdrop{position:fixed;inset:0;z-index:50;padding:24px;background:rgba(7,25,39,.58);backdrop-filter:blur(3px);display:grid;place-items:center}.modal{width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:14px;background:#fff;box-shadow:0 30px 90px rgba(3,20,32,.28)}.modal-head{position:sticky;top:0;z-index:1;padding:19px 21px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-head h3{margin:0 0 5px;font-size:15px}.modal-close{width:32px;height:32px;border:0;border-radius:8px;background:#f3f6f7;color:var(--muted);font-size:20px}.modal-body{padding:20px}.modal-actions{position:sticky;bottom:0;padding:14px 20px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.supplier-combobox{position:relative}.supplier-suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:8;max-height:220px;overflow:auto;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-md)}.supplier-suggestions[hidden]{display:none}.supplier-suggestion{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:0;border-radius:6px;background:#fff;color:var(--ink);text-align:left;font-size:11px}.supplier-suggestion:hover,.supplier-suggestion:focus{background:#eef9f7;outline:none}.supplier-suggestion small{color:var(--muted);font-size:9px}.toast{position:fixed;right:22px;bottom:22px;z-index:80;max-width:360px;padding:12px 15px;border-radius:9px;background:var(--navy-900);color:#fff;box-shadow:var(--shadow-md);font-size:10px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#842f2a}.toast.duplicate-toast{pointer-events:auto}.toast-link{margin-left:6px;padding:0;border:0;background:transparent;color:#fff;text-decoration:underline;font-weight:800;font-size:inherit;cursor:pointer}.muted{color:var(--muted)}.text-up{color:var(--teal-700)}.text-warn{color:var(--amber-600)}.nowrap{white-space:nowrap}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.analytics-grid{grid-template-columns:1fr}.operations-layout{grid-template-columns:250px minmax(0,1fr)}.operation-meta{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:.22s ease}.sidebar.open{transform:translateX(0)}.sidebar-close{display:block}.sidebar-overlay{position:fixed;inset:0;z-index:19;background:rgba(7,25,39,.42);opacity:0;pointer-events:none;transition:.2s}.sidebar-overlay.open{opacity:1;pointer-events:auto}.main-content{width:100%;margin-left:0}.menu-button{display:block}.topbar{padding:0 18px}.profile-copy,.profile-button>span:last-child{display:none}.content{padding:24px 18px 44px}.operations-layout{grid-template-columns:1fr}.operation-list{max-height:310px}.admin-grid{grid-template-columns:1fr}.admin-grid .span-2{grid-column:auto}}
@media(max-width:560px){.top-actions .quiet{display:none}.top-actions .button.primary{width:39px;padding:0;font-size:0}.top-actions .button.primary span{font-size:12px}.topbar h1{font-size:16px}.breadcrumb{display:none}.page-head{align-items:flex-start;flex-direction:column}.page-head h2{font-size:21px}.kpi-grid{grid-template-columns:1fr}.kpi-card{min-height:116px}.operation-hero-top{flex-direction:column}.operation-total{text-align:left}.operation-meta,.summary-costs,.stage-costs,.detail-grid,.form-grid,.catalog-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.analytics-grid{display:block}.analytics-grid>.panel{margin-bottom:18px}.modal-backdrop{padding:10px}.modal{max-height:calc(100vh - 20px)}}

.top-actions{position:relative}.profile-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:40;min-width:218px;padding:7px;border:1px solid #d6e2e7;border-radius:12px;background:#fff;box-shadow:0 16px 34px rgba(10,36,53,.16)}.profile-menu button{display:flex;width:100%;align-items:center;min-height:38px;border:0;border-radius:8px;padding:0 11px;background:transparent;color:var(--ink);font-size:11px;font-weight:750;text-align:left}.profile-menu button:hover{background:var(--teal-50);color:var(--teal-700)}.profile-menu .profile-menu-logout{margin-top:3px;border-top:1px solid var(--line-soft);border-radius:0;color:var(--red-600)}.profile-menu .profile-menu-logout:hover{background:var(--red-50);color:var(--red-600)}.session-settings{display:flex;align-items:center;justify-content:space-between;gap:18px}.session-settings strong{font-size:12px}.session-settings p{max-width:700px;margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.session-settings .button{flex:0 0 auto}.auth-brand-mark.with-logo{padding:0!important;background:#fff!important}.auth-brand-mark img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:contain}@media(max-width:560px){.profile-menu{right:-4px;min-width:210px}.session-settings{align-items:stretch;flex-direction:column}.session-settings .button{width:100%}}

/* Legibilidad reforzada: texto operativo principal en 13 px. */
.brand small,.system-line,.system-card small,.profile-copy strong,.profile-copy small,
.page-head p,.button,.kpi-label,.data-table,.operation-card strong,.operation-hero p,
.operation-meta .meta-item strong,.summary-tile span,.detail-box strong,.field input,
.field select,.field textarea,.toast{font-size:13px}
.nav-item,.kpi-foot,.panel-sub,.bar-meta,.pipeline-row,.insight,
.operation-card p,.operation-card-foot b,.tab,.record-count,.section-title,.field label,
.session-state,.catalog-card p{font-size:12px}
.nav-item,.tab,.search,.filter{font-size:13px}
.panel-head h3{font-size:14px}
.nav-section-label,.breadcrumb,.data-table th,.data-table .primary-cell small,.status,
.operation-card-foot,.operation-total small,.meta-item span,.detail-box span,.catalog-card span,
.currency-tile span{font-size:11px}
.currency-tile strong{font-size:15px}
.table-action{font-size:12px}

/* Capa visual profesional y componentes de marca/proveedores. */
body{background:
  radial-gradient(circle at 92% 2%,rgba(24,169,153,.07),transparent 28%),
  linear-gradient(180deg,#f7fafb 0,#f3f6f8 45%,#eef3f6 100%)}
.brand-row{display:flex;align-items:flex-start;gap:6px;margin-bottom:27px}.brand-row .brand{width:100%;height:56px;margin:0;padding:4px 7px;border:1px solid transparent;border-radius:12px;background:transparent;color:inherit;text-align:left;transition:.18s ease}.brand-row .brand:hover{border-color:rgba(116,213,203,.22);background:rgba(255,255,255,.055);transform:translateY(-1px)}.brand-mark{position:relative;overflow:hidden}.brand-mark img{display:none;width:100%;height:100%;object-fit:contain;background:#fff}.brand-mark img.visible{display:block}.brand-mark .hidden{display:none}.brand-copy strong,.brand-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-copy{flex:1}
.page-head{padding:3px 2px 16px;border-bottom:1px solid rgba(201,216,225,.78)}.page-head h2{position:relative;padding-left:14px}.page-head h2::before{content:"";position:absolute;left:0;top:3px;width:4px;height:25px;border-radius:6px;background:linear-gradient(180deg,var(--teal-500),var(--teal-700))}
.panel,.kpi-card{border-color:#d8e3e9;box-shadow:0 4px 18px rgba(16,42,67,.055),0 1px 2px rgba(16,42,67,.04)}.panel{overflow:hidden}.panel:hover,.kpi-card:hover{border-color:#c9d9e2}.kpi-card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,42,67,.08)}.kpi-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--teal-500),rgba(24,169,153,.08))}.kpi-card.blue::before{background:linear-gradient(90deg,var(--blue-600),rgba(53,104,212,.08))}.kpi-card.amber::before{background:linear-gradient(90deg,#d49128,rgba(212,145,40,.08))}
.panel-head{background:linear-gradient(180deg,#fff,#fcfdfe)}.data-table th{position:sticky;top:0;z-index:1;background:#f1f6f8;color:#526b7a}.data-table tbody tr{transition:background .14s ease}.operation-workspace{box-shadow:0 10px 32px rgba(16,42,67,.075)}.operation-hero{background:linear-gradient(115deg,#fff 0,#fff 68%,#effaf8 100%)}.tabs{background:#fcfefe}.tab.active{font-weight:850}.button{box-shadow:0 1px 2px rgba(16,42,67,.04)}.button.primary{box-shadow:0 7px 18px rgba(15,148,136,.2)}
.supplier-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.mini-stat{position:relative;padding:17px 18px;border:1px solid #d8e3e9;border-radius:12px;background:linear-gradient(135deg,#fff,#f8fbfc);box-shadow:var(--shadow-sm);overflow:hidden}.mini-stat::after{content:"";position:absolute;right:-18px;bottom:-28px;width:76px;height:76px;border-radius:50%;background:rgba(24,169,153,.07)}.mini-stat span,.mini-stat strong{display:block}.mini-stat span{color:var(--muted);font-size:11px;font-weight:750}.mini-stat strong{margin-top:8px;font-size:24px;letter-spacing:-.04em}.supplier-search{padding:15px 18px;border-bottom:1px solid var(--line-soft);background:#fbfdfe}.supplier-search .search-wrap{max-width:480px}
.brand-editor{display:grid;gap:18px}.brand-preview{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #cfe0e6;border-radius:12px;background:linear-gradient(120deg,#f5fbfa,#fff)}.brand-preview>span{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,var(--teal-500),var(--teal-700));color:#fff;font-size:23px;font-weight:850;overflow:hidden}.brand-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.brand-preview strong,.brand-preview small{display:block}.brand-preview strong{font-size:16px}.brand-preview small{margin-top:4px;color:var(--muted);font-size:12px}.field-help{color:var(--muted);font-size:11px;line-height:1.45}.field input[type=file]{padding:7px;background:#f9fbfc}
.machine-field[hidden]{display:none}
.stage-percentage{color:var(--muted);font-size:.86em;font-weight:750;white-space:nowrap}.data-table tfoot td{background:#f1f7f7;border-top:2px solid #c7dfdd;font-weight:800}
.status-change-link{padding:6px 8px;border:1px solid #bfe4df;border-radius:7px;background:#fff;color:var(--teal-700);font-size:10px}.status-change-link:hover{background:var(--teal-50)}.workflow-status-modal{display:grid;gap:16px}.workflow-current{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--line-soft);border-radius:10px;background:#f8fbfc}.workflow-current>span{color:var(--muted);font-size:11px;font-weight:750}.workflow-note{display:grid;gap:6px;padding:13px;border:1px solid #f0d8a3;border-radius:10px;background:#fff8e9;color:#805b14}.workflow-note strong{font-size:12px}.workflow-note span{font-size:11px;line-height:1.5}.workflow-note .button{justify-self:start;margin-top:4px}.workflow-note.success{border-color:#bde5df;background:#f0fbf9;color:var(--teal-700)}
.analytics-grid .bar-fill{background:linear-gradient(90deg,#0a8077,#27b5a8)}
@media(max-width:800px){.supplier-kpis{grid-template-columns:1fr}.brand-row{align-items:center}.page-head{padding-bottom:14px}}
.access-gate{min-height:300px;display:flex;align-items:center;justify-content:center;gap:18px;padding:42px;text-align:left}.access-gate-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#fff2d8;color:#9a6500;font-size:25px;font-weight:900}.access-gate h2{margin:0 0 8px;font-size:20px}.access-gate p{max-width:620px;margin:5px 0;color:var(--muted);font-size:12px;line-height:1.6}.access-gate .button{margin-top:14px}.button:disabled{cursor:not-allowed;opacity:.55;transform:none!important;box-shadow:none}
.top-actions [hidden],[hidden]{display:none!important}.app-shell.auth-locked{display:block;min-height:100vh}.app-shell.auth-locked .sidebar,.app-shell.auth-locked .sidebar-overlay,.app-shell.auth-locked .topbar{display:none!important}.app-shell.auth-locked .main-content{width:100%;min-height:100vh;margin-left:0}.app-shell.auth-locked #app-view{min-height:100vh}.auth-screen{position:relative;isolation:isolate;min-height:100vh;display:grid;place-items:center;overflow:hidden;padding:48px 24px;background:radial-gradient(circle at 14% 16%,rgba(69,211,193,.28),transparent 32%),radial-gradient(circle at 89% 86%,rgba(61,120,220,.2),transparent 29%),linear-gradient(135deg,#071d30 0%,#0a3850 52%,#0d8378 150%)}.auth-screen::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.6;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent)}.auth-orbit{position:absolute;z-index:-1;border:1px solid rgba(209,255,249,.18);border-radius:50%}.auth-orbit-one{width:440px;height:440px;left:-190px;bottom:-210px}.auth-orbit-two{width:620px;height:620px;right:-310px;top:-330px}.auth-card{width:min(510px,100%);padding:30px;border:1px solid rgba(225,247,246,.54);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 30px 90px rgba(0,10,20,.32);backdrop-filter:blur(18px)}.auth-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:30px}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,var(--teal-500),var(--teal-700));color:#fff;font-size:21px;font-weight:850;box-shadow:0 9px 19px rgba(15,148,136,.24)}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:15px;letter-spacing:.08em}.auth-brand small{margin-top:4px;color:var(--muted);font-size:10px;letter-spacing:.04em}.auth-badge{padding:7px 9px;border-radius:30px;background:var(--teal-50);color:var(--teal-700);font-size:9px;font-weight:850;letter-spacing:.06em;white-space:nowrap}.auth-kicker{margin:0 0 6px;color:var(--teal-700);font-size:10px;font-weight:850;letter-spacing:.11em}.auth-card h2{margin:0 0 8px;font-size:28px;letter-spacing:-.045em}.auth-intro{margin:0 0 19px;color:var(--muted);font-size:12px;line-height:1.65}.auth-status{display:flex;align-items:center;gap:8px;margin:0 0 20px;padding:10px 12px;border:1px solid #f1ddb8;border-radius:9px;background:#fff9ed;color:#95610f;font-size:10px;font-weight:750}.auth-status.online{border-color:#cbece7;background:#f0fbf9;color:var(--teal-700)}.auth-card form{display:grid;gap:15px}.auth-card .field{gap:7px}.auth-card .field label{font-size:10px;color:#49616f}.auth-card .field input{min-height:45px;border-color:#cedde4;background:#fbfdfe;font-size:13px}.auth-card .field input:focus{background:#fff}.auth-submit{width:100%;min-height:46px;margin-top:3px;font-size:12px}.auth-submit span{font-size:17px;line-height:1}.auth-warning{margin:0;padding:11px 12px;border:1px solid #f5d9a6;border-radius:9px;background:#fff8e9;color:#855400;font-size:10px;line-height:1.55}.auth-foot{margin:19px 0 0;padding-top:16px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:9px;line-height:1.6}.content{width:min(1560px,100%);padding:30px 38px 60px}.topbar{height:80px;padding:0 38px;background:rgba(255,255,255,.9);box-shadow:0 4px 22px rgba(17,45,64,.035)}.topbar h1{font-size:21px}.top-actions{gap:10px}.page-head{min-height:104px;align-items:center;margin-bottom:20px;padding:21px 22px;border:1px solid #d9e6eb;border-radius:14px;background:linear-gradient(110deg,#fff 0%,#fbfefd 70%,#edf9f7 100%);box-shadow:0 7px 20px rgba(16,42,67,.04)}.page-head h2{padding-left:15px;font-size:25px}.page-head p{max-width:760px;font-size:12px}.page-actions{justify-content:flex-end}.kpi-grid{gap:16px}.kpi-card{min-height:142px;padding:20px;border-radius:14px}.kpi-value{font-size:25px}.panel{border-radius:14px}.panel-head{min-height:68px;padding:18px 20px}.panel-head h3{font-size:14px}.panel-sub{font-size:11px}.data-table th{padding:13px 14px}.data-table td{padding:14px}.data-table .primary-cell strong{font-size:11px}.operation-workspace{border-radius:14px}.operations-layout> .panel:first-child{position:sticky;top:100px;align-self:start}.operation-list{max-height:calc(100vh - 292px);padding:10px}.operation-card{padding:15px 14px;border-radius:11px}.operation-card.active{box-shadow:0 7px 16px rgba(15,148,136,.08)}.operation-hero{padding:24px}.operation-total{min-width:210px;padding:12px 14px;border:1px solid #cfe8e4;border-radius:11px;background:rgba(255,255,255,.72)}.operation-total strong{font-size:24px}.operation-meta{gap:10px}.meta-item{padding:10px 11px;border-radius:9px;background:rgba(255,255,255,.67)}.tabs{padding:0 22px}.tab{height:50px;font-size:11px}.tab-content{padding:22px}.summary-tile,.detail-box{border-radius:11px}.summary-tile{padding:17px}.summary-tile strong{font-size:19px}.stage-costs{gap:12px}.movement-stage{border-radius:12px}.movement-stage-head{padding:15px 17px;background:linear-gradient(100deg,#f9fbfc,#f2fbf9)}.supplier-kpis{gap:16px}.mini-stat{padding:19px;border-radius:14px}.mini-stat strong{font-size:26px}.supplier-page .panel-head{align-items:center}.analytics-grid .stack{gap:16px}.filter-strip{padding:16px 18px;background:#fbfdfe}.field input,.field select,.field textarea{border-color:#cfdee5;background:#fcfeff}.modal{border-radius:18px}.modal-head{padding:21px 23px}.modal-body{padding:23px}.modal-actions{padding:16px 22px}.table-action{font-weight:800;letter-spacing:.01em}.empty{padding:44px!important}.system-card{border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.02))}@media(max-width:1100px){.operations-layout> .panel:first-child{position:static}.content{padding:26px 26px 52px}}@media(max-width:800px){.content{padding:20px 16px 38px}.topbar{height:70px;padding:0 16px}.page-head{min-height:0;padding:17px;margin-bottom:16px}.page-head h2{font-size:22px}.operation-hero{padding:18px}.operation-total{min-width:0}.tab-content{padding:16px}.auth-screen{padding:22px 16px}.auth-card{padding:24px 20px;border-radius:16px}.auth-card h2{font-size:24px}.auth-card-top{margin-bottom:23px}.auth-badge{display:none}.auth-orbit-two{right:-400px}.auth-orbit-one{left:-300px}}@media(max-width:560px){.auth-screen{padding:0}.auth-card{width:100%;min-height:100vh;border:0;border-radius:0;display:flex;flex-direction:column;justify-content:center}.auth-orbit{display:none}.page-actions{width:100%;justify-content:flex-start}.page-actions .button{flex:1}.summary-costs,.stage-costs{grid-template-columns:1fr}.operation-total{width:100%;text-align:left}}

/* Covisoft UI System v1.0: identidad compartida con acento operativo teal. */
:root{--covi-navy-950:#061e38;--covi-navy-900:#0a3158;--covi-primary:#0b63f6;--covi-primary-hover:#084fc4;--covi-cyan:#0eb7e9;--covi-canvas:#f4f7fb;--covi-text:#102f55;--covi-muted:#52677d;--covi-border:#d8e3ef;--covi-focus:#0b87c9}
body{color:var(--covi-text);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif}
.email-input,.email-value{font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif!important;text-transform:lowercase!important}
.page-head h2::before{background:linear-gradient(180deg,var(--covi-cyan),var(--covi-primary))}
.button.primary{background:var(--covi-primary);box-shadow:0 7px 18px rgba(11,99,246,.2)}.button.primary:hover{background:var(--covi-primary-hover)}
.nav-item.active{background:linear-gradient(90deg,var(--covi-primary),#0877c9)}
.auth-brand>span{background:linear-gradient(145deg,var(--covi-primary),var(--covi-cyan));box-shadow:0 9px 19px rgba(11,99,246,.24)}
.auth-badge{background:#eaf4ff;color:#0756b8}.auth-kicker{color:#0756b8}
.field label,.auth-card .field label{font-size:12px}.field input,.field select,.field textarea{min-height:44px;font-size:14px}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(14,183,233,.42)!important;outline-offset:2px!important;box-shadow:0 0 0 1px var(--covi-focus)!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Acceso COVISOFT: composición de dos paneles para orientación y foco. */
.auth-screen{padding:32px;background:#eef3f8;place-items:center}
.auth-screen::before,.auth-orbit{display:none}
.auth-card.auth-card-split{width:min(940px,100%);min-height:480px;display:grid;grid-template-columns:minmax(330px,.98fr) minmax(390px,1.02fr);padding:0;overflow:hidden;border:1px solid #dbe5ee;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(10,38,67,.16);backdrop-filter:none}
.auth-card-split .auth-panel{padding:44px 48px}
.auth-panel-brand{display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#061e38 0%,#0a3158 100%);color:#fff}
.auth-panel-brand .auth-brand{align-items:center;gap:12px}.auth-panel-brand .auth-brand>span{width:46px;height:46px;border-radius:13px;background:#fff;box-shadow:none}.auth-panel-brand .auth-brand strong{color:#fff;font-size:15px;letter-spacing:.06em}.auth-panel-brand .auth-brand small{color:#c6d8e8;font-size:11px;letter-spacing:0;text-transform:none}.auth-panel-brand .auth-brand-mark.with-logo{padding:0!important}.auth-panel-brand .auth-brand-mark img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}
.auth-private-copy{margin-top:86px}.auth-lock{position:relative;width:44px;height:44px;display:block;margin-bottom:28px;border-radius:11px;background:rgba(255,255,255,.12);color:#fff}.auth-lock::before{content:"";position:absolute;left:14px;top:20px;width:16px;height:12px;border:2px solid currentColor;border-radius:3px}.auth-lock::after{content:"";position:absolute;left:17px;top:11px;width:10px;height:12px;border:2px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0}.auth-private-copy h2{margin:0;color:#fff;font-size:29px;line-height:1.15;letter-spacing:-.04em;text-transform:none}.auth-private-copy p{max-width:310px;margin:22px 0 0;color:#d5e2ec;font-size:13px;line-height:1.65;text-transform:none}
.auth-panel-form{display:flex;flex-direction:column;justify-content:center;background:#fff}.auth-panel-form .auth-copy{margin:0}.auth-panel-form .auth-kicker{margin:0 0 9px;color:var(--covi-primary);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.auth-panel-form .auth-copy h2{margin:0 0 7px;color:#102f55;font-size:29px;line-height:1.15;text-transform:none}.auth-panel-form .auth-intro{margin:0;color:#52677d;font-size:12px;line-height:1.6;text-transform:none}.auth-panel-form .auth-status{margin:22px 0 17px;padding:0;border:0;border-radius:0;background:transparent;color:#7c5b1f;font-size:11px;text-transform:none}.auth-panel-form .auth-status.online{background:transparent;color:#0b776f}.auth-panel-form form{gap:15px}.auth-panel-form .field{gap:7px}.auth-panel-form .field label{font-size:11px;color:#34516d;text-transform:none}.auth-panel-form .field input{min-height:46px;border-color:#d3dfed;border-radius:9px;background:#edf4ff;color:#102f55;font-size:14px;text-transform:none}.auth-panel-form .field input:focus{border-color:var(--covi-primary);background:#fff}.auth-panel-form .auth-submit{min-height:48px;margin-top:4px;border-radius:9px;background:#2f64e8;box-shadow:none;font-size:13px}.auth-panel-form .auth-submit:hover{background:#1e53d7}.auth-panel-form .auth-warning{font-size:11px;text-transform:none}
@media(max-width:760px){.auth-screen{padding:18px}.auth-card.auth-card-split{min-height:0;grid-template-columns:1fr;border-radius:15px}.auth-card-split .auth-panel{padding:30px 28px}.auth-panel-brand{min-height:250px}.auth-private-copy{margin-top:46px}.auth-private-copy h2{font-size:25px}.auth-private-copy p{margin-top:14px}.auth-panel-form{min-height:0}.auth-panel-form .auth-copy h2{font-size:26px}}
@media(max-width:440px){.auth-screen{padding:0}.auth-card.auth-card-split{min-height:100vh;border:0;border-radius:0}.auth-card-split .auth-panel{padding:28px 24px}.auth-panel-brand{min-height:235px}.auth-private-copy{margin-top:38px}.auth-private-copy h2{font-size:23px}.auth-panel-form .auth-status{margin:18px 0 15px}}
.panel-foot-note{padding:11px 18px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:11px;background:#fbfdfe}.dashboard-consolidated .filter-strip{background:#f8fbfd}.dashboard-filters{align-items:center}.dashboard-filters .filter{min-width:132px}
.nav-group{margin:3px 0}.nav-group>.nav-item{margin:0}.nav-chevron{margin-left:auto;color:#7893a3;font-size:13px;transition:transform .18s ease}.nav-group.active .nav-chevron{transform:rotate(180deg);color:#50c7bc}.nav-submenu{display:grid;gap:2px;padding:4px 0 4px 46px}.nav-submenu[hidden]{display:none}.nav-subitem{min-height:32px;padding:0 10px;border:0;border-left:1px solid rgba(135,177,194,.3);background:transparent;color:#8fa9b8;text-align:left;font-size:10px;font-weight:650}.nav-subitem:hover,.nav-subitem:focus{color:#fff;background:rgba(255,255,255,.05);outline:none}.nav-subitem.active{border-left:2px solid var(--teal-500);color:#fff;background:rgba(33,179,164,.1);font-weight:800}.supplier-create-panel{min-height:270px;display:grid;place-items:center;padding:34px}.supplier-create-copy{display:flex;align-items:flex-start;gap:18px;width:min(650px,100%);padding:26px;border:1px solid #d8e9e7;border-radius:14px;background:linear-gradient(120deg,#f2fbf9,#fff);box-shadow:var(--shadow-sm)}.supplier-create-copy h3{margin:0 0 8px;font-size:16px}.supplier-create-copy p{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.6}.supplier-create-icon{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:12px;background:var(--teal-100);color:var(--teal-700);font-size:24px;font-weight:700}@media(max-width:800px){.nav-submenu{padding-left:42px}.supplier-create-panel{padding:18px}.supplier-create-copy{padding:20px;flex-direction:column}}
.exchange-rate-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.exchange-rate-summary>div{padding:15px;border:1px solid var(--line-soft);border-radius:10px;background:#fbfdfe}.exchange-rate-summary span,.exchange-rate-summary strong{display:block}.exchange-rate-summary span{color:var(--muted);font-size:10px}.exchange-rate-summary strong{margin-top:7px;font-size:15px}@media(max-width:640px){.exchange-rate-summary{grid-template-columns:1fr}}
