:root{
  --accent:#ff7a1a;--accent2:#2563eb;--bg:#f6f8fb;--surface:#ffffff;--surface2:#f1f5f9;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--info:#0284c7;
  --shadow:0 20px 60px rgba(15,23,42,.08);--radius:22px;--sidebar:292px;
}
[data-theme="dark"]{--bg:#0b1120;--surface:#111827;--surface2:#172033;--text:#e5e7eb;--muted:#94a3b8;--border:rgba(148,163,184,.18);--shadow:0 20px 60px rgba(0,0,0,.24)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:radial-gradient(circle at top left,rgba(255,122,26,.13),transparent 30%),var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:22px;background:rgba(255,255,255,.74);backdrop-filter:blur(20px);border-right:1px solid var(--border);z-index:30;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:30px}.brand-logo{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#ffb347);color:#fff;font-weight:900;box-shadow:0 12px 30px rgba(255,122,26,.28)}.brand strong{display:block;font-size:18px}.brand small,.user-pill small{display:block;color:var(--muted);font-size:12px}.nav-title{margin:20px 10px 8px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:15px;color:var(--muted);font-weight:700;margin-bottom:6px}.nav-link i{width:20px}.nav-link:hover,.nav-link.active{background:linear-gradient(135deg,rgba(255,122,26,.14),rgba(37,99,235,.08));color:var(--text)}.nav-link.active{box-shadow:inset 3px 0 0 var(--accent)}.sidebar-card{margin-top:28px;padding:16px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(135deg,rgba(255,122,26,.12),rgba(37,99,235,.10))}.sidebar-card i{font-size:22px;color:var(--accent)}.sidebar-card strong,.sidebar-card span{display:block}.sidebar-card span{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.5}.app-main{margin-left:var(--sidebar);min-width:0;flex:1}.topbar{position:sticky;top:0;z-index:20;height:78px;display:flex;align-items:center;gap:16px;padding:16px 28px;background:rgba(246,248,251,.72);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}[data-theme="dark"] .topbar,[data-theme="dark"] .sidebar{background:rgba(17,24,39,.78)}.search-box{height:46px;max-width:560px;flex:1;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--surface);border:1px solid var(--border);border-radius:16px}.search-box input{border:0;outline:0;background:transparent;color:var(--text);width:100%}.topbar-actions{display:flex;gap:12px;align-items:center}.icon-btn,.theme-toggle,.btn{border:0;cursor:pointer;border-radius:15px;background:var(--surface);color:var(--text);border:1px solid var(--border)}.icon-btn{width:46px;height:46px;position:relative}.dot{position:absolute;right:12px;top:11px;width:9px;height:9px;border-radius:99px;background:var(--danger);border:2px solid var(--surface)}.theme-toggle{height:46px;padding:0 14px;display:flex;align-items:center;gap:8px;font-weight:700}.user-pill{display:flex;align-items:center;gap:10px;padding:7px 12px;background:var(--surface);border:1px solid var(--border);border-radius:18px}.avatar,.avatar-sm{display:grid;place-items:center;border-radius:999px;background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;font-weight:900}.avatar{width:40px;height:40px}.avatar-sm{width:34px;height:34px;font-size:12px}.content-wrap{padding:28px;max-width:1500px;margin:0 auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.eyebrow{color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin:0 0 8px}.page-head h1{font-size:clamp(28px,4vw,44px);margin:0}.page-head p{color:var(--muted);margin:10px 0 0;line-height:1.6}.grid{display:grid;gap:18px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.main-grid{grid-template-columns:1.45fr .8fr}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.kpi{position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;right:-30px;top:-30px;width:100px;height:100px;border-radius:999px;background:rgba(255,122,26,.10)}.kpi-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:var(--surface2);color:var(--accent);margin-bottom:16px}.kpi small{color:var(--muted);font-weight:700}.kpi strong{display:block;font-size:28px;margin-top:8px}.trend{font-size:13px;color:var(--success);font-weight:800}.card-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.card-title h2{margin:0;font-size:18px}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;font-weight:800}.btn-primary{background:linear-gradient(135deg,var(--accent),#ff9f43);color:#fff;border-color:transparent}.btn-ghost{background:var(--surface2)}.btn-danger{background:rgba(220,38,38,.10);color:var(--danger)}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:18px}.table{width:100%;border-collapse:collapse;min-width:780px;background:var(--surface)}.table th,.table td{padding:15px 16px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--surface2)}.table tr:hover td{background:rgba(255,122,26,.04)}.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}.badge.ok{background:rgba(22,163,74,.12);color:var(--success)}.badge.warn{background:rgba(217,119,6,.14);color:var(--warning)}.badge.off{background:rgba(100,116,139,.14);color:var(--muted)}.actions{display:flex;gap:8px}.mini-btn{width:34px;height:34px;border-radius:12px;border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer}.activity{display:flex;flex-direction:column;gap:14px}.activity-item{display:flex;gap:12px}.activity-dot{width:12px;height:12px;margin-top:5px;border-radius:99px;background:var(--accent);box-shadow:0 0 0 6px rgba(255,122,26,.12)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field label{display:block;font-weight:800;margin-bottom:8px}.input{width:100%;height:48px;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);padding:0 14px;outline:0}.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,122,26,.12)}.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.footer-mini{margin-top:24px;color:var(--muted);font-size:13px}.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,rgba(255,122,26,.20),transparent 30%),linear-gradient(135deg,#0f172a,#111827)}.auth-shell{width:min(1080px,100%);display:grid;grid-template-columns:1fr 440px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:30px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.32);backdrop-filter:blur(20px)}.auth-hero{padding:42px;color:#fff;background:linear-gradient(135deg,rgba(255,122,26,.86),rgba(37,99,235,.74))}.auth-hero h1{font-size:42px;margin:20px 0 12px}.auth-hero p{line-height:1.7;opacity:.9}.auth-panel{padding:42px;background:var(--surface)}.auth-panel h2{margin:0 0 8px;font-size:28px}.auth-panel p{color:var(--muted);line-height:1.6}.auth-panel form{display:grid;gap:15px;margin-top:22px}.auth-links{display:flex;justify-content:space-between;gap:12px;font-size:14px}.auth-links a{color:var(--accent);font-weight:800}.mobile-only{display:none}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.main-grid{grid-template-columns:1fr}.user-pill div:not(.avatar){display:none}}@media(max-width:820px){:root{--sidebar:280px}.mobile-only{display:inline-grid}.sidebar{transform:translateX(-105%);transition:.25s ease}.sidebar.open{transform:translateX(0)}.app-main{margin-left:0}.topbar{padding:14px}.search-box{display:none}.content-wrap{padding:18px}.page-head{flex-direction:column}.kpi-grid,.form-grid{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-hero{display:none}.topbar-actions{margin-left:auto}.theme-toggle span{display:none}}@media(max-width:520px){.topbar{height:68px}.card{padding:17px}.page-head h1{font-size:28px}.toolbar{flex-direction:column;align-items:stretch}.btn{justify-content:center}.topbar-actions{gap:8px}.user-pill{display:none}}

/* Componentes avanzados */
.full{grid-column:1/-1}.textarea-auto{min-height:120px;height:auto;resize:none;padding-top:14px;line-height:1.6}.help-text{display:block;margin-top:8px;color:var(--muted);font-size:12px}.btn-block{width:100%;justify-content:center;margin-top:12px}.option-list{display:grid;gap:12px}.check-row,.switch-row{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface2);cursor:pointer}.check-row input{width:18px;height:18px;accent-color:var(--accent)}.switch-row{justify-content:space-between}.switch-row small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.switch-input{appearance:none;width:52px;height:30px;border-radius:999px;background:#cbd5e1;position:relative;cursor:pointer;transition:.2s}.switch-input:checked{background:linear-gradient(135deg,var(--accent),#ff9f43)}.switch-input:before{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;background:#fff;border-radius:999px;box-shadow:0 5px 14px rgba(0,0,0,.18);transition:.2s}.switch-input:checked:before{transform:translateX(22px)}.tag-input-wrap{min-height:52px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:8px 10px}.tag-list{display:flex;gap:8px;flex-wrap:wrap}.tag-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:linear-gradient(135deg,rgba(255,122,26,.14),rgba(37,99,235,.10));font-weight:800;font-size:13px}.tag-chip button{border:0;background:transparent;color:var(--danger);cursor:pointer;font-weight:900}.tag-input{border:0;outline:0;min-width:180px;flex:1;background:transparent;color:var(--text);height:34px}.dropzone{border:2px dashed rgba(255,122,26,.35);border-radius:24px;padding:28px;text-align:center;background:linear-gradient(135deg,rgba(255,122,26,.08),rgba(37,99,235,.06));transition:.2s}.dropzone.dragover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 16px 44px rgba(255,122,26,.14)}.dropzone-icon{width:66px;height:66px;margin:0 auto 14px;display:grid;place-items:center;border-radius:22px;background:var(--surface);color:var(--accent);font-size:28px;box-shadow:var(--shadow)}.dropzone h3{margin:0 0 8px}.dropzone p{max-width:720px;margin:0 auto 18px;color:var(--muted);line-height:1.6}.file-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:18px}.file-card{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:18px;background:var(--surface2)}.file-thumb{width:58px;height:58px;border-radius:14px;object-fit:cover;display:grid;place-items:center;background:var(--surface);color:var(--accent);font-size:24px;flex:none}.file-meta{min-width:0;flex:1}.file-meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta small{display:block;color:var(--muted);margin-top:4px}.file-remove{width:34px;height:34px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--danger);cursor:pointer}.profile-hero{display:flex;align-items:center;gap:20px}.profile-avatar{width:96px;height:96px;border-radius:32px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;font-size:32px;font-weight:900;box-shadow:0 20px 48px rgba(37,99,235,.20)}.profile-info{flex:1}.profile-info h2{margin:0;font-size:28px}.profile-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}code{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:2px 6px;color:var(--accent)}.mini-btn{display:inline-grid;place-items:center}.doc-content{line-height:1.75}.doc-content h2{margin-top:28px}.doc-content pre{overflow:auto;background:#0f172a;color:#e5e7eb;padding:18px;border-radius:16px}.doc-content code{background:rgba(255,122,26,.10)}@media(max-width:820px){.profile-hero{align-items:flex-start;flex-direction:column}.file-list{grid-template-columns:1fr}.dropzone{padding:20px}.full{grid-column:auto}}

/* Header interactivo v3 */
body{transition:background .35s ease,color .35s ease}.theme-flash:before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;background:radial-gradient(circle at 85% 7%,rgba(255,122,26,.20),transparent 35%);animation:themePulse .55s ease}@keyframes themePulse{from{opacity:1}to{opacity:0}}.topbar{gap:16px}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.search-box{position:relative;z-index:40}.search-results{display:none;position:absolute;top:calc(100% + 10px);left:0;width:min(560px,calc(100vw - 36px));background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;padding:8px;overflow:hidden}.search-box.show-results .search-results{display:grid;gap:6px;animation:dropIn .18s ease}.search-item{display:flex;gap:12px;align-items:center;padding:12px;border-radius:15px}.search-item:hover{background:var(--surface2)}.search-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,rgba(255,122,26,.12),rgba(37,99,235,.10));color:var(--accent)}.search-item strong,.empty-search strong{display:block}.search-item small,.empty-search small{display:block;color:var(--muted);margin-top:3px}.empty-search{display:grid;place-items:center;text-align:center;padding:24px;color:var(--muted)}.empty-search i{font-size:26px;margin-bottom:8px}.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;top:calc(100% + 12px);min-width:280px;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:10px;z-index:80}.dropdown.open .dropdown-menu{display:block;animation:dropIn .18s ease}.dropdown-menu-right{right:0}.dropdown-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px}.dropdown-head span{font-size:12px;color:var(--muted)}.notification-item,.user-menu a,.user-menu button{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border:0;background:transparent;color:var(--text);border-radius:15px;text-align:left;cursor:pointer}.notification-item:hover,.user-menu a:hover,.user-menu button:hover{background:var(--surface2)}.notification-item i,.user-menu i{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:rgba(255,122,26,.12);color:var(--accent)}.notification-item small{display:block;color:var(--muted);margin-top:3px}.user-pill-button{border:1px solid var(--border);cursor:pointer;padding-right:12px}.user-pill-text{text-align:left}.chevron{color:var(--muted);font-size:12px;transition:.2s}.dropdown.open .chevron{transform:rotate(180deg)}.user-menu{min-width:320px}.user-menu-head{display:flex;gap:14px;align-items:center;padding:14px;border-radius:18px;background:linear-gradient(135deg,rgba(255,122,26,.12),rgba(37,99,235,.08));margin-bottom:8px}.avatar-lg{width:58px;height:58px;border-radius:20px}.role-badge{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:5px 8px;border-radius:999px;background:rgba(37,99,235,.12);color:var(--accent2);font-size:11px;font-weight:800}.role-badge.mini{margin:0 6px 0 0;padding:3px 7px;font-size:10px}.theme-menu-toggle{justify-content:space-between}.theme-menu-toggle span:first-child{display:flex;align-items:center;gap:12px}.switch-mini{width:44px;height:26px;border-radius:999px;background:#cbd5e1;padding:3px;transition:.2s}.switch-mini span{display:block;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:.2s}[data-theme="dark"] .switch-mini{background:linear-gradient(135deg,var(--accent),#ffb347)}[data-theme="dark"] .switch-mini span{transform:translateX(18px)}.danger-link{color:var(--danger)!important}@keyframes dropIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Keywords con API simulada */
.suggestions-wrap{position:relative}.tag-suggestions{display:none;position:absolute;left:10px;right:10px;top:calc(100% + 8px);background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:8px;z-index:30}.suggestions-wrap.show-suggestions .tag-suggestions{display:grid;gap:6px}.tag-suggestions button{border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:8px;padding:10px;border-radius:12px;cursor:pointer;text-align:left}.tag-suggestions button:hover{background:var(--surface2);color:var(--accent)}.no-suggestion{display:flex;align-items:center;gap:8px;padding:10px;color:var(--muted)}.suggestions-wrap.loading-suggestions:after{content:"Consultando API simulada...";position:absolute;right:14px;bottom:-24px;color:var(--muted);font-size:12px}.swal-progress{height:12px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-top:14px}.swal-progress span{display:block;height:100%;background:linear-gradient(135deg,var(--accent),#ffb347);transition:width .2s}.swal-progress-text{margin:0;color:#64748b}.ext-thumb{flex-direction:column;font-size:22px}.ext-thumb small{font-size:10px;font-weight:900;margin-top:2px;color:var(--muted)}.image-thumb{overflow:hidden}.image-thumb img{width:100%;height:100%;object-fit:cover;border-radius:14px}

@media(max-width:980px){.topbar{align-items:center}.search-box{flex:1}.user-pill-text{display:none}.user-pill-button{padding:8px}.user-menu{right:0;min-width:290px}.notifications-menu{right:-74px}}@media(max-width:620px){.topbar{gap:10px}.search-results{position:fixed;top:76px;left:12px;right:12px;width:auto}.topbar-actions{gap:8px}.notifications-menu,.user-menu{position:fixed;top:76px;right:12px;left:12px;min-width:auto}.role-badge.mini{display:none}}

/* Correcciones v4: header real, dropdown usuario, notificaciones, buscador y scrollbars */
html,body{height:100%;overflow:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,122,26,.55) transparent}.app-shell{height:100vh;min-height:100vh;overflow:hidden}.app-main{height:100vh;display:flex;flex-direction:column;min-width:0}.topbar{flex:0 0 78px;display:flex;width:100%;min-width:0}.content-wrap{flex:1;width:100%;overflow:auto;margin:0;max-width:none;scrollbar-width:thin;scrollbar-color:rgba(255,122,26,.65) rgba(148,163,184,.10)}.sidebar{height:100vh;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,122,26,.65) rgba(148,163,184,.10)}.content-wrap::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.table-wrap::-webkit-scrollbar{width:10px;height:10px}.content-wrap::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track,.table-wrap::-webkit-scrollbar-track{background:rgba(148,163,184,.10);border-radius:999px}.content-wrap::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--accent),#ffb347);border-radius:999px;border:2px solid transparent;background-clip:content-box}.content-wrap::-webkit-scrollbar-thumb:hover,.sidebar::-webkit-scrollbar-thumb:hover,.table-wrap::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#fb923c,var(--accent2));background-clip:content-box}.topbar-actions{margin-left:auto;flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end}.search-box{display:flex!important;min-width:220px;max-width:620px;transition:max-width .22s ease,box-shadow .22s ease}.search-box:focus-within{max-width:760px;box-shadow:0 16px 42px rgba(15,23,42,.10)}.search-shortcut{border:1px solid var(--border);background:var(--surface2);color:var(--muted);border-radius:10px;padding:5px 8px;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}.search-arrow{margin-left:auto;color:var(--muted);font-size:12px}.user-dropdown{flex:0 0 auto}.user-pill-button{min-width:235px;justify-content:flex-start;box-shadow:0 10px 28px rgba(15,23,42,.06)}.user-pill-text{min-width:0}.user-pill-text strong{display:block;white-space:nowrap}.user-pill-text small{display:flex;align-items:center;gap:4px;white-space:nowrap}.notification-count{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:900;display:grid;place-items:center;border:2px solid var(--surface)}.dropdown-head small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.link-action{border:0;background:transparent;color:var(--accent);font-weight:900;cursor:pointer;padding:6px 8px;border-radius:10px}.link-action:hover{background:rgba(255,122,26,.10)}.notification-item.unread{background:linear-gradient(135deg,rgba(255,122,26,.12),rgba(37,99,235,.06));position:relative}.notification-item.unread:after{content:"";position:absolute;right:12px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--accent);transform:translateY(-50%)}.user-menu hr{border:0;border-top:1px solid var(--border);margin:8px}.theme-menu-toggle .switch-mini{margin-left:auto}@media(max-width:1100px){.user-pill-button{min-width:54px}.user-pill-text{display:none}.chevron{display:none}.search-box{max-width:none}}@media(max-width:820px){.topbar{flex:0 0 auto;height:auto;min-height:74px;padding:12px;gap:10px}.search-box{flex:1;min-width:0;height:44px;padding:0 12px}.search-shortcut{display:none}.content-wrap{padding:18px}.notifications-menu,.user-menu{right:0}.user-pill{display:flex!important}.user-pill-button{padding:7px;min-width:46px}}@media(max-width:560px){.topbar{position:sticky;display:grid;grid-template-columns:46px 1fr auto;align-items:center}.topbar-actions{gap:8px}.search-box input::placeholder{color:transparent}.icon-btn{width:44px;height:44px}.avatar{width:36px;height:36px}.notifications-menu,.user-menu{position:fixed;top:70px;left:10px;right:10px;min-width:auto;max-height:calc(100vh - 88px);overflow:auto}.search-results{position:fixed;top:70px;left:10px;right:10px;width:auto;max-height:calc(100vh - 88px);overflow:auto}.role-badge.mini{display:none}}

/* Fix v5: contraste del usuario en modo oscuro y prevención de parpadeo blanco */
html{background:var(--bg);color:var(--text);color-scheme:light;}
html[data-theme="dark"]{background:#0b1120;color-scheme:dark;}
html[data-theme="light"]{background:#f6f8fb;color-scheme:light;}
html[data-theme="dark"] body{background:radial-gradient(circle at top left,rgba(255,122,26,.10),transparent 30%),#0b1120;color:#e5e7eb;}
.user-pill-button,.user-pill-button strong,.user-pill-text strong,.user-menu-head strong{color:var(--text)!important;}
.user-pill-button small,.user-pill-text small,.user-menu-head small{color:var(--muted)!important;}
[data-theme="dark"] .user-pill-button,[data-theme="dark"] .user-pill,[data-theme="dark"] .dropdown-menu,[data-theme="dark"] .search-results{background:#111827;color:#e5e7eb;border-color:rgba(148,163,184,.18);}
[data-theme="dark"] .user-pill-button strong,[data-theme="dark"] .user-pill-text strong,[data-theme="dark"] .user-menu-head strong{color:#f8fafc!important;}
[data-theme="dark"] .user-pill-button small,[data-theme="dark"] .user-pill-text small,[data-theme="dark"] .user-menu-head small{color:#cbd5e1!important;}
[data-theme="dark"] .role-badge{background:rgba(96,165,250,.16);color:#93c5fd;}
body.theme-ready{transition:background .35s ease,color .35s ease;}


/* TowiMail enterprise extensions */
.settings-stack{display:grid;gap:18px}
.security-note{margin-top:16px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface2);color:var(--muted);display:flex;gap:10px;align-items:flex-start}
.mail-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;min-height:calc(100vh - 160px)}
.compose-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}
.compose-form{display:grid;gap:14px}
.compose-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}
.attach-dropzone{border:1px dashed var(--border);border-radius:20px;background:var(--surface2);padding:18px;cursor:pointer;transition:.18s ease}
.attach-dropzone:hover,.attach-dropzone.dragover{border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,122,26,.10)}
.attachment-preview-list{display:grid;gap:10px;margin-top:14px}
.attachment-preview{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.attachment-thumb{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,rgba(255,122,26,.15),rgba(37,99,235,.12));display:grid;place-items:center;color:var(--accent);flex:0 0 auto;overflow:hidden}
.attachment-thumb img{width:100%;height:100%;object-fit:cover}
.attachment-meta{min-width:0;flex:1}.attachment-meta strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.attachment-meta small{color:var(--muted)}
.attachment-remove{width:34px;height:34px;border:0;border-radius:12px;background:rgba(220,38,38,.10);color:var(--danger);cursor:pointer}
.status-pill{display:inline-flex;gap:7px;align-items:center;border:1px solid var(--border);background:var(--surface2);border-radius:999px;padding:6px 10px;color:var(--muted);font-weight:800;font-size:12px}
.panel-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.panel-pad{padding:22px}
input[type="checkbox"].switch-input{cursor:pointer}
@media(max-width:980px){.compose-grid,.mail-layout{grid-template-columns:1fr}.compose-actions{flex-direction:column;align-items:stretch}}
/* Compatibilidad con clases existentes */
.bg-surface-secondary,.bg-surface-primary,.bg-surface-tertiary,.bg-surface-input{background:var(--surface)!important}.text-content-primary{color:var(--text)!important}.text-content-secondary,.text-content-muted{color:var(--muted)!important}.border-border-subtle{border-color:var(--border)!important}.bg-accent{background:var(--accent)!important}.text-accent{color:var(--accent)!important}
