/* CIFACI International UI Enhancement — stable overlay */
:root{--cifaci-motion-fast:180ms;--cifaci-motion:420ms;--cifaci-ease:cubic-bezier(.2,.8,.2,1)}

/* Guarantee readable word separation on every major heading. */
.page-hero h1,.hero h1,.section-title h2,.section h2,.auth-box h1,.auth-brand h1{
  word-spacing:.13em!important;letter-spacing:-.018em!important;text-rendering:optimizeLegibility;
}
.page-hero h1{display:flex;flex-wrap:wrap;column-gap:.23em;row-gap:.06em;align-items:baseline;max-width:1050px;line-height:1.08!important}
.page-title-word{display:inline-block;opacity:0;transform:translateY(18px);filter:blur(5px);animation:cifaciWordIn .62s var(--cifaci-ease) forwards;animation-delay:calc(var(--word-index,0) * 65ms)}
@keyframes cifaciWordIn{to{opacity:1;transform:none;filter:none}}

/* Navigation & buttons */
.menu a{position:relative;transition:color var(--cifaci-motion-fast) ease,transform var(--cifaci-motion-fast) ease}
.menu a:not(.btn):not(.pill)::after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:linear-gradient(90deg,var(--gold),#f3ce6a);transition:right .28s var(--cifaci-ease);border-radius:9px}
.menu a:not(.btn):not(.pill):hover{transform:translateY(-2px)}
.menu a:not(.btn):not(.pill):hover::after,.menu a.current:not(.btn):not(.pill)::after{right:0}
.btn,.pill{transition:transform .25s var(--cifaci-ease),box-shadow .25s var(--cifaci-ease),filter .25s ease!important}
.btn:hover,.pill:hover{transform:translateY(-3px) scale(1.025);filter:saturate(1.06)}

/* Scroll reveal */
.cifaci-reveal{opacity:0;transform:translateY(24px) scale(.985);transition:opacity .72s var(--cifaci-ease),transform .72s var(--cifaci-ease)}
.cifaci-reveal.is-visible{opacity:1;transform:none}
.cifaci-reveal[data-reveal-index="1"]{transition-delay:70ms}.cifaci-reveal[data-reveal-index="2"]{transition-delay:140ms}.cifaci-reveal[data-reveal-index="3"]{transition-delay:210ms}.cifaci-reveal[data-reveal-index="4"]{transition-delay:280ms}

/* Premium but restrained interactive cards */
.card,.sector-card,.opportunity,.v4-intent-card,.v4-case-card,.contact-chip,.metric,.trust-item{
  transition:transform .32s var(--cifaci-ease),box-shadow .32s var(--cifaci-ease),border-color .32s ease,filter .32s ease;
  transform-style:preserve-3d;will-change:transform;
}
.card:hover,.opportunity:hover,.v4-intent-card:hover,.v4-case-card:hover,.contact-chip:hover,.metric:hover,.trust-item:hover{
  transform:translateY(-7px);box-shadow:0 28px 70px rgba(0,63,73,.17);border-color:rgba(201,150,26,.5)
}
.sector-card:hover{transform:translateY(-8px) scale(1.018);box-shadow:0 28px 70px rgba(0,63,73,.22)}
.sector-card img{transition:transform .7s var(--cifaci-ease),filter .7s var(--cifaci-ease)}
.sector-card:hover img{transform:scale(1.08);filter:saturate(1.1) contrast(1.03)}
.hero-panel{animation:cifaciFloat 5.5s ease-in-out infinite}
@keyframes cifaciFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* Gentle light sweep */
.page-hero::before,.hero::before{content:"";position:absolute;inset:-30% auto -30% -30%;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.075),transparent);transform:skewX(-18deg);animation:cifaciSweep 8s ease-in-out infinite;pointer-events:none;z-index:1}
@keyframes cifaciSweep{0%,62%{left:-35%}100%{left:120%}}

/* Footer interaction */
.footer-grid>div,.footer a,.footer p,.footer h3,.footer-logo{transition:transform .28s var(--cifaci-ease),color .28s ease,filter .28s ease,opacity .28s ease}
.footer-grid>div:hover{transform:translateY(-5px)}
.footer-grid>div:hover h3{transform:scale(1.08);transform-origin:left;color:#ffe08c}
.footer a{width:max-content;max-width:100%}
.footer a:hover{transform:translateX(7px) scale(1.075);color:#fff}
.footer-logo:hover{transform:scale(1.07) rotate(-1deg);filter:drop-shadow(0 12px 24px rgba(0,0,0,.2))}
.footer-since{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:7px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#ffd76c;font-weight:800;transition:transform .28s var(--cifaci-ease),background .28s ease}
.footer-since:hover{transform:scale(1.08);background:rgba(255,255,255,.08)}
.footer-contact-link{display:flex!important;align-items:center;gap:8px}
.footer-contact-link img{width:20px;height:20px;flex:0 0 auto}

/* Floating current WhatsApp brand icon */
.float-btn.wa{overflow:hidden;padding:0;background:#25D366!important;animation:cifaciWaPulse 3s ease-in-out infinite}
.float-btn.wa img{width:100%;height:100%;display:block}
.float-btn:hover{transform:translateY(-4px) scale(1.09)}
@keyframes cifaciWaPulse{0%,70%,100%{box-shadow:0 12px 28px rgba(0,0,0,.22),0 0 0 0 rgba(37,211,102,.24)}85%{box-shadow:0 12px 28px rgba(0,0,0,.22),0 0 0 11px rgba(37,211,102,0)}}

/* Admin messaging */
.cifaci-message-box{border:1px solid var(--line);border-radius:16px;padding:15px;margin:10px 0;background:var(--bg)}
.cifaci-message-box.cifaci{border-left:4px solid var(--teal);background:#eef8f8}.cifaci-message-box.client{border-left:4px solid var(--gold)}
.cifaci-quick-templates{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.cifaci-quick-templates button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 11px;cursor:pointer;font-weight:700;color:var(--teal)}
.cifaci-quick-templates button:hover{border-color:var(--gold);transform:translateY(-1px)}

/* Registration quality */
.password-match{font-size:12px;margin-top:5px}.password-match.ok{color:#15803d}.password-match.err{color:#b42318}

@media(max-width:760px){.page-hero h1{column-gap:.18em}.footer-grid>div:hover{transform:none}.footer a:hover{transform:translateX(3px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cifaci-reveal,.page-title-word{opacity:1!important;transform:none!important;filter:none!important}}

/* Contextual review communications */
.context-panel{margin:18px 0;border:1px solid rgba(0,92,103,.16);border-radius:20px;padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,250,250,.96));box-shadow:0 16px 45px rgba(0,63,73,.08);position:relative;overflow:hidden}
.context-panel::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,var(--gold),var(--teal),transparent);opacity:.9}
.context-panel.has-pending{border-color:rgba(201,150,26,.55);box-shadow:0 18px 55px rgba(201,150,26,.13)}
.context-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}.context-panel-head h3{margin:3px 0 0;color:var(--teal)}
.context-kicker{font-size:11px;letter-spacing:.13em;font-weight:900;color:var(--gold);text-transform:uppercase}.context-pending-badge{display:inline-flex;align-items:center;gap:6px;background:#fff5d6;color:#835e00;border:1px solid #f0d47e;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;animation:contextAttention 2.6s ease-in-out infinite}
@keyframes contextAttention{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(201,150,26,.15)}50%{transform:scale(1.035);box-shadow:0 0 0 9px rgba(201,150,26,0)}}
.context-thread{display:flex;flex-direction:column;gap:10px;max-height:430px;overflow:auto;padding:3px 3px 8px;scrollbar-width:thin}.context-message{border-radius:15px;padding:12px 14px;border:1px solid var(--line);background:#fff;animation:contextMessageIn .38s var(--cifaci-ease) both}.context-message.from-admin{border-left:4px solid var(--teal);background:#eef8f8}.context-message.from-user{border-left:4px solid var(--gold);background:#fffaf0}.context-message.needs-response{box-shadow:inset 0 0 0 1px rgba(201,150,26,.24)}
@keyframes contextMessageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.context-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:6px}.context-meta span{color:var(--muted)}.context-message p{margin:7px 0}.context-doc-request{padding:8px 10px;border-radius:10px;background:rgba(201,150,26,.09);margin-top:8px;font-size:13px}.context-attachment{display:inline-flex;margin-top:8px;font-weight:800;color:var(--teal)}.context-state{font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;margin-top:8px;color:#6b7280}.context-inline-form{margin-top:8px}.context-compose{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.context-compose summary{cursor:pointer;font-weight:900;color:var(--teal);transition:transform .2s ease,color .2s ease}.context-compose summary:hover{transform:translateX(4px);color:var(--gold)}.context-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.context-form-grid .full{grid-column:1/-1}.context-templates{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.context-templates button{border:1px solid rgba(0,92,103,.18);background:white;color:var(--teal);border-radius:999px;padding:7px 10px;cursor:pointer;font-size:11px;font-weight:800;transition:all .2s var(--cifaci-ease)}.context-templates button:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 8px 20px rgba(0,63,73,.1)}.context-reply-form{border-top:1px solid var(--line);padding-top:14px;margin-top:12px}.context-migration-note{padding:9px 11px;background:#fff8e6;border:1px dashed #d9ae3d;border-radius:10px;font-size:12px;color:#765708;margin-top:8px}.context-dashboard-alert{animation:contextSoftGlow 3s ease-in-out infinite}@keyframes contextSoftGlow{50%{box-shadow:0 0 0 7px rgba(201,150,26,.06)}}

/* Stronger but professional interaction layer */
.dash-main .card,.dash-main .v4-kpi,.dash-main .v4-case-card,.admin-toolbar,.table-wrap{transition:transform .32s var(--cifaci-ease),box-shadow .32s var(--cifaci-ease),border-color .32s ease;will-change:transform}
.dash-main .card:hover,.dash-main .v4-kpi:hover{transform:translateY(-5px);box-shadow:0 22px 58px rgba(0,63,73,.12)}
.v4-kpi{position:relative;overflow:hidden}.v4-kpi::after{content:"";position:absolute;inset:-40% -80%;background:linear-gradient(115deg,transparent 44%,rgba(255,255,255,.32) 50%,transparent 56%);transform:translateX(-45%);transition:transform .75s ease;pointer-events:none}.v4-kpi:hover::after{transform:translateX(45%)}
.dashboard-welcome{position:relative;overflow:hidden}.dashboard-welcome::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-90px;background:radial-gradient(circle,rgba(201,150,26,.16),transparent 68%);animation:cifaciAmbient 6s ease-in-out infinite;pointer-events:none}@keyframes cifaciAmbient{50%{transform:scale(1.22) translate(-16px,14px);opacity:.55}}
.side-nav a{transition:transform .22s var(--cifaci-ease),background .22s ease,color .22s ease,box-shadow .22s ease}.side-nav a:hover{transform:translateX(6px);box-shadow:inset 3px 0 0 var(--gold)}
.admin-table tbody tr,.v4-table tbody tr,.table tbody tr{transition:transform .2s var(--cifaci-ease),background .2s ease,box-shadow .2s ease}.admin-table tbody tr:hover,.v4-table tbody tr:hover,.table tbody tr:hover{transform:translateX(3px);background:rgba(0,92,103,.035);box-shadow:0 7px 20px rgba(0,63,73,.05)}
input,select,textarea{transition:border-color .22s ease,box-shadow .22s ease,transform .22s var(--cifaci-ease)}input:focus,select:focus,textarea:focus{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(0,92,103,.08)!important;border-color:rgba(0,92,103,.45)!important;outline:none}
.dash-top h1,.dashboard-welcome h2{position:relative;width:max-content;max-width:100%}.dash-top h1::after,.dashboard-welcome h2::after{content:"";display:block;height:3px;width:34%;margin-top:5px;border-radius:99px;background:linear-gradient(90deg,var(--gold),transparent);transition:width .45s var(--cifaci-ease)}.dash-top:hover h1::after,.dashboard-welcome:hover h2::after{width:78%}
.context-panel,.dash-main .card,.v4-kpi,.v4-case-card{--mx:50%;--my:50%}.cifaci-spotlight{background-image:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.34),transparent 34%)}
.context-kpi strong{color:var(--gold)}

@media(max-width:760px){.context-form-grid{grid-template-columns:1fr}.context-form-grid .full{grid-column:auto}.context-panel{padding:14px}.context-thread{max-height:none}.dash-main .card:hover,.dash-main .v4-kpi:hover{transform:none}}
.context-panel.compact{padding:10px 12px;margin:10px 0 0;box-shadow:none;background:#fbfdfd}.context-panel.compact .context-panel-head h3{font-size:14px}.context-panel.compact .context-kicker{font-size:9px}.context-panel.compact .context-thread{max-height:220px}.context-panel.compact .context-message{padding:9px 10px}.context-panel.compact .context-compose summary{font-size:12px}.context-overview{border-top:3px solid var(--gold)}

/* === CIFACI unread notifications & contextual reply badges === */
.nav-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;margin-left:6px;border-radius:999px;background:#a81414;color:#fff!important;font-size:11px;font-weight:900;line-height:1;box-shadow:0 0 0 0 rgba(168,20,20,.42);animation:cifaciUnreadPulse 2.1s ease-in-out infinite;transform-origin:center}
.side-nav a:hover .nav-unread-badge{transform:scale(1.13);box-shadow:0 7px 18px rgba(168,20,20,.22)}
.notification-nav-link{position:relative}.notification-center-card{overflow:hidden;position:relative}.notification-center-card::after{content:"";position:absolute;inset:-50% auto auto -20%;width:34%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);transform:rotate(14deg);pointer-events:none;animation:cifaciNotifySweep 9s ease-in-out infinite}
.notification-timeline{position:relative;z-index:1}.notification-item{transition:transform .24s var(--cifaci-ease),box-shadow .24s ease,border-color .24s ease,background .24s ease}.notification-item:hover{transform:translateX(5px);box-shadow:0 12px 30px rgba(0,63,73,.08)}.notification-unread{background:linear-gradient(90deg,rgba(201,150,26,.11),rgba(255,255,255,.98) 32%);border-left:4px solid var(--gold);animation:cifaciUnreadCard 3.2s ease-in-out infinite}.notification-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.notification-new-dot{font-size:10px;font-weight:900;letter-spacing:.05em;color:#a81414}.notification-open-link{font-weight:900;color:var(--teal)}.notification-mark-read{border:0;background:none;color:var(--teal);cursor:pointer;padding:0;font-weight:800}.notification-mark-read:hover,.notification-open-link:hover{color:var(--gold)}
@keyframes cifaciUnreadPulse{0%,100%{box-shadow:0 0 0 0 rgba(168,20,20,.26)}50%{box-shadow:0 0 0 7px rgba(168,20,20,0)}}
@keyframes cifaciUnreadCard{0%,100%{box-shadow:0 0 0 rgba(201,150,26,0)}50%{box-shadow:0 0 0 5px rgba(201,150,26,.04)}}
@keyframes cifaciNotifySweep{0%,70%,100%{transform:translateX(-160%) rotate(14deg)}84%{transform:translateX(470%) rotate(14deg)}}
@media(max-width:760px){.nav-unread-badge{height:20px;min-width:21px;padding:0 6px}.notification-item:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.nav-unread-badge,.notification-unread,.notification-center-card::after{animation:none!important}}
/* Mobile portal/admin navigation improvement */
.mobile-sidebar-toggle{display:none;width:100%;margin:16px 0 4px;padding:11px 13px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);color:#fff;font-weight:900;cursor:pointer}
@media(max-width:980px){.sidebar{padding:16px}.mobile-sidebar-toggle{display:block}.sidebar .side-nav{display:none;margin-top:10px}.sidebar.nav-open .side-nav{display:block}.sidebar img{max-width:150px}.dash-top{align-items:flex-start}.dash-main{min-width:0}.table-wrap{max-width:100vw}.table{min-width:700px}}
@media(max-width:620px){.dash-top{flex-direction:column}.dash-top h1{font-size:28px}.dashboard-welcome{padding:20px}.dashboard-welcome .btn{width:100%;text-align:center}.card.admin-section{padding:16px}.v4-form-grid{grid-template-columns:1fr!important}.v4-actions .btn{width:100%;justify-content:center}.stats{grid-template-columns:1fr 1fr}}
