:root{--blue:#001a71;--blue-2:#0b328f;--green:#4b9461;--bg:#f4f7fb;--text:#172033;--muted:#64748b;--border:#dfe6ef;--danger:#b42318;--warning:#a15c00;--white:#fff;--shadow:0 12px 35px rgba(15,35,80,.08)}
.sidebar-user form{margin:9px 0 0}.sidebar-logout{border:0;background:transparent;color:#fff;text-decoration:underline;padding:0;cursor:pointer;font:inherit}
.brand-logo{display:block;width:190px;max-width:100%;height:auto;background:#fff;border-radius:9px;padding:6px}.public-logo-image{display:block;width:min(230px,75vw);height:auto;background:#fff;border-radius:9px;padding:7px}
.certificate{overflow:hidden}.certificate-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.certificate-content{position:relative;z-index:1;min-height:176mm;padding:17mm 20mm;display:flex;flex-direction:column;justify-content:center;font-family:var(--certificate-font,Arial,sans-serif);color:var(--certificate-color,#1f2937);font-size:var(--certificate-size,18px);transform:translate(calc(var(--certificate-x,50%) - 50%),calc(var(--certificate-y,50%) - 50%));left:50%;top:50%;width:100%;box-sizing:border-box}.certificate.certificate-with-model{border:0!important;padding:0!important}.certificate.certificate-with-model:after{display:none!important}.certificate-with-model .certificate-content{min-height:210mm;padding:20mm 25mm}.certificate-signature{margin-top:35px!important}.model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.model-card>img{width:100%;aspect-ratio:1.414/1;object-fit:cover;border:1px solid var(--border);border-radius:10px;margin-bottom:18px}.model-delete{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.form-divider{border:0;border-top:1px solid var(--border);margin:28px 0}.certificate-preview{position:relative;overflow:hidden;aspect-ratio:1.414/1;background:#f4f7fb center/cover no-repeat;border:1px solid var(--border);border-radius:10px}.certificate-preview__text{position:absolute;left:50%;top:50%;width:74%;text-align:center;transform:translate(-50%,-50%);font-size:14px;color:#1f2937}.certificate-preview__recipient{font-size:22px;font-weight:700;margin:8px 0}.certificate-preview__signature{margin-top:18px;font-weight:700}@media(max-width:760px){.model-grid{grid-template-columns:1fr}.certificate.certificate-with-model{padding:0!important}.certificate-content,.certificate-with-model .certificate-content{min-height:auto;padding:45px 25px}}@media print{.certificate.certificate-with-model{border:0!important}.certificate-content,.certificate-with-model .certificate-content{height:210mm;min-height:210mm}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Arial,Helvetica,sans-serif}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:linear-gradient(180deg,var(--blue),#07154e);color:#fff;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#fff;padding:4px 8px 24px}.brand-mark{width:42px;height:42px;border-radius:13px;background:var(--green);display:grid;place-items:center;font-size:23px;font-weight:900}.brand strong,.brand small{display:block}.brand small{color:#b9c6e9}.nav{display:grid;gap:5px}.nav a{color:#d5ddf4;padding:11px 13px;border-radius:10px;font-weight:700}.nav a:hover,.nav a.active{color:#fff;background:rgba(255,255,255,.13)}.nav-label{margin:19px 13px 5px;color:#91a2d0;text-transform:uppercase;font-size:10px;letter-spacing:.12em;font-weight:800}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.15);padding:18px 9px 0}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user small{color:#b9c6e9;text-transform:capitalize}.sidebar-user a{display:inline-block;margin-top:9px;color:#fff;text-decoration:underline}.main-column{min-width:0}.topbar{min-height:96px;padding:22px 32px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px}.topbar h1{margin:0;color:var(--blue);font-size:25px}.topbar p{margin:3px 0 0;color:var(--muted)}.menu-toggle{display:none;border:0;background:#eef2ff;color:var(--blue);border-radius:9px;padding:9px 12px;font-size:21px}.content{padding:30px 32px;max-width:1500px;width:100%;margin:0 auto}.footer{padding:10px 32px 25px;color:var(--muted);font-size:12px}.grid{display:grid;gap:20px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:22px}.metric span{color:var(--muted);font-weight:700}.metric strong{display:block;margin-top:8px;color:var(--blue);font-size:34px}.metric small{color:var(--muted)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.section-header h2,.card h2,.card h3{margin:0;color:var(--blue)}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;padding:10px 15px;font-weight:800;cursor:pointer;background:var(--blue);color:#fff}.btn:hover{filter:brightness(1.08)}.btn-green{background:var(--green)}.btn-light{background:#edf1f8;color:var(--blue)}.btn-danger{background:#b42318}.btn-sm{padding:7px 10px;font-size:13px}.btn[disabled]{opacity:.55;cursor:not-allowed}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:13px;background:#fff}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:13px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}th{background:#f8fafc;color:#4b5563;font-size:12px;text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:0}.muted{color:var(--muted)}.badge{display:inline-block;border-radius:999px;padding:4px 9px;background:#eef2ff;color:var(--blue);font-size:12px;font-weight:800}.badge-green{background:#e8f5ec;color:#246739}.badge-red{background:#fdeceb;color:#9c2319}.badge-gray{background:#edf0f4;color:#55606f}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field-full{grid-column:1/-1}.field label{display:block;margin-bottom:6px;font-weight:800;color:#334155}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd5e1;border-radius:9px;background:#fff;padding:11px 12px;outline:none}.field textarea{min-height:105px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,26,113,.1)}.field small{display:block;color:var(--muted);margin-top:5px}.alert{margin-bottom:18px;padding:12px 14px;border-radius:10px;border:1px solid}.alert-success{background:#e8f5ec;border-color:#b7dfc2;color:#215f32}.alert-error{background:#fff0ef;border-color:#f5c5c0;color:#98261d}.alert-warning{background:#fff7e8;border-color:#f1d49d;color:#7d4b00}.alert-info{background:#edf4ff;border-color:#c2d5f6;color:#173e83}.empty{text-align:center;padding:45px 20px;color:var(--muted)}.searchbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.searchbar input,.searchbar select{min-width:200px;flex:1;border:1px solid #cbd5e1;border-radius:9px;padding:10px 12px}.hero{background:linear-gradient(135deg,var(--blue),#123e9a);color:#fff;border-radius:18px;padding:27px}.hero h2{margin:0 0 8px}.hero p{margin:0;color:#dbe4ff}.progress{height:9px;background:#e7ebf2;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--green)}.public-body{min-height:100vh;background:linear-gradient(145deg,#edf3ff,#f6fbf7);padding:24px}.public-wrap{width:min(680px,100%);margin:35px auto}.public-logo{display:flex;justify-content:center;align-items:center;gap:10px;color:var(--blue);font-weight:900;font-size:21px;margin-bottom:22px}.public-card{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 22px 55px rgba(0,26,113,.11);padding:30px}.public-card h1{color:var(--blue);margin:0 0 8px}.public-card>p{color:var(--muted);margin:0 0 24px}.success-icon{width:72px;height:72px;margin:0 auto 16px;border-radius:50%;background:#e6f5eb;color:var(--green);display:grid;place-items:center;font-size:36px;font-weight:900}.text-center{text-align:center}.qr-box{background:#fff;border:1px solid var(--border);border-radius:14px;padding:15px;display:inline-block}.qr-box svg{display:block;max-width:100%;height:auto}.help{padding:12px;border-left:4px solid var(--green);background:#f0f8f2;color:#365c41}.pagination{display:flex;gap:6px;margin-top:18px}.pagination a{padding:7px 11px;border:1px solid var(--border);background:#fff;border-radius:7px}.pagination a.active{background:var(--blue);color:#fff}.inline-form{display:inline}.kicker{font-size:12px;color:var(--green);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.certificate-page{background:#eee;padding:20px}.certificate{width:297mm;min-height:210mm;margin:auto;background:#fff;border:12px solid var(--blue);padding:17mm 20mm;position:relative;text-align:center;display:flex;flex-direction:column;justify-content:center}.certificate:after{content:"";position:absolute;inset:8px;border:3px solid var(--green);pointer-events:none}.certificate h1{font-size:36px;color:var(--blue);margin:10px}.certificate .recipient{font-size:32px;color:var(--green);font-weight:900;margin:18px 0}.certificate p{font-size:18px;max-width:900px;margin:5px auto}.certificate .code{margin-top:28px;font-size:13px;color:#475569}.no-print{margin:0 auto 15px;width:297mm;display:flex;justify-content:flex-end;gap:8px}@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:-270px;z-index:20;width:250px;transition:left .2s}.sidebar.open{left:0}.menu-toggle{display:block}.topbar{padding:18px 20px}.content{padding:22px 16px}.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.section-header{align-items:flex-start;flex-direction:column}.public-body{padding:12px}.public-wrap{margin:15px auto}.public-card{padding:23px}.certificate{width:100%;min-height:auto;padding:45px 25px}.no-print{width:100%}}@media print{.sidebar,.topbar,.footer{display:none!important}.app-shell{display:block}.content{padding:0}.card{box-shadow:none}.no-print{display:none!important}.certificate-page{padding:0;background:#fff}.certificate{width:297mm;height:210mm;margin:0;border-width:10px;box-shadow:none;page-break-after:avoid}@page{size:A4 landscape;margin:0}}

/* Menu lateral com leitura clara e ícones consistentes */
.app-shell{grid-template-columns:220px minmax(0,1fr)}
.sidebar{width:220px;padding:12px 10px 10px;background:linear-gradient(165deg,rgba(12,46,132,.94) 0%,rgba(4,25,91,.92) 58%,rgba(2,15,59,.9) 100%);border-right:1px solid rgba(255,255,255,.24);box-shadow:8px 0 28px rgba(3,18,63,.16),inset -1px 0 rgba(255,255,255,.08);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}
.nav-symbols{position:absolute;width:0;height:0;overflow:hidden}
.brand{justify-content:center;padding:0;margin:0 2px 10px;border:1px solid rgba(255,255,255,.42);border-radius:10px;overflow:hidden;flex:0 0 auto;background:rgba(255,255,255,.82);box-shadow:0 6px 18px rgba(0,0,0,.12),inset 0 1px rgba(255,255,255,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.brand-logo{width:100%;max-width:190px;max-height:55px;object-fit:contain;background:transparent;border-radius:9px;padding:6px}
.nav{display:flex;flex-direction:column;gap:3px;min-height:0;overflow-y:auto;padding:1px 2px 6px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
.nav a{position:relative;display:flex;align-items:center;gap:9px;min-height:40px;padding:6px 9px;color:#f1f5ff;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:700;line-height:1.15;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.nav a:hover{color:#fff;background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.2);box-shadow:inset 0 1px rgba(255,255,255,.08);transform:translateX(1px);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nav a.active{color:var(--blue);background:rgba(255,255,255,.88);border-color:rgba(255,255,255,.7);box-shadow:0 6px 16px rgba(0,0,0,.14),inset 0 1px rgba(255,255,255,.95);transform:none;backdrop-filter:blur(15px) saturate(135%);-webkit-backdrop-filter:blur(15px) saturate(135%)}
.nav a.active:after{content:"";position:absolute;right:-3px;top:9px;width:3px;height:22px;border-radius:4px 0 0 4px;background:var(--green);box-shadow:0 0 8px rgba(75,148,97,.7)}
.nav-icon{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav a.active .nav-icon{color:var(--green);stroke-width:2}
.nav-label{margin:8px 6px 2px;padding:8px 3px 0;border-top:1px solid rgba(255,255,255,.16);color:#b8c5e9;font-size:9px;letter-spacing:.12em;font-weight:900}
.sidebar-user{display:grid;grid-template-columns:31px minmax(0,1fr);gap:8px;align-items:start;margin-top:auto;padding:8px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.17);border-radius:10px;box-shadow:inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);flex:0 0 auto}
.sidebar-user-avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:rgba(75,148,97,.92);color:#fff;font-size:14px;font-weight:900;box-shadow:inset 0 1px rgba(255,255,255,.2)}
.sidebar-user-info{min-width:0}
.sidebar-user strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:12px;line-height:1.25}
.sidebar-user small{color:#c5d0ee;font-size:10px;line-height:1.2}
.sidebar-user form{margin:3px 0 0}
.sidebar-logout{color:#fff;text-decoration:none;font-size:11px;font-weight:700;opacity:.86}
.sidebar-logout:hover{opacity:1;text-decoration:underline}
@media(max-width:760px){.sidebar{left:-238px;width:220px;padding:12px 10px 10px;transition:left .2s ease;box-shadow:14px 0 35px rgba(2,13,48,.3)}.sidebar.open{left:0}}

/* Tema administrativo claro com vidro em todas as superfícies */
.app-shell{
    --glass-accent:#1687f8;
    --glass-accent-soft:rgba(22,135,248,.12);
    --glass-ink:#253f57;
    --glass-muted:#6b8194;
    background:
        radial-gradient(circle at 7% 4%,rgba(74,163,255,.25),transparent 28%),
        radial-gradient(circle at 92% 14%,rgba(87,188,151,.17),transparent 25%),
        radial-gradient(circle at 75% 92%,rgba(132,104,238,.12),transparent 28%),
        linear-gradient(145deg,#edf6ff 0%,#f7fbff 48%,#eef5f8 100%);
    color:var(--glass-ink);
}
.sidebar{
    color:var(--glass-ink);
    background:rgba(248,252,255,.68);
    border-right:1px solid rgba(255,255,255,.88);
    box-shadow:10px 0 35px rgba(55,91,126,.12),inset -1px 0 rgba(255,255,255,.68);
    backdrop-filter:blur(24px) saturate(145%);
    -webkit-backdrop-filter:blur(24px) saturate(145%);
}
.brand{
    background:rgba(255,255,255,.58);
    border-color:rgba(255,255,255,.92);
    box-shadow:0 7px 22px rgba(49,88,126,.1),inset 0 1px rgba(255,255,255,.96);
}
.nav a{
    color:#60778b;
    text-shadow:none;
}
.nav a:hover{
    color:#0878df;
    background:rgba(255,255,255,.58);
    border-color:rgba(255,255,255,.9);
    box-shadow:0 5px 15px rgba(50,96,140,.08),inset 0 1px rgba(255,255,255,.9);
}
.nav a.active{
    color:#0878df;
    background:rgba(218,239,255,.72);
    border-color:rgba(255,255,255,.92);
    box-shadow:0 7px 20px rgba(35,115,187,.12),inset 0 1px rgba(255,255,255,.96);
}
.nav a.active:after{
    background:var(--glass-accent);
    box-shadow:0 0 9px rgba(22,135,248,.6);
}
.nav a.active .nav-icon{color:var(--glass-accent)}
.nav-label{
    color:#8094a6;
    border-top-color:rgba(101,132,158,.16);
}
.sidebar-user{
    background:rgba(255,255,255,.5);
    border-color:rgba(255,255,255,.9);
    box-shadow:0 7px 20px rgba(47,83,119,.08),inset 0 1px rgba(255,255,255,.95);
}
.sidebar-user-avatar{
    background:linear-gradient(145deg,#48a4ff,#0878df);
    box-shadow:0 5px 13px rgba(22,135,248,.25),inset 0 1px rgba(255,255,255,.35);
}
.sidebar-user strong{color:#29445d}
.sidebar-user small{color:#74899c}
.sidebar-logout{color:#0878df}
.main-column{background:transparent}
.topbar{
    position:sticky;
    top:0;
    z-index:10;
    min-height:82px;
    background:rgba(255,255,255,.58);
    border-bottom:1px solid rgba(255,255,255,.88);
    box-shadow:0 8px 28px rgba(52,88,122,.07),inset 0 1px rgba(255,255,255,.95);
    backdrop-filter:blur(22px) saturate(145%);
    -webkit-backdrop-filter:blur(22px) saturate(145%);
}
.topbar h1{color:#234b71}
.topbar p{color:var(--glass-muted)}
.menu-toggle{
    color:#0878df;
    background:rgba(255,255,255,.62);
    border:1px solid rgba(255,255,255,.9);
    box-shadow:0 5px 14px rgba(52,91,126,.1);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}
.app-shell .card,
.app-shell .table-wrap{
    background:rgba(255,255,255,.55);
    border-color:rgba(255,255,255,.9);
    box-shadow:0 14px 34px rgba(49,87,124,.09),inset 0 1px rgba(255,255,255,.96);
    backdrop-filter:blur(20px) saturate(135%);
    -webkit-backdrop-filter:blur(20px) saturate(135%);
}
.app-shell .card h2,
.app-shell .card h3,
.app-shell .section-header h2{color:#264c70}
.app-shell table{background:transparent}
.app-shell th{
    color:#587086;
    background:rgba(235,245,253,.56);
    border-bottom-color:rgba(155,183,205,.25);
}
.app-shell td{border-bottom-color:rgba(155,183,205,.22)}
.app-shell tbody tr{transition:background .15s ease}
.app-shell tbody tr:hover{background:rgba(255,255,255,.42)}
.app-shell .field input,
.app-shell .field select,
.app-shell .field textarea,
.app-shell .searchbar input,
.app-shell .searchbar select{
    color:#29445d;
    background:rgba(255,255,255,.54);
    border-color:rgba(255,255,255,.92);
    box-shadow:inset 0 1px rgba(255,255,255,.9),0 5px 15px rgba(60,95,127,.05);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}
.app-shell .field input:focus,
.app-shell .field select:focus,
.app-shell .field textarea:focus,
.app-shell .searchbar input:focus,
.app-shell .searchbar select:focus{
    border-color:rgba(22,135,248,.52);
    box-shadow:0 0 0 3px rgba(22,135,248,.12),inset 0 1px rgba(255,255,255,.95);
}
.app-shell .field label{color:#3b566d}
.app-shell .muted,
.app-shell .field small{color:var(--glass-muted)}
.app-shell .btn{
    background:rgba(0,72,153,.86);
    border:1px solid rgba(255,255,255,.32);
    box-shadow:0 7px 16px rgba(16,84,151,.16),inset 0 1px rgba(255,255,255,.25);
    backdrop-filter:blur(12px) saturate(135%);
    -webkit-backdrop-filter:blur(12px) saturate(135%);
}
.app-shell .btn-light{
    color:#1769af;
    background:rgba(255,255,255,.58);
    border-color:rgba(255,255,255,.92);
    box-shadow:0 6px 15px rgba(49,87,124,.08),inset 0 1px rgba(255,255,255,.96);
}
.app-shell .btn-green{background:rgba(54,145,90,.84)}
.app-shell .btn-danger{background:rgba(180,35,24,.84)}
.app-shell .badge{
    color:#1769af;
    background:rgba(222,240,255,.64);
    border:1px solid rgba(255,255,255,.78);
    box-shadow:inset 0 1px rgba(255,255,255,.82);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}
.app-shell .badge-green{color:#276b40;background:rgba(219,243,226,.66)}
.app-shell .badge-red{color:#9c2319;background:rgba(253,226,224,.68)}
.app-shell .badge-gray{color:#596b7a;background:rgba(233,239,244,.68)}
.app-shell .alert{
    background:rgba(255,255,255,.52);
    border-color:rgba(255,255,255,.88);
    box-shadow:0 8px 22px rgba(52,88,122,.07),inset 0 1px rgba(255,255,255,.9);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}
.app-shell .hero{
    color:#fff;
    background:linear-gradient(135deg,rgba(15,103,190,.84),rgba(31,84,167,.72));
    border:1px solid rgba(255,255,255,.34);
    box-shadow:0 14px 30px rgba(26,88,153,.14),inset 0 1px rgba(255,255,255,.25);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.app-shell .progress{background:rgba(169,192,211,.28)}
.app-shell .footer{color:#71879a}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
    .sidebar,.topbar,.app-shell .card,.app-shell .table-wrap{background:#f7fbff}
}
@media(max-width:760px){
    .sidebar{
        background:rgba(248,252,255,.86);
        box-shadow:14px 0 35px rgba(43,78,112,.2);
    }
}
@media print{
    .app-shell .card,.app-shell .table-wrap{
        background:#fff;
        box-shadow:none;
        backdrop-filter:none;
    }
}

/* Menu expansível: aberto com texto e compacto somente com ícones */
.app-shell{transition:grid-template-columns .22s ease}
.sidebar{z-index:30;transition:width .22s ease,padding .22s ease,box-shadow .22s ease}
.brand-compact{display:none}
.sidebar-collapse{
    position:absolute;
    top:28px;
    right:-12px;
    z-index:35;
    width:25px;
    height:25px;
    padding:0;
    display:grid;
    place-items:center;
    color:#397291;
    background:rgba(255,255,255,.75);
    border:1px solid rgba(255,255,255,.95);
    border-radius:8px;
    box-shadow:0 5px 16px rgba(44,79,111,.17),inset 0 1px rgba(255,255,255,.98);
    cursor:pointer;
    backdrop-filter:blur(14px) saturate(145%);
    -webkit-backdrop-filter:blur(14px) saturate(145%);
}
.sidebar-collapse span{
    display:block;
    font-size:19px;
    line-height:1;
    transform:translateX(-1px);
    transition:transform .22s ease;
}
.sidebar-collapse:hover{
    color:#0878df;
    background:rgba(255,255,255,.94);
}
.sidebar-collapse:focus-visible{
    outline:3px solid rgba(22,135,248,.22);
    outline-offset:2px;
}
html.sidebar-collapsed .app-shell{grid-template-columns:68px minmax(0,1fr)}
html.sidebar-collapsed .sidebar{
    width:68px;
    padding:12px 8px 10px;
}
html.sidebar-collapsed .brand{
    width:44px;
    height:44px;
    margin:0 auto 10px;
    border-radius:12px;
}
html.sidebar-collapsed .brand-logo{display:none}
html.sidebar-collapsed .brand-compact{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:#fff;
    background:linear-gradient(145deg,#48a4ff,#0878df);
    font-size:21px;
    font-weight:900;
    border-radius:11px;
    box-shadow:inset 0 1px rgba(255,255,255,.34);
}
html.sidebar-collapsed .sidebar-collapse{right:-12px}
html.sidebar-collapsed .sidebar-collapse span{transform:rotate(180deg) translateX(-1px)}
html.sidebar-collapsed .nav{
    overflow:visible;
    padding-right:0;
}
html.sidebar-collapsed .nav a{
    width:44px;
    min-height:40px;
    margin-inline:auto;
    padding:7px;
    justify-content:center;
}
html.sidebar-collapsed .nav-text{display:none}
html.sidebar-collapsed .nav-label{
    width:32px;
    height:8px;
    margin:7px auto 3px;
    padding:7px 0 0;
    overflow:hidden;
    color:transparent;
    font-size:0;
}
html.sidebar-collapsed .nav a::before{
    content:attr(data-label);
    position:absolute;
    left:calc(100% + 13px);
    top:50%;
    z-index:60;
    width:max-content;
    max-width:210px;
    padding:8px 11px;
    color:#315069;
    background:rgba(255,255,255,.86);
    border:1px solid rgba(255,255,255,.96);
    border-radius:9px;
    box-shadow:0 9px 24px rgba(44,79,111,.16),inset 0 1px rgba(255,255,255,.98);
    font-size:12px;
    font-weight:700;
    line-height:1.2;
    white-space:nowrap;
    pointer-events:none;
    opacity:0;
    transform:translate(-5px,-50%);
    transition:opacity .14s ease,transform .14s ease;
    backdrop-filter:blur(16px) saturate(145%);
    -webkit-backdrop-filter:blur(16px) saturate(145%);
}
html.sidebar-collapsed .nav a:hover::before,
html.sidebar-collapsed .nav a:focus-visible::before{
    opacity:1;
    transform:translate(0,-50%);
}
html.sidebar-collapsed .nav a.active:after{
    right:-5px;
    top:9px;
}
html.sidebar-collapsed .sidebar-user{
    width:44px;
    margin-inline:auto;
    padding:6px;
    display:block;
}
html.sidebar-collapsed .sidebar-user-avatar{
    margin:auto;
}
html.sidebar-collapsed .sidebar-user-info{display:none}
@media(max-width:760px){
    .sidebar-collapse{display:none}
    html.sidebar-collapsed .app-shell{display:block}
    html.sidebar-collapsed .sidebar{
        left:-238px;
        width:220px;
        padding:12px 10px 10px;
    }
    html.sidebar-collapsed .sidebar.open{left:0}
    html.sidebar-collapsed .brand{
        width:auto;
        height:auto;
        margin:0 2px 10px;
    }
    html.sidebar-collapsed .brand-logo{display:block}
    html.sidebar-collapsed .brand-compact{display:none}
    html.sidebar-collapsed .nav{
        overflow-y:auto;
        padding:1px 2px 6px 0;
    }
    html.sidebar-collapsed .nav a{
        width:auto;
        min-height:40px;
        margin:0;
        padding:6px 9px;
        justify-content:flex-start;
    }
    html.sidebar-collapsed .nav-text{display:inline}
    html.sidebar-collapsed .nav-label{
        width:auto;
        height:auto;
        margin:8px 6px 2px;
        padding:8px 3px 0;
        overflow:visible;
        color:#8094a6;
        font-size:9px;
    }
    html.sidebar-collapsed .nav a::before{display:none}
    html.sidebar-collapsed .sidebar-user{
        width:auto;
        margin-top:auto;
        padding:8px;
        display:grid;
    }
    html.sidebar-collapsed .sidebar-user-info{display:block}
}
@media(prefers-reduced-motion:reduce){
    .app-shell,.sidebar,.sidebar-collapse span,html.sidebar-collapsed .nav a::before{transition:none}
}

/* Tema sólido UNIDAS: branco com azul institucional #001A71 */
.app-shell{
    --glass-accent:#001a71;
    --glass-accent-soft:#f1f4fb;
    --glass-ink:#001a71;
    --glass-muted:#52648f;
    color:#001a71;
    background:#f4f7fb;
}
.sidebar,
.brand,
.nav a,
.sidebar-user,
.topbar,
.menu-toggle,
.app-shell .card,
.app-shell .table-wrap,
.app-shell .field input,
.app-shell .field select,
.app-shell .field textarea,
.app-shell .searchbar input,
.app-shell .searchbar select,
.app-shell .btn,
.app-shell .badge,
.app-shell .alert,
.app-shell .hero,
.sidebar-collapse,
html.sidebar-collapsed .nav a::before{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
}
.sidebar{
    color:#001a71;
    background:#fff;
    border-right:1px solid #dfe6ef;
    box-shadow:4px 0 18px rgba(0,26,113,.06);
}
.brand{
    background:#fff;
    border-color:#dfe6ef;
    box-shadow:none;
}
.brand-logo{background:#fff}
.nav a{
    color:#001a71;
    background:#fff;
    border-color:transparent;
    text-shadow:none;
    box-shadow:none;
}
.nav a:hover{
    color:#001a71;
    background:#f4f7fb;
    border-color:#dfe6ef;
    box-shadow:none;
}
.nav a.active{
    color:#001a71;
    background:#fff;
    border-color:#cbd5e1;
    box-shadow:inset 3px 0 #001a71;
}
.nav a.active:after{
    background:#001a71;
    box-shadow:none;
}
.nav a.active .nav-icon{color:#001a71}
.nav-label{
    color:#52648f;
    border-top-color:#dfe6ef;
}
.sidebar-user{
    background:#fff;
    border-color:#dfe6ef;
    box-shadow:none;
}
.sidebar-user-avatar,
html.sidebar-collapsed .brand-compact{
    color:#fff;
    background:#001a71;
    box-shadow:none;
}
.sidebar-user strong,
.sidebar-user small,
.sidebar-logout{color:#001a71}
.topbar{
    background:#fff;
    border-bottom-color:#dfe6ef;
    box-shadow:0 3px 12px rgba(0,26,113,.05);
}
.topbar h1,
.topbar p{color:#001a71}
.menu-toggle,
.sidebar-collapse{
    color:#001a71;
    background:#fff;
    border-color:#dfe6ef;
    box-shadow:0 3px 10px rgba(0,26,113,.08);
}
.sidebar-collapse:hover{
    color:#001a71;
    background:#f4f7fb;
}
.app-shell .card,
.app-shell .table-wrap{
    color:#001a71;
    background:#fff;
    border-color:#dfe6ef;
    box-shadow:0 8px 22px rgba(0,26,113,.06);
}
.app-shell .card h2,
.app-shell .card h3,
.app-shell .section-header h2,
.app-shell .metric span,
.app-shell .metric strong{color:#001a71}
.app-shell table,
.app-shell th,
.app-shell td{color:#001a71}
.app-shell th{
    background:#f7f9fc;
    border-bottom-color:#dfe6ef;
}
.app-shell td{border-bottom-color:#e6ebf2}
.app-shell tbody tr:hover{background:#f8faff}
.app-shell .field input,
.app-shell .field select,
.app-shell .field textarea,
.app-shell .searchbar input,
.app-shell .searchbar select{
    color:#001a71;
    background:#fff;
    border-color:#cbd5e1;
    box-shadow:none;
}
.app-shell .field input:focus,
.app-shell .field select:focus,
.app-shell .field textarea:focus,
.app-shell .searchbar input:focus,
.app-shell .searchbar select:focus{
    border-color:#001a71;
    box-shadow:0 0 0 3px rgba(0,26,113,.1);
}
.app-shell .field label,
.app-shell .muted,
.app-shell .field small{color:#001a71}
.app-shell .btn{
    color:#fff;
    background:#001a71;
    border-color:#001a71;
    box-shadow:none;
}
.app-shell .btn-light{
    color:#001a71;
    background:#fff;
    border-color:#cbd5e1;
    box-shadow:none;
}
.app-shell .btn-green{color:#fff;background:#4b9461;border-color:#4b9461}
.app-shell .btn-danger{color:#fff;background:#b42318;border-color:#b42318}
.app-shell .badge{
    color:#001a71;
    background:#fff;
    border-color:#cbd5e1;
    box-shadow:none;
}
.app-shell .badge-green{color:#246739;border-color:#b7dfc2}
.app-shell .badge-red{color:#9c2319;border-color:#f5c5c0}
.app-shell .badge-gray{color:#52606d;border-color:#d8dee7}
.app-shell .alert{
    color:#001a71;
    background:#fff;
    border-color:#cbd5e1;
    box-shadow:none;
}
.app-shell .hero{
    color:#fff;
    background:#001a71;
    border-color:#001a71;
    box-shadow:none;
}
.app-shell .hero p{color:#fff}
.app-shell .progress{background:#e4e9f2}
.app-shell .footer{color:#001a71}
html.sidebar-collapsed .nav a::before{
    color:#001a71;
    background:#fff;
    border-color:#dfe6ef;
    box-shadow:0 6px 18px rgba(0,26,113,.1);
}
@media(max-width:760px){
    .sidebar{
        background:#fff;
        box-shadow:10px 0 28px rgba(0,26,113,.12);
    }
}

/* Seções do cadastro completo de eventos */
.form-section{
    min-width:0;
    margin:0;
    padding:0;
    border:0;
}
.form-section+.form-section{
    margin-top:4px;
    padding-top:22px;
    border-top:1px solid #dfe6ef;
}
.form-section legend{
    width:100%;
    margin:0;
    padding:0;
    color:#001a71;
    font-size:18px;
    font-weight:900;
}
.form-section-description{
    margin:4px 0 16px;
    color:#52648f;
    font-size:13px;
}

/* Densidade compacta para todo o painel administrativo */
.app-shell{
    grid-template-columns:210px minmax(0,1fr);
    font-size:13px;
    line-height:1.38;
}
.sidebar{
    width:210px;
    padding:10px 9px 9px;
}
.brand{
    margin:0 2px 8px;
    border-radius:8px;
}
.brand-logo{
    max-width:180px;
    max-height:48px;
    padding:5px;
}
.nav{gap:2px;padding-bottom:4px}
.nav a{
    gap:8px;
    min-height:36px;
    padding:5px 8px;
    border-radius:7px;
    font-size:12px;
}
.nav-icon{
    width:18px;
    height:18px;
    flex-basis:18px;
}
.nav-label{
    margin:6px 5px 1px;
    padding:6px 3px 0;
    font-size:8px;
}
.sidebar-user{
    grid-template-columns:28px minmax(0,1fr);
    gap:7px;
    padding:7px;
    border-radius:8px;
}
.sidebar-user-avatar{
    width:28px;
    height:28px;
    border-radius:6px;
    font-size:12px;
}
.sidebar-user strong{font-size:11px}
.sidebar-user small{font-size:9px}
.sidebar-logout{font-size:10px}
.sidebar-collapse{
    top:22px;
    width:23px;
    height:23px;
    right:-11px;
    border-radius:6px;
}
.sidebar-collapse span{font-size:17px}
.topbar{
    min-height:68px;
    padding:13px 22px;
}
.topbar h1{font-size:21px;line-height:1.2}
.topbar p{margin-top:2px;font-size:12px}
.menu-toggle{
    padding:6px 9px;
    border-radius:7px;
    font-size:18px;
}
.content{
    padding:18px 22px;
    max-width:1500px;
}
.footer{
    padding:7px 22px 16px;
    font-size:10px;
}
.grid{gap:13px}
.card{
    padding:15px;
    border-radius:10px;
}
.grid-4,.grid-3,.grid-2{gap:13px}
.metric span{font-size:12px}
.metric strong{
    margin-top:4px;
    font-size:27px;
    line-height:1.15;
}
.metric small{font-size:11px}
.section-header{
    gap:10px;
    margin-bottom:12px;
}
.section-header h2,
.card h2{font-size:18px}
.card h3{font-size:15px}
.actions{gap:6px}
.btn{
    gap:5px;
    padding:7px 11px;
    border-radius:7px;
    font-size:12px;
    line-height:1.25;
}
.btn-sm{
    padding:5px 8px;
    font-size:11px;
}
.table-wrap{border-radius:9px}
th,td{
    padding:9px 10px;
}
th{
    font-size:10px;
    letter-spacing:.03em;
}
td{font-size:12px}
td small{font-size:10px}
.badge{
    padding:3px 7px;
    font-size:10px;
}
.form-grid{
    gap:12px;
}
.field label{
    margin-bottom:4px;
    font-size:12px;
    line-height:1.25;
}
.field input,
.field select,
.field textarea{
    padding:8px 9px;
    border-radius:7px;
    font-size:12px;
    line-height:1.3;
}
.field input,
.field select{
    min-height:35px;
}
.field textarea{
    min-height:76px;
}
.field small{
    margin-top:3px;
    font-size:10px;
    line-height:1.3;
}
.form-section+.form-section{
    margin-top:1px;
    padding-top:15px;
}
.form-section legend{
    font-size:15px;
}
.form-section-description{
    margin:2px 0 11px;
    font-size:11px;
}
.alert{
    margin-bottom:12px;
    padding:9px 11px;
    border-radius:7px;
    font-size:12px;
}
.empty{
    padding:28px 15px;
    font-size:12px;
}
.searchbar{
    gap:6px;
    margin-bottom:12px;
}
.searchbar input,
.searchbar select{
    min-width:170px;
    padding:7px 9px;
    border-radius:7px;
    font-size:12px;
}
.hero{
    padding:18px;
    border-radius:11px;
}
.hero h2{font-size:19px;margin-bottom:5px}
.hero p{font-size:12px}
.progress{height:7px}
.pagination{gap:4px;margin-top:12px}
.pagination a{
    padding:5px 8px;
    border-radius:5px;
    font-size:11px;
}
html.sidebar-collapsed .app-shell{
    grid-template-columns:62px minmax(0,1fr);
}
html.sidebar-collapsed .sidebar{
    width:62px;
    padding:10px 7px 9px;
}
html.sidebar-collapsed .brand{
    width:40px;
    height:40px;
    margin-bottom:8px;
}
html.sidebar-collapsed .brand-compact{font-size:18px}
html.sidebar-collapsed .nav a{
    width:40px;
    min-height:36px;
    padding:6px;
}
html.sidebar-collapsed .nav-label{
    width:28px;
    margin-top:5px;
}
html.sidebar-collapsed .sidebar-user{
    width:40px;
    padding:5px;
}
@media(max-width:760px){
    .app-shell{font-size:13px}
    .sidebar,
    html.sidebar-collapsed .sidebar{
        left:-228px;
        width:210px;
        padding:10px 9px 9px;
    }
    .sidebar.open,
    html.sidebar-collapsed .sidebar.open{left:0}
    .topbar{padding:11px 14px}
    .topbar h1{font-size:19px}
    .content{padding:14px 12px}
    .card{padding:13px}
    .form-grid{gap:10px}
    .footer{padding:6px 12px 13px}
}

/* Tema de vidro aplicado ao painel inteiro */
body{
    background:
        radial-gradient(circle at 9% 12%,rgba(75,148,97,.18),transparent 28%),
        radial-gradient(circle at 92% 8%,rgba(36,105,210,.18),transparent 31%),
        radial-gradient(circle at 72% 88%,rgba(94,186,218,.13),transparent 29%),
        linear-gradient(145deg,#edf3fb 0%,#f6f9fd 46%,#eaf2f4 100%);
    background-attachment:fixed;
}
.main-column{position:relative}
.topbar{
    position:sticky;
    top:0;
    z-index:12;
    min-height:82px;
    padding:17px 28px;
    background:rgba(255,255,255,.66);
    border-bottom:1px solid rgba(255,255,255,.78);
    box-shadow:0 8px 28px rgba(20,45,90,.08),inset 0 -1px rgba(121,145,178,.13);
    backdrop-filter:blur(20px) saturate(145%);
    -webkit-backdrop-filter:blur(20px) saturate(145%);
}
.topbar h1{text-shadow:0 1px rgba(255,255,255,.75)}
.menu-toggle{
    background:rgba(255,255,255,.62);
    border:1px solid rgba(255,255,255,.8);
    box-shadow:0 5px 15px rgba(20,45,90,.1);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}
.content{position:relative}
.card,.table-wrap,.public-card,.qr-box{
    background:rgba(255,255,255,.68);
    border:1px solid rgba(255,255,255,.82);
    box-shadow:0 16px 36px rgba(22,48,89,.1),inset 0 1px rgba(255,255,255,.78);
    backdrop-filter:blur(18px) saturate(135%);
    -webkit-backdrop-filter:blur(18px) saturate(135%);
}
.card{border-radius:15px}
.table-wrap{border-radius:13px}
.table-wrap table{background:transparent}
th{
    background:rgba(241,246,252,.72);
    border-bottom-color:rgba(155,174,200,.32);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}
td{border-bottom-color:rgba(160,178,202,.26)}
tbody tr{transition:background .15s ease}
tbody tr:hover{background:rgba(255,255,255,.42)}
.field input,.field select,.field textarea,.searchbar input,.searchbar select{
    background:rgba(255,255,255,.62);
    border:1px solid rgba(157,177,204,.48);
    box-shadow:inset 0 1px rgba(255,255,255,.78),0 5px 14px rgba(29,53,91,.04);
    backdrop-filter:blur(11px);
    -webkit-backdrop-filter:blur(11px);
}
.field input:focus,.field select:focus,.field textarea:focus,.searchbar input:focus,.searchbar select:focus{
    background:rgba(255,255,255,.84);
    border-color:rgba(0,26,113,.52);
    box-shadow:0 0 0 3px rgba(0,26,113,.1),inset 0 1px rgba(255,255,255,.88);
}
.btn{
    background:rgba(0,26,113,.88);
    border:1px solid rgba(255,255,255,.24);
    box-shadow:0 7px 16px rgba(0,26,113,.16),inset 0 1px rgba(255,255,255,.18);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}
.btn-green{background:rgba(75,148,97,.9)}
.btn-danger{background:rgba(180,35,24,.9)}
.btn-light{
    color:var(--blue);
    background:rgba(255,255,255,.58);
    border-color:rgba(255,255,255,.82);
    box-shadow:0 6px 15px rgba(23,48,89,.08),inset 0 1px rgba(255,255,255,.8);
}
.badge{
    background:rgba(238,242,255,.62);
    border:1px solid rgba(255,255,255,.75);
    box-shadow:inset 0 1px rgba(255,255,255,.7);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
.badge-green{background:rgba(232,245,236,.7)}
.badge-red{background:rgba(253,236,235,.72)}
.badge-gray{background:rgba(237,240,244,.68)}
.alert{
    background:rgba(255,255,255,.58);
    box-shadow:0 9px 22px rgba(24,49,88,.07),inset 0 1px rgba(255,255,255,.72);
    backdrop-filter:blur(13px);
    -webkit-backdrop-filter:blur(13px);
}
.alert-success{background:rgba(232,245,236,.72)}
.alert-error{background:rgba(255,240,239,.74)}
.alert-warning{background:rgba(255,247,232,.76)}
.alert-info{background:rgba(237,244,255,.74)}
.hero{
    background:linear-gradient(135deg,rgba(0,26,113,.9),rgba(18,62,154,.78));
    border:1px solid rgba(255,255,255,.22);
    box-shadow:0 16px 34px rgba(0,26,113,.18),inset 0 1px rgba(255,255,255,.16);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}
.public-body{
    background:
        radial-gradient(circle at 15% 10%,rgba(75,148,97,.2),transparent 31%),
        radial-gradient(circle at 86% 18%,rgba(53,113,205,.2),transparent 33%),
        linear-gradient(145deg,#edf3fb,#f2f8f5);
    background-attachment:fixed;
}
.public-logo{filter:drop-shadow(0 9px 15px rgba(20,45,90,.1))}
.help{
    background:rgba(240,248,242,.64);
    border-top:1px solid rgba(255,255,255,.68);
    border-right:1px solid rgba(255,255,255,.68);
    border-bottom:1px solid rgba(255,255,255,.68);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}
.pagination a{
    background:rgba(255,255,255,.62);
    border-color:rgba(255,255,255,.8);
    box-shadow:0 5px 13px rgba(24,49,88,.06);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
}
.pagination a.active{background:rgba(0,26,113,.88)}
.footer{
    color:#5d6c80;
    text-shadow:0 1px rgba(255,255,255,.8);
}
@media(max-width:760px){
    .topbar{min-height:72px;padding:13px 16px}
    .content{padding:18px 13px}
    .card,.public-card{backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%)}
}
@media print{
    body,.public-body{background:#fff!important}
    .card,.table-wrap{background:#fff!important;backdrop-filter:none!important;box-shadow:none!important}
}

/* Divisão do menu: navegação no topo e administração na parte inferior */
.nav{
    flex:1 1 auto;
    width:100%;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
}
.nav-primary,
.nav-admin{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:2px;
}
.nav-primary>a{
    border-radius:0;
    border-right:0;
    border-left:0;
    border-top:0;
    border-bottom:1px solid #e3e9f1;
}
.nav-primary>a:last-child{border-bottom-color:transparent}
.nav-primary>a:hover{
    border-bottom-color:#e3e9f1;
    border-radius:7px;
}
.nav-primary>a.active{
    border:1px solid #cbd5e1;
    border-radius:7px;
}
.nav-admin{
    margin-top:auto;
    padding-top:8px;
    border-top:1px solid #dfe6ef;
}
.nav-admin .nav-label{
    margin:0 5px 2px;
    padding:0 3px;
    border-top:0;
}
.nav-admin>a{
    border-radius:7px;
}
.sidebar-user{
    margin-top:7px;
}
html.sidebar-collapsed .nav{overflow:visible}
html.sidebar-collapsed .nav-primary>a{
    border:1px solid transparent;
    border-radius:7px;
}
html.sidebar-collapsed .nav-primary>a.active{
    border-color:#cbd5e1;
}
html.sidebar-collapsed .nav-admin{
    padding-top:6px;
}
@media(max-width:760px){
    .nav{overflow-y:auto}
    .nav-admin{margin-top:auto}
}

/* Dashboard executivo UNIDAS */
.executive-hero{
    position:relative;
    overflow:hidden;
    min-height:154px;
    padding:23px 26px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    color:#fff;
    background:#001a71;
    border:1px solid #001a71;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,26,113,.15);
}
.executive-hero:before,
.executive-hero:after{
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
}
.executive-hero:before{
    width:260px;
    height:260px;
    top:-155px;
    right:100px;
    background:rgba(75,148,97,.2);
}
.executive-hero:after{
    width:190px;
    height:190px;
    right:-70px;
    bottom:-120px;
    border:30px solid rgba(255,255,255,.07);
}
.executive-hero>div{position:relative;z-index:1}
.executive-kicker{
    display:block;
    margin-bottom:3px;
    color:#4b9461;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.executive-hero .executive-kicker{color:#9fd1ad}
.executive-hero h2{
    margin:0;
    max-width:760px;
    color:#fff;
    font-size:24px;
    line-height:1.2;
}
.executive-hero p{
    margin:5px 0 0;
    color:#dbe4ff;
    font-size:12px;
}
.executive-actions{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:15px;
}
.app-shell .executive-hero .btn{
    color:#001a71;
    background:#fff;
    border-color:#fff;
    box-shadow:none;
}
.app-shell .executive-hero .btn-light{
    color:#fff;
    background:transparent;
    border-color:rgba(255,255,255,.45);
}
.executive-hero-mark{
    width:84px;
    height:84px;
    flex:0 0 84px;
    display:grid;
    place-items:center;
    align-content:center;
    color:#001a71;
    background:#fff;
    border-radius:13px;
    box-shadow:0 9px 22px rgba(0,0,0,.16);
}
.executive-hero-mark span{
    font-size:34px;
    font-weight:900;
    line-height:1;
}
.executive-hero-mark small{
    margin-top:3px;
    color:#4b9461;
    font-size:8px;
    font-weight:900;
    letter-spacing:.12em;
}
.executive-kpis{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:11px;
    margin-top:13px;
}
.executive-kpi.card{
    position:relative;
    overflow:hidden;
    min-width:0;
    min-height:100px;
    padding:13px;
    display:flex;
    align-items:center;
    gap:10px;
    color:#001a71;
    background:#fff;
    border:1px solid #dfe6ef;
    border-top:3px solid #001a71;
    border-radius:10px;
    box-shadow:0 7px 18px rgba(0,26,113,.06);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
.executive-kpi:nth-child(2){border-top-color:#4b9461}
.executive-kpi:nth-child(3){border-top-color:#2f6eb7}
.executive-kpi:nth-child(4){border-top-color:#16935d}
.executive-kpi:nth-child(5){border-top-color:#7857b8}
.executive-kpi:nth-child(6){border-top-color:#d08a1e}
.executive-kpi-icon{
    width:35px;
    height:35px;
    flex:0 0 35px;
    display:grid;
    place-items:center;
    color:#001a71;
    background:#f1f4fb;
    border-radius:8px;
}
.executive-kpi-icon svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.executive-kpi>div:last-child{min-width:0}
.executive-kpi span{
    display:block;
    overflow:hidden;
    color:#52648f;
    font-size:10px;
    font-weight:800;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.executive-kpi strong{
    display:block;
    margin:1px 0;
    overflow:hidden;
    color:#001a71;
    font-size:22px;
    line-height:1.15;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.executive-kpi small{
    display:block;
    overflow:hidden;
    color:#667792;
    font-size:9px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.executive-kpi-finance strong{font-size:16px}
.executive-main-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);
    gap:13px;
    margin-top:13px;
}
.executive-main-grid>.card,
.executive-events.card,
.executive-meetings.card{
    color:#001a71;
    background:#fff;
    border:1px solid #dfe6ef;
    box-shadow:0 8px 22px rgba(0,26,113,.06);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
.executive-main-grid .section-header,
.executive-events .section-header{margin-bottom:10px}
.executive-main-grid .section-header h2,
.executive-events .section-header h2{
    color:#001a71;
    font-size:17px;
}
.executive-events .section-header p{margin:2px 0 0}
.executive-timeline{
    display:grid;
    gap:5px;
    /* Mantém cinco compromissos visíveis; os demais ficam na rolagem interna. */
    max-height:300px;
    overflow-y:auto;
    padding-right:5px;
    scrollbar-width:thin;
    scrollbar-color:#b9c8dc transparent;
}
.executive-timeline::-webkit-scrollbar{width:7px}.executive-timeline::-webkit-scrollbar-thumb{background:#b9c8dc;border-radius:99px}
.executive-timeline-item{
    min-width:0;
    padding:7px 8px;
    display:grid;
    grid-template-columns:39px minmax(0,1fr) 16px;
    gap:9px;
    align-items:center;
    color:#001a71;
    background:#fff;
    border:1px solid #e3e9f1;
    border-radius:8px;
    transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.executive-timeline-item:hover{
    background:#f7f9fc;
    border-color:#b9c8dc;
    transform:translateX(2px);
}
.executive-date{
    width:39px;
    height:39px;
    display:grid;
    place-items:center;
    align-content:center;
    color:#fff;
    background:#001a71;
    border-radius:7px;
}
.executive-date strong{font-size:16px;line-height:1}
.executive-date small{margin-top:2px;font-size:7px;font-weight:900}
.executive-timeline-content{
    min-width:0;
    display:block;
}
.executive-timeline-content small{
    display:block;
    color:#4b9461;
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
}
.executive-timeline-content strong{
    display:block;
    color:#001a71;
    font-size:12px;
    line-height:1.25;
}
.executive-timeline-content>span{
    display:block;
    color:#63738b;
    font-size:9px;
    line-height:1.3;
}
.executive-arrow{
    color:#8392a6;
    font-size:18px;
    font-weight:700;
}
.executive-empty{padding:28px 12px}
.executive-performance-top{
    display:flex;
    align-items:center;
    gap:15px;
    padding:5px 0 10px;
}
.executive-donut{
    --executive-rate:0;
    position:relative;
    width:82px;
    height:82px;
    flex:0 0 82px;
    display:grid;
    place-items:center;
    background:conic-gradient(#4b9461 calc(var(--executive-rate)*1%),#e7ecf3 0);
    border-radius:50%;
}
.executive-donut:after{
    content:"";
    position:absolute;
    inset:10px;
    background:#fff;
    border-radius:50%;
}
.executive-donut span{
    position:relative;
    z-index:1;
    color:#001a71;
    font-size:15px;
    font-weight:900;
}
.executive-performance-top strong{
    color:#001a71;
    font-size:12px;
}
.executive-performance-top p{
    margin:3px 0 0;
    color:#63738b;
    font-size:10px;
}
.executive-divider{
    height:1px;
    margin:3px 0 12px;
    background:#e3e9f1;
}
.executive-finance{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.executive-finance>div{
    min-width:0;
    padding:8px;
    background:#f7f9fc;
    border:1px solid #e3e9f1;
    border-radius:7px;
}
.executive-finance span{
    display:block;
    color:#63738b;
    font-size:9px;
}
.executive-finance strong{
    display:block;
    overflow:hidden;
    color:#001a71;
    font-size:13px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.executive-finance-bar{
    height:7px;
    margin-top:11px;
    display:flex;
    overflow:hidden;
    background:#e7ecf3;
    border-radius:99px;
}
.executive-finance-bar span{height:100%}
.executive-finance-unidas{background:#001a71}
.executive-finance-sponsor{background:#4b9461}
.executive-finance-legend{
    margin-top:7px;
    display:flex;
    justify-content:space-between;
    gap:8px;
    color:#63738b;
    font-size:9px;
}
.executive-finance-legend span{display:flex;align-items:center;gap:4px}
.executive-finance-legend i{
    width:7px;
    height:7px;
    display:inline-block;
    border-radius:50%;
}
.executive-dot-unidas{background:#001a71}
.executive-dot-sponsor{background:#4b9461}
.executive-events.card{
    margin-top:13px;
    padding:15px;
}
.executive-events .table-wrap,
.executive-meetings .table-wrap{
    background:#fff;
    border-color:#dfe6ef;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
.executive-table-rate{
    min-width:105px;
    display:flex;
    align-items:center;
    gap:7px;
}
.executive-table-rate>span{
    width:38px;
    flex:0 0 38px;
    font-size:10px;
    font-weight:800;
}
.executive-mini-progress{
    width:65px;
    height:5px;
    overflow:hidden;
    background:#e7ecf3;
    border-radius:99px;
}
.executive-mini-progress i{
    display:block;
    height:100%;
    background:#4b9461;
    border-radius:99px;
}
.executive-meetings.card{margin-top:13px;padding:15px}.executive-meetings .section-header{margin-bottom:10px}.executive-meetings .section-header h2{color:#001a71;font-size:17px}.executive-meetings .section-header p{margin:2px 0 0}.meeting-state-listing{display:inline-block;padding:3px 7px;border-radius:7px;background:#f0eaff;color:#7541bc;font-size:10px;font-weight:800;letter-spacing:.02em}
@media(max-width:1450px){
    .executive-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1050px){
    .executive-main-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
    .executive-hero{
        min-height:auto;
        padding:18px;
    }
    .executive-hero h2{font-size:20px}
    .executive-hero-mark{display:none}
    .executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .executive-kpi.card{min-height:88px;padding:10px}
    .executive-kpi-icon{width:30px;height:30px;flex-basis:30px}
    .executive-kpi strong{font-size:18px}
    .executive-kpi-finance strong{font-size:13px}
    .executive-main-grid{gap:10px;margin-top:10px}
    .executive-events.card{margin-top:10px}
}
@media(max-width:480px){
    .executive-kpis{grid-template-columns:1fr}
}

/* Relatórios analíticos com gráficos sem biblioteca externa */
.reports-filter.card{
    padding:13px;
    display:grid;
    grid-template-columns:145px 145px minmax(260px,1fr) auto;
    gap:10px;
    align-items:end;
    color:#001a71;
    background:#fff;
    border:1px solid #dfe6ef;
    box-shadow:0 7px 18px rgba(0,26,113,.06);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
.reports-filter-event{min-width:0}
.reports-filter-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.reports-kpis{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin-top:12px;
}
.reports-kpi.card{
    min-width:0;
    padding:13px;
    color:#001a71;
    background:#fff;
    border:1px solid #dfe6ef;
    border-left:3px solid #001a71;
    border-radius:9px;
    box-shadow:0 6px 16px rgba(0,26,113,.05);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
.reports-kpi:nth-child(2){border-left-color:#2f6eb7}
.reports-kpi:nth-child(3){border-left-color:#4b9461}
.reports-kpi:nth-child(4){border-left-color:#7857b8}
.reports-kpi:nth-child(5){border-left-color:#d08a1e}
.reports-kpi>span{
    display:block;
    overflow:hidden;
    color:#52648f;
    font-size:10px;
    font-weight:800;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.reports-kpi>strong{
    display:block;
    margin:2px 0;
    overflow:hidden;
    color:#001a71;
    font-size:22px;
    line-height:1.15;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.reports-kpi>small{
    display:block;
    overflow:hidden;
    color:#667792;
    font-size:9px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.reports-kpi-finance>strong{font-size:17px}
.reports-chart-grid,
.reports-secondary-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:12px;
}
.reports-chart-card.card,
.reports-status-card.card,
.reports-finance-card.card,
.reports-detail-table.card{
    color:#001a71;
    background:#fff;
    border:1px solid #dfe6ef;
    box-shadow:0 7px 20px rgba(0,26,113,.055);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
.reports-chart-card .section-header,
.reports-status-card .section-header,
.reports-finance-card .section-header{margin-bottom:9px}
.reports-chart-card h2,
.reports-status-card h2,
.reports-finance-card h2{color:#001a71;font-size:16px}
.reports-chart-card .section-header p{margin:2px 0 0;font-size:10px}
.reports-eyebrow{
    display:block;
    margin-bottom:2px;
    color:#4b9461;
    font-size:8px;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.reports-column-chart{
    height:205px;
    padding:8px 4px 0;
    display:flex;
    align-items:stretch;
    gap:7px;
    overflow-x:auto;
    border-bottom:1px solid #dfe6ef;
}
.reports-column{
    min-width:31px;
    flex:1 0 31px;
    display:grid;
    grid-template-rows:17px 1fr 22px;
    align-items:end;
    text-align:center;
}
.reports-column>span{
    color:#52648f;
    font-size:9px;
    font-weight:800;
}
.reports-column-track{
    width:min(28px,78%);
    height:148px;
    margin-inline:auto;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background:#f0f3f8;
    border-radius:5px 5px 0 0;
}
.reports-column-track i{
    width:100%;
    display:block;
    background:#001a71;
    border-radius:5px 5px 0 0;
    transition:height .25s ease;
}
.reports-column:nth-child(3n+2) .reports-column-track i{background:#2f6eb7}
.reports-column:nth-child(3n) .reports-column-track i{background:#4b9461}
.reports-column>small{
    overflow:hidden;
    color:#52648f;
    font-size:8px;
    font-weight:700;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.reports-horizontal-chart{
    display:grid;
    gap:8px;
}
.reports-horizontal-row{
    min-width:0;
    display:grid;
    grid-template-columns:minmax(115px,1fr) minmax(120px,1.4fr) 43px;
    gap:8px;
    align-items:center;
}
.reports-horizontal-label{min-width:0}
.reports-horizontal-label strong{
    display:block;
    overflow:hidden;
    color:#001a71;
    font-size:10px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.reports-horizontal-label small{
    display:block;
    color:#667792;
    font-size:8px;
}
.reports-horizontal-track{
    height:8px;
    overflow:hidden;
    background:#edf1f6;
    border-radius:99px;
}
.reports-horizontal-track i{
    display:block;
    height:100%;
    background:linear-gradient(90deg,#001a71,#4b9461);
    border-radius:99px;
}
.reports-horizontal-row>span{
    color:#001a71;
    font-size:9px;
    font-weight:900;
    text-align:right;
}
.reports-empty{padding:55px 10px}
.reports-status-bar{
    height:13px;
    display:flex;
    overflow:hidden;
    background:#edf1f6;
    border-radius:99px;
}
.reports-status-bar i{height:100%;display:block}
.reports-status-list{
    margin-top:12px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px 18px;
}
.reports-status-list>div{
    padding-bottom:5px;
    display:flex;
    justify-content:space-between;
    gap:10px;
    border-bottom:1px solid #edf1f6;
}
.reports-status-list span{
    display:flex;
    align-items:center;
    gap:6px;
    color:#52648f;
    font-size:10px;
}
.reports-status-list span i{
    width:7px;
    height:7px;
    display:inline-block;
    border-radius:50%;
}
.reports-status-list strong{
    color:#001a71;
    font-size:11px;
}
.reports-finance-values{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.reports-finance-values>div{
    min-width:0;
    padding:9px;
    background:#f7f9fc;
    border:1px solid #e3e9f1;
    border-radius:7px;
}
.reports-finance-values span{
    display:block;
    color:#52648f;
    font-size:9px;
}
.reports-finance-values strong{
    display:block;
    overflow:hidden;
    color:#001a71;
    font-size:14px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.reports-finance-bar{
    height:9px;
    margin-top:13px;
    display:flex;
    overflow:hidden;
    background:#edf1f6;
    border-radius:99px;
}
.reports-finance-bar i,
.reports-finance-bar b{height:100%;display:block}
.reports-finance-bar i{background:#001a71}
.reports-finance-bar b{background:#4b9461}
.reports-finance-legend{
    margin-top:7px;
    display:flex;
    justify-content:space-between;
    color:#52648f;
    font-size:9px;
}
.reports-detail{
    margin-top:17px;
    padding-top:15px;
    border-top:1px solid #dfe6ef;
}
.reports-detail>.section-header h2{color:#001a71;font-size:19px}
.reports-detail>.section-header p{margin:2px 0 0}
.reports-detail-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-bottom:10px;
}
.reports-detail-kpis article{
    padding:10px 12px;
    color:#001a71;
    background:#fff;
    border:1px solid #dfe6ef;
    border-radius:8px;
}
.reports-detail-kpis span{
    display:block;
    color:#52648f;
    font-size:9px;
}
.reports-detail-kpis strong{
    display:block;
    margin-top:1px;
    color:#001a71;
    font-size:18px;
}
.reports-detail-table.card{padding:0}
.reports-detail-table .table-wrap{
    background:#fff;
    border:0;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
@media(max-width:1250px){
    .reports-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
    .reports-filter.card{grid-template-columns:140px 140px 1fr}
    .reports-filter-actions{grid-column:1/-1}
}
@media(max-width:900px){
    .reports-chart-grid,.reports-secondary-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
    .reports-filter.card{grid-template-columns:1fr}
    .reports-filter-actions{grid-column:auto}
    .reports-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
    .reports-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
    .reports-horizontal-row{grid-template-columns:minmax(100px,1fr) minmax(90px,1fr) 40px}
}
@media(max-width:480px){
    .reports-kpis{grid-template-columns:1fr}
    .reports-status-list,.reports-finance-values{grid-template-columns:1fr}
}
.reports-tabs {
    display: flex;
    gap: 4px;
    width: max-content;
    margin: 0 0 12px;
    padding: 4px;
    border: 1px solid #dbe3ef;
    border-radius: 9px;
    background: #fff;
}

.reports-tabs a {
    padding: 7px 14px;
    border-radius: 6px;
    color: #001a71;
    font-size: .85rem;
    font-weight: 700;
    text-decoration: none;
}

.reports-tabs a.active {
    color: #fff;
    background: #001a71;
}

.reports-filter-event-hidden {
    display: none;
}

.reports-event-filter.card {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) auto;
    align-items: end;
    gap: 12px;
    margin-bottom: 16px;
    padding: 14px;
}

.reports-event-empty {
    display: grid;
    gap: 5px;
    padding: 28px;
    text-align: center;
    color: #001a71;
}

.reports-event-empty span {
    color: #5c6b86;
    font-size: .88rem;
}

@media (max-width: 720px) {
    .reports-event-filter.card {
        grid-template-columns: 1fr;
    }
}
