.gie-app,.gie-login-card{--gie-primary:#5fa66c;--gie-secondary:#181818;--gie-danger:#b91c1c;--gie-border:#e5e7eb;font-family:inherit;color:#111827}.gie-app{max-width:1280px;margin:30px auto;padding:24px;background:#fff;border:1px solid var(--gie-border);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.06)}.gie-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.gie-header h2,.gie-login-card h2{margin:0 0 6px}.gie-header p,.gie-login-card p{margin:0;color:#6b7280}.gie-header-actions,.gie-filter-actions,.gie-list-top{display:flex;gap:10px;align-items:center}.gie-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:10px 15px;background:var(--gie-primary);color:#fff!important;text-decoration:none!important;cursor:pointer;font-weight:600;line-height:1.2}.gie-button-secondary{background:var(--gie-secondary)}.gie-button-light{background:#f3f4f6;color:#111827!important}.gie-button-danger{background:var(--gie-danger)}.gie-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.gie-stats div{padding:16px;background:#f8fafc;border:1px solid var(--gie-border);border-radius:12px}.gie-stats strong{display:block;font-size:24px}.gie-stats span{color:#6b7280;font-size:13px}.gie-filters{display:grid;grid-template-columns:2fr 1.4fr auto;gap:12px;align-items:end;padding:16px;margin-bottom:18px;background:#f9fafb;border-radius:12px}.gie-filters label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:#111827!important}.gie-filters input,.gie-filters select{width:100%;height:42px;border:1px solid #d1d5db;border-radius:8px;padding:0 10px;background:#fff}.gie-list-top{justify-content:space-between;margin-bottom:10px}.gie-table-wrap{overflow-x:auto;border:1px solid var(--gie-border);border-radius:10px}.gie-table{width:100%;border-collapse:collapse;min-width:920px}.gie-table th,.gie-table td{padding:12px;border-bottom:1px solid var(--gie-border);text-align:left;vertical-align:top;font-size:14px}.gie-table th{background:#f9fafb;white-space:nowrap}.gie-table tr:last-child td{border-bottom:0}.gie-details{margin:12px 0 0;min-width:300px}.gie-details div{padding:7px 0;border-top:1px solid var(--gie-border)}.gie-details dt{font-weight:700}.gie-details dd{margin:3px 0 0;word-break:break-word}.gie-empty{text-align:center!important;padding:35px!important;color:#6b7280}.gie-pagination ul{display:flex;list-style:none;padding:0;margin:22px 0 0;gap:6px;justify-content:center}.gie-pagination a,.gie-pagination span{display:block;padding:8px 11px;border:1px solid var(--gie-border);border-radius:7px;text-decoration:none}.gie-pagination .current{background:var(--gie-primary);color:#fff;border-color:var(--gie-primary)}.gie-login-card{max-width:420px;margin:50px auto;padding:30px;background:#fff;border:1px solid var(--gie-border);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.08)}.gie-login-card form{margin-top:22px}.gie-login-card label{display:block;font-weight:600;margin-bottom:6px}.gie-login-card input[type=text],.gie-login-card input[type=password]{width:100%;height:44px;border:1px solid #d1d5db;border-radius:8px;padding:0 12px}.gie-login-card .login-submit input{width:100%;border:0;border-radius:8px;padding:12px;background:var(--gie-primary);color:#fff;font-weight:700;cursor:pointer}.gie-alert{max-width:900px;margin:20px auto;padding:14px 16px;border-radius:10px}.gie-alert-error{background:#fee2e2;color:#991b1b}.gie-alert-success{background:#dcfce7;color:#166534}@media(max-width:950px){.gie-filters{grid-template-columns:1fr 1fr}.gie-filter-actions{grid-column:1/-1}.gie-header{align-items:flex-start;flex-direction:column}.gie-stats{grid-template-columns:1fr 1fr}}@media(max-width:600px){.gie-app{padding:14px}.gie-filters,.gie-stats{grid-template-columns:1fr}.gie-header-actions{width:100%;flex-wrap:wrap}.gie-header-actions .gie-button{flex:1}.gie-filter-actions{grid-column:auto}.gie-list-top{align-items:flex-start;flex-direction:column}}

/* Correções do formulário de login contra estilos do tema */
.gie-login-card,
.gie-login-card * {
    box-sizing: border-box;
}

.gie-login-card {
    max-width: 460px;
    padding: 32px;
}

.gie-login-card h2 {
    color: var(--gie-primary) !important;
    font-size: clamp(32px, 5vw, 48px) !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: -1px;
}

.gie-login-card > p {
    color: #667085 !important;
    font-size: 16px;
    line-height: 1.6;
}

.gie-login-card form p {
    margin: 0 0 18px !important;
}

.gie-login-card form label,
.gie-login-card .login-username label,
.gie-login-card .login-password label,
.gie-login-card .login-remember label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #1f2937 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.gie-login-card input[type="text"],
.gie-login-card input[type="password"] {
    display: block !important;
    width: 100% !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #b8bec8 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #111827 !important;
    font-size: 16px !important;
    line-height: 48px !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

.gie-login-card input[type="text"]:focus,
.gie-login-card input[type="password"]:focus {
    outline: 2px solid rgba(95, 166, 108, .25) !important;
    border-color: var(--gie-primary) !important;
}

.gie-login-card .login-remember {
    margin: 4px 0 20px !important;
}

.gie-login-card .login-remember label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 !important;
    cursor: pointer;
}

.gie-login-card .login-remember input[type="checkbox"] {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    position: static !important;
    visibility: visible !important;
}

.gie-login-card .login-submit {
    margin: 0 !important;
}

.gie-login-card .login-submit input[type="submit"] {
    display: block !important;
    width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 13px 20px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--gie-secondary) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    opacity: 1 !important;
}

.gie-login-card .login-submit input[type="submit"]:hover {
    background: #303030 !important;
}

@media (max-width: 520px) {
    .gie-login-card {
        margin: 24px 14px;
        padding: 24px 20px;
    }

    .gie-login-card h2 {
        font-size: 36px !important;
    }
}


.gie-login-logo {
    display: block;
    max-width: 220px;
    max-height: 110px;
    width: auto;
    height: auto;
    object-fit: contain;
    margin: 0 auto 16px;
}

.gie-brand-logo {
    display: block;
    max-width: 180px;
    max-height: 80px;
    width: auto;
    height: auto;
    object-fit: contain;
    margin: 0 0 12px;
}
\n\n/* Visual 2.2.9 - cabeçalho e identidade por evento */
.gie-app {
    max-width: 1280px;
    margin: 20px auto;
    padding: 28px 30px;
}

.gie-header {
    align-items: flex-start;
    margin-bottom: 28px;
}

.gie-header > div:first-child {
    min-width: 0;
}

.gie-brand-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 240px !important;
    max-height: 90px !important;
    object-fit: contain !important;
    object-position: left center !important;
    margin: 0 0 14px !important;
    filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
}

.gie-header h2 {
    margin: 0 !important;
    color: var(--gie-primary) !important;
    font-size: clamp(28px, 3vw, 36px) !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
    letter-spacing: -.5px;
}

.gie-header-actions {
    padding-top: 12px;
    gap: 12px;
    flex-shrink: 0;
}

.gie-header-actions .gie-button {
    min-height: 44px;
    padding: 11px 17px;
    border-radius: 9px;
    font-size: 15px;
    font-weight: 600;
}

.gie-button:not(.gie-button-light):not(.gie-button-logout):not(.gie-button-secondary):not(.gie-button-danger) {
    background: var(--gie-primary) !important;
}

.gie-button-logout {
    background: #9ca3af !important;
    color: #fff !important;
}

.gie-button-logout:hover {
    background: #89919e !important;
}

.gie-button-light {
    background: #e5e7eb !important;
    color: #4b5563 !important;
}

.gie-button-light:hover {
    background: #d1d5db !important;
}

.gie-pagination .current {
    background: var(--gie-primary) !important;
    border-color: var(--gie-primary) !important;
}

.gie-table details > summary {
    color: var(--gie-primary);
}

@media (max-width: 760px) {
    .gie-app {
        padding: 20px 16px;
    }

    .gie-header {
        gap: 14px;
        margin-bottom: 22px;
    }

    .gie-brand-logo {
        max-width: 210px !important;
        max-height: 80px !important;
    }

    .gie-header h2 {
        font-size: 28px !important;
    }

    .gie-header-actions {
        padding-top: 0;
    }
}

/* Visual 2.3.0 - filtros iguais ao layout de referência */
.gie-filters,
.gie-filters * {
    box-sizing: border-box;
}

.gie-filters {
    display: grid !important;
    grid-template-columns: minmax(320px, 1.28fr) minmax(280px, 1fr) auto !important;
    column-gap: 17px !important;
    row-gap: 12px !important;
    align-items: end !important;
    padding: 15px 18px 16px !important;
    margin-bottom: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fdfdfd 100%) !important;
    border: 1px solid #e8eaed !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(17, 24, 39, .025) !important;
}

.gie-filters .gie-filter-field {
    min-width: 0;
}

.gie-filters label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #171717 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .01em !important;
}

.gie-input-wrap {
    position: relative;
}

.gie-input-icon {
    position: absolute;
    z-index: 2;
    left: 11px;
    top: 50%;
    width: 19px;
    height: 19px;
    transform: translateY(-50%);
    fill: none;
    stroke: #374151;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}

.gie-filters input[type="search"],
.gie-filters select {
    display: block !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    border: 1px solid #d3d7dc !important;
    border-radius: 12px !important;
    background-color: #fff !important;
    color: #171717 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 40px !important;
    box-shadow: 0 1px 2px rgba(16,24,40,.02) !important;
    outline: none !important;
}

.gie-filters input[type="search"] {
    padding: 0 14px 0 39px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.gie-filters input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

.gie-filters input[type="search"]::placeholder {
    color: #747b86 !important;
    opacity: 1 !important;
}

.gie-filters select {
    padding: 0 38px 0 16px !important;
    cursor: pointer;
}

.gie-filters input[type="search"]:focus,
.gie-filters select:focus {
    border-color: #aeb4bc !important;
    box-shadow: 0 0 0 2px rgba(17,24,39,.035) !important;
}

.gie-filter-actions {
    display: flex !important;
    align-items: center !important;
    gap: 17px !important;
    min-width: max-content;
}

.gie-filter-actions .gie-button {
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 19px !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    line-height: 42px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    white-space: nowrap !important;
}

.gie-filter-submit {
    min-width: 116px !important;
    gap: 8px !important;
    background: var(--gie-primary) !important;
    color: #fff !important;
}

.gie-filter-submit svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linejoin: round;
}

.gie-filter-clear {
    min-width: 88px !important;
    background: #f2f2f2 !important;
    color: #4b4f56 !important;
}

.gie-filter-clear:hover {
    background: #e9e9e9 !important;
}

@media (max-width: 950px) {
    .gie-filters {
        grid-template-columns: 1fr 1fr !important;
    }
    .gie-filter-actions {
        grid-column: 1 / -1 !important;
        justify-content: flex-end !important;
    }
}

@media (max-width: 640px) {
    .gie-filters {
        grid-template-columns: 1fr !important;
        padding: 14px !important;
    }
    .gie-filter-actions {
        grid-column: auto !important;
        width: 100% !important;
        gap: 10px !important;
    }
    .gie-filter-actions .gie-button {
        flex: 1 1 0 !important;
    }
}

/* Ajustes 2.3.2 */
.gie-filter-actions .gie-filter-submit{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;line-height:1!important}
.gie-filter-actions .gie-filter-submit svg{display:block!important;flex:0 0 17px!important;width:17px!important;height:17px!important;margin:0!important;padding:0!important;position:static!important;transform:none!important}
.gie-filter-actions .gie-filter-submit span{display:block!important;margin:0!important;padding:0!important;line-height:17px!important;position:static!important;transform:none!important}


/* Ação de detalhes 2.3.4 - botão contornado usando a cor principal configurada */
.gie-detail-button {
    appearance:none!important;-webkit-appearance:none!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    gap:6px!important;width:auto!important;min-width:0!important;height:34px!important;
    margin:0!important;padding:0 10px!important;
    border:1px solid var(--gie-primary)!important;border-radius:9px!important;
    background:#fff!important;box-shadow:none!important;
    color:var(--gie-primary)!important;font-family:inherit!important;font-size:12px!important;
    font-weight:700!important;line-height:1!important;text-decoration:none!important;
    text-transform:none!important;letter-spacing:0!important;cursor:pointer!important;
    white-space:nowrap!important;vertical-align:middle!important;
}
.gie-detail-button:hover,.gie-detail-button:focus,.gie-detail-button:active {
    background:color-mix(in srgb, var(--gie-primary) 8%, white)!important;
    color:var(--gie-primary)!important;border-color:var(--gie-primary)!important;
    box-shadow:none!important;outline:none!important;text-decoration:none!important;
}
.gie-detail-button .gie-detail-icon {
    display:block!important;flex:0 0 14px!important;width:14px!important;height:14px!important;
    margin:0!important;padding:0!important;fill:currentColor!important;
}
.gie-detail-button span {display:block!important;margin:0!important;padding:0!important;color:inherit!important;font:inherit!important;line-height:1!important;}


/* Icone do botao de exportacao */
.gie-button-export {
    gap: 8px;
}
.gie-button-export .gie-button-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    display: block;
}
.gie-button-export span {
    display: inline-block;
}
