/* ══════════════════════════════════════════════════════════
   HEKA · MONITOR LEGAL — página de alertas normativas
══════════════════════════════════════════════════════════ */
:root{--ac:#258dd6}
body{background:#0a0e14;color:#fff}
.ml a{text-decoration:none;color:inherit}
.ml ::-webkit-scrollbar{width:0;height:0}
@keyframes mlUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes mlLogo{from{opacity:0;transform:translateY(-50%) scale(1.05)}to{opacity:.08;transform:translateY(-50%) scale(1)}}
@keyframes mlPulse{0%,100%{box-shadow:0 0 0 3px rgba(72,187,120,.2)}50%{box-shadow:0 0 0 8px rgba(72,187,120,.02)}}
@keyframes mlModalIn{from{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:none}}
@keyframes mlSpin{to{transform:rotate(360deg)}}

/* HERO */
.ml-hero{position:relative;overflow:hidden;background:#080808;color:#fff;padding:158px 7% 96px}
.ml-hero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 75% at 88% 12%,rgba(37,141,214,.14) 0%,transparent 62%),radial-gradient(ellipse 40% 60% at 6% 96%,rgba(37,141,214,.06) 0%,transparent 60%)}
.ml-logo{position:absolute;right:1%;top:44%;width:min(44%,560px);opacity:0;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(100deg,transparent 2%,#000 56%);mask-image:linear-gradient(100deg,transparent 2%,#000 56%);animation:mlLogo 1.9s cubic-bezier(.16,1,.3,1) .35s both}
.ml-hero-inner{position:relative;z-index:1;max-width:1500px;margin:0 auto}
.ml-kicker{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.ml-kicker-line{width:34px;height:1px;background:var(--ac);display:block;flex-shrink:0}
.ml-kicker span:last-child{font-size:.58rem;letter-spacing:5px;color:var(--ac);font-weight:700;text-transform:uppercase}
.ml-title{font-family:var(--font-title);font-size:clamp(3rem,8vw,8rem);font-weight:800;line-height:.9;letter-spacing:-3px;margin-top:6px}
.ml-title em{font-style:normal;color:var(--ac)}
.ml-lead{max-width:500px;font-size:.92rem;font-weight:300;line-height:2;color:rgba(255,255,255,.55);margin-top:34px}
.ml-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:22px 40px;margin-top:44px}
.ml-pulse{display:flex;align-items:center;gap:9px;font-size:.58rem;letter-spacing:3px;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.55)}
.ml-pulse-dot{width:8px;height:8px;border-radius:50%;background:#48bb78;animation:mlPulse 2s ease-in-out infinite}
.ml-last-update{font-size:.56rem;letter-spacing:2px;color:rgba(255,255,255,.3)}
.ml-stats{display:inline-flex;flex-wrap:nowrap;margin-top:56px;padding-top:38px;border-top:1px solid rgba(255,255,255,.12)}
.ml-stat{padding:0 clamp(20px,3vw,44px)}
.ml-stat:first-child{padding-left:0}
.ml-stat+.ml-stat{border-left:1px solid rgba(255,255,255,.14)}
.ml-stat-num{font-family:var(--font-title);font-size:clamp(2.2rem,3vw,3rem);font-weight:800;line-height:1;letter-spacing:-1.5px;display:block}
.ml-stat-lbl{font-size:.55rem;letter-spacing:2.4px;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.45);margin-top:9px;display:block}

/* BAR */
.ml-bar{position:sticky;top:0;z-index:50;background:rgba(10,14,20,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.09)}
.ml-bar-inner{max-width:1500px;margin:0 auto;padding:20px 7%;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ml-filters{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.ml-bar-label{font-size:.52rem;letter-spacing:4px;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.35);margin-right:2px}
.ml-pill{padding:10px 18px;border:1px solid rgba(255,255,255,.16);background:none;border-radius:100px;font-family:var(--font-body);font-size:.58rem;letter-spacing:2.2px;font-weight:600;text-transform:uppercase;color:rgba(255,255,255,.55);cursor:pointer;white-space:nowrap;transition:.25s cubic-bezier(.16,1,.3,1);display:inline-flex;align-items:center;gap:7px}
.ml-pill:hover{border-color:var(--ac);color:#fff}
.ml-pill.active{background:var(--ac);color:#fff;border-color:var(--ac)}
.ml-pill .c{font-size:.5rem;font-weight:700;color:#7ec4ff}
.ml-pill.active .c{color:rgba(255,255,255,.75)}
.ml-tools{display:flex;align-items:center;gap:18px}
.ml-search{position:relative;display:flex;align-items:center}
.ml-search-ico{position:absolute;left:14px;font-size:.85rem;opacity:.4;pointer-events:none}
.ml-inp{width:230px;max-width:56vw;padding:11px 16px 11px 34px;border:1px solid rgba(255,255,255,.16);border-radius:100px;font-family:var(--font-body);font-size:.78rem;font-weight:300;color:#fff;background:rgba(255,255,255,.04);outline:none;transition:border-color .3s}
.ml-inp::placeholder{color:rgba(255,255,255,.35)}
.ml-inp:focus{border-color:var(--ac)}
.ml-count{font-size:.58rem;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;color:var(--ac);white-space:nowrap}

/* GRID */
.ml-main{max-width:1500px;margin:0 auto;padding:52px 7% 40px;min-height:40vh}
.ml-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ml-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #e8e8e6;border-radius:16px;padding:26px 26px 24px;cursor:pointer;overflow:hidden;box-shadow:0 18px 40px -26px rgba(0,0,0,.55);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1),border-color .45s;animation:mlUp .5s cubic-bezier(.16,1,.3,1) both}
.ml-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ac,#258dd6);transform:scaleY(0);transform-origin:top;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.ml-card::after{content:'';position:absolute;right:-40%;top:-60%;width:70%;height:120%;background:radial-gradient(circle,color-mix(in srgb,var(--ac,#258dd6) 15%,transparent) 0%,transparent 62%);opacity:0;transition:opacity .5s ease;pointer-events:none}
.ml-card:hover{transform:translateY(-6px);box-shadow:0 42px 70px -26px color-mix(in srgb,var(--ac,#258dd6) 55%,rgba(0,0,0,.55));border-color:color-mix(in srgb,var(--ac,#258dd6) 50%,#e8e8e6)}
.ml-card:hover::before{transform:scaleY(1)}
.ml-card:hover::after{opacity:1}
.ml-card:hover .ml-arrow{opacity:1;transform:none;color:var(--ac,#258dd6)}
.ml-card-meta{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.ml-badge{font-size:.5rem;letter-spacing:2.4px;font-weight:700;text-transform:uppercase;padding:5px 11px;background:color-mix(in srgb,var(--ac) 12%,#fff);color:var(--ac);border-radius:100px}
.ml-date{font-size:.56rem;opacity:.4;letter-spacing:1.5px;color:#080808}
.ml-card-title{font-family:var(--font-title);font-size:1.06rem;font-weight:700;line-height:1.32;letter-spacing:-.2px;margin-bottom:12px;color:#080808}
.ml-card-summary{font-size:.78rem;font-weight:300;line-height:1.75;color:rgba(8,8,8,.55);margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ml-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
.ml-card-src{font-size:.5rem;letter-spacing:2.2px;font-weight:700;text-transform:uppercase;color:rgba(8,8,8,.38)}
.ml-arrow{opacity:0;transform:translateX(-6px);transition:.4s cubic-bezier(.16,1,.3,1);color:rgba(8,8,8,.4);flex-shrink:0}
.ml-arrow svg{width:34px;height:34px;display:block}
@media(max-width:1000px){.ml-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ml-grid{grid-template-columns:1fr}}

/* STATES */
.ml-state{grid-column:1/-1;padding:80px 40px;text-align:center;font-size:.85rem;color:rgba(255,255,255,.4);display:flex;flex-direction:column;align-items:center;gap:14px}
.ml-spinner{width:28px;height:28px;border:2px solid rgba(37,141,214,.2);border-top-color:var(--ac);border-radius:50%;animation:mlSpin .8s linear infinite}
.ml-empty-title{font-family:var(--font-title);font-size:1.8rem;font-weight:700;color:#fff;margin-bottom:6px}
.ml-clear{margin-top:14px;padding:10px 22px;border:1px solid rgba(255,255,255,.2);background:none;border-radius:100px;color:rgba(255,255,255,.7);font-family:var(--font-body);font-size:.56rem;letter-spacing:2.4px;font-weight:700;text-transform:uppercase;cursor:pointer;transition:.25s}
.ml-clear:hover{background:var(--ac);color:#fff;border-color:var(--ac)}

/* PAGINATION */
.ml-pag{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;padding:52px 0 8px}
.ml-pag-btn{height:40px;min-width:40px;padding:0 15px;border:1px solid rgba(255,255,255,.16);background:none;border-radius:100px;font-family:var(--font-body);font-size:.58rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.5);cursor:pointer;transition:.22s}
.ml-pag-btn:hover:not(:disabled){background:var(--ac);color:#fff;border-color:var(--ac)}
.ml-pag-btn:disabled{opacity:.3;cursor:default}
.ml-pag-btn.active{background:var(--ac);color:#fff;border-color:var(--ac)}
.ml-pag-ic{display:inline-flex;align-items:center;justify-content:center;padding:0}
.ml-pag-ic svg{width:17px;height:17px;display:block}
.ml-pag-info{font-size:.54rem;letter-spacing:3px;color:rgba(255,255,255,.3);font-weight:600;text-transform:uppercase;margin-left:10px}

/* SOURCES */
.ml-sources-sec{position:relative;overflow:hidden;background:#070a0f;padding:70px 7%;border-top:1px solid rgba(255,255,255,.06)}
.ml-sources-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 40% 80% at 92% 50%,rgba(37,141,214,.09) 0%,transparent 60%)}
.ml-sources-inner{position:relative;z-index:1;max-width:1500px;margin:0 auto}
.ml-sources-inner .ml-kicker{margin-bottom:30px}
.ml-sources{display:flex;flex-wrap:wrap}
.ml-srcrow{position:relative;flex:1 1 200px;min-width:180px;padding:6px 30px;border-left:1px solid rgba(255,255,255,.1);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.ml-srcrow:first-child{border-left:none;padding-left:0}
.ml-srcrow:hover{transform:translateY(-3px)}
.ml-src-key{display:block;font-size:.5rem;letter-spacing:3px;text-transform:uppercase;font-weight:700;color:var(--ac);margin-bottom:14px;word-break:break-word}
.ml-src-name{font-family:var(--font-title);font-size:1.14rem;font-weight:700;color:#fff;line-height:1.22;letter-spacing:-.3px}
.ml-src-count{font-size:.72rem;font-weight:300;color:rgba(255,255,255,.4);margin-top:14px}
@media(max-width:900px){.ml-srcrow{flex-basis:calc(33.333% - 20px)}}
@media(max-width:640px){.ml-srcrow{flex-basis:calc(50% - 20px);border-left:none;padding:6px 0;margin-bottom:24px}}

/* MODAL */
.ml-modal-bg{display:none;position:fixed;inset:0;background:rgba(8,8,8,.72);z-index:4000;align-items:flex-start;justify-content:center;padding:126px 20px 44px;overflow-y:auto;backdrop-filter:blur(5px)}
.ml-modal-bg.open{display:flex}
.ml-modal{background:#fff;width:100%;max-width:720px;border-radius:16px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.4);animation:mlModalIn .35s cubic-bezier(.16,1,.3,1)}
.ml-modal-head{padding:30px 34px 26px;background:#080808;color:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.ml-modal-head-left{flex:1}
.ml-modal-eyebrow{font-size:.5rem;letter-spacing:4px;font-weight:700;text-transform:uppercase;color:var(--ac);display:block;margin-bottom:10px}
.ml-modal-title{font-family:var(--font-title);font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:800;line-height:1.15}
.ml-modal-close{background:rgba(255,255,255,.1);border:none;color:rgba(255,255,255,.7);font-size:1rem;width:38px;height:38px;border-radius:50%;cursor:pointer;flex-shrink:0;transition:.2s}
.ml-modal-close:hover{background:var(--ac);color:#fff}
.ml-modal-body{padding:30px 34px 34px}
.ml-modal-summary{font-size:.9rem;font-weight:300;line-height:2;color:rgba(8,8,8,.68);margin-bottom:26px;padding-bottom:26px;border-bottom:1px solid #ececea}
.ml-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:28px}
.ml-modal-field{display:flex;flex-direction:column;gap:5px}
.ml-modal-field.full{grid-column:1/-1}
.ml-modal-label{font-size:.5rem;letter-spacing:3px;font-weight:700;text-transform:uppercase;color:rgba(8,8,8,.3)}
.ml-modal-val{font-size:.82rem;color:#080808;word-break:break-word}
.ml-modal-val a{color:var(--ac)}
.ml-modal-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:26px;border-top:1px solid #ececea}
.ml-btn-p,.ml-btn-g{display:inline-flex;align-items:center;gap:9px;padding:14px 28px;border-radius:100px;font-size:.58rem;letter-spacing:3px;font-weight:700;text-transform:uppercase;cursor:pointer}
.ml-btn-p{background:var(--ac);color:#fff;border:none}
.ml-btn-g{border:1px solid #e2e2e2;color:rgba(8,8,8,.5);background:none}
.ml-btn-p svg,.ml-btn-g svg{width:14px;height:14px}
@media(max-width:640px){.ml-modal-grid{grid-template-columns:1fr}.ml-modal-bg{padding:112px 16px 20px}}
