body.app-body{
    min-height: 100vh;
    background:
        radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--accent-color) 12%, transparent 88%) 0%, transparent 18%),
        radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--primary-color) 10%, transparent 90%) 0%, transparent 20%),
        linear-gradient(180deg, var(--background-color) 0%, color-mix(in srgb, var(--frame-end) 36%, white 64%) 100%);
    color: var(--shell-text-color);
    font-family: var(--app-font-family), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    position: relative;
    overflow-x: hidden;
}
body.app-body::before,
body.app-body::after{
    content:"";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
body.app-body::before{
    background:
        linear-gradient(90deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 22%),
        linear-gradient(180deg, rgba(255,255,255,.42) 0%, rgba(255,255,255,0) 20%);
}
body.app-body::after{
    background:
        radial-gradient(circle at 86% 82%, color-mix(in srgb, var(--secondary-color) 9%, transparent 91%) 0%, transparent 20%),
        radial-gradient(circle at 22% 88%, color-mix(in srgb, var(--accent-color) 10%, transparent 90%) 0%, transparent 16%);
}
a{ text-decoration:none; }
.app-shell{
    position: relative;
    z-index: 1;
    min-height: 100vh;
    display: grid;
    grid-template-columns: 296px minmax(0,1fr);
}
.app-sidebar{
    background: linear-gradient(180deg, color-mix(in srgb, var(--sidebar-color) 94%, #0f2238 6%) 0%, color-mix(in srgb, var(--sidebar-color) 82%, #10263e 18%) 100%);
    border-right: 1px solid rgba(255, 255, 255, .08);
    padding: 24px 18px;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    box-shadow: inset -1px 0 0 rgba(255,255,255,.06), 24px 0 56px rgba(15, 23, 42, .18);
}
.sidebar-brand{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
    margin-bottom:30px;
    padding: 14px 12px 22px;
    border-bottom: 1px solid rgba(255,255,255,.1);
    text-align:center;
}
.sidebar-brand-icon{
    width:108px;
    height:108px;
    border-radius:26px;
    display:grid;
    place-items:center;
    background: linear-gradient(135deg, rgba(255,255,255,.98) 0%, color-mix(in srgb, var(--accent-color) 14%, white 86%) 100%);
    color: var(--primary-color);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .22), 0 0 0 1px rgba(255,255,255,.14);
    font-size:2.2rem;
    overflow:hidden;
}
.sidebar-title{ font-weight:800; color:var(--sidebar-text-color); line-height:1.18; font-size:1.14rem; letter-spacing:-.01em; word-break:break-word; }
.sidebar-subtitle{ font-size:.88rem; color:color-mix(in srgb, var(--sidebar-text-color) 78%, transparent 22%); margin-top:6px; line-height:1.35; word-break:break-word; }
.sidebar-nav{ display:flex; flex-direction:column; gap:8px; }
.sidebar-link{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border-radius:16px;
    color: color-mix(in srgb, var(--sidebar-text-color) 90%, transparent 10%);
    font-weight:700;
    transition: .22s ease;
    border: 1px solid transparent;
}
.sidebar-link i{ font-size:1rem; opacity:.96; }
.sidebar-link:hover,
.sidebar-link.is-active{
    background: linear-gradient(135deg, color-mix(in srgb, var(--primary-color) 84%, white 16%) 0%, color-mix(in srgb, var(--secondary-color) 76%, white 24%) 100%);
    color:#fff;
    border-color: rgba(255,255,255,.12);
    box-shadow: 0 14px 28px rgba(2, 8, 23, .22);
}
.app-main{ min-width:0; position:relative; z-index:1; }
.app-topbar{
    background: color-mix(in srgb, var(--topbar-color) 90%, white 10%);
    color: var(--topbar-text-color);
    padding: 18px 30px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    border-bottom: 1px solid rgba(23, 50, 77, .08);
    position: sticky;
    top: 0;
    z-index: 30;
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 34px rgba(30, 41, 59, .08);
}
.topbar-title{ font-size:1.16rem; font-weight:800; }
.topbar-subtitle{ color: var(--shell-muted-text); font-size:.9rem; }
.topbar-actions{ display:flex; align-items:center; gap:14px; }
.topbar-search{
    width:260px;
    height:44px;
    display:flex;
    align-items:center;
    gap:10px;
    background: rgba(255,255,255,.88);
    border:1px solid rgba(23,50,77,.10);
    border-radius:14px;
    padding:0 14px;
    color: color-mix(in srgb, var(--topbar-text-color) 70%, transparent 30%);
}
.topbar-search input{ border:0; background:transparent; width:100%; outline:0; color:var(--topbar-text-color); }
.topbar-search input::placeholder{ color: color-mix(in srgb, var(--shell-muted-text) 76%, transparent 24%); }
.topbar-icon-btn{
    width:44px;
    height:44px;
    border-radius:14px;
    background: rgba(255,255,255,.9);
    border:1px solid rgba(23,50,77,.10);
    color: var(--topbar-text-color);
}
.topbar-user{ display:flex; align-items:center; gap:10px; }
.topbar-user-avatar{
    width:42px; height:42px; border-radius:14px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--primary-color) 18%, white 82%), color-mix(in srgb, var(--accent-color) 24%, white 76%));
    color: var(--primary-color); display:grid; place-items:center;
    box-shadow: 0 8px 18px rgba(0,0,0,.10);
}
.topbar-user-name{ font-weight:800; line-height:1.1; color:var(--topbar-text-color); }
.topbar-user-role{ font-size:.8rem; color:var(--shell-muted-text); }
.app-content{ padding: 30px; max-width: 1560px; position:relative; z-index:1; }
.app-page-head{ display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:24px; }
.app-page-title{ font-size:1.7rem; font-weight:800; margin:0; letter-spacing:-0.02em; color:var(--shell-text-color); }
.app-page-subtitle{ color:var(--shell-muted-text); margin-top:6px; max-width:850px; }
.app-card,.card{
    background: var(--card-color);
    border-radius:22px !important;
    color:var(--content-text-color);
}
.card-title,.section-title,.form-label,.table tbody td,.table tbody th,.list-group-item,.branding-preview-label,.theme-choice-title{ color:var(--content-text-color); }
.text-muted,.app-card .text-muted,.card .text-muted,.theme-choice-text,.empty-state,.dashboard-priority-text,.expiry-item-meta,.expiry-empty,.branding-preview-hint{ color:var(--content-muted-text-color) !important; }
.card{ border:1px solid rgba(23,50,77,.08); box-shadow: 0 14px 32px rgba(15, 23, 42, .07); }
.table td,.table th{ vertical-align:middle; }
.table thead th{ font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--content-muted-text-color); border-bottom-color: rgba(148,163,184,.18); background: color-mix(in srgb, var(--background-color) 36%, white 64%); }
.table tbody tr:hover{ background: rgba(245,248,252,.92); }
.btn{ border-radius:14px; font-weight:700; }
.btn-primary{ background: linear-gradient(180deg, color-mix(in srgb, var(--primary-color) 94%, white 6%) 0%, color-mix(in srgb, var(--secondary-color) 82%, black 18%) 100%); border-color: color-mix(in srgb, var(--primary-color) 80%, black 20%); box-shadow: 0 12px 24px color-mix(in srgb, var(--primary-color) 18%, transparent 82%); }
.btn-primary:hover,.btn-primary:focus{ background: linear-gradient(180deg, color-mix(in srgb, var(--primary-color) 86%, white 14%) 0%, color-mix(in srgb, var(--secondary-color) 78%, black 22%) 100%); border-color: color-mix(in srgb, var(--primary-color) 80%, black 20%); }
.btn-warning{ background: linear-gradient(180deg, color-mix(in srgb, var(--accent-color) 90%, white 10%) 0%, color-mix(in srgb, var(--accent-color) 72%, #8a651e 28%) 100%); border-color: color-mix(in srgb, var(--accent-color) 70%, #7a5920 30%); color:#fff; }
.btn-warning:hover,.btn-warning:focus{ color:#fff; }
.btn-outline-primary{ color: var(--primary-color); border-color: color-mix(in srgb, var(--primary-color) 32%, white 68%); }
.btn-outline-primary:hover{ background: var(--primary-color); border-color: var(--primary-color); }
.btn-outline-secondary{ border-color: rgba(148,163,184,.35); color:var(--content-muted-text-color); background:#fff; }
.form-control,.form-select,.form-control-color{ border-radius:14px; border-color: rgba(148,163,184,.28); min-height: 46px; box-shadow:none; }
.form-control:focus,.form-select:focus,.form-control-color:focus{ border-color: color-mix(in srgb, var(--primary-color) 54%, white 46%); box-shadow: 0 0 0 .24rem color-mix(in srgb, var(--primary-color) 14%, white 86%); }
.metric-card{ color:#fff; border:0; overflow:hidden; box-shadow: 0 18px 40px rgba(15,23,42,.16); }
.metric-card .metric-label{ font-size:.88rem; font-weight:700; opacity:.95; text-transform: uppercase; letter-spacing:.06em; }
.metric-card .metric-value{ font-size:2rem; font-weight:800; line-height:1.08; letter-spacing: -.03em; }
.metric-card .metric-icon{ position:absolute; right:18px; bottom:14px; font-size:2.4rem; opacity:.16; }
.metric-card-primary{ background: linear-gradient(135deg, #1f4e79, #2b6cb0); }
.metric-card-success{ background: linear-gradient(135deg, #16807a, #1aa3a3); }
.metric-card-warning{ background: linear-gradient(135deg, #c58a22, #d9a441); }
.metric-card-danger{ background: linear-gradient(135deg, #944444, #c45f5f); }
.app-logo{ width:40px; height:40px; object-fit:contain; border-radius:12px; background:#fff; padding:4px; }
.app-logo-sidebar{ width:88px; height:88px; padding:0; background:transparent; border-radius:18px; object-fit:contain; }
.notification-menu{
    width: 380px; max-height: 480px; overflow:auto; border-radius: 20px;
    border: 1px solid rgba(170,194,223,.22); box-shadow: 0 24px 64px rgba(2,12,27,.22);
}
.notification-item{ white-space:normal; background:#fff; }
.notification-item.is-unread{ background: color-mix(in srgb, var(--primary-color) 8%, white 92%); border-color: color-mix(in srgb, var(--primary-color) 22%, white 78%) !important; }
.user-scroll-box{ max-height:260px; overflow:auto; }
.table td,.table th{ vertical-align:middle; }
.table thead th{ font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--content-muted-text-color); border-bottom-color: rgba(148,163,184,.18); }
.table tbody tr:hover{ background: rgba(248,250,252,.75); }
.btn{ border-radius:14px; font-weight:700; }
.btn-primary{ background: linear-gradient(180deg, color-mix(in srgb, var(--primary-color) 92%, white 8%) 0%, color-mix(in srgb, var(--secondary-color) 85%, black 15%) 100%); border-color: color-mix(in srgb, var(--primary-color) 88%, black 12%); box-shadow: 0 12px 28px color-mix(in srgb, var(--primary-color) 28%, transparent 72%); }
.btn-primary:hover,.btn-primary:focus{ background: linear-gradient(180deg, color-mix(in srgb, var(--primary-color) 82%, white 18%) 0%, color-mix(in srgb, var(--secondary-color) 82%, black 18%) 100%); border-color: color-mix(in srgb, var(--primary-color) 88%, black 12%); }
.btn-outline-primary{ color: var(--primary-color); border-color: color-mix(in srgb, var(--primary-color) 32%, white 68%); }
.btn-outline-primary:hover{ background: var(--primary-color); border-color: var(--primary-color); }
.btn-outline-secondary{ border-color: rgba(148,163,184,.35); color:var(--content-muted-text-color); background:#fff; }
.form-control,.form-select,.form-control-color{ border-radius:14px; border-color: rgba(148,163,184,.28); min-height: 46px; }
.form-control:focus,.form-select:focus,.form-control-color:focus{ border-color: color-mix(in srgb, var(--primary-color) 54%, white 46%); box-shadow: 0 0 0 .24rem color-mix(in srgb, var(--primary-color) 16%, white 84%); }
.metric-card{ color:#fff; border:0; overflow:hidden; box-shadow: 0 20px 50px rgba(15,23,42,.22); }
.metric-card .metric-label{ font-size:.88rem; font-weight:700; opacity:.95; text-transform: uppercase; letter-spacing:.06em; }
.metric-card .metric-value{ font-size:2rem; font-weight:800; line-height:1.08; letter-spacing: -.03em; }
.metric-card .metric-icon{ position:absolute; right:18px; bottom:14px; font-size:2.4rem; opacity:.16; }
.metric-card-primary{ background: linear-gradient(135deg, color-mix(in srgb, var(--primary-color) 88%, black 12%), color-mix(in srgb, var(--secondary-color) 72%, #081423 28%)); }
.metric-card-secondary{ background: linear-gradient(135deg, color-mix(in srgb, var(--secondary-color) 88%, black 12%), color-mix(in srgb, var(--secondary-color) 60%, #081423 40%)); }
.metric-card-accent{ background: linear-gradient(135deg, color-mix(in srgb, var(--accent-color) 78%, #052244 22%), color-mix(in srgb, var(--primary-color) 56%, #081423 44%)); }
.metric-card-dark{ background: linear-gradient(135deg, #1e293b, #0f172a); }
.section-title{ font-size:1.05rem; font-weight:800; letter-spacing:-.01em; }
.soft-badge{ display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; font-size:.78rem; font-weight:800; }
.soft-badge-principal{ background: color-mix(in srgb, var(--principal-color) 12%, white 88%); color: var(--principal-color); }
.soft-badge-principal-participantes{ background: color-mix(in srgb, var(--principal-participantes-color) 12%, white 88%); color: var(--principal-participantes-color); }
.soft-badge-participante{ background: color-mix(in srgb, var(--participante-color) 12%, white 88%); color: var(--participante-color); }
.soft-badge-adesao{ background: color-mix(in srgb, var(--adesao-color) 12%, white 88%); color: color-mix(in srgb, var(--adesao-color) 82%, black 18%); }
.list-ata-row.is-adesao{ background: color-mix(in srgb, var(--adesao-color) 5%, white 95%); }
.empty-state{ padding: 24px; text-align:center; color:#64748b; }
.list-group-item{ border-color: rgba(148,163,184,.18) !important; box-shadow: 0 10px 24px rgba(15,23,42,.04); }
.dashboard-priority-card{ background: linear-gradient(135deg, #fff 0%, color-mix(in srgb, var(--primary-color) 7%, white 93%) 100%); border: 1px solid color-mix(in srgb, var(--primary-color) 18%, white 82%); box-shadow: 0 22px 50px rgba(15,23,42,.08); }
.dashboard-priority-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.dashboard-priority-title{ font-size:1.08rem; font-weight:800; margin-bottom:4px; }
.dashboard-priority-text{ color:#64748b; margin:0; }
.expiry-grid{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:14px; }
.expiry-item{ display:block; padding:16px 18px; border-radius:18px; background:#fff; border:1px solid rgba(148,163,184,.18); box-shadow: 0 14px 28px rgba(15,23,42,.05); transition: transform .18s ease, box-shadow .18s ease; }
.expiry-item:hover{ transform: translateY(-1px); box-shadow: 0 18px 32px rgba(15,23,42,.08); }
.expiry-item-top{ display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:8px; }
.expiry-item-number{ font-weight:800; color:#0f172a; }
.expiry-item-days{ font-size:.76rem; font-weight:800; padding:6px 10px; border-radius:999px; background: color-mix(in srgb, var(--accent-color) 14%, white 86%); color: color-mix(in srgb, var(--accent-color) 76%, black 24%); }
.expiry-item-title{ font-size:.92rem; color:#334155; margin-bottom:8px; }
.expiry-item-meta{ font-size:.82rem; color:#64748b; }
.expiry-empty{ border: 1px dashed rgba(148,163,184,.35); border-radius:18px; padding:18px; color:#64748b; background: rgba(255,255,255,.65); }
.dashboard-mini-metric .h3{ font-weight:800; letter-spacing:-.03em; }
.dashboard-panel-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.data-panel .card-body{ padding: 1.35rem 1.4rem; }
.table-col-number,.table-col-money,.table-col-date,.table-col-code,.table-col-left{ white-space:nowrap; }
.table-col-number,.table-col-money{ text-align:right; }
.table-col-date,.table-col-code{ text-align:center; }
.table-col-left{ text-align:left !important; }
.table td.table-col-actions,.table th.table-col-actions{ text-align:right; white-space:nowrap; }
.table-col-description{ white-space:normal !important; word-break:break-word; overflow-wrap:anywhere; line-height:1.35; }
.login-page-wrap{
    min-height: 100vh;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 24px;
}
.login-message-stack{
    position: fixed;
    top: 22px;
    left: 50%;
    transform: translateX(-50%);
    width: min(680px, calc(100vw - 40px));
    z-index: 5;
}
.login-screen{
    width: min(1020px, 100%);
    min-height: 620px;
    display:grid;
    align-items:start;
    justify-items:center;
    position: relative;
    padding: 40px 20px;
}
.login-screen::before,
.login-screen::after{
    content:"";
    position:absolute;
    pointer-events:none;
}
.login-screen::before{
    inset: 0;
    background:
        radial-gradient(circle at 20% 22%, color-mix(in srgb, var(--frame-glow) 22%, transparent 78%) 0%, transparent 16%),
        radial-gradient(circle at 78% 82%, color-mix(in srgb, var(--accent-color) 12%, transparent 88%) 0%, transparent 16%);
    filter: blur(6px);
}
.login-screen::after{
    right: 10%;
    top: 7%;
    width: 280px;
    height: 280px;
    background:
        linear-gradient(135deg, transparent 0 60%, color-mix(in srgb, var(--frame-glow) 46%, transparent 54%) 60.4%, transparent 61.4%),
        linear-gradient(135deg, transparent 0 73%, color-mix(in srgb, var(--frame-glow) 32%, transparent 68%) 73.5%, transparent 74.4%),
        linear-gradient(45deg, transparent 0 38%, color-mix(in srgb, var(--frame-glow) 22%, transparent 78%) 38.4%, transparent 39.2%);
    opacity:.92;
}
.login-brand{
    position: relative;
    z-index: 2;
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom: 38px;
    color:#f5fbff;
}
.login-brand-logo-only{
    justify-content:center;
    margin-bottom: 24px;
}
 .login-brand-mark{
    width:99px;
    height:99px;
    border-radius:22px;
    display:grid;
    place-items:center;
    background: linear-gradient(135deg, rgba(255,255,255,.96) 0%, color-mix(in srgb, var(--primary-color) 16%, white 84%) 100%);
    box-shadow: 0 18px 40px rgba(0,0,0,.24), 0 0 0 1px rgba(255,255,255,.10);
    overflow:hidden;
    color: var(--primary-color);
    font-size:2.1rem;
}
.login-brand-mark-plain{
    width: min(100%, 320px);
    height: 240px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    border: 0;
    color: var(--primary-color);
}
.login-logo{ width:80px; height:80px; object-fit:contain; }
.login-logo-hero{ width:100%; height:100%; object-fit:contain; }

.login-hero-brand-image-only{
    width: 100%;
    margin-bottom: 18px;
}
.login-hero-logo-mark-clean{
    display:flex;
    align-items:center;
    justify-content:center;
    width:min(100%, 352px);
    height:264px;
    margin:0 auto;
    padding:0;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
}
.login-logo-hero-larger{
    transform: scale(1.1);
    transform-origin: center;
}
.login-brand-title{ font-size:2rem; font-weight:800; line-height:1.06; }
.login-brand-subtitle{ color: color-mix(in srgb, var(--login-text-color) 92%, #0f172a 8%); margin-top:6px; font-size:1rem; font-weight:700; }
.login-panel{
    position: relative;
    z-index: 2;
    width: min(430px, 100%);
    border-radius: 26px;
    background: color-mix(in srgb, var(--card-color) 94%, white 6%);
    border: 1px solid color-mix(in srgb, var(--primary-color) 18%, white 82%);
    box-shadow: 0 20px 60px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.55), 0 0 18px color-mix(in srgb, var(--frame-glow) 8%, transparent 92%);
    backdrop-filter: blur(16px);
}
.login-panel-inner{ padding: 34px 34px 30px; }
.login-panel-title{ font-size:2rem; font-weight:700; color:var(--login-text-color); text-align:center; margin-bottom:6px; }
.login-panel-subtitle{ color: var(--login-muted-text-color); text-align:center; margin-bottom:24px; }
.login-form .form-label{ color:var(--login-text-color); font-weight:700; }
.login-input{
    background: rgba(255,255,255,.96);
    border:1px solid rgba(120, 170, 226, .30);
    color:var(--login-text-color);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}
.login-input::placeholder{ color:color-mix(in srgb, var(--login-muted-text-color) 78%, white 22%); }
.login-input:focus{ background: #fff; color:var(--login-text-color); }
.login-helper-row{ display:flex; justify-content:space-between; gap:18px; font-size:.85rem; color:var(--login-muted-text-color); margin-bottom:22px; }
.login-submit{
    min-height: 54px;
    font-size: 1.18rem;
    border-radius: 14px;
    box-shadow: 0 14px 32px color-mix(in srgb, var(--primary-color) 32%, transparent 68%), inset 0 1px 0 rgba(255,255,255,.2);
}
.login-footer-note{
    margin-top: 16px;
    text-align: center;
    font-size: .78rem;
    color: color-mix(in srgb, var(--login-muted-text-color) 72%, #0f172a 28%);
    letter-spacing: .02em;
}
.login-footer-note span{
    color: color-mix(in srgb, var(--login-text-color) 82%, #0f172a 18%);
    font-weight: 600;
}
.theme-choice{
    display:block;
    border:1px solid rgba(148,163,184,.18);
    border-radius:18px;
    padding:16px 18px;
    background:linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    box-shadow: 0 10px 24px rgba(15,23,42,.05);
    cursor:pointer;
    transition: .18s ease;
    min-height: 124px;
    position:relative;
    overflow:hidden;
}
.theme-choice::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:5px; background:linear-gradient(90deg, var(--primary-color), var(--secondary-color), var(--accent-color)); opacity:.9; }
.theme-choice:hover{ transform: translateY(-1px); box-shadow: 0 16px 32px rgba(15,23,42,.08); }
.theme-choice input{ margin-right:10px; }
.theme-choice.is-selected,
.theme-choice:has(input:checked){ border-color: color-mix(in srgb, var(--primary-color) 42%, white 58%); box-shadow: 0 16px 34px color-mix(in srgb, var(--primary-color) 12%, transparent 88%); }
.theme-choice-title{ display:block; font-weight:800; margin-top:8px; color:#10243c; }
.theme-choice-text{ display:block; font-size:.92rem; color:#64748b; margin-top:6px; line-height:1.45; }
.branding-preview{
    padding:16px;
    border:1px solid rgba(148,163,184,.18);
    border-radius:18px;
    background:#f8fbff;
    min-height:100%;
}
.branding-preview-label{ font-size:.9rem; font-weight:700; color:#10243c; margin-bottom:10px; }
.branding-preview-box{
    height:122px;
    border-radius:16px;
    background:#fff;
    border:1px dashed rgba(148,163,184,.35);
    display:grid;
    place-items:center;
    overflow:hidden;
    color:#64748b;
    padding:10px;
}
.branding-preview-box img{ max-width:100%; max-height:100%; object-fit:contain; }
.favicon-box{ height:88px; }
.alert{ border-radius:16px; }
.theme-clean_light .app-page-title,
.theme-clean_light .app-page-subtitle,
.theme-classic_blue .app-page-title,
.theme-classic_blue .app-page-subtitle{ }
.theme-clean_light .app-sidebar{ background: linear-gradient(180deg, color-mix(in srgb, var(--sidebar-color) 92%, white 8%) 0%, color-mix(in srgb, var(--sidebar-color) 78%, #dde7f2 22%) 100%); box-shadow: inset -1px 0 0 rgba(255,255,255,.65), 18px 0 46px rgba(130, 151, 180, .16); }
.theme-clean_light .sidebar-title,
.theme-clean_light .topbar-title,
.theme-clean_light .topbar-user-name,
.theme-clean_light .app-page-title{ color:#22354b; }
.theme-clean_light .sidebar-subtitle,
.theme-clean_light .topbar-subtitle,
.theme-clean_light .topbar-user-role,
.theme-clean_light .app-page-subtitle{ color:#6a7c92; }
.theme-clean_light .sidebar-link{ color:#42556f; }
.theme-clean_light .sidebar-link:hover,
.theme-clean_light .sidebar-link.is-active{ color:#fff; }
.theme-clean_light .app-topbar{ background: rgba(255,255,255,.82); border-bottom-color: rgba(36,54,74,.08); }
.theme-clean_light .topbar-search,
.theme-clean_light .topbar-icon-btn{ background:#fff; color:#334155; border-color: rgba(148,163,184,.24); }
.theme-clean_light .login-brand{ color:#243447; }
.theme-clean_light .login-panel{ background: rgba(255,255,255,.82); }
.theme-clean_light .login-panel-title{ color:var(--login-text-color); }
.theme-clean_light .login-panel-subtitle,
.theme-clean_light .login-helper-row,
.theme-clean_light .login-form .form-label{ color:var(--login-text-color); }
.theme-clean_light .login-input{ background:#fff; color:var(--login-text-color); }
.theme-classic_blue .login-panel{ background: rgba(255,255,255,.90); }
.theme-classic_blue .login-panel-title{ color:var(--login-text-color); }
.theme-classic_blue .login-panel-subtitle,
.theme-classic_blue .login-helper-row,
.theme-classic_blue .login-form .form-label{ color:var(--login-text-color); }
.theme-classic_blue .login-input{ background:#fff; color:var(--login-text-color); }
@media (max-width: 1200px){ .expiry-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 992px){
    .app-shell{ grid-template-columns:1fr; }
    .app-sidebar{ position:relative; height:auto; }
    .app-topbar{ padding:16px 18px; flex-direction:column; align-items:stretch; }
    .topbar-actions{ flex-wrap:wrap; justify-content:flex-end; }
    .app-content{ padding:18px; }
    .expiry-grid{ grid-template-columns: 1fr; }
    .login-screen{ min-height:auto; }
}
@media (max-width: 768px){
    .topbar-search{ width:100%; }
    .topbar-actions{ justify-content:stretch; }
    .topbar-user-meta{ display:none; }
    .login-brand{ flex-direction:column; text-align:center; }
    .login-hero-topbar{ width:100%; margin-bottom:10px; }
    .login-theme-toggle-topright{ position:static; }
    .login-hero-brand-minimal{ flex-direction:column; align-items:center; }
    .login-panel-inner{ padding:26px 22px; }
    .login-helper-row{ flex-direction:column; text-align:center; }
}
@media print{
    .app-sidebar,.app-topbar,.btn,.alert,#enableBrowserNotifications{ display:none !important; }
    body{ background:#fff !important; }
    body.app-body::before,body.app-body::after{ display:none !important; }
    .app-shell,.app-main{ display:block !important; }
    .app-content{ padding:0 !important; }
    .container-fluid,.container{ padding:0 !important; max-width:none !important; }
    .card{ border:0 !important; box-shadow:none !important; }
}

.ata-detail-summary .card-body{ padding:.9rem 1rem; }


.ata-list-table-wrap{ overflow-x: visible; }
.ata-list-table{ table-layout: auto; width:100%; }
.ata-list-table th, .ata-list-table td{ vertical-align: top; }
.ata-list-table .ata-col-name{ width: 28%; min-width: 240px; }
.ata-list-table .ata-col-type{ width: 16%; min-width: 170px; }
.ata-list-table .ata-col-entity{ width: 12%; min-width: 120px; }
.ata-list-table .ata-col-org{ width: 20%; min-width: 190px; }
.ata-list-table .ata-col-period{ width: 12%; min-width: 130px; }
.ata-list-table .ata-col-balance{ width: 8%; min-width: 120px; }
.ata-list-table .ata-col-actions{ width: 4%; min-width: 110px; }
.ata-list-table .ata-name-text,
.ata-list-table .ata-type-cell,
.ata-list-table .ata-entity-cell,
.ata-list-table .ata-org-cell,
.ata-list-table .ata-period-cell{ white-space: normal; word-break: break-word; overflow-wrap: anywhere; }
.ata-list-table .ata-name-text{ line-height: 1.35; max-width: 100%; }
.ata-list-table .ata-name-text-child{ padding-left: 1.25rem; }
.ata-list-table .ata-type-cell .soft-badge{ max-width: 100%; white-space: normal; line-height: 1.25; }
.ata-list-table .ata-type-subtext{ line-height: 1.35; }
.ata-list-table .ata-entity-cell,
.ata-list-table .ata-org-cell,
.ata-list-table .ata-period-cell{ color: var(--content-text-color, #1f2937); }

.ata-list-table .ata-location-city{ font-weight:700; line-height:1.25; }
.ata-list-table .ata-location-state{ font-size:.78rem; color: var(--content-muted-text-color, #64748b); line-height:1.2; margin-top:.12rem; text-transform: uppercase; letter-spacing:.02em; }
@media (max-width: 1100px){
  .ata-list-table-wrap{ overflow-x: auto; }
  .ata-list-table{ min-width: 920px; table-layout: auto; }
}


.registro-table-grid{ border-collapse:separate; border-spacing:0; width:100%; }
.registro-table-grid thead th{ border-top:1px solid rgba(148,163,184,.18); background: color-mix(in srgb, var(--card-color) 94%, white 6%); }
.registro-table-grid thead th,
.registro-table-grid tbody td,
.registro-table-grid tbody th{
  border-right:1px solid rgba(148,163,184,.18);
  border-bottom:1px solid rgba(148,163,184,.18);
}
.registro-table-grid thead th:first-child,
.registro-table-grid tbody td:first-child,
.registro-table-grid tbody th:first-child{ border-left:1px solid rgba(148,163,184,.18); }
.registro-table-grid tbody tr:last-child td,
.registro-table-grid tbody tr:last-child th{ border-bottom:1px solid rgba(148,163,184,.18); }
.registro-table-grid tbody tr:hover{ background: rgba(248,250,252,.82); }

.registro-itens-table thead th{
  white-space: normal;
  line-height: 1.15;
  font-size: .92rem;
  font-weight: 700;
  vertical-align: middle;
}
.registro-itens-table thead th.table-col-number,
.registro-itens-table thead th.table-col-money,
.registro-itens-table thead th.table-col-code,
.registro-itens-table thead th.table-col-actions{
  text-align: center;
}
.registro-itens-table tbody td{ vertical-align: middle; }

.page-atas .app-content{ max-width:none; width:100%; }
.page-atas .ata-list-table-wrap{ width:100%; overflow-x:visible; }
.page-atas .ata-list-table{ width:100%; table-layout:auto; }
.page-atas .ata-list-table .ata-col-name{ width: 30%; min-width: 250px; }
.page-atas .ata-list-table .ata-col-type{ width: 16%; min-width: 170px; }
.page-atas .ata-list-table .ata-col-entity{ width: 12%; min-width: 120px; }
.page-atas .ata-list-table .ata-col-org{ width: 20%; min-width: 190px; }
.page-atas .ata-list-table .ata-col-period{ width: 12%; min-width: 130px; }
.page-atas .ata-list-table .ata-col-balance{ width: 7%; min-width: 120px; }
.page-atas .ata-list-table .ata-col-actions{ width: 3%; min-width: 110px; }
.page-atas .table-responsive{ overflow-x:visible; }

@media (max-width: 1400px){
  .page-atas .ata-list-table .ata-col-name{ width: 28%; }
  .page-atas .ata-list-table .ata-col-type{ width: 18%; }
  .page-atas .ata-list-table .ata-col-entity{ width: 18%; }
  .page-atas .ata-list-table .ata-col-org{ width: 14%; }
  .page-atas .ata-list-table .ata-col-period{ width: 14%; }
  .page-atas .ata-list-table .ata-col-balance{ width: 8%; }
}


.ata-list-table .table-col-money,
.ata-list-table .table-col-actions{ vertical-align: middle; }
.ata-list-table .table-col-actions .btn{ min-width: 88px; }
.ata-list-table .table-col-money{ font-weight: 700; }

.page-atas .ata-list-table .ata-col-balance{ width: 9%; }
.page-atas .ata-list-table .ata-col-actions{ width: 5%; }
@media (max-width: 1400px){
  .page-atas .ata-list-table .ata-col-balance{ width: 10%; }
  .page-atas .ata-list-table .ata-col-actions{ width: 6%; }
}

.licitacoes-list-table-wrap{ width:100%; overflow-x:visible; }
.licitacoes-list-table{ width:100%; table-layout:fixed; }
.licitacoes-list-table th,
.licitacoes-list-table td{ vertical-align: middle; }
.licitacoes-list-table .table-col-code,
.licitacoes-list-table .table-col-date,
.licitacoes-list-table .lic-col-status,
.licitacoes-list-table .lic-col-actions{ white-space: nowrap; }
.licitacoes-list-table .lic-col-gestora,
.licitacoes-list-table .lic-col-orgao{ white-space: normal; word-break: break-word; overflow-wrap: anywhere; }
.licitacoes-list-table .table-col-code{ width: 12%; }
.licitacoes-list-table .table-col-date{ width: 12%; }
.licitacoes-list-table .lic-col-gestora{ width: 24%; }
.licitacoes-list-table .lic-col-orgao{ width: 20%; }
.licitacoes-list-table .lic-col-status{ width: 13%; }
.licitacoes-list-table .lic-col-actions{ width: 7%; }
.licitacoes-list-table .table-col-actions .btn{ min-width: 88px; }
.page-licitacoes .app-content{ max-width:none; width:100%; }
.page-licitacoes .container-fluid{ max-width:none; }
.page-licitacoes .table-responsive{ overflow-x:visible; }
@media (max-width: 1200px){
  .licitacoes-list-table-wrap{ overflow-x:auto; }
  .licitacoes-list-table{ min-width: 980px; table-layout:auto; }
}


.dashboard-fill-page{width:100%;}
.dashboard-fill-page .dashboard-priority-card,
.dashboard-fill-page .dashboard-metrics-row,
.dashboard-fill-page .dashboard-panels-row{width:100%; margin-left:0; margin-right:0;}
.dashboard-fill-page .dashboard-metric-col,
.dashboard-fill-page .dashboard-panel-col{padding-left:0.75rem; padding-right:0.75rem;}
.dashboard-fill-page .dashboard-metrics-row{--bs-gutter-x:1.2rem; --bs-gutter-y:1rem;}
.dashboard-fill-page .dashboard-panels-row{--bs-gutter-x:1.4rem; --bs-gutter-y:1.4rem;}
.dashboard-fill-page .metric-card,
.dashboard-fill-page .data-panel,
.dashboard-fill-page .dashboard-priority-card{height:100%;}
.dashboard-fill-page .metric-card .card-body{min-height:132px;}
.dashboard-fill-page .data-panel .list-group-item{min-height:96px;}
@media (min-width: 1400px){
  .dashboard-fill-page .expiry-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width: 1199.98px){
  .dashboard-fill-page .dashboard-metric-col,
  .dashboard-fill-page .dashboard-panel-col{padding-left:calc(var(--bs-gutter-x, 1.5rem) * .5); padding-right:calc(var(--bs-gutter-x, 1.5rem) * .5);}
}


.ata-list-table .table-col-money,
.ata-list-table .table-col-actions,
.ata-list-table .ata-col-balance,
.ata-list-table .ata-col-actions{ white-space: nowrap; }
.ata-list-table td.table-col-money,
.ata-list-table td.table-col-actions{ vertical-align: middle; }
.ata-list-table td.table-col-money{ text-align: right; font-weight: 700; }
.ata-list-table td.table-col-actions{ text-align: right; }
.ata-list-table td.table-col-actions .btn{ min-width: 92px; }


.settings-main-card .card-body{max-width:none;}
.settings-form{display:block;}
.settings-section{padding:1.25rem 0;border-top:1px solid color-mix(in srgb, var(--panel-border) 60%, transparent 40%);}
.settings-section:first-of-type{padding-top:0;border-top:none;}
.settings-section-head{margin-bottom:1rem;}
.settings-side-box{padding:1rem 1.1rem;border:1px solid color-mix(in srgb, var(--panel-border) 65%, transparent 35%);border-radius:1rem;background:color-mix(in srgb, var(--card-color) 88%, white 12%);}
.settings-switch-card{display:flex;align-items:center;gap:.65rem;padding:1rem 1rem 1rem 3rem;border:1px solid color-mix(in srgb, var(--panel-border) 60%, transparent 40%);border-radius:1rem;background:color-mix(in srgb, var(--card-color) 92%, white 8%);min-height:72px;position:relative;}
.settings-switch-card .form-check-input{position:absolute;left:1rem;top:1.15rem;float:none;margin-left:0;}
.settings-switch-card .form-check-label{line-height:1.3;color:var(--content-text-color);}
.branding-preview{height:100%;padding:1rem;border:1px solid color-mix(in srgb, var(--panel-border) 60%, transparent 40%);border-radius:1rem;background:color-mix(in srgb, var(--card-color) 94%, white 6%);}
.branding-preview-box{min-height:110px;display:flex;align-items:center;justify-content:center;border-radius:.9rem;background:color-mix(in srgb, var(--background-color) 82%, white 18%);padding:.75rem;overflow:hidden;}
.branding-preview-box img{max-width:100%;max-height:92px;object-fit:contain;}
.favicon-box img{max-height:64px;}
@media (max-width: 991.98px){.settings-section{padding:1rem 0;}}


/* ===== Layout Harmonia Institucional ===== */
body.app-body{
    background:
        radial-gradient(circle at 10% 10%, rgba(201,154,93,.10) 0%, transparent 20%),
        radial-gradient(circle at 88% 14%, rgba(75,127,143,.10) 0%, transparent 24%),
        linear-gradient(180deg, #f7f3eb 0%, #edf1ef 48%, #e8eeeb 100%);
}
body.app-body::before{
    background:
        linear-gradient(90deg, rgba(255,255,255,.30) 0%, rgba(255,255,255,0) 18%),
        linear-gradient(180deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 22%);
    opacity:.9;
}
.app-shell{
    grid-template-columns: 292px minmax(0,1fr);
}
.app-sidebar{
    background:
        linear-gradient(180deg, #233b49 0%, #2d4a58 52%, #345867 100%);
    border-right: 1px solid rgba(255,255,255,.08);
    box-shadow: inset -1px 0 0 rgba(255,255,255,.05), 20px 0 44px rgba(36,59,74,.16);
}
.sidebar-brand{
    padding: 10px 10px 22px;
    margin-bottom: 26px;
    border-bottom: 1px solid rgba(255,255,255,.12);
}
.sidebar-brand-icon{
    border-radius: 24px;
    background: linear-gradient(145deg, #fffdf8 0%, #efe5d3 100%);
    color: #315f72;
    box-shadow: 0 18px 36px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.75);
}
.sidebar-link{
    border-radius: 18px;
    padding: 12px 15px;
    color: rgba(238,244,244,.92);
}
.sidebar-link:hover,
.sidebar-link.is-active{
    background: linear-gradient(135deg, rgba(201,154,93,.96) 0%, rgba(160,117,66,.96) 100%);
    color: #fff;
    border-color: rgba(255,255,255,.10);
    transform: translateX(2px);
}
.app-topbar{
    background: rgba(246,243,235,.84);
    border-bottom: 1px solid rgba(98,118,130,.10);
    box-shadow: 0 10px 26px rgba(36,59,74,.06);
    backdrop-filter: blur(14px);
}
.topbar-search,
.topbar-icon-btn{
    background: rgba(255,255,255,.74);
    border-color: rgba(97,132,141,.14);
}
.app-content{
    padding: 30px;
}
.app-page-title{
    color: #213744;
    letter-spacing: -.03em;
}
.app-card,.card{
    border-radius: 24px !important;
    border: 1px solid rgba(97,132,141,.10);
    box-shadow: 0 14px 36px rgba(36,59,74,.07);
}
.card,
.table,
.list-group-item,
.dropdown-menu,
.modal-content{
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
}
.card-header{
    background: linear-gradient(180deg, rgba(248,245,238,.94) 0%, rgba(255,255,255,.88) 100%);
    border-bottom: 1px solid rgba(97,132,141,.10);
    border-top-left-radius: 24px !important;
    border-top-right-radius: 24px !important;
}
.table thead th{
    background: #f7f4ee;
    color: #6b7c83;
    border-bottom-color: rgba(97,132,141,.12);
}
.table tbody tr{
    transition: background-color .18s ease, transform .18s ease;
}
.table tbody tr:hover{
    background: #f7faf9;
}
.btn{
    border-radius: 14px;
    padding-inline: .95rem;
}
.btn-primary{
    background: linear-gradient(180deg, #3b6c7f 0%, #2e5869 100%);
    border-color: #2b5160;
    box-shadow: 0 12px 26px rgba(49,95,114,.18);
}
.btn-primary:hover,
.btn-primary:focus{
    background: linear-gradient(180deg, #46788b 0%, #2d5767 100%);
    border-color: #274b58;
}
.btn-warning{
    background: linear-gradient(180deg, #d6a769 0%, #bb8650 100%);
    border-color: #b57f49;
}
.btn-outline-primary{
    color: #315f72;
    border-color: rgba(49,95,114,.26);
    background: rgba(255,255,255,.80);
}
.btn-outline-primary:hover{
    background: #315f72;
    border-color: #315f72;
    color: #fff;
}
.form-control,
.form-select,
.form-control-color{
    min-height: 47px;
    border-radius: 14px;
    border: 1px solid rgba(97,132,141,.18);
    background: rgba(255,255,255,.94);
}
.form-control:focus,
.form-select:focus,
.form-control-color:focus{
    border-color: rgba(49,95,114,.52);
    box-shadow: 0 0 0 .24rem rgba(75,127,143,.12);
}
.metric-card{
    border-radius: 24px !important;
    box-shadow: 0 18px 36px rgba(36,59,74,.14);
}
.metric-card-primary{ background: linear-gradient(135deg, #315f72 0%, #456f80 100%); }
.metric-card-secondary,
.metric-card-success{ background: linear-gradient(135deg, #4d908e 0%, #5ea29f 100%); }
.metric-card-accent,
.metric-card-warning{ background: linear-gradient(135deg, #c99a5d 0%, #b7804a 100%); }
.metric-card-dark,
.metric-card-danger{ background: linear-gradient(135deg, #4a5f6c 0%, #334754 100%); }
.dashboard-priority-card{
    background: linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(244,240,233,.96) 100%);
    border: 1px solid rgba(97,132,141,.12);
}
.expiry-item,
.list-group-item{
    border-radius: 18px !important;
}
.badge,
.soft-badge{
    border-radius: 999px;
}
.notification-menu{
    border-radius: 22px;
    background: rgba(255,255,255,.96);
}
.login-screen::before{
    background: linear-gradient(145deg, rgba(36,59,74,.96) 0%, rgba(49,95,114,.92) 55%, rgba(75,127,143,.88) 100%);
    box-shadow: 0 28px 60px rgba(36,59,74,.22);
}
.login-panel,
.login-branding{
    border-radius: 28px !important;
}
@media (max-width: 991.98px){
    .app-shell{ grid-template-columns: 1fr; }
    .app-sidebar{
        position: relative;
        height: auto;
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }
    .app-content{ padding: 20px; }
}


/* ===== Login elegante com tema claro/escuro ===== */
body.app-body.is-guest{
    min-height:100vh;
    background:
        radial-gradient(circle at 12% 18%, rgba(214, 189, 142, .28) 0%, transparent 26%),
        radial-gradient(circle at 88% 14%, rgba(78, 124, 140, .18) 0%, transparent 24%),
        linear-gradient(135deg, #f8f5ee 0%, #f4efe5 42%, #edf3f5 100%);
    transition: background .35s ease, color .35s ease;
}
body.app-body.is-guest::before{
    background:
        linear-gradient(135deg, rgba(255,255,255,.48) 0%, rgba(255,255,255,0) 36%),
        radial-gradient(circle at 18% 16%, rgba(255,255,255,.65) 0%, transparent 24%);
}
body.app-body.is-guest::after{
    background:
        radial-gradient(circle at 84% 82%, rgba(64,101,116,.10) 0%, transparent 22%),
        radial-gradient(circle at 20% 88%, rgba(214,189,142,.14) 0%, transparent 18%);
}
body.app-body.is-guest.login-theme-dark{
    background:
        radial-gradient(circle at 16% 18%, rgba(210, 160, 86, .16) 0%, transparent 24%),
        radial-gradient(circle at 84% 12%, rgba(78, 124, 140, .18) 0%, transparent 24%),
        linear-gradient(135deg, #0f1c24 0%, #15303a 48%, #1f4450 100%);
}
body.app-body.is-guest.login-theme-dark::before{
    background:
        linear-gradient(135deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,0) 34%),
        radial-gradient(circle at 18% 14%, rgba(255,255,255,.10) 0%, transparent 20%);
}
body.app-body.is-guest.login-theme-dark::after{
    background:
        radial-gradient(circle at 80% 84%, rgba(214, 189, 142, .12) 0%, transparent 22%),
        radial-gradient(circle at 18% 86%, rgba(91, 151, 170, .12) 0%, transparent 18%);
}
body.app-body.is-guest .login-page-wrap{
    min-height:100vh;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 38px 24px;
}
body.app-body.is-guest .login-screen{
    width:min(1120px, 100%);
    min-height:calc(100vh - 76px);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:22px;
    padding:24px;
}
.body-login-ambient, .login-screen-elegant{ position:relative; }
.login-hero-topbar{
    width:min(980px, 100%);
    position:relative;
    display:flex;
    justify-content:flex-end;
    margin:0 auto 4px;
    z-index:3;
}
.login-theme-toggle-topright{
    position:absolute;
    top:0;
    right:0;
    margin-top:0;
}
.login-screen-elegant::before{
    content:"";
    position:absolute;
    inset: 7% 10% auto auto;
    width: 220px;
    height: 220px;
    border-radius:50%;
    background: radial-gradient(circle, rgba(255,255,255,.62) 0%, rgba(255,255,255,0) 70%);
    filter: blur(10px);
    animation: loginFloatOrb 10s ease-in-out infinite;
    pointer-events:none;
}
.login-hero-brand{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    text-align:center;
    animation: loginFadeDown .8s ease both;
}
.login-hero-logo-shell{
    position:relative;
    width:min(380px, 72vw);
    height:132px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.login-hero-logo-ring{
    position:absolute;
    inset:10px 16px;
    border-radius:999px;
    background: linear-gradient(90deg, rgba(255,255,255,.58) 0%, rgba(255,255,255,.20) 45%, rgba(255,255,255,.52) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 18px 40px rgba(36,59,74,.08);
    backdrop-filter: blur(12px);
}
.login-hero-logo-mark{
    position:relative;
    z-index:1;
    width:min(300px, 64vw);
    height:104px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.login-hero-text{ color:#314956; }
.login-hero-overline{
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.24em;
    font-weight:800;
    color:#8f7656;
}
.login-hero-title{
    margin:0;
    font-size:clamp(1.8rem, 2.8vw, 2.6rem);
    font-weight:800;
    letter-spacing:-.03em;
    color:#243944;
}
.login-hero-subtitle{
    font-size:1rem;
    color:#60747e;
    font-weight:600;
}
.login-theme-toggle{
    margin-top:6px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    border:1px solid rgba(73,105,117,.16);
    background:rgba(255,255,255,.72);
    color:#355362;
    border-radius:999px;
    padding:10px 16px;
    font-weight:700;
    box-shadow:0 10px 24px rgba(36,59,74,.08);
    backdrop-filter: blur(12px);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.login-theme-toggle:hover{ transform:translateY(-1px); box-shadow:0 16px 30px rgba(36,59,74,.12); }

.login-hero-brand-minimal{
    width:min(520px, 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
    margin:0 auto 22px;
}
.login-hero-brand-minimal .login-hero-logo-shell{
    flex:0 1 auto;
    width:100%;
    height:130px;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    margin:0 auto;
}
.login-hero-brand-minimal .login-hero-logo-mark{
    width:min(320px, 100%);
    height:100px;
    margin:0 auto;
}
.login-panel-animated{
    overflow:hidden;
    animation: loginRiseIn .9s cubic-bezier(.2,.8,.2,1) both;
}
.login-panel-animated::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:5px;
    background:linear-gradient(90deg, rgba(49,95,114,.95) 0%, rgba(201,154,93,.85) 55%, rgba(94,162,159,.85) 100%);
}
.login-panel-head{ text-align:center; margin-bottom:18px; }
.login-panel-kicker{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 12px;
    margin-bottom:12px;
    border-radius:999px;
    background:rgba(238,229,214,.82);
    color:#856b48;
    font-weight:800;
    font-size:.76rem;
    text-transform:uppercase;
    letter-spacing:.12em;
}
.login-panel-title{ font-size:2rem; font-weight:800; letter-spacing:-.03em; }
.login-panel-subtitle{ max-width:320px; margin:0 auto 24px; }
.login-input{ transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.login-input:focus{ transform:translateY(-1px); }
body.app-body.is-guest .login-panel{
    width:min(460px, 100%);
    background:rgba(255,255,255,.80);
    border:1px solid rgba(133,157,167,.18);
    box-shadow:0 24px 70px rgba(36,59,74,.16), inset 0 1px 0 rgba(255,255,255,.7);
}
body.app-body.is-guest .login-helper-row{
    padding:12px 14px;
    border-radius:16px;
    background:rgba(245,240,232,.72);
    border:1px solid rgba(214,189,142,.18);
}
body.app-body.is-guest .login-submit{
    min-height:56px;
    font-size:1.08rem;
}
body.app-body.is-guest.login-theme-dark .login-hero-text,
body.app-body.is-guest.login-theme-dark .login-panel-title,
body.app-body.is-guest.login-theme-dark .login-form .form-label,
body.app-body.is-guest.login-theme-dark .login-footer-note span{ color:#eef5f7; }
body.app-body.is-guest.login-theme-dark .login-hero-overline{ color:#d7b98b; }
body.app-body.is-guest.login-theme-dark .login-hero-subtitle,
body.app-body.is-guest.login-theme-dark .login-panel-subtitle,
body.app-body.is-guest.login-theme-dark .login-helper-row,
body.app-body.is-guest.login-theme-dark .login-footer-note{ color:#bfd0d7; }
body.app-body.is-guest.login-theme-dark .login-panel{
    background:rgba(13,27,34,.74);
    border:1px solid rgba(146,176,187,.14);
    box-shadow:0 26px 72px rgba(2,9,14,.42), inset 0 1px 0 rgba(255,255,255,.08);
}
body.app-body.is-guest.login-theme-dark .login-panel-kicker{
    background:rgba(215,185,139,.14);
    color:#e8cfaa;
}
body.app-body.is-guest.login-theme-dark .login-input{
    background:rgba(11,23,29,.74);
    border-color:rgba(127,160,171,.20);
    color:#f4f8f9;
}
body.app-body.is-guest.login-theme-dark .login-input::placeholder{ color:rgba(214,227,233,.60); }
body.app-body.is-guest.login-theme-dark .login-input:focus{
    background:rgba(11,23,29,.88);
    box-shadow:0 0 0 .24rem rgba(86,136,154,.16);
}
body.app-body.is-guest.login-theme-dark .login-helper-row{
    background:rgba(255,255,255,.05);
    border-color:rgba(214,189,142,.10);
}
body.app-body.is-guest.login-theme-dark .login-theme-toggle{
    background:rgba(13,27,34,.46);
    color:#eef5f7;
    border-color:rgba(146,176,187,.18);
    box-shadow:0 14px 28px rgba(2,9,14,.28);
}
body.app-body.is-guest.login-theme-dark .login-hero-logo-ring{
    background: linear-gradient(90deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.04) 45%, rgba(255,255,255,.10) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 18px 40px rgba(2,9,14,.26);
}
@keyframes loginRiseIn{
    from{ opacity:0; transform:translateY(24px) scale(.985); }
    to{ opacity:1; transform:translateY(0) scale(1); }
}
@keyframes loginFadeDown{
    from{ opacity:0; transform:translateY(-18px); }
    to{ opacity:1; transform:translateY(0); }
}
@keyframes loginFloatOrb{
    0%,100%{ transform:translateY(0) translateX(0); opacity:.72; }
    50%{ transform:translateY(-10px) translateX(8px); opacity:1; }
}
@media (max-width: 768px){
    body.app-body.is-guest .login-page-wrap{ padding:22px 14px; }
    body.app-body.is-guest .login-screen{ min-height:calc(100vh - 44px); padding:12px 4px; }
    .login-hero-logo-shell{ height:112px; }
    .login-hero-logo-mark{ width:min(250px, 70vw); height:82px; }
    .login-hero-title{ font-size:1.6rem; }
    .login-theme-toggle{ font-size:.94rem; padding:9px 14px; }
    .login-panel-inner{ padding:28px 20px 24px; }
}

/* v125: ajuste fino da logo no login e menu lateral */
.login-screen-image-in-card{display:flex;justify-content:center;align-items:center;min-height:100vh;}
.login-screen-image-in-card .login-panel{width:min(100%, 520px);}
.login-panel-head-image-only{margin-bottom:18px;text-align:center;}
.login-hero-logo-mark-in-card{width:min(100%, 420px);height:120px;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;background:transparent!important;border:0!important;box-shadow:none!important;padding:0;overflow:hidden;}
.login-logo-card-only{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform:none;}
.login-panel-head-image-only + .login-form{margin-top:6px;}
.sidebar-brand-image-only{padding:8px 0 18px;margin-bottom:18px;border-bottom:0;text-align:center;}
.sidebar-brand-icon-plain{width:100%;height:auto;min-height:auto;background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0;padding:0;display:flex;align-items:center;justify-content:center;}
.sidebar-brand-image-only .app-logo-sidebar{width:min(100%, 128px);height:96px;padding:0;background:transparent!important;border-radius:0;display:block;margin:0 auto;box-shadow:none!important;object-fit:contain;border:0!important;}
.sidebar-brand-image-only + .sidebar-nav{margin-top:4px;}
@media (max-width: 768px){.login-hero-logo-mark-in-card{height:96px;width:min(100%, 300px);}.sidebar-brand-image-only .app-logo-sidebar{width:min(100%, 104px);height:80px;}}

/* Adesões em andamento na árvore de registros */
.list-ata-row.is-adesao-draft{
    background: linear-gradient(90deg, rgba(255, 193, 7, .16), rgba(255, 248, 225, .92)) !important;
    border-left: 5px solid #f0ad00;
}
.list-ata-row.is-adesao-draft td{
    box-shadow: inset 0 -1px 0 rgba(240, 173, 0, .18);
}
.soft-badge-rascunho{
    background: rgba(255, 193, 7, .22);
    color: #8a5a00;
    border: 1px solid rgba(240, 173, 0, .38);
}
.list-ata-row.is-adesao-draft .ata-name-text-child{
    color: #7a5200;
}

/* v159 - navegação de retorno e fluidez */
.page-back-bar{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;}
.page-back-bar-top{margin:0 0 .85rem;}
.page-back-bar-bottom{margin:1rem 0 0;padding-top:.85rem;border-top:1px solid rgba(15,35,58,.10);}
.page-back-bar .btn{min-width:105px;}
@media print{.page-back-bar{display:none!important;}}


/* v166 - correção definitiva do cabeçalho fixo em Registro */
body.page-atas #registro-itens-scroll.table-responsive{
  width:100%; max-height:62vh; min-height:280px; overflow:auto !important; position:relative;
}
body.page-atas #registro-itens-table{margin-bottom:0; min-width:1280px; border-collapse:separate; border-spacing:0;}
body.page-atas #registro-itens-table thead th{
  position:-webkit-sticky !important; position:sticky !important; top:0 !important; z-index:21 !important;
  background:#eef2f7 !important; background-image:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%) !important;
}

.soft-badge-empenho{background:#dcfce7;color:#166534}.list-ata-row.is-empenho{background:#f0fdf4}.list-ata-row.is-empenho td{border-top-color:#dcfce7}

/* ======================================================================
   V179 — Layout Moderno Mercado
   Visual inspirado em dashboards administrativos contemporâneos.
   ====================================================================== */
body.app-body.is-authenticated{
    --market-navy:#0f2038;
    --market-navy-2:#142a47;
    --market-blue:#1267d6;
    --market-blue-dark:#0b56b7;
    --market-bg:#f5f7fb;
    --market-line:#e3e9f2;
    --market-text:#10233f;
    --market-muted:#66758c;
    background:var(--market-bg) !important;
    color:var(--market-text);
}
body.app-body.is-authenticated::before,
body.app-body.is-authenticated::after{display:none !important;}
body.app-body.is-authenticated .app-shell{grid-template-columns:230px minmax(0,1fr);background:var(--market-bg);}
body.app-body.is-authenticated .app-sidebar{
    width:auto;padding:18px 10px 22px;background:linear-gradient(180deg,var(--market-navy) 0%,#102640 100%) !important;
    border:0;box-shadow:8px 0 28px rgba(15,32,56,.08);scrollbar-width:thin;
}
body.app-body.is-authenticated .sidebar-brand{min-height:76px;margin:0 10px 18px;padding:4px 4px 18px;border-bottom:1px solid rgba(255,255,255,.10);}
body.app-body.is-authenticated .sidebar-brand-icon{width:150px;height:58px;border:0;border-radius:0;background:transparent !important;box-shadow:none !important;}
body.app-body.is-authenticated .app-logo-sidebar{width:150px;height:58px;max-width:100%;object-fit:contain;filter:none;}
body.app-body.is-authenticated .sidebar-nav{gap:4px;}
body.app-body.is-authenticated .sidebar-link{
    min-height:46px;padding:11px 14px;border-radius:8px;border:0;color:#d8e2ef;font-size:.91rem;font-weight:600;box-shadow:none;transform:none;
}
body.app-body.is-authenticated .sidebar-link i{width:22px;text-align:center;font-size:1.05rem;color:#c9d6e6;}
body.app-body.is-authenticated .sidebar-link:hover{background:rgba(255,255,255,.075);color:#fff;transform:none;}
body.app-body.is-authenticated .sidebar-link.is-active{
    background:linear-gradient(90deg,#185ea9 0%,#1c69bd 100%) !important;color:#fff;box-shadow:0 8px 18px rgba(0,73,160,.22);transform:none;
}
body.app-body.is-authenticated .sidebar-link.is-active i{color:#fff;}
body.app-body.is-authenticated .app-main{background:var(--market-bg);min-height:100vh;}
body.app-body.is-authenticated .app-topbar{
    min-height:64px;padding:10px 24px;background:rgba(255,255,255,.96) !important;color:var(--market-text) !important;
    border-bottom:1px solid var(--market-line);box-shadow:0 2px 12px rgba(16,35,63,.035);backdrop-filter:blur(14px);
}
body.app-body.is-authenticated .topbar-title{font-size:.98rem;color:var(--market-text);font-weight:750;}
body.app-body.is-authenticated .topbar-subtitle{font-size:.78rem;color:var(--market-muted) !important;}
body.app-body.is-authenticated .topbar-actions{gap:10px;}
body.app-body.is-authenticated .topbar-search{height:40px;width:300px;border-radius:8px;background:#f7f9fc;border:1px solid #dfe6f0;color:#6b7b91;}
body.app-body.is-authenticated .topbar-search input{color:var(--market-text);font-size:.88rem;}
body.app-body.is-authenticated .topbar-search input::placeholder{color:#8491a5;}
body.app-body.is-authenticated .topbar-icon-btn{width:40px;height:40px;border-radius:8px;background:#fff;border:1px solid #e0e6ef;color:#203650;}
body.app-body.is-authenticated .topbar-user-avatar{width:38px;height:38px;border-radius:50%;background:#1769d2;color:#fff;box-shadow:none;}
body.app-body.is-authenticated .topbar-user-name{color:var(--market-text);font-size:.86rem;}
body.app-body.is-authenticated .topbar-user-role{color:var(--market-muted) !important;font-size:.73rem;}
body.app-body.is-authenticated .money-toggle-btn{min-width:auto;border-radius:8px;padding:.45rem .7rem;font-size:.78rem;}
body.app-body.is-authenticated .app-content{max-width:none;width:100%;padding:22px 24px 34px;}
body.app-body.is-authenticated .page-back-bar{margin-bottom:14px;}
body.app-body.is-authenticated .page-back-bar-bottom{margin-top:18px;margin-bottom:0;}
body.app-body.is-authenticated .app-page-title,
body.app-body.is-authenticated h1,
body.app-body.is-authenticated h2{color:var(--market-text);letter-spacing:-.025em;}
body.app-body.is-authenticated .app-page-title{font-size:1.65rem;}
body.app-body.is-authenticated .app-page-subtitle{color:var(--market-muted) !important;}
body.app-body.is-authenticated .card,
body.app-body.is-authenticated .app-card,
body.app-body.is-authenticated .data-panel{
    background:#fff !important;border:1px solid var(--market-line) !important;border-radius:10px !important;
    box-shadow:0 4px 18px rgba(16,35,63,.045) !important;backdrop-filter:none !important;
}
body.app-body.is-authenticated .card-header{
    background:#fff !important;border-bottom:1px solid var(--market-line);border-radius:10px 10px 0 0 !important;padding:14px 16px;
}
body.app-body.is-authenticated .card-body{padding:16px;}
body.app-body.is-authenticated .metric-card{border-radius:10px !important;box-shadow:0 5px 18px rgba(16,35,63,.06) !important;color:var(--market-text) !important;border:1px solid var(--market-line) !important;}
body.app-body.is-authenticated .metric-card-primary,
body.app-body.is-authenticated .metric-card-secondary,
body.app-body.is-authenticated .metric-card-success,
body.app-body.is-authenticated .metric-card-warning,
body.app-body.is-authenticated .metric-card-danger,
body.app-body.is-authenticated .metric-card-accent,
body.app-body.is-authenticated .metric-card-dark{background:#fff !important;}
body.app-body.is-authenticated .metric-card .metric-label{color:var(--market-muted);font-size:.72rem;letter-spacing:.035em;}
body.app-body.is-authenticated .metric-card .metric-value{color:var(--market-text);font-size:1.55rem;}
body.app-body.is-authenticated .metric-card .metric-icon{opacity:1;right:15px;bottom:14px;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#eaf2ff;color:#1267d6;font-size:1.25rem;}
body.app-body.is-authenticated .table-responsive{border-radius:8px;}
body.app-body.is-authenticated .table{--bs-table-bg:#fff;margin-bottom:0;color:var(--market-text);font-size:.86rem;}
body.app-body.is-authenticated .table thead th{
    background:#f3f6fa !important;color:#263b57 !important;border-color:#dfe6ef !important;font-size:.70rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase;padding:11px 10px;
}
body.app-body.is-authenticated .table tbody td,
body.app-body.is-authenticated .table tbody th{padding:10px;border-color:#e7ecf3;color:#253850;}
body.app-body.is-authenticated .table tbody tr:hover{background:#f7faff !important;}
body.app-body.is-authenticated .table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:#fbfcfe;}
body.app-body.is-authenticated .btn{border-radius:7px;font-weight:650;box-shadow:none;padding:.48rem .78rem;}
body.app-body.is-authenticated .btn-sm{padding:.36rem .62rem;font-size:.78rem;}
body.app-body.is-authenticated .btn-primary{background:#1267d6;border-color:#1267d6;box-shadow:none;}
body.app-body.is-authenticated .btn-primary:hover{background:#0b56b7;border-color:#0b56b7;}
body.app-body.is-authenticated .btn-outline-primary{background:#fff;color:#1267d6;border-color:#b9d0ed;}
body.app-body.is-authenticated .btn-outline-primary:hover{background:#1267d6;color:#fff;border-color:#1267d6;}
body.app-body.is-authenticated .btn-outline-secondary{background:#fff;color:#40536b;border-color:#d7dfe9;}
body.app-body.is-authenticated .btn-warning{background:#f59e0b;border-color:#f59e0b;color:#fff;}
body.app-body.is-authenticated .form-control,
body.app-body.is-authenticated .form-select,
body.app-body.is-authenticated .form-control-color{min-height:40px;border-radius:7px;background:#fff;border:1px solid #dbe3ed;color:#1e334d;}
body.app-body.is-authenticated .form-control:focus,
body.app-body.is-authenticated .form-select:focus{border-color:#75a9e8;box-shadow:0 0 0 .2rem rgba(18,103,214,.10);}
body.app-body.is-authenticated .form-label{font-size:.80rem;font-weight:700;color:#344861;}
body.app-body.is-authenticated .badge,
body.app-body.is-authenticated .soft-badge{border-radius:999px;font-weight:700;}
body.app-body.is-authenticated .alert{border-radius:9px;border-width:1px;box-shadow:none;}
body.app-body.is-authenticated .list-group-item{border-radius:8px !important;box-shadow:none;background:#fff;border-color:#e4eaf2 !important;}
body.app-body.is-authenticated .dropdown-menu,
body.app-body.is-authenticated .modal-content{background:#fff;border:1px solid #e0e6ef;border-radius:10px !important;box-shadow:0 18px 46px rgba(16,35,63,.13);backdrop-filter:none;}
body.app-body.is-authenticated .nav-tabs{border-bottom:1px solid #dfe6ef;gap:12px;}
body.app-body.is-authenticated .nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;color:#52657d;border-radius:0;padding:.7rem .35rem;font-weight:650;}
body.app-body.is-authenticated .nav-tabs .nav-link.active{color:#1267d6;border-bottom-color:#1267d6;background:transparent;}
body.app-body.is-authenticated .pagination .page-link{color:#40536b;border-color:#dfe6ef;}
body.app-body.is-authenticated .pagination .active>.page-link{background:#1267d6;border-color:#1267d6;color:#fff;}
body.app-body.is-authenticated .dashboard-priority-card,
body.app-body.is-authenticated .expiry-item{background:#fff;border-color:#e3e9f2;box-shadow:0 4px 16px rgba(16,35,63,.04);border-radius:10px !important;}
@media (max-width: 991.98px){
 body.app-body.is-authenticated .app-shell{grid-template-columns:1fr;}
 body.app-body.is-authenticated .app-sidebar{position:relative;height:auto;padding:12px;}
 body.app-body.is-authenticated .sidebar-brand{min-height:58px;}
 body.app-body.is-authenticated .sidebar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
 body.app-body.is-authenticated .app-topbar{position:relative;padding:12px 14px;}
 body.app-body.is-authenticated .topbar-search{width:100%;}
 body.app-body.is-authenticated .app-content{padding:16px;}
}
@media (max-width: 575.98px){
 body.app-body.is-authenticated .sidebar-nav{grid-template-columns:1fr;}
 body.app-body.is-authenticated .topbar-user-meta,.topbar-title-wrap{display:none;}
 body.app-body.is-authenticated .app-content{padding:12px;}
}


/* ======================================================================
   V180 — Painel: cards superiores coloridos
   Mantém o layout moderno da V179, recuperando a leitura visual por cor.
   ====================================================================== */
body.app-body.is-authenticated .dashboard-metrics-row .metric-card{
    overflow:hidden;
    position:relative;
    border-width:1px !important;
    box-shadow:0 7px 20px rgba(16,35,63,.07) !important;
}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    border-radius:10px 0 0 10px;
}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-primary{
    background:linear-gradient(135deg,#eef6ff 0%,#e2f0ff 100%) !important;
    border-color:#c9def8 !important;
}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-primary::before{background:#1677e8;}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-primary .metric-label{color:#315d8f;}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-primary .metric-icon{background:#d8eaff;color:#1677e8;}

body.app-body.is-authenticated .dashboard-metrics-row .metric-card-secondary,
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-success{
    background:linear-gradient(135deg,#effbf5 0%,#e1f7ec 100%) !important;
    border-color:#c9ead9 !important;
}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-secondary::before,
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-success::before{background:#19a765;}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-secondary .metric-label,
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-success .metric-label{color:#35765a;}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-secondary .metric-icon,
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-success .metric-icon{background:#d8f3e5;color:#14975a;}

body.app-body.is-authenticated .dashboard-metrics-row .metric-card-accent,
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-warning{
    background:linear-gradient(135deg,#fff8e9 0%,#fff0cf 100%) !important;
    border-color:#f2dfb6 !important;
}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-accent::before,
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-warning::before{background:#f59e0b;}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-accent .metric-label,
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-warning .metric-label{color:#8a651a;}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-accent .metric-icon,
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-warning .metric-icon{background:#ffebc4;color:#e58c00;}

body.app-body.is-authenticated .dashboard-metrics-row .metric-card-total{
    background:linear-gradient(135deg,#f7f0ff 0%,#eee2ff 100%) !important;
    border-color:#ddc9f6 !important;
}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-total::before{background:#7c3aed;}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-total .metric-label{color:#65408c;}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-total .metric-icon{background:#eadcff;color:#7c3aed;}

body.app-body.is-authenticated .dashboard-metrics-row .metric-card-balance{
    background:linear-gradient(135deg,#fff1f4 0%,#ffe3e9 100%) !important;
    border-color:#f3cbd4 !important;
}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-balance::before{background:#e83e5b;}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-balance .metric-label{color:#8f4050;}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card-balance .metric-icon{background:#ffd9e1;color:#dc2f50;}

body.app-body.is-authenticated .dashboard-metrics-row .metric-card .metric-value{
    color:#10233f !important;
}
body.app-body.is-authenticated .dashboard-metrics-row .metric-card:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(16,35,63,.10) !important;
    transition:transform .18s ease, box-shadow .18s ease;
}
@media (prefers-reduced-motion:reduce){
    body.app-body.is-authenticated .dashboard-metrics-row .metric-card:hover{transform:none;}
}

/* ======================================================================
   V181 — Login moderno com imagem financeira em tela inteira
   Fundo retangular em toda a viewport; somente logo + formulário visíveis.
   ====================================================================== */
body.app-body.is-guest{
    min-height:100vh !important;
    margin:0 !important;
    background:#0d2236 url('login-financeiro-bg.jpg') center center / cover no-repeat fixed !important;
    font-family:Inter, var(--app-font-family), system-ui, -apple-system, "Segoe UI", sans-serif !important;
    overflow:hidden;
}
body.app-body.is-guest::before{
    content:"" !important;
    position:fixed !important;
    inset:0 !important;
    z-index:0 !important;
    pointer-events:none !important;
    background:linear-gradient(90deg, rgba(5,19,34,.30) 0%, rgba(10,31,50,.16) 48%, rgba(238,247,252,.40) 100%) !important;
    backdrop-filter:none !important;
}
body.app-body.is-guest::after{
    content:"" !important;
    position:fixed !important;
    inset:0 !important;
    z-index:0 !important;
    pointer-events:none !important;
    background:rgba(255,255,255,.12) !important;
}
body.app-body.is-guest .login-page-wrap{
    position:relative !important;
    z-index:1 !important;
    width:100vw !important;
    min-height:100vh !important;
    padding:32px 5vw !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
}
body.app-body.is-guest .login-screen,
body.app-body.is-guest .login-screen-modern-bg{
    width:min(500px, 100%) !important;
    min-height:auto !important;
    padding:0 !important;
    margin:0 !important;
    display:block !important;
    background:transparent !important;
}
body.app-body.is-guest .login-screen::before,
body.app-body.is-guest .login-screen::after,
body.app-body.is-guest .login-screen-elegant::before{
    display:none !important;
}
body.app-body.is-guest .login-panel,
body.app-body.is-guest .login-panel-modern{
    width:100% !important;
    max-width:500px !important;
    margin:0 !important;
    border-radius:8px !important;
    background:rgba(255,255,255,.94) !important;
    border:1px solid rgba(210,220,232,.92) !important;
    box-shadow:0 18px 54px rgba(4,23,43,.23) !important;
    backdrop-filter:blur(6px) !important;
    overflow:hidden !important;
}
body.app-body.is-guest .login-panel::before,
body.app-body.is-guest .login-panel-animated::before{
    display:none !important;
}
body.app-body.is-guest .login-panel-inner{
    padding:38px 42px 40px !important;
}
body.app-body.is-guest .login-panel-head{
    margin:0 0 28px !important;
}
body.app-body.is-guest .login-logo-wrap-modern{
    width:100% !important;
    max-width:330px !important;
    height:120px !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}
body.app-body.is-guest .login-logo-modern{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:330px !important;
    object-fit:contain !important;
    transform:none !important;
}
body.app-body.is-guest .login-form .form-label{
    margin-bottom:7px !important;
    color:#162942 !important;
    font-size:.92rem !important;
    font-weight:700 !important;
}
body.app-body.is-guest .login-field-wrap{
    position:relative;
}
body.app-body.is-guest .login-field-icon{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
    color:#58708c;
    font-size:1.05rem;
    pointer-events:none;
}
body.app-body.is-guest .login-input-modern{
    min-height:54px !important;
    padding:12px 16px 12px 46px !important;
    border-radius:7px !important;
    border:1px solid #cad5e2 !important;
    background:#fff !important;
    color:#13263f !important;
    font-size:.96rem !important;
    box-shadow:none !important;
}
body.app-body.is-guest .login-input-modern::placeholder{
    color:#8493a6 !important;
}
body.app-body.is-guest .login-input-modern:focus{
    border-color:#1677e8 !important;
    box-shadow:0 0 0 3px rgba(22,119,232,.12) !important;
    transform:none !important;
}
body.app-body.is-guest .login-submit-modern{
    min-height:54px !important;
    border-radius:7px !important;
    border:1px solid #0f6ee6 !important;
    background:linear-gradient(180deg,#1677e8 0%,#0f63d2 100%) !important;
    color:#fff !important;
    font-size:1rem !important;
    font-weight:700 !important;
    box-shadow:0 8px 18px rgba(15,110,230,.20) !important;
}
body.app-body.is-guest .login-submit-modern:hover{
    background:linear-gradient(180deg,#106bd7 0%,#0b59bd 100%) !important;
    border-color:#0b59bd !important;
}
body.app-body.is-guest .login-message-stack{
    z-index:10 !important;
}
@media (max-width:760px){
    body.app-body.is-guest{
        overflow:auto;
        background-position:42% center !important;
    }
    body.app-body.is-guest .login-page-wrap{
        min-height:100vh !important;
        justify-content:center !important;
        padding:24px 18px !important;
    }
    body.app-body.is-guest .login-panel-inner{
        padding:30px 24px 32px !important;
    }
    body.app-body.is-guest .login-logo-wrap-modern{
        height:96px !important;
        max-width:280px !important;
    }
}


/* ======================================================================
   V182 — Data/hora da última atualização abaixo do login
   ====================================================================== */
body.app-body.is-guest .login-screen-modern-bg{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
}
body.app-body.is-guest .login-update-info{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    width:100%;
    padding:2px 8px 0;
    color:rgba(255,255,255,.94);
    font-size:.82rem;
    font-weight:600;
    text-align:center;
    text-shadow:0 1px 3px rgba(4,23,43,.62);
}
body.app-body.is-guest .login-update-info i{
    font-size:.9rem;
    opacity:.95;
}
@media (max-width:760px){
    body.app-body.is-guest .login-update-info{
        font-size:.76rem;
        line-height:1.35;
        padding-bottom:6px;
    }
}

/* ======================================================================
   V184 — Configuração visual reestruturada
   Restaura o controle real de cores e tipografia sobre o layout moderno.
   ====================================================================== */
html{font-size:15px;}
body.app-body{
    font-family:var(--app-font-family),"Segoe UI",Arial,Helvetica,sans-serif !important;
}
body.app-body.is-authenticated{
    --market-navy:var(--sidebar-color);
    --market-navy-2:color-mix(in srgb,var(--sidebar-color) 86%,#000 14%);
    --market-blue:var(--primary-color);
    --market-blue-dark:var(--secondary-color);
    --market-bg:var(--background-color);
    --market-line:color-mix(in srgb,var(--content-muted-text-color) 22%,transparent 78%);
    --market-text:var(--content-text-color);
    --market-muted:var(--content-muted-text-color);
    background:var(--background-color) !important;
    color:var(--content-text-color) !important;
}
body.app-body.is-authenticated .app-shell,
body.app-body.is-authenticated .app-main{background:var(--background-color) !important;}
body.app-body.is-authenticated .app-sidebar{
    background:linear-gradient(180deg,var(--sidebar-color) 0%,color-mix(in srgb,var(--sidebar-color) 88%,#000 12%) 100%) !important;
}
body.app-body.is-authenticated .sidebar-link{color:var(--sidebar-text-color) !important;}
body.app-body.is-authenticated .sidebar-link i{color:color-mix(in srgb,var(--sidebar-text-color) 88%,transparent 12%) !important;}
body.app-body.is-authenticated .sidebar-link:hover{background:color-mix(in srgb,var(--primary-color) 20%,transparent 80%) !important;color:#fff !important;}
body.app-body.is-authenticated .sidebar-link.is-active{
    background:linear-gradient(90deg,var(--primary-color),var(--secondary-color)) !important;
    color:#fff !important;
    box-shadow:0 8px 18px color-mix(in srgb,var(--primary-color) 25%,transparent 75%) !important;
}
body.app-body.is-authenticated .app-topbar{
    background:color-mix(in srgb,var(--topbar-color) 96%,transparent 4%) !important;
    color:var(--topbar-text-color) !important;
    border-bottom-color:color-mix(in srgb,var(--content-muted-text-color) 20%,transparent 80%) !important;
}
body.app-body.is-authenticated .topbar-title,
body.app-body.is-authenticated .topbar-user-name,
body.app-body.is-authenticated .topbar-search input{color:var(--topbar-text-color) !important;}
body.app-body.is-authenticated .topbar-subtitle,
body.app-body.is-authenticated .topbar-user-role{color:color-mix(in srgb,var(--topbar-text-color) 62%,transparent 38%) !important;}
body.app-body.is-authenticated .topbar-icon-btn{color:var(--topbar-text-color) !important;background:var(--topbar-color) !important;}
body.app-body.is-authenticated .topbar-user-avatar{background:var(--primary-color) !important;}
body.app-body.is-authenticated .app-page-title,
body.app-body.is-authenticated h1,
body.app-body.is-authenticated h2,
body.app-body.is-authenticated h3,
body.app-body.is-authenticated h4,
body.app-body.is-authenticated h5,
body.app-body.is-authenticated h6,
body.app-body.is-authenticated .card-title,
body.app-body.is-authenticated .section-title,
body.app-body.is-authenticated .form-label{color:var(--content-text-color) !important;}
body.app-body.is-authenticated .app-page-subtitle,
body.app-body.is-authenticated .text-muted,
body.app-body.is-authenticated .small.text-muted{color:var(--content-muted-text-color) !important;}
body.app-body.is-authenticated .card,
body.app-body.is-authenticated .app-card,
body.app-body.is-authenticated .data-panel,
body.app-body.is-authenticated .card-header,
body.app-body.is-authenticated .list-group-item,
body.app-body.is-authenticated .dropdown-menu,
body.app-body.is-authenticated .modal-content{
    background:var(--card-color) !important;
    color:var(--content-text-color) !important;
    border-color:color-mix(in srgb,var(--content-muted-text-color) 18%,transparent 82%) !important;
}
body.app-body.is-authenticated .table{--bs-table-bg:var(--card-color);color:var(--content-text-color) !important;}
body.app-body.is-authenticated .table thead th{
    background:color-mix(in srgb,var(--background-color) 78%,var(--card-color) 22%) !important;
    color:var(--content-text-color) !important;
    border-color:color-mix(in srgb,var(--content-muted-text-color) 20%,transparent 80%) !important;
}
body.app-body.is-authenticated .table tbody td,
body.app-body.is-authenticated .table tbody th{color:var(--content-text-color) !important;border-color:color-mix(in srgb,var(--content-muted-text-color) 15%,transparent 85%) !important;}
body.app-body.is-authenticated .table tbody tr:hover{background:color-mix(in srgb,var(--primary-color) 5%,var(--card-color) 95%) !important;}
body.app-body.is-authenticated .btn-primary{background:var(--primary-color) !important;border-color:var(--primary-color) !important;color:#fff !important;}
body.app-body.is-authenticated .btn-primary:hover{background:var(--secondary-color) !important;border-color:var(--secondary-color) !important;}
body.app-body.is-authenticated .btn-outline-primary{color:var(--primary-color) !important;border-color:color-mix(in srgb,var(--primary-color) 45%,transparent 55%) !important;background:var(--card-color) !important;}
body.app-body.is-authenticated .btn-outline-primary:hover{background:var(--primary-color) !important;border-color:var(--primary-color) !important;color:#fff !important;}
body.app-body.is-authenticated .form-control,
body.app-body.is-authenticated .form-select,
body.app-body.is-authenticated .form-control-color{
    background:var(--card-color) !important;
    color:var(--content-text-color) !important;
    border-color:color-mix(in srgb,var(--content-muted-text-color) 28%,transparent 72%) !important;
}
body.app-body.is-authenticated .form-control:focus,
body.app-body.is-authenticated .form-select:focus{
    border-color:var(--primary-color) !important;
    box-shadow:0 0 0 .2rem color-mix(in srgb,var(--primary-color) 13%,transparent 87%) !important;
}
body.app-body.is-authenticated .nav-tabs .nav-link.active{color:var(--primary-color) !important;border-bottom-color:var(--primary-color) !important;}
body.app-body.is-authenticated .pagination .active>.page-link{background:var(--primary-color) !important;border-color:var(--primary-color) !important;}
body.app-body.is-authenticated .metric-card .metric-value{color:var(--content-text-color) !important;}

/* V184: comportamento visual por modelo, sem impedir cores manuais */
body.app-body.theme-clean_light.is-authenticated .app-sidebar{box-shadow:4px 0 18px rgba(15,23,42,.05);}
body.app-body.theme-clean_light.is-authenticated .sidebar-link.is-active{box-shadow:none !important;}
body.app-body.theme-classic_blue.is-authenticated .card,
body.app-body.theme-classic_blue.is-authenticated .app-card{border-radius:8px !important;}
body.app-body.theme-aurora_dark.is-authenticated .app-content{background:linear-gradient(180deg,color-mix(in srgb,var(--background-color) 94%,#000 6%),var(--background-color));}

/* Configuração: controles de cor e prévias */
.settings-color-control{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px;align-items:center;}
.settings-color-control .form-control-color{width:54px !important;min-width:54px;height:42px;min-height:42px !important;padding:4px !important;border-radius:7px !important;cursor:pointer;}
.settings-color-text{text-transform:uppercase;font-family:Consolas,"Courier New",monospace;font-weight:700;letter-spacing:.03em;min-height:42px !important;}
.settings-color-text.is-invalid{border-color:#dc3545 !important;box-shadow:0 0 0 .16rem rgba(220,53,69,.09) !important;}
.theme-swatches{display:flex;gap:6px;margin-top:12px;}
.theme-swatches span{width:30px;height:18px;border-radius:4px;border:1px solid rgba(15,23,42,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);}
.font-preview{padding:14px;border:1px solid color-mix(in srgb,var(--content-muted-text-color) 22%,transparent 78%);border-radius:8px;background:color-mix(in srgb,var(--background-color) 55%,var(--card-color) 45%);}
.font-preview-title{font-weight:800;font-size:1.05rem;color:var(--content-text-color);margin-bottom:4px;}
.font-preview-text{font-size:.88rem;line-height:1.5;color:var(--content-muted-text-color);}
.settings-live-preview{--preview-primary:#1267D6;--preview-bg:#F5F7FB;--preview-card:#FFFFFF;--preview-sidebar:#0F2038;--preview-sidebar-text:#D8E2EF;--preview-topbar:#FFFFFF;--preview-topbar-text:#10233F;--preview-text:#10233F;--preview-muted:#66758C;display:grid;grid-template-columns:145px minmax(0,1fr);min-height:190px;border:1px solid rgba(148,163,184,.28);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.06);}
.settings-live-preview-sidebar{background:var(--preview-sidebar);color:var(--preview-sidebar-text);padding:22px 16px;font-weight:700;}
.settings-live-preview-main{display:flex;flex-direction:column;background:var(--preview-bg);min-width:0;}
.settings-live-preview-topbar{height:46px;padding:13px 18px;background:var(--preview-topbar);color:var(--preview-topbar-text);font-weight:700;border-bottom:1px solid rgba(148,163,184,.2);}
.settings-live-preview-content{padding:18px;flex:1;}
.settings-live-preview-card{max-width:470px;padding:16px;background:var(--preview-card);color:var(--preview-text);border:1px solid rgba(148,163,184,.25);border-radius:8px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.settings-live-preview-card span{color:var(--preview-muted);font-size:.86rem;}
.settings-live-preview-card button{border:0;border-radius:6px;padding:7px 12px;background:var(--preview-primary);color:#fff;font-weight:700;}
@media(max-width:767.98px){.settings-live-preview{grid-template-columns:85px minmax(0,1fr)}.settings-live-preview-sidebar{padding:16px 10px}.settings-color-control{grid-template-columns:48px minmax(0,1fr)}.settings-color-control .form-control-color{width:48px !important;min-width:48px;}}

/* Login passa a respeitar tipografia e cores configuradas sem perder a imagem */
body.app-body.is-guest{font-family:var(--app-font-family),"Segoe UI",Arial,Helvetica,sans-serif !important;}
body.app-body.is-guest .login-form .form-label{color:var(--login-text-color) !important;}
body.app-body.is-guest .login-input-modern{color:var(--login-text-color) !important;}
body.app-body.is-guest .login-input-modern:focus{border-color:var(--primary-color) !important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 13%,transparent 87%) !important;}
body.app-body.is-guest .login-submit-modern{background:linear-gradient(180deg,var(--primary-color),var(--secondary-color)) !important;border-color:var(--primary-color) !important;}
body.app-body.is-guest .login-submit-modern:hover{background:var(--secondary-color) !important;border-color:var(--secondary-color) !important;}
