/* ============================================================
   DYNAMICS · Sistema de diseño oscuro (misma identidad de la landing "Nueva oscura")
   Se carga DESPUÉS de app.css: redefine las variables → todas las páginas existentes
   (dashboard, cotizaciones, catálogo...) heredan el tema sin reescribirlas.
   Color de acento: cámbialo en --accent (igual que en landing-config.js).
   ============================================================ */
:root{
  --bg:#07090c; --panel:#0e1217; --panel-2:#151a21; --border:#222a35;
  --text:#e9eef4; --text-2:#aebac8; --text-3:#8c99a9;
  --c-gray:#b4bfcc; --c-blue:#7db2ff; --c-green:#3ddc9f; --c-red:#ff8590; --c-amber:#f7c04f; --c-violet:#b9a2ff;
  --accent:#2dd4ff; --accent-hover:#7ae6ff; --accent-ink:#031017; --accent-soft:rgba(45,212,255,.12);
  --navy:#0b141d; --navy-2:#101c28;
  --orange:#2dd4ff; --orange-hover:#7ae6ff;
  --danger:#ff6b6b; --warn:#f5b942; --ok:#34d399;
  --radius:10px; --shadow:0 1px 0 var(--hair) inset, 0 10px 30px rgba(0,0,0,.35);
  --sb-bg:#05070a; --sb-accent:#2dd4ff; --sb-accent-hover:#7ae6ff; --sb-hover-bg:rgba(255,255,255,.05);
  --sb-title:#f2f6fa; --sb-sub:#7b8796; --sb-item-text:#a9b4c1; --sb-item-ico:#6a7787; --sb-line:rgba(255,255,255,.07);
  --hair:rgba(255,255,255,.04); --hair-2:rgba(255,255,255,.012); --hdr-bg:rgba(7,9,12,.85); --shade:rgba(0,0,0,.7);
  color-scheme:dark;
}
body{background:var(--bg); color:var(--text);}
.btn{background:var(--panel-2); border-color:var(--border); color:var(--text);}
.btn:hover{background:var(--panel-2); filter:brightness(1.15);}
.btn-primary{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
.btn-primary:hover{background:var(--accent-hover); border-color:var(--accent-hover);}
.dd-nav-item.active{color:var(--accent-ink);} .dd-nav-item.active .ico{color:var(--accent-ink);} .dd-nav-item.active::before{background:var(--accent-ink);}
.dd-sb-brand .mark{color:var(--accent-ink);}
input,select,textarea{color-scheme:dark;}
.app-header{background:var(--hdr-bg); backdrop-filter:blur(8px); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:30;}
.user-menu-dropdown{background:var(--panel); border:1px solid var(--border);}
.auth-shell{background:radial-gradient(900px 500px at 50% -10%, rgba(45,212,255,.10), transparent 60%), var(--bg);}
.auth-card{background:var(--panel); border:1px solid var(--border);}
.field input,.field select,.field textarea{background:var(--bg);}
.form-msg.error{background:rgba(255,107,107,.10); border-color:rgba(255,107,107,.35); color:#ff9b9b;}
.form-msg.success{background:rgba(52,211,153,.10); border-color:rgba(52,211,153,.35); color:#6ee7b7;}
/* Documentos/impresión (cotización, reportes) mantienen fondo blanco: el PDF no se oscurece */
.preview-doc,.pv-doc,.print-sheet,.paper{background:#fff!important; color:#111!important;}
.preview-doc *{color:inherit;}

/* ===== Componentes de la plataforma ===== */
.dd-page{padding:22px 26px 80px; max-width:none; margin:0; width:100%; box-sizing:border-box;}
.dd-ph{display:flex; align-items:flex-end; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:18px;}
.dd-ph h1{font-size:23px; font-weight:800; letter-spacing:-.02em;}
.dd-ph .sub{color:var(--text-2); font-size:13px; margin-top:4px; max-width:760px; line-height:1.5;}
.dd-actions{display:flex; gap:8px; flex-wrap:wrap; align-items:center;}
.dd-card{background:var(--panel); border:1px solid var(--border); border-radius:14px; padding:18px; box-shadow:var(--shadow);}
.dd-card h2,.dd-card h3{font-size:14px; font-weight:700; margin:0 0 12px;}
.dd-grid{display:grid; gap:14px;}
.dd-grid.c2{grid-template-columns:repeat(2,minmax(0,1fr));} .dd-grid.c3{grid-template-columns:repeat(3,minmax(0,1fr));} .dd-grid.c4{grid-template-columns:repeat(4,minmax(0,1fr));}
.dd-grid.side{grid-template-columns:minmax(0,2fr) minmax(0,1fr);}
@media (max-width:1100px){.dd-grid.c4{grid-template-columns:repeat(2,minmax(0,1fr));} .dd-grid.c3{grid-template-columns:repeat(2,minmax(0,1fr));} .dd-grid.side{grid-template-columns:1fr;}}
@media (max-width:640px){.dd-grid.c2,.dd-grid.c3,.dd-grid.c4{grid-template-columns:1fr;} .dd-page{padding:16px 14px 80px;}}
.dd-stat{background:var(--panel); border:1px solid var(--border); border-radius:14px; padding:16px;}
.dd-stat .k{font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-3); font-weight:700;}
.dd-stat .v{font-size:26px; font-weight:800; margin-top:6px; letter-spacing:-.02em;}
.dd-stat .n{font-size:12px; color:var(--text-2); margin-top:4px;}
.dd-stat.link{cursor:pointer; text-decoration:none; color:inherit; display:block;} .dd-stat.link:hover{border-color:var(--accent);}
.dd-table-wrap{overflow-x:auto; border:1px solid var(--border); border-radius:12px; background:var(--panel);}
table.dd-table{width:100%; border-collapse:collapse; font-size:13px; min-width:640px;}
table.dd-table th{text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-3); padding:10px 12px; border-bottom:1px solid var(--border); white-space:nowrap; font-weight:700;}
table.dd-table td{padding:11px 12px; border-bottom:1px solid var(--hair); vertical-align:middle;}
table.dd-table tr:last-child td{border-bottom:none;}
table.dd-table tbody tr.clk{cursor:pointer;} table.dd-table tbody tr.clk:hover td{background:var(--hair);}
table.dd-table .num{text-align:right; font-variant-numeric:tabular-nums;}
.dd-empty{border:1px dashed var(--border); border-radius:14px; padding:34px 20px; text-align:center; color:var(--text-2); background:var(--hair-2);}
.dd-empty b{display:block; color:var(--text); font-size:15px; margin-bottom:6px;}
.dd-empty p{margin:0 auto 14px; max-width:480px; font-size:13px; line-height:1.55;}
.badge{display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; background:var(--panel-2); color:var(--text-2); border:1px solid var(--border); white-space:nowrap; text-transform:uppercase; letter-spacing:.03em;}
.badge.ok{color:#6ee7b7; border-color:rgba(52,211,153,.35); background:rgba(52,211,153,.08);}
.badge.warn{color:#fcd34d; border-color:rgba(245,185,66,.35); background:rgba(245,185,66,.08);}
.badge.bad{color:#ff9b9b; border-color:rgba(255,107,107,.35); background:rgba(255,107,107,.08);}
.badge.info{color:var(--accent-fg,var(--accent)); border-color:rgba(45,212,255,.35); background:var(--accent-soft);}
.dd-tabs{display:flex; gap:2px; border-bottom:1px solid var(--border); margin:0 0 18px; overflow-x:auto; -webkit-overflow-scrolling:touch;}
.dd-tabs a,.dd-tabs button{padding:11px 15px; font-size:13px; font-weight:600; color:var(--text-2); text-decoration:none; border:none; background:none; cursor:pointer; border-bottom:2px solid transparent; white-space:nowrap; font-family:inherit; margin-bottom:-1px;}
.dd-tabs a:hover,.dd-tabs button:hover{color:var(--text);}
.dd-tabs a.on,.dd-tabs button.on{color:var(--accent-fg,var(--accent)); border-bottom-color:var(--accent);}
.dd-tabs .lock{opacity:.45; cursor:default;}
.dd-toolbar{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:12px;}
.dd-toolbar input,.dd-toolbar select,.dd-in,.dd-sel,.dd-ta{background:var(--bg); border:1px solid var(--border); color:var(--text); border-radius:8px; padding:9px 11px; font-size:13px; font-family:inherit;}
.dd-toolbar input{min-width:220px;}
.dd-in:focus,.dd-sel:focus,.dd-ta:focus,.dd-toolbar input:focus{outline:2px solid var(--accent); outline-offset:-1px;}
.dd-ta{width:100%; min-height:78px; resize:vertical;}
.dd-pipe{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(270px,1fr); gap:12px; overflow-x:auto; padding-bottom:8px;}
.dd-col{background:var(--panel); border:1px solid var(--border); border-radius:12px; padding:10px; min-height:140px;}
.dd-col h4{margin:2px 4px 10px; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-3); display:flex; justify-content:space-between;}
.dd-kcard{background:var(--panel-2); border:1px solid var(--border); border-radius:10px; padding:10px 11px; margin-bottom:8px; font-size:13px; cursor:pointer; text-decoration:none; display:block; color:inherit;}
.dd-kcard:hover{border-color:var(--accent);} .dd-kcard .t{font-weight:700;} .dd-kcard .m{color:var(--text-2); font-size:12px; margin-top:3px;}
.dd-progress{height:8px; border-radius:99px; background:var(--panel-2); overflow:hidden; border:1px solid var(--border);}
.dd-progress i{display:block; height:100%; background:var(--accent);}
.dd-kv{display:grid; grid-template-columns:150px 1fr; gap:8px 14px; font-size:13px;} .dd-kv dt{color:var(--text-3);} .dd-kv dd{margin:0;}
.dd-timeline{list-style:none; margin:0; padding:0;} .dd-timeline li{display:flex; gap:12px; padding:9px 0; border-bottom:1px solid var(--hair); font-size:13px;}
.dd-timeline time{color:var(--text-3); font-size:11.5px; min-width:108px; font-variant-numeric:tabular-nums;}
.dd-crumbs{display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--text-2); flex-wrap:wrap;} .dd-crumbs a{color:var(--text-2); text-decoration:none;} .dd-crumbs a:hover{color:var(--text);} .dd-crumbs .sep{opacity:.4;} .dd-crumbs b{color:var(--text); font-weight:600;}
.dd-bell{position:relative; background:none; border:1px solid var(--border); color:var(--text-2); border-radius:9px; width:36px; height:36px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center;}
.dd-bell .dot{position:absolute; top:-5px; right:-5px; background:var(--accent); color:var(--accent-ink); font-size:10px; font-weight:800; border-radius:99px; min-width:17px; height:17px; display:flex; align-items:center; justify-content:center; padding:0 4px;}
.dd-pop{position:absolute; right:0; top:44px; width:340px; max-height:420px; overflow:auto; background:var(--panel); border:1px solid var(--border); border-radius:12px; box-shadow:0 20px 50px rgba(0,0,0,.6); z-index:60; display:none;} .dd-pop.open{display:block;}
.dd-pop .it{padding:11px 14px; border-bottom:1px solid var(--border); font-size:13px; display:block; text-decoration:none; color:inherit;} .dd-pop .it.unread{background:var(--accent-soft);} .dd-pop .it small{color:var(--text-3); display:block; margin-top:3px;}
.dd-hdr-r{display:flex; align-items:center; gap:10px; position:relative;}
.dd-role{font-size:11px; color:var(--text-3); text-transform:uppercase; letter-spacing:.05em;}
/* Organización activa (siempre visible; selector si hay más de una) */
.dd-org{display:inline-flex; align-items:center; gap:7px; padding:5px 11px; border:1px solid var(--border); border-radius:999px; background:var(--panel-2); font-size:12.5px; max-width:260px; line-height:1.2;}
.dd-org-ico{color:var(--accent-fg,var(--accent)); font-size:11px;} .dd-org-name{font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dd-org-sel{background:transparent; border:0; outline:0; color:inherit; font:inherit; font-weight:600; max-width:200px; cursor:pointer; text-overflow:ellipsis;} .dd-org-sel option{background:var(--panel); color:var(--text);}
.dd-org-pick:hover,.dd-org-pick:focus-within{border-color:var(--accent);}
@media(max-width:700px){.dd-org{max-width:150px; padding:4px 8px;}}
/* Mensajes de error con detalle técnico en segunda línea */
.dd-err{white-space:pre-line;}
.dd-err small,.dd-toast small{display:block; margin-top:3px; font-size:11px; opacity:.72; font-weight:400; word-break:break-word;}
/* Modal */
.dd-modal-bg{position:fixed; top:0;left:0;right:0;bottom:0; background:var(--shade); z-index:200; display:flex; align-items:flex-start; justify-content:center; overflow:auto; padding:5vh 14px;}
.dd-modal{background:var(--panel); border:1px solid var(--border); border-radius:16px; width:100%; max-width:560px; padding:22px; box-shadow:0 30px 80px rgba(0,0,0,.7);}
.dd-modal.wide{max-width:900px;} .dd-modal h3{font-size:17px; margin:0 0 4px;} .dd-modal .sub{color:var(--text-2); font-size:13px; margin:0 0 16px;}
.dd-modal .row2{display:grid; grid-template-columns:1fr 1fr; gap:12px;} @media(max-width:560px){.dd-modal .row2{grid-template-columns:1fr;}}
.dd-fld{margin-bottom:12px;} .dd-fld label{display:block; font-size:11.5px; font-weight:600; color:var(--text-2); margin-bottom:5px;} .dd-fld .dd-in,.dd-fld .dd-sel{width:100%;}
.dd-modal-foot{display:flex; justify-content:flex-end; gap:8px; margin-top:16px;} .dd-err{color:#ff9b9b; font-size:12.5px; margin-top:8px; min-height:16px;}
.dd-toast{position:fixed; bottom:22px; left:50%; transform:translateX(-50%); background:var(--panel-2); border:1px solid var(--border); padding:11px 18px; border-radius:11px; font-size:13px; z-index:200; box-shadow:0 14px 40px rgba(0,0,0,.6);} .dd-toast.err{border-color:rgba(255,107,107,.5); color:#ffb4b4;} .dd-toast.ok{border-color:rgba(52,211,153,.5);}
.dd-note{font-size:12px; color:var(--text-3); line-height:1.5;}
.dd-locked{opacity:.55; pointer-events:none;}
@media (max-width:1080px){
  .dd-sidebar{position:fixed; left:0; top:0; bottom:0; z-index:90; height:100vh; height:100dvh; width:min(320px,88vw); transform:translateX(-105%); transition:transform .22s ease;}
  .dd-sidebar.open,.dd-sidebar.mobile-open{transform:none; box-shadow:16px 0 48px rgba(0,0,0,.45);}
  .dd-sidebar-scrim.open,.dd-sidebar-scrim.active{display:block; position:fixed; top:0;left:0;right:0;bottom:0; background:rgba(0,0,0,.55); z-index:80;}
  .dd-header-menu-btn{display:inline-flex!important; width:44px; height:44px;}
  .dd-shell{display:block;}
  .dd-page{padding:16px 14px 96px;}
  .dd-pipe{grid-auto-columns:minmax(240px,82vw); scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;}
  .dd-col{scroll-snap-align:start;}
  .dd-pop{width:min(340px,calc(100vw - 24px));}
  .dd-ph h1{font-size:20px;}
}
@media (min-width:768px) and (max-width:1080px){
  .dd-pipe{grid-auto-columns:minmax(260px,46vw);}
  .dd-page{padding:20px 18px 48px;}
}
@media (max-width:720px){
  .dd-who-t,#userNameSpan{display:none;}
  .dd-search-btn{padding:6px 8px!important;}
  .field-row{flex-direction:column;}
  .form-wrap,.pl-wrap{padding:24px 16px 100px;}
  .pl-search{width:100%;}
  .logo-row{align-items:flex-start;}
}
/* Tablet / iPad: objetivos táctiles cómodos */
@media (pointer:coarse){ .btn,.dd-in,.dd-sel,.dd-toolbar input,.dd-toolbar select{min-height:44px;} .dd-nav-item{padding-top:11px; padding-bottom:11px;} .dd-tabs a,.dd-tabs button{padding:14px 16px;} }
@media print{ .dd-sidebar,.app-header,.dd-tabs,.dd-actions,.no-print{display:none!important;} body{background:#fff; color:#000;} .dd-card,.dd-table-wrap{border-color:#ccc; box-shadow:none; background:#fff;} table.dd-table td,table.dd-table th{color:#000;} }

.form-msg:empty{display:none!important;}
/* ===== Tablero de proyectos (dashboard.html) — su paleta propia (--b-*) pasa a oscuro ===== */
html body{background:var(--bg);}
body .board-toolbar, body .board-scroll, body .card-modal{--b-bg:#07090c; --b-col:#0e1217; --b-card:#151a21; --b-text:#e9eef4; --b-text-2:#9aa7b6; --b-border:#222a35; --b-blue:#2dd4ff; --b-cyan:#2dd4ff;}
body .board-search-wrap, body .filter-chip, body .board-col-count, body .cm-indicator-card, body .cm-next-action input[type=date]{background:var(--panel)!important; color:var(--text);}
body .filter-chip.active{background:var(--accent)!important; color:var(--accent-ink)!important; border-color:var(--accent)!important;}
body .board-scroll .btn-primary, body .board-quick-actions .btn-primary{color:var(--accent-ink);}
body .board-quick-actions .btn:not(.btn-primary){background:var(--panel-2)!important; color:var(--text)!important; border-color:var(--border)!important;}
.dd-header-menu-btn{background:var(--panel-2)!important; color:var(--text)!important; border:1px solid var(--border)!important; border-radius:9px;}

/* ===== Marca y botón de tema ===== */
.dd-sb-brand .mark.dc-mark,.brand .mark.dc-mark{background:none!important; padding:0; overflow:hidden; border-radius:9px;}
.brand .mark.dc-mark{width:28px; height:28px;}
.dd-theme-btn{width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; border:1px solid var(--border); background:var(--panel-2); color:var(--text-2); cursor:pointer; flex-shrink:0; margin-right:8px;}
.dd-theme-btn:hover{color:var(--accent-fg,var(--accent)); border-color:var(--accent);}
.dd-theme-btn.float{position:fixed; top:14px; right:14px; z-index:50; margin:0;}
.dd-hdr-r{align-items:center;}
.app-header{display:flex; align-items:center;}

/* ===== MODO CLARO (el oscuro es el predeterminado) ===== */
:root[data-theme="light"]{
  --bg:#f4f6f9; --panel:#ffffff; --panel-2:#eef1f5; --border:#dbe2ea;
  --text:#0b1620; --text-2:#3d4d5e; --text-3:#64748a;
  --c-gray:#475569; --c-blue:#1d4ed8; --c-green:#0b7a52; --c-red:#be123c; --c-amber:#9a5b05; --c-violet:#6d28d9;
  --accent:#0a8aa8; --accent-hover:#0e7490; --accent-ink:#ffffff; --accent-soft:rgba(10,138,168,.10);
  --orange:#0a8aa8; --orange-hover:#0e7490;
  --danger:#d64545; --warn:#b7791f; --ok:#15915f;
  --shadow:0 1px 2px rgba(15,30,50,.05), 0 8px 24px rgba(15,30,50,.07);
  --sb-bg:#ffffff; --sb-accent:#0a8aa8; --sb-accent-hover:#0e7490; --sb-hover-bg:rgba(10,30,50,.05);
  --sb-title:#0b1620; --sb-sub:#6b7a89; --sb-item-text:#455566; --sb-item-ico:#7a8795; --sb-line:rgba(10,30,50,.09);
  --hair:rgba(10,30,50,.06); --hair-2:rgba(10,30,50,.025); --hdr-bg:rgba(244,246,249,.88); --shade:rgba(10,20,35,.45);
  color-scheme:light;
}
:root[data-theme="light"] input,:root[data-theme="light"] select,:root[data-theme="light"] textarea{color-scheme:light;}
:root[data-theme="light"] .badge.ok{color:#0f7a4f; background:rgba(21,145,95,.10); border-color:rgba(21,145,95,.35);}
:root[data-theme="light"] .badge.warn{color:#8a5a0b; background:rgba(183,121,31,.12); border-color:rgba(183,121,31,.4);}
:root[data-theme="light"] .badge.bad{color:#b02a2a; background:rgba(214,69,69,.10); border-color:rgba(214,69,69,.35);}
:root[data-theme="light"] .form-msg.error{color:#b02a2a; background:rgba(214,69,69,.08);}
:root[data-theme="light"] .form-msg.success{color:#0f7a4f; background:rgba(21,145,95,.08);}
:root[data-theme="light"] .dd-err{color:#b02a2a;}
:root[data-theme="light"] .auth-shell{background:radial-gradient(900px 500px at 50% -10%, rgba(10,138,168,.10), transparent 60%), var(--bg);}
:root[data-theme="light"] .dd-pop{box-shadow:0 18px 44px rgba(15,30,50,.18);}
:root[data-theme="light"] .dd-modal{box-shadow:0 30px 70px rgba(15,30,50,.25);}
:root[data-theme="light"] .dd-toast{box-shadow:0 12px 30px rgba(15,30,50,.2);}
:root[data-theme="light"] body .board-toolbar,:root[data-theme="light"] body .board-scroll,:root[data-theme="light"] body .card-modal{--b-bg:#f4f6f9; --b-col:#ffffff; --b-card:#ffffff; --b-text:#0b1620; --b-text-2:#455566; --b-border:#dbe2ea; --b-blue:#0a8aa8; --b-cyan:#0a8aa8;}

/* v2: pipeline drag&drop, nuevos estados */
.dd-col.over{outline:2px dashed var(--accent); outline-offset:-4px;}
.dd-kcard[draggable=true]{cursor:grab;}
.dd-kcard .dd-actions .btn{padding:4px 8px; font-size:11px;}
.badge.bad{background:rgba(255,90,90,.15);color:#ff7b7b;}
.dd-kcard{overflow-wrap:anywhere; min-width:0;} .dd-col{min-width:0;} .dd-kcard select{max-width:100%;}
@media(max-width:640px){ .dd-crumbs{display:none;} }

/* Menú con áreas y submenús */
.dd-nav-group-head{cursor:pointer; display:flex; align-items:center; justify-content:space-between; width:100%; background:none; border:0; color:var(--sb-sub); font:inherit; font-size:10px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; text-align:left;}
.dd-nav-group-head::after{content:'▾'; font-size:11px; letter-spacing:0;}
.dd-nav-group.shut .dd-nav-group-head::after{content:'▸';}
.dd-nav-group.shut > .dd-nav-item,.dd-nav-group.shut > .dd-nav-branch{display:none;}
.dd-nav-parent{width:100%; background:none; border:0; font:inherit; text-align:left;}
.dd-nav-parent .chev{margin-left:auto; font-size:11px; opacity:.75;}
.dd-nav-sub{display:none; padding:0 0 6px 26px;}
.dd-nav-branch.open > .dd-nav-sub{display:block;}
.dd-nav-sub a{display:block; color:var(--sb-item-text); text-decoration:none; font-size:12.5px; font-weight:600; padding:9px 10px; border-radius:8px; min-height:36px;}
.dd-nav-sub a:hover{color:var(--sb-title); background:var(--sb-hover-bg);}
.dd-nav-sub a.on{color:var(--accent-fg,var(--accent)); background:var(--sb-hover-bg);}
.dd-sidebar.collapsed .dd-nav-sub,.dd-sidebar.collapsed .dd-nav-parent .chev,.dd-sidebar.collapsed .dd-nav-group-head::after{display:none;}
html[data-brand="1"] .btn:not(.btn-primary):not(.btn-ghost):not(.btn-danger){background:var(--brand-secondary); color:var(--brand-secondary-ink); border-color:transparent;}
html[data-brand="1"] .btn:not(.btn-primary):not(.btn-ghost):not(.btn-danger):hover{filter:brightness(1.08);}
html[data-brand="1"] body .board-quick-actions .btn:not(.btn-primary){background:var(--brand-secondary)!important; color:var(--brand-secondary-ink)!important; border-color:transparent!important;}
.brand-swatches{display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 14px;}
.brand-swatches button{display:flex; align-items:center; gap:8px; min-height:44px; padding:6px 10px; border-radius:10px; border:1px solid var(--border); background:var(--panel); color:var(--text); cursor:pointer; font-size:12.5px; font-weight:650;}
.brand-swatches button.on{outline:2px solid var(--accent); outline-offset:2px;}
.brand-dot{width:16px; height:16px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);}
.brand-preview{display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 16px;}

.dd-chat-dock{position:fixed; right:16px; bottom:16px; z-index:140; display:flex; flex-direction:column; align-items:flex-end; gap:8px; pointer-events:none;}
.dd-chat-dock > *{pointer-events:auto;}
body:has(.statusbar) .dd-chat-dock{bottom:54px;}
.dd-chat-btn{height:44px; padding:0 16px; border-radius:999px; border:0; background:var(--accent); color:var(--accent-ink); font-weight:800; font-size:13.5px; cursor:pointer; box-shadow:0 10px 28px rgba(0,0,0,.35);}
.dd-chat-btn.on{filter:brightness(1.08);}
.dd-chat-scrim{position:fixed; top:0;left:0;right:0;bottom:0; background:transparent; z-index:130; display:none;}
.dd-chat-scrim.open{display:block;}
.dd-chat{width:min(300px,calc(100vw - 24px)); height:min(360px,calc(100dvh - 120px)); background:var(--panel); border:1px solid var(--border); border-radius:16px; box-shadow:0 18px 50px rgba(0,0,0,.45); display:none; flex-direction:column; overflow:hidden;}
.dd-chat.open{display:flex;}
.dd-chat-h{display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 12px; border-bottom:1px solid var(--border);}
.dd-chat-h h2{font-size:14px; margin:0;}
.dd-chat-body{flex:1; overflow:auto; padding:8px 0 12px;}
.dd-chat-conv{display:block; width:calc(100% - 16px); margin:4px 8px; text-align:left; background:transparent; border:0; color:var(--text); border-radius:10px; padding:10px 12px; cursor:pointer; font:inherit;}
.dd-chat-conv:hover,.dd-chat-conv.on{background:var(--panel-2);}
.dd-chat-row{display:flex; gap:8px; align-items:flex-end; margin:8px 12px;}
.dd-chat-row.me{flex-direction:row-reverse;}
.dd-chat-av{width:28px; height:28px; border-radius:50%; flex:0 0 auto; overflow:hidden; background:var(--panel-2); color:var(--text); display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:800;}
.dd-chat-av img{width:100%; height:100%; object-fit:cover; display:block;}
.dd-chat-msg{padding:8px 12px; border-radius:12px; background:var(--panel-2); font-size:13.5px; line-height:1.45; max-width:calc(100% - 36px);}
.dd-chat-msg.me{background:var(--accent); color:var(--accent-ink);}
.user-menu-avatar{background-size:cover; background-position:center;}
.dd-chat-msg small{display:block; opacity:.75; font-size:11px; margin-bottom:3px;}
.dd-chat-compose{display:flex; gap:8px; padding:12px; border-top:1px solid var(--border); align-items:flex-end;}
.dd-chat-compose textarea{flex:1; min-height:44px; max-height:140px; resize:vertical; border-radius:10px; border:1px solid var(--border); background:var(--panel); color:var(--text); padding:10px; font:inherit;}
.dd-goal-bar{height:8px; border-radius:99px; background:var(--border); overflow:hidden; margin-top:8px;}
.dd-goal-bar > span{display:block; height:100%; background:var(--accent);}
.dd-kpi{font-size:22px; font-weight:800; letter-spacing:-.03em;}
.dd-field{display:flex; flex-direction:column; gap:4px; font-size:12px; color:var(--text-2);}
.dd-field input,.dd-field select{border:1px solid var(--border); background:var(--panel); color:var(--text); border-radius:8px; padding:8px 10px; font:inherit;}

/* iOS/iPadOS: los toques sobre elementos no interactivos con clic delegado solo se reconocen si tienen cursor:pointer */
.inf-card,[data-id],tr.clk,.dd-kcard,.rt-photo-add{cursor:pointer;}
button,select,input,textarea,a,label{touch-action:manipulation;}
html{-webkit-text-size-adjust:100%;}


/* ===== Legibilidad (contraste) ===== */
::placeholder{color:var(--text-3); opacity:1;}
input:disabled,select:disabled,textarea:disabled{color:var(--text-2); -webkit-text-fill-color:var(--text-2); opacity:.85;}
.dd-sb-brand .names .soft{font-size:15.5px; font-weight:700; line-height:1.18; white-space:normal; word-break:break-word; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; max-width:190px;}
.dd-sb-brand .names{min-width:0;}
.toast{color:var(--accent-ink);}

/* Persona conectada (arriba a la derecha): foto o iniciales + nombre + rol */
a.dd-who{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--text); padding:3px 6px 3px 3px; border-radius:999px;}
a.dd-who:hover{background:var(--panel-2);}
.dd-av{width:34px; height:34px; border-radius:50%; background:var(--accent-soft) center/cover no-repeat; border:1px solid var(--border); color:var(--text); display:inline-flex; align-items:center; justify-content:center; font:700 12.5px Inter,sans-serif; flex:0 0 auto;}
.dd-who-t{display:flex; flex-direction:column; line-height:1.25;} .dd-who-n{font-size:13px; font-weight:600;} .dd-who .dd-role{font-size:11.5px; color:var(--text-2);}

/* ===== TABLET (iPad) y pantallas táctiles: el personal de campo trabaja aquí ===== */
@media (pointer:coarse){
  input,select,textarea{font-size:16px;}                                   /* evita el zoom automático de iPad al tocar un campo */
  .btn,a.btn,.btn-sm{min-height:46px; padding:10px 16px;}
  .dd-nav-item{min-height:48px;}
  input[type=checkbox],input[type=radio]{width:22px; height:22px;}
  .qt-filter-btn,.cm-chip,.rt-step-pill,.dd-tabs a,.dd-tabs button{min-height:46px;}
  .dd-table td,.dd-table th{padding-top:13px; padding-bottom:13px;}
  .dd-kcard{min-height:60px;}
  .dd-modal{max-height:92vh; overflow:auto;}
  .dd-page{padding-bottom:110px;}
  .q-cat-item .qc-del,.q-tpl-row .td,.board-card .bc-menu-btn{opacity:1 !important;}   /* sin «pasar el mouse»: los controles ocultos se ven siempre */
  .q-cat-item .qc-del,.q-tpl-row .td{min-width:40px; min-height:40px;}
  .ddv-btn{width:46px; height:46px;}
  .toast,.dd-toast{font-size:15px; padding:12px 18px;}
}
@media (pointer:coarse) and (min-width:700px) and (max-width:1180px){
  .dd-page{padding:20px 22px 110px;}
  .dd-ph h1{font-size:24px;}
  .dd-crumbs{display:flex;}
  .dd-hdr-r{gap:8px;}
}
/* Letra mínima legible en tablet (las etiquetas de 10-11 px cuestan en campo) */
@media (pointer:coarse){ .dd-note,.badge{font-size:12.5px;} .dd-stat .k,.dd-fld label{font-size:12.5px;} }

/* ===== D-Chat: foto que sobresale + nombre + estado en línea (tipo WhatsApp) ===== */
.dd-chat-btn.pro{position:relative; height:52px; padding:0 20px 0 50px; margin-left:18px; display:flex; align-items:center; text-align:left; border:0; background:var(--accent); color:var(--accent-ink); box-shadow:0 12px 30px rgba(0,0,0,.4);}
.dd-lav{position:absolute; left:-18px; top:50%; transform:translateY(-50%); width:60px; height:60px; border-radius:50%; background:var(--panel-2); border:3px solid var(--bg); box-shadow:0 8px 22px rgba(0,0,0,.5); display:flex; align-items:center; justify-content:center; color:var(--text); font:800 17px Inter,sans-serif;}
.dd-lav .dd-lav-i{width:100%; height:100%; border-radius:50%; overflow:hidden; display:flex; align-items:center; justify-content:center;}
.dd-lav img{width:100%; height:100%; object-fit:cover; display:block;}
.dd-pdot{position:absolute; right:0; bottom:0; width:16px; height:16px; border-radius:50%; background:#94a3b8; border:3px solid var(--bg); box-sizing:border-box;}
.dd-lav.sm{position:relative; left:auto; top:auto; transform:none; width:42px; height:42px; flex:none; border-width:2px; box-shadow:none; font-size:13px;}
.dd-lav.sm .dd-pdot{width:13px; height:13px; border-width:2px;}
.dd-llb{display:flex; flex-direction:column; line-height:1.18; min-width:0; max-width:210px;}
.dd-llb b{font-size:14.5px; font-weight:800;} .dd-llb small{font-size:11.8px; font-weight:600; opacity:.88; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.dd-chat-meRow{display:flex; gap:12px; align-items:center; padding:10px 12px 12px; border-bottom:1px solid var(--border); margin-bottom:4px;}
@media (max-width:520px){ .dd-llb{max-width:150px;} .dd-chat-btn.pro{height:48px;} .dd-lav{width:54px; height:54px;} }
@media (pointer:coarse){ .dd-theme-btn,.dd-bell,.dd-search-btn,.tb-grip,.dd-header-menu-btn{min-width:44px; min-height:44px;} }

/* Con el chat abierto, la foto va en el encabezado del cuadro (el botón azul se oculta) */
.dd-chat.open{overflow:visible; margin-top:30px;}
.dd-chat-h.pro{position:relative; align-items:center; padding:10px 12px 10px 82px; min-height:76px;}
.dd-chat-h.pro .dd-lav{left:12px; top:-26px; transform:none; width:62px; height:62px;}
.dd-chat-who{display:flex; flex-direction:column; min-width:0; flex:1; line-height:1.2;}
.dd-chat-who b{font-size:15px;} .dd-chat-tag{font-size:10.5px; color:var(--text-3); text-transform:uppercase; letter-spacing:.04em; font-weight:700;}
.dd-chat-st{border:0; background:transparent; padding:2px 0; text-align:left; color:var(--text-2); font:600 12.5px Inter,sans-serif; cursor:pointer; text-decoration:underline; text-decoration-style:dotted; text-underline-offset:3px; min-height:30px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dd-chat-body{border-radius:0 0 16px 16px;}
/* La etiqueta de ubicación activa no debe tapar el D-Chat */
#ddTrackPill{left:auto !important; right:16px !important; bottom:84px !important;}

.dd-chat{height:min(500px,calc(100dvh - 140px)) !important; width:min(330px,calc(100vw - 24px)) !important;}

/* ===== D-Chat v2: encabezado con los colores de la empresa, lista de conversaciones y conversación tipo WhatsApp ===== */
.dd-chat{width:min(380px,calc(100vw - 24px)) !important; height:min(580px,calc(100dvh - 120px)) !important; overflow:hidden !important; margin-top:0 !important; border-radius:18px;}
.dd-chat-band{display:flex; align-items:center; gap:12px; padding:14px; background:linear-gradient(135deg,var(--accent),var(--brand-secondary,var(--accent-hover))); color:var(--accent-ink); flex:none;}
.dd-chat-band .dd-lav.sm{width:46px; height:46px; border:2px solid rgba(255,255,255,.9); background:rgba(255,255,255,.22); box-shadow:none; color:inherit;}
.dd-chat-band .dd-pdot{border-color:var(--accent);}
.dd-chat-who{display:flex; flex-direction:column; min-width:0; flex:1; line-height:1.25;}
.dd-chat-nm{font-weight:600; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.dd-chat-sub,.dd-chat-st{font-size:12.5px; font-weight:400; opacity:.92; color:inherit; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.dd-chat-st{background:transparent; border:0; padding:0; text-align:left; cursor:pointer; text-decoration:underline; text-decoration-style:dotted; text-underline-offset:3px; min-height:0; font-family:inherit;}
.dd-chat-ib{flex:none; border:0; background:rgba(255,255,255,.2); color:inherit; width:38px; height:38px; border-radius:50%; font-size:18px; line-height:1; cursor:pointer;}
.dd-chat-ib:hover{background:rgba(255,255,255,.32);}
.dd-chat-body{flex:1; overflow:auto; padding:0; border-radius:0;}
.dd-chat-sr{padding:10px 14px 4px; position:sticky; top:0; background:var(--panel); z-index:2;}
.dd-chat-sr input{width:100%; box-sizing:border-box; min-height:42px; border-radius:999px; border:1px solid var(--border); background:var(--panel-2); color:var(--text); padding:0 16px; font:400 14px Inter,sans-serif;}
.dd-chat-sec{font-size:11px; color:var(--text-3); text-transform:uppercase; letter-spacing:.05em; padding:12px 16px 6px; font-weight:600;}
.dd-chat-onl{display:flex; gap:10px; overflow-x:auto; padding:2px 14px 8px;}
.dd-chat-onl button{flex:none; background:transparent; border:0; display:flex; flex-direction:column; align-items:center; gap:4px; width:58px; font:400 11.5px Inter,sans-serif; color:var(--text-2); cursor:pointer; padding:0;}
.dd-lav.md{position:relative; left:auto; top:auto; transform:none; width:50px; height:50px; border-width:2px; box-shadow:none; font-size:14px;}
.dd-chat-li{display:flex; gap:12px; align-items:center; width:100%; padding:9px 16px; background:transparent; border:0; text-align:left; cursor:pointer; color:var(--text); font-family:inherit; min-height:60px;}
.dd-chat-li:hover{background:var(--panel-2);}
.dd-chat-lt{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px;}
.dd-chat-ln{font-weight:600; font-size:14px;}
.dd-chat-lp{font-size:12.5px; font-weight:400; color:var(--text-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.dd-chat-lm{display:flex; flex-direction:column; align-items:flex-end; gap:5px; flex:none;}
.dd-chat-lm time{font-size:11px; color:var(--text-3);}
.dd-chat-un{background:var(--accent); color:var(--accent-ink); font:600 11px Inter,sans-serif; border-radius:99px; min-width:20px; height:20px; display:flex; align-items:center; justify-content:center; padding:0 6px; font-style:normal;}
.dd-chat-msgs{padding:10px 12px 14px; display:flex; flex-direction:column;}
.dd-chat-day{align-self:center; font-size:11px; color:var(--text-3); margin:12px 0 6px;}
.dd-chat-row{margin:3px 0;}
.dd-chat-msg{padding:8px 12px 6px; font-size:14px; font-weight:400; line-height:1.4; max-width:calc(100% - 44px); border-radius:14px; white-space:pre-wrap; word-break:break-word;}
.dd-chat-msg time{display:block; text-align:right; font-size:10.5px; opacity:.65; margin-top:2px;}
.dd-chat-msg small{font-weight:600; opacity:.85; margin-bottom:2px;}
.dd-chat-compose{flex:none; border-top:1px solid var(--border); padding:10px 12px;}
.dd-chat-compose textarea{min-height:42px; max-height:120px; resize:none; font-size:15px;}
.dd-chat-badge{position:absolute; top:-8px; right:-4px; min-width:22px; height:22px; border-radius:99px; background:#ef4444; color:#fff; font:700 11px Inter,sans-serif; display:flex; align-items:center; justify-content:center; padding:0 6px; border:2px solid var(--bg); box-sizing:border-box;}
.dd-llb b{font-weight:700;} .dd-llb small{font-weight:500;}
@media (max-width:520px){ .dd-chat{width:calc(100vw - 16px) !important; height:calc(100dvh - 90px) !important;} }
.dd-chat-compose[hidden]{display:none !important;}

/* Encabezado: sin logo (el logo solo vive en el panel izquierdo) y todo pegado a la derecha, junto al botón de tema */
.dd-main .app-header .brand{display:none!important;}
.dd-main .app-header{justify-content:flex-end!important; gap:10px;}
.dd-main .app-header .dd-header-menu-btn,.dd-main .app-header .dd-crumbs{margin-right:auto;}
.dd-main .app-header .dd-theme-btn{margin-right:0;}

/* Menú lateral: el botón de plegar va arriba, junto al nombre; ya no hay «Colapsar» abajo */
.dd-sb-toggle{display:none!important;}
.dd-sb-tg{margin-left:auto;flex:0 0 auto;width:32px;height:32px;border-radius:9px;border:1px solid var(--border);background:transparent;color:var(--text-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.dd-sb-tg:hover{background:var(--panel-2);color:var(--text)}.dd-sb-tg svg{transition:transform .15s}
.dd-sidebar.collapsed .dd-sb-tg svg{transform:rotate(180deg)}.dd-sidebar.collapsed .dd-sb-brand{flex-direction:column;gap:10px}.dd-sidebar.collapsed .dd-sb-tg{margin:0}
@media(max-width:1080px){.dd-sb-tg{display:none}}
/* D-Chat: tres líneas (nombre, estado y ubicación) */
.dd-chat-btn.pro{height:60px;}.dd-llb small.dd-loc{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;opacity:.95;margin-top:1px;cursor:pointer}.dd-llb small.dd-loc i{width:7px;height:7px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1.5px rgba(255,255,255,.85)}

/* QA (390 px): el encabezado de la derecha era más ancho que el celular y empujaba el botón del menú fuera de la pantalla (quedaba cortado). */
@media(max-width:520px){
  .dd-main .app-header{gap:6px; padding-left:8px; padding-right:8px;}
  .dd-hdr-r{gap:4px;}
  .dd-who-t{display:none!important;}
  #ddSearchBtn{font-size:0!important; padding:0!important; min-width:44px; width:44px; height:44px; justify-content:center;}
  #ddSearchBtn::before{content:"\1F50D"; font-size:16px;}
  #ddOrg .dd-org{max-width:68px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
}
/* QA (390 px): en las pantallas antiguas (Cotizaciones) la ruta «Dashboard / Mis cotizaciones / …» empujaba el botón del menú fuera de la pantalla. */
@media(max-width:640px){ .app-header .breadcrumbs{display:none!important;} }

/* ============================================================
   MARCO DE LA APP v2 (2026-10-21) — menú lateral, barra superior con buscador, ruta de navegación y títulos con ícono,
   según el diseño de referencia. Va al FINAL para que gane sobre las reglas anteriores; en claro/oscuro usa las mismas variables.
   ============================================================ */
:root:not([data-theme="light"]){--bg:#060a11; --panel:#0b121c; --panel-2:#111b28; --border:#1b2636; --hdr-bg:rgba(6,10,17,.86); --sb-bg:#070c14; --sb-line:rgba(255,255,255,.06); --sb-hover-bg:rgba(255,255,255,.05);}
:root:not([data-theme="light"]) body{background:radial-gradient(1200px 520px at 80% -8%, rgba(45,212,255,.06), transparent 60%), var(--bg);}
@media (min-width:1081px){
  .dd-sidebar{--sb-width:272px; width:272px;}
}
.dd-sb-brand{padding:20px 18px 14px; gap:13px; border-bottom:0; align-items:center;}
.dd-sb-brand .mark{width:46px; height:46px; border-radius:14px; flex:none;}
.dd-sb-brand .names{display:flex; flex-direction:column-reverse; white-space:normal; min-width:0; flex:1;}
.dd-sidebar .dd-sb-brand .names .sub{font-size:16px; font-weight:800; color:var(--sb-title); line-height:1.2; margin:0; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.dd-sidebar .dd-sb-brand .names .soft{font-size:11.5px; font-weight:600; line-height:1.2; color:var(--sb-sub); margin-top:3px; max-width:none; -webkit-line-clamp:1;}
.dd-sb-nav{padding:2px 14px 12px;}
.dd-nav-group-head{padding:20px 12px 8px; font-size:11px; letter-spacing:.12em; color:var(--sb-sub);}
.dd-nav-group:first-child .dd-nav-group-head{padding-top:10px;}
.dd-nav-group-head::after{opacity:.45;}
.dd-nav-item{min-height:46px; padding:0 14px; border-radius:14px; font-size:14.5px; gap:14px; margin-bottom:2px; font-weight:600;}
.dd-nav-item .ico,.dd-nav-item .ico svg{width:21px; height:21px;}
.dd-nav-item.active{background:var(--accent); color:var(--accent-ink); font-weight:800; box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 26%,transparent);}
.dd-nav-item.active::before{display:none;}
.dd-nav-item.active .ico{color:var(--accent-ink);}
.dd-nav-sub a{border-radius:11px; min-height:40px; font-size:13.5px;}
.dd-sb-foot{border-top:1px solid var(--sb-line); padding:10px 14px 16px;}
.dd-sb-foot a{min-height:46px; padding:0 14px; border-radius:14px; font-size:14.5px; font-weight:600; gap:14px;}
.dd-sb-foot a:hover{background:var(--sb-hover-bg);}

.app-header{padding:12px 26px; gap:16px; min-height:76px; box-sizing:border-box;}
.dd-main .app-header{justify-content:flex-start!important;}
.dd-main .app-header .dd-header-menu-btn{margin-right:0;}
.dd-search-bar{display:flex; align-items:center; gap:12px; flex:1 1 auto; max-width:780px; min-width:0; min-height:48px; padding:0 14px 0 16px; border:1px solid var(--border); border-radius:14px; background:var(--panel); color:var(--text-2); cursor:pointer; font:500 14.5px Inter,sans-serif; text-align:left;}
.dd-search-bar:hover,.dd-search-bar:focus-visible{border-color:var(--accent); outline:none;}
.dd-search-bar .t{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dd-search-bar kbd{border:1px solid var(--border); border-radius:8px; padding:3px 9px; font:600 12px Inter,sans-serif; color:var(--text-3); background:var(--panel-2);}
.dd-hdr-r{margin-left:auto; gap:12px;}
.dd-theme-btn,.dd-bell{width:46px; height:46px; border-radius:14px; background:var(--panel); border:1px solid var(--border);}
.dd-bell .dot{background:#ef4444; color:#fff; top:-4px; right:-4px; border:2px solid var(--bg);}
a.dd-who{gap:12px; padding:4px 8px 4px 4px; border-radius:16px;}
.dd-av{width:46px; height:46px; font-size:15px; border:2px solid var(--border);}
.dd-who-n{font-size:15px; font-weight:700; white-space:nowrap;} .dd-who .dd-role{font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--text-3); font-weight:600;}
.dd-who-chev{color:var(--text-3);}
.dd-org{background:var(--panel); border-radius:12px; padding:8px 13px;}

.dd-crumbwrap{padding:18px 28px 0;}
.dd-crumbs{font-size:14px; gap:9px;} .dd-crumbs a:first-child{color:var(--accent-fg,var(--accent));} .dd-crumbs .sep{opacity:.5;}
.dd-page{padding:10px 28px 90px;}
.dd-new .dd-ph{align-items:flex-start; margin-bottom:20px;}
.dd-new .dd-ph h1{display:flex; align-items:center; gap:14px; font-size:32px; line-height:1.15; letter-spacing:-.02em;}
.dd-new .dd-ph .sub{font-size:14.5px; margin-top:6px;}
.dd-h1ico{width:40px; height:40px; flex:none; color:var(--accent-fg,var(--accent)); display:inline-flex;} .dd-h1ico svg{width:100%; height:100%;}
.dd-card,.dd-stat,.dd-table-wrap,.dd-empty{border-radius:20px;}
.dd-card{padding:20px;}

@media (max-width:1080px){
  .app-header{padding:10px 16px; gap:10px; min-height:68px;}
  .dd-crumbwrap{padding:14px 20px 0;} .dd-page{padding:8px 20px 96px;}
  .dd-new .dd-ph h1{font-size:28px;}
  .dd-sidebar .dd-sb-brand{padding-top:22px;}
}
@media (max-width:760px){
  .dd-search-bar{flex:none; width:46px; min-width:46px; max-width:46px; padding:0; justify-content:center;} .dd-search-bar .t,.dd-search-bar kbd{display:none;}
  .dd-hdr-r{gap:8px;} .dd-who-chev{display:none;}
  .dd-crumbwrap{padding:12px 16px 0;} .dd-page{padding:8px 14px 96px;}
  .dd-new .dd-ph h1{font-size:25px; gap:10px;} .dd-h1ico{width:32px; height:32px;}
  .dd-card{padding:16px;}
}
@media (max-width:520px){
  #ddSearchBtn{font-size:inherit!important; padding:0!important; min-width:46px; width:46px; height:46px;} #ddSearchBtn::before{content:none!important;}
  .dd-crumbs{display:flex!important;}
}

.dd-sb-brand .mark.dd-cologo{background:#fff!important; padding:4px; box-sizing:border-box;}
body:has(.dd-sidebar.open) #ddChatBtn,body:has(.dd-sidebar.mobile-open) #ddChatBtn{display:none!important;}

/* MODO SOPORTE: aviso fijo ARRIBA con la salida a la vista (antes estaba abajo y no se veía) */
.dd-supbar{position:sticky; top:0; z-index:40; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:9px 22px; background:#f59e0b; color:#1f1300; font:600 13px/1.35 Inter,system-ui,sans-serif;}
.dd-supbar .t{flex:1; min-width:220px;} .dd-supbar .a{display:flex; gap:8px; flex-wrap:wrap;}
.dd-supbar button{min-height:36px; padding:0 14px; border-radius:10px; font:700 12.5px Inter,sans-serif; cursor:pointer; border:1.5px solid #1f1300; background:transparent; color:#1f1300;}
.dd-supbar button.p{background:#1f1300; color:#fff;} .dd-supbar button:disabled{opacity:.6; cursor:wait;}
.dd-main.has-sup .app-header{top:var(--supbar-h,52px);}
@media (max-width:760px){ .dd-supbar{padding:8px 14px;} .dd-supbar button{min-height:44px;} .dd-main.has-sup .app-header{top:0;} }

/* Contador de correos sin leer en el menú lateral */
.dd-nav-item .dd-nav-badge{margin-left:auto; min-width:22px; height:22px; padding:0 7px; border-radius:99px; background:#ef4444; color:#fff; font:700 11.5px/22px Inter,sans-serif; text-align:center; box-sizing:border-box; flex:none;}
.dd-nav-item.active .dd-nav-badge{background:#fff; color:#b91c1c;}
.dd-sidebar.collapsed .dd-nav-item{position:relative;} .dd-sidebar.collapsed .dd-nav-item .dd-nav-badge{position:absolute; top:2px; right:2px; min-width:16px; height:16px; padding:0 4px; font-size:9.5px; line-height:16px;}
