*{box-sizing:border-box}
body{min-height:100vh;background:linear-gradient(135deg,#eef6ff 0%,#f7f8ff 48%,#eafaf1 100%);font-family:Arial,Helvetica,sans-serif;color:#1f2937}
.app-main{padding-top:88px!important}.app-navbar{background:linear-gradient(90deg,#075e54,#128c7e,#25d366);box-shadow:0 8px 28px rgba(0,0,0,.18)}
.brand-icon{width:34px;height:34px;border-radius:12px;background:#fff;color:#075e54;display:inline-flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.navbar .nav-link{font-weight:600;border-radius:999px;padding:.45rem .75rem!important;margin:.1rem .05rem}.navbar .nav-link:hover{background:rgba(255,255,255,.18)}
.card-soft{border:0;border-radius:22px;box-shadow:0 10px 30px rgba(15,23,42,.10);overflow:hidden;background:rgba(255,255,255,.94)}.card-header-grad{background:linear-gradient(90deg,#075e54,#25d366);color:#fff;padding:18px 20px}.page-title{font-weight:900;color:#075e54;letter-spacing:-.5px}.btn-zap{background:linear-gradient(90deg,#075e54,#25d366);border:0;color:#fff;font-weight:700;border-radius:999px}.btn-zap:hover{color:#fff;filter:brightness(.96)}.btn-pill{border-radius:999px;font-weight:700}
.table thead th{white-space:nowrap;background:#f1f5f9!important;color:#0f172a!important}.table td{vertical-align:middle}.modal-content{border:0;border-radius:22px;box-shadow:0 20px 55px rgba(0,0,0,.25)}.modal-header{background:linear-gradient(90deg,#075e54,#25d366);color:#fff;border:0}.modal-header .btn-close{filter:invert(1)}
.form-label{font-weight:700;color:#334155}.form-control,.form-select{border-radius:14px;padding:.72rem .9rem}.form-control:focus,.form-select:focus{border-color:#25d366;box-shadow:0 0 0 .2rem rgba(37,211,102,.18)}.kpi{border-radius:22px;padding:18px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.08);border-left:6px solid #25d366}.kpi h3{font-size:32px;font-weight:900;margin:0;color:#075e54}.kpi span{font-weight:700;color:#64748b}
.accordion-button:not(.collapsed){background:#e8fff0;color:#075e54;font-weight:800}.accordion-button{font-weight:800}.aluno-foto{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#e2e8f0;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}.actions{white-space:nowrap}.badge-soft{background:#dcfce7;color:#166534;border-radius:999px;padding:.35rem .65rem;font-weight:700}.required:after{content:' *';color:#dc2626}
@media(max-width:991px){.navbar-collapse{background:rgba(7,94,84,.98);padding:14px;border-radius:18px;margin-top:10px}.app-main{padding-top:82px!important}.table-responsive{font-size:14px}.btn{padding:.55rem .75rem}.modal-dialog{margin:.5rem}}

/* Menu com grupos e submenus */
.app-dropdown{padding:.55rem;min-width:255px;background:rgba(255,255,255,.98);backdrop-filter:blur(8px)}
.app-dropdown .dropdown-item{border-radius:14px;font-weight:700;color:#0f172a;padding:.65rem .78rem;display:flex;align-items:center;gap:.6rem}
.app-dropdown .dropdown-item i{font-size:1.05rem;color:#075e54;width:22px;text-align:center}
.app-dropdown .dropdown-item:hover{background:#e8fff0;color:#075e54}
.navbar .dropdown-toggle::after{vertical-align:.12em}
@media(min-width:992px){.navbar .dropdown:hover>.dropdown-menu{display:block;margin-top:0}.navbar .dropdown:hover>.dropdown-toggle{background:rgba(255,255,255,.18)}}
@media(max-width:991px){.app-dropdown{background:rgba(255,255,255,.08);box-shadow:none!important;border-radius:16px!important;margin:.2rem 0 .6rem}.app-dropdown .dropdown-item{color:#fff}.app-dropdown .dropdown-item i{color:#fff}.app-dropdown .dropdown-item:hover{background:rgba(255,255,255,.16);color:#fff}.user-area-top{justify-content:space-between;margin-top:.55rem}}
