
 :root{
  --bg:#f3f7fb;
  --card:#ffffff;
  --ink:#071a2f;
  --muted:#66788a;
  --line:#dce6ee;
  --nav:#071a2f;
  --nav2:#0c2742;
  --accent:#00aee8;
  --accent-2:#0096d2;
  --accent-soft:#eaf9ff;
  --slate:#737b83;
  --green:#14834a;
  --green-bg:#eaf8f0;
  --yellow:#a96d00;
  --yellow-bg:#fff8e7;
  --red:#b82d35;
  --red-bg:#fff0f1;
  --blue:#087db8;
  --blue-bg:#eaf7fd;
  --shadow:0 12px 34px rgba(7,26,47,.07);
  --radius:18px;
}
*{box-sizing:border-box}
html{min-height:100%}
body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.login-screen{min-height:100vh;background:linear-gradient(135deg,#0f172a 0%,#16233b 58%,#243653 100%);display:grid;place-items:center;padding:28px}
.login-shell{width:min(1060px,100%);display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:center}
.login-brand{color:white;padding:28px;display:flex;gap:18px;align-items:center}
.login-brand strong,.login-brand span,.brand strong,.brand span{display:block}
.login-brand strong{font-size:30px;letter-spacing:.05em}
.login-brand span{color:#a8b6ca;margin-top:3px}
.logo{width:62px;height:62px;border-radius:18px;background:white;color:#0f172a;display:grid;place-items:center;font-size:32px;font-weight:900}
.logo.small{width:42px;height:42px;border-radius:12px;font-size:22px}
.login-card{background:white;border-radius:26px;padding:36px;box-shadow:0 35px 90px rgba(0,0,0,.25)}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.login-card h1{font-size:32px;line-height:1.05;margin:10px 0 12px;letter-spacing:-.03em}
.login-card p{color:var(--muted);line-height:1.55;margin:0 0 26px}
label{font-size:13px;font-weight:700;color:#334155;display:grid;gap:7px}
input,select,textarea{width:100%;background:white;color:var(--ink);border:1px solid var(--line);border-radius:11px;padding:11px 12px;outline:none}
input:focus,select:focus,textarea:focus{border-color:#93b4ef;box-shadow:0 0 0 3px #dbeafe}
textarea{resize:vertical;min-height:84px}
#login-form{display:grid;gap:14px}
.primary,.secondary,.danger,.ghost{border:0;border-radius:11px;padding:10px 14px;font-weight:700}
.primary{background:var(--ink);color:#fff}
.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}
.danger{background:var(--red-bg);color:var(--red);border:1px solid #fecaca}
.ghost{background:transparent;color:var(--ink)}
.full{width:100%;padding:12px}
.form-error{color:var(--red);font-size:12px;min-height:16px}
.demo-access{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.demo-access>strong{font-size:13px}
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:11px 0}
.demo-user{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:9px;text-align:left;font-size:12px;color:#334155}
.demo-user:hover{background:#f1f5f9}
.demo-access small{color:var(--muted)}

.app-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--nav);color:#fff;padding:22px 17px;display:flex;flex-direction:column;z-index:30}
.brand{display:flex;align-items:center;gap:12px;padding:2px 4px 18px}
.brand strong{letter-spacing:.04em}
.brand span{font-size:12px;color:#8ea1bb;margin-top:2px}
.role-badge{margin:0 4px 20px;border:1px solid #2d3b51;background:#172033;border-radius:10px;padding:9px 11px;font-size:11px;color:#a9bad1}
nav{display:grid;gap:6px}
.nav-btn{border:0;background:transparent;color:#c2cee0;text-align:left;padding:11px 13px;border-radius:10px;font-weight:600}
.nav-btn:hover,.nav-btn.active{background:#1d2a40;color:#fff}
.sidebar-user{margin-top:auto;border-top:1px solid #29364a;padding:17px 5px 2px;display:flex;align-items:center;gap:10px}
.sidebar-user strong,.sidebar-user span{display:block;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-user strong{font-size:13px}
.sidebar-user span{font-size:11px;color:#8fa0b7;margin-top:2px}
.avatar{width:36px;height:36px;border-radius:50%;background:#263650;display:grid;place-items:center;font-size:12px;font-weight:900}

.main{margin-left:250px;min-height:100vh}
.topbar{padding:26px 30px 12px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.topbar h1{margin:0;font-size:28px;letter-spacing:-.025em}
.topbar p{margin:4px 0 0;color:var(--muted);font-size:14px}
.top-actions{display:flex;gap:9px}
.top-actions select{min-width:210px}
.view{display:none;padding:16px 30px 38px}
.view.active{display:block}

.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:16px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:var(--shadow)}
.kpi span{font-size:12px;color:var(--muted);font-weight:600}
.kpi strong{display:block;font-size:26px;margin:8px 0 5px;letter-spacing:-.02em}
.kpi small{color:#94a3b8}
.kpi .trend{font-size:11px;font-weight:800;margin-left:6px}

.grid-2{display:grid;grid-template-columns:1.12fr .88fr;gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:19px;margin-bottom:16px}
.panel-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.panel-title h2{font-size:17px;margin:0;letter-spacing:-.01em}
.panel-title p{font-size:12px;color:var(--muted);margin:4px 0 0}
.panel-actions{display:flex;gap:8px}
.muted{color:var(--muted)}
.small-text{font-size:12px}
.tiny{font-size:11px}
.strong{font-weight:800}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;font-size:13px}
th{font-size:11px;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);font-weight:800}
td.wrap{white-space:normal;min-width:220px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.green{background:var(--green-bg);color:var(--green)}
.yellow{background:var(--yellow-bg);color:var(--yellow)}
.red{background:var(--red-bg);color:var(--red)}
.blue{background:var(--blue-bg);color:var(--blue)}
.gray{background:#f1f5f9;color:#64748b}
.progress-row{display:grid;grid-template-columns:170px 1fr 74px;gap:12px;align-items:center;margin:14px 0}
.progress-row .name{font-size:13px;font-weight:750}
.progress-track{height:9px;background:#edf1f5;border-radius:999px;overflow:hidden}
.progress-fill{height:100%;border-radius:999px;background:#152033}
.progress-value{text-align:right;font-size:12px;font-weight:800}
.cards-list{display:grid;gap:10px}
.list-card{border:1px solid var(--line);border-radius:13px;padding:14px;display:flex;justify-content:space-between;gap:14px;align-items:center}
.list-card h3{font-size:14px;margin:0 0 4px}
.list-card p{font-size:12px;color:var(--muted);margin:0}
.structure-grid,.worker-grid,.user-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.entity-card{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}
.entity-card h3{font-size:15px;margin:0 0 5px}
.entity-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.entity-card .meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.section-divider{height:1px;background:var(--line);margin:18px 0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-grid .full-row{grid-column:1/-1}
.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:3px}
.calculation-box{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px}
.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.calc-item{padding:10px;border-radius:10px;background:white;border:1px solid var(--line)}
.calc-item span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.calc-item strong{font-size:18px;display:block;margin-top:4px}
.notice{border-radius:13px;padding:13px 14px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-size:12px;line-height:1.5}
.warning{background:#fffbeb;border-color:#fde68a;color:#92400e}
.success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
.capture-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}
.capture-project{border:1px solid var(--line);border-radius:13px;padding:13px;background:#f8fafc}
.capture-project strong{display:block;font-size:14px}
.capture-project span{font-size:12px;color:var(--muted)}
.quick-workers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.worker-button{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;text-align:left}
.worker-button:hover,.worker-button.selected{border-color:#93c5fd;background:#eff6ff}
.worker-button strong,.worker-button span{display:block}
.worker-button strong{font-size:13px}
.worker-button span{font-size:11px;color:var(--muted);margin-top:3px}
.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.day-chip{border:1px solid var(--line);border-radius:11px;padding:9px;text-align:center;background:#fff}
.day-chip strong,.day-chip span{display:block}
.day-chip strong{font-size:12px}
.day-chip span{font-size:10px;color:var(--muted);margin-top:3px}
.day-chip.done{background:#f0fdf4;border-color:#bbf7d0}
.day-chip.partial{background:#fffbeb;border-color:#fde68a}
.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed #cbd5e1;border-radius:14px}
.inline-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.inline-filters select{width:auto;min-width:180px}
.action-link{border:0;background:none;padding:0;color:var(--accent);font-weight:750;font-size:12px}
.action-link.red-link{color:var(--red)}
.secondary.danger-soft{border-color:#fecaca;background:#fff5f5;color:#b91c1c}
dialog{width:min(560px,92vw);border:0;border-radius:20px;padding:22px;box-shadow:0 30px 90px rgba(15,23,42,.28)}
dialog::backdrop{background:rgba(15,23,42,.55)}
.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
#dialog-content h2{margin-top:0;font-size:20px}
.toast{position:fixed;right:22px;bottom:22px;background:#0f172a;color:#fff;border-radius:12px;padding:12px 15px;font-size:12px;box-shadow:0 12px 30px rgba(15,23,42,.25);opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s;z-index:100}
.toast.show{opacity:1;transform:translateY(0)}
.mobile-only{display:none}

@media(max-width:1050px){
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .structure-grid,.worker-grid,.user-grid{grid-template-columns:repeat(2,1fr)}
  .grid-2{grid-template-columns:1fr}
}
@media(max-width:760px){
  .login-screen{padding:16px}
  .login-shell{grid-template-columns:1fr;gap:10px}
  .login-brand{padding:10px 4px}
  .login-brand strong{font-size:21px}
  .login-card{padding:24px;border-radius:20px}
  .login-card h1{font-size:25px}
  .demo-grid{grid-template-columns:1fr}
  .sidebar{position:static;width:100%;height:auto;padding:12px 12px 9px}
  .brand{padding-bottom:9px}
  .role-badge,.sidebar-user{display:none}
  nav{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px}
  .nav-btn{white-space:nowrap;font-size:11px;padding:9px 10px}
  .main{margin-left:0}
  .topbar{padding:17px 15px 7px;flex-direction:column;align-items:flex-start}
  .topbar h1{font-size:23px}
  .top-actions{width:100%}
  .top-actions select{min-width:0;flex:1}
  .top-actions button{font-size:11px;padding:9px}
  .view{padding:10px 14px 28px}
  .kpi-grid{grid-template-columns:1fr 1fr;gap:9px}
  .kpi{padding:14px}
  .kpi strong{font-size:21px}
  .structure-grid,.worker-grid,.user-grid,.grid-3{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .calc-grid{grid-template-columns:1fr 1fr}
  .quick-workers{grid-template-columns:1fr}
  .progress-row{grid-template-columns:100px 1fr 58px}
  .week-strip{grid-template-columns:repeat(4,1fr)}
  .inline-filters{display:grid;grid-template-columns:1fr 1fr}
  .inline-filters select{min-width:0;width:100%}
  th,td{padding:10px 8px}
}


/* ===== Cleaning Systems corporate design v0.3 ===== */
body{background:
  radial-gradient(circle at 92% 0%,rgba(0,174,232,.06),transparent 26rem),
  var(--bg)}
.login-screen{
  background:#071a2f url("assets/cristales-fachada.jpg") center/cover no-repeat;
  position:relative;
}
.login-screen::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(4,20,38,.96) 0%,rgba(4,20,38,.88) 43%,rgba(4,20,38,.48) 100%);
}
.login-shell{position:relative;z-index:1;grid-template-columns:1.03fr .97fr;width:min(1180px,100%)}
.corporate-hero{display:block;padding:30px 28px 30px 4px}
.login-logo-image{width:min(390px,86%);height:auto;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.22));margin-bottom:32px}
.hero-copy{max-width:570px}
.hero-kicker{display:block;color:#54cef5;font-weight:850;letter-spacing:.14em;font-size:11px;margin-bottom:14px}
.hero-copy>strong{font-size:46px;line-height:1.01;letter-spacing:-.035em;color:#fff}
.hero-copy>p{color:#bed0de;font-size:16px;line-height:1.6;max-width:520px;margin:19px 0}
.hero-pills{display:flex;gap:8px;flex-wrap:wrap}
.hero-pills span{border:1px solid rgba(95,211,247,.26);background:rgba(0,174,232,.09);color:#d8f5ff;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:750}
.login-card{border:1px solid rgba(255,255,255,.38);box-shadow:0 32px 90px rgba(0,0,0,.3)}
.eyebrow{color:var(--accent-2)}
.primary{background:linear-gradient(135deg,#071a2f,#0b2a47)}
.primary:hover{filter:brightness(1.08)}
.sidebar{background:linear-gradient(180deg,#071a2f 0%,#081f36 100%);box-shadow:10px 0 30px rgba(7,26,47,.08)}
.corporate-brand{display:block;padding:2px 5px 15px}
.sidebar-logo-image{display:block;width:183px;height:74px;object-fit:contain;object-position:left center;margin-left:-3px}
.brand-module{display:block;color:#51c9ef!important;font-size:9px!important;letter-spacing:.18em;font-weight:850;margin:0 0 4px 3px!important}
.role-badge{border-color:#173a58;background:#0b2945;color:#80cee8}
.nav-btn{position:relative}
.nav-btn.active{background:linear-gradient(90deg,rgba(0,174,232,.18),rgba(0,174,232,.05));box-shadow:inset 3px 0 0 #00aee8}
.topbar{background:rgba(243,247,251,.84);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(220,230,238,.75)}
.topbar h1{color:#071a2f}
.kpi{position:relative;overflow:hidden}
.kpi::after{content:"";position:absolute;right:-18px;top:-22px;width:76px;height:76px;border-radius:50%;background:rgba(0,174,232,.07)}
.kpi strong{color:#071a2f}
.panel,.kpi{border-color:#dfe8ef}
.panel-title h2{color:#071a2f}
.badge.blue{background:#eaf8fd;color:#0786ba}
.progress-fill{background:linear-gradient(90deg,#0d385d,#00aee8)}
.entity-card{overflow:hidden;padding:0;box-shadow:0 6px 22px rgba(7,26,47,.035);transition:.18s transform,.18s box-shadow}
.entity-card:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(7,26,47,.08)}
.entity-card-body{padding:15px}
.entity-cover{height:125px;background:#0c2742;position:relative;overflow:hidden}
.entity-cover>img.cover-photo{width:100%;height:100%;object-fit:cover;display:block}
.entity-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(7,26,47,.43))}
.client-logo-badge{position:absolute;left:12px;bottom:12px;z-index:2;background:#fff;border-radius:11px;padding:7px 10px;box-shadow:0 5px 18px rgba(0,0,0,.17);display:grid;place-items:center;min-width:76px;height:40px}
.client-logo-badge img{max-width:78px;max-height:27px;object-fit:contain}
.entity-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.entity-actions button{font-size:11px}
.metric-chip{display:inline-flex;border-radius:9px;background:#eff8fc;color:#0a6f9e;padding:6px 8px;font-size:10px;font-weight:800}
.photo-strip{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:9px;height:265px}
.photo-strip img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.photo-strip .stack{display:grid;grid-template-rows:1fr 1fr;gap:9px}
.project-spotlight{min-height:330px;position:relative;overflow:hidden;padding:0}
.project-spotlight>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.project-spotlight::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,47,.93) 0%,rgba(7,26,47,.62) 56%,rgba(7,26,47,.18) 100%)}
.spotlight-copy{position:relative;z-index:2;color:white;padding:30px;max-width:570px}
.spotlight-copy .eyebrow{color:#62d3f5}
.spotlight-copy h2{font-size:27px;margin:9px 0 9px}
.spotlight-copy p{color:#cee0ea;line-height:1.55}
.spotlight-metrics{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.spotlight-metrics span{border-radius:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);padding:9px 11px;font-size:11px;font-weight:750}
.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.evidence-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:var(--shadow)}
.evidence-card img{width:100%;height:205px;object-fit:cover;display:block}
.evidence-info{padding:13px}
.evidence-info h3{font-size:14px;margin:0 0 4px}
.evidence-info p{font-size:11px;color:var(--muted);margin:0;line-height:1.45}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#071a2f}
.before-after figure{margin:0;position:relative}
.before-after img{height:250px}
.before-after figcaption{position:absolute;left:9px;bottom:9px;background:rgba(7,26,47,.83);color:white;border-radius:8px;padding:5px 8px;font-size:10px;font-weight:850;letter-spacing:.04em}
.client-detail-hero{height:180px;border-radius:15px;overflow:hidden;position:relative;margin-bottom:15px}
.client-detail-hero>img{width:100%;height:100%;object-fit:cover}
.client-detail-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,47,.82),rgba(7,26,47,.18))}
.client-detail-logo{position:absolute;z-index:2;left:18px;bottom:17px;background:white;border-radius:12px;padding:9px 13px;max-width:130px;max-height:55px}
.detail-tabs{display:flex;gap:7px;overflow-x:auto;margin:13px 0}
.detail-tab{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:750}
.detail-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.detail-stat{background:#f5f9fc;border:1px solid var(--line);padding:11px;border-radius:11px}
.detail-stat span{display:block;color:var(--muted);font-size:10px}
.detail-stat strong{display:block;font-size:18px;margin-top:4px;color:#071a2f}
.profile-placeholder{width:50px;height:50px;border-radius:14px;background:linear-gradient(135deg,#0b3151,#00aee8);display:grid;place-items:center;color:#fff;font-weight:900;font-size:14px}
.worker-card-top{display:flex;gap:11px;align-items:center}
.worker-card-top h3{margin-bottom:3px}
footer.app-note{font-size:10px;color:#91a3b3;padding:4px 5px 0}

@media(max-width:760px){
  .login-screen{background-position:58% center}
  .login-shell{display:block}
  .corporate-hero{padding:5px 2px 20px}
  .login-logo-image{width:245px;margin-bottom:15px}
  .hero-copy>strong{font-size:30px}
  .hero-copy>p{font-size:13px}
  .hero-pills{display:none}
  .sidebar-logo-image{width:125px;height:48px}
  .brand-module{display:none!important}
  .photo-strip{grid-template-columns:1fr;height:230px}
  .photo-strip>.stack{display:none}
  .project-spotlight{min-height:370px}
  .project-spotlight::after{background:linear-gradient(180deg,rgba(7,26,47,.38),rgba(7,26,47,.94))}
  .spotlight-copy{padding:22px;position:absolute;bottom:0}
  .evidence-grid{grid-template-columns:1fr}
  .before-after img{height:190px}
  .detail-stat-grid{grid-template-columns:1fr 1fr}
}


/* ===== v0.4 activity center + personnel status ===== */
.top-actions{align-items:center}
.notification-wrap{position:relative}
.notification-bell{
  width:48px;height:48px;border:1px solid var(--line);border-radius:13px;background:#fff;
  display:grid;place-items:center;position:relative;color:#0b2945;box-shadow:0 4px 15px rgba(7,26,47,.035)
}
.notification-bell:hover{background:#f7fbfd}
.notification-bell svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.notification-bell.has-urgent{border-color:#f2b3b7;background:#fffafa}
.notification-count{
  position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;
  background:#087db8;color:#fff;font-size:10px;font-weight:900;display:grid;place-items:center;border:2px solid #f3f7fb
}
.notification-count.urgent{background:#c4313a}
.notification-panel{
  position:absolute;right:0;top:58px;width:min(430px,calc(100vw - 32px));max-height:650px;
  background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 28px 70px rgba(7,26,47,.22);
  overflow:hidden;z-index:80
}
.notification-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:15px 16px;border-bottom:1px solid var(--line)}
.notification-head strong,.notification-head span{display:block}
.notification-head strong{font-size:14px}
.notification-head span{font-size:10px;color:var(--muted);margin-top:3px}
.notification-list{max-height:560px;overflow:auto}
.notification-item{display:grid;grid-template-columns:10px 1fr;gap:10px;padding:14px 15px;border-bottom:1px solid #edf2f5;cursor:pointer;position:relative}
.notification-item:hover{background:#f8fbfd}
.notification-item.unread{background:#f7fcff}
.notification-item.high{border-left:4px solid #c4313a}
.notification-item.success{border-left:4px solid #1a9155}
.notification-item.normal{border-left:4px solid #079bd3}
.notification-dot{width:8px;height:8px;border-radius:50%;background:#9fb0be;margin-top:5px}
.notification-item.high .notification-dot{background:#c4313a}
.notification-item.success .notification-dot{background:#1a9155}
.notification-item.normal .notification-dot{background:#079bd3}
.notification-content strong{display:block;font-size:12px;color:#071a2f;margin:4px 0}
.notification-content p{font-size:11px;color:#566a7c;margin:0 0 5px;line-height:1.4}
.notification-content small{font-size:9px;color:#8ca0b1}
.notification-meta{display:flex;justify-content:space-between;gap:8px;color:#879aaa;font-size:9px}
.notification-kind{font-weight:900;letter-spacing:.045em}
.notification-item.high .notification-kind{color:#b82d35}
.notification-item.success .notification-kind{color:#14834a}
.notification-review{margin-top:9px;border:0;background:#b82d35;color:white;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:850}
.notification-empty{padding:28px;text-align:center;color:var(--muted);font-size:12px}
.inactive-worker{background:#fbfcfd}
.inactive-worker .profile-placeholder{filter:grayscale(1);opacity:.62}
.worker-deactivation{font-size:11px;line-height:1.55;color:#52687a;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px}
.worker-deactivation b{color:#a6232c}
.worker-deactivation span{font-size:10px;color:#8295a5}
@media(max-width:760px){
  .notification-panel{position:fixed;left:14px;right:14px;top:128px;width:auto;max-height:68vh}
  .notification-bell{width:42px;height:42px}
}


/* ===== v0.5 executive dashboard / admin controls ===== */
.dashboard-heading{
  background:linear-gradient(135deg,#071a2f 0%,#0b3152 67%,#084b70 100%);
  color:white;border-radius:18px;padding:22px 24px;margin-bottom:15px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  box-shadow:0 14px 34px rgba(7,26,47,.16)
}
.dashboard-heading .eyebrow{color:#52d0f7}
.dashboard-heading h2{font-size:25px;margin:7px 0 5px;letter-spacing:-.025em}
.dashboard-heading p{color:#c6d7e3;margin:0;font-size:12px}
.excel-button{
  border:1px solid rgba(255,255,255,.18);background:white;color:#123148;border-radius:12px;
  padding:10px 14px;font-size:12px;font-weight:850;display:flex;align-items:center;gap:8px;white-space:nowrap
}
.excel-icon{width:25px;height:25px;background:#16854c;color:#fff;border-radius:6px;display:grid;place-items:center;font-weight:900}
.kpi-alert{border-color:#f0b8bc!important;background:linear-gradient(180deg,#fff,#fff7f7)}
.kpi-alert strong{color:#b82d35}
.dashboard-chart-grid{display:grid;grid-template-columns:1.55fr .75fr;gap:16px}
.chart-panel{min-height:330px}
.dashboard-svg{width:100%;height:255px;display:block}
.chart-grid{stroke:#e5edf3;stroke-width:1}
.chart-axis{fill:#8193a3;font-size:10px}
.chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.global-line{stroke:#697b89}
.internal-line{stroke:#00aee8}
.chart-dot{stroke:#fff;stroke-width:2}
.global-dot{fill:#697b89}
.internal-dot{fill:#00aee8}
.chart-legend{display:flex;gap:12px;font-size:10px;color:var(--muted)}
.chart-legend span{display:flex;align-items:center;gap:5px}
.chart-legend i{display:block;width:18px;height:3px;border-radius:99px}
.legend-global{background:#697b89}.legend-internal{background:#00aee8}
.chart-empty{height:245px;display:grid;place-items:center;color:var(--muted);font-size:12px}
.donut-wrap{position:relative;width:185px;height:185px;margin:10px auto 18px}
.donut-chart{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(#00aee8 0 calc(var(--productive)*1%),#8da0ae calc(var(--productive)*1%) calc(var(--external)*1%),#dbe5ec calc(var(--external)*1%) 100%);
}
.donut-chart::after{content:"";position:absolute;inset:29px;border-radius:50%;background:white}
.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:2}
.donut-center strong{font-size:21px;color:#071a2f}.donut-center span{font-size:10px;color:var(--muted)}
.donut-legend{display:grid;gap:9px}
.donut-legend div{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:11px}
.donut-legend i{width:8px;height:8px;border-radius:50%}
.dot-productive{background:#00aee8}.dot-external{background:#8da0ae}.dot-internal{background:#dbe5ec}
.donut-legend span{color:var(--muted)}.donut-legend b{color:#071a2f}
.project-chart-row{padding:12px 0;border-bottom:1px solid #edf2f5}
.project-chart-row:last-child{border-bottom:0}
.project-chart-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px}
.project-chart-track{height:10px;background:#edf3f7;border-radius:999px;overflow:hidden;margin:9px 0 7px}
.project-chart-fill{height:100%;background:linear-gradient(90deg,#0a466f,#00aee8);border-radius:999px}
.project-chart-meta{display:flex;gap:12px;flex-wrap:wrap;color:#7b8f9f;font-size:9px}
.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}
.checkbox-option{display:flex;grid-template-columns:none;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:9px;background:#f9fbfc;font-size:11px;font-weight:600}
.checkbox-option input{width:auto}
.field-label{display:block;font-size:12px;font-weight:750;color:#334155}
.user-projects{margin-top:12px;padding:9px 10px;border-radius:9px;background:#f7fafc;color:#617688;font-size:10px;line-height:1.55}
.notification-item.high .notification-review{background:#b82d35}
@media(max-width:950px){
  .dashboard-chart-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .dashboard-heading{align-items:flex-start;flex-direction:column}
  .excel-button{width:100%;justify-content:center}
  .checkbox-grid{grid-template-columns:1fr}
}

/* ===== v0.6 · mensajería, directorio, visuales y reportes por proyecto ===== */
.chat-wrap{position:relative}
.chat-bell{width:48px;height:48px;border:1px solid var(--line);border-radius:13px;background:#fff;display:grid;place-items:center;position:relative;color:#0b2945;box-shadow:0 4px 15px rgba(7,26,47,.035)}
.chat-bell:hover{background:#f7fbfd}.chat-bell svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.chat-panel{position:absolute;right:0;top:58px;width:min(720px,calc(100vw - 32px));height:min(650px,76vh);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 80px rgba(7,26,47,.24);overflow:hidden;z-index:82}
.chat-head{height:62px;padding:13px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.chat-head strong,.chat-head span{display:block}.chat-head strong{font-size:14px}.chat-head span{font-size:10px;color:var(--muted);margin-top:2px}.chat-close{border:0;background:#f2f6f9;color:#506679;width:31px;height:31px;border-radius:9px;font-size:20px;line-height:1}
.chat-shell{display:grid;grid-template-columns:235px 1fr;height:calc(100% - 62px)}.chat-users{border-right:1px solid var(--line);overflow:auto;background:#f9fbfc;padding:8px}.chat-user{width:100%;border:0;background:transparent;border-radius:11px;padding:9px;display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;text-align:left;color:#152a3b}.chat-user:hover,.chat-user.active{background:#eaf7fd}.chat-user b,.chat-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-user b{font-size:11px}.chat-user small{font-size:9px;color:#7a8f9f;margin-top:2px}.chat-user i{font-style:normal;background:#c4313a;color:#fff;border-radius:999px;min-width:18px;height:18px;display:grid;place-items:center;font-size:9px;font-weight:900}
.chat-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#0b3151,#00aee8);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900;overflow:hidden}.chat-avatar img{width:100%;height:100%;object-fit:cover}
.chat-conversation{display:grid;grid-template-rows:auto 1fr auto;min-width:0}.chat-conv-head{padding:11px 13px;border-bottom:1px solid var(--line)}.chat-conv-head strong,.chat-conv-head span{display:block}.chat-conv-head strong{font-size:12px}.chat-conv-head span{font-size:9px;color:var(--muted);margin-top:2px}.chat-messages{overflow:auto;padding:15px;background:#f5f8fa;display:flex;flex-direction:column;gap:8px}.chat-message{max-width:78%;padding:9px 11px;border-radius:13px;box-shadow:0 2px 7px rgba(7,26,47,.04)}.chat-message p{margin:0;font-size:11px;line-height:1.45}.chat-message span{display:block;margin-top:5px;font-size:8px;opacity:.65}.chat-message.mine{align-self:flex-end;background:#0a3557;color:#fff;border-bottom-right-radius:4px}.chat-message.theirs{align-self:flex-start;background:#fff;color:#1b3345;border:1px solid #e0e8ee;border-bottom-left-radius:4px}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border-top:1px solid var(--line);background:#fff}.chat-compose input{border-radius:10px}.chat-compose button{border:0;border-radius:10px;background:#00aee8;color:#fff;padding:0 15px;font-weight:800}.chat-empty{color:#8a9dab;font-size:10px;padding:14px;text-align:center}.chat-empty.big{display:grid;place-items:center;height:100%;font-size:12px}

.directory-toolbar{margin-bottom:14px}.directory-toolbar input{max-width:420px}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.directory-card{border:1px solid var(--line);border-radius:15px;background:#fff;padding:15px;display:grid;grid-template-columns:74px 1fr;gap:13px;box-shadow:0 6px 22px rgba(7,26,47,.035)}.directory-inactive{opacity:.7;background:#fafbfc}.directory-photo{width:70px;height:70px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#0b3151,#00aee8);display:grid;place-items:center;color:#fff;font-size:18px;font-weight:900}.directory-photo img{width:100%;height:100%;object-fit:cover}.directory-photo.large{width:86px;height:86px;border-radius:18px}.directory-body h3{font-size:14px;margin:1px 0 3px}.directory-body>p{font-size:11px;color:var(--muted);margin:0 0 9px}.directory-contact{display:grid;gap:4px}.directory-contact a,.directory-contact span{font-size:10px;color:#456075;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.directory-contact a:hover{color:#008dc2}.directory-edit-head{display:flex;gap:13px;align-items:center;margin-bottom:16px}.directory-edit-head strong{font-size:15px}.directory-edit-head p{font-size:11px;color:var(--muted);margin:3px 0 0}.avatar-photo{overflow:hidden}.avatar-photo img{width:100%;height:100%;object-fit:cover}

.media-edit-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:13px}.media-edit-card{border:1px solid var(--line);border-radius:13px;padding:12px;background:#f9fbfc}.media-edit-card>span{display:block;font-size:11px;font-weight:800;margin-bottom:8px}.media-cover-preview,.media-logo-preview{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff;margin-bottom:10px;display:grid;place-items:center}.media-cover-preview{height:190px}.media-logo-preview{height:130px}.media-cover-preview img{width:100%;height:100%;object-fit:cover}.media-logo-preview img{max-width:90%;max-height:88%;object-fit:contain}.media-edit-card input{font-size:10px;margin-bottom:7px}.media-edit-card .ghost{font-size:10px;padding:7px 0;color:#527084}

.project-mini-box{margin-top:13px;border:1px solid #e3ebf0;background:#f8fbfd;border-radius:11px;padding:9px 10px}.project-mini-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:4px}.project-mini-title span{font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#4c6679}.project-mini-title b{font-size:8px;color:#8297a7;font-weight:600}.project-mini-chart{width:100%;height:64px;display:block}.mini-line{fill:none;stroke:#00aee8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.mini-dot{fill:#0a486f;stroke:#fff;stroke-width:1.5}.mini-target{stroke:#bdd1dc;stroke-width:1;stroke-dasharray:5 5}.project-mini-empty{height:62px;display:grid;place-items:center;color:#8b9eac;font-size:10px}

@media(max-width:1080px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.chat-panel{position:fixed;left:10px;right:10px;top:118px;width:auto;height:70vh}.chat-shell{grid-template-columns:105px 1fr}.chat-user{grid-template-columns:32px 1fr;padding:7px}.chat-avatar{width:31px;height:31px}.chat-user small{display:none}.directory-grid{grid-template-columns:1fr}.directory-card{grid-template-columns:64px 1fr}.directory-photo{width:60px;height:60px}.media-edit-grid{grid-template-columns:1fr}.chat-bell{width:42px;height:42px}}


/* ===== v0.6.1 login hotfix ===== */
.password-field{position:relative}
.password-field input{padding-right:52px}
.password-toggle{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:39px;height:35px;border:0;border-radius:9px;background:transparent;
  color:#607487;display:grid;place-items:center;padding:0
}
.password-toggle:hover{background:#eef6fa;color:#087db8}
.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.password-toggle.showing{background:#eaf8fd;color:#087db8}


/* ===== v0.6.2 permissions, chat administration, appearance ===== */
.chat-head-actions{display:flex;align-items:center;gap:7px}
.chat-admin-btn{border:1px solid #cfe4ef;background:#f4fbfe;color:#087dad;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:850}
.chat-conv-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.chat-delete-btn{border:1px solid #f2c0c4;background:#fff4f4;color:#b82d35;border-radius:8px;padding:6px 8px;font-size:9px;font-weight:850}
.message-history-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin:13px 0}
.message-history-table{max-height:430px;overflow:auto;border:1px solid var(--line);border-radius:12px}
.appearance-preview{height:240px;border-radius:14px;overflow:hidden;background:#071a2f;border:1px solid var(--line)}
.appearance-preview img{width:100%;height:100%;object-fit:cover}
.appearance-actions{display:flex;gap:8px;margin-top:12px}
.upload-button{display:inline-flex!important;align-items:center;justify-content:center;background:#071a2f;color:#fff!important;border-radius:10px;padding:10px 13px;font-size:11px;font-weight:800;cursor:pointer}
.upload-button input{display:none}
.role-viewer{background:#eef2f5;color:#607487}
@media(max-width:760px){
  .message-history-toolbar{grid-template-columns:1fr}
  .chat-admin-btn{font-size:8px;padding:6px}
}


/* ===== v0.6.5 equipos de coordinadores + limpieza de notificaciones ===== */
.notification-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.notification-clear-read{color:#b82d35!important}
.notification-actions{display:flex;align-items:center;gap:7px;margin-top:8px;flex-wrap:wrap}
.notification-delete{
  border:1px solid #e3e9ee;background:#fff;color:#788b99;border-radius:8px;
  padding:6px 8px;font-size:9px;font-weight:800
}
.notification-delete:hover{border-color:#efb9bd;color:#b82d35;background:#fff6f6}
.team-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:14px 0 10px}
.team-toolbar>input{max-width:280px}
.team-toolbar>div{display:flex;gap:7px}
.team-worker-list{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:430px;overflow:auto;
  border:1px solid var(--line);background:#f7fafc;border-radius:13px;padding:9px
}
.team-worker-option{
  display:grid;grid-template-columns:auto 43px 1fr auto;gap:9px;align-items:center;
  border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 10px;cursor:pointer
}
.team-worker-option:hover{border-color:#a9dced;background:#fafdff}
.team-worker-option.selected{border-color:#72c9e9;background:#eefaff}
.team-worker-option>input{width:auto;margin:0}
.team-worker-avatar{
  width:39px;height:39px;border-radius:10px;background:linear-gradient(135deg,#0b3151,#00aee8);
  color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900;overflow:hidden
}
.team-worker-avatar img{width:100%;height:100%;object-fit:cover}
.team-worker-copy b,.team-worker-copy small{display:block}
.team-worker-copy b{font-size:11px;color:#071a2f}
.team-worker-copy small{font-size:9px;color:#7c8f9f;margin-top:2px}
.team-worker-check{color:#00aee8;font-size:15px;font-weight:900;opacity:0}
.team-worker-option.selected .team-worker-check{opacity:1}
.team-summary{margin-top:10px;font-size:11px;color:#65798a;text-align:right}
.profile-placeholder img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
@media(max-width:760px){
  .team-toolbar{align-items:stretch;flex-direction:column}
  .team-toolbar>input{max-width:none}
  .team-worker-list{grid-template-columns:1fr}
  .notification-head-actions{justify-content:flex-start}
}


/* ===== v0.6.6 administración global de conversaciones ===== */
.message-admin-summary{
  display:grid;grid-template-columns:150px 150px 1fr;gap:9px;align-items:stretch;margin:14px 0
}
.message-admin-summary>div{
  border:1px solid var(--line);background:#f8fbfd;border-radius:11px;padding:10px 12px
}
.message-admin-summary span,.message-admin-summary strong{display:block}
.message-admin-summary span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.message-admin-summary strong{font-size:20px;color:#071a2f;margin-top:3px}
.message-admin-summary>button{justify-self:end;align-self:center}
.message-admin-layout{display:grid;grid-template-columns:340px 1fr;gap:12px;min-height:430px}
.message-admin-title{font-size:12px;margin:0 0 8px;color:#334155}
.message-pair-list{
  border:1px solid var(--line);border-radius:12px;background:#f7fafc;max-height:470px;overflow:auto;padding:7px
}
.message-pair-card{
  display:grid;grid-template-columns:1fr auto;gap:6px;border:1px solid transparent;border-radius:10px;
  padding:4px;margin-bottom:6px;background:#fff
}
.message-pair-card.active{border-color:#74cce9;background:#eefaff}
.message-pair-open{border:0;background:transparent;display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:center;text-align:left;padding:6px;min-width:0}
.message-pair-avatars{position:relative;height:34px}
.message-pair-avatars i{
  width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0b3151,#00aee8);
  color:#fff;font-style:normal;font-size:8px;font-weight:900;border:2px solid #fff;position:absolute;top:1px
}
.message-pair-avatars i:first-child{left:0}.message-pair-avatars i:last-child{left:20px}
.message-pair-copy{min-width:0}
.message-pair-copy b,.message-pair-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-pair-copy b{font-size:10px;color:#071a2f}.message-pair-copy small{font-size:8px;color:#7d909f;margin-top:3px}
.message-pair-delete{
  align-self:center;border:1px solid #efc5c8;background:#fff6f6;color:#b82d35;border-radius:8px;
  padding:7px 8px;font-size:8px;font-weight:850
}
.message-history-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.message-history-head h3{margin:0;font-size:13px}.message-history-head p{margin:2px 0 0;font-size:9px;color:var(--muted)}
@media(max-width:850px){
  .message-admin-summary{grid-template-columns:1fr 1fr}
  .message-admin-summary>button{grid-column:1/-1;justify-self:stretch}
  .message-admin-layout{grid-template-columns:1fr}
}


/* ===== v0.6.7 modal grande para administración global de mensajes ===== */

/* Sólo agranda el diálogo cuando contiene el administrador global de mensajes */
#generic-dialog:has(.message-admin-layout){
  width:min(1280px,96vw);
  max-width:none;
  height:min(860px,92vh);
  max-height:92vh;
  padding:26px 28px 22px;
  overflow:hidden;
}

#generic-dialog:has(.message-admin-layout) #dialog-form{
  height:100%;
  display:flex;
  flex-direction:column;
  min-width:0;
}

#generic-dialog:has(.message-admin-layout) #dialog-content{
  flex:1;
  min-height:0;
  min-width:0;
  overflow:hidden;
}

#generic-dialog:has(.message-admin-layout) .dialog-actions{
  flex:0 0 auto;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--line);
}

#generic-dialog:has(.message-admin-layout) .message-admin-summary{
  grid-template-columns:180px 180px minmax(220px,1fr);
}

#generic-dialog:has(.message-admin-layout) .message-admin-layout{
  grid-template-columns:390px minmax(0,1fr);
  height:calc(100% - 190px);
  min-height:0;
  gap:16px;
}

#generic-dialog:has(.message-admin-layout) .message-admin-layout>div{
  min-width:0;
  min-height:0;
}

#generic-dialog:has(.message-admin-layout) .message-pair-list{
  height:100%;
  max-height:none;
  overflow-y:auto;
  overflow-x:hidden;
}

#generic-dialog:has(.message-admin-layout) .message-history-table{
  height:calc(100% - 52px);
  max-height:none;
  overflow:auto;
  background:#fff;
}

#generic-dialog:has(.message-admin-layout) .message-history-table table{
  min-width:760px;
}

#generic-dialog:has(.message-admin-layout) .message-history-head{
  min-height:44px;
}

#generic-dialog:has(.message-admin-layout) .message-history-head h3{
  font-size:15px;
}

#generic-dialog:has(.message-admin-layout) .message-history-head p{
  font-size:10px;
}

#generic-dialog:has(.message-admin-layout) .message-pair-card{
  padding:7px;
}

#generic-dialog:has(.message-admin-layout) .message-pair-open{
  grid-template-columns:58px minmax(0,1fr);
  padding:8px;
}

#generic-dialog:has(.message-admin-layout) .message-pair-copy b{
  font-size:11px;
}

#generic-dialog:has(.message-admin-layout) .message-pair-copy small{
  font-size:9px;
}

#generic-dialog:has(.message-admin-layout) .message-pair-delete{
  font-size:9px;
  padding:8px 10px;
}

@media(max-width:900px){
  #generic-dialog:has(.message-admin-layout){
    width:96vw;
    height:92vh;
    padding:18px;
  }
  #generic-dialog:has(.message-admin-layout) .message-admin-summary{
    grid-template-columns:1fr 1fr;
  }
  #generic-dialog:has(.message-admin-layout) .message-admin-summary>button{
    grid-column:1/-1;
    justify-self:stretch;
  }
  #generic-dialog:has(.message-admin-layout) .message-admin-layout{
    grid-template-columns:1fr;
    height:calc(100% - 240px);
    overflow:auto;
  }
  #generic-dialog:has(.message-admin-layout) .message-pair-list{
    max-height:240px;
  }
  #generic-dialog:has(.message-admin-layout) .message-history-table{
    height:360px;
  }
}


/* ===== v0.6.8 Configuración de seguridad ===== */
.settings-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:16px;
}
.settings-card{min-height:100%}
.settings-lock-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 9px;
  background:#eef8fc;
  color:#087dad;
  border:1px solid #cfeaf4;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}
.settings-form{
  display:grid;
  gap:13px;
  margin-top:16px;
  max-width:560px;
}
.settings-key-rules{
  background:#f7fafc;
  border:1px solid var(--line);
  border-radius:10px;
  padding:10px 12px;
  display:grid;
  gap:3px;
}
.settings-key-rules span{
  font-size:10px;
  color:#6d8192;
}
.settings-permission-list{
  display:grid;
  gap:9px;
}
.settings-permission-list>div{
  border:1px solid var(--line);
  border-radius:11px;
  background:#f9fbfc;
  padding:12px;
}
.settings-permission-list span,
.settings-permission-list b{
  display:block;
}
.settings-permission-list span{
  font-size:10px;
  color:#087dad;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.settings-permission-list b{
  font-size:11px;
  color:#465b6d;
  line-height:1.5;
  margin-top:4px;
}
@media(max-width:900px){
  .settings-grid{grid-template-columns:1fr}
}


/* ===== v0.6.9 bienvenida al iniciar sesión ===== */
.welcome-banner{
  position:fixed;
  left:calc(250px + 30px);
  right:30px;
  top:18px;
  z-index:90;
  display:grid;
  grid-template-columns:46px 1fr auto;
  align-items:center;
  gap:12px;
  padding:13px 15px;
  border-radius:15px;
  border:1px solid rgba(87,198,235,.34);
  background:linear-gradient(135deg,rgba(7,26,47,.98),rgba(10,61,95,.97));
  color:#fff;
  box-shadow:0 18px 42px rgba(7,26,47,.24);
  opacity:0;
  transform:translateY(-12px);
  transition:opacity .22s ease,transform .22s ease;
  pointer-events:none;
}
.welcome-banner.show{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.welcome-icon{
  width:42px;
  height:42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#00aee8,#087db8);
  color:#fff;
  font-weight:900;
  font-size:11px;
  letter-spacing:.04em;
}
.welcome-copy strong,
.welcome-copy span{display:block}
.welcome-copy strong{
  font-size:14px;
  letter-spacing:-.01em;
}
.welcome-copy span{
  font-size:10px;
  color:#bcd5e4;
  margin-top:3px;
}
#welcome-close{
  width:32px;
  height:32px;
  border:0;
  border-radius:9px;
  background:rgba(255,255,255,.08);
  color:#d7e7f0;
  font-size:20px;
  line-height:1;
}
#welcome-close:hover{
  background:rgba(255,255,255,.16);
  color:#fff;
}
@media(max-width:760px){
  .welcome-banner{
    left:14px;
    right:14px;
    top:14px;
    grid-template-columns:40px 1fr auto;
  }
  .welcome-icon{width:38px;height:38px}
  .welcome-copy strong{font-size:12px}
  .welcome-copy span{font-size:9px}
}


/* ===== v0.7.0 avatar de usuario reutilizado en toda la plataforma ===== */
.user-profile-avatar{
  overflow:hidden;
  padding:0;
}
.user-profile-avatar img,
#user-initials img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
#user-initials.has-photo{
  overflow:hidden;
  padding:0;
}


/* ===== v0.7.1 usuarios dinámicos en pantalla de acceso ===== */
.demo-grid .demo-user{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-align:left;
}
.login-user-card-main{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:700;
  color:#18344a;
}
.login-user-card-role{
  flex:0 0 auto;
  font-size:9px;
  font-weight:850;
  color:#087dad;
  background:#eaf8fd;
  border-radius:999px;
  padding:4px 7px;
}
.demo-access>small{
  display:block;
  line-height:1.45;
  color:#738797;
}


/* ===== v0.7.2 Asistente CS · demo local ===== */
.assistant-fab{
  position:fixed;right:24px;bottom:24px;z-index:95;
  border:0;border-radius:999px;
  background:linear-gradient(135deg,#071a2f,#0b4c72);
  color:#fff;padding:11px 15px 11px 11px;
  display:flex;align-items:center;gap:8px;
  box-shadow:0 15px 36px rgba(7,26,47,.28);
  font-size:11px;font-weight:850;
}
.assistant-fab:hover{filter:brightness(1.08);transform:translateY(-1px)}
.assistant-fab-icon{
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  background:#00aee8;font-size:15px
}
.assistant-panel{
  position:fixed;right:24px;bottom:82px;z-index:96;
  width:min(410px,calc(100vw - 28px));height:min(650px,calc(100vh - 120px));
  background:#fff;border:1px solid var(--line);border-radius:18px;
  box-shadow:0 26px 70px rgba(7,26,47,.26);
  display:flex;flex-direction:column;overflow:hidden
}
.assistant-head{
  padding:14px 15px;background:linear-gradient(135deg,#071a2f,#0b3658);
  color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px
}
.assistant-brand{display:flex;align-items:center;gap:10px}
.assistant-brand strong,.assistant-brand span{display:block}
.assistant-brand strong{font-size:13px}
.assistant-brand span{font-size:9px;color:#bdd4e1;margin-top:2px}
.assistant-logo{
  width:37px;height:37px;border-radius:10px;background:#00aee8;
  display:grid;place-items:center;font-size:10px;font-weight:900
}
.assistant-close{
  border:0;background:rgba(255,255,255,.08);color:#fff;border-radius:8px;
  width:31px;height:31px;font-size:19px
}
.assistant-demo-note{
  background:#eaf8fd;color:#087dad;border-bottom:1px solid #cae9f4;
  padding:7px 12px;font-size:8px;font-weight:900;letter-spacing:.05em;text-align:center
}
.assistant-context{
  padding:10px 12px;border-bottom:1px solid var(--line);display:grid;
  grid-template-columns:auto 1fr auto;align-items:center;gap:7px;background:#f9fbfc
}
.assistant-context span{font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:800}
.assistant-context strong{font-size:10px;color:#071a2f}
.assistant-context button{
  border:1px solid #cae5ef;background:#fff;color:#087dad;border-radius:8px;
  padding:6px 7px;font-size:8px;font-weight:850
}
.assistant-messages{
  flex:1;overflow:auto;padding:13px;background:#f6f9fb;display:flex;flex-direction:column;gap:9px
}
.assistant-message{display:flex}
.assistant-message>div{
  max-width:86%;padding:9px 11px;border-radius:12px;font-size:10px;line-height:1.5;
  box-shadow:0 3px 10px rgba(7,26,47,.04)
}
.assistant-message.assistant>div{background:#fff;color:#344b5d;border:1px solid #e1e9ef}
.assistant-message.user{justify-content:flex-end}
.assistant-message.user>div{background:#0b3658;color:#fff;border-bottom-right-radius:4px}
.assistant-suggestions{
  padding:9px 10px;display:flex;gap:6px;overflow-x:auto;border-top:1px solid var(--line);background:#fff
}
.assistant-suggestion{
  white-space:nowrap;border:1px solid #d8e6ee;background:#f8fbfd;color:#466173;
  border-radius:999px;padding:6px 8px;font-size:8px;font-weight:750
}
.assistant-suggestion:hover{border-color:#86d4ee;color:#087dad}
.assistant-compose{
  display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px;border-top:1px solid var(--line);background:#fff
}
.assistant-compose input{font-size:10px}
.assistant-compose button{
  border:0;background:#071a2f;color:#fff;border-radius:9px;padding:0 13px;font-size:9px;font-weight:850
}
@media(max-width:760px){
  .assistant-fab{right:14px;bottom:14px}
  .assistant-fab-label{display:none}
  .assistant-fab{padding:9px}
  .assistant-panel{right:14px;left:14px;bottom:70px;width:auto;height:min(70vh,650px)}
}


/* ===== v0.7.5 Asistente CS contextual ===== */
.assistant-thinking>div{
  display:flex;
  gap:4px;
  align-items:center;
  min-width:44px;
}
.assistant-thinking span{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#7f94a3;
  animation:assistantPulse 1s infinite ease-in-out;
}
.assistant-thinking span:nth-child(2){animation-delay:.15s}
.assistant-thinking span:nth-child(3){animation-delay:.3s}
@keyframes assistantPulse{
  0%,80%,100%{opacity:.35;transform:translateY(0)}
  40%{opacity:1;transform:translateY(-3px)}
}
.assistant-demo-note{
  letter-spacing:.025em;
  text-transform:uppercase;
}


/* ===== v0.7.6 Historial persistente de Asistente CS ===== */
.assistant-head-actions{
  display:flex;
  align-items:center;
  gap:6px;
}
.assistant-head-btn{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
  min-height:31px;
  border-radius:8px;
  padding:0 9px;
  font-size:8px;
  font-weight:850;
}
.assistant-head-btn:hover{background:rgba(255,255,255,.16)}
.assistant-clear-btn{
  width:31px;
  padding:0;
  font-size:13px;
}
.assistant-message>div p{
  margin:0;
  white-space:pre-wrap;
}
.assistant-message>div small{
  display:block;
  margin-top:5px;
  font-size:7px;
  opacity:.6;
}
.ai-admin-summary{
  grid-template-columns:160px 160px 180px minmax(220px,1fr)!important;
}
.ai-history-user-card .message-pair-open{
  grid-template-columns:42px minmax(0,1fr)!important;
  width:100%;
}
.ai-history-avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(135deg,#07557f,#00aee8);
  color:#fff;
  font-size:9px;
  font-weight:900;
}
.ai-history-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ai-audit-lock{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 8px;
  background:#eef8fc;
  color:#087dad;
  border:1px solid #cfeaf4;
  font-size:8px;
  font-weight:900;
  letter-spacing:.05em;
}
.ai-history-status{
  display:inline-flex;
  border-radius:999px;
  padding:5px 7px;
  font-size:8px;
  font-weight:850;
  white-space:nowrap;
}
.ai-history-status.visible{
  background:#eaf8f0;
  color:#087d48;
}
.ai-history-status.cleared{
  background:#fff5e6;
  color:#a45b08;
}
@media(max-width:900px){
  .ai-admin-summary{
    grid-template-columns:1fr 1fr!important;
  }
  .ai-admin-summary>button{
    grid-column:1/-1;
  }
}
@media(max-width:480px){
  #assistant-admin-history{font-size:0;width:31px;padding:0}
  #assistant-admin-history:after{content:"◷";font-size:14px}
}


/* ===== v0.7.7 Navegación modular y escalable ===== */
#main-nav{
  display:block;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:0 2px 12px;
  scrollbar-width:thin;
  scrollbar-color:#21445f transparent;
}
.nav-caption{
  margin:2px 9px 8px;
  font-size:8px;
  line-height:1;
  letter-spacing:.16em;
  font-weight:900;
  color:#5f8ca8;
}
.nav-section{
  margin-bottom:7px;
}
.nav-section-toggle{
  width:100%;
  min-height:38px;
  border:0;
  background:transparent;
  color:#eef6fb;
  display:grid;
  grid-template-columns:8px 1fr auto;
  align-items:center;
  gap:8px;
  padding:8px 8px;
  border-radius:9px;
  text-align:left;
  font-size:11px;
  font-weight:850;
}
.nav-section-toggle:hover{
  background:rgba(255,255,255,.045);
}
.nav-section-mark{
  width:6px;
  height:6px;
  border-radius:2px;
  background:#00aee8;
  box-shadow:0 0 0 3px rgba(0,174,232,.1);
}
.nav-chevron{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:17px;
  height:17px;
  color:#6e9ab4;
  font-size:13px;
  transition:transform .18s ease;
}
.nav-section.collapsed>.nav-section-toggle .nav-chevron,
.nav-module.collapsed>.nav-module-toggle .nav-chevron{
  transform:rotate(-90deg);
}
.nav-section-body{
  margin-left:5px;
  padding-left:9px;
  border-left:1px solid rgba(112,161,189,.18);
}
.nav-section.collapsed>.nav-section-body{
  display:none;
}
.nav-section.has-active>.nav-section-toggle{
  color:#fff;
}
.nav-module{
  margin:1px 0 4px;
}
.nav-module-toggle{
  width:100%;
  min-height:34px;
  border:0;
  background:transparent;
  color:#8ebcd4;
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:6px;
  padding:6px 7px 6px 8px;
  border-radius:8px;
  text-align:left;
  font-size:10px;
  font-weight:800;
}
.nav-module-toggle:hover,
.nav-module.has-active>.nav-module-toggle{
  color:#dff6ff;
  background:rgba(0,174,232,.06);
}
.nav-module-meta{
  min-width:18px;
  height:18px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(0,174,232,.09);
  color:#69cce9;
  font-size:7px;
  font-weight:900;
}
.nav-module-body{
  padding:2px 0 3px 6px;
}
.nav-module.collapsed>.nav-module-body{
  display:none;
}
#main-nav .nav-btn.nav-leaf{
  width:100%;
  min-height:35px;
  display:grid;
  grid-template-columns:8px minmax(0,1fr);
  align-items:center;
  gap:6px;
  margin:2px 0;
  padding:8px 9px;
  color:#aebfd0;
  font-size:10px;
  font-weight:650;
}
#main-nav .nav-btn.nav-leaf:hover{
  color:#fff;
}
#main-nav .nav-btn.nav-leaf.active{
  color:#fff;
  background:linear-gradient(90deg,rgba(0,174,232,.18),rgba(0,174,232,.045));
  box-shadow:inset 2px 0 0 #00aee8;
}
.nav-leaf-dot{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#536e82;
}
.nav-btn.active .nav-leaf-dot{
  background:#20c2f3;
  box-shadow:0 0 0 3px rgba(32,194,243,.1);
}
.page-heading{
  min-width:0;
}
.page-breadcrumb{
  display:block;
  margin-bottom:4px;
  color:#0786ba;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.sidebar-user{
  flex:0 0 auto;
}

/* En teléfono conservamos una navegación horizontal compacta. */
@media(max-width:760px){
  #main-nav{
    display:flex;
    gap:5px;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:3px;
  }
  .nav-caption,
  .nav-section-toggle,
  .nav-module-toggle{
    display:none!important;
  }
  .nav-section,
  .nav-module,
  .nav-section-body,
  .nav-module-body{
    display:contents!important;
  }
  #main-nav .nav-btn.nav-leaf{
    width:auto;
    min-height:auto;
    display:flex;
    white-space:nowrap;
    padding:9px 10px;
    font-size:10px;
  }
  .nav-leaf-dot{display:none}
  .page-breadcrumb{font-size:8px}
}


/* ===== v0.7.9 Sidebar modular refinado ===== */
#main-nav{
  padding:4px 8px 14px!important;
}
.nav-caption{
  margin:5px 8px 14px!important;
  color:#4e7d99!important;
  font-size:7px!important;
  letter-spacing:.19em!important;
  font-weight:900!important;
}

.nav-section{
  margin:0 0 15px!important;
}
.nav-section-heading{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 7px;
  margin-bottom:7px;
  color:#7e9fb4;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.nav-section-line{
  width:12px;
  height:2px;
  border-radius:999px;
  background:#00aee8;
  opacity:.8;
}
.nav-section.has-active .nav-section-heading{
  color:#a8cadc;
}
.nav-section-body{
  margin:0!important;
  padding:0!important;
  border:0!important;
}

/* Parent module: Efectividad */
.nav-module{
  margin:0 0 5px!important;
}
.nav-module-toggle{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:100%!important;
  min-height:39px!important;
  border:1px solid rgba(76,164,206,.18)!important;
  outline:0!important;
  background:linear-gradient(135deg,rgba(10,54,85,.92),rgba(8,42,69,.9))!important;
  color:#dff4ff!important;
  display:grid!important;
  grid-template-columns:25px minmax(0,1fr) 18px!important;
  align-items:center!important;
  gap:7px!important;
  padding:7px 9px!important;
  border-radius:10px!important;
  text-align:left!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  font-size:10px!important;
  font-weight:850!important;
}
.nav-module-toggle:hover,
.nav-module.has-active>.nav-module-toggle{
  border-color:rgba(0,174,232,.38)!important;
  background:linear-gradient(135deg,rgba(8,74,111,.96),rgba(8,48,76,.94))!important;
}
.nav-module-icon{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:rgba(0,174,232,.13);
  color:#25c6f4;
  font-size:11px;
}
.nav-module-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nav-module-toggle .nav-chevron{
  width:18px!important;
  height:18px!important;
  color:#67b9d8!important;
  font-size:13px!important;
}
.nav-module.collapsed>.nav-module-toggle .nav-chevron{
  transform:rotate(-90deg)!important;
}
.nav-module-body{
  position:relative;
  padding:5px 0 1px 12px!important;
  margin-left:11px;
}
.nav-module-body:before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  bottom:6px;
  width:1px;
  background:linear-gradient(#1caee1,rgba(28,174,225,.05));
  opacity:.38;
}
.nav-module.collapsed>.nav-module-body{
  display:none!important;
}

/* Leaf items */
#main-nav .nav-btn.nav-leaf{
  -webkit-appearance:none!important;
  appearance:none!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  width:100%!important;
  min-height:35px!important;
  display:grid!important;
  grid-template-columns:9px minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  margin:1px 0!important;
  padding:8px 9px!important;
  border-radius:9px!important;
  color:#a9bdcc!important;
  text-align:left!important;
  font-size:10px!important;
  font-weight:650!important;
  box-shadow:none!important;
}
#main-nav .nav-btn.nav-leaf:hover{
  color:#fff!important;
  background:rgba(255,255,255,.045)!important;
}
#main-nav .nav-btn.nav-leaf.active{
  color:#fff!important;
  background:linear-gradient(90deg,rgba(0,174,232,.17),rgba(0,174,232,.04))!important;
  box-shadow:inset 2px 0 0 #00b9f1!important;
  font-weight:800!important;
}
#main-nav .nav-leaf-dot{
  width:4px!important;
  height:4px!important;
  border-radius:50%!important;
  background:#49677c!important;
}
#main-nav .nav-btn.active .nav-leaf-dot{
  background:#27c7f5!important;
  box-shadow:0 0 0 3px rgba(39,199,245,.1)!important;
}

/* Direct leaves beneath Organización / Administración */
.nav-section:not([data-nav-section="operations"])>.nav-section-body{
  padding-left:4px!important;
}

/* Explicitly neutralize obsolete v0.7.7 top-level controls */
.nav-section-toggle,
.nav-module-meta{
  display:none!important;
}

@media(max-width:760px){
  #main-nav{
    display:flex!important;
    align-items:center;
    gap:5px!important;
    padding:2px 3px!important;
  }
  .nav-caption,
  .nav-section-heading,
  .nav-module-toggle{
    display:none!important;
  }
  .nav-section,
  .nav-module,
  .nav-section-body,
  .nav-module-body{
    display:contents!important;
  }
  .nav-module-body:before{display:none!important}
  #main-nav .nav-btn.nav-leaf{
    width:auto!important;
    min-height:auto!important;
    display:flex!important;
    white-space:nowrap!important;
    padding:9px 10px!important;
    font-size:10px!important;
  }
  #main-nav .nav-leaf-dot{display:none!important}
}


/* ===== v0.8.0 Menú plano bajo OPERACIONES ===== */
#main-nav{
  padding:6px 10px 14px!important;
}
#main-nav .nav-caption{
  margin:6px 8px 10px!important;
  color:#5fa9cb!important;
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  font-weight:900!important;
}
.nav-flat-list{
  display:grid;
  gap:3px;
}
#main-nav .nav-btn.nav-leaf{
  -webkit-appearance:none!important;
  appearance:none!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  width:100%!important;
  min-height:42px!important;
  display:grid!important;
  grid-template-columns:9px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  padding:10px 11px!important;
  border-radius:10px!important;
  color:#b7c8d5!important;
  text-align:left!important;
  font-size:11px!important;
  font-weight:650!important;
  box-shadow:none!important;
}
#main-nav .nav-btn.nav-leaf:hover{
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
}
#main-nav .nav-btn.nav-leaf.active{
  background:linear-gradient(90deg,rgba(0,174,232,.18),rgba(0,174,232,.045))!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 #00baf2!important;
  font-weight:800!important;
}
#main-nav .nav-leaf-dot{
  width:5px!important;
  height:5px!important;
  border-radius:50%!important;
  background:#4d6b80!important;
}
#main-nav .nav-btn.active .nav-leaf-dot{
  background:#29c8f5!important;
  box-shadow:0 0 0 3px rgba(41,200,245,.10)!important;
}

/* Desactivar por completo los elementos de navegación jerárquica anteriores */
.nav-section,
.nav-section-heading,
.nav-section-body,
.nav-module,
.nav-module-toggle,
.nav-module-body,
.nav-module-icon,
.nav-module-name,
.nav-module-meta,
.nav-section-toggle{
  all:unset;
}
.nav-section,
.nav-section-heading,
.nav-section-body,
.nav-module,
.nav-module-toggle,
.nav-module-body,
.nav-module-icon,
.nav-module-name,
.nav-module-meta,
.nav-section-toggle{
  display:none!important;
}

@media(max-width:760px){
  #main-nav{
    display:flex!important;
    overflow-x:auto!important;
    gap:5px!important;
    padding:3px!important;
  }
  #main-nav .nav-caption{
    display:none!important;
  }
  .nav-flat-list{
    display:flex!important;
    gap:5px!important;
  }
  #main-nav .nav-btn.nav-leaf{
    width:auto!important;
    min-height:auto!important;
    display:flex!important;
    white-space:nowrap!important;
    padding:9px 10px!important;
    font-size:10px!important;
  }
  #main-nav .nav-leaf-dot{
    display:none!important;
  }
}


/* ===== v0.8.1 Inicio corporativo común ===== */
.nav-home-block{
  margin:2px 0 13px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(132,178,203,.13);
}
#main-nav .nav-home-btn{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:100%!important;
  min-height:44px!important;
  border:1px solid rgba(0,174,232,.13)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.025)!important;
  color:#d9e7f0!important;
  display:grid!important;
  grid-template-columns:28px 1fr!important;
  align-items:center!important;
  gap:8px!important;
  padding:7px 9px!important;
  text-align:left!important;
  font-size:11px!important;
  font-weight:800!important;
}
#main-nav .nav-home-btn:hover{
  background:rgba(255,255,255,.05)!important;
  color:#fff!important;
}
#main-nav .nav-home-btn.active{
  background:linear-gradient(135deg,rgba(0,174,232,.19),rgba(0,174,232,.07))!important;
  border-color:rgba(0,174,232,.3)!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 #00baf2!important;
}
.nav-home-icon{
  width:27px;height:27px;border-radius:8px;
  display:grid;place-items:center;
  background:rgba(0,174,232,.12);
  color:#22c5f3;
  font-size:15px;
}

.home-hero{
  min-height:285px;
  border-radius:22px;
  background-size:cover;
  background-position:center;
  position:relative;
  overflow:hidden;
  color:#fff;
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  box-shadow:0 16px 42px rgba(8,35,55,.14);
}
.home-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(3,20,35,.38));
  pointer-events:none;
}
.home-hero>*{position:relative;z-index:1}
.home-hero-brand{
  position:absolute;
  top:24px;
  left:28px;
}
.home-hero-brand img{
  max-width:185px;
  max-height:70px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 5px 14px rgba(0,0,0,.18));
}
.home-hero-copy{max-width:720px}
.home-hero-copy>span,
.home-kicker{
  display:block;
  color:#39cdf5;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
}
.home-hero-copy h2{
  margin:7px 0 6px;
  font-size:34px;
  line-height:1.03;
  letter-spacing:-.03em;
}
.home-hero-copy p{
  margin:0;
  font-size:13px;
  color:#d8e8f1;
}
.home-hero-role{
  position:absolute;
  right:25px;
  bottom:25px;
  text-align:right;
  background:rgba(4,28,48,.58);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
  padding:10px 13px;
  border-radius:12px;
}
.home-hero-role small,.home-hero-role strong{display:block}
.home-hero-role small{
  font-size:7px;color:#a9c7d8;text-transform:uppercase;letter-spacing:.08em;
}
.home-hero-role strong{font-size:11px;margin-top:3px}

.home-section{margin-top:16px}
.home-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  margin-bottom:9px;
}
.home-section-head h3{margin:3px 0 0;font-size:17px}
.home-quick-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.home-quick-card{
  min-height:104px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:14px;
  position:relative;
  text-align:left;
  box-shadow:0 7px 20px rgba(7,26,47,.05);
}
.home-quick-card:hover{
  transform:translateY(-2px);
  border-color:#a9ddeb;
  box-shadow:0 12px 28px rgba(7,26,47,.08);
}
.home-quick-card strong,.home-quick-card small{display:block}
.home-quick-card strong{font-size:12px;color:#0a263d;margin-top:12px}
.home-quick-card small{font-size:9px;color:#728798;margin-top:4px;line-height:1.4}
.home-quick-arrow{
  position:absolute;right:12px;top:10px;color:#00aee8;font-size:14px;font-weight:900;
}

.home-main-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:14px;
}
.home-bottom-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:14px;
}
.home-panel-title{align-items:start}
.home-panel-title h2{margin-top:3px}
.announcement-list{display:grid;gap:9px}
.announcement-item{
  display:grid;
  grid-template-columns:8px 1fr;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid #edf1f4;
}
.announcement-item:last-child{border-bottom:0}
.announcement-dot{
  width:7px;height:7px;border-radius:50%;background:#23bde9;margin-top:8px;
}
.announcement-item.important .announcement-dot{
  background:#e99a24;
  box-shadow:0 0 0 4px rgba(233,154,36,.1);
}
.announcement-meta{
  font-size:8px;color:#7e909e;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
}
.announcement-item strong{
  display:block;font-size:11px;color:#183449;margin-top:3px;
}
.announcement-item p{
  margin:4px 0 0;font-size:10px;color:#657b8c;line-height:1.45;
}

.recognition-card{
  min-height:205px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:13px;
  border-radius:15px;
  background:linear-gradient(135deg,#f8fbfd,#eef8fc);
  border:1px solid #dceaf1;
}
.recognition-photo{
  width:105px;height:125px;border-radius:14px;overflow:hidden;
  flex:0 0 auto;background:linear-gradient(135deg,#07557f,#00aee8);
  display:grid;place-items:center;color:#fff;font-size:22px;font-weight:900;
}
.recognition-photo img{width:100%;height:100%;object-fit:cover}
.recognition-copy>span{
  font-size:8px;color:#0794c7;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
}
.recognition-copy h3{margin:5px 0 2px;font-size:17px;color:#102b40}
.recognition-copy p{margin:0;font-size:9px;color:#728797}
.recognition-copy blockquote{
  margin:11px 0 0;
  padding-left:10px;
  border-left:2px solid #22bce9;
  color:#526a7a;
  font-size:9px;
  line-height:1.5;
}
.recognition-empty{
  min-height:205px;
  display:grid;
  place-items:center;
  text-align:center;
  align-content:center;
  gap:5px;
  color:#657b8c;
}
.recognition-medal{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  background:#eef8fc;color:#00aee8;font-size:20px;margin-bottom:5px;
}
.recognition-empty strong{color:#1b3447;font-size:11px}
.recognition-empty p{margin:0;max-width:270px;font-size:9px;line-height:1.5}

.home-safety,.home-voice{min-height:160px}
.home-safety h3,.home-voice h3{
  margin:5px 0 6px;font-size:16px;color:#122e43;
}
.home-safety p,.home-voice p{
  margin:0;font-size:10px;line-height:1.55;color:#687e8f;
}
.home-safety-line{
  margin-top:20px;
  display:flex;align-items:center;gap:8px;
}
.home-safety-line span{
  height:2px;width:36px;background:#00aee8;border-radius:99px;
}
.home-safety-line small{
  font-size:7px;color:#5c8197;font-weight:900;letter-spacing:.08em;
}
.home-voice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.home-voice-actions{
  flex:0 0 auto;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.home-voice-count{
  display:inline-grid;
  place-items:center;
  min-width:18px;height:18px;border-radius:99px;
  background:#e9f8fd;color:#087dad;font-size:8px;margin-left:5px;
}

.voice-inbox{
  display:grid;
  gap:10px;
  max-height:520px;
  overflow:auto;
  margin-top:12px;
}
.voice-item{
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.voice-item.unread{
  border-color:#9adbed;
  background:#f8fdff;
}
.voice-item-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.voice-item-head span{
  display:block;
  font-size:8px;
  color:#0789bc;
  font-weight:900;
  text-transform:uppercase;
}
.voice-item-head strong{
  display:block;
  margin-top:3px;
  font-size:11px;
  color:#183449;
}
.voice-item-head small{
  font-size:8px;
  color:#8293a0;
  white-space:nowrap;
}
.voice-item>p{
  font-size:10px;
  line-height:1.5;
  color:#596f80;
}
.voice-item-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:8px;
  border-top:1px solid #edf1f4;
  font-size:9px;
  color:#718595;
}
.voice-item-foot b{color:#3c8c64}

.announcement-admin-form{
  display:grid;
  gap:10px;
  margin-top:10px;
}
.admin-divider{
  height:1px;
  background:var(--line);
  margin:18px 0;
}
.announcement-admin-list{
  display:grid;
  gap:9px;
  max-height:340px;
  overflow:auto;
}
.announcement-admin-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  border:1px solid var(--line);
  border-radius:11px;
  padding:11px;
}
.announcement-admin-item small,
.announcement-admin-item strong{display:block}
.announcement-admin-item small{font-size:8px;color:#7e909e}
.announcement-admin-item strong{font-size:10px;color:#173348;margin-top:3px}
.announcement-admin-item p{font-size:9px;color:#657b8c;margin:4px 0 0}
.announcement-admin-item>div:last-child{
  display:flex;
  gap:6px;
  align-items:start;
}

@media(max-width:1050px){
  .home-quick-grid{grid-template-columns:repeat(2,1fr)}
  .home-main-grid,.home-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .nav-home-block{display:contents}
  #main-nav .nav-home-btn{
    width:auto!important;
    min-height:auto!important;
    display:flex!important;
    white-space:nowrap!important;
    padding:9px 10px!important;
  }
  .nav-home-icon{display:none}
  .home-hero{
    min-height:250px;
    padding:22px;
  }
  .home-hero-copy h2{font-size:26px}
  .home-hero-brand img{max-width:145px}
  .home-hero-role{
    position:static;
    margin-top:18px;
    align-self:flex-start;
    text-align:left;
  }
  .home-quick-grid{grid-template-columns:1fr 1fr}
  .home-voice{display:block}
  .home-voice-actions{
    margin-top:14px;
    justify-content:flex-start;
  }
}
@media(max-width:480px){
  .home-quick-grid{grid-template-columns:1fr}
}

/* ===== v0.8.2 Sidebar · Operaciones desplegable ===== */
#main-nav{
  padding:6px 10px 14px!important;
  overflow:visible;
}

/* La etiqueta fija OPERACIONES de v0.8.0 deja de usarse. */
#main-nav .nav-caption{display:none!important}

.nav-accordion{
  display:block!important;
  margin:3px 0 0!important;
}
.nav-accordion-toggle{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  min-height:45px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#c4d4df;
  display:grid;
  grid-template-columns:29px minmax(0,1fr) 18px;
  align-items:center;
  gap:9px;
  padding:7px 10px;
  text-align:left;
  cursor:pointer;
  font:inherit;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.nav-accordion-toggle:hover{
  background:rgba(255,255,255,.045);
  border-color:rgba(0,174,232,.10);
  color:#fff;
}
.nav-accordion-icon{
  width:27px;
  height:27px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:rgba(0,174,232,.10);
  color:#22c5f3;
  font-size:13px;
  font-weight:900;
}
.nav-accordion-label{
  min-width:0;
  font-size:11px;
  font-weight:850;
  letter-spacing:.01em;
}
.nav-accordion-chevron{
  color:#6fa6c2;
  font-size:15px;
  line-height:1;
  text-align:center;
  transform:rotate(0deg);
  transition:transform .24s ease,color .2s ease;
}
.nav-accordion.expanded>.nav-accordion-toggle{
  background:linear-gradient(90deg,rgba(0,174,232,.10),rgba(0,174,232,.025));
  border-color:rgba(0,174,232,.15);
  color:#fff;
}
.nav-accordion.expanded>.nav-accordion-toggle .nav-accordion-chevron{
  transform:rotate(180deg);
  color:#26c6f3;
}
.nav-accordion-body{
  display:block!important;
  max-height:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(-5px);
  padding-top:0;
  transition:max-height .30s cubic-bezier(.4,0,.2,1),opacity .18s ease,transform .24s ease,padding .24s ease;
}
.nav-accordion.expanded>.nav-accordion-body{
  max-height:520px;
  opacity:1;
  transform:translateY(0);
  padding-top:5px;
}
.nav-accordion .nav-flat-list{
  display:grid!important;
  gap:3px!important;
  padding-left:5px;
}
.nav-accordion #main-nav .nav-btn.nav-leaf{display:grid!important}
#main-nav .nav-accordion .nav-btn.nav-leaf{
  min-height:40px!important;
  padding-left:12px!important;
}
#main-nav .nav-accordion .nav-btn.nav-leaf.active{
  background:linear-gradient(90deg,rgba(0,174,232,.18),rgba(0,174,232,.045))!important;
}

@media(max-width:760px){
  #main-nav{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr);
    align-items:start;
    gap:5px!important;
    overflow:visible!important;
    padding:3px!important;
  }
  .nav-home-block{
    display:block!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  #main-nav .nav-home-btn{
    height:39px!important;
  }
  .nav-accordion{
    margin:0!important;
    min-width:0;
  }
  .nav-accordion-toggle{
    min-height:39px;
    height:39px;
    grid-template-columns:minmax(0,1fr) 18px;
    padding:7px 10px;
    background:rgba(255,255,255,.025);
    border-color:rgba(0,174,232,.10);
  }
  .nav-accordion-icon{display:none}
  .nav-accordion-label{
    font-size:10px;
    white-space:nowrap;
  }
  .nav-accordion.expanded>.nav-accordion-body{
    max-height:360px;
  }
  .nav-accordion .nav-flat-list{
    padding:5px 0 0!important;
    display:grid!important;
    gap:3px!important;
  }
  #main-nav .nav-accordion .nav-btn.nav-leaf{
    width:100%!important;
    display:grid!important;
    grid-template-columns:8px minmax(0,1fr)!important;
    min-height:36px!important;
    padding:8px 9px!important;
    font-size:10px!important;
    white-space:normal!important;
  }
  #main-nav .nav-accordion .nav-leaf-dot{
    display:block!important;
  }
}

/* ===== v0.8.3 · centro de comunicados + autorización de mensajería SU ===== */
.announcement-scroll{
  max-height:330px;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:5px;
  scrollbar-width:thin;
  scrollbar-color:#b9d4e1 transparent;
}
.announcement-scroll::-webkit-scrollbar,.announcement-admin-list::-webkit-scrollbar,.announcement-archive-list::-webkit-scrollbar{width:7px}
.announcement-scroll::-webkit-scrollbar-thumb,.announcement-admin-list::-webkit-scrollbar-thumb,.announcement-archive-list::-webkit-scrollbar-thumb{background:#c5dbe5;border-radius:999px}
.announcement-item{
  width:100%;
  grid-template-columns:28px minmax(0,1fr) auto 18px;
  align-items:start;
  gap:10px;
  padding:12px 8px;
  border:0;
  border-bottom:1px solid #edf1f4;
  border-radius:10px;
  background:transparent;
  text-align:left;
  cursor:pointer;
  transition:background .16s ease,transform .16s ease;
}
.announcement-item:hover{background:#f6fbfd;transform:translateX(2px)}
.announcement-item.pinned{background:linear-gradient(90deg,#f8fdff,rgba(248,253,255,0))}
.announcement-symbol{
  width:24px;height:24px;display:grid;place-items:center;align-self:start;margin-top:1px;
  font-size:11px;font-weight:900;border-radius:7px;background:#eaf7fb;color:#0aa9df;flex:0 0 auto;
}
.announcement-symbol.general{width:10px;height:10px;border-radius:50%;background:#27b9e5;margin:7px}
.announcement-symbol.warning{background:#fff7e8;color:#e49a22}
.announcement-symbol.warning svg{width:22px;height:22px;fill:#f2a72d;stroke:#fff;stroke-width:2;stroke-linecap:round}
.announcement-symbol.warning svg path:first-child{stroke:#e49a22;fill:#fff4d9;stroke-width:1.5}
.announcement-symbol.warning svg path:nth-child(2),.announcement-symbol.warning svg circle{stroke:#d98b15;fill:#d98b15}
.announcement-symbol.security{background:#eaf9f1;color:#27865a}
.announcement-symbol.recognition{background:#f0f7ff;color:#147fb4}
.announcement-symbol.operational{background:#eef5fb;color:#2d688c}
.announcement-copy{min-width:0;display:block}
.announcement-excerpt{display:block;margin-top:4px;font-size:10px;color:#657b8c;line-height:1.45}
.announcement-thumb{width:58px;height:44px;border-radius:8px;overflow:hidden;border:1px solid #e2edf2;background:#f7fafc}
.announcement-thumb img{width:100%;height:100%;object-fit:cover}
.announcement-open-mark{font-size:20px;color:#9db0bd;line-height:1;padding-top:8px}
.announcement-panel-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;margin-top:2px;border-top:1px solid #edf1f4}
.announcement-panel-foot span{font-size:9px;color:#8497a5}
.text-action{border:0;background:transparent;color:#078bbd;font-size:10px;font-weight:850;padding:5px;cursor:pointer}
.text-action:hover{text-decoration:underline}

/* Detalle / archivo */
#generic-dialog:has(.announcement-detail){width:min(900px,94vw);max-width:none;padding:0;overflow:hidden}
#generic-dialog:has(.announcement-detail) #dialog-content{max-height:78vh;overflow:auto}
#generic-dialog:has(.announcement-detail) .dialog-actions{padding:0 22px 18px;margin-top:8px}
.announcement-detail{padding-bottom:10px}
.announcement-detail-cover{height:min(320px,36vh);overflow:hidden;background:#eef3f6}
.announcement-detail-cover img{width:100%;height:100%;object-fit:cover}
.announcement-detail-meta{display:flex;align-items:center;gap:10px;padding:22px 24px 0}
.announcement-detail-meta>div{min-width:0}
.announcement-detail-meta span,.announcement-detail-meta small{display:block}
.announcement-detail-meta span{font-size:9px;color:#648093;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.announcement-detail-meta small{font-size:9px;color:#8a9aa6;margin-top:3px}
.announcement-detail>h2{font-size:28px!important;line-height:1.16!important;margin:13px 24px 0!important;color:#102a3e}
.announcement-rich-content{font-size:13px;color:#40596a;line-height:1.7;padding:4px 24px 18px;overflow-wrap:anywhere}
.announcement-rich-content p{margin:10px 0}
.announcement-rich-content h2{font-size:22px;margin:18px 0 8px;color:#102a3e}
.announcement-rich-content h3{font-size:17px;margin:16px 0 7px;color:#183449}
.announcement-rich-content ul,.announcement-rich-content ol{padding-left:22px}
.announcement-rich-content img{display:block;max-width:100%;height:auto;border-radius:12px;margin:14px auto;border:1px solid #e2ebf0}
.announcement-rich-content a{color:#008ec4;font-weight:750}
.announcement-rich-content blockquote{border-left:3px solid #20b5df;margin:12px 0;padding:9px 14px;background:#f5fbfd;border-radius:0 10px 10px 0}
.announcement-rich-content.compact{padding:0;font-size:10px;line-height:1.5;max-height:185px;overflow:auto}
.announcement-rich-content.compact h2{font-size:16px}.announcement-rich-content.compact h3{font-size:13px}

#generic-dialog:has(.announcement-archive-shell){width:min(1000px,94vw);max-width:none}
.announcement-archive-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:15px}
.announcement-archive-head h2{margin:4px 0 2px!important}.announcement-archive-head p{margin:0;color:var(--muted);font-size:10px}
.announcement-archive-head>strong{font-size:30px;color:#0a91c5}
.announcement-archive-list{display:grid;gap:8px;max-height:62vh;overflow:auto;padding-right:5px}
.announcement-archive-item{display:grid;grid-template-columns:30px minmax(0,1fr) 85px 18px;gap:11px;align-items:center;width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:11px;text-align:left;cursor:pointer}
.announcement-archive-item:hover{border-color:#93d7eb;background:#f9fdff}
.announcement-archive-item small,.announcement-archive-item b,.announcement-archive-item p{display:block}
.announcement-archive-item small{font-size:8px;color:#7890a0;text-transform:uppercase;font-weight:850}.announcement-archive-item b{font-size:11px;color:#173348;margin-top:2px}.announcement-archive-item p{font-size:9px;color:#657b8c;margin:4px 0 0;line-height:1.4}
.announcement-archive-item>img{width:82px;height:52px;object-fit:cover;border-radius:8px}.announcement-archive-item>i{font-style:normal;font-size:20px;color:#9caebb}

/* Editor administrativo */
#generic-dialog:has(.announcement-editor-shell){width:min(1420px,97vw);max-width:none;height:min(900px,94vh);max-height:94vh;padding:22px 24px 18px;overflow:hidden}
#generic-dialog:has(.announcement-editor-shell) #dialog-form{height:100%;display:flex;flex-direction:column;min-width:0}
#generic-dialog:has(.announcement-editor-shell) #dialog-content{flex:1;min-height:0;overflow:hidden}
#generic-dialog:has(.announcement-editor-shell) .dialog-actions{flex:0 0 auto;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}
.announcement-editor-shell{height:100%;display:flex;flex-direction:column;min-height:0}
.announcement-editor-top{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:12px;flex:0 0 auto}
.announcement-editor-top h2{margin:4px 0 2px!important;font-size:23px!important}.announcement-editor-top p{margin:0;font-size:10px;color:var(--muted)}
.announcement-editor-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.75fr);gap:16px;flex:1;min-height:0}
.announcement-editor-main{min-height:0;overflow:auto;padding-right:7px}
.announcement-editor-side{min-height:0;display:grid;grid-template-rows:minmax(250px,.8fr) minmax(250px,1.2fr);gap:12px}
.announcement-fields{margin-bottom:11px}
.announcement-pin-row,.permission-check{display:flex!important;align-items:center;gap:10px;border:1px solid #dce8ee;border-radius:11px;padding:10px 12px;background:#f8fbfd;cursor:pointer}
.announcement-pin-row input,.permission-check input{width:auto;margin:0;flex:0 0 auto}
.announcement-pin-row span,.permission-check span{display:block}.announcement-pin-row b,.announcement-pin-row small,.permission-check b,.permission-check small{display:block}
.announcement-pin-row b,.permission-check b{font-size:10px;color:#183449}.announcement-pin-row small,.permission-check small{font-size:8px;color:#7d909e;margin-top:2px;line-height:1.35}
.announcement-cover-control{display:flex;align-items:center;gap:8px;margin:4px 0 8px}.announcement-cover-control>div{margin-right:auto}.announcement-cover-control b,.announcement-cover-control small{display:block}.announcement-cover-control b{font-size:10px;color:#173348}.announcement-cover-control small{font-size:8px;color:#8394a1;margin-top:2px}
.announcement-cover-preview{height:125px;border:1px solid #dce7ed;border-radius:13px;overflow:hidden;background:#f4f8fa;display:grid;place-items:center;margin-bottom:12px}.announcement-cover-preview img{width:100%;height:100%;object-fit:cover}.announcement-cover-preview span{font-size:9px;color:#91a1ad}
.announcement-content-label{display:flex;align-items:center;justify-content:space-between;margin:4px 0 7px}.announcement-content-label b,.announcement-content-label small{display:block}.announcement-content-label b{font-size:10px;color:#173348}.announcement-content-label small{font-size:8px;color:#8394a1;margin-top:2px}
.announcement-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:7px;border:1px solid #d9e6ec;border-bottom:0;border-radius:11px 11px 0 0;background:#f7fafc;position:sticky;top:0;z-index:2}
.announcement-toolbar button,.announcement-toolbar select,.announcement-inline-upload,.announcement-color-tool{height:30px;min-width:30px;border:1px solid #d5e3ea;background:#fff;border-radius:7px;color:#294b60;font-size:9px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;cursor:pointer}
.announcement-toolbar button:hover,.announcement-inline-upload:hover{border-color:#7ecde6;background:#effaff}
.announcement-toolbar select{width:auto;padding-right:23px}
.announcement-color-tool{position:relative;font-size:13px;font-weight:900;padding:0 9px}.announcement-color-tool input{position:absolute;inset:auto 4px 3px 4px;width:calc(100% - 8px);height:4px;border:0;padding:0;background:transparent}.announcement-color-tool.highlight{background:#fffbed}
.announcement-inline-upload input{display:none}.toolbar-divider{width:1px;height:22px;background:#dce6eb;margin:0 2px}
.announcement-editor{min-height:210px;max-height:330px;overflow:auto;border:1px solid #d9e6ec;border-radius:0 0 11px 11px;background:#fff;padding:14px 16px;color:#173348;font-size:12px;line-height:1.65;outline:none}
.announcement-editor:focus{border-color:#75cceb;box-shadow:0 0 0 3px rgba(31,174,221,.10)}
.announcement-editor p{margin:7px 0}.announcement-editor h2{font-size:22px;margin:12px 0 6px}.announcement-editor h3{font-size:17px;margin:10px 0 5px}.announcement-editor img{max-width:100%;height:auto;border-radius:10px;margin:10px auto;display:block}.announcement-editor a{color:#008fc4}
.announcement-publish-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding:10px 12px;border-radius:12px;background:#071f36;color:#fff}.announcement-publish-bar b,.announcement-publish-bar small{display:block}.announcement-publish-bar b{font-size:10px}.announcement-publish-bar small{font-size:8px;color:#9fc4d6;margin-top:2px}.announcement-publish-bar .primary{background:#08a9df}
.announcement-preview-card,.announcement-library-card{border:1px solid #dbe7ed;border-radius:14px;background:#f9fbfc;padding:13px;min-height:0;overflow:hidden}
.announcement-preview-card{overflow:auto}.announcement-preview-card #ann-live-preview{margin-top:8px;border:1px solid #e0e9ee;background:#fff;border-radius:12px;overflow:hidden;padding-bottom:8px}.announcement-preview-cover{height:120px;overflow:hidden}.announcement-preview-cover img{width:100%;height:100%;object-fit:cover}.announcement-preview-card .announcement-detail-meta{padding:11px 12px 0}.announcement-preview-card h3{font-size:15px;margin:8px 12px;color:#173348}
.announcement-library-card{display:flex;flex-direction:column}.announcement-library-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;flex:0 0 auto}.announcement-library-head b,.announcement-library-head small{display:block}.announcement-library-head b{font-size:11px;color:#173348}.announcement-library-head small{font-size:8px;color:#8697a4;margin-top:2px}
.announcement-library-card .announcement-admin-list{flex:1;min-height:0;max-height:none;overflow:auto;padding-right:4px}
.announcement-admin-item{background:#fff}.announcement-admin-item.inactive{opacity:.64;background:#f5f7f8}.announcement-admin-item>div:last-child{flex-wrap:wrap;justify-content:flex-end;max-width:180px}

/* Mensajería directa a Superusuarios con autorización */
.chat-permission-note{display:flex;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid #dfe9ee;background:#fff9e9;color:#73531b}.chat-permission-note>span{font-size:14px}.chat-permission-note b,.chat-permission-note small{display:block}.chat-permission-note b{font-size:9px}.chat-permission-note small{font-size:8px;margin-top:1px;color:#8a6b34;line-height:1.35}
.user-msg-permission{font-size:9px!important}

@media(max-width:980px){
  #generic-dialog:has(.announcement-editor-shell){width:96vw;height:94vh;padding:17px}
  .announcement-editor-layout{grid-template-columns:1fr}
  .announcement-editor-main{max-height:none}
  .announcement-editor-side{display:block;overflow:auto}
  .announcement-preview-card,.announcement-library-card{margin-top:10px;max-height:320px}
}
@media(max-width:760px){
  .announcement-item{grid-template-columns:26px minmax(0,1fr) 16px}.announcement-thumb{display:none}
  .announcement-scroll{max-height:300px}
  .announcement-archive-item{grid-template-columns:28px minmax(0,1fr) 16px}.announcement-archive-item>img{display:none}
  .announcement-editor-top{display:block}.announcement-editor-top button{margin-top:8px}
  .announcement-fields{grid-template-columns:1fr}.announcement-fields .full-row{grid-column:auto}
  .announcement-cover-control{align-items:flex-start;flex-wrap:wrap}.announcement-cover-control>div{width:100%}
  .announcement-publish-bar{align-items:stretch;flex-direction:column}.announcement-publish-bar button{width:100%}
  .announcement-detail>h2{font-size:22px!important}.announcement-detail-meta{padding:18px 17px 0}.announcement-rich-content{padding:4px 17px 14px}.announcement-detail>h2{margin-left:17px!important;margin-right:17px!important}
}
.home-voice-locked{opacity:.76;cursor:not-allowed!important;background:#f4f7f9!important;color:#708391!important}

/* ===== v0.8.4 · chat, fecha de Inicio y flujo de buzón ===== */
/* Chat siempre dentro del viewport: evita que el compositor y Enviar queden cortados. */
.chat-panel{
  position:fixed;
  right:18px;
  top:88px;
  bottom:18px;
  width:min(900px,calc(100vw - 36px));
  height:auto;
  max-height:none;
  display:flex;
  flex-direction:column;
}
.chat-head{flex:0 0 62px}
.chat-shell{flex:1;min-height:0;height:auto;grid-template-columns:285px minmax(0,1fr)}
.chat-users{min-height:0}
.chat-conversation{min-height:0;overflow:hidden}
.chat-messages{min-height:0}
.chat-compose{min-height:70px;align-items:center;position:relative;z-index:2}
.chat-compose input{min-height:46px;font-size:13px}
.chat-compose button{min-width:100px;min-height:46px;font-size:13px}
.chat-compose.is-locked{background:#f8fafb}
.chat-compose.is-locked input{background:#f2f5f7;color:#8395a2;cursor:not-allowed}
.chat-compose.is-locked button{background:#d7e0e5;color:#748794;cursor:not-allowed}

/* Fecha institucional sobre la portada de Inicio. */
.home-hero-date{
  position:absolute;
  top:24px;
  right:25px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:13px;
  background:rgba(4,28,48,.48);
  backdrop-filter:blur(10px);
  box-shadow:0 9px 28px rgba(0,0,0,.10);
}
.home-date-icon{width:31px;height:31px;border-radius:9px;background:rgba(32,190,235,.16);display:grid;place-items:center;color:#45d0f5}
.home-date-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-date-copy{display:grid;grid-template-columns:auto auto;column-gap:7px;align-items:baseline;text-align:left}
.home-date-copy small{grid-column:1/-1;font-style:normal;font-size:7px;font-weight:900;letter-spacing:.12em;color:#8ddff5}
.home-date-copy strong{font-size:11px;letter-spacing:.02em;color:#fff}
.home-date-copy em{font-size:9px;font-style:normal;color:#b8cfdb}

/* Buzón Tu voz cuenta: Pendiente -> Resuelto -> Eliminar. */
#generic-dialog:has(.voice-inbox-head){width:min(980px,94vw);max-width:none}
.voice-inbox-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:13px}
.voice-inbox-head h2{margin:4px 0 2px!important}.voice-inbox-head p{margin:0;color:var(--muted);font-size:10px}
.voice-inbox-summary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.voice-inbox-summary span{border:1px solid #dbe7ed;background:#f8fbfd;border-radius:10px;padding:8px 10px;font-size:9px;color:#617889}
.voice-inbox-summary b{font-size:13px;color:#0b3555;margin-right:3px}
.voice-item{transition:.18s ease}
.voice-item.pending{border-left:3px solid #e5a43b}
.voice-item.resolved{border-left:3px solid #42a475;background:#fbfefd;opacity:.92}
.voice-item-foot{gap:12px;align-items:center}
.voice-item-source{min-width:0;margin-right:auto}
.voice-item-source span,.voice-item-source small{display:block}.voice-item-source small{font-size:8px;color:#8698a5;margin-top:2px}
.voice-item-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.voice-status-toggle,.voice-delete{border-radius:9px;padding:7px 10px;font-size:9px;font-weight:850;cursor:pointer}
.voice-status-toggle.pending{border:1px solid #edcf91;background:#fff9e9;color:#8a631e}
.voice-status-toggle.resolved{border:1px solid #b9dfcb;background:#effaf4;color:#2f8258}
.voice-delete{border:1px solid #f1c2c6;background:#fff4f4;color:#b92d35}
.voice-delete:hover{background:#ffe8ea}

@media(max-width:760px){
  .chat-panel{left:10px;right:10px;top:78px;bottom:10px;width:auto;height:auto;max-height:none}
  .chat-shell{grid-template-columns:112px minmax(0,1fr)}
  .chat-compose{grid-template-columns:1fr;min-height:112px}
  .chat-compose button{width:100%;min-height:40px}
  .home-hero-date{top:18px;right:18px;padding:8px 10px}
  .home-date-icon{display:none}
  .home-date-copy strong{font-size:9px}
  .home-hero-brand{top:72px}
  .voice-inbox-head{display:block}.voice-inbox-summary{justify-content:flex-start;margin-top:9px}
  .voice-item-foot{align-items:flex-start;flex-direction:column}.voice-item-actions{width:100%;justify-content:flex-start}
}


/* ===== v0.8.5 · Mi perfil, ambiente por horario y buscador de chat ===== */
.sidebar-user{
  width:100%;border-left:0;border-right:0;border-bottom:0;background:transparent;color:#fff;
  text-align:left;cursor:pointer;border-radius:0;position:relative;transition:background .18s ease,padding .18s ease;
}
.sidebar-user:hover{background:rgba(24,58,87,.46);padding-left:10px;padding-right:8px;border-radius:12px}
.sidebar-user:focus-visible{outline:2px solid #27c7f2;outline-offset:2px;border-radius:12px}
.sidebar-user-copy{min-width:0;flex:1}
.sidebar-user-copy small{display:block;margin-top:5px;color:#4ecbf0;font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;opacity:0;transform:translateY(2px);transition:.16s ease}
.sidebar-user:hover .sidebar-user-copy small,.sidebar-user:focus-visible .sidebar-user-copy small{opacity:1;transform:none}
.sidebar-user-chevron{margin-left:auto!important;max-width:none!important;color:#5fbdda!important;font-size:22px!important;line-height:1!important;opacity:.6;transition:.16s ease}
.sidebar-user:hover .sidebar-user-chevron{opacity:1;transform:translateX(2px)}

#generic-dialog:has(.my-profile-shell){width:min(860px,94vw);max-width:none}
.my-profile-shell{display:grid;gap:16px}
.my-profile-head{display:flex;align-items:center;gap:14px;padding:2px 0 4px}
.my-profile-head h2{margin:3px 0 2px!important;font-size:23px!important}.my-profile-head p{margin:0;font-size:10px;color:var(--muted)}
.my-profile-avatar{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#0b3151,#00aee8);display:grid;place-items:center;color:#fff;font-weight:900;font-size:15px;overflow:hidden;box-shadow:0 8px 22px rgba(0,111,155,.16)}
.my-profile-avatar img{width:100%;height:100%;object-fit:cover}
.profile-section{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fff}
.profile-section-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.profile-section-title b,.profile-section-title small{display:block}.profile-section-title b{font-size:12px;color:#102b40}.profile-section-title small{font-size:9px;color:#7b8f9e;margin-top:2px}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.profile-grid label{font-size:9px;color:#38566b;font-weight:800}.profile-grid label small{display:block;margin-top:4px;color:#94a2ad;font-size:7px;font-weight:600}
.profile-grid input:disabled{background:#f4f7f9;color:#657989;cursor:not-allowed}
.profile-readonly-card{border:1px solid #e2ebef;background:#f7fafc;border-radius:11px;padding:10px 12px}
.profile-readonly-card span,.profile-readonly-card strong{display:block}.profile-readonly-card span{font-size:8px;color:#8193a0;text-transform:uppercase;letter-spacing:.05em;font-weight:850}.profile-readonly-card strong{margin-top:3px;font-size:10px;color:#18354b}
.profile-security-note{display:flex;align-items:flex-start;gap:10px;border:1px solid #efd69f;background:#fff9e9;border-radius:12px;padding:10px 12px;margin-bottom:11px}
.profile-security-note>span{width:24px;height:24px;border-radius:8px;background:#f1aa31;color:#fff;display:grid;place-items:center;font-weight:950}
.profile-security-note b,.profile-security-note small{display:block}.profile-security-note b{font-size:9px;color:#6c501c}.profile-security-note small{font-size:8px;line-height:1.45;color:#8b713f;margin-top:2px}
.profile-password-grid{grid-template-columns:repeat(3,1fr)}
.profile-error{margin-top:9px;min-height:14px}

.chat-people{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#f9fbfc}
.chat-search-wrap{flex:0 0 auto;position:relative;padding:11px 11px 9px;background:#fff;border-bottom:1px solid var(--line)}
.chat-search-wrap input{width:100%;height:38px;border:1px solid #d9e6ed;border-radius:11px;background:#f7fafc;padding:0 12px 0 34px;font-size:11px;color:#173348;outline:0}
.chat-search-wrap input:focus{border-color:#68c9e8;background:#fff;box-shadow:0 0 0 3px rgba(30,183,226,.08)}
.chat-search-icon{position:absolute;left:22px;top:20px;color:#5c8197;font-size:17px;line-height:1;pointer-events:none;transform:rotate(-12deg)}
.chat-users{flex:1;overflow-y:auto;border-right:0!important;background:transparent!important}
.chat-search-empty{padding:18px 12px;text-align:center;color:#8b9da9;font-size:9px}
.chat-user.hidden{display:none!important}


/* ===== v0.8.8 · autorización de conversaciones desde Chat ===== */
.chat-conversation.has-auth-banner{grid-template-rows:auto auto minmax(0,1fr) auto}
.chat-user-main{min-width:0}
.chat-user-signals{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:18px}
.chat-user-request{margin-top:3px!important;font-size:7px!important;font-weight:900!important;letter-spacing:.01em}
.chat-user-request.pending{color:#a86b06!important}
.chat-user-request.rejected{color:#a64950!important}
.chat-user.has-request{background:#fffaf0}
.chat-user.has-request:hover,.chat-user.has-request.active{background:#fff3d9}
.chat-auth-indicator{width:17px;height:17px;border-radius:999px;display:grid;place-items:center;font-style:normal;font-size:9px;font-weight:950;line-height:1}
.chat-auth-indicator.pending{background:#f6b94a;color:#5f4100;box-shadow:0 0 0 3px rgba(246,185,74,.12)}
.chat-auth-indicator.rejected{background:#f3d9db;color:#9e333b}

.chat-auth-card{margin:10px 12px 0;padding:12px;border-radius:13px;border:1px solid #d8e7ee;background:#f7fbfd;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;box-shadow:0 3px 10px rgba(11,40,61,.04)}
.chat-auth-card.pending{border-color:#efd39b;background:#fffaf0}
.chat-auth-card.rejected{border-color:#edc6c9;background:#fff6f6}
.chat-auth-card.waiting{border-color:#b9dce9;background:#f1fbff}
.chat-auth-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#e5f3f8;color:#176d91;font-size:15px;font-weight:950}
.chat-auth-card.pending .chat-auth-icon{background:#ffe4ad;color:#8a5a00}
.chat-auth-card.rejected .chat-auth-icon{background:#f5dfe1;color:#a33942}
.chat-auth-copy{min-width:0}
.chat-auth-copy strong{display:block;color:#17364a;font-size:10px;line-height:1.3}
.chat-auth-copy p{margin:3px 0 0;color:#6d8392;font-size:8px;line-height:1.45}
.chat-auth-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.chat-auth-actions button{border-radius:9px;padding:8px 10px;font-size:8px;font-weight:900;white-space:nowrap;cursor:pointer}
.chat-auth-accept,.chat-auth-resume{border:1px solid #80cce5;background:#0aa9dd;color:#fff}
.chat-auth-accept:hover,.chat-auth-resume:hover{filter:brightness(.96)}
.chat-auth-reject{border:1px solid #e3b4b8;background:#fff;color:#b43740}
.chat-auth-reject:hover{background:#fff0f1}

/* Fecha viva: animación discreta por mañana / tarde / noche. */
.home-hero-date{overflow:hidden;min-width:198px}
.home-sky{position:relative;width:37px;height:34px;display:block;flex:0 0 37px}
.sky-sun{position:absolute;width:19px;height:19px;border-radius:50%;left:8px;top:6px;background:#ffd262;box-shadow:0 0 0 5px rgba(255,210,98,.12),0 0 18px rgba(255,205,75,.28);animation:csSunPulse 3.6s ease-in-out infinite}
.sky-sun:before{content:"";position:absolute;inset:-7px;border:1px dashed rgba(255,221,127,.65);border-radius:50%;animation:csSunSpin 12s linear infinite}
.sky-cloud{position:absolute;width:19px;height:7px;border-radius:999px;background:rgba(225,242,249,.82);bottom:5px;left:2px;box-shadow:6px -3px 0 -1px rgba(225,242,249,.82);animation:csCloudDrift 5s ease-in-out infinite alternate}
.sky-cloud.c2{left:19px;bottom:1px;transform:scale(.72);opacity:.62;animation-delay:-1.8s}
.home-sky-afternoon .sky-sun{left:5px;top:10px;background:#ffb64d;box-shadow:0 0 0 5px rgba(255,182,77,.10),0 0 18px rgba(255,153,49,.24)}
.home-sky-afternoon .sky-cloud{left:16px;bottom:4px;opacity:.74}
.sky-moon{position:absolute;width:21px;height:21px;border-radius:50%;left:8px;top:6px;background:#e7f4ff;box-shadow:0 0 18px rgba(199,229,255,.25);animation:csMoonFloat 4s ease-in-out infinite}
.sky-moon:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;left:6px;top:-3px;background:#123552}
.sky-star{position:absolute;width:3px;height:3px;border-radius:50%;background:#bfe9ff;animation:csTwinkle 2.2s ease-in-out infinite}.sky-star.s1{left:2px;top:6px}.sky-star.s2{right:2px;top:3px;animation-delay:-.7s}.sky-star.s3{right:4px;bottom:3px;animation-delay:-1.3s}
.home-hero-morning:after,.home-hero-afternoon:after,.home-hero-night:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:0}
.home-hero-morning:after{background:linear-gradient(115deg,rgba(255,218,134,.025),transparent 48%)}
.home-hero-afternoon:after{background:linear-gradient(115deg,rgba(255,169,91,.045),transparent 52%)}
.home-hero-night:after{background:linear-gradient(115deg,rgba(2,16,31,.13),rgba(7,29,48,.03))}
.home-hero>*{z-index:1}
@keyframes csSunPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes csSunSpin{to{transform:rotate(360deg)}}
@keyframes csCloudDrift{from{transform:translateX(-1px)}to{transform:translateX(4px)}}
@keyframes csMoonFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes csTwinkle{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){.sky-sun,.sky-sun:before,.sky-cloud,.sky-moon,.sky-star{animation:none!important}}

@media(max-width:760px){
  .profile-grid,.profile-password-grid{grid-template-columns:1fr}
  #generic-dialog:has(.my-profile-shell){width:min(94vw,680px)}
  .chat-shell{grid-template-columns:132px minmax(0,1fr)}
  .chat-user{grid-template-columns:32px minmax(0,1fr) auto!important}
  .chat-search-wrap{padding:8px 7px}.chat-search-wrap input{padding-left:28px;font-size:9px}.chat-search-icon{left:15px;top:17px}
  .chat-user-request{display:none!important}
  .chat-user-signals{gap:3px}
  .chat-auth-card{margin:7px 7px 0;padding:9px;grid-template-columns:28px minmax(0,1fr);gap:7px}
  .chat-auth-icon{width:27px;height:27px;border-radius:8px;font-size:12px}
  .chat-auth-actions{grid-column:1/-1;justify-content:stretch}
  .chat-auth-actions button{flex:1;padding:7px 6px;font-size:7px}
  .home-hero-date{min-width:0}.home-sky{width:30px;flex-basis:30px}.home-date-copy small{font-size:6px}
}


/* ===== v0.8.6 · chat estable + perfil limpio + Apariencia desplegable ===== */
#main-nav{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  min-height:0!important;
  padding-bottom:14px!important;
  scrollbar-width:thin;
  scrollbar-color:#21445f transparent;
}
.nav-accordion-secondary{margin-top:7px!important}
.nav-accordion-secondary>.nav-accordion-toggle{border-top:1px solid rgba(111,166,194,.10)}
.nav-accordion-secondary.expanded>.nav-accordion-body{max-height:150px}
#main-nav .nav-accordion-secondary .nav-btn.nav-leaf{min-height:38px!important}
.sidebar-user{
  flex:0 0 auto!important;
  margin-top:8px!important;
  padding-top:15px!important;
  background:var(--nav)!important;
  z-index:2;
}
.sidebar-user:hover{background:rgba(24,58,87,.46)!important}
body>#chat-panel.chat-panel{
  z-index:140!important;
  position:fixed!important;
  right:18px!important;
  top:88px!important;
  bottom:18px!important;
  width:min(900px,calc(100vw - 36px))!important;
  height:auto!important;
  max-height:none!important;
}
.chat-recovery{
  margin:auto;width:min(360px,calc(100% - 32px));padding:24px;text-align:center;
  border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 16px 40px rgba(7,26,47,.12)
}
.chat-recovery strong{display:block;font-size:16px;color:#102b40}
.chat-recovery p{font-size:11px;color:var(--muted);margin:8px 0 16px}
.chat-recovery button{border:0;border-radius:10px;padding:10px 14px;margin:0 4px;font-weight:800;cursor:pointer}
#chat-retry{background:#00aee8;color:#fff}#chat-close-recovery{background:#eef4f7;color:#355267}
@media(max-width:760px){
  body>#chat-panel.chat-panel{left:10px!important;right:10px!important;top:78px!important;bottom:10px!important;width:auto!important}
}

/* v0.8.9 · control silencioso de autorización/bloqueo de chat */
.chat-conv-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.chat-block-btn{border:1px solid #e3b4b8;background:#fff;color:#b43740;border-radius:8px;padding:6px 8px;font-size:9px;font-weight:850;cursor:pointer}
.chat-block-btn:hover{background:#fff0f1}
@media(max-width:700px){
  .chat-conv-actions{gap:5px}
  .chat-block-btn,.chat-delete-btn{padding:6px;font-size:7px}
}

/* ===== v0.9.0 · Centro de colaboración ===== */
.chat-panel{--chat-accent:#00aee8}
.chat-head-actions{flex-wrap:wrap;justify-content:flex-end}
.chat-sidebar-tools{padding:6px 10px;border-bottom:1px solid var(--line);background:#fff;min-height:0}
.chat-sidebar-tools:empty{display:none}
.chat-sidebar-tools button{border:0;background:transparent;color:#3280a5;font-size:8px;font-weight:850;padding:3px 1px;cursor:pointer}
.chat-user{grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center}
.chat-user.is-archived{opacity:.64}
.chat-user-name-row{display:flex!important;align-items:center;gap:5px;min-width:0}
.chat-user-name-row b{min-width:0;flex:1}
.chat-muted-mark{font-style:normal!important;font-size:6px!important;color:#77909f!important;border:1px solid #d9e4e9;border-radius:999px;padding:2px 4px;background:#fff}
.chat-last-time{font-size:6px!important;color:#879ba9!important;margin:0 0 2px!important;text-align:right;max-width:54px;white-space:nowrap}
.chat-avatar.group{background:linear-gradient(135deg,#173d5c,#557b93)}
.chat-group-glyph{font-size:11px;font-weight:950}
.chat-conv-head{position:relative;padding:9px 12px}
.chat-conv-actions{position:relative;flex-wrap:nowrap}
.chat-in-message-search{height:31px;width:150px;display:flex;align-items:center;border:1px solid #d7e5ec;border-radius:9px;background:#f8fbfc;padding:0 7px;gap:4px}
.chat-in-message-search span{font-size:12px!important;margin:0!important;color:#69889b}
.chat-in-message-search input{width:100%;min-width:0;border:0!important;background:transparent!important;outline:0!important;padding:0!important;font-size:8px!important;color:#244359!important;box-shadow:none!important}
.chat-options-wrap{position:relative}
.chat-options-btn{width:34px;height:31px;border:1px solid #d9e5eb;border-radius:8px;background:#fff;color:#466479;font-weight:900;cursor:pointer}
.chat-options-menu{position:absolute;right:0;top:36px;width:165px;background:#fff;border:1px solid #dce7ec;border-radius:11px;box-shadow:0 16px 38px rgba(8,32,49,.18);padding:5px;z-index:15}
.chat-options-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:7px;padding:8px 9px;font-size:8px;font-weight:800;color:#315064;cursor:pointer}
.chat-options-menu button:hover{background:#f1f7fa}
.chat-options-menu .danger-text{color:#b43b42}
.chat-message.search-hidden{display:none!important}
.chat-message{position:relative;padding-bottom:8px}
.chat-message-author{display:block;font-size:8px;color:#147ba7;margin-bottom:4px}
.chat-message.mine .chat-message-author{color:#c8ebfb}
.chat-message-meta{display:flex;align-items:center;gap:7px;justify-content:space-between;margin-top:5px}
.chat-message-meta>span{margin:0!important;flex:1}
.chat-task-create{border:0!important;background:transparent!important;color:inherit!important;opacity:.62;font-size:7px!important;font-weight:850;padding:0!important;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.chat-task-create:hover{opacity:1}
.chat-task-linked{font-style:normal;font-size:7px;opacity:.7;font-weight:850}
.chat-attachment{display:flex;margin-top:7px;text-decoration:none;border-radius:9px;overflow:hidden}
.chat-attachment.image{display:block;background:rgba(255,255,255,.08)}
.chat-attachment.image img{display:block;width:min(250px,100%);max-height:190px;object-fit:cover;border-radius:8px}
.chat-attachment.image span{font-size:7px!important;margin:4px 2px 0!important;opacity:.72}
.chat-message.theirs .chat-attachment.file{background:#f4f8fa;border:1px solid #dde8ed;color:#29485c}
.chat-message.mine .chat-attachment.file{background:rgba(255,255,255,.1);color:#fff}
.chat-attachment.file{align-items:center;gap:8px;padding:8px}
.chat-attachment.file span{margin:0!important;opacity:1!important}
.chat-attachment.file b,.chat-attachment.file small{display:block}
.chat-attachment.file b{font-size:8px}.chat-attachment.file small{font-size:7px;margin-top:2px}
.chat-file-icon{width:31px;height:31px;display:grid!important;place-items:center;border-radius:7px;background:#e34950;color:#fff;font-weight:950;font-size:7px!important;flex:0 0 auto}
.chat-compose{grid-template-columns:38px minmax(0,1fr) auto!important}
.chat-attach-btn{width:38px;height:46px;border:1px solid #d7e5ec;border-radius:10px;display:grid;place-items:center;background:#f6fafc;color:#168bb7;font-size:21px;font-weight:500;cursor:pointer}
.chat-attach-btn input{display:none}
.chat-attach-btn.disabled{opacity:.45;cursor:not-allowed}
.chat-compose-main{min-width:0}
.chat-compose-main>input{width:100%}
.chat-pending-file{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;padding:5px 7px;border-radius:7px;background:#eef8fc;color:#306176;font-size:7px}
.chat-pending-file button{min-width:20px!important;min-height:20px!important;width:20px!important;height:20px!important;padding:0!important;background:#dbe9ef!important;color:#4b6676!important;border-radius:6px!important}
.chat-group-dialog>p,.chat-task-dialog>p{margin-top:-3px}
.chat-group-members{max-height:300px;overflow:auto;border:1px solid #dce7ec;border-radius:12px;padding:8px;margin-top:12px}
.chat-group-members>b{display:block;font-size:9px;margin:2px 3px 7px;color:#27475b}
.chat-group-members label{display:flex;align-items:center;gap:9px;padding:8px;border-radius:8px;cursor:pointer}
.chat-group-members label:hover{background:#f4f9fb}
.chat-group-members input{width:auto!important}
.chat-group-members span{font-size:9px;font-weight:800;color:#234359}
.chat-group-members small{display:block;font-size:7px;color:#8296a2;margin-top:2px;font-weight:500}
.chat-group-active{display:flex!important;align-items:center;gap:8px;margin-top:10px}.chat-group-active input{width:auto!important}
.chat-control-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}
.chat-control-stats>div{border:1px solid #dce8ed;border-radius:12px;background:#f9fbfc;padding:12px}
.chat-control-stats span,.chat-control-stats strong{display:block}.chat-control-stats span{font-size:7px;color:#78909f;text-transform:uppercase;font-weight:800}.chat-control-stats strong{font-size:20px;color:#15394f;margin-top:5px}
.chat-control-section{border-top:1px solid #e2eaee;padding-top:13px}.chat-control-section>div>b,.chat-control-section>div>small{display:block}.chat-control-section>div>b{font-size:10px}.chat-control-section>div>small{font-size:8px;color:#8396a2;margin-top:2px}
.chat-control-open{width:100%;display:grid;grid-template-columns:1fr auto;text-align:left;border:1px solid #dce8ed;border-radius:10px;background:#fff;margin-top:7px;padding:9px 10px;cursor:pointer}.chat-control-open span,.chat-control-open small{grid-column:1}.chat-control-open span{font-size:9px;font-weight:850}.chat-control-open small{font-size:7px;color:#8297a4;margin-top:2px}.chat-control-open i{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:7px;color:#1592c0;font-weight:850}
.chat-task-source{border-left:3px solid #26addd;background:#f3fafd;padding:10px 11px;border-radius:0 10px 10px 0;margin:10px 0 14px}.chat-task-source small,.chat-task-source span{display:block;font-size:7px;color:#78909e}.chat-task-source p{margin:5px 0;font-size:9px;color:#234459;line-height:1.45}
.chat-tasks-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.chat-tasks-head h2{margin-bottom:4px}.chat-tasks-head p{font-size:8px;color:#78909f}.chat-tasks-head>strong{background:#eaf8fd;color:#1684ab;border-radius:999px;padding:7px 10px;font-size:8px;white-space:nowrap}
.chat-task-list{display:flex;flex-direction:column;gap:8px;max-height:58vh;overflow:auto;margin-top:14px}
.chat-task-card{border:1px solid #dce7ec;border-radius:12px;padding:11px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;background:#fff}.chat-task-card.status-done{opacity:.62;background:#f8faf9}
.chat-task-card-main small,.chat-task-card-main b,.chat-task-card-main span,.chat-task-card-main em{display:block}.chat-task-card-main small{font-size:7px;color:#1590bc;font-weight:850;text-transform:uppercase}.chat-task-card-main b{font-size:10px;color:#1d3e53;margin-top:4px}.chat-task-card-main p{font-size:8px;color:#687f8f;line-height:1.45;margin:5px 0}.chat-task-card-main span{font-size:7px;color:#748b9a;margin-top:5px}.chat-task-card-main em{font-size:7px;color:#8b9da8;margin-top:5px;font-style:italic}
.chat-task-card-actions{display:flex;flex-direction:column;gap:6px;min-width:115px}.chat-task-card-actions select{font-size:8px;padding:7px;border-radius:8px;border:1px solid #d8e5eb}.chat-task-card-actions button{border:1px solid #ebc3c6;background:#fff;color:#aa3c43;border-radius:8px;padding:6px;font-size:7px;font-weight:800}
.announcement-ack-row{border-color:#b9dce9!important;background:#f2fbff!important}.announcement-ack-row b{color:#0b6f99!important}
.announcement-ack-status{margin-top:16px;border-radius:11px;padding:11px;text-align:center;font-size:9px;font-weight:850}.announcement-ack-status.done{background:#eef9f2;color:#16764b}.announcement-ack-status.pending{background:#f0faff}.announcement-ack-status button{border:0;border-radius:9px;background:#00aee8;color:#fff;padding:9px 14px;font-size:9px;font-weight:900;cursor:pointer}
.required-announcement-gate{position:fixed;inset:0;z-index:10000;background:rgba(6,22,35,.72);backdrop-filter:blur(7px);display:grid;place-items:center;padding:22px}
.required-announcement-card{width:min(760px,96vw);max-height:90vh;display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 35px 100px rgba(0,0,0,.35);overflow:hidden;border:1px solid rgba(255,255,255,.55)}
.required-announcement-top{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:#0d334f;color:#fff}.required-announcement-top span{font-size:8px;font-weight:950;letter-spacing:.09em}.required-announcement-top strong{font-size:8px;background:rgba(255,255,255,.12);padding:5px 8px;border-radius:999px}
.required-announcement-cover{max-height:180px;overflow:hidden}.required-announcement-cover img{width:100%;height:180px;object-fit:cover}
.required-announcement-title{padding:18px 20px 10px}.required-announcement-title small{font-size:7px;color:#1591bd;font-weight:900}.required-announcement-title h2{font-size:20px;color:#15374e;margin:5px 0 6px}.required-announcement-title p{font-size:9px;color:#708795;margin:0}
.required-announcement-scroll{margin:0 20px;min-height:100px;max-height:38vh;overflow:auto;border:1px solid #e0eaee;border-radius:12px;padding:16px;color:#29485d;font-size:10px;line-height:1.6;background:#fbfcfd}
.required-announcement-scroll img{max-width:100%;height:auto;border-radius:8px}
.required-announcement-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px 18px}.required-announcement-foot span{font-size:8px;color:#758b99}.required-announcement-foot button{border:0;border-radius:10px;background:#00aee8;color:#fff;padding:10px 15px;font-size:9px;font-weight:900;cursor:pointer}.required-announcement-foot button:disabled{background:#cddbe2;color:#758a97;cursor:not-allowed}
@media(max-width:760px){
  .chat-head{height:auto;min-height:62px}.chat-head-actions{gap:4px}.chat-admin-btn{font-size:6px!important;padding:5px!important}
  .chat-shell{grid-template-columns:128px minmax(0,1fr)!important}.chat-in-message-search{display:none}.chat-conv-head{align-items:flex-start}.chat-conv-actions{gap:4px}.chat-options-btn{width:30px;height:28px}.chat-block-btn{font-size:6px!important;padding:6px!important}
  .chat-user{grid-template-columns:30px minmax(0,1fr) auto!important}.chat-avatar{width:30px;height:30px}.chat-last-time{display:none!important}.chat-user-main>small:not(.chat-user-request){font-size:7px!important}
  .chat-compose{grid-template-columns:34px minmax(0,1fr)!important}.chat-attach-btn{width:34px;height:38px}.chat-compose>button{grid-column:1/-1;width:100%;min-height:34px!important}.chat-compose-main input{min-height:38px!important}
  .chat-control-stats{grid-template-columns:repeat(2,1fr)}.chat-task-card{grid-template-columns:1fr}.chat-task-card-actions{flex-direction:row}.required-announcement-gate{padding:8px}.required-announcement-card{max-height:96vh;border-radius:15px}.required-announcement-title{padding:14px 14px 8px}.required-announcement-scroll{margin:0 14px;max-height:45vh}.required-announcement-foot{padding:11px 14px 14px;flex-direction:column;align-items:stretch}.required-announcement-foot button{width:100%}
}
.announcement-read-report>p{font-size:9px;color:#758b98;margin-top:-3px}.announcement-read-progress{height:7px;border-radius:999px;background:#e8f0f4;overflow:hidden;margin:12px 0}.announcement-read-progress i{display:block;height:100%;background:#17a9d8;border-radius:inherit}.announcement-read-list{max-height:50vh;overflow:auto;border:1px solid #e0e9ee;border-radius:12px}.announcement-read-person{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border-bottom:1px solid #edf2f4}.announcement-read-person:last-child{border-bottom:0}.announcement-read-person>span{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#0b3151,#00aee8);display:grid;place-items:center;color:#fff;font-size:8px;font-weight:900;overflow:hidden}.announcement-read-person>span img{width:100%;height:100%;object-fit:cover}.announcement-read-person b,.announcement-read-person small{display:block}.announcement-read-person b{font-size:9px;color:#25475b}.announcement-read-person small{font-size:7px;color:#80949f;margin-top:2px}.announcement-read-person em{font-style:normal;font-size:7px;font-weight:900;border-radius:999px;padding:5px 7px}.announcement-read-person em.read{background:#eaf8f0;color:#177149}.announcement-read-person em.pending{background:#fff4dc;color:#99680d}

/* ===== v0.9.1 · gestión completa de grupos ===== */
.chat-group-delete-zone{margin-top:14px;padding-top:12px;border-top:1px solid #e6edf1;display:flex;align-items:center;justify-content:space-between;gap:14px}
.chat-group-delete-zone small{font-size:8px;color:#8194a1;max-width:270px;line-height:1.45}
.chat-group-delete-zone .danger{white-space:nowrap}


/* ===== Avance de proyectos + captura estructurada v0.9.2 ===== */
.na-field{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.na-shortcut{border:1px solid var(--line);background:#f5f9fc;color:#0a6f9e;border-radius:9px;padding:9px 10px;font-size:10px;font-weight:850}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.weekday-picks{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.weekday-picks label{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:9px;padding:7px 9px;background:#fff;font-size:11px;font-weight:800}.weekday-picks input{width:auto;margin:0}.progress-summary-kpis{margin-bottom:14px}.metric-note{border:1px solid #cfe5ef;background:#f0f9fd;border-radius:13px;padding:12px 14px;color:#33566b;font-size:11px;line-height:1.55;margin:12px 0 16px}.metric-note b{color:#083653}.progress-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.progress-project-card{margin:0}.progress-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.progress-card-head h3{margin:5px 0 4px;color:#071a2f;font-size:17px}.progress-card-head p{margin:0;color:var(--muted);font-size:11px}.progress-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.progress-pair>div>span,.progress-line-label span{font-size:10px;color:var(--muted);font-weight:750}.progress-pair>div>b{display:block;font-size:23px;color:#071a2f;margin:3px 0 7px}.progress-meter{height:9px;border-radius:999px;background:#e7eef3;overflow:hidden}.progress-meter>div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d385d,#00aee8)}.progress-meter.time>div{background:linear-gradient(90deg,#7d8e9d,#9fb0bd)}.progress-card-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;border-top:1px solid var(--line);padding-top:12px}.progress-card-meta span{font-size:9px;color:var(--muted)}.progress-card-meta b{display:block;color:#071a2f;font-size:11px;margin-top:2px}.progress-detail{margin-bottom:16px}.progress-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.progress-line-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.progress-line-label b{font-size:16px;color:#071a2f}.subsection-title{font-size:14px;color:#071a2f;margin:0 0 10px}.progress-plan-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.progress-plan-summary span{background:#f6fafc;border:1px solid var(--line);border-radius:10px;padding:9px;font-size:10px;color:var(--muted)}.progress-plan-summary b{display:block;font-size:12px;color:#071a2f;margin-top:3px}.stage-list{margin-top:9px;display:grid;gap:6px}.stage-list div{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:10px}.findings-list{display:grid;gap:8px}.finding-item{display:grid;grid-template-columns:27px 1fr;gap:9px;align-items:start;background:#f8fbfd;border:1px solid var(--line);border-radius:11px;padding:10px}.finding-item>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e8f7fd;color:#087ead;font-size:10px;font-weight:900}.finding-item p{margin:2px 0 0;font-size:11px;line-height:1.5;color:#334155}.dashboard-progress-list{display:grid;gap:8px;margin-top:13px}.dashboard-progress-row{display:grid;grid-template-columns:1.5fr 1fr .45fr;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.dashboard-progress-row>div:first-child b{display:block;font-size:12px;color:#071a2f}.dashboard-progress-row>div:first-child span,.dashboard-progress-row>div:last-child span{display:block;font-size:9px;color:var(--muted);margin-top:3px}.dashboard-progress-row>div:nth-child(2)>b{font-size:13px;color:#071a2f;display:block;margin-bottom:5px}.dashboard-progress-row>div:last-child b{display:block;font-size:13px;color:#071a2f}.progress-detail .table-wrap{max-height:390px}.badge.blue{background:#eaf8fd;color:#0786ba}
@media(max-width:1050px){.progress-project-grid{grid-template-columns:1fr}.progress-card-meta{grid-template-columns:1fr 1fr}.dashboard-progress-row{grid-template-columns:1fr}.permission-grid{grid-template-columns:1fr}}
@media(max-width:760px){.progress-pair,.progress-comparison,.progress-plan-summary{grid-template-columns:1fr}.progress-card-meta{grid-template-columns:1fr 1fr}.weekday-picks{gap:5px}.weekday-picks label{padding:6px 8px}}

/* v0.9.4 · identidad de cliente en Avance de proyectos */
.progress-client-identity,.progress-detail-title{display:flex;align-items:center;gap:12px;min-width:0}.progress-client-identity>div:last-child,.progress-detail-title>div:last-child{min-width:0}.progress-client-logo,.progress-detail-logo{flex:0 0 auto;background:#fff;border:1px solid var(--line);box-shadow:0 4px 12px rgba(7,26,47,.07);display:grid;place-items:center;overflow:hidden}.progress-client-logo{width:58px;height:42px;border-radius:11px;padding:6px}.progress-detail-logo{width:74px;height:54px;border-radius:13px;padding:7px}.progress-client-logo img,.progress-detail-logo img{width:100%;height:100%;object-fit:contain}.progress-card-head .badge{flex:0 0 auto}@media(max-width:760px){.progress-client-logo{width:50px;height:38px}.progress-detail-logo{width:60px;height:46px}.progress-card-head{gap:8px}.progress-detail-title{align-items:flex-start}}

/* ===== v0.9.6 · semáforo visual ===== */
.progress-semaphore-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 10px}.progress-semaphore-head h3{margin:0;color:#071a2f;font-size:15px}.progress-semaphore-head p{margin:4px 0 0;color:var(--muted);font-size:10px}.progress-semaphore-legend{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.progress-semaphore-legend span{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:800;color:#617687}.sem-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.sem-dot.green{background:#22a06b}.sem-dot.yellow{background:#e6a700}.sem-dot.red{background:#d64545}.sem-dot.blue{background:#1597c7}
.progress-semaphore-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.progress-semaphore-card{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;border:1px solid var(--line);border-left-width:5px;border-radius:14px;padding:14px 15px;background:#fff;box-shadow:var(--shadow)}.progress-semaphore-card .semaphore-light{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 7px rgba(255,255,255,.68)}.progress-semaphore-card small{display:block;font-size:8px;font-weight:900;letter-spacing:.05em}.progress-semaphore-card strong{display:block;font-size:25px;line-height:1.05;margin-top:3px;color:#071a2f}.progress-semaphore-card p{margin:3px 0 0;font-size:9px;color:var(--muted)}
.status-green{border-color:#bfe8d5!important;border-left-color:#22a06b!important;background:#f3fbf7!important}.status-green .semaphore-light,.status-green .project-status-light{background:#22a06b}.status-green small{color:#177551}.status-yellow{border-color:#f0dfa7!important;border-left-color:#e6a700!important;background:#fffaf0!important}.status-yellow .semaphore-light,.status-yellow .project-status-light{background:#e6a700}.status-yellow small{color:#956b00}.status-red{border-color:#f0c6c6!important;border-left-color:#d64545!important;background:#fff6f6!important}.status-red .semaphore-light,.status-red .project-status-light{background:#d64545}.status-red small{color:#a42f2f}.status-blue{border-color:#bfe4f2!important;border-left-color:#1597c7!important;background:#f2faff!important}.status-blue .semaphore-light,.status-blue .project-status-light{background:#1597c7}.status-blue small{color:#087aa6}.status-gray{border-color:#dce4ea!important;border-left-color:#8796a4!important;background:#f8fafc!important}.status-gray .semaphore-light,.status-gray .project-status-light{background:#8796a4}.status-gray small{color:#657684}
.progress-project-card{position:relative;overflow:hidden;border-left-width:5px}.progress-project-card.progress-status-green{border-left-color:#22a06b}.progress-project-card.progress-status-yellow{border-left-color:#e6a700}.progress-project-card.progress-status-red{border-left-color:#d64545}.progress-project-card.progress-status-blue{border-left-color:#1597c7}.progress-project-card.progress-status-gray{border-left-color:#8796a4}.progress-project-card.progress-status-green:before,.progress-project-card.progress-status-yellow:before,.progress-project-card.progress-status-red:before,.progress-project-card.progress-status-blue:before,.progress-project-card.progress-status-gray:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.progress-project-card.progress-status-green:before{background:#22a06b}.progress-project-card.progress-status-yellow:before{background:#e6a700}.progress-project-card.progress-status-red:before{background:#d64545}.progress-project-card.progress-status-blue:before{background:#1597c7}.progress-project-card.progress-status-gray:before{background:#8796a4}
.project-status-banner{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-left-width:5px;border-radius:14px;padding:13px 15px;margin:2px 0 16px}.project-status-light{width:32px;height:32px;border-radius:50%;box-shadow:inset 0 0 0 8px rgba(255,255,255,.7)}.project-status-banner small{display:block;font-size:8px;font-weight:900;letter-spacing:.06em}.project-status-banner strong{display:block;font-size:18px;color:#071a2f;margin:2px 0}.project-status-banner p{margin:0;font-size:10px;color:#506778}.project-status-metric{text-align:right;padding-left:15px;border-left:1px solid rgba(7,26,47,.1)}.project-status-metric span{display:block;font-size:9px;color:var(--muted)}.project-status-metric b{display:block;font-size:17px;color:#071a2f;margin-top:2px}
@media(max-width:1050px){.progress-semaphore-grid{grid-template-columns:repeat(2,1fr)}.progress-semaphore-head{align-items:flex-start;flex-direction:column}.progress-semaphore-legend{justify-content:flex-start}}
@media(max-width:760px){.progress-semaphore-grid{grid-template-columns:1fr 1fr}.project-status-banner{grid-template-columns:34px 1fr}.project-status-light{width:28px;height:28px}.project-status-metric{grid-column:1/-1;text-align:left;border-left:0;border-top:1px solid rgba(7,26,47,.1);padding:9px 0 0}.progress-semaphore-card{padding:11px}.progress-semaphore-card .semaphore-light{width:24px;height:24px}.progress-semaphore-card strong{font-size:21px}}

/* ===== v0.9.7 · portada dinámica aleatoria ===== */
.demo-access{display:none!important}
.login-screen{overflow:hidden;background:#071a2f!important}
.login-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-repeat:no-repeat;background-position:center center;opacity:0;transition:opacity .95s ease;will-change:opacity}
.login-bg.is-visible{opacity:1}
.login-screen::before{z-index:1}
.login-shell{z-index:2}
@media (prefers-reduced-motion:reduce){.login-bg{transition:none}}


/* ===== v0.9.8 · galería de portada + recuperación de acceso ===== */
.login-help-row{display:flex;justify-content:flex-end;margin-top:-4px;margin-bottom:4px}
.forgot-password-link{border:0;background:transparent;color:#087dad;padding:4px 0;font-size:11px;font-weight:850;cursor:pointer}
.forgot-password-link:hover{text-decoration:underline;color:#056b96}
.appearance-slideshow-panel{margin-bottom:16px}
.appearance-panel-head{align-items:flex-start}
.appearance-panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.login-slide-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:12px}
.login-slide-card{border:1px solid var(--line);background:#f9fbfc;border-radius:15px;padding:10px;min-width:0}
.login-slide-preview{height:155px;border-radius:11px;overflow:hidden;background:#071a2f;border:1px solid #dce7ee}
.login-slide-preview img{width:100%;height:100%;object-fit:cover;display:block}
.login-slide-meta{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:9px}
.login-slide-meta strong,.login-slide-meta span{display:block}.login-slide-meta strong{font-size:12px}.login-slide-meta>div>span{font-size:9px;color:var(--muted);margin-top:2px}
.login-slide-card .appearance-actions{margin-top:9px}.login-slide-card .secondary:disabled{opacity:.45;cursor:not-allowed}
.appearance-home-panel{max-width:760px}
.access-request-panel{margin-top:16px}
.access-request-head{align-items:center}
.access-request-count{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;background:#edf3f6;color:#617688;font-size:10px;font-weight:900}
.access-request-count.has-pending{background:#fff1cf;color:#9a6700;border:1px solid #f2d789}
.access-request-list{display:grid;gap:8px;margin-top:12px}
.access-request-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff}
.access-request-row.pending{background:#fffdf7;border-color:#eadfb7}.access-request-row.resolved{background:#f8fbfa}
.access-request-status-dot{width:9px;height:9px;border-radius:50%;background:#1a9155}.access-request-row.pending .access-request-status-dot{background:#d89b08}
.access-request-copy strong,.access-request-copy span,.access-request-copy small{display:block}.access-request-copy strong{font-size:12px;color:#071a2f}.access-request-copy span{font-size:10px;color:#536b7d;margin-top:2px}.access-request-copy small{font-size:9px;color:#8b9daa;margin-top:4px}
.access-request-open{padding:8px 11px;font-size:10px;white-space:nowrap}
.forgot-password-dialog>p{color:#617688;line-height:1.55;margin-top:-3px;margin-bottom:16px}.forgot-password-dialog label{display:block}.password-reset-admin .home-kicker,.forgot-password-dialog .home-kicker{margin-bottom:5px}
@media(max-width:1050px){.login-slide-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.login-slide-gallery{grid-template-columns:1fr}.appearance-panel-actions{justify-content:flex-start}.access-request-row{grid-template-columns:10px 1fr}.access-request-row>.badge,.access-request-row>.access-request-open{grid-column:2}.access-request-open{justify-self:start}}

/* ===== v0.9.9 · cierre y eliminación de solicitudes de acceso ===== */
.access-request-row.closed{background:#f7f9fb;border-color:#dce4ea}
.access-request-row.closed .access-request-status-dot{background:#7c8d99}
.access-request-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.access-request-actions .secondary{padding:8px 10px;font-size:10px;white-space:nowrap}
.access-request-actions .danger{color:#b42318;border-color:#efc8c4;background:#fff7f6}
.access-request-actions .danger:hover{background:#ffebe8;border-color:#e6a6a0}
.badge.gray{background:#edf1f4;color:#627482;border:1px solid #d9e1e7}
@media(max-width:720px){.access-request-actions{grid-column:2;justify-content:flex-start}.access-request-row>.access-request-actions{grid-column:2}}

/* ===== v1.0.0 · administración general y soporte de acceso ===== */
#view-access .access-request-panel{margin-top:0}


/* ===== v1.0.2 · Captura rápida de cuadrilla ===== */
.capture-control-panel{margin-bottom:16px}.capture-top-grid{display:grid;grid-template-columns:1.1fr .55fr 1.35fr;gap:13px;align-items:end}.capture-day-status{border:1px solid var(--line);background:#f8fbfd;border-radius:13px;padding:11px 13px;min-height:72px}.capture-day-status>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}.capture-day-status span,.capture-day-status small{font-size:10px;color:var(--muted)}.capture-day-status strong{font-size:13px;color:#071a2f}.capture-day-status small{display:block;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.capture-day-track,.capture-mini-progress{height:7px;border-radius:999px;background:#e5edf3;overflow:hidden;margin-top:7px}.capture-day-track i,.capture-mini-progress i{display:block;height:100%;background:#00aee8;border-radius:inherit;transition:width .25s ease}.capture-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.capture-quick-actions button{font-size:11px}.draft-status{font-size:10px;color:#527084;background:#f3f8fb;border:1px solid var(--line);border-radius:999px;padding:7px 10px}.capture-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:16px}.capture-worker-grid{display:grid;gap:9px}.capture-worker-card{border:1px solid var(--line);border-radius:13px;padding:10px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center}.capture-worker-card.selected{border-color:#8bd8f5;background:#f2fbff;box-shadow:0 0 0 1px rgba(0,174,232,.08)}.capture-worker-main{display:flex!important;align-items:center;gap:9px;margin:0!important;cursor:pointer}.capture-worker-main input{width:18px!important;height:18px;margin:0!important;accent-color:#00aee8}.capture-worker-main span{min-width:0}.capture-worker-main strong,.capture-worker-main small{display:block}.capture-worker-main strong{font-size:12px;color:#071a2f}.capture-worker-main small{font-size:9.5px;color:var(--muted);margin-top:2px}.capture-worker-flags{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}.capture-worker-actions{grid-column:1/-1;display:flex;gap:12px;padding-left:27px}.capture-worker-actions .action-link{font-size:10px}.action-link.danger{color:#c2413b}.capture-help{margin-top:12px;background:#f7fafc;border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-size:10px;line-height:1.5;color:#527084}.capture-incident-box{border:1px solid #f0d694;background:#fffaf0;border-radius:13px;padding:12px}.compact{padding:8px 11px!important;font-size:10px!important}.today-project-list{display:grid;gap:9px}.today-project-row{display:grid;grid-template-columns:1.5fr .7fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:#fff}.today-project-row.pending{border-left:4px solid #f0ad26}.today-project-row.complete{border-left:4px solid #22a06b}.today-project-row b,.today-project-row span{display:block}.today-project-row b{font-size:12px;color:#071a2f}.today-project-row span{font-size:9.5px;color:var(--muted);margin-top:3px}.capture-mini-progress{margin:0}.today-project-row.complete .capture-mini-progress i{background:#22a06b}.badge.gray{background:#eef3f6;color:#637787}.badge.warning{background:#fff5d8;color:#9a6700}
@media(max-width:900px){.capture-top-grid,.capture-layout{grid-template-columns:1fr}.today-project-row{grid-template-columns:1fr}.capture-day-status small{white-space:normal}.capture-worker-card{grid-template-columns:1fr}.capture-worker-flags{justify-content:flex-start}.capture-worker-actions{padding-left:0}}

/* ===== v1.0.3 · Resumen de personal por cliente ===== */
.worker-headcount{margin:0 0 18px;padding:14px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,#f8fcff 0%,#fff 58%);display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:stretch}.worker-headcount-total{border-radius:13px;background:#082945;color:#fff;padding:15px 17px;display:flex;flex-direction:column;justify-content:center;min-height:98px}.worker-headcount-total span{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#9edcf3;font-weight:800}.worker-headcount-total strong{font-size:32px;line-height:1;margin-top:8px}.worker-headcount-total small{font-size:10px;color:#c7dce8;margin-top:5px}.worker-client-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px}.worker-client-count{min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 11px;display:flex;align-items:center;gap:10px}.worker-client-count-logo{width:38px;height:38px;border:1px solid #e1ebf1;border-radius:10px;background:#f8fbfd;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.worker-client-count-logo img{width:100%;height:100%;object-fit:contain;padding:4px}.worker-client-count-logo.no-logo{font-size:15px;color:#7890a0;font-weight:800}.worker-client-count>div:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:baseline;min-width:0;flex:1}.worker-client-count span{font-size:10px;color:#587083;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.worker-client-count strong{font-size:20px;color:#071a2f;grid-row:1/3;grid-column:2}.worker-client-count small{font-size:9px;color:var(--muted)}.worker-client-count.unassigned{background:#f8fafb}.worker-headcount-note{grid-column:1/-1;margin:0;font-size:9.5px;color:#6f8494;line-height:1.45}.worker-headcount-note::before{content:"ⓘ ";font-weight:800;color:#00aee8}@media(max-width:900px){.worker-headcount{grid-template-columns:1fr}.worker-headcount-total{min-height:auto}.worker-client-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.worker-client-counts{grid-template-columns:1fr}.worker-headcount{padding:11px}}


/* ===== v1.0.4 · Selección múltiple de capturas y validación ===== */
.validation-bulk-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#f8fbfd}
.validation-bulk-left,.validation-bulk-right,.capture-selection-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.table-select-cell{text-align:center!important;width:58px;min-width:58px}
.eff-row-select{width:18px;height:18px;accent-color:#00aee8;cursor:pointer}
.validation-bulk-actions button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:760px){.validation-bulk-actions,.validation-bulk-left,.validation-bulk-right{align-items:stretch}.validation-bulk-actions{flex-direction:column}.validation-bulk-left,.validation-bulk-right{width:100%}.validation-bulk-left button,.validation-bulk-right button{flex:1}.capture-selection-head{justify-content:flex-end}}

/* ===== v1.0.5 Personal activo · directorio operativo unificado ===== */
.personnel-hero{background:linear-gradient(135deg,#0a2138 0%,#0c3557 62%,#0b5477 100%);border-radius:22px;padding:24px 26px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;box-shadow:0 18px 45px rgba(7,26,47,.16)}
.personnel-eyebrow,.dialog-eyebrow{display:block;font-size:9px;font-weight:900;letter-spacing:.16em;color:#66d6fb;margin-bottom:7px}
.personnel-hero h2{font-size:27px;letter-spacing:-.035em;margin:0 0 5px}.personnel-hero p{margin:0;max-width:690px;color:#c9dce8;font-size:12px;line-height:1.55}
.personnel-add{border:0;background:#fff;color:#0b2945;border-radius:13px;padding:11px 15px;font-size:12px;font-weight:900;box-shadow:0 9px 22px rgba(0,0,0,.12);white-space:nowrap}.personnel-add span{font-size:16px;vertical-align:-1px;margin-right:4px}
.personnel-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.personnel-stat-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px 17px;box-shadow:0 7px 22px rgba(7,26,47,.045);position:relative;overflow:hidden}.personnel-stat-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#cdd9e2}.personnel-stat-card.primary-stat::before{background:#00aee8}.personnel-stat-card.attention-stat::before{background:#d4933a}.personnel-stat-card span{display:block;color:#758999;font-size:10px;font-weight:750}.personnel-stat-card strong{display:block;font-size:26px;line-height:1;color:#0a2238;margin:9px 0 5px}.personnel-stat-card small{color:#95a5b1;font-size:9px}
.personnel-panel{padding:0!important;overflow:hidden}.personnel-toolbar{display:grid;grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(145px,.72fr));gap:9px;padding:16px 17px 12px;border-bottom:1px solid #e8eef3}.personnel-toolbar input,.personnel-toolbar select{height:41px;border:1px solid #dbe5ec;background:#fbfdfe;border-radius:11px;padding:0 11px;font-size:11px;color:#19354c;outline:none}.personnel-toolbar input:focus,.personnel-toolbar select:focus{border-color:#75ccec;box-shadow:0 0 0 3px rgba(0,174,232,.08)}
.personnel-search-wrap{position:relative}.personnel-search-wrap input{width:100%;padding-left:36px}.personnel-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#8196a6;font-size:18px;z-index:1}
.personnel-client-strip{display:flex;gap:8px;padding:0 17px 14px;overflow-x:auto;border-bottom:1px solid #edf2f5}.personnel-client-chip{display:flex;align-items:center;gap:7px;border:1px solid #dce6ed;background:#fff;border-radius:999px;padding:6px 9px 6px 6px;font-size:10px;color:#52697b;font-weight:750;white-space:nowrap}.personnel-client-chip:hover{background:#f8fbfd}.personnel-client-chip.active{border-color:#8bd6ef;background:#effaff;color:#0a5374}.personnel-client-chip b{min-width:20px;height:20px;border-radius:999px;background:#eef3f6;display:grid;place-items:center;font-size:9px;color:#536a7b}.personnel-client-chip.active b{background:#d7f3fd;color:#087ba9}.chip-logo{width:27px;height:27px;border-radius:50%;background:#fff;border:1px solid #e0e8ee;display:grid;place-items:center;overflow:hidden}.chip-logo img{max-width:22px;max-height:17px;object-fit:contain}.chip-logo.all-logo{background:linear-gradient(135deg,#0b3151,#00aee8);color:#fff;border:0;font-weight:900;font-size:8px}
.personnel-table-wrap{overflow-x:auto}.personnel-table{width:100%;border-collapse:collapse;min-width:980px}.personnel-table th{background:#f7fafc;color:#768b9b;font-size:9px;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:11px 15px;border-bottom:1px solid #e4ecf1}.personnel-table td{padding:12px 15px;border-bottom:1px solid #edf2f5;vertical-align:middle;font-size:11px;color:#344f64}.personnel-table tbody tr:hover{background:#fbfdff}.personnel-row-inactive{background:#fafbfc!important;opacity:.78}
.person-cell{display:flex;align-items:center;gap:10px;min-width:210px}.person-cell strong{display:block;color:#102c43;font-size:11.5px}.person-cell small{display:block;color:#8a9dab;font-size:9px;margin-top:3px;font-weight:700;letter-spacing:.035em}.person-avatar{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#0b3151,#00aee8);display:grid;place-items:center;overflow:hidden;flex:0 0 auto;color:#fff;font-size:10px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.person-avatar img{width:100%;height:100%;object-fit:cover}.person-avatar.xl{width:66px;height:66px;border-radius:17px;font-size:16px}.person-avatar.small{width:42px;height:42px}
.position-pill{display:inline-flex;align-items:center;background:#f2f6f9;border:1px solid #e1e8ed;border-radius:999px;padding:6px 9px;color:#496276;font-size:10px;font-weight:750;max-width:170px;line-height:1.2}.assignment-main{display:flex;align-items:center;gap:8px;min-width:220px}.assignment-main b{display:block;color:#17364e;font-size:10.5px;line-height:1.35}.assignment-main small{display:block;color:#8a9cab;font-size:9px;margin-top:3px}.assignment-client-logo{width:34px;height:34px;border-radius:10px;border:1px solid #e3eaef;background:#fff;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.assignment-client-logo img{max-width:28px;max-height:21px;object-fit:contain}.assignment-main.no-assignment b{color:#748796}.assignment-dot{width:8px;height:8px;background:#c3d0d8;border-radius:50%;margin:0 9px 0 5px}
.personnel-contact a,.personnel-contact span{display:block;color:#294960;text-decoration:none;font-size:10.5px;font-weight:700}.personnel-contact a:hover{color:#008fc5}.personnel-contact small{display:block;color:#90a1ae;font-size:9px;margin-top:3px;max-width:175px;overflow:hidden;text-overflow:ellipsis}
.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:850;border:1px solid}.status-pill i{width:6px;height:6px;border-radius:50%}.status-pill.active{background:#eefaf5;border-color:#c8eadb;color:#198250}.status-pill.active i{background:#20a363}.status-pill.inactive{background:#fff4f3;border-color:#f0d2cf;color:#ae4e47}.status-pill.inactive i{background:#c55a52}
.personnel-actions{display:flex;align-items:center;gap:6px}.personnel-actions button{border-radius:9px;padding:7px 9px;font-size:9px;font-weight:850;white-space:nowrap}.personnel-edit{border:1px solid #9ed8ec;background:#f0fbff;color:#087da9}.personnel-edit:hover{background:#e2f7ff}.personnel-status{border:1px solid transparent;background:#fff4f3;color:#a94a44}.personnel-status:hover{border-color:#ecc9c6}.personnel-status.reactivate{background:#eef9f4;color:#187a4b}.personnel-table-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:11px 17px;background:#fbfcfd;border-top:1px solid #eef3f6;color:#7f92a1;font-size:9px}.personnel-table-footer span{font-weight:850;color:#536d7f}.personnel-empty{text-align:center;padding:28px;color:#8b9da9;font-size:11px}
.person-dialog-head{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid #e9eff3;margin-bottom:16px}.person-dialog-head h2{margin:0 0 4px;font-size:20px;color:#102a40}.person-dialog-head p{margin:0;color:#8295a4;font-size:10px}.person-dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.person-dialog-grid label{display:grid;gap:6px;color:#526b7d;font-size:10px;font-weight:800}.person-dialog-grid input,.person-dialog-grid select{height:42px;border:1px solid #d8e3ea;border-radius:11px;padding:0 11px;background:#fbfdfe;color:#17334a;font-size:11px}.person-dialog-grid input[type=file]{height:auto;padding:9px}.person-dialog-grid .full-row{grid-column:1/-1}.worker-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.project-check{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:8px!important;border:1px solid #e0e8ee;border-radius:11px;padding:9px;background:#fafcfd;color:#355267!important;font-size:10px!important;font-weight:600!important}.project-check input{width:15px;height:15px;flex:0 0 auto;margin-top:1px}.project-check span b{display:block;font-size:10px;color:#2b4960}.project-check span small{display:block;color:#8b9dab;font-size:8.5px;margin-top:3px;font-weight:500}
.personnel-mobile-list{display:none}
@media(max-width:1100px){.personnel-stat-grid{grid-template-columns:repeat(2,1fr)}.personnel-toolbar{grid-template-columns:1fr 1fr}.personnel-search-wrap{grid-column:1/-1}}
@media(max-width:760px){.personnel-hero{padding:19px;align-items:flex-start;flex-direction:column}.personnel-hero h2{font-size:23px}.personnel-add{width:100%}.personnel-stat-grid{grid-template-columns:1fr 1fr;gap:8px}.personnel-stat-card{padding:13px}.personnel-stat-card strong{font-size:22px}.personnel-toolbar{grid-template-columns:1fr;padding:12px}.personnel-search-wrap{grid-column:auto}.personnel-client-strip{padding:0 12px 12px}.personnel-table-wrap{display:none}.personnel-mobile-list{display:grid;gap:10px;padding:12px;background:#f7fafc}.personnel-mobile-card{background:#fff;border:1px solid #e0e8ee;border-radius:15px;padding:13px;box-shadow:0 5px 18px rgba(7,26,47,.035)}.personnel-mobile-card.inactive{opacity:.75}.personnel-mobile-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.personnel-mobile-head strong{display:block;font-size:11px;color:#17364e}.personnel-mobile-head small{display:block;font-size:9px;color:#8598a7;margin-top:3px}.personnel-mobile-section{margin-top:12px;padding-top:10px;border-top:1px solid #edf2f5}.personnel-mobile-section>label{display:block;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#93a3ae;margin-bottom:7px}.personnel-mobile-actions{margin-top:12px;display:flex;gap:7px}.personnel-mobile-actions .personnel-actions{width:100%}.personnel-mobile-actions button{flex:1}.personnel-table-footer{align-items:flex-start;flex-direction:column}.person-dialog-grid{grid-template-columns:1fr}.person-dialog-grid .full-row{grid-column:auto}.worker-project-grid{grid-template-columns:1fr}}

/* v1.0.10 · Clave vigente visible sólo para Superusuario */
.current-delete-key-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:14px 16px;border:1px solid #bfe5f4;background:linear-gradient(135deg,#f4fbfe,#eef9fd);border-radius:14px}
.current-delete-key-card>div{min-width:0}
.current-delete-key-card span{display:block;font-size:9px;letter-spacing:.08em;font-weight:900;color:#0786ba;text-transform:uppercase}
.current-delete-key-card b{display:block;margin:5px 0 3px;font-size:17px;letter-spacing:.08em;color:#071a2f;word-break:break-all}
.current-delete-key-card b.revealed{letter-spacing:.03em}
.current-delete-key-card small{display:block;font-size:9.5px;color:var(--muted)}
.current-delete-key-action{position:static;transform:none;flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;border:1px solid #acdced;background:#fff;color:#087da9;border-radius:10px;padding:8px 11px;font-size:10px;font-weight:850;cursor:pointer;white-space:nowrap}
.current-delete-key-action:hover,.current-delete-key-action.showing{background:#e8f8fd;border-color:#8fd3ea}
.current-delete-key-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:560px){.current-delete-key-card{align-items:flex-start;flex-direction:column}.current-delete-key-action{width:100%;justify-content:center}}

/* Project deletion approval flow v1.0.12 */
.project-delete-pending{opacity:.72;cursor:not-allowed}
.project-delete-review-actions{display:flex;justify-content:flex-end;margin-top:12px}

.project-antecedent{border-color:#f1d28a;background:linear-gradient(180deg,#fffdf7 0%,#fff 40%)}
.project-antecedent .entity-cover{filter:saturate(.78)}


/* ===== Recursos Humanos · v1.0.16 ===== */
.nav-accordion-hr .nav-accordion-icon{color:#0aa9d8}
.announcement-source-tag{display:inline-flex;align-items:center;border:1px solid #bfe8f7;background:#eefaff;color:#067da9;border-radius:999px;padding:2px 7px;font-size:8px;font-weight:900;letter-spacing:.06em;vertical-align:middle}
.home-culture-calendar{margin-top:16px}
.culture-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.culture-calendar-column{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfdfe;min-height:170px}
.culture-calendar-heading{display:flex;align-items:center;gap:9px;margin-bottom:11px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.culture-calendar-heading>span{width:34px;height:34px;border-radius:11px;background:#eaf8fd;color:#0786ba;display:grid;place-items:center;font-weight:900}
.culture-calendar-heading b,.culture-calendar-heading small{display:block}.culture-calendar-heading b{font-size:12px;color:#071a2f}.culture-calendar-heading small{font-size:9px;color:var(--muted);margin-top:2px}
.culture-calendar-item{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #edf2f5}.culture-calendar-item:last-child{border-bottom:0}
.culture-date-box{width:42px;height:42px;border-radius:11px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;align-content:center;text-transform:uppercase}.culture-date-box b{font-size:13px;line-height:1;color:#071a2f}.culture-date-box small{font-size:8px;color:#0786ba;margin-top:3px;font-weight:850}
.culture-calendar-item strong,.culture-calendar-item small{display:block}.culture-calendar-item strong{font-size:11px;color:#071a2f}.culture-calendar-item>div>small{font-size:9px;color:var(--muted);margin-top:3px}.culture-empty{padding:18px 5px;color:var(--muted);font-size:10px;text-align:center}
.hr-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.hr-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hr-module-card{display:flex;flex-direction:column;align-items:flex-start;min-height:220px}.hr-module-card h2{margin:7px 0 8px}.hr-module-card p{color:var(--muted);font-size:11px;line-height:1.6;flex:1}.hr-module-card button{margin-top:16px}
.hr-dialog-head{margin-bottom:14px}.hr-dialog-head h2{margin:5px 0}.hr-dialog-head p{margin:0;color:var(--muted);font-size:11px}.hr-milestone-list{display:grid;gap:8px;max-height:58vh;overflow:auto;padding-right:4px}.hr-milestone-row{display:grid;grid-template-columns:48px minmax(180px,1fr) 150px 150px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:10px;background:#fbfdfe}.hr-milestone-row>div:nth-child(2) b,.hr-milestone-row>div:nth-child(2) small{display:block}.hr-milestone-row>div:nth-child(2) b{font-size:11px}.hr-milestone-row>div:nth-child(2) small{font-size:9px;color:var(--muted);margin-top:3px}.hr-milestone-row label{font-size:9px}.hr-milestone-row input{margin-top:4px;padding:8px;font-size:10px}
.hr-event-library{margin-top:10px}.hr-event-library h3{font-size:13px}.hr-event-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.hr-event-row.inactive{opacity:.55}.hr-event-row>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;flex:1}.hr-event-row b{font-size:11px}.hr-event-row small{grid-column:2;font-size:9px;color:var(--muted);margin-top:3px}.hr-event-row>div:last-child{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:1050px){.hr-kpi-grid{grid-template-columns:repeat(2,1fr)}.culture-calendar-grid{grid-template-columns:1fr}.hr-milestone-row{grid-template-columns:44px 1fr}.hr-milestone-row label{grid-column:2}}
@media(max-width:760px){.hr-kpi-grid,.hr-module-grid{grid-template-columns:1fr}.hr-milestone-row{grid-template-columns:40px 1fr}.hr-event-row{align-items:flex-start;flex-direction:column}.hr-event-row>div:last-child{width:100%}.hr-event-row>div:last-child button{flex:1}}

dialog:has(.hr-milestone-list){width:min(920px,94vw)}

/* ===== v1.0.20 · ajustes de captura ===== */
.capture-top-grid{grid-template-columns:minmax(360px,1.65fr) minmax(150px,.55fr) minmax(270px,1fr)}
.capture-top-grid>label{min-width:0}
.capture-top-grid select,.capture-top-grid input{width:100%;min-width:0;box-sizing:border-box}
.capture-top-grid select{height:42px;padding-right:34px}
.capture-worker-search{margin:-2px 0 12px;display:grid;gap:6px}
.capture-worker-search span{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.capture-worker-search input{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:#fbfdfe}
@media(max-width:1050px){.capture-top-grid{grid-template-columns:minmax(0,1.35fr) minmax(145px,.55fr)}.capture-day-status{grid-column:1/-1}}
@media(max-width:900px){.capture-top-grid{grid-template-columns:1fr}.capture-day-status{grid-column:auto}}

/* ===== v1.0.20 · Asistencia GDL ===== */
.attendance-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:22px 24px;border-radius:18px;background:linear-gradient(135deg,#0b3151,#0f5774);color:#fff;margin-bottom:16px;box-shadow:0 14px 34px rgba(7,26,47,.14)}
.attendance-hero h2{font-size:22px;margin:5px 0 7px}.attendance-hero p{margin:0;max-width:720px;font-size:11px;line-height:1.55;color:rgba(255,255,255,.8)}
.attendance-hero .home-kicker{color:#83dcfa}.attendance-hero-status{min-width:225px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:12px 14px;display:grid;gap:4px}.attendance-hero-status span,.attendance-hero-status small{font-size:9px;color:rgba(255,255,255,.76)}.attendance-hero-status strong{font-size:14px;letter-spacing:.06em}
.attendance-kpis{margin-bottom:16px}.attendance-main-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:16px;margin-bottom:16px}.attendance-context{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(150px,.55fr) minmax(100px,.35fr);gap:10px;align-items:end;margin-bottom:12px}.attendance-context label,.attendance-row label,.attendance-history-filters label{font-size:9px;font-weight:800;color:#637787;display:grid;gap:5px}.attendance-context select,.attendance-context input,.attendance-row select,.attendance-row input,.attendance-history-filters select,.attendance-history-filters input{width:100%;min-width:0;box-sizing:border-box}.attendance-bulk,.attendance-report-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.attendance-report-actions{justify-content:flex-end;margin-bottom:0}.attendance-report-actions input{width:145px}.attendance-search,.attendance-week-search{margin-bottom:12px}.attendance-search input,.attendance-week-search input{width:100%}.attendance-rows{display:grid;gap:9px;max-height:560px;overflow:auto;padding-right:3px}.attendance-row{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(165px,.9fr) 94px 94px 92px minmax(180px,1fr) 36px;gap:9px;align-items:end;border:1px solid var(--line);border-radius:13px;padding:10px;background:#fff}.attendance-person{display:flex;gap:10px;align-items:center;min-width:0}.attendance-person strong,.attendance-person small{display:block}.attendance-person strong{font-size:11px;color:#102c43}.attendance-person small{font-size:8.8px;color:var(--muted);margin-top:2px}.attendance-note{min-width:0}.att-row-remove{width:34px;height:34px;padding:0!important;align-self:end}.attendance-upload{border:1px dashed #9fc5d5;border-radius:14px;background:#f7fbfd;padding:14px;display:grid;gap:7px;font-size:10px;font-weight:800;color:#315166;margin-bottom:12px}.attendance-upload span{font-size:9px;font-weight:500;color:var(--muted)}.attendance-evidence-list{display:grid;gap:9px;margin-bottom:12px}.attendance-evidence-card{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff}.attendance-evidence-card img,.attendance-file-badge{width:56px;height:48px;border-radius:9px;object-fit:cover}.attendance-file-badge{display:grid;place-items:center;background:#eff5f8;color:#315166;font-size:10px;font-weight:900}.attendance-evidence-card b,.attendance-evidence-card small{display:block}.attendance-evidence-card b{font-size:10px}.attendance-evidence-card small{font-size:8px;color:var(--muted);margin-top:3px}.compact-empty{padding:14px!important}.attendance-week-table table{min-width:1180px}.attendance-week-table th,.attendance-week-table td{text-align:center}.attendance-week-table th:first-child,.attendance-week-table td:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:1}.attendance-week-table thead th:first-child{background:#f4f8fa;z-index:2}.attendance-week-table td:first-child b,.attendance-week-table td:first-child small{display:block;min-width:185px}.attendance-week-table td:first-child small{font-size:8px;color:var(--muted);margin-top:3px}.attendance-code{min-width:30px;justify-content:center}.attendance-history-filters{display:grid;grid-template-columns:140px 140px minmax(220px,.8fr) minmax(240px,1fr);gap:10px;margin-bottom:12px}.attendance-history-filters+div table td small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.attendance-add-results{display:grid;gap:8px;max-height:430px;overflow:auto;margin-top:12px}.attendance-add-person{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px;cursor:pointer}.attendance-add-person:hover{background:#f5fbfe;border-color:#a7d8ea}.attendance-add-person b,.attendance-add-person small{display:block}.attendance-add-person b{font-size:11px}.attendance-add-person small{font-size:8.5px;color:var(--muted);margin-top:2px}.attendance-add-person i{font-style:normal;font-size:9px;font-weight:900;color:#008fc4}.attendance-incidence-list{display:grid;gap:8px}.attendance-incidence-row{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:start;border-bottom:1px solid var(--line);padding:9px 0}.attendance-incidence-row:last-child{border-bottom:0}.attendance-incidence-row b,.attendance-incidence-row small{display:block}.attendance-incidence-row b{font-size:11px}.attendance-incidence-row small{font-size:9px;color:var(--muted);margin-top:3px}.attendance-incidence-row p{font-size:9px;color:#526a7b;margin:5px 0 0}.hr-attendance-hero{background:linear-gradient(135deg,#153c52,#346a7b)}
@media(max-width:1180px){.attendance-main-grid{grid-template-columns:1fr}.attendance-row{grid-template-columns:minmax(210px,1.2fr) minmax(150px,.8fr) 90px 90px 90px}.attendance-note{grid-column:1/-2}.attendance-history-filters{grid-template-columns:1fr 1fr}.attendance-context{grid-template-columns:minmax(0,1fr) 160px 110px}}
@media(max-width:760px){.attendance-hero{display:grid}.attendance-hero-status{min-width:0}.attendance-context,.attendance-history-filters{grid-template-columns:1fr}.attendance-row{grid-template-columns:1fr 1fr}.attendance-person{grid-column:1/-1}.attendance-note{grid-column:1/-1}.att-row-remove{grid-column:2;justify-self:end}.attendance-report-actions{justify-content:flex-start}.attendance-incidence-row{grid-template-columns:1fr}.attendance-week-table th:first-child,.attendance-week-table td:first-child{position:static}.attendance-week-table td:first-child b,.attendance-week-table td:first-child small{min-width:150px}}


/* ===== v1.0.20 · selección múltiple de asistencia ===== */
.attendance-search small{display:block;margin-top:6px;color:var(--muted);font-size:9px}
.attendance-row.attendance-row-simple{grid-template-columns:minmax(250px,1.45fr) minmax(190px,.8fr) 92px;align-items:center;padding:9px 10px}
.attendance-row-simple.is-not-scheduled{background:#f8fafb}
.attendance-row-simple.is-not-scheduled .attendance-person{opacity:.72}
.attendance-assigned{display:inline-flex;margin-top:4px;padding:2px 7px;border-radius:999px;background:#e8f7fd;color:#007eac;font-size:7.5px;font-weight:900;letter-spacing:.02em}
.attendance-row-details{position:relative;align-self:center}
.attendance-row-details>summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:8px 9px;text-align:center;font-size:9px;font-weight:900;color:#315166;background:#fff;user-select:none}
.attendance-row-details>summary::-webkit-details-marker{display:none}
.attendance-row-details[open]>summary{background:#eef8fc;border-color:#a8d7e8;color:#007eac}
.attendance-row-details[open]{grid-column:1/-1}
.attendance-detail-grid{display:grid;grid-template-columns:120px 120px 110px minmax(220px,1fr);gap:9px;margin-top:9px;padding:10px;border-radius:11px;background:#f6f9fb;border:1px solid var(--line)}
@media(max-width:1180px){.attendance-row.attendance-row-simple{grid-template-columns:minmax(220px,1.3fr) minmax(175px,.8fr) 88px}.attendance-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.attendance-row.attendance-row-simple{grid-template-columns:1fr 90px}.attendance-row-simple .attendance-person{grid-column:1/-1}.attendance-row-simple>label{grid-column:1}.attendance-row-simple>.attendance-row-details{grid-column:2}.attendance-row-details[open]{grid-column:1/-1}.attendance-detail-grid{grid-template-columns:1fr 1fr}}

/* ===== v1.0.21 · selección múltiple / edición en bloque ===== */
.attendance-selection-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;margin-bottom:10px;border:1px solid #b9dceb;border-radius:13px;background:#f4fbfe}
.attendance-selection-bar strong,.attendance-selection-bar small{display:block}.attendance-selection-bar strong{font-size:12px;color:#08324c}.attendance-selection-bar small{font-size:8.8px;color:var(--muted);margin-top:2px}.attendance-selection-actions{display:flex;gap:7px;flex-wrap:wrap}
.attendance-bulk-editor{display:grid;grid-template-columns:minmax(160px,1fr) 105px 105px 90px minmax(180px,1fr);gap:8px;align-items:end;padding:11px;margin-bottom:12px;border:1px solid var(--line);border-radius:13px;background:#fbfcfd;min-width:0}
.attendance-bulk-editor label{font-size:8.5px;font-weight:800;color:#637787;display:grid;gap:5px;min-width:0}.attendance-bulk-editor select,.attendance-bulk-editor input{width:100%;min-width:0;box-sizing:border-box}.attendance-bulk-editor button{grid-column:1/-1;justify-self:end;height:40px;min-width:240px;max-width:100%;white-space:nowrap}.attendance-bulk-editor input:disabled{background:#eef2f4;color:#93a2ad}
.attendance-row.attendance-row-simple{grid-template-columns:32px minmax(235px,1.35fr) minmax(175px,.8fr) 92px}.attendance-row-simple.is-selected{border-color:#27aee0;background:#eefaff;box-shadow:0 0 0 1px rgba(39,174,224,.08)}.attendance-row-simple.is-selected.is-not-scheduled{background:#eefaff}.attendance-row-simple.is-selected .attendance-person{opacity:1}
.attendance-select-box{display:grid!important;place-items:center!important;align-self:center;cursor:pointer}.attendance-select-box input{width:18px!important;height:18px!important;margin:0;accent-color:#009ed4;cursor:pointer}
@media(max-width:1180px){.attendance-bulk-editor{grid-template-columns:1fr 1fr 1fr}.attendance-bulk-note{grid-column:1/3}.attendance-bulk-editor button{grid-column:1/-1;justify-self:end}.attendance-row.attendance-row-simple{grid-template-columns:32px minmax(210px,1.2fr) minmax(165px,.8fr) 88px}}
@media(max-width:760px){.attendance-selection-bar{align-items:flex-start;flex-direction:column}.attendance-bulk-editor{grid-template-columns:1fr 1fr}.attendance-bulk-note{grid-column:1/-1}.attendance-bulk-editor button{grid-column:1/-1;justify-self:stretch;width:100%;min-width:0}.attendance-row.attendance-row-simple{grid-template-columns:30px 1fr 86px}.attendance-row-simple .attendance-person{grid-column:2/4}.attendance-row-simple>label:not(.attendance-select-box){grid-column:2}.attendance-row-simple>.attendance-row-details{grid-column:3}.attendance-row-details[open]{grid-column:1/-1}}

/* ===== v1.0.22 · correcciones y evidencia posterior ===== */
.attendance-corrections-panel{margin-bottom:16px}
.attendance-correction-list{display:grid;gap:9px}
.attendance-correction-row{display:grid;grid-template-columns:120px minmax(230px,1.05fr) minmax(260px,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:#fff}
.attendance-correction-date b,.attendance-correction-date small,.attendance-correction-project b,.attendance-correction-project small,.attendance-correction-meta small{display:block}
.attendance-correction-date b,.attendance-correction-project b{font-size:10.5px;color:#102c43}.attendance-correction-date small,.attendance-correction-project small,.attendance-correction-meta small{font-size:8.5px;color:var(--muted);margin-top:3px}
.attendance-correction-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.attendance-correction-meta span{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f0f6f9;color:#315166;font-size:8px;font-weight:850}.attendance-correction-meta small{width:100%}
.attendance-correction-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.attendance-correction-actions button{white-space:nowrap}
.attendance-evidence-actions{display:flex;justify-content:flex-end;margin:-2px 0 12px}.attendance-evidence-actions button{width:100%}
@media(max-width:1080px){.attendance-correction-row{grid-template-columns:110px minmax(210px,1fr) minmax(220px,1fr)}.attendance-correction-actions{grid-column:1/-1}}
@media(max-width:760px){.attendance-correction-row{grid-template-columns:1fr}.attendance-correction-actions{grid-column:auto;justify-content:stretch}.attendance-correction-actions button{flex:1}.attendance-correction-meta{align-items:flex-start}}


/* ===== v1.0.23 · corrección de fecha + confirmación antes de guardar ===== */
.attendance-save-summary{display:grid;gap:12px;margin-top:12px}
.attendance-save-summary-head{display:grid;grid-template-columns:90px 1fr;gap:7px 12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbfc}
.attendance-save-summary-head span{font-size:9px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.attendance-save-summary-head b{font-size:10.5px;color:#123149}
.attendance-save-summary h3{margin:2px 0 0;font-size:11px;color:#123149}.attendance-save-summary ul{margin:0;padding-left:20px;display:grid;gap:7px}.attendance-save-summary li{font-size:10px;line-height:1.45;color:#365267}
.attendance-save-change-list{display:grid;gap:4px;margin-top:6px}.attendance-save-change-list span{display:block;padding:5px 7px;border-radius:8px;background:#f3f7f9;font-size:9px;color:#365267}
#att-project:disabled{background:#f2f5f7;color:#607583;cursor:not-allowed}
@media(max-width:760px){.attendance-save-summary-head{grid-template-columns:72px 1fr}}

/* ===== v1.0.24 · corte de asistencia sábado a viernes ===== */


/* ===== v1.0.25 · proyecto sólo cuando existe trabajo ===== */
.attendance-context-hint{display:block;margin-top:5px;font-size:11px;color:var(--muted,#6b7f93);font-weight:600}
.attendance-project-rule{grid-column:1/-1;border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.35;background:#f5f8fb;border:1px solid #dbe6ef;color:#53697c}
.attendance-project-rule.is-worked{background:#eff9fd;border-color:#bfe8f7;color:#12698a}
.attendance-project-rule.is-projectless{background:#f7f8fa;border-color:#dfe5ea;color:#526171}
.attendance-project-rule b{font-weight:800}

/* ===== v1.0.26 · Efectividad alimentada por Asistencia GDL ===== */
.capture-attendance-source{
  margin-top:14px;
  padding:14px 16px;
  border:1px solid #cbdbea;
  border-radius:14px;
  background:#f8fbfe;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.capture-attendance-source>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.capture-attendance-source b{font-size:.92rem;color:#0b2945}
.capture-attendance-source span{font-size:.82rem;color:#60758b}
.capture-attendance-source.ready{background:#f1fbf7;border-color:#bde8d3}
.capture-attendance-source.missing{background:#fff8ed;border-color:#f1d29d}
.capture-attendance-source.empty{background:#f7f9fb;border-color:#d8e0e8}
.capture-attendance-meta{margin-top:3px;color:#0b86b6!important;font-weight:700}
@media (max-width:760px){.capture-attendance-source{align-items:stretch;flex-direction:column}.capture-attendance-source button{width:100%}}

/* ===== v1.1.0 · Gestión de Calidad, gobierno, clima real ===== */
.badge-master{background:#102d4a!important;color:#fff!important;border:1px solid rgba(0,174,232,.45)!important;letter-spacing:.08em}
.quality-readonly-notice{display:flex;align-items:center;gap:10px;margin-bottom:16px;border-color:#9fd7e9;background:#eefaff;color:#123552}
.quality-readonly-notice b{color:#007ba6}.quality-readonly-notice span{font-size:12px}
.user-auto-delete-note{margin:7px 0 0;color:#9a5f00;font-weight:800}
.danger-zone-card{border-color:#efb1b5!important;background:linear-gradient(180deg,#fff,#fff8f8)}
.settings-lock-badge.danger{background:#fff0f1;color:#a8232d;border-color:#e9b2b6}
.reset-data-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0}
.reset-data-counts span{display:flex;flex-direction:column;gap:3px;border:1px solid #dce6ef;border-radius:12px;padding:10px;background:#fff;font-size:10px;color:#607388;text-transform:uppercase;letter-spacing:.04em}
.reset-data-counts b{font-size:20px;color:#0a2540;letter-spacing:0}

/* Clima real del punto de conexión. */
.home-sky-weather .sky-cloud{width:25px;height:9px;left:5px;bottom:10px;background:rgba(225,242,249,.92);box-shadow:8px -4px 0 -1px rgba(225,242,249,.92),14px 0 0 -2px rgba(225,242,249,.92)}
.home-sky-weather.weather-cloudy .sky-cloud.c1{left:1px;bottom:11px;transform:scale(1.05);opacity:.95}
.home-sky-weather.weather-cloudy .sky-cloud.c2{left:16px;bottom:3px;transform:scale(.78);opacity:.72}
.home-sky-weather.weather-partly .sky-cloud{left:13px;bottom:6px;opacity:.86}
.weather-rain{position:absolute;width:2px;height:8px;border-radius:99px;background:#8edbff;top:23px;animation:csRainDrop .9s linear infinite}
.weather-rain.r1{left:10px}.weather-rain.r2{left:18px;animation-delay:-.3s}.weather-rain.r3{left:27px;animation-delay:-.6s}
.weather-bolt{position:absolute;z-index:3;left:17px;top:18px;font-style:normal;font-size:17px;line-height:1;color:#ffd25f;text-shadow:0 0 8px rgba(255,210,95,.55);animation:csLightning 2.4s step-end infinite}
.weather-fog{position:absolute;height:3px;border-radius:99px;background:rgba(225,242,249,.82);left:2px;width:33px;animation:csFogDrift 4s ease-in-out infinite alternate}
.weather-fog.f1{top:10px}.weather-fog.f2{top:17px;left:7px;width:29px;animation-delay:-1.2s}.weather-fog.f3{top:24px;width:26px;animation-delay:-2.1s}
.weather-snow{position:absolute;color:#e8f8ff;font-size:12px;line-height:1;top:18px;animation:csSnowFall 2s linear infinite}
.weather-snow.s1{left:8px}.weather-snow.s2{left:18px;animation-delay:-.7s}.weather-snow.s3{left:28px;animation-delay:-1.3s}
@keyframes csRainDrop{0%{transform:translateY(-2px);opacity:0}25%{opacity:1}100%{transform:translateY(9px);opacity:0}}
@keyframes csLightning{0%,88%,100%{opacity:0}89%,92%{opacity:1}93%{opacity:.2}94%,97%{opacity:1}}
@keyframes csFogDrift{from{transform:translateX(-2px);opacity:.55}to{transform:translateX(3px);opacity:.95}}
@keyframes csSnowFall{0%{transform:translateY(-3px) translateX(0);opacity:0}25%{opacity:1}100%{transform:translateY(13px) translateX(3px);opacity:0}}
@media(max-width:900px){.reset-data-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.weather-rain,.weather-bolt,.weather-fog,.weather-snow{animation:none!important}}

/* ===== v1.1.3 · Cerebro Asistente CS ===== */
.assistant-rich{display:grid;gap:6px}
.assistant-rich p{margin:0;white-space:normal!important}
.assistant-rich ul,.assistant-rich ol{margin:1px 0 1px 18px;padding:0;display:grid;gap:4px}
.assistant-rich li{padding-left:1px}
.assistant-rich h4{margin:2px 0 0;font-size:10.5px;color:#123552}
.assistant-rich strong{color:#102f49;font-weight:900}
.assistant-message.user .assistant-rich strong{color:inherit}
.assistant-rich code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;background:#eef3f6;border-radius:5px;padding:1px 4px;color:#24485f}
.assistant-message>div small{line-height:1.35}
.ai-admin-summary{grid-template-columns:repeat(3,minmax(145px,1fr))!important;gap:8px!important}
.ai-admin-summary>div{min-width:0}
.ai-admin-summary>button{grid-column:1/-1;justify-self:end}
.ai-history-table table{min-width:1180px}
@media(max-width:900px){.ai-admin-summary{grid-template-columns:repeat(2,minmax(130px,1fr))!important}.ai-admin-summary>button{justify-self:stretch}}

/* ===== v1.1.5 · Hotfix comunicados Gestión de Calidad ===== */
/* La vista de sólo lectura no renderiza icono, miniatura ni flecha; por eso usa una sola columna. */
.quality-announcement-item{
  grid-template-columns:minmax(0,1fr)!important;
  width:100%;
  padding:14px 12px;
  align-items:start;
}
.quality-announcement-item .announcement-copy{
  grid-column:1/-1;
  width:100%;
  min-width:0;
}
.quality-announcement-item .announcement-meta{font-size:9px;line-height:1.4}
.quality-announcement-item strong{font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.quality-announcement-item .announcement-excerpt{
  font-size:11px;
  line-height:1.55;
  max-width:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .quality-announcement-item{grid-template-columns:minmax(0,1fr)!important;padding:12px 10px}
}
