/* GestorPro V7 - módulos + microinterações profissionais */
:root{--v7-ease:cubic-bezier(.2,.75,.25,1);--v7-ring:rgba(37,99,235,.13)}

/* Module selector */
.register-card-v7{overflow:visible!important}
.register-step-title{display:flex;align-items:center;gap:12px;padding-bottom:4px}
.register-step-title>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;color:#175cd3;background:#eff8ff;border:1px solid #b2ddff;border-radius:10px;font-size:.78rem;font-weight:800;box-shadow:0 5px 14px rgba(37,99,235,.08)}
.register-step-title strong,.register-step-title small{display:block}.register-step-title strong{color:#101828;font-size:.98rem}.register-step-title small{margin-top:2px;color:#667085;font-size:.78rem;line-height:1.45}
.module-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.module-choice-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:start;min-height:174px;padding:18px;color:#344054;background:#fff;border:1px solid #e4e7ec;border-radius:17px;box-shadow:0 1px 2px rgba(16,24,40,.04);cursor:pointer;user-select:none;overflow:hidden;transition:border-color .22s var(--v7-ease),box-shadow .22s var(--v7-ease),transform .22s var(--v7-ease),background .22s ease}
.module-choice-card::after{content:"";position:absolute;right:-48px;bottom:-54px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.11),transparent 68%);opacity:0;transform:scale(.75);transition:.28s var(--v7-ease);pointer-events:none}
.module-choice-card:hover{transform:translateY(-3px);border-color:#b2ccff;box-shadow:0 12px 28px rgba(16,24,40,.09)}
.module-choice-card:hover::after,.module-choice-card.is-selected::after{opacity:1;transform:scale(1)}
.module-choice-card.is-selected{border-color:#84adff;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 0 0 3px var(--v7-ring),0 12px 28px rgba(16,24,40,.08)}
.module-choice-card input{position:absolute;opacity:0;pointer-events:none}
.module-choice-icon{display:grid;place-items:center;width:48px;height:48px;color:#175cd3;background:#eff8ff;border:1px solid #d1e9ff;border-radius:14px;font-size:1.25rem;transition:.24s var(--v7-ease)}
.module-choice-card.is-selected .module-choice-icon{color:#fff;background:linear-gradient(135deg,var(--primary,#2563eb),#2e90fa);border-color:transparent;box-shadow:0 9px 20px rgba(37,99,235,.22);transform:rotate(-3deg) scale(1.04)}
.module-choice-copy{display:block;min-width:0;padding-right:24px}.module-choice-copy strong{display:block;color:#101828;font-size:1rem;font-weight:720;letter-spacing:-.02em}.module-choice-copy small{display:block;margin-top:6px;color:#667085;font-size:.8rem;line-height:1.5}
.module-choice-check{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:25px;height:25px;color:transparent;background:#f2f4f7;border:1px solid #e4e7ec;border-radius:8px;font-size:.78rem;transition:.2s var(--v7-ease)}
.module-choice-card.is-selected .module-choice-check{color:#fff;background:#175cd3;border-color:#175cd3;transform:scale(1.06)}
.module-choice-features{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.module-choice-features em{padding:5px 8px;color:#475467;background:#f8fafc;border:1px solid #eaecf0;border-radius:999px;font-size:.66rem;font-style:normal;font-weight:650;transition:.2s ease}.module-choice-card.is-selected .module-choice-features em{color:#175cd3;background:#eff8ff;border-color:#d1e9ff}
.feature-selection-feedback{display:flex;align-items:center;gap:8px;margin-top:12px;padding:9px 11px;color:#475467;background:#f8fafc;border:1px solid #eaecf0;border-radius:10px;font-size:.76rem;transition:.2s ease}.feature-selection-feedback i{color:#2e90fa}.feature-selection-feedback.is-error{color:#b42318;background:#fef3f2;border-color:#fecdca}.feature-selection-feedback.is-error i{color:#f04438}
.module-choice-grid-compact .module-choice-card{min-height:130px}.module-choice-grid-compact .module-choice-features{display:none}
.section-eyebrow-v7{display:inline-flex;align-items:center;gap:7px;color:#175cd3;font-size:.7rem;font-weight:720;letter-spacing:.05em;text-transform:uppercase}

/* Professional animated controls */
body.app-v6 .btn,body.guest-v6 .btn,body.public-v6 .btn{position:relative;isolation:isolate;overflow:hidden;transition:transform .17s var(--v7-ease),box-shadow .2s ease,border-color .2s ease,background-color .2s ease}
body.app-v6 .btn:not(:disabled):active,body.guest-v6 .btn:not(:disabled):active,body.public-v6 .btn:not(:disabled):active{transform:translateY(1px) scale(.985)}
.animated-primary-button::after{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;background:linear-gradient(100deg,transparent 10%,rgba(255,255,255,.28) 45%,transparent 70%);transform:translateX(-130%);transition:transform .55s var(--v7-ease)}
.animated-primary-button:hover::after{transform:translateX(130%)}
.v7-ripple{position:absolute;z-index:2;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:rgba(255,255,255,.42);pointer-events:none;transform:scale(0);animation:v7-ripple .5s ease-out forwards}
@keyframes v7-ripple{to{transform:scale(18);opacity:0}}

body.app-v6 .nav-menu .nav-link i{transition:transform .2s var(--v7-ease),color .18s ease}
body.app-v6 .nav-menu .nav-link:hover i{transform:translateX(2px) scale(1.06)}
body.app-v6 .nav-menu .nav-link.active i{animation:v7-nav-pop .28s var(--v7-ease)}
@keyframes v7-nav-pop{0%{transform:scale(.86)}70%{transform:scale(1.1)}100%{transform:scale(1)}}

body.app-v6 .panel-card,body.app-v6 .metric-card,body.app-v6 .mini-stat{transition:transform .2s var(--v7-ease),box-shadow .2s ease,border-color .2s ease}
body.app-v6 .panel-card:hover{border-color:#d6dae1;box-shadow:0 8px 22px rgba(16,24,40,.07)}
body.app-v6 .metric-card:hover,body.app-v6 .mini-stat:hover{transform:translateY(-2px);border-color:#d6dae1;box-shadow:0 8px 20px rgba(16,24,40,.07)}
body.app-v6 .form-control,body.app-v6 .form-select,body.guest-v6 .form-control,body.guest-v6 .form-select{transition:border-color .18s ease,box-shadow .18s ease,transform .18s var(--v7-ease)}
body.app-v6 .form-control:focus,body.app-v6 .form-select:focus,body.guest-v6 .form-control:focus,body.guest-v6 .form-select:focus{transform:translateY(-1px)}

/* top page progress for internal navigation */
.v7-navigation-progress{position:fixed;top:0;left:0;z-index:99999;height:3px;width:0;background:linear-gradient(90deg,var(--primary,#2563eb),#2e90fa,#12b76a);box-shadow:0 0 14px rgba(37,99,235,.35);opacity:0;transition:width .3s ease,opacity .15s ease}.v7-navigation-progress.is-active{width:72%;opacity:1}.v7-navigation-progress.is-finishing{width:100%;opacity:0;transition:width .18s ease,opacity .28s .1s ease}

/* animated flash/notifications */
.alert,.notification-card{animation:v7-soft-in .36s var(--v7-ease) both}@keyframes v7-soft-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

@media(max-width:767px){.module-choice-grid{grid-template-columns:1fr}.module-choice-card{min-height:150px}.register-step-title small{max-width:290px}}
@media(prefers-reduced-motion:reduce){.module-choice-card,.module-choice-icon,.animated-primary-button::after,.btn,.nav-link i,.panel-card,.metric-card,.mini-stat,.form-control,.form-select{transition:none!important;animation:none!important}.v7-ripple,.v7-navigation-progress{display:none!important}}
