/* Construago · Azul y esmeralda 3D.
 * Capa de presentación sobre los estilos y el comportamiento responsivo existentes.
 */
:root,
:is(.workspace-app,.construago-auth,.guide-site) {
 --bg:#edf3fc; --surface:#fff; --ink:#1a304e; --muted:#4e627d; --line:#cdd9e9;
 --brand:#255bc8; --brand-dark:#1947a8; --brand-soft:#e6efff;
 --teal:#14795e; --teal-light:#e1f4ed; --navy:#1d3a60; --blue:#265fcf; --danger:#ac304b;
 --ca-sidebar:#f7faff; --ca-heading:#eaf1fc; --ca-sand:#fff3df; --ca-field:#fff; --ca-blue:#e9f1ff;
 --ca-raised:inset 0 1px 0 #fff,0 3px 0 #dce5f2,0 12px 28px #1f416315;
 --ca-button:inset 0 1px 0 #fff,0 2px 0 #c5d3e7,0 5px 10px #26446e10;
 --ca-primary:inset 0 1px 0 #ffffff38,0 3px 0 #153c8e,0 7px 15px #225dcc29;
 --shadow:var(--ca-raised); color-scheme:light;
}
:is(.workspace-app,.construago-auth,.guide-site) {
 color:var(--ink); background:var(--bg); font-family:'Segoe UI',Arial,sans-serif;
 font-size:1rem; line-height:1.6; font-weight:400; text-shadow:none;
}
:is(.workspace-app,.construago-auth,.guide-site) :is(h1,h2,h3,h4,h5,h6,p,span,strong,small,a,button,label,th,td,input,select,textarea) { text-shadow:none; }
:is(.workspace-app,.construago-auth,.guide-site) :is(h1,h2,h3,h4,h5,h6) { color:var(--ink); line-height:1.3; font-weight:650; letter-spacing:-.025em; }
:is(.workspace-app,.construago-auth,.guide-site) h1 { font-size:clamp(1.65rem,2vw,2rem); }
:is(.workspace-app,.construago-auth,.guide-site) :is(.muted,.intro,.small) { color:var(--muted); }
:is(.workspace-app,.construago-auth,.guide-site) .eyebrow { color:#2555a6; font-size:.8125rem; font-weight:650; letter-spacing:.075em; }
:is(.workspace-app,.construago-auth,.guide-site) .field { color:#314b6b; font-size:.875rem; font-weight:600; }
:is(.workspace-app,.construago-auth,.guide-site) :is(input,select,textarea) { max-width:100%; font-size:1rem; line-height:1.5; }
:is(.workspace-app,.construago-auth,.guide-site) :is(input,textarea)::placeholder { color:#5e718c; opacity:1; }
:is(.workspace-app,.construago-auth,.guide-site) :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #3875dd; outline-offset:3px; }
:is(.workspace-app,.construago-auth,.guide-site) :is(.btn,.quick-add) {
 min-height:42px; padding:9px 14px; border:1px solid #c4d3e8; border-radius:9px;
 background:linear-gradient(180deg,#fff,#eef4fd); color:#284d7c;
 font-size:.9375rem; line-height:1.45; font-weight:600;
 box-shadow:var(--ca-button); transform:none;
 transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease;
}
:is(.workspace-app,.construago-auth,.guide-site) .btn:hover { color:#194b92; border-color:#8facd7; background:linear-gradient(180deg,#fff,#e7effc); }
:is(.workspace-app,.construago-auth,.guide-site) .btn.primary,
:is(.workspace-app,.construago-auth,.guide-site) .btn.blue {
 background:linear-gradient(145deg,#316bd8,#2252b8); color:#fff; border-color:#2454b2; box-shadow:var(--ca-primary);
}
:is(.workspace-app,.construago-auth,.guide-site) .btn.primary:hover,
:is(.workspace-app,.construago-auth,.guide-site) .btn.blue:hover { background:linear-gradient(145deg,#2b61ca,#1946a3); color:#fff; border-color:#1b489e; }
:is(.workspace-app,.construago-auth,.guide-site) .btn.danger { background:linear-gradient(180deg,#fff5f6,#fce8ec); color:#a12844; border-color:#e9b8c4; box-shadow:inset 0 1px 0 #fff,0 2px 0 #ddb0be,0 5px 10px #873b5210; }
:is(.workspace-app,.construago-auth,.guide-site) .btn.danger:hover { background:#f9e0e6; color:#8b233b; border-color:#d595a7; }
:is(.workspace-app,.construago-auth,.guide-site) .btn:active:not(:disabled) { transform:translateY(1px); box-shadow:inset 0 1px 3px #183b6420; }
:is(.workspace-app,.construago-auth,.guide-site) :is(.btn.icon-only,.icon-only) { min-width:42px; min-height:42px; padding:8px; }
:is(.workspace-app,.construago-auth,.guide-site) :is(.btn:disabled,.btn[aria-disabled=true]) { transform:none; box-shadow:none; }
:is(.workspace-app,.construago-auth,.guide-site) .help-mark { background:#eaf1ff; color:#2459b1; border-color:#c3d4f2; box-shadow:none; }
:is(.workspace-app,.construago-auth,.guide-site) :is(.field input,.field select,.field textarea,input.control,select.control,.practice-field input,.practice-field select,.practice-field textarea) {
 color:var(--ink); background:#fff; border:1px solid #bccce3; border-radius:8px;
 min-height:42px; font-size:1rem; font-weight:400;
 box-shadow:inset 0 2px 4px #243f6410; transition:border-color .16s ease,box-shadow .16s ease;
}
:is(.workspace-app,.construago-auth,.guide-site) :is(.field input:focus,.field select:focus,.field textarea:focus) { border-color:#5484d1; box-shadow:0 0 0 3px #306bdb12; }
:is(.workspace-app,.construago-auth,.guide-site) :is(input[type=checkbox],input[type=radio]) { accent-color:#255bc8; min-height:0; }
:is(.workspace-app,.guide-site) :is(.panel,.card,.flow-selector,.flow-reading,.flow-steps,.manual-flow-help,.manual-connection,.manual-trace,.journey-panel,.academy-how) {
 background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--ca-raised);
}
.workspace-app .panel.flush { background:transparent; border:0; box-shadow:none; }
/* Logo íntegro: dimensiones proporcionales y sin ventanas de recorte. */
.executive-brand { --ca-logo-height:92px; --ca-word-size:1.2rem; display:inline-flex; align-items:center; gap:12px; max-width:100%; min-width:0; vertical-align:middle; }
:is(.workspace-app,.construago-auth,.guide-site) .executive-brand .executive-brand-logo {
 display:block; position:static; width:auto; height:var(--ca-logo-height); max-width:none;
 aspect-ratio:492 / 673; object-fit:contain; flex:0 0 auto;
 margin:0; padding:0; border:0; border-radius:0; background:transparent; mix-blend-mode:normal; box-shadow:none; transform:none;
}
.executive-brand-word { color:#244a78; font-family:'Segoe UI',Arial,sans-serif; font-size:var(--ca-word-size); font-weight:650; line-height:1.2; letter-spacing:.025em; text-transform:uppercase; white-space:nowrap; }
/* Navegación fija y compacta; el color destaca el lugar de trabajo actual. */
.workspace-app .sidebar { width:272px; background:linear-gradient(180deg,#fff 0%,#f3f7ff 100%); color:var(--ink); border-right:1px solid #c9d7eb; box-shadow:5px 0 20px #274a7110; }
.workspace-app .main { margin-left:272px; min-width:0; }
.workspace-app .sidebar .brand { min-height:122px; width:100%; padding:14px 18px; gap:0; border-bottom:1px solid #d9e3f1; background:#fff; text-decoration:none; }
.workspace-app .sidebar-search-area { padding:14px 16px 12px; border-bottom:1px solid #d9e3f1; margin-bottom:6px; }
.workspace-app .sidebar-search-title { font-size:.8125rem; color:#52647e; margin-bottom:7px; }
.workspace-app .sidebar-search-field { color:#476589; background:#fff; border:1px solid #c3d2e8; border-radius:8px; box-shadow:inset 0 2px 4px #2743670d; }
.workspace-app .sidebar-search-field input { background:transparent; color:#263f60; font-size:.9375rem; box-shadow:none; }
.workspace-app .sidebar-search-field input::placeholder { color:#5e718c; }
.workspace-app :is(.sidebar-search-clear,.sidebar-search-status,.sidebar-no-results) { color:#4c6382; font-size:.8125rem; }
.workspace-app .sidebar-nav { padding:0 12px 14px; scrollbar-color:#718bad #edf3fc; }
.workspace-app .nav-link,.workspace-app .nav-group>summary { color:#344f70; min-height:41px; padding:9px 11px; font-size:.9375rem; line-height:1.5; font-weight:500; border-radius:8px; transition:background-color .16s ease,color .16s ease,box-shadow .16s ease; }
.workspace-app .nav-link .icon,.workspace-app .nav-group>summary>.icon { width:18px; height:18px; color:#3868a5; }
.workspace-app .nav-link:hover,.workspace-app .nav-link:focus-visible,.workspace-app .nav-group>summary:hover,.workspace-app .nav-group>summary:focus-visible { background:#e6efff; color:#244e8c; }
.workspace-app .nav-link.active,.workspace-app .nav-group.nav-current>summary { background:linear-gradient(120deg,#316bd8,#2252b8); color:#fff; border-radius:8px; font-weight:600; box-shadow:inset 0 1px 0 #ffffff30,0 2px 0 #174597,0 5px 12px #2454ad25; }
.workspace-app .nav-link.active .icon,.workspace-app .nav-group.nav-current>summary>.icon,.workspace-app .nav-group.nav-current>summary::after { color:#fff; }
.workspace-app .nav-module-count { background:#e9f1fd; color:#345b91; border:1px solid #cfddf1; border-radius:5px; font-size:.75rem; }
.workspace-app .nav-group.nav-current>summary .nav-module-count { background:#ffffff1f; color:#fff; border-color:#ffffff4d; }
.workspace-app .nav-label { color:#5c708a; font-size:.75rem; letter-spacing:.09em; padding:18px 11px 6px; }
.workspace-app .subnav { margin-left:18px; border-color:#c6d6ee; }
.workspace-app .subnav .nav-link { min-height:36px; font-size:.875rem; padding:7px 10px; }
.workspace-app .sidebar-foot { background:#edf4ff; border-top:1px solid #d3e0f3; padding:12px 16px; }
.workspace-app .guide-link { background:linear-gradient(145deg,#fff,#e8f5f0); color:#17654f; border:1px solid #b6dccc; border-radius:9px; padding:11px 10px; box-shadow:inset 0 1px 0 #fff,0 2px 0 #bfdccd,0 5px 12px #245e4810; }
.workspace-app .guide-link:hover { background:#e3f3ec; color:#145b47; }
.workspace-app .guide-link strong { font-size:.875rem; }
.workspace-app .guide-link small { color:#3d6657; font-size:.8125rem; }
.workspace-app .sidebar-version { color:#546985; font-size:.8125rem; }
html.sidebar-collapsed .workspace-app .sidebar-find { background:linear-gradient(180deg,#fff,#eaf1fe); color:#315f9c; border-color:#bfd1ec; box-shadow:var(--ca-button); }
.workspace-app .topbar { min-height:64px; padding:10px 26px; gap:12px; flex-wrap:wrap; background:#fff; color:var(--ink); border-bottom:1px solid #cedcf0; box-shadow:0 3px 14px #294b7610; }
.workspace-app .topbar-left { flex:1 1 200px; min-width:0; }
.workspace-app .topbar-title { color:#4e6482; font-size:.875rem; }
.workspace-app .topbar-title strong { color:#244b7b; font-weight:650; }
.workspace-app .topbar-title .muted { color:#6a7c95; }
.workspace-app .topbar .btn { background:linear-gradient(180deg,#fff,#edf3ff); color:#2f5689; border-color:#c3d3ea; box-shadow:var(--ca-button); }
.workspace-app .topbar .btn:hover { background:#e7f0ff; color:#224c89; }
.workspace-app .topbar .topbar-guide { background:linear-gradient(145deg,#188265,#116b54); color:#fff; border-color:#126d55; box-shadow:inset 0 1px 0 #ffffff26,0 2px 0 #0c503e,0 5px 10px #11694e20; }
.workspace-app .topbar .topbar-guide:hover { background:#116b54; color:#fff; }
.workspace-app .topbar .avatar { width:34px; height:34px; background:linear-gradient(135deg,#eef5ff,#d4e4ff); color:#284e84; border:1px solid #b9ceeb; box-shadow:inset 0 1px 0 #fff,0 2px 0 #b5c9e6; }
.workspace-app .topbar .user-name { color:#3a5273; font-size:.875rem; font-weight:500; }
.workspace-app .topbar .actions { gap:10px; min-width:0; flex-wrap:wrap; }
.workspace-app .workspace-bar { width:calc(100% - 52px); margin:0 auto; min-height:38px; padding:12px 0 0; justify-content:flex-start; background:transparent; border:0; border-radius:0; box-shadow:none; }
.workspace-app .workspace-identity { display:none; }
.workspace-app .workspace-breadcrumb { justify-content:flex-start; flex-wrap:wrap; row-gap:4px; color:#536c8e; font-size:.8125rem; }
.workspace-app .workspace-breadcrumb a { color:#315d99; font-size:.8125rem; }
.workspace-app .workspace-breadcrumb [aria-current] { color:#214c89; }
.workspace-app .workspace-picker>summary,.workspace-app .workspace-options { background:#fff; border-color:#c5d5ee; color:#34547a; box-shadow:var(--ca-button); }
.workspace-app .workspace-search input { background:#fff; color:var(--ink); }
.workspace-app .content { padding:20px 26px 36px; }
.workspace-app .page-heading { margin-bottom:20px; gap:16px; align-items:flex-end; flex-wrap:wrap; }
.workspace-app .page-heading h1 { margin-bottom:7px; }
.workspace-app .page-heading p { font-size:.9375rem; line-height:1.6; color:var(--muted); }
.workspace-app .page-heading .eyebrow { color:#2455a5; font-size:.75rem; margin-bottom:6px; }
/* Campos blancos sobre filtros azulados: lectura primero, color en los controles. */
.workspace-app .panel-top,.workspace-app .panel.flush .panel-top { background:linear-gradient(180deg,#f7faff,#eaf1fc); border-color:#cddcf0; box-shadow:inset 0 1px 0 #fff; }
.workspace-app :is(.filters,.catalog-filter,.form-footer) { background:#f2f6fd; border-color:#d2dff0; border-radius:9px; box-shadow:none; }
.workspace-app form.panel.filter-grid { display:flex; flex-wrap:wrap; align-items:flex-end; gap:14px; padding:18px 20px; background:linear-gradient(135deg,#f8fbff,#eaf2ff); }
.workspace-app form.panel.filter-grid>.field { flex:1 1 220px; max-width:560px; min-width:0; }
.workspace-app form.panel.filter-grid>.btn { flex:0 0 auto; align-self:flex-end; width:auto; min-width:112px; }
.workspace-app .unit-capture { background:#edf6ff; border-color:#bfd6ef; border-radius:9px; }
.workspace-app .lookup .lookup-results { background:#fff; border-color:#adcaed; border-radius:8px; box-shadow:0 8px 22px #23496f26; }
.workspace-app .lookup-selected-label { color:#35597f; font-size:.875rem; }
.workspace-app .lines-footer .totals { background:linear-gradient(145deg,#f5fcf9,#e5f4ed); border-color:#b9dccc; color:#185e49; border-radius:9px; box-shadow:inset 0 1px 0 #fff,0 2px 0 #c5dfd3; }
.workspace-app .stats { gap:16px; }
.workspace-app .stats .stat,.workspace-app .stats .stat:nth-child(n) { background:linear-gradient(145deg,#fff,#f8faff); border:1px solid #cdd9e9; border-top:3px solid #316bd8; border-radius:12px; box-shadow:var(--ca-raised); padding:20px; }
.workspace-app .stats .stat:nth-child(2) { border-top-color:#168367; }
.workspace-app .stats .stat:nth-child(3) { border-top-color:#cc8b25; }
.workspace-app .stats .stat:nth-child(4) { border-top-color:#5976bd; }
.workspace-app .stat-label { color:#405b7e; font-size:.875rem; font-weight:600; }
.workspace-app .stat-label .icon { width:34px; height:34px; padding:7px; border:1px solid #c8dbf6; border-radius:9px; background:linear-gradient(145deg,#f2f7ff,#dceaff); color:#285db1; box-shadow:inset 0 1px 0 #fff,0 2px 0 #bed0ec; flex-shrink:0; }
.workspace-app .stats .stat:nth-child(2) .stat-label .icon { background:linear-gradient(145deg,#effaf5,#daf2e7); border-color:#b9dfcb; color:#176b51; box-shadow:inset 0 1px 0 #fff,0 2px 0 #b9d8c9; }
.workspace-app .stat-value { color:#1d3557; font-size:clamp(1.55rem,2vw,1.95rem); font-weight:700; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.workspace-app .stat p { color:#536881; font-size:.875rem; }
.dashboard-date { background:linear-gradient(180deg,#fff,#edf4ff); color:#35567e; border-color:#c5d5ed; border-radius:8px; box-shadow:var(--ca-button); font-size:.875rem; }
.dashboard-help { background:linear-gradient(120deg,#f4faff,#e6f5ef); border-color:#bfded0; border-left:3px solid #1b896b; border-radius:11px; box-shadow:var(--ca-raised); }
.dashboard-help p,.dashboard-section-head span { color:#45677b; font-size:.9375rem; }
/* Tablas y tarjetas conservan sus columnas, etiquetas y desplazamiento. */
:is(.workspace-app,.guide-site) :is(.table-wrap,.manual-table-wrap,.permission-table-wrap,.readable-table-wrap) { scrollbar-color:#718bad #edf3fc; }
:is(.workspace-app,.guide-site) table { background:#fff; }
:is(.workspace-app,.guide-site) table :is(th,td) { color:#263e5e; border-color:#dce5f2; font-size:.9375rem; line-height:1.6; }
.workspace-app .data-table th,.workspace-app .permission-table thead th,.guide-site .manual-table thead th,.guide-site .practice-line-table th { background:linear-gradient(180deg,#edf4ff,#e4edfa); color:#244772; border-bottom:1px solid #bed0e9; font-size:.875rem; font-weight:700; box-shadow:inset 0 1px 0 #fff; }
.workspace-app .data-table tbody tr,.guide-site .manual-table tbody tr { background:#fff; }
.workspace-app .data-table tbody tr:nth-child(even),.guide-site .manual-table tbody tr:nth-child(even) { background:#f3f7fd; }
.workspace-app .data-table tbody tr:hover { background:#eaf2ff; }
.workspace-app .data-table td { padding:13px 16px; }
.table-tools { padding:10px 15px; gap:12px; background:linear-gradient(180deg,#f8fbff,#e7f0ff); color:#34567f; border:1px solid #c5d7ef; border-bottom:0; border-radius:11px 11px 0 0; box-shadow:inset 0 1px 0 #fff; font-size:.875rem; }
.table-tools .table-actions-button { min-height:42px; min-width:116px; }
.table-scroll-controls button { background:linear-gradient(180deg,#fff,#edf4ff); color:#2a538c; border-color:#bfd2ef; border-radius:7px; min-height:38px; min-width:40px; box-shadow:var(--ca-button); }
.workspace-app .badge { padding:5px 8px; border:1px solid #ccdaed; border-radius:6px; color:#365679; background:#edf3fc; font-size:.8125rem; font-weight:600; box-shadow:inset 0 1px 0 #ffffffb3; }
.workspace-app .badge.confirmado { color:#146447; background:#e3f5ec; border-color:#b7dec9; }
.workspace-app .badge.borrador { color:#775210; background:#fff2d9; border-color:#ebd5a4; }
.workspace-app .badge.anulado { color:#9a2944; background:#fdeaf0; border-color:#e7bcca; }
.workspace-app .pagination .current { color:#fff; background:linear-gradient(145deg,#316bd8,#2252b8); border-color:#2555b5; border-radius:7px; box-shadow:var(--ca-primary); }
.workspace-app .permission-table tbody :is(th,td),.workspace-app .permission-table tbody tr:nth-child(even)>* { color:#294263; background:transparent; }
.workspace-app .permission-table tbody th,.guide-site .manual-table tbody th { background:#edf4ff; }
.workspace-app :is(.permission-search,.permission-copy,.permission-note,.permission-mode label,.role-cards .role-card,.role-cards .role-owner) { background:#f2f7ff; border-color:#c5d6ee; box-shadow:none; }
.workspace-app .permission-mode label:has(input:checked) { background:#e6efff; border-color:#86a9de; }
/* El verde indica avance; los pasos conservan contenido y acciones originales. */
.flow-selector { padding:22px; }
.flow-selector-head h2 { font-size:1.4rem; }
.flow-selector-head p { color:var(--muted); font-size:.9375rem; }
.flow-card,.flow-card:nth-child(n),.guide-site .academy-card,.guide-site .academy-card:nth-child(n),.guide-site .journey-card,.guide-site .journey-card:nth-child(n) { background:linear-gradient(145deg,#fff,#f7faff); color:#27466b; border:1px solid #cbdaf0; border-radius:11px; padding:19px; box-shadow:inset 0 1px 0 #fff,0 2px 0 #d7e3f3,0 6px 18px #294d7810; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.flow-card:hover,.guide-site .journey-card:hover { background:linear-gradient(145deg,#fff,#edf5ff); border-color:#8eafe0; box-shadow:inset 0 1px 0 #fff,0 3px 0 #c5d8f2,0 12px 22px #29538d1c; }
.flow-card-icon,.guide-site .academy-card-icon { padding:9px; color:#285eb4; background:linear-gradient(145deg,#f0f6ff,#dceaff); border:1px solid #bfd4f3; border-radius:9px; box-shadow:inset 0 1px 0 #fff,0 2px 0 #bfd2ee; }
.flow-card:nth-child(3n+2) .flow-card-icon,.guide-site .academy-card:nth-child(3n+2) .academy-card-icon { color:#166a51; background:linear-gradient(145deg,#f2fcf7,#dff4ea); border-color:#bce0cf; box-shadow:inset 0 1px 0 #fff,0 2px 0 #bddbcc; }
.flow-card>.icon:last-child { color:#4379b8; }
.flow-card-body strong { color:#24466f; font-size:1rem; font-weight:650; }
.flow-card-body>span { color:#4d6582; font-size:.9375rem; }
.flow-card-body small { color:#245ca5; font-size:.8125rem; }
.flow-search,.guide-site .academy-search { color:#4d6b92; background:#fff; border-color:#bccfe9; border-radius:8px; box-shadow:inset 0 2px 4px #2b49700e; }
.flow-search input,.guide-site .academy-search input { color:var(--ink); background:transparent; }
.flow-basics article>span { color:#245cac; }
.flow-steps { background:#f5f8fe; padding:9px; }
.flow-steps a { color:#34577f; }
.flow-steps a:hover { background:#e8f1ff; }
.flow-steps strong { color:#2b4d76; font-size:.9375rem; }
.flow-steps small { color:#536b86; font-size:.8125rem; }
.flow-steps a[aria-current] { background:linear-gradient(120deg,#e3edff,#eff5ff); color:#204f96; box-shadow:inset 3px 0 #3770cf,0 2px 0 #ceddf3; }
.flow-step-number { color:#345a8b; background:#fff; border-color:#c3d6ef; box-shadow:var(--ca-button); }
.flow-steps a[aria-current] .flow-step-number { color:#fff; background:linear-gradient(145deg,#316bd8,#2252b8); border-color:#2555b5; box-shadow:var(--ca-primary); }
.flow-route,.flow-instructions p,.flow-save-note,.flow-next p { color:#4b6482; font-size:.9375rem; }
.flow-chip,.flow-instruction-number { color:#2358a0; background:#eaf2ff; border:1px solid #c6d9f5; font-size:.8125rem; }
.flow-step-note { background:#f1f6ff; color:#375c8b; border-color:#81a5da; }
.flow-attention { color:#755018; background:#fff4df; border-color:#ecd5a7; }
.flow-attention p,.flow-attention strong { color:#755018; font-size:.9375rem; }
.flow-verification { color:#1d664f; background:#eaf7f0; }
.flow-verification li span { color:#3a6657; font-size:.9375rem; }
.flow-assistant { padding:12px 16px; background:linear-gradient(110deg,#f5fcfa,#e6f5ef); border:1px solid #b9ddce; border-left:3px solid #188466; border-radius:10px; box-shadow:inset 0 1px 0 #fff,0 2px 0 #c9e3d8,0 7px 18px #2864510e; min-width:0; }
.flow-assistant-copy { min-width:0; gap:11px; }
.flow-assistant-copy>.icon { color:#147457; width:21px; height:21px; }
.flow-assistant-copy strong { color:#1f5b49; font-size:.9375rem; font-weight:650; overflow-wrap:break-word; }
.flow-assistant-copy small { color:#3b6959; font-size:.8125rem; }
.flow-assistant .actions { gap:8px; }
.flow-assistant .btn { min-height:38px; padding:8px 12px; font-size:.875rem; }
/* Ventanas con relieve y fondo limpio para leer y elegir opciones. */
:is(.workspace-app,.construago-auth,.guide-site) :is(.modal,.modal-content,.ca-actions-dialog,.academy-dialog) { color:var(--ink); background:#fff; border:1px solid #bdd0eb; border-radius:13px; box-shadow:inset 0 1px 0 #fff,0 4px 0 #bfcee3,0 24px 65px #173d6733; }
:is(.workspace-app,.construago-auth) .modal .modal-header,.ca-actions-dialog>header,.guide-site .academy-dialog-head { color:#244b7d; background:linear-gradient(135deg,#f8fbff,#e8f1ff); border-color:#cbdcf4; box-shadow:inset 0 1px 0 #fff; }
:is(.workspace-app,.construago-auth) .modal .modal-body,.ca-actions-body,.guide-site .academy-dialog-body { background:#fff; }
:is(.workspace-app,.construago-auth) .modal .modal-footer,:is(.workspace-app,.construago-auth) .modal .form-footer { background:#f1f6fe; border-color:#d1dff3; }
.ca-actions-dialog h2,.guide-site .academy-dialog-head h2 { color:#23476f; font-size:1.2rem; }
.ca-actions-body h3 { color:#4b6688; font-size:.9375rem; }
.ca-actions-body section+section { border-color:#d8e4f4; }
.ca-actions-options .btn { font-size:.9375rem; min-height:46px; border-radius:8px; }
:is(.modal,.ca-actions-dialog,.academy-dialog)::backdrop { background:#173b665e; backdrop-filter:none; }
.workspace-app .sidebar-backdrop.show { background:#173b665e; }
:is(.workspace-app,.construago-auth,.guide-site) .notice { color:#254e86; background:#edf4ff; border-color:#b7cff2; border-radius:9px; font-size:.9375rem; }
:is(.workspace-app,.construago-auth,.guide-site) .notice.success { color:#176246; background:#e6f7ed; border-color:#b6dec9; }
:is(.workspace-app,.construago-auth,.guide-site) .notice.error { color:#96283e; background:#fff0f3; border-color:#edc1cb; }
:is(.workspace-app,.construago-auth,.guide-site) .swal2-popup { color:#263f61!important; background:#fff!important; border:1px solid #c5d6ef; border-radius:13px; box-shadow:0 4px 0 #c5d3e9,0 22px 55px #1d416b30; }
:is(.workspace-app,.construago-auth,.guide-site) .swal2-title { color:#23466f; font-size:1.5rem; }
:is(.workspace-app,.construago-auth,.guide-site) .swal2-html-container { color:#4b6381; font-size:1rem; }
:is(.workspace-app,.construago-auth,.guide-site) .swal2-styled.swal2-confirm { color:#fff!important; background:linear-gradient(145deg,#316bd8,#2252b8)!important; border:1px solid #2555b5; border-radius:8px; box-shadow:var(--ca-primary); }
:is(.workspace-app,.construago-auth,.guide-site) .swal2-styled.swal2-cancel { color:#34587f!important; background:linear-gradient(180deg,#fff,#eaf2ff)!important; border:1px solid #bed1ed; border-radius:8px; box-shadow:var(--ca-button); }
:is(.workspace-app,.construago-auth,.guide-site) .swal2-styled.swal2-deny { color:#982a44!important; background:#fdeaf0!important; }
:is(.workspace-app,.construago-auth,.guide-site) .swal2-container.swal2-backdrop-show { background:#173b665e; }
.delete-summary>div { background:linear-gradient(145deg,#fffaf0,#fff0d9); border-color:#e8d1a6; border-radius:10px; box-shadow:inset 0 1px 0 #fff,0 2px 0 #e3d1b6; }
.delete-summary strong { color:#865118; }
.delete-summary span { color:#75552e; font-size:.9375rem; }
.delete-acknowledge { color:#324c6c; font-size:1rem; }
/* Acceso: el logo completo, los campos y el NIP son el centro de la pantalla. */
.construago-auth .auth-page {
 display:flex; align-items:center; justify-content:center; min-height:100vh; min-height:100dvh; padding:28px 20px;
 background:radial-gradient(ellipse at 12% 12%,#d7e6ff 0,transparent 48%),radial-gradient(ellipse at 90% 92%,#dbf0e9 0,transparent 44%),#edf3fc;
}
.construago-auth .auth-main { display:block; width:100%; max-width:500px; min-height:0; padding:0; border:0; background:transparent; }
.construago-auth .auth-form { position:relative; width:100%; max-width:none; padding:28px 32px; background:#fff; border:1px solid #c6d5ea; border-radius:15px; box-shadow:inset 0 1px 0 #fff,0 4px 0 #c7d6ed,0 22px 55px #244a7921; }
.construago-auth .auth-form::before { content:''; position:absolute; top:0; left:16px; right:16px; height:3px; border-radius:0 0 3px 3px; background:linear-gradient(90deg,#2b66d6 0%,#2b66d6 55%,#178365 100%); }
.construago-auth .auth-mobile-brand { display:flex; justify-content:center; width:100%; margin:0 0 24px; padding:0 0 20px; border-bottom:1px solid #dce6f3; text-decoration:none; }
.construago-auth .executive-brand { --ca-logo-height:124px; --ca-word-size:1.6rem; gap:18px; }
.construago-auth h1 { color:#1d385c; font-size:1.65rem; }
.construago-auth .intro { color:#4f6682; font-size:.9375rem; }
.construago-auth .auth-links { gap:12px; font-size:.9375rem; }
.construago-auth .auth-links a { color:#265cac; font-weight:600; }
.construago-auth .auth-guide { color:#255dad; font-size:.9375rem; }
.construago-auth .auth-security { color:#516984; border-color:#dce6f3; font-size:.8125rem; }
.construago-auth .auth-security .icon { color:#16765a; }
.construago-auth .nip-destination { color:#24568b; background:#edf5ff; border-color:#bcd4f2; border-radius:9px; box-shadow:inset 0 1px 0 #fff,0 2px 0 #d2e1f3; }
.construago-auth .nip-destination strong { color:#214c83; }
.construago-auth .nip-input { color:#214e96; background:#f5f9ff; font-size:1.9rem; font-weight:700; letter-spacing:.22em; }
/* Manual y ejercicios: la misma jerarquía visual en todo el recorrido. */
.guide-site .academy-header { background:#fff; border-color:#c9d8ed; box-shadow:0 3px 14px #294b7610; padding-top:12px; padding-bottom:12px; }
.guide-site .academy-brand { color:#244a78; gap:0; }
.guide-site .academy-brand>.executive-brand { display:inline-flex; width:auto; height:auto; padding:0; background:none; border:0; border-radius:0; box-shadow:none; }
.guide-site .executive-brand { --ca-logo-height:84px; --ca-word-size:1.25rem; }
.guide-site .academy-header .btn { color:#fff; background:linear-gradient(145deg,#316bd8,#2252b8); border-color:#2555b5; box-shadow:var(--ca-primary); }
.guide-site .academy-hero { color:#254b79; background:linear-gradient(120deg,#f8fbff,#e6f0ff 65%,#e7f5ef); border-color:#bfd2ee; border-radius:14px; box-shadow:var(--ca-raised); }
.guide-site .academy-hero h1 { color:#214675; }
.guide-site .academy-hero p,.guide-site .academy-kicker { color:#3d5d84; }
.guide-site .academy-pills span { color:#335a8d; background:#ffffffd9; border-color:#c4d7f0; border-radius:6px; font-size:.875rem; box-shadow:inset 0 1px 0 #fff,0 2px 0 #d1dff2; }
.guide-site .academy-emblem { background:linear-gradient(145deg,#fff,#e3efff); border-color:#b7ceef; box-shadow:inset 0 1px 0 #fff,0 3px 0 #bfd0e9,0 18px 30px #29518018; }
.guide-site .academy-emblem .icon { color:#177657; }
.guide-site .academy-emblem strong { color:#25548c; }
.guide-site .academy-emblem small { color:#45678e; }
.guide-site .academy-orbit { border-color:#9eb9de; }
.guide-site :is(.academy-card-count,.academy-map,.academy-intro p,.academy-card .field,.academy-card select,.academy-how p,.academy-footer) { color:#486280; font-size:.9375rem; }
.guide-site .academy-card h3 { color:#274d78; font-size:1.125rem; }
.guide-site .academy-map b { color:#24548f; background:#e5effe; border-color:#bed2f0; }
.guide-site .manual-toc { background:#edf4ff; border-color:#bfd2ef; border-radius:10px; box-shadow:var(--ca-raised); }
.guide-site .manual-toc a { color:#315b91; background:linear-gradient(180deg,#fff,#eaf2ff); border-color:#c3d4ef; border-radius:7px; box-shadow:var(--ca-button); }
.guide-site .manual-toc :is(a:hover,a:focus-visible) { color:#204c8b; background:#e1edff; }
.guide-site .manual-key>div,.guide-site .manual-key>div:nth-child(n),.guide-site .manual-independent-grid>article { background:#f2f7ff; border-color:#c4d7ef; border-radius:9px; box-shadow:inset 0 1px 0 #fff,0 2px 0 #d7e3f3; }
.guide-site .manual-key>div:nth-child(2) { background:#eef9f3; border-color:#c4e0d1; }
.guide-site .manual-key>div:nth-child(3) { background:#fff8eb; border-color:#ecdcb9; }
.guide-site :is(.manual-key p,.manual-lead,.manual-note,.journey-card-text>span,.journey-card-text small,.journey-setup p,.journey-route small,.journey-tools .btn,.manual-link-list .btn,.manual-trace .btn,.manual-note p,.manual-trace p,.practice-before li,.practice-story,.practice-stage>p,.practice-review) { color:#476280; font-size:.9375rem; line-height:1.65; }
.guide-site .manual-key strong,.guide-site .journey-setup summary { color:#2d517a; font-size:.9375rem; }
.guide-site .journey-card :is(p,small,span,strong) { color:inherit; }
.guide-site .journey-card-text>strong { font-size:1.125rem; }
.guide-site .journey-card[aria-current] { border-color:#719ad4; box-shadow:inset 0 0 0 1px #a7c2e9,0 3px 0 #c1d4ee,0 8px 18px #254f7b15; }
.guide-site .journey-number { color:#2d61a7; }
.guide-site .journey-heading,.guide-site .journey-index { background:#edf4ff; }
.guide-site .journey-index button { color:#345c90; font-size:.875rem; border-radius:7px; }
.guide-site .journey-index button>span:first-child { min-width:27px; min-height:27px; font-size:.875rem; color:#305d97; background:#f9fbff; border-color:#c5d8f1; }
.guide-site .journey-index button:hover { background:#e2eeff; }
.guide-site .journey-index button[aria-current="step"] { color:#224d89; background:linear-gradient(120deg,#e3eeff,#f4f8ff); border-color:#abc5eb; box-shadow:inset 3px 0 #316bd8,0 2px 0 #c6d8ef; }
.guide-site .journey-index button[aria-current="step"]>span:first-child { background:#2a60be; color:#fff; border-color:#2556ad; }
.guide-site .journey-route>span { color:#4a688e; font-size:.8125rem; }
.guide-site .journey-route>strong { color:#284f7d; font-size:1rem; }
.guide-site :is(.journey-modules span,.journey-progress,.manual-counter,.manual-trace-tag) { color:#365f94; font-size:.875rem; }
.guide-site :is(.journey-modules span,.manual-counter,.manual-trace-tag,.manual-related) { background:#eaf3ff; border-color:#c2d7f1; }
.guide-site :is(.journey-setup,.practice-story) { color:#375d89; background:#f0f6ff; border-color:#c8d9f1; }
.guide-site .journey-result,.guide-site .journey-reuse,.guide-site .practice-result { color:#22674e; background:#e9f7ef; border-color:#bcdcc9; }
.guide-site .journey-result p,.guide-site .journey-result ul { font-size:.9375rem; }
.guide-site .journey-balance { color:#755322; background:#fff5e3; border-color:#e5cfaa; }
.guide-site .journey-balance dl>div { background:#fffaf0; border-color:#e9d9bb; }
.guide-site .journey-balance dd { color:#795116; font-size:1rem; font-weight:700; }
.guide-site .manual-connection>summary { font-size:1rem; }
.guide-site .manual-connection[open]>summary { background:#eef5ff; }
.guide-site .manual-connection-body>article,.guide-site .practice-stage,.guide-site .practice-complex-row { background:#f7faff; border-color:#ccdcf1; border-radius:9px; }
.guide-site .practice-field,.guide-site .practice-review>div { background:#edf5ff; border-color:#c7d9f2; }
.guide-site .practice-case { color:#315d94; background:linear-gradient(180deg,#fff,#eaf3ff); border-color:#bfd3ef; border-radius:8px; font-size:.9375rem; box-shadow:var(--ca-button); }
.guide-site .practice-case[aria-pressed="true"] { color:#204f91; background:#e4efff; border-color:#8babdf; box-shadow:inset 0 0 0 1px #a4c0e9; }
.guide-site .practice-case small,.guide-site .practice-case[aria-pressed="true"] small { color:#456889; font-size:.8125rem; }
.guide-site .practice-progress button { color:#345f95; background:#edf4ff; border-color:#c7d8ef; font-size:.875rem; }
.guide-site .practice-progress button[aria-current="step"] { color:#fff; background:#295fbd; border-color:#2555a9; }
.guide-site .practice-mode,.guide-site .practice-total { color:#1e6d52; background:#e6f7ed; border-color:#c1decd; font-size:.875rem; }
.guide-site .practice-line-table td { background:#f6f9fe; }
.guide-site .manual-related,.guide-site .manual-link-list .btn { color:#305e9b; }
.guide-site .practice-field.invalid { background:#fff0f3; border-color:#e4adbb; }
.guide-site .manual-note,.guide-site .journey-save,.guide-site .practice-notice { color:#365d90; background:#edf5ff; border-color:#c3d7f1; border-radius:9px; }
.guide-site .manual-trace-note { color:#76531c!important; background:#fff5e2; border-color:#ead6b2; }
.guide-site :is(.manual-section,.academy-dialog-body) :is(p,li,dt,dd,label) { font-size:.9375rem; line-height:1.65; }
.guide-site :is(.manual-section,.academy-dialog-body) small { font-size:.875rem; line-height:1.6; }
.guide-site :is(.journey-tools,.manual-link-list,.manual-trace) .btn:is(.primary,.blue) { color:#fff; }
:is(.workspace-app,.guide-site) .guide-steps>li { background:#f4f8ff; border-color:#cbdcf2; }
:is(.workspace-app,.guide-site) .guide-tab[aria-selected="true"] { color:#fff; background:#295fbd; border-color:#2454a8; }
/* Se mantienen los anchos y puntos de adaptación de la versión anterior. */
:is(.workspace-app,.construago-auth,.guide-site) :is(.content,.panel,.form-grid,.filter-grid,.field,.flow-reading,.flow-card-body,.modal-body,.ca-actions-body) { min-width:0; }
:is(.workspace-app,.guide-site) :is(.page-heading,.form-footer,.permission-toolbar,.permission-copy-body,.lines-footer) { min-width:0; }
@media(min-width:981px) {
 html.sidebar-collapsed .workspace-app .sidebar { width:80px; }
 html.sidebar-collapsed .workspace-app .main { margin-left:80px; }
 html.sidebar-collapsed .workspace-app .sidebar .brand { min-height:108px; justify-content:center; padding:16px 0; }
 html.sidebar-collapsed .workspace-app .executive-brand-word { display:none; }
 html.sidebar-collapsed .workspace-app .executive-brand { --ca-logo-height:76px; gap:0; }
}
@media(max-width:1100px) {
 .workspace-app .topbar .user-name { display:none; }
 .flow-assistant { flex-wrap:wrap; }
}
@media(max-width:980px) {
 .workspace-app .sidebar { width:min(288px,calc(100vw - 28px)); }
 .workspace-app .main { margin-left:0; }
 .workspace-app .sidebar-head .brand { min-height:112px; padding:14px 52px 14px 16px; }
 .workspace-app .sidebar .executive-brand { --ca-logo-height:84px; --ca-word-size:1.05rem; gap:10px; }
 .workspace-app .sidebar-close { color:#365f96; background:linear-gradient(180deg,#fff,#eaf2ff); border-color:#bfd3ef; min-width:36px; min-height:36px; padding:7px; top:36px; right:10px; }
}
@media(max-width:760px) {
 .workspace-app .content { padding:18px 16px 30px; }
 .workspace-app .topbar { padding:9px 16px; gap:8px; }
 .workspace-app .topbar-left { flex:1 1 150px; gap:9px; }
 .workspace-app .topbar .actions { gap:7px; }
 .workspace-app .workspace-bar { width:calc(100% - 32px); padding:10px 0 0; min-height:30px; }
 .workspace-app form.panel.filter-grid { padding:16px; }
 .workspace-app form.panel.filter-grid>.field { max-width:none; flex-basis:180px; }
 .flow-assistant { align-items:flex-start; gap:11px; }
 .flow-assistant .actions { width:100%; flex-wrap:wrap; }
 .flow-assistant .actions .btn { flex:1 1 auto; min-height:42px; }
 .flow-assistant .actions .btn.icon-only { flex:0 0 42px; }
 .flow-steps li { min-width:240px; }
 .guide-site .academy-header { gap:14px; flex-wrap:wrap; }
 .construago-auth .auth-page { padding:24px 16px; }
 .construago-auth .auth-form { padding:26px 22px; }
}
@media(max-width:640px) {
 .workspace-app .page-heading { gap:12px; margin-bottom:18px; }
 .workspace-app .page-heading>.btn { width:auto; }
 .workspace-app .topbar .topbar-guide span { display:none; }
 .workspace-app .topbar .avatar { display:none; }
 .workspace-app .topbar-title { font-size:.8125rem; }
 .workspace-app .topbar .actions { flex-shrink:1; }
 :is(.workspace-app,.guide-site) table.ca-cards tr,:is(.workspace-app,.guide-site) table.ca-cards tr:nth-child(even) { background:#fff!important; border:1px solid #c6d7ef; border-radius:11px; margin:0 0 18px; padding:15px; box-shadow:inset 0 1px 0 #fff,0 3px 0 #d4e2f4,0 9px 18px #244a7512; }
 :is(.workspace-app,.guide-site) table.ca-cards :is(td,tbody th) { color:#294263; border-bottom-color:#dce6f4; font-size:1rem; }
 :is(.workspace-app,.guide-site) table.ca-cards td::before { color:#426489; font-size:.8125rem; font-weight:650; letter-spacing:.025em; }
 .table-tools { border:1px solid #c5d7ef; border-radius:9px; background:linear-gradient(135deg,#f7faff,#e7f0ff); padding:10px 12px; box-shadow:var(--ca-button); }
 .table-tools .table-actions-button { min-height:44px; }
 .workspace-app .stats .stat { padding:17px; }
 .workspace-app .stat-value { font-size:1.55rem; }
 .flow-card-grid { gap:14px; }
 .flow-selector { padding:18px; }
 .flow-card { padding:17px; }
 .flow-reading { padding:21px 18px; }
 .ca-actions-dialog { width:calc(100% - 20px); max-height:90dvh; border-radius:12px; }
 .ca-actions-body { padding:18px; }
 .construago-auth .executive-brand { --ca-logo-height:110px; --ca-word-size:1.35rem; gap:14px; }
 .construago-auth .auth-mobile-brand { margin-bottom:22px; padding-bottom:18px; }
}
@media(max-width:380px) {
 .workspace-app .stats { grid-template-columns:1fr; }
 .workspace-app .topbar .actions .btn { min-width:38px; min-height:40px; padding:8px; }
 .workspace-app form.panel.filter-grid>.field,.workspace-app form.panel.filter-grid>.btn { flex-basis:100%; width:100%; }
 .construago-auth .auth-form { padding:24px 17px; }
 .construago-auth .executive-brand { --ca-logo-height:102px; --ca-word-size:1.1rem; gap:12px; }
 .guide-site .executive-brand { --ca-logo-height:76px; --ca-word-size:1.1rem; gap:10px; }
}
@media(max-height:760px) {
 .construago-auth .auth-page { padding-top:18px; padding-bottom:22px; }
 .construago-auth .auth-form { padding-top:22px; padding-bottom:22px; }
 .construago-auth .executive-brand { --ca-logo-height:102px; }
 .construago-auth .auth-mobile-brand { margin-bottom:20px; padding-bottom:16px; }
}
/* Movimiento puntual: entrada breve y respuesta al cursor, sin bucles. */
@keyframes ca-access-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes ca-dialog-enter { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:no-preference) {
 .construago-auth .auth-form { animation:ca-access-enter .32s ease-out; }
 :is(.workspace-app,.guide-site) :is(.modal,.ca-actions-dialog,.academy-dialog)[open] { animation:ca-dialog-enter .2s ease-out; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 :is(.workspace-app,.construago-auth,.guide-site) .btn:hover:not(:disabled):not([aria-disabled=true]) { transform:translateY(-1px); }
 :is(.workspace-app,.construago-auth,.guide-site) .btn:active:not(:disabled) { transform:translateY(1px); }
 .flow-card:hover,.guide-site .academy-card:hover,.guide-site .journey-card:hover { transform:translateY(-2px); }
}
@media(prefers-reduced-motion:reduce) {
 :is(.workspace-app,.construago-auth,.guide-site),
 :is(.workspace-app,.construago-auth,.guide-site) *,
 :is(.workspace-app,.construago-auth,.guide-site) *::before,
 :is(.workspace-app,.construago-auth,.guide-site) *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media print {
 :is(.workspace-app,.guide-site) { color:#1a304e; background:#fff; }
 :is(.workspace-app,.guide-site) :is(.panel,.card,.flow-selector,.flow-card,.flow-reading,.academy-card,.journey-card,.journey-panel,.manual-connection,.manual-trace,table.ca-cards tr) { background:#fff!important; box-shadow:none; transform:none; animation:none; }
}
