@font-face{
    font-family: system-ui;
    src: local("Segoe UI"), local("Inter"), local("Helvetica Neue"), local("Arial");
}

:root{
    --bg: #ffffff;
    --panel: #f7f7f8;
    --border: #e6e6e8;
    --text: #111111;
    --muted: #6b6b6b;
    --surface: #ffffff;
    --shadow: 0 8px 24px rgba(0,0,0,.08);
    --radius: 14px;
    --radius-sm: 10px;
    --brand-start: #66c1bf;
    --brand-end: #0c63a6;
    --brand-gradient: linear-gradient(135deg, var(--brand-start) 0%, var(--brand-end) 100%);
    --brand-shadow: 0 14px 28px rgba(12,99,166,.18);
    --brand-ring: rgba(12,99,166,.12);
    --btn: var(--brand-gradient);
    --btnText: #ffffff;
    --btnGhost: #ffffff;
    --btnGhostText: #0c63a6;
}

body.theme-dark{
    --bg: #0b0b0c;
    --panel: #111113;
    --border: #2a2a2f;
    --text: #f2f2f2;
    --muted: #a4a4a9;
    --surface: #0f0f12;
    --shadow: 0 10px 28px rgba(0,0,0,.55);
    --btn: #2a2a2f;
    --btnText: #f2f2f2;
    --btnGhost: transparent;
    --btnGhostText: #f2f2f2;
}

body.theme-dark .alert{background:#0f0f12}
body.theme-dark .dev-box{background:#0f0f12}
body.theme-dark .input{background:#0f0f12}
body.theme-dark .sidebar-user{background:#0f0f12}
body.theme-dark .composer-inner{background:#0f0f12}
body.theme-dark .msg-inner{background:#0f0f12}
body.theme-dark .icon-btn:not(.primary){background:#0f0f12}
body.theme-dark .chat-item:hover{background:#0f0f12}
body.theme-dark .chat-item.active{background:#0f0f12}
body.theme-dark .project-item:hover{background:#0f0f12}
body.theme-dark .project-item.active{background:#0f0f12}
body.theme-dark .nav-item:hover{background:#0f0f12}
body.theme-dark .modal-card{background:#0f0f12}
body.theme-dark .modal-head{background:#0f0f12}
body.theme-dark .table th{color:var(--muted)}

body:not(.theme-dark) .brand-mark,
body:not(.theme-dark) .avatar{
    border-color:rgba(12,99,166,.14);
    color:#ffffff;
    background:var(--brand-gradient);
    box-shadow:var(--brand-shadow);
}
body:not(.theme-dark) .brand-name,
body:not(.theme-dark) .projects-panel-title,
body:not(.theme-dark) .chat-empty h2{
    background:var(--brand-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
body:not(.theme-dark) .topbar-title,
body:not(.theme-dark) .msg.assistant .msg-role,
body:not(.theme-dark) .nav-item > span:not(.icon),
body:not(.theme-dark) .sidebar-link{
    background:var(--brand-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
body:not(.theme-dark) .link,
body:not(.theme-dark) .btn-link{
    background:var(--brand-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    text-decoration-color:rgba(12,99,166,.32);
}
body:not(.theme-dark) .btn{
    box-shadow:0 16px 28px rgba(12,99,166,.18);
}
body:not(.theme-dark) .btn-ghost{
    background:
        linear-gradient(var(--surface), var(--surface)) padding-box,
        var(--brand-gradient) border-box;
    border:1px solid transparent;
    box-shadow:none;
}
body:not(.theme-dark) .btn-icon-only.btn-ghost{
    background:
        linear-gradient(var(--surface), var(--surface)) padding-box,
        var(--brand-gradient) border-box;
}
body:not(.theme-dark) .btn:hover,
body:not(.theme-dark) .icon-btn.primary:hover{
    filter:brightness(1.03);
}
body:not(.theme-dark) .nav-item .svg-icon{
    padding:4px;
    border-radius:10px;
    background:var(--brand-gradient);
    color:#ffffff;
    box-shadow:0 10px 20px rgba(12,99,166,.14);
    box-sizing:content-box;
}
body:not(.theme-dark) .chat-dot,
body:not(.theme-dark) .msg-loading-dots span{
    background:var(--brand-gradient);
    opacity:.35;
}
body:not(.theme-dark) .icon-btn.active{
    border-color:rgba(12,99,166,.26);
    box-shadow:0 0 0 4px rgba(12,99,166,.10);
}
body:not(.theme-dark) .icon-btn.primary{
    box-shadow:0 16px 28px rgba(12,99,166,.18);
}
body:not(.theme-dark) #micBtn,
body:not(.theme-dark) #themeToggleBtn{
    border-color:transparent;
    background:var(--brand-gradient);
    color:#ffffff;
    box-shadow:0 16px 28px rgba(12,99,166,.18);
}
body:not(.theme-dark) #micBtn .svg-icon,
body:not(.theme-dark) #themeToggleBtn .icon{
    color:#ffffff;
}
body:not(.theme-dark) #collapseSidebarBtn{
    background:
        linear-gradient(var(--surface), var(--surface)) padding-box,
        var(--brand-gradient) border-box;
    border:1px solid transparent;
    box-shadow:none;
    color:var(--text);
}
body:not(.theme-dark) #collapseSidebarBtn .icon{
    background:var(--brand-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
body:not(.theme-dark) .user-name{
    background:var(--brand-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
body:not(.theme-dark) .user-email,
body:not(.theme-dark) .user-role,
body:not(.theme-dark) .user-ms-email{
    background:none;
    color:var(--text);
}
body:not(.theme-dark) .pinned-row{
    background:
        linear-gradient(var(--surface), var(--surface)) padding-box,
        linear-gradient(135deg, rgba(102,193,191,.42), rgba(12,99,166,.28)) border-box;
    border:1px solid transparent;
}
body:not(.theme-dark) .pinned-btn .pinned-caret,
body:not(.theme-dark) .pinned-btn .svg-icon{
    color:#0c63a6;
}
body:not(.theme-dark) .pinned-btn .pinned-name{
    background:var(--brand-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
body:not(.theme-dark) #profileModal .modal-title{
    background:var(--brand-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
body:not(.theme-dark) #profileAvatar::file-selector-button{
    margin-right:10px;
    padding:8px 12px;
    border-radius:10px;
    border:1px solid transparent;
    background:var(--brand-gradient);
    color:#ffffff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 12px 22px rgba(12,99,166,.16);
}
body:not(.theme-dark) #profileAvatar::-webkit-file-upload-button{
    margin-right:10px;
    padding:8px 12px;
    border-radius:10px;
    border:1px solid transparent;
    background:var(--brand-gradient);
    color:#ffffff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 12px 22px rgba(12,99,166,.16);
}
body:not(.theme-dark) .input:focus{
    border-color:rgba(12,99,166,.28);
    box-shadow:0 0 0 4px rgba(12,99,166,.08);
}
body:not(.theme-dark) .sidebar-user-btn:focus-visible{
    box-shadow:0 0 0 4px rgba(12,99,166,.10);
}
body:not(.theme-dark) .composer-hint[data-type="busy"]{
    border-color:rgba(12,99,166,.16);
    background:
        linear-gradient(var(--surface), var(--surface)) padding-box,
        var(--brand-gradient) border-box;
    border:1px solid transparent;
    color:#0c63a6;
}

*{box-sizing:border-box}
[hidden]{display:none !important}
html,body{height:100%;overflow:hidden}
body{
    margin:0;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Helvetica Neue", Helvetica, sans-serif;
    background:var(--bg);
    color:var(--text);
}

a{color:inherit;text-decoration:none}

.link{
    color:var(--text);
    text-decoration:underline;
    text-underline-offset:3px;
}
.link:hover{opacity:.85}

.alert{
    border:1px solid var(--border);
    background:var(--surface);
    padding:10px 12px;
    border-radius:12px;
    margin:10px 0;
    font-size:14px;
    line-height:1.35;
}
.alert-error{border-color:#f0c2c2;background:#fff7f7}
.alert-info{border-color:#cfd6ff;background:#f7f8ff}

.dev-box{
    border:1px dashed var(--border);
    border-radius:12px;
    padding:12px;
    margin:12px 0;
    font-size:13px;
    background:var(--surface);
}
.dev-title{
    font-weight:600;
    margin-bottom:6px;
}

.input{
    width:100%;
    padding:12px 12px;
    border:1px solid var(--border);
    border-radius:12px;
    outline:none;
    font-size:14px;
    background:var(--surface);
    color:var(--text);
}
.input:focus{border-color:#bdbdc5;box-shadow:0 0 0 4px rgba(17,17,17,.06)}
.input-search{padding:10px 12px;border-radius:12px}

.field{display:block;margin:10px 0}
.label{display:block;font-size:12px;color:var(--muted);margin:0 0 6px}
.admin-rich-editor{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.admin-rich-editor-toolbar{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.admin-rich-editor-toolbar .btn{
    min-width:44px;
    padding:8px 12px;
}
.admin-rich-editor-surface{
    min-height:340px;
    line-height:1.6;
    overflow:auto;
    white-space:normal;
}
.admin-rich-editor-surface:empty::before{
    content:attr(data-placeholder);
    color:var(--muted);
}
.admin-rich-editor-surface a{
    color:#0c63a6;
    text-decoration:underline;
}
.admin-rich-editor-surface ul,
.admin-rich-editor-surface ol{
    margin:0 0 1em 1.4em;
    padding:0;
}
.admin-rich-editor-surface p{
    margin:0 0 1em;
}
.admin-rich-editor-surface p:last-child{
    margin-bottom:0;
}
.admin-collapsible{
    margin:0;
}
.admin-collapsible-summary{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    cursor:pointer;
    user-select:none;
}
.admin-collapsible-summary::-webkit-details-marker{
    display:none;
}
.admin-collapsible-summary::after{
    content:"";
    width:10px;
    height:10px;
    flex:0 0 10px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg);
    transition:transform .2s ease;
    opacity:.78;
}
.admin-collapsible[open] .admin-collapsible-summary::after{
    transform:rotate(225deg);
}
.admin-collapsible-meta{
    margin-left:auto;
    padding:6px 10px;
    border-radius:999px;
    border:1px solid var(--border);
    color:var(--muted);
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}
.admin-collapsible-body{
    padding-top:14px;
}
.admin-communication-history-note{
    margin-top:4px;
    color:var(--muted);
    font-size:12px;
}
.admin-communication-action-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.admin-communication-schedule-note{
    grid-column:1 / -1;
}
.admin-communication-history-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:6px 12px;
    border-radius:999px;
    border:1px solid var(--border);
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}
.admin-communication-history-badge.is-immediate{
    color:#0c63a6;
    background:color-mix(in srgb, #0c63a6 10%, var(--surface) 90%);
}
.admin-communication-history-badge.is-scheduled{
    color:#7c3aed;
    background:color-mix(in srgb, #7c3aed 10%, var(--surface) 90%);
}
.admin-communication-history-ok{
    color:#15803d;
    font-weight:700;
}
.admin-communication-history-errors{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.admin-communication-history-error-item{
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:12px;
    background:color-mix(in srgb, var(--surface) 88%, #ffe8e8 12%);
    line-height:1.5;
}
body.theme-dark .admin-communication-history-ok{
    color:#86efac;
}
body.theme-dark .admin-communication-history-badge.is-immediate{
    color:#93c5fd;
    background:color-mix(in srgb, #0c63a6 22%, var(--surface) 78%);
}
body.theme-dark .admin-communication-history-badge.is-scheduled{
    color:#d8b4fe;
    background:color-mix(in srgb, #7c3aed 22%, var(--surface) 78%);
}
body.theme-dark .admin-communication-history-error-item{
    background:color-mix(in srgb, var(--surface) 86%, #3f1418 14%);
}
body:not(.theme-dark) .admin-collapsible-summary{
    padding:2px 0;
}
body:not(.theme-dark) .admin-collapsible-summary .card-title{
    background:var(--brand-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
body:not(.theme-dark) .admin-collapsible-meta{
    background:
        linear-gradient(var(--surface), var(--surface)) padding-box,
        var(--brand-gradient) border-box;
    border:1px solid transparent;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:12px;
    padding:12px 14px;
    border:1px solid transparent;
    cursor:pointer;
    font-weight:600;
    font-size:14px;
    background:var(--btn);
    color:var(--btnText);
}
.btn:hover{opacity:.92}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-primary{background:var(--btn);color:var(--btnText)}
.btn-ghost{
    background:var(--btnGhost);
    color:var(--btnGhostText);
    border-color:var(--border);
}
.btn-icon-only{
    min-width:42px;
    width:42px;
    padding:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:0;
}
.btn.danger{color:#a40000}
body.theme-dark .btn.danger{color:#ff7a7a}
.btn-link{
    background:transparent;
    border:none;
    padding:0;
    font-weight:600;
    cursor:pointer;
}
.btn-sm{padding:8px 10px;border-radius:10px;font-size:13px}

.auth-page{
    min-height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}
.auth-card{
    width:100%;
    max-width:420px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:22px;
    box-shadow:var(--shadow);
    background:var(--surface);
}
.brand{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}
.brand-mark{
    width:38px;height:38px;
    border-radius:12px;
    border:1px solid var(--border);
    display:flex;align-items:center;justify-content:center;
    font-weight:800;
    color:var(--text);
    background:var(--surface);
}
.brand-mark.small{width:28px;height:28px;border-radius:10px;font-size:14px}
.brand-name{font-weight:800;letter-spacing:.2px}
.brand-name.small{font-size:14px}
.auth-title{margin:10px 0 4px;font-size:20px}
.auth-subtitle{margin:0 0 14px;color:var(--muted);font-size:13px}
.auth-form{margin-top:6px}
.auth-links{margin-top:14px;font-size:13px;color:var(--muted)}
.auth-page-login .brand-mark{
    border-color:rgba(12,99,166,.14);
    color:#ffffff;
    background:linear-gradient(135deg,#66c1bf 0%,#0c63a6 100%);
    box-shadow:0 14px 28px rgba(12,99,166,.18);
}
.auth-page-login .brand-name,
.auth-page-login .auth-title{
    background:linear-gradient(135deg,#66c1bf 0%,#0c63a6 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.auth-page-login .btn.btn-primary{
    border-color:transparent;
    background:linear-gradient(135deg,#66c1bf 0%,#0c63a6 100%);
    box-shadow:0 16px 28px rgba(12,99,166,.20);
}
.auth-page-login .btn.btn-primary:hover{
    filter:brightness(1.03);
}

.app-shell{
    height:100vh;
    max-height:100vh;
    display:flex;
    overflow:hidden;
}
.sidebar{
    width:320px;
    flex:0 0 320px;
    background:var(--panel);
    border-right:1px solid var(--border);
    display:flex;
    flex-direction:column;
    position:relative;
    overflow:hidden;
}
.sidebar-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px;
    gap:12px;
}
.sidebar-actions{display:flex;align-items:center;gap:8px}
.sidebar-brand{display:flex;align-items:center;gap:10px}
.sidebar-nav{padding:0 14px 12px}
.sidebar-scroll{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    padding-bottom:10px;
}
.sidebar-scroll::-webkit-scrollbar{width:10px}
.sidebar-scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.10);border-radius:999px}
body.theme-dark .sidebar-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.10)}
.nav-item{
    width:100%;
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 10px;
    border-radius:12px;
    border:1px solid transparent;
    background:transparent;
    cursor:pointer;
    font-size:13px;
    font-weight:700;
    color:var(--text);
}
.nav-item:hover{background:var(--surface);border-color:var(--border)}
.sidebar-group{padding:6px 14px 10px}
.group-title{
    font-size:12px;
    color:var(--muted);
    font-weight:900;
    margin:6px 0 10px;
}
.pinned-list{display:flex;flex-direction:column;gap:6px}
.pinned-row{border-radius:12px}
.pinned-btn{
    width:100%;
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 10px;
    border-radius:12px;
    border:1px solid transparent;
    background:transparent;
    cursor:pointer;
    color:var(--text);
    font-size:13px;
    font-weight:700;
    text-align:left;
}
.pinned-btn:hover{background:var(--surface);border-color:var(--border)}
.pinned-caret{width:14px;display:inline-flex;justify-content:center;color:var(--muted);font-size:16px}
.pinned-row.open .pinned-caret{transform:rotate(90deg)}
.pinned-name{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pinned-chats{padding:6px 0 0 22px}
.pinned-chats .chat-row{margin:2px 0}
.pinned-chats .chat-item{padding:8px 10px}

.project-row{display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:12px;border:1px solid transparent}
.project-row-head{display:flex;align-items:center;gap:8px;position:relative}
.project-pin{
    width:34px;height:34px;
    border-radius:12px;
    border:1px solid var(--border);
    background:var(--surface);
    cursor:pointer;
    font-size:16px;
    line-height:1;
    color:var(--text);
}
.project-pin:hover{border-color:#cfcfd7}
.project-row.pinned .project-pin{color:#f0b400}
.project-list{display:flex;flex-direction:column;gap:6px}
.project-open,.project-item{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    padding:9px 10px;
    border-radius:12px;
    border:1px solid transparent;
    font-size:13px;
    color:var(--text);
    background:transparent;
    cursor:pointer;
    font-weight:700;
    text-align:left;
    min-width:0;
}
.project-open:hover,.project-item:hover{background:var(--surface);border-color:var(--border)}
.project-caret{width:14px;display:inline-flex;justify-content:center;color:var(--muted);font-size:16px}
.project-row.open .project-caret{transform:rotate(90deg)}
.project-name{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-chats{padding:6px 0 0 22px}
.project-chats .chat-row{margin:2px 0}
.project-chats .chat-item{padding:8px 10px}
.projects-panel{
    position:absolute;
    inset:0;
    background:var(--panel);
    display:none;
    flex-direction:column;
    z-index:25;
}
.projects-panel.open{display:flex}
.projects-panel-head{
    height:54px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 14px;
    border-bottom:1px solid var(--border);
    background:var(--panel);
}
.projects-panel-title{font-weight:900;flex:1 1 auto}
.projects-panel-body{
    padding:12px 14px;
    overflow:auto;
    flex:1 1 auto;
}
.projects-panel-spacer{width:38px;height:38px}
.insigne-export-btn{height:38px;padding:0 12px;flex:0 0 auto}

.insigne-doc-note{font-size:12px;color:var(--muted);margin:0 0 10px}
.insigne-doc-frame{
    width:100%;
    height:calc(100vh - 210px);
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface);
}

.insigne-carta{display:flex;flex-direction:column;gap:12px}
.insigne-carta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.insigne-carta-actions{display:flex;gap:10px;flex-wrap:wrap}
.insigne-carta-result{display:flex;flex-direction:column;gap:10px}
.insigne-carta-meta{font-size:12px;color:var(--muted)}
.insigne-carta-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
.prestacao-contas-menu{display:flex;flex-direction:column;gap:10px}
.prestacao-contas-intro{
    background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    border:1px solid rgba(12,99,166,.08);
    border-radius:20px;
    padding:26px 28px 30px;
    box-shadow:0 14px 36px rgba(12,99,166,.08);
    margin:6px 0 4px;
}
.prestacao-contas-intro__brand{
    color:#0c63a6;
    font-size:13px;
    font-weight:700;
    letter-spacing:.2px;
    margin-bottom:14px;
}
.prestacao-contas-intro__title{
    color:#0c2440;
    font-size:22px;
    font-weight:800;
    margin:0 0 6px;
    line-height:1.2;
}
.prestacao-contas-intro__subtitle{
    color:#5a6b80;
    font-size:14px;
    font-weight:500;
    margin:0 0 18px;
    line-height:1.45;
}
body.theme-dark .prestacao-contas-intro{
    background:linear-gradient(180deg, #1d2129 0%, #1a1d24 100%);
    border-color:rgba(255,255,255,.08);
    box-shadow:0 14px 36px rgba(0,0,0,.35);
}
body.theme-dark .prestacao-contas-intro__brand{color:#7fc1f0}
body.theme-dark .prestacao-contas-intro__title{color:#e6eef7}
body.theme-dark .prestacao-contas-intro__subtitle{color:#9fb1c6}

.msg-content-policy{padding:0!important;border:0!important;background:transparent!important}
.policy-doc{
    background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    border:1px solid rgba(12,99,166,.10);
    border-radius:18px;
    padding:24px 26px 26px;
    box-shadow:0 14px 36px rgba(12,99,166,.08);
    color:#0c2440;
    line-height:1.6;
    font-size:14px;
}
body.theme-dark .policy-doc{
    background:linear-gradient(180deg, #1d2129 0%, #1a1d24 100%);
    border-color:rgba(255,255,255,.08);
    box-shadow:0 14px 36px rgba(0,0,0,.35);
    color:#e6eef7;
}
.policy-doc__intro{
    margin:0 0 18px;
    padding:14px 16px;
    background:rgba(12,99,166,.05);
    border-left:3px solid #0c63a6;
    border-radius:8px;
    color:#0c2440;
    font-size:14px;
    font-weight:500;
}
body.theme-dark .policy-doc__intro{
    background:rgba(127,193,240,.08);
    border-left-color:#7fc1f0;
    color:#e6eef7;
}
.policy-section{margin:0 0 18px}
.policy-section:last-child{margin-bottom:0}
.policy-section__title{
    margin:0 0 8px;
    font-size:15px;
    font-weight:800;
    color:#0c2440;
    letter-spacing:.1px;
}
body.theme-dark .policy-section__title{color:#e6eef7}
.policy-section__body p{margin:0 0 8px}
.policy-section__body ul,
.policy-section__body ol{margin:0 0 8px;padding-left:22px}
.policy-section__body li{margin:0 0 4px}
.policy-section__body strong{color:#0c63a6;font-weight:800}
body.theme-dark .policy-section__body strong{color:#7fc1f0}
.policy-decimal{padding-left:24px}
.policy-decimal>li{margin:0 0 6px}
.policy-responsibilities{padding-left:0;list-style:none}
.policy-responsibilities>li{
    padding:8px 12px;
    margin:0 0 4px;
    background:rgba(12,99,166,.05);
    border-radius:8px;
    border-left:3px solid #0c63a6;
}
body.theme-dark .policy-responsibilities>li{
    background:rgba(127,193,240,.08);
    border-left-color:#7fc1f0;
}
.policy-table-wrap{
    margin:0 0 18px;
    border-radius:12px;
    overflow:hidden;
    border:1px solid rgba(12,99,166,.14);
    box-shadow:0 4px 14px rgba(12,99,166,.05);
}
body.theme-dark .policy-table-wrap{
    border-color:rgba(255,255,255,.10);
    box-shadow:0 4px 14px rgba(0,0,0,.30);
}
.policy-table{
    width:100%;
    border-collapse:collapse;
    font-size:13.5px;
    background:#ffffff;
}
body.theme-dark .policy-table{background:#1c2128}
.policy-table thead th{
    background:linear-gradient(180deg, #f1f8ff 0%, #e3f0fb 100%);
    color:#0c2440;
    font-weight:800;
    text-align:left;
    padding:10px 14px;
    border-bottom:1px solid rgba(12,99,166,.18);
    font-size:13px;
    letter-spacing:.2px;
}
body.theme-dark .policy-table thead th{
    background:linear-gradient(180deg, #1f2a36 0%, #1a2530 100%);
    color:#e6eef7;
    border-bottom-color:rgba(255,255,255,.12);
}
.policy-table tbody td{
    padding:10px 14px;
    border-top:1px solid rgba(12,99,166,.08);
    vertical-align:top;
    color:#0c2440;
}
body.theme-dark .policy-table tbody td{
    border-top-color:rgba(255,255,255,.06);
    color:#d6deea;
}
.policy-table tbody tr:nth-child(even) td{background:rgba(12,99,166,.025)}
body.theme-dark .policy-table tbody tr:nth-child(even) td{background:rgba(255,255,255,.02)}
.policy-table tbody tr:hover td{background:rgba(12,99,166,.05)}
body.theme-dark .policy-table tbody tr:hover td{background:rgba(127,193,240,.05)}
.msg.assistant .msg-content:has(> .prestacao-contas-intro),
.msg.assistant .msg-content:has(> .policy-doc){padding:0;border:0;background:transparent}
.msg.assistant .msg-inner:has(> .msg-content > .prestacao-contas-intro),
.msg.assistant .msg-inner:has(> .msg-content > .policy-doc){padding:0;border:0;background:transparent;box-shadow:none}
.prestacao-contas-chat-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
    margin-top:18px;
}
.prestacao-contas-action{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:22px 22px 22px 22px;
    min-height:148px;
    border:1px solid rgba(12,99,166,.10);
    border-radius:18px;
    background:linear-gradient(180deg, #ffffff 0%, #f4faff 100%);
    color:var(--text, #0c2440);
    font:inherit;
    text-align:left;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(12,99,166,.10), 0 2px 6px rgba(12,99,166,.06);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.prestacao-contas-action:hover{
    transform:translateY(-2px);
    border-color:rgba(12,99,166,.28);
    box-shadow:0 18px 38px rgba(12,99,166,.16), 0 4px 10px rgba(12,99,166,.08);
}
.prestacao-contas-action:focus-visible{
    outline:none;
    box-shadow:0 0 0 3px rgba(12,99,166,.20), 0 18px 38px rgba(12,99,166,.16);
}
.prestacao-contas-action__icon{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    width:62px;
    height:62px;
    border-radius:50%;
    background:radial-gradient(circle at 30% 30%, #e9f4ff 0%, #d3e7f7 70%, #c0dcf2 100%);
    color:#0c63a6;
    box-shadow:inset 0 0 0 6px rgba(255,255,255,.55);
}
.prestacao-contas-action__icon svg{
    width:30px;
    height:30px;
}
.prestacao-contas-action__body{
    display:flex;
    flex-direction:column;
    gap:6px;
    flex:1 1 auto;
    min-width:0;
    padding-right:48px;
}
.prestacao-contas-action__title{
    font-size:18px;
    font-weight:800;
    color:#0c2440;
    line-height:1.2;
}
.prestacao-contas-action__desc{
    font-size:13px;
    font-weight:500;
    color:#5a6b80;
    line-height:1.45;
}
.prestacao-contas-action__arrow{
    position:absolute;
    right:18px;
    bottom:18px;
    width:36px;
    height:36px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ffffff;
    color:#0c63a6;
    border:1px solid rgba(12,99,166,.18);
    box-shadow:0 6px 12px rgba(12,99,166,.10);
    transition:transform .18s ease, background .18s ease, color .18s ease;
}
.prestacao-contas-action__arrow svg{
    width:16px;
    height:16px;
}
.prestacao-contas-action:hover .prestacao-contas-action__arrow{
    background:#0c63a6;
    color:#ffffff;
    transform:translateX(2px);
}
.prestacao-contas-action__wave{
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:64px;
    pointer-events:none;
    background:
        radial-gradient(80% 100% at 0% 100%, rgba(199,225,247,.55) 0%, rgba(199,225,247,0) 65%),
        radial-gradient(70% 90% at 100% 100%, rgba(176,210,239,.45) 0%, rgba(176,210,239,0) 60%);
    -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 60%);
            mask-image:linear-gradient(180deg, transparent 0%, #000 60%);
}
.prestacao-contas-action.active{
    border-color:rgba(12,99,166,.45);
    box-shadow:0 0 0 3px rgba(12,99,166,.14), 0 18px 38px rgba(12,99,166,.18);
}
.prestacao-contas-action .ata-history-title{text-align:left}
.mcr-menu-actions{
    display:none !important;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:12px;
    margin:16px 0 14px;
}
.mcr-menu-action{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:42px minmax(0, 1fr) 30px;
    align-items:center;
    gap:12px;
    border:1px solid rgba(12,99,166,.10);
    border-radius:16px;
    background:linear-gradient(180deg, #ffffff 0%, #f4faff 100%);
    color:var(--text, #0c2440);
    font:inherit;
    text-align:left;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(12,99,166,.10), 0 2px 6px rgba(12,99,166,.05);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    min-height:92px;
    padding:14px;
}
.mcr-menu-action:hover{
    transform:translateY(-2px);
    border-color:rgba(12,99,166,.28);
    box-shadow:0 18px 38px rgba(12,99,166,.16), 0 4px 10px rgba(12,99,166,.08);
}
.mcr-menu-icon{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:50%;
    background:radial-gradient(circle at 30% 30%, #e9f4ff 0%, #d3e7f7 70%, #c0dcf2 100%);
    color:#0c63a6;
    box-shadow:inset 0 0 0 6px rgba(255,255,255,.55);
}
.mcr-menu-icon svg{
    width:22px;
    height:22px;
}
.mcr-menu-body{
    display:flex;
    flex-direction:column;
    gap:4px;
    flex:1 1 auto;
    min-width:0;
    padding-right:0;
}
.mcr-menu-title{
    font-size:15px;
    font-weight:800;
    color:#0c2440;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.mcr-menu-desc{
    font-size:12.5px;
    font-weight:500;
    color:#5a6b80;
    line-height:1.35;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.mcr-menu-arrow{
    position:relative;
    right:auto;
    bottom:auto;
    width:30px;
    height:30px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ffffff;
    color:#0c63a6;
    border:1px solid rgba(12,99,166,.18);
    box-shadow:0 6px 12px rgba(12,99,166,.10);
}
.mcr-menu-arrow svg{
    width:16px;
    height:16px;
}
.mcr-menu-action:hover .mcr-menu-arrow{
    background:#0c63a6;
    color:#ffffff;
}
.mcr-menu-wave{
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:38px;
    pointer-events:none;
    background:
        radial-gradient(80% 100% at 0% 100%, rgba(199,225,247,.55) 0%, rgba(199,225,247,0) 65%),
        radial-gradient(70% 90% at 100% 100%, rgba(176,210,239,.45) 0%, rgba(176,210,239,0) 60%);
    -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 60%);
            mask-image:linear-gradient(180deg, transparent 0%, #000 60%);
}
body.theme-dark .prestacao-contas-action{
    background:linear-gradient(180deg, #1f242b 0%, #1a1f26 100%);
    border-color:rgba(255,255,255,.08);
    color:var(--text);
    box-shadow:0 12px 28px rgba(0,0,0,.35), 0 2px 6px rgba(0,0,0,.25);
}
body.theme-dark .prestacao-contas-action:hover{
    border-color:rgba(255,255,255,.18);
    box-shadow:0 18px 38px rgba(0,0,0,.45);
}
body.theme-dark .prestacao-contas-action__icon{
    background:radial-gradient(circle at 30% 30%, #1d3a55 0%, #14283c 70%, #0d1c2b 100%);
    color:#7fc1f0;
    box-shadow:inset 0 0 0 6px rgba(255,255,255,.04);
}
body.theme-dark .prestacao-contas-action__title{color:#e6eef7}
body.theme-dark .prestacao-contas-action__desc{color:#9fb1c6}
body.theme-dark .prestacao-contas-action__arrow{
    background:#1f2a36;
    color:#7fc1f0;
    border-color:rgba(255,255,255,.10);
}
body.theme-dark .prestacao-contas-action:hover .prestacao-contas-action__arrow{
    background:#0c63a6;
    color:#ffffff;
}
body.theme-dark .prestacao-contas-action__wave{
    background:
        radial-gradient(80% 100% at 0% 100%, rgba(28,52,78,.55) 0%, rgba(28,52,78,0) 65%),
        radial-gradient(70% 90% at 100% 100%, rgba(20,38,56,.55) 0%, rgba(20,38,56,0) 60%);
}
@media (max-width:1100px){
    .mcr-menu-actions{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width:760px){
    .mcr-menu-actions{grid-template-columns:1fr}
}
.ata-history-list{display:flex;flex-direction:column;gap:10px}
.ata-history-row{display:flex;gap:10px;align-items:stretch}
.ata-history-row .ata-history-item{flex:1 1 auto}
.ata-history-delete{border-color:rgba(164,0,0,.25);color:#a40000}
.ata-history-delete:hover{border-color:rgba(164,0,0,.55);background:#fff2f2}
body.theme-dark .ata-history-delete{border-color:rgba(255,122,122,.35);color:#ff7a7a;background:var(--surface)}
body.theme-dark .ata-history-delete:hover{border-color:rgba(255,122,122,.65);background:#1a0f11}
.ata-history-empty{padding:16px;border:1px dashed var(--border);border-radius:16px;color:var(--muted);font-size:14px}
.ata-history-item{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--panel);color:var(--text);cursor:pointer;text-align:left;appearance:none;-webkit-appearance:none}
.ata-history-item:hover{border-color:#cfcfd7}
.ata-history-item.active{border-color:#111111;box-shadow:0 0 0 4px rgba(17,17,17,.08)}
body.theme-dark .ata-history-item:hover{border-color:color-mix(in srgb, var(--border) 68%, var(--text) 32%)}
body.theme-dark .ata-history-item.active{border-color:color-mix(in srgb, var(--text) 78%, var(--border) 22%);box-shadow:0 0 0 4px rgba(255,255,255,.07)}
.ata-history-title{font-weight:700;font-size:14px;line-height:1.35}
.ata-history-date{font-size:12px;color:var(--muted)}
.ata-history-status{font-size:12px;color:#0f8a3c;font-weight:700}
.ata-history-status.is-analysis{color:#d96a00}
.carta-folder-label-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.carta-folder-status{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#eaf8ef;border:1px solid rgba(15,138,60,.24);color:#0f8a3c;font-size:13px;font-weight:800;line-height:1}
.btn.is-success{border-color:rgba(15,138,60,.25)!important;background:#eaf8ef!important;color:#0f8a3c!important}
body.theme-dark .ata-history-status{color:#79e2a0}
body.theme-dark .ata-history-status.is-analysis{color:#ffbf73}
body.theme-dark .carta-folder-status{background:rgba(32,110,61,.22);border-color:rgba(121,226,160,.28);color:#79e2a0}
body.theme-dark .btn.is-success{border-color:rgba(121,226,160,.26)!important;background:rgba(32,110,61,.22)!important;color:#79e2a0!important}
.carta-folder,.carta-subfolder{border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.carta-subfolder{background:var(--panel)}
.carta-folder-summary,.carta-subfolder-summary{list-style:none;cursor:pointer;padding:12px 14px;display:flex;flex-direction:column;gap:4px;color:var(--text)}
.carta-folder-summary::-webkit-details-marker,.carta-subfolder-summary::-webkit-details-marker{display:none}
.carta-folder-body,.carta-subfolder-body{display:flex;flex-direction:column;gap:10px;padding:0 10px 10px}
.carta-folder-head{display:flex;align-items:flex-start;gap:10px}
.carta-folder-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.carta-folder-icon{display:flex;align-items:center;gap:8px;min-width:34px;padding-top:1px}
.carta-folder-chevron{width:7px;height:7px;border-right:1.7px solid #8d93a1;border-bottom:1.7px solid #8d93a1;transform:rotate(-45deg);transition:transform .18s ease,opacity .18s ease,margin-top .18s ease;opacity:.9}
.carta-folder-glyph{position:relative;display:inline-block;width:18px;height:12px;border-radius:4px 4px 4px 5px;background:linear-gradient(180deg,#f7d78b 0%,#efc76f 100%);box-shadow:inset 0 0 0 1px rgba(145,103,17,.14)}
.carta-folder-glyph::before{content:"";position:absolute;left:2px;top:-3px;width:9px;height:4px;border-radius:3px 3px 0 0;background:#f3d286;box-shadow:inset 0 0 0 1px rgba(145,103,17,.12)}
.carta-folder-glyph::after{content:"";position:absolute;inset:1px 1px auto 1px;height:5px;border-radius:3px 3px 2px 2px;background:rgba(255,255,255,.2)}
.carta-folder[open] .carta-folder-chevron,.carta-subfolder[open] .carta-folder-chevron{transform:rotate(45deg);margin-top:2px;opacity:1}
.carta-folder[open] .carta-folder-glyph,.carta-subfolder[open] .carta-folder-glyph{background:linear-gradient(180deg,#f9de99 0%,#f2cf80 100%)}
.carta-folder-label{font-size:14px;font-weight:700;line-height:1.35}
.carta-folder-meta{font-size:12px;color:var(--muted)}
body:not(.theme-dark) .carta-folder-glyph{
    background:
        linear-gradient(var(--surface), var(--surface)) padding-box,
        var(--brand-gradient) border-box;
    border:1px solid transparent;
    box-shadow:none;
}
body:not(.theme-dark) .carta-folder-glyph::before{
    background:
        linear-gradient(var(--surface), var(--surface)) padding-box,
        var(--brand-gradient) border-box;
    border:1px solid transparent;
    box-shadow:none;
}
body:not(.theme-dark) .carta-folder-glyph::after{
    background:transparent;
}
body:not(.theme-dark) .carta-folder[open] .carta-folder-glyph,
body:not(.theme-dark) .carta-subfolder[open] .carta-folder-glyph{
    background:
        linear-gradient(var(--surface), var(--surface)) padding-box,
        var(--brand-gradient) border-box;
}
body:not(.theme-dark) .carta-folder-label{
    background:var(--brand-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.insigne-dept-options{border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:var(--surface)}
.insigne-dept-options-title{font-size:12px;color:var(--muted);margin-bottom:8px}
.insigne-dept-options-list{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow:auto;padding-right:4px}
.insigne-dept-option{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer}
.insigne-dept-option:hover{background:var(--surface)}
.insigne-dept-option input{margin-top:3px}
.insigne-dept-option-text{line-height:1.35}

@media (max-width: 980px){
  .insigne-carta-grid{grid-template-columns:1fr}
}

.history-panel{
    position:absolute;
    inset:0;
    background:var(--panel);
    display:none;
    flex-direction:column;
    z-index:25;
}
.history-panel.open{display:flex}

.received-panel{
    position:absolute;
    inset:0;
    background:var(--panel);
    display:none;
    flex-direction:column;
    z-index:25;
}
.received-panel.open{display:flex}
.sidebar-search{padding:0 14px 12px}
.chat-list{
    padding:8px;
    overflow:auto;
    flex:1 1 auto;
}
.chat-row{
    position:relative;
    display:flex;
    align-items:center;
    gap:8px;
}
.chat-item{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 10px;
    border-radius:12px;
    color:var(--text);
    border:1px solid transparent;
    background:transparent;
    cursor:pointer;
    font:inherit;
}
.chat-link{flex:1 1 auto;min-width:0}
.chat-menu-btn{
    width:34px;height:34px;
    border-radius:12px;
    border:1px solid transparent;
    background:transparent;
    color:var(--muted);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    line-height:1;
    opacity:0;
}
.chat-row:hover .chat-menu-btn{opacity:1}
.project-row:hover .chat-menu-btn{opacity:1}
.chat-menu-btn:hover{background:var(--surface);border-color:var(--border);color:var(--text)}
.chat-row.menu-open .chat-menu-btn{opacity:1;background:var(--surface);border-color:var(--border);color:var(--text)}
.project-row.menu-open .chat-menu-btn{opacity:1;background:var(--surface);border-color:var(--border);color:var(--text)}
.chat-menu{
    position:absolute;
    right:8px;
    top:44px;
    width:170px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface);
    box-shadow:var(--shadow);
    padding:6px;
    display:none;
    z-index:30;
}
.chat-row.menu-open .chat-menu{display:block}
.project-row.menu-open .chat-menu{display:block}
.chat-menu-item{
    width:100%;
    text-align:left;
    border:none;
    background:transparent;
    padding:10px 10px;
    border-radius:12px;
    cursor:pointer;
    font-size:13px;
    color:var(--text);
    font-weight:600;
}
.chat-menu-item:hover{background:var(--panel)}
.chat-menu-item.danger{color:#a40000}
.chat-menu-item.danger:hover{background:#fff2f2}
.chat-item:hover{background:var(--surface);border-color:var(--border)}
.chat-item.active{background:var(--surface);border-color:#cfcfd7}
.chat-dot{
    width:8px;height:8px;
    border-radius:999px;
    background:#111;
    opacity:.18;
}
.chat-title{
    font-size:13px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.sidebar-bottom{
    border-top:1px solid var(--border);
    padding:12px 14px;
    display:flex;
    flex-direction:column;
    gap:10px;
    background:var(--panel);
    flex:0 0 auto;
}
.sidebar-link{
    font-size:13px;
    color:var(--text);
    padding:10px 10px;
    border-radius:12px;
    border:1px solid transparent;
    background:transparent;
    display:block;
    text-align:left;
}
.sidebar-link:hover{background:var(--surface);border-color:var(--border)}
.sidebar-actions{
    display:flex;
    gap:8px;
    align-items:stretch;
    width:100%;
}
.sidebar-action{
    flex:1 1 0;
    min-width:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:8px 10px;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:.2px;
    color:#0c63a6;
    background:linear-gradient(180deg, #f1f8ff 0%, #e3f0fb 100%);
    border:1px solid rgba(12,99,166,.18);
    border-radius:999px;
    text-decoration:none;
    box-shadow:0 4px 10px rgba(12,99,166,.10);
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
    white-space:nowrap;
}
.sidebar-action svg{
    width:14px;
    height:14px;
    flex:0 0 auto;
}
.sidebar-action span{
    overflow:hidden;
    text-overflow:ellipsis;
}
.sidebar-action:hover{
    color:#ffffff;
    background:linear-gradient(180deg, #0c63a6 0%, #0a558c 100%);
    border-color:transparent;
    transform:translateY(-1px);
    box-shadow:0 8px 16px rgba(12,99,166,.24);
}
.sidebar-action:active{transform:translateY(0)}
.sidebar-action:focus-visible{
    outline:none;
    box-shadow:0 0 0 3px rgba(12,99,166,.20), 0 8px 16px rgba(12,99,166,.24);
}
body.theme-dark .sidebar-action{
    color:#7fc1f0;
    background:linear-gradient(180deg, #1f2a36 0%, #1a2530 100%);
    border-color:rgba(127,193,240,.20);
    box-shadow:0 4px 10px rgba(0,0,0,.30);
}
body.theme-dark .sidebar-action:hover{
    color:#ffffff;
    background:linear-gradient(180deg, #0c63a6 0%, #0a558c 100%);
    border-color:transparent;
    box-shadow:0 8px 16px rgba(12,99,166,.30);
}
.sidebar-version{
    font-size:12px;
    color:var(--muted);
    padding:0 10px;
    line-height:1.2;
    margin-top:-2px;
}
.sidebar-user{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 10px;
    border-radius:12px;
    background:var(--surface);
    border:1px solid var(--border);
}
.sidebar-user-btn{
    width:100%;
    display:flex;
    align-items:center;
    gap:10px;
    background:transparent;
    border:none;
    padding:0;
    margin:0;
    text-align:left;
    cursor:pointer;
    color:inherit;
}
.sidebar-user-btn:focus{outline:none}
.sidebar-user-btn:focus-visible{box-shadow:0 0 0 4px rgba(17,17,17,.10);border-radius:12px}
.avatar{
    width:34px;height:34px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    border:1px solid var(--border);
    background:var(--surface);
    font-weight:800;
    overflow:hidden;
}
.avatar-img{width:100%;height:100%;object-fit:cover;display:block}
.user-meta{min-width:0}
.user-name{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-email{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-microsoft-status{margin-top:6px}
.user-ms-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    max-width:100%;
    padding:4px 8px;
    border-radius:999px;
    border:1px solid var(--border);
    background:var(--panel);
    font-size:11px;
    font-weight:700;
    line-height:1.2;
    color:var(--text);
}
.user-ms-badge::before{
    content:"";
    width:7px;
    height:7px;
    border-radius:999px;
    background:#6b7280;
    flex:0 0 auto;
}
.user-ms-badge.connected::before{background:#0f9d58}
.user-ms-badge.expired::before{background:#c86408}
.user-ms-badge.disconnected::before,
.user-ms-badge.not_configured::before{background:#9ca3af}
.user-ms-email{
    margin-top:4px;
    font-size:11px;
    color:var(--muted);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.user-ms-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:8px;
}
.user-ms-actions .btn{padding:6px 8px;border-radius:9px;font-size:11px}
.user-role{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.main{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:0;
    overflow:hidden;
    background:var(--bg);
}
.topbar{
    height:54px;
    border-bottom:1px solid var(--border);
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 14px;
    background:var(--bg);
}
.topbar-title{font-weight:800}
.topbar-spacer{flex:1 1 auto}
.chat-area{
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
}
.chat-scroll{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    padding:24px 16px 16px;
}
.chat-scroll.onboarding-drop-active{
    outline:2px dashed var(--text);
    outline-offset:-10px;
    background:linear-gradient(180deg, rgba(17,17,17,.03), rgba(17,17,17,.01));
}
.chat-empty{
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:var(--muted);
}
.chat-empty h2{margin:0 0 8px;color:var(--text);font-size:26px}
.chat-empty p{margin:0;font-size:14px}

.msg{
    max-width:860px;
    margin:0 auto 14px;
}
.msg-inner{
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:14px 14px;
    background:var(--surface);
}
.msg.user .msg-inner{background:var(--surface)}
.msg.assistant .msg-inner{background:var(--surface)}
.msg.assistant.pending .msg-inner{
    background:linear-gradient(180deg, var(--surface), var(--panel));
    border-color:color-mix(in srgb, var(--border) 82%, var(--text) 18%);
    box-shadow:0 10px 24px rgba(0,0,0,.04);
}
.msg-role{
    font-size:12px;
    color:var(--muted);
    margin-bottom:8px;
    font-weight:700;
}
.msg-content{
    font-size:14px;
    line-height:1.55;
    color:var(--text);
    white-space:normal;
    word-break:break-word;
    overflow-wrap:anywhere;
}
.msg-content p{margin:0 0 10px}
.msg-content p:last-child{margin-bottom:0}
.msg-content h1,.msg-content h2,.msg-content h3,.msg-content h4{margin:14px 0 10px;line-height:1.25}
.msg-content h1{font-size:20px}
.msg-content h2{font-size:18px}
.msg-content h3{font-size:16px}
.msg-content h4{font-size:15px}
.msg-section-title{
    display:flex;
    align-items:center;
    gap:12px;
    margin:16px 0 12px;
    color:var(--text);
    font-size:13px;
    font-weight:800;
    letter-spacing:.02em;
    text-transform:none;
}
.msg-section-title::before{
    content:"";
    width:10px;
    height:10px;
    border-radius:999px;
    background:linear-gradient(135deg,#1f3a6e,#3ba78b);
    box-shadow:0 0 0 6px rgba(46,117,182,.08);
    flex:0 0 auto;
}
.msg-section-title::after{
    content:"";
    flex:1 1 auto;
    height:1px;
    background:linear-gradient(90deg,rgba(31,58,110,.18),rgba(59,167,139,.08),transparent);
}
.msg-section-title span{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border:1px solid rgba(46,117,182,.12);
    border-radius:999px;
    background:linear-gradient(180deg,rgba(46,117,182,.06),rgba(59,167,139,.03));
    box-shadow:0 8px 18px rgba(31,58,110,.05);
}
.msg-section-divider{
    height:1px;
    margin:14px 0;
    background:linear-gradient(90deg,transparent,rgba(31,58,110,.16),rgba(59,167,139,.10),transparent);
}
.msg-file-chip{
    display:flex;
    align-items:center;
    gap:12px;
    width:fit-content;
    max-width:min(100%,420px);
    padding:12px 14px;
    border-radius:16px;
    border:1px solid rgba(31,58,110,.10);
    background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,255,.96));
    box-shadow:0 14px 30px rgba(31,58,110,.08);
}
.msg-file-chip-icon{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    height:42px;
    padding:0 10px;
    border-radius:12px;
    background:linear-gradient(135deg,#1f3a6e,#3ba78b);
    color:#fff;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    box-shadow:0 10px 20px rgba(31,58,110,.18);
}
.msg-file-chip-body{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}
.msg-file-chip-title{
    font-size:12px;
    font-weight:700;
    color:var(--muted);
}
.msg-file-chip-name{
    font-size:14px;
    font-weight:700;
    color:var(--text);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.msg-content ul,.msg-content ol{margin:0 0 10px 22px;padding:0}
.msg-content li{margin:4px 0}
.msg-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.95em;background:var(--panel);border:1px solid var(--border);padding:1px 6px;border-radius:8px}
.msg-content pre{margin:10px 0;padding:12px 12px;border-radius:12px;border:1px solid var(--border);background:var(--panel);overflow:auto}
.msg-content pre code{display:block;background:transparent;border:none;padding:0;white-space:pre}
.msg-content a{color:inherit;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere;word-break:break-word}
.msg-content a:hover{opacity:.9}
.msg-content-company-db{overflow:visible}
.company-db-response{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.company-db-header{
    display:flex;
    align-items:flex-start;
    gap:12px;
}
.company-db-header-icon{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:14px;
    color:#fff;
    background:linear-gradient(135deg,#1f8ec9,#2973b8 55%,#245f9b 100%);
    box-shadow:0 12px 24px rgba(31,117,182,.18);
}
.company-db-header-icon svg,
.company-db-field-icon svg{
    width:18px;
    height:18px;
    stroke:currentColor;
    fill:none;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.company-db-header-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
}
.company-db-header-title{
    margin:0;
    font-size:24px;
    line-height:1.15;
    font-weight:800;
    color:var(--text);
}
.company-db-header-meta{
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}
.company-db-count-row{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-top:-2px;
    color:var(--text);
    font-size:14px;
    font-weight:700;
}
.company-db-count-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    height:28px;
    padding:0 10px;
    border-radius:999px;
    border:1px solid rgba(31,117,182,.18);
    background:linear-gradient(180deg,rgba(49,152,210,.12),rgba(49,152,210,.04));
    color:#1f75b6;
    box-shadow:0 8px 16px rgba(31,117,182,.08);
}
.company-db-card-list{
    display:grid;
    gap:16px;
}
.company-db-card{
    border:1px solid rgba(31,58,110,.10);
    border-radius:18px;
    padding:18px 20px;
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,250,255,.96));
    box-shadow:0 14px 30px rgba(31,58,110,.08);
}
.company-db-card-head{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-bottom:14px;
}
.company-db-card-index{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:10px;
    background:linear-gradient(135deg,#1f8ec9,#2973b8);
    color:#fff;
    font-size:14px;
    font-weight:800;
    box-shadow:0 10px 18px rgba(31,117,182,.16);
}
.company-db-card-title-wrap{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
}
.company-db-card-title{
    margin:0;
    font-size:16px;
    line-height:1.25;
    font-weight:800;
    color:var(--text);
}
.company-db-card-subtitle{
    margin:0;
    font-size:13px;
    color:var(--muted);
}
.company-db-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 18px;
}
.company-db-field{
    display:flex;
    align-items:flex-start;
    gap:10px;
    min-width:0;
}
.company-db-field-icon{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border-radius:8px;
    color:#1f8ec9;
    background:rgba(31,142,201,.08);
}
.company-db-field-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}
.company-db-field-label{
    font-size:12px;
    font-weight:800;
    color:var(--text);
}
.company-db-field-value{
    font-size:13px;
    color:var(--muted);
    line-height:1.45;
    overflow-wrap:anywhere;
    word-break:break-word;
}
@media (max-width:700px){
    .company-db-header-title{font-size:20px}
    .company-db-card{padding:16px}
    .company-db-fields{grid-template-columns:1fr}
}
.commercial-evaluation-choices{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid var(--border);
}
.commercial-evaluation-choice{
    min-width:92px;
    border:1px solid var(--border);
    border-radius:999px;
    padding:9px 18px;
    background:var(--surface);
    color:var(--text);
    font:inherit;
    font-weight:800;
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background-color .15s ease;
}
.commercial-evaluation-choice:hover:not(:disabled){
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(31,58,110,.10);
}
.commercial-evaluation-choice.yes{
    border-color:rgba(59,167,139,.42);
    background:rgba(59,167,139,.10);
    color:#1e6b52;
}
.commercial-evaluation-choice.no{
    border-color:rgba(192,73,43,.34);
    background:rgba(192,73,43,.08);
    color:#a33a25;
}
.commercial-evaluation-choice:disabled{
    cursor:wait;
    opacity:.64;
}
.commercial-evaluation-choice.selected{
    box-shadow:0 0 0 3px rgba(46,117,182,.12);
}
.cs-profile-choices{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
}
.cs-profile-choice{
    min-width:0;
    border-radius:14px;
    padding:12px 14px;
    display:flex;
    align-items:flex-start;
    gap:10px;
    text-align:left;
    white-space:normal;
    line-height:1.35;
}
.cs-profile-choice strong{
    flex:0 0 auto;
    width:24px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:rgba(46,117,182,.12);
    color:#245f9b;
}
.cs-profile-choice span{
    flex:1 1 auto;
    padding-top:2px;
}
body.theme-dark .cs-profile-choice strong{
    background:rgba(107,168,231,.16);
    color:#9dccff;
}
@media (max-width:700px){
    .cs-profile-choices{grid-template-columns:1fr}
}
body.theme-dark .commercial-evaluation-choice.yes{color:#8be0c1}
body.theme-dark .commercial-evaluation-choice.no{color:#f0a18e}
body.theme-dark .msg-section-title::before{
    box-shadow:0 0 0 6px rgba(59,167,139,.10);
}
body.theme-dark .msg-section-title::after{
    background:linear-gradient(90deg,rgba(59,167,139,.18),rgba(46,117,182,.14),transparent);
}
body.theme-dark .msg-section-title span{
    border-color:rgba(59,167,139,.18);
    background:linear-gradient(180deg,rgba(59,167,139,.10),rgba(46,117,182,.06));
}
body.theme-dark .msg-section-divider{
    background:linear-gradient(90deg,transparent,rgba(59,167,139,.22),rgba(46,117,182,.14),transparent);
}
body.theme-dark .msg-file-chip{
    border-color:rgba(59,167,139,.16);
    background:linear-gradient(180deg,rgba(22,29,38,.96),rgba(16,22,30,.96));
    box-shadow:0 16px 34px rgba(0,0,0,.30);
}
body.theme-dark .msg-file-chip-title{
    color:var(--muted);
}
body.theme-dark .msg-file-chip-name{
    color:var(--text);
}
body.theme-dark .company-db-header-icon,
body.theme-dark .company-db-card-index{
    background:linear-gradient(135deg,#2a9cd8,#356fb6 58%,#244f87 100%);
}
body.theme-dark .company-db-count-badge{
    border-color:rgba(107,168,231,.20);
    background:linear-gradient(180deg,rgba(42,156,216,.18),rgba(42,156,216,.08));
    color:#9dccff;
    box-shadow:none;
}
body.theme-dark .company-db-card{
    border-color:rgba(107,168,231,.10);
    background:linear-gradient(180deg,rgba(20,25,36,.95),rgba(15,20,31,.96));
    box-shadow:0 16px 30px rgba(0,0,0,.24);
}
body.theme-dark .company-db-field-icon{
    color:#7cccf8;
    background:rgba(42,156,216,.14);
}
body.theme-dark .company-db-card-subtitle,
body.theme-dark .company-db-header-meta,
body.theme-dark .company-db-field-value{
    color:var(--muted);
}
.msg-loading{
    display:inline-flex;
    align-items:center;
    gap:12px;
    min-height:22px;
}
.msg-loading-dots{
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.msg-loading-dots span{
    width:8px;
    height:8px;
    border-radius:999px;
    background:var(--text);
    opacity:.22;
    animation:msgPulse 1.2s infinite ease-in-out;
}
.msg-loading-dots span:nth-child(2){animation-delay:.16s}
.msg-loading-dots span:nth-child(3){animation-delay:.32s}
.msg-loading-label{
    font-weight:600;
    color:var(--text);
}
@keyframes msgPulse{
    0%,80%,100%{transform:scale(.7);opacity:.22}
    40%{transform:scale(1);opacity:.9}
}
.msg-export-card{
    margin-top:14px;
    border:1px solid var(--border);
    border-radius:16px;
    padding:14px 16px;
    background:var(--panel);
    display:flex;
    align-items:center;
    gap:14px;
}
.msg-export-icon{
    width:52px;
    height:52px;
    border-radius:14px;
    border:1px solid var(--border);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--muted);
    background:var(--surface);
    font-weight:800;
    font-size:18px;
    flex:0 0 auto;
}
.msg-export-body{min-width:0;flex:1 1 auto}
.msg-export-title{font-size:15px;font-weight:700;line-height:1.3}
.msg-export-subtitle{font-size:13px;color:var(--muted);margin-top:3px}
.msg-export-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:wrap}
.msg-export-actions .btn{min-width:76px}
.msg-export-actions .btn-icon-only{min-width:42px}
.msg-export-actions .btn.is-success{min-width:42px}
.md-table{width:100%;border-collapse:collapse;margin:10px 0;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.md-table th,.md-table td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}
.md-table th{font-size:12px;color:var(--muted);font-weight:800;background:var(--surface)}
.md-table tr:last-child td{border-bottom:none}

.composer{
    border-top:1px solid var(--border);
    padding:14px 14px 18px;
    background:var(--bg);
    position:relative;
}
.composer-inner{
    max-width:860px;
    margin:0 auto;
    display:flex;
    align-items:flex-end;
    gap:10px;
    border:1px solid var(--border);
    border-radius:18px;
    padding:10px 10px;
    box-shadow:0 4px 18px rgba(0,0,0,.04);
    background:var(--surface);
}
.composer.onboarding-drop-active .composer-inner{
    position:relative;
    overflow:hidden;
    border-color:color-mix(in srgb, var(--text) 28%, var(--border) 72%);
    box-shadow:0 12px 30px rgba(0,0,0,.07);
}
.composer-inner.onboarding-drop-active{
    border-style:dashed;
    border-color:var(--text);
    background:var(--panel);
}
.composer.onboarding-drop-active .composer-inner::after{
    content:"Solte o contrato em PDF aqui";
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,247,248,.96));
    color:var(--text);
    font-size:14px;
    font-weight:700;
    letter-spacing:.01em;
    pointer-events:none;
}
body.theme-dark .composer.onboarding-drop-active .composer-inner::after{
    background:linear-gradient(180deg, rgba(15,15,18,.94), rgba(17,17,19,.98));
}
.composer-input{
    flex:1 1 auto;
    border:none;
    outline:none;
    resize:none;
    font-size:14px;
    line-height:1.45;
    padding:10px 6px;
    min-height:22px;
    max-height:180px;
    font-family:inherit;
    background:transparent;
    color:var(--text);
}
.composer-hint{
    max-width:860px;
    min-height:22px;
    margin:0 auto 10px;
    padding:0 16px;
    font-size:12px;
    color:var(--muted);
    text-align:center;
    display:flex;
    align-items:center;
    justify-content:center;
}
.composer-hint:empty{
    display:none;
}
.composer-hint[data-type="busy"]{
    min-height:36px;
    max-width:max-content;
    padding:8px 16px;
    border:1px solid color-mix(in srgb, var(--border) 72%, var(--text) 28%);
    border-radius:999px;
    background:linear-gradient(180deg,var(--surface),var(--panel));
    box-shadow:0 8px 24px rgba(0,0,0,.05);
    font-weight:600;
    color:var(--text);
}
.composer-disclaimer{
    max-width:860px;
    margin:8px auto 0;
    font-size:12px;
    color:var(--muted);
    text-align:center;
}

.icon-btn{
    width:38px;height:38px;
    border-radius:14px;
    border:1px solid var(--border);
    background:var(--surface);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    color:var(--text);
}
.icon-btn:hover{border-color:#cfcfd7}
.icon-btn.active{border-color:#111111;box-shadow:0 0 0 4px rgba(17,17,17,.08)}
.icon-btn.primary{
    background:var(--btn);
    border-color:var(--btn);
    color:var(--btnText);
}
.icon-btn.danger{color:#a40000}
body.theme-dark .icon-btn.danger{color:#ff7a7a}
.icon{
    font-size:16px;
    line-height:1;
    font-weight:800;
}
.svg-icon{width:18px;height:18px;display:block}
.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.mobile-only{display:none}

.admin-topbar{
    height:54px;
    flex:0 0 54px;
    border-bottom:1px solid var(--border);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 14px;
    background:var(--bg);
}
.admin-topbar-left{display:flex;align-items:center;gap:10px;min-width:0}
.admin-brand{font-weight:900}
.admin-link{
    font-size:13px;
    padding:8px 10px;
    border-radius:12px;
    border:1px solid transparent;
}
.admin-link:hover{border-color:var(--border);background:var(--panel)}
.admin-page{
    padding:18px 14px 36px;
    height:calc(100dvh - 54px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    max-width:1100px;
    margin:0 auto;
}
.admin-page-wide{max-width:1360px}
.admin-header h1{margin:0 0 6px}
.admin-header p{margin:0;color:var(--muted);font-size:13px}
.report-cards{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
    margin:16px 0 14px;
}
.report-card{
    display:flex;
    flex-direction:column;
    gap:6px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:14px;
    background:var(--surface);
    color:var(--text);
}
.report-card:hover{border-color:var(--accent);text-decoration:none}
.report-card.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.report-card strong{font-size:15px}
.report-card span{color:var(--muted);font-size:13px;line-height:1.35}
.filters-form.filters-form-wide{grid-template-columns:repeat(6, minmax(0, 1fr))}
.report-export-actions{margin-left:auto;display:flex;gap:8px;align-items:flex-end}
.btn-icon-export{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:var(--radius);transition:all .15s ease}
.btn-icon-export:hover{background:var(--surface-hover, rgba(0,0,0,0.06));transform:translateY(-1px)}
.btn-icon-export svg{stroke:currentColor;transition:stroke .15s ease}
.btn-export-csv:hover{color:#15803d;border-color:#86efac}
.btn-export-html:hover{color:#2563eb;border-color:#93c5fd}
.btn-export-pdf:hover{color:#dc2626;border-color:#fca5a5}
.admin-stats.report-stats{grid-template-columns:repeat(5, minmax(0, 1fr))}
.delivery-kpis-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0 20px}
.delivery-kpi-card{background:var(--surface,#fff);border:1px solid var(--border,#d6e0ef);border-radius:var(--radius,10px);padding:14px 16px;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(31,58,110,.04);min-height:118px;transition:transform .15s ease,box-shadow .15s ease}
.delivery-kpi-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(31,58,110,.08)}
.delivery-kpi-title{font-size:12px;font-weight:700;color:#526b91;letter-spacing:.1px;margin-bottom:8px;line-height:1.3}
.delivery-kpi-val{font-size:26px;font-weight:800;line-height:1.1;margin-bottom:6px;font-family:'Segoe UI',system-ui,-apple-system,sans-serif}
.delivery-kpi-val-navy{color:#1F3A6E}
.delivery-kpi-val-green{color:#059669}
.delivery-kpi-val-amber{color:#B45309}
.delivery-kpi-val-red{color:#C0492B}
.delivery-kpi-denom{font-size:15px;font-weight:600;color:#64748B;margin-left:2px}
.delivery-kpi-track{height:4px;background:#E2E8F0;border-radius:4px;overflow:hidden;margin-bottom:8px}
.delivery-kpi-fill{height:100%;border-radius:4px;transition:width .3s ease}
.delivery-kpi-fill-green{background:#3BA78B}
.delivery-kpi-fill-amber{background:#B45309}
.delivery-kpi-fill-navy{background:#1F3A6E}
.delivery-kpi-fill-red{background:#C0492B}
.delivery-kpi-sub{font-size:11px;color:#526b91;line-height:1.35;margin-top:auto}
@media (max-width:960px){.delivery-kpis-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
@media print{.delivery-kpis-grid{grid-template-columns:repeat(5,1fr);gap:10px;page-break-inside:avoid;break-inside:avoid}.delivery-kpi-card{box-shadow:none;border:1px solid #d6e0ef}}
.muted-small{color:var(--muted);font-size:12px;margin-top:3px}
.admin-stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
    margin:16px 0;
}
.stat{
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:14px;
    background:var(--surface);
}
.stat-num{font-weight:900;font-size:22px}
.stat-label{color:var(--muted);font-size:13px}
.card{
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:14px;
    background:var(--surface);
    margin:14px 0;
}
.card-title{font-weight:800;margin-bottom:10px}
.card-title-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
    flex-wrap:wrap;
}
.card-title-row .card-title{margin-bottom:0}
.card-title-meta{display:flex;align-items:center;gap:10px}
.card-title-count{
    font-size:12px;
    font-weight:600;
    color:var(--muted);
    padding:5px 11px;
    border-radius:999px;
    background:color-mix(in srgb, var(--surface-2) 70%, transparent);
    border:1px solid color-mix(in srgb, var(--text) 8%, transparent);
}
.table-wrap{
    overflow:auto;
    /* Scroll invisível: funciona normalmente mas sem barra visível.
       A rolagem horizontal é feita via trackpad, shift+wheel ou
       arraste. As sombras nas bordas indicam que há mais conteúdo. */
    scrollbar-width: none;
    -ms-overflow-style: none;
    position: relative;
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
            mask-image: linear-gradient(to right, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
}
.table-wrap::-webkit-scrollbar{display:none;width:0;height:0}
.table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    font-size:13px;
}
.table th,.table td{
    text-align:left;
    padding:10px 10px;
    border-bottom:1px solid var(--border);
    vertical-align:top;
}
.table th{color:var(--muted);font-weight:800;font-size:12px}
.table tr:last-child td{border-bottom:none}
.actions{display:flex;gap:8px;flex-wrap:wrap}

/* ===== Tabela de Usuários (premium, compacta) ===== */
.table-users{
    table-layout:auto;
    min-width:0;
}
.table-users th{
    position:sticky;
    top:0;
    background:var(--surface);
    z-index:2;
    padding:12px 12px;
    border-bottom:1px solid var(--border);
    white-space:nowrap;
}
.table-users td{padding:14px 12px;vertical-align:top}
.table-users tbody tr{
    transition:background .14s ease;
}
.table-users tbody tr:hover{background:color-mix(in srgb, var(--surface-2) 40%, transparent)}

/* ===== Versão clean e moderna da página Usuários (v3) ===== */

.users-page{
    max-width:1280px;
    padding-inline:18px;
}
.users-page .admin-page-header{
    margin-bottom:18px;
}
.users-form-card{
    padding:18px !important;
}
.users-account-form{
    grid-template-columns:repeat(12, minmax(0, 1fr));
    gap:14px 12px;
    align-items:start;
}
.users-account-form .users-field-name,
.users-account-form .users-field-email,
.users-account-form .users-field-sector,
.users-account-form .users-field-role{
    grid-column:span 3;
}
.users-account-form .users-field-password{
    grid-column:span 6;
}
.users-account-form .users-permissions-field{
    grid-column:span 6;
}
.users-account-form .users-permissions-field-wide{
    grid-column:1 / -1;
}
.users-account-form .users-submit-field{
    grid-column:1 / -1;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    margin-top:-2px;
}
.users-password-row{
    display:flex;
    align-items:center;
    gap:8px;
}
.users-password-row .input{
    flex:1 1 auto;
    min-width:0;
}
.users-password-row .btn{
    flex:0 0 auto;
    min-height:40px;
    padding:10px 14px;
    white-space:nowrap;
}
.users-password-hint{
    display:block;
    margin-top:6px;
    color:#64748b;
    font-size:12px;
    line-height:1.35;
}
.users-form-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.users-page .admin-perm-grid{
    grid-template-columns:repeat(3, minmax(132px, 1fr));
    gap:8px;
}
.users-page .admin-perm-check{
    min-height:72px;
    padding:10px 12px;
}
.users-page .admin-perm-check-desc{
    font-size:11px;
    line-height:1.35;
}

/* Stats no topo */
.users-stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin:14px 0 18px;
}
.users-stat{
    position:relative;
    padding:16px 18px 14px;
    border-radius:16px;
    background:var(--surface);
    border:1px solid var(--border);
    overflow:hidden;
    isolation:isolate;
    transition:transform .14s ease, box-shadow .14s ease;
}
.users-stat::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    opacity:.10;
    background:var(--users-stat-bg, transparent);
}
.users-stat:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 24px -16px color-mix(in srgb, var(--users-stat-shadow, var(--text)) 60%, transparent);
}
.users-stat-label{
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--muted);
    margin-bottom:6px;
}
.users-stat-value{
    font-size:32px;
    font-weight:800;
    line-height:1;
    color:var(--text);
    font-variant-numeric:tabular-nums;
}
.users-stat-foot{
    margin-top:6px;
    font-size:12px;
    color:var(--muted);
}
.users-stat-tone-blue{
    --users-stat-bg:linear-gradient(135deg, #2563eb 0%, #60a5fa 100%);
    --users-stat-shadow:#2563eb;
}
.users-stat-tone-teal{
    --users-stat-bg:linear-gradient(135deg, #0d9488 0%, #5eead4 100%);
    --users-stat-shadow:#0d9488;
}
.users-stat-tone-rose{
    --users-stat-bg:linear-gradient(135deg, #e11d48 0%, #fb7185 100%);
    --users-stat-shadow:#e11d48;
}
.users-stat-tone-violet{
    --users-stat-bg:linear-gradient(135deg, #7c3aed 0%, #c4b5fd 100%);
    --users-stat-shadow:#7c3aed;
}

/* Card header (título + busca) */
.card-users-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
    flex-wrap:wrap;
}
.card-users-head-l{flex:1 1 auto;min-width:0}
.card-users-head-r{flex:0 0 auto}
.card-users-sub{
    margin-top:4px;
    font-size:12px;
    color:var(--muted);
}

/* Busca */
.users-search{
    position:relative;
    display:flex;
    align-items:center;
}
.users-search-icon{
    position:absolute;
    left:11px;
    top:50%;
    transform:translateY(-50%);
    color:var(--muted);
    pointer-events:none;
    display:flex;
}
.users-search-input{
    width:280px;
    height:36px;
    padding:0 12px 0 32px;
    border-radius:10px;
    border:1px solid var(--border);
    background:var(--surface);
    color:var(--text);
    font-size:13px;
    font-family:inherit;
    transition:border-color .14s ease, box-shadow .14s ease;
}
.users-search-input::placeholder{color:var(--muted)}
.users-search-input:focus{
    outline:none;
    border-color:color-mix(in srgb, var(--text) 28%, transparent);
    box-shadow:0 0 0 3px color-mix(in srgb, var(--text) 8%, transparent);
}

/* Coluna Usuário com avatar */
.card-users{
    padding:18px !important;
}
.card-users .table-wrap{
    overflow-x:auto;
    -webkit-mask-image:none;
            mask-image:none;
}
.table-users{
    min-width:1120px;
    table-layout:fixed;
}
.table-users .col-user{width:36%}
.table-users .col-profile{width:132px}
.table-users .col-access{width:270px}
.table-users .col-last{width:156px;white-space:nowrap}
.table-users .col-actions{width:216px}
.user-cell{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}
.user-cell-avatar{
    flex:0 0 auto;
    width:38px;
    height:38px;
    border-radius:50%;
    background:linear-gradient(135deg, color-mix(in srgb, var(--text) 12%, var(--surface)) 0%, color-mix(in srgb, var(--text) 22%, var(--surface)) 100%);
    color:var(--text);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    font-size:13px;
    letter-spacing:.02em;
    border:1px solid color-mix(in srgb, var(--text) 8%, transparent);
    user-select:none;
}
.user-cell-body{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
    flex:1 1 auto;
}
.user-cell-name{
    font-weight:700;
    color:var(--text);
    font-size:14px;
    line-height:1.25;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
}
.user-cell-meta{
    display:flex;
    align-items:center;
    gap:6px;
    color:var(--muted);
    font-size:12px;
    line-height:1.3;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
}
.user-cell-meta .user-cell-email{
    color:var(--text);
    font-weight:500;
    overflow:hidden;
    text-overflow:ellipsis;
}
.user-cell-dot{color:var(--muted);opacity:.5}

/* Profile stack (perfil + status em pilha) */
.profile-stack{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
}

/* Last login */
.user-last-login{
    font-size:12px;
    color:var(--muted);
    font-variant-numeric:tabular-nums;
}

/* Ações */
.row-actions{
    display:flex;
    flex-wrap:nowrap;
    gap:7px;
    align-items:center;
    justify-content:flex-start;
}
.card-users .icon-btn{
    width:34px;
    height:34px;
    border-radius:12px;
}
.card-users .icon{
    font-size:14px;
}
.admin-access-empty{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    color:var(--muted);
    font-size:11.5px;
    line-height:1.3;
}
.admin-pill-mini{
    font-size:10px !important;
    padding:2px 8px !important;
    gap:5px !important;
}
.admin-pill-mini .admin-pill-dot{width:5px;height:5px}

/* Filtro dinâmico (esconde linhas) */
.table-users tbody tr.is-hidden{display:none}

/* ===== Menu MCR (página + estilos) ===== */
.chat-badge-new{
    margin-left:auto;
    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#047857;
    background:linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
    border:1px solid color-mix(in srgb, #10b981 30%, transparent);
    padding:2px 7px;
    border-radius:999px;
    box-shadow:0 1px 2px rgba(16, 185, 129, 0.15);
}
.mcr-page-header{margin-bottom:18px}

/* ======= MCR: Toolbar e ações (baseado no visual da Prestação de Contas) ======= */
[hidden]{display:none !important}
.btn-danger{
    background:linear-gradient(135deg, #fecaca 0%, #ef4444 100%);
    color:#ffffff;
    border:1px solid color-mix(in srgb, #ef4444 30%, transparent);
}
.btn-danger:hover{filter:brightness(1.02)}

.msg.assistant.mcr-ai-intro .msg-inner{max-width:1120px !important;width:100%}
.mcr-intro-copy{
    margin:2px 0 16px;
    color:var(--muted);
    line-height:1.5;
    font-size:14px;
}

.mcr-welcome{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:18px;
    padding:22px;
    box-shadow:0 1px 0 color-mix(in srgb, var(--text) 4%, transparent);
}
.mcr-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
}
.mcr-toolbar-left{display:flex;flex-direction:column;gap:14px;flex:1 1 420px;min-width:0}
.mcr-toolbar-title{display:flex;flex-direction:column;gap:4px}
.mcr-toolbar-title-main{font-size:17px;font-weight:800;color:var(--text);letter-spacing:-.01em}
.mcr-toolbar-title-sub{font-size:13px;color:var(--muted)}
.mcr-search-wrap{position:relative;max-width:560px}
.mcr-search-icon{
    position:absolute;left:12px;top:50%;transform:translateY(-50%);
    width:16px;height:16px;color:var(--muted);opacity:.9;pointer-events:none;
}
.mcr-search-input{padding-left:36px;width:100%}
.mcr-toolbar-right{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.mcr-action-btn{min-height:40px;padding:9px 14px;border-radius:14px}
.mcr-action-btn svg{width:16px;height:16px}
.mcr-primary-btn{
    background:linear-gradient(135deg, #66c1bf 0%, #0c63a6 100%);
    color:#ffffff;
    border-color:transparent;
    box-shadow:0 12px 26px rgba(12,99,166,.20), 0 2px 6px rgba(102,193,191,.10);
}
.mcr-primary-btn:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(12,99,166,.26)}

.mcr-selected-card{
    margin-top:18px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:18px;
    padding:18px;
    box-shadow:0 1px 0 color-mix(in srgb, var(--text) 4%, transparent);
}
.mcr-selected-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
}
.mcr-selected-title-wrap{display:flex;flex-direction:column;gap:4px;min-width:0}
.mcr-selected-kicker{
    color:var(--muted);
    font-size:11.5px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.mcr-selected-title{
    color:var(--text);
    font-size:18px;
    font-weight:800;
    line-height:1.25;
}
.mcr-selected-sub{
    color:var(--muted);
    font-size:13px;
    line-height:1.45;
}
.mcr-selected-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
}
.mcr-selected-field{
    min-width:0;
    border:1px solid color-mix(in srgb, var(--border) 78%, transparent);
    border-radius:12px;
    background:color-mix(in srgb, var(--surface-2) 32%, transparent);
    padding:10px 12px;
}
.mcr-selected-label{
    display:block;
    color:var(--muted);
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    margin-bottom:4px;
}
.mcr-selected-value{
    display:block;
    color:var(--text);
    font-size:13.5px;
    font-weight:600;
    line-height:1.35;
    overflow-wrap:anywhere;
}

/* ======= MCR: Tabela ======= */
.mcr-table-wrap{
    margin-top:18px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:18px;
    overflow:hidden;
    overflow-x:auto;
    box-shadow:0 1px 0 color-mix(in srgb, var(--text) 4%, transparent);
}
.mcr-table-wrap.is-collapsed{display:none}
.mcr-skeleton{display:flex;flex-direction:column;gap:12px;padding:22px}
.mcr-skeleton-row{
    height:58px;border-radius:12px;
    background:linear-gradient(90deg, color-mix(in srgb, var(--surface-2) 70%, transparent) 0%, color-mix(in srgb, var(--surface-2) 92%, transparent) 50%, color-mix(in srgb, var(--surface-2) 70%, transparent) 100%);
    background-size:200% 100%;animation:mcr-skeleton 1.4s ease-in-out infinite;
}
@keyframes mcr-skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}

.mcr-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;color:var(--text);table-layout:fixed}
.mcr-table thead th{
    position:sticky;top:0;z-index:2;
    text-align:left;font-weight:700;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;
    padding:12px 16px;
    background:color-mix(in srgb, var(--surface-2) 60%, transparent);
    border-bottom:1px solid var(--border);
    backdrop-filter: blur(6px);
}
.mcr-th-actions{text-align:center}
.mcr-table tbody td{
    padding:12px 14px;
    border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);
    vertical-align:middle;
}
.mcr-table tbody tr:last-child td{border-bottom:none}
.mcr-table tbody tr:hover{background:color-mix(in srgb, var(--surface-2) 35%, transparent)}
.mcr-table tbody tr{cursor:pointer}
.mcr-table tbody tr.is-selected{background:color-mix(in srgb, #0c63a6 8%, transparent)}
.mcr-table tbody tr.is-selected td:first-child{box-shadow:inset 3px 0 0 #0c63a6}

.mcr-company{display:flex;align-items:flex-start;gap:12px;min-width:0}
.mcr-company-avatar{
    flex:0 0 auto;width:40px;height:40px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#ffffff;
    background:linear-gradient(135deg,#66c1bf 0%,#0c63a6 100%);
    box-shadow:0 6px 14px rgba(12,99,166,.18);
}
.mcr-company-meta{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto}
.mcr-company-name{font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcr-company-fantasia{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcr-company-grupo{font-size:11.5px;color:var(--muted)}
.mcr-company-grupo b{color:color-mix(in srgb, var(--text) 70%, transparent);font-weight:600}
.mcr-empresa{display:block;font-weight:700;color:var(--text);vertical-align:middle;line-height:1.3;overflow-wrap:anywhere}
.mcr-sub{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.35;overflow-wrap:anywhere}

.mcr-status-pill{
    display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;
    font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
}
.mcr-status-pill-dot{width:7px;height:7px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.mcr-status-pill--ativo{color:#047857;background:color-mix(in srgb, #10b981 14%, transparent);border:1px solid color-mix(in srgb, #10b981 28%, transparent)}
.mcr-status-pill--ativo .mcr-status-pill-dot{background:#10b981}
.mcr-status-pill--inativo{color:#9ca3af;background:color-mix(in srgb, #6b7280 12%, transparent);border:1px solid color-mix(in srgb, #6b7280 26%, transparent)}
.mcr-status-pill--inativo .mcr-status-pill-dot{background:#9ca3af}

.mcr-contact-cell{display:flex;flex-direction:column;gap:2px;min-width:0}
.mcr-contact-name{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcr-contact-sub{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcr-contact-email{font-size:12.5px;color:color-mix(in srgb, #0c63a6 75%, transparent)}
.mcr-contact-email:hover{text-decoration:underline}

.mcr-cnpj-cell{display:flex;flex-direction:column;gap:3px;min-width:0}
.mcr-cnpj{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
.mcr-regime{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcr-matriz{font-size:11px;display:inline-block;margin-right:6px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb, #0c63a6 10%, transparent);color:#0c63a6;font-weight:700}
.mcr-matriz.is-filial{background:color-mix(in srgb, #7c3aed 10%, transparent);color:#7c3aed}

/* ======= MCR: Botões de ação da linha (4 pequenos, lado a lado) ======= */
.mcr-row-actions{display:grid;grid-template-columns:repeat(2, 34px);align-items:center;justify-content:center;gap:6px}
.mcr-row-select{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    margin:0 8px 0 0;
    vertical-align:middle;
    cursor:pointer;
}
.mcr-row-select input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.mcr-row-select span{
    position:relative;
    width:16px;
    height:16px;
    border-radius:5px;
    border:2px solid color-mix(in srgb, #0c63a6 35%, var(--border));
    background:var(--surface);
    box-shadow:inset 0 0 0 3px var(--surface);
}
.mcr-row-select input:checked + span{
    background:#0c63a6;
    border-color:#0c63a6;
    box-shadow:none;
}
.mcr-row-select input:checked + span::after{
    content:"";
    position:absolute;
    left:4px;
    top:1px;
    width:4px;
    height:8px;
    border:solid #fff;
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
}
.mcr-row-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:5px;
    width:34px;height:34px;padding:0;border-radius:10px;border:1px solid var(--border);
    background:var(--btnGhost);color:var(--btnGhostText);
    font-size:12px;font-weight:700;
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
    white-space:nowrap;
}
.mcr-row-btn svg{width:15px;height:15px}
.mcr-row-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.06)}
.mcr-row-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, #0c63a6 24%, transparent)}
.mcr-row-btn:disabled{opacity:.5;cursor:not-allowed}
.mcr-row-btn--add{background:linear-gradient(135deg, #dcfce7 0%, #86efac 100%);color:#065f46;border-color:color-mix(in srgb, #10b981 30%, transparent)}
.mcr-row-btn--copy{background:linear-gradient(135deg, #dcfce7 0%, #86efac 100%);color:#065f46;border-color:color-mix(in srgb, #10b981 30%, transparent)}
.mcr-row-btn--edit{background:linear-gradient(135deg, #e0f2fe 0%, #93c5fd 100%);color:#0c4a6e;border-color:color-mix(in srgb, #3b82f6 30%, transparent)}
.mcr-row-btn--toggle{background:linear-gradient(135deg, #fef3c7 0%, #fcd34d 100%);color:#92400e;border-color:color-mix(in srgb, #f59e0b 30%, transparent)}
.mcr-row-btn--disable{background:linear-gradient(135deg, #fef3c7 0%, #fcd34d 100%);color:#92400e;border-color:color-mix(in srgb, #f59e0b 30%, transparent)}
.mcr-row-btn--enable{background:linear-gradient(135deg, #d1fae5 0%, #6ee7b7 100%);color:#065f46;border-color:color-mix(in srgb, #10b981 34%, transparent)}
.mcr-row-btn--delete{background:linear-gradient(135deg, #fee2e2 0%, #fca5a5 100%);color:#991b1b;border-color:color-mix(in srgb, #ef4444 30%, transparent)}
.mcr-row-btn--danger{background:linear-gradient(135deg, #fee2e2 0%, #fca5a5 100%);color:#991b1b;border-color:color-mix(in srgb, #ef4444 30%, transparent)}
.mcr-row-btn.is-busy .mcr-row-btn-label{display:none}
.mcr-row-btn.is-busy svg{animation:mcr-spin .9s linear infinite}
@keyframes mcr-spin{to{transform:rotate(360deg)}}

/* ======= MCR: Empty state ======= */
.mcr-empty{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
    padding:56px 24px;text-align:center;
}
.mcr-empty-icon{width:52px;height:52px;color:var(--muted);opacity:.75}
.mcr-empty-icon svg{width:100%;height:100%}
.mcr-empty-title{font-size:16px;font-weight:700;color:var(--text)}
.mcr-empty-sub{font-size:13px;color:var(--muted);max-width:520px;line-height:1.5}

/* ======= MCR: Modais ======= */
.mcr-modal{
    position:fixed;inset:0;z-index:2147483640;
    display:none;align-items:center;justify-content:center;
    padding:20px;
}
.mcr-modal.open,.mcr-modal[aria-hidden="false"]{display:flex}
.mcr-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(3px)}
.mcr-modal-dialog{
    position:relative;z-index:2;
    width:min(1080px, calc(100vw - 32px));max-width:none;max-height:calc(100vh - 36px);
    display:flex;flex-direction:column;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:20px;
    box-shadow:0 30px 80px rgba(15,23,42,.30);
    overflow:hidden;
}
.mcr-modal-dialog--sm{max-width:520px}
.mcr-modal-head{
    display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
    padding:20px 26px 16px;
    border-bottom:1px solid var(--border);
    background:linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 35%, transparent), transparent);
}
.mcr-modal-title-wrap{display:flex;align-items:flex-start;gap:14px;min-width:0;flex:1 1 auto}
.mcr-modal-icon{
    flex:0 0 auto;width:44px;height:44px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    background:radial-gradient(circle at 30% 30%, #e6fffb 0%, #b9eef1 58%, #2b8fc2 100%);
    color:#0570a6;
    box-shadow:inset 0 0 0 6px rgba(255,255,255,.55), 0 6px 14px rgba(12,99,166,.18);
}
.mcr-modal-icon svg{width:22px;height:22px}
.mcr-modal-icon--edit{background:radial-gradient(circle at 30% 30%, #e0f2fe 0%, #bae6fd 70%, #7dd3fc 100%);color:#0c4a6e;box-shadow:inset 0 0 0 6px rgba(255,255,255,.55), 0 6px 14px rgba(12,74,110,.16)}
.mcr-modal-icon--edit svg{width:22px;height:22px}
.mcr-modal-icon--danger{background:radial-gradient(circle at 30% 30%, #fee2e2 0%, #fecaca 70%, #fca5a5 100%);color:#991b1b;box-shadow:inset 0 0 0 6px rgba(255,255,255,.55), 0 6px 14px rgba(153,27,27,.16)}
.mcr-modal-title-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.mcr-modal-title{font-size:17px;font-weight:800;color:var(--text);letter-spacing:-.01em;margin:0}
.mcr-modal-subtitle{font-size:13px;color:var(--muted);line-height:1.45}
.mcr-modal-close{width:34px;height:34px;border-radius:10px;color:var(--muted)}
.mcr-modal-close:hover{background:color-mix(in srgb, var(--surface-2) 80%, transparent);color:var(--text)}
.mcr-modal-body{
    flex:1 1 auto;overflow:auto;
    padding:20px 26px 24px;
}
.mcr-form-grid{
    display:grid;grid-template-columns:repeat(12, minmax(0, 1fr));
    gap:12px 18px;
}
.mcr-form-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.mcr-form-field{grid-column:span 3 / span 3}
.mcr-form-field.mcr-span-2{grid-column:span 6 / span 6}
.mcr-form-field:has(#mcrFormEmpresa),
.mcr-form-field:has(#mcrFormNomeFantasia),
.mcr-form-field:has(#mcrFormEndereco),
.mcr-form-field:has(#mcrFormCnae),
.mcr-form-field:has(#mcrFormSocietario){grid-column:span 6 / span 6}
.mcr-form-field:has(#mcrFormCnpj),
.mcr-form-field:has(#mcrFormGrupo),
.mcr-form-field:has(#mcrFormMatrizFilial){grid-column:span 4 / span 4}
.mcr-form-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding-left:2px}
.mcr-modal-error{
    margin-top:16px;padding:10px 14px;border-radius:12px;
    background:color-mix(in srgb, #ef4444 10%, transparent);
    border:1px solid color-mix(in srgb, #ef4444 30%, transparent);
    color:#991b1b;font-size:13px;font-weight:600;line-height:1.45;
}
.mcr-modal-foot{
    display:flex;align-items:center;justify-content:flex-end;gap:10px;
    padding:16px 26px 20px;
    border-top:1px solid var(--border);
    background:linear-gradient(0deg, color-mix(in srgb, var(--surface-2) 35%, transparent), transparent);
}
.mcr-modal-foot--stack{justify-content:flex-end}
.mcr-modal-submit{min-height:40px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.mcr-btn-spinner{width:16px;height:16px;animation:mcr-spin .9s linear infinite;color:currentColor}
.mcr-modal-submit[disabled] .mcr-modal-submit-label{opacity:.85}

/* ======= MCR: Toast ======= */
.mcr-toast{
    position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(8px);
    z-index:2147483646;display:none;align-items:center;gap:10px;
    padding:11px 16px;border-radius:14px;
    background:var(--surface);border:1px solid var(--border);
    box-shadow:0 18px 40px rgba(15,23,42,.22);
    font-size:13.5px;font-weight:600;color:var(--text);
    opacity:0;pointer-events:none;
    transition:opacity .22s ease, transform .22s ease;
}
.mcr-toast:not([hidden]){display:inline-flex}
.mcr-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.mcr-toast-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;flex:0 0 auto}
.mcr-toast-icon svg{width:12px;height:12px;color:#ffffff}
.mcr-toast--success{border-color:color-mix(in srgb, #10b981 30%, transparent)}
.mcr-toast--success .mcr-toast-icon{background:linear-gradient(135deg,#10b981,#059669)}
.mcr-toast--error{border-color:color-mix(in srgb, #ef4444 30%, transparent)}
.mcr-toast--error .mcr-toast-icon{background:linear-gradient(135deg,#ef4444,#dc2626)}

/* ======= Responsivo MCR ======= */
@media (max-width: 1100px){
    .mcr-selected-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
    .mcr-form-grid{grid-template-columns:repeat(6, minmax(0, 1fr))}
    .mcr-form-field{grid-column:span 3 / span 3}
    .mcr-form-field.mcr-span-2,
    .mcr-form-field:has(#mcrFormEmpresa),
    .mcr-form-field:has(#mcrFormNomeFantasia),
    .mcr-form-field:has(#mcrFormEndereco),
    .mcr-form-field:has(#mcrFormCnae),
    .mcr-form-field:has(#mcrFormSocietario){grid-column:span 6 / span 6}
    .mcr-form-field:has(#mcrFormCnpj),
    .mcr-form-field:has(#mcrFormGrupo),
    .mcr-form-field:has(#mcrFormMatrizFilial){grid-column:span 2 / span 2}
    .mcr-row-actions{gap:5px}
    .mcr-row-btn{width:32px;height:32px;font-size:11.5px}
}
@media (max-width: 760px){
    .mcr-selected-grid{grid-template-columns:1fr}
    .mcr-toolbar{flex-direction:column;align-items:stretch}
    .mcr-toolbar-right{justify-content:space-between}
    .mcr-primary-btn{flex:1 1 auto}
    .mcr-action-btn{flex:1 1 auto}
    .mcr-table thead th{padding:10px 12px;font-size:11px}
    .mcr-table tbody td{padding:12px 12px}
    .mcr-company-avatar{width:36px;height:36px;border-radius:10px;font-size:12px}
    .mcr-row-actions{grid-template-columns:repeat(2, 34px)}
    .mcr-row-btn{justify-content:center;width:34px;height:34px;font-size:12.5px}
    .mcr-modal-head{padding:18px 18px 14px}
    .mcr-modal-body{padding:16px 18px}
    .mcr-modal-foot{padding:14px 18px}
    .mcr-form-grid{grid-template-columns:1fr}
    .mcr-form-field,
    .mcr-form-field.mcr-span-2,
    .mcr-form-field:has(#mcrFormEmpresa),
    .mcr-form-field:has(#mcrFormNomeFantasia),
    .mcr-form-field:has(#mcrFormEndereco),
    .mcr-form-field:has(#mcrFormCnae),
    .mcr-form-field:has(#mcrFormCnpj),
    .mcr-form-field:has(#mcrFormGrupo),
    .mcr-form-field:has(#mcrFormMatrizFilial),
    .mcr-form-field:has(#mcrFormSocietario){grid-column:span 1 / span 1}
}

.mcr-welcome-head{
    display:flex;
    flex-direction:column;
    gap:6px;
    margin-bottom:18px;
    padding-bottom:16px;
    border-bottom:1px dashed var(--border);
}
.mcr-welcome-title{
    font-size:18px;
    font-weight:800;
    color:var(--text);
}
.mcr-welcome-sub{
    font-size:13px;
    color:var(--muted);
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.mcr-welcome-body{display:flex;align-items:center;justify-content:center;min-height:280px}
.mcr-welcome-placeholder{
    text-align:center;
    max-width:520px;
    padding:30px 22px;
    border-radius:14px;
    background:color-mix(in srgb, var(--surface-2) 50%, transparent);
    border:1px dashed var(--border);
}
.mcr-welcome-placeholder-icon{
    width:48px;
    height:48px;
    margin:0 auto 12px;
    color:#7c3aed;
    opacity:.8;
}
.mcr-welcome-placeholder-icon svg{width:100%;height:100%}
.mcr-welcome-placeholder-title{
    font-size:16px;
    font-weight:700;
    color:var(--text);
    margin-bottom:6px;
}
.mcr-welcome-placeholder-text{
    font-size:13px;
    color:var(--muted);
    line-height:1.5;
}

/* Responsivo */
@media (max-width: 1100px){
    .users-stats{grid-template-columns:repeat(2, minmax(0, 1fr))}
    .users-account-form .users-field-name,
    .users-account-form .users-field-email,
    .users-account-form .users-field-sector,
    .users-account-form .users-field-role{
        grid-column:span 6;
    }
    .users-account-form .users-field-password,
    .users-account-form .users-permissions-field{
        grid-column:1 / -1;
    }
}
@media (max-width: 720px){
    .users-page{padding-inline:14px}
    .users-account-form{
        grid-template-columns:1fr;
    }
    .users-account-form .users-field-name,
    .users-account-form .users-field-email,
    .users-account-form .users-field-sector,
    .users-account-form .users-field-role,
    .users-account-form .users-field-password,
    .users-account-form .users-permissions-field,
    .users-account-form .users-submit-field{
        grid-column:1 / -1;
    }
    .users-password-row{
        flex-direction:column;
        align-items:stretch;
    }
    .users-page .admin-perm-grid{grid-template-columns:1fr}
    .users-stats{grid-template-columns:1fr}
    .users-search-input{width:100%}
    .card-users-head-r{flex:1 1 100%}
}
.grid-form{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:10px;
}
.filters-form{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
    align-items:end;
}
.cell-wrap{max-width:520px;white-space:pre-wrap;word-break:break-word}

.modal{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    z-index:60;
}
.modal.open{display:flex}
.modal-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.28);
}
.modal-card{
    position:relative;
    width:100%;
    max-width:480px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--surface);
    box-shadow:var(--shadow);
    margin:18px;
}
.modal-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 12px;
    border-bottom:1px solid var(--border);
}
.modal-title{font-weight:900}
.modal-body{padding:12px 12px 14px}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
.feedback-modal-card{max-width:760px;max-height:calc(100vh - 24px);display:flex;flex-direction:column;overflow:hidden}
.carta-email-modal-card{max-width:900px;max-height:calc(100vh - 24px);display:flex;flex-direction:column;overflow:hidden}
.carta-email-modal-card .modal-body{padding:18px;overflow:auto}
.carta-whatsapp-modal-card{max-width:760px;max-height:calc(100vh - 24px);display:flex;flex-direction:column;overflow:hidden}
.carta-whatsapp-modal-card .modal-body{padding:18px;overflow:auto}
.carta-email-preview-frame{
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--panel);
    overflow:hidden;
}
.carta-email-preview-frame iframe{
    width:100%;
    min-height:420px;
    border:0;
    background:#fff;
}
.carta-email-note{
    margin-top:10px;
    font-size:13px;
    line-height:1.45;
    color:var(--muted);
}
.carta-email-delivery-section{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--border);
}
.carta-email-delivery-title{
    margin-bottom:12px;
    font-size:14px;
    font-weight:900;
    color:var(--text);
}
.carta-email-delivery-section .carta-email-preview-frame iframe{
    min-height:320px;
}
.carta-whatsapp-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:0 12px;
}
.carta-whatsapp-textarea{min-height:220px}
.carta-whatsapp-note{
    margin-top:10px;
    font-size:13px;
    line-height:1.45;
    color:var(--muted);
}
.feedback-modal-head{padding:16px 18px}
.feedback-head-group{display:flex;align-items:flex-start;gap:14px;min-width:0}
.feedback-icon-wrap{
    width:44px;
    height:44px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--brand-gradient);
    color:#ffffff;
    box-shadow:0 14px 26px rgba(12,99,166,.16);
    flex:0 0 auto;
}
body.theme-dark .feedback-icon-wrap{background:#20173f;color:#b7a9ff}
.feedback-subtitle{margin-top:4px;font-size:13px;line-height:1.45;color:var(--muted)}
.feedback-form{padding:18px;flex:1 1 auto;overflow:auto}
.feedback-section-title{display:block;font-size:14px;font-weight:800;margin:0 0 10px}
.feedback-type-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
    margin-bottom:16px;
}
.feedback-type-card{
    position:relative;
    display:block;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface);
    padding:16px 14px 14px 40px;
    cursor:pointer;
    min-height:108px;
}
.feedback-type-card input{
    position:absolute;
    left:14px;
    top:18px;
    width:16px;
    height:16px;
    accent-color:#0c63a6;
}
.feedback-type-card:has(input:checked){
    border-color:rgba(12,99,166,.30);
    background:
        linear-gradient(var(--surface), var(--surface)) padding-box,
        var(--brand-gradient) border-box;
    border:1px solid transparent;
    box-shadow:0 0 0 3px rgba(12,99,166,.10);
}
.feedback-type-title{font-size:14px;font-weight:800;line-height:1.3;margin-bottom:6px}
.feedback-type-text{font-size:12px;line-height:1.45;color:var(--muted)}
.feedback-textarea{resize:vertical;min-height:132px}
.feedback-count{
    margin-top:-6px;
    margin-bottom:10px;
    text-align:right;
    font-size:12px;
    color:var(--muted);
}
.feedback-file-note{
    margin-top:-2px;
    font-size:12px;
    color:var(--muted);
}
body:not(.theme-dark) #feedbackImage::file-selector-button{
    margin-right:10px;
    padding:8px 12px;
    border-radius:10px;
    border:1px solid transparent;
    background:var(--brand-gradient);
    color:#ffffff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 12px 22px rgba(12,99,166,.16);
}
body:not(.theme-dark) #feedbackImage::-webkit-file-upload-button{
    margin-right:10px;
    padding:8px 12px;
    border-radius:10px;
    border:1px solid transparent;
    background:var(--brand-gradient);
    color:#ffffff;
    font:inherit;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 12px 22px rgba(12,99,166,.16);
}
.feedback-note{
    margin-top:14px;
    padding:12px 14px;
    border:1px solid rgba(12,99,166,.16);
    border-radius:12px;
    background:linear-gradient(180deg, rgba(102,193,191,.10), rgba(12,99,166,.07));
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}
body.theme-dark .feedback-note{
    border-color:#372f66;
    background:#17142a;
}
.feedback-actions{margin-top:18px;justify-content:space-between}

.received-banner{
    max-width:860px;
    margin:12px auto 0;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface);
    font-size:13px;
    color:var(--text);
}

.user-pick{
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface);
    max-height:320px;
    overflow:auto;
}
.user-row{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border-bottom:1px solid var(--border);
}
.user-row:last-child{border-bottom:none}
.user-check{width:18px;height:18px}
.user-avatar{
    width:34px;height:34px;border-radius:12px;
    border:1px solid var(--border);
    overflow:hidden;
    background:var(--surface);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
}
.user-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.user-info{min-width:0}
.user-name{font-weight:800;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-email{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.received-list{display:flex;flex-direction:column;gap:6px}
.sender-row{border-radius:12px}
.sender-btn{
    width:100%;
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 10px;
    border-radius:12px;
    border:1px solid transparent;
    background:transparent;
    cursor:pointer;
    color:var(--text);
    font-size:13px;
    font-weight:800;
    text-align:left;
}
.sender-btn:hover{background:var(--surface);border-color:var(--border)}
.sender-caret{width:14px;display:inline-flex;justify-content:center;color:var(--muted);font-size:16px}
.sender-row.open .sender-caret{transform:rotate(90deg)}
.sender-meta{min-width:0;flex:1 1 auto}
.sender-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sender-count{font-size:12px;color:var(--muted);font-weight:700}
.sender-chats{padding:6px 0 0 22px}
.sender-chats .chat-row{margin:2px 0}
.sender-chats .chat-item{padding:8px 10px}

.toast{
    position:fixed;
    right:16px;
    top:16px;
    z-index:80;
    display:none;
}
.toast.open{display:block}
.toast-card{
    width:min(420px, calc(100vw - 32px));
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--surface);
    box-shadow:var(--shadow);
    overflow:hidden;
}
.toast-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 10px;
    border-bottom:1px solid var(--border);
}
.toast-title{font-weight:900;font-size:13px}
.toast-body{padding:10px 12px 12px}
.toast-msg{font-size:13px;line-height:1.35}
.toast-count{margin-top:8px;font-size:12px;color:var(--muted)}
.toast-card.success{border-color:rgba(10,122,42,.45)}
.toast-card.error{border-color:rgba(164,0,0,.45)}

@media (max-width: 760px){
    .prestacao-contas-chat-actions{grid-template-columns:1fr}
    .prestacao-contas-action{min-height:128px;padding:18px}
    .prestacao-contas-intro{padding:20px 20px 24px}
    .prestacao-contas-intro__title{font-size:20px}
    .policy-doc{padding:18px 18px 20px;font-size:13.5px}
    .policy-section__title{font-size:14.5px}
    .policy-table{font-size:12.5px}
    .policy-table thead th,.policy-table tbody td{padding:8px 10px}
    .msg-export-card{align-items:flex-start;flex-wrap:wrap}
    .msg-export-actions{width:100%}
    .msg-export-actions .btn{flex:1 1 0}
    .feedback-type-grid{grid-template-columns:1fr}
    .feedback-modal-card{max-width:calc(100vw - 24px)}
    .carta-email-modal-card{max-width:calc(100vw - 24px)}
    .carta-whatsapp-modal-card{max-width:calc(100vw - 24px)}
    .carta-email-preview-frame iframe{min-height:320px}
    .carta-whatsapp-grid{grid-template-columns:1fr}
    .feedback-actions{flex-direction:column-reverse}
    .feedback-actions{flex-direction:column-reverse}
    .feedback-actions .btn{width:100%}
}

@media (max-width: 920px){
    .sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-105%);transition:transform .2s ease;z-index:20}
    .sidebar.open{transform:translateX(0)}
    .mobile-only{display:inline-flex}
}

@media (max-width: 840px){
    .admin-stats{grid-template-columns:1fr}
    .admin-stats.report-stats{grid-template-columns:1fr}
    .grid-form{grid-template-columns:1fr}
    .filters-form.filters-form-wide{grid-template-columns:1fr}
    .report-cards{grid-template-columns:1fr}
    .report-export-actions{margin-left:0;flex-wrap:wrap}
    .admin-stat-grid{grid-template-columns:1fr}
    .admin-quick-grid{grid-template-columns:1fr}
    .admin-hero{padding:24px 22px}
    .admin-hero-meta{flex-wrap:wrap;gap:14px}
    .admin-hero-meta-divider{display:none}
    .admin-event{flex-wrap:wrap}
    .admin-event-meta{flex-direction:row;align-items:center;gap:10px}
    .admin-section-head-row{flex-direction:column;align-items:flex-start;gap:6px}
}

/* ==========================================================
   PAINEL DO ADMINISTRADOR — LAYOUT PREMIUM
   ========================================================== */

.admin-hero{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    border:1px solid rgba(12,99,166,.14);
    padding:30px 34px;
    margin:6px 0 22px;
    color:#ffffff;
    background:
        radial-gradient(120% 140% at 0% 0%, #1F3A6E 0%, #1B3D7A 35%, #2E75B6 70%, #3BA78B 110%);
    box-shadow:0 22px 44px rgba(12,99,166,.22);
    isolation:isolate;
}
.admin-hero-decor{position:absolute;inset:0;pointer-events:none;z-index:0}
.admin-hero-grid{
    position:absolute;inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size:38px 38px;
    mask-image:radial-gradient(120% 100% at 100% 0%, #000 30%, transparent 75%);
    -webkit-mask-image:radial-gradient(120% 100% at 100% 0%, #000 30%, transparent 75%);
    opacity:.55;
}
.admin-hero-blob{
    position:absolute;
    border-radius:50%;
    filter:blur(36px);
    opacity:.55;
}
.admin-hero-blob-1{
    width:260px;height:260px;
    top:-90px;right:-60px;
    background:radial-gradient(circle, #66c1bf 0%, transparent 70%);
}
.admin-hero-blob-2{
    width:200px;height:200px;
    bottom:-80px;left:-50px;
    background:radial-gradient(circle, #5aa9ff 0%, transparent 70%);
}
.admin-hero-content{position:relative;z-index:1;max-width:760px}
.admin-hero-eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    padding:6px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    font-size:12px;letter-spacing:.4px;
    text-transform:uppercase;font-weight:600;
    color:rgba(255,255,255,.92);
}
.admin-hero-dot{
    width:8px;height:8px;border-radius:50%;
    background:#5cf2c5;
    box-shadow:0 0 0 4px rgba(92,242,197,.18);
    animation:admin-pulse 2.4s ease-in-out infinite;
}
@keyframes admin-pulse{
    0%,100%{box-shadow:0 0 0 4px rgba(92,242,197,.18)}
    50%{box-shadow:0 0 0 8px rgba(92,242,197,.04)}
}
.admin-hero-sep{opacity:.5}
.admin-hero-title{
    margin:14px 0 8px;
    font-size:30px;line-height:1.15;
    font-weight:800;letter-spacing:-.4px;
    color:#ffffff;
}
.admin-hero-subtitle{
    margin:0 0 20px;
    font-size:14.5px;line-height:1.55;
    color:rgba(255,255,255,.86);
    max-width:640px;
}
.admin-hero-subtitle strong{color:#ffffff;font-weight:700}
.admin-hero-meta{
    display:flex;align-items:center;gap:22px;
    padding:14px 18px;
    border-radius:14px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    width:fit-content;
    max-width:100%;
}
.admin-hero-meta-item{display:flex;flex-direction:column;gap:2px}
.admin-hero-meta-label{
    font-size:11px;text-transform:uppercase;letter-spacing:.6px;
    color:rgba(255,255,255,.72);font-weight:600;
}
.admin-hero-meta-value{
    font-size:18px;font-weight:800;color:#ffffff;letter-spacing:-.2px;
}
.admin-hero-meta-divider{
    width:1px;height:28px;background:rgba(255,255,255,.22);
}

.admin-stat-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
    margin:0 0 26px;
}
.admin-stat-card{
    position:relative;
    display:flex;align-items:flex-start;gap:14px;
    padding:18px 18px 16px;
    border-radius:18px;
    border:1px solid var(--border);
    background:var(--surface);
    box-shadow:0 6px 18px rgba(17,17,17,.04);
    overflow:hidden;
    transition:transform .2s ease, box-shadow .2s ease;
}
.admin-stat-card::before{
    content:"";
    position:absolute;left:0;top:0;bottom:0;width:3px;
    background:linear-gradient(180deg, currentColor 0%, transparent 100%);
    opacity:.85;
}
.admin-stat-card:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(17,17,17,.08);
}
.admin-stat-icon{
    flex:0 0 auto;
    width:46px;height:46px;
    display:flex;align-items:center;justify-content:center;
    border-radius:14px;
    color:#ffffff;
    box-shadow:0 10px 18px rgba(12,99,166,.18);
}
.admin-stat-icon svg{width:22px;height:22px;display:block}
.admin-stat-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.admin-stat-label{
    font-size:12px;color:var(--muted);
    text-transform:uppercase;letter-spacing:.5px;font-weight:700;
}
.admin-stat-value{
    font-size:26px;font-weight:800;letter-spacing:-.4px;line-height:1.1;
    color:var(--text);
}
.admin-stat-hint{font-size:12px;color:var(--muted);line-height:1.4}

.admin-stat-tone-blue{color:#1d4ed8}
.admin-stat-tone-blue .admin-stat-icon{background:linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%)}
.admin-stat-tone-teal{color:#0f766e}
.admin-stat-tone-teal .admin-stat-icon{background:linear-gradient(135deg, #2dd4bf 0%, #0f766e 100%)}
.admin-stat-tone-violet{color:#6d28d9}
.admin-stat-tone-violet .admin-stat-icon{background:linear-gradient(135deg, #a78bfa 0%, #6d28d9 100%)}
.admin-stat-tone-amber{color:#b45309}
.admin-stat-tone-amber .admin-stat-icon{background:linear-gradient(135deg, #fbbf24 0%, #b45309 100%)}
.admin-stat-tone-rose{color:#be123c}
.admin-stat-tone-rose .admin-stat-icon{background:linear-gradient(135deg, #fb7185 0%, #be123c 100%)}
.admin-stat-tone-slate{color:#334155}
.admin-stat-tone-slate .admin-stat-icon{background:linear-gradient(135deg, #64748b 0%, #1e293b 100%)}

.admin-section{margin:0 0 24px}
.admin-section-head{margin:0 0 12px}
.admin-section-head-row{
    display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
}
.admin-section-title{
    margin:0 0 4px;
    font-size:18px;font-weight:800;letter-spacing:-.2px;
    color:var(--text);
    position:relative;padding-left:14px;
}
.admin-section-title::before{
    content:"";
    position:absolute;left:0;top:4px;bottom:4px;width:4px;
    border-radius:4px;
    background:linear-gradient(180deg, #66c1bf 0%, #0c63a6 100%);
}
.admin-section-subtitle{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.admin-section-link{
    display:inline-flex;align-items:center;gap:6px;
    font-size:13px;font-weight:700;
    color:#0c63a6;text-decoration:none;
    padding:8px 12px;border-radius:10px;
    background:color-mix(in srgb, #0c63a6 8%, var(--surface) 92%);
    border:1px solid color-mix(in srgb, #0c63a6 18%, var(--border) 82%);
    transition:background .15s ease, color .15s ease;
}
.admin-section-link svg{width:14px;height:14px}
.admin-section-link:hover{background:#0c63a6;color:#ffffff;border-color:#0c63a6}

.admin-quick-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
}
.admin-quick-card{
    position:relative;
    display:flex;align-items:center;gap:14px;
    padding:16px 16px;
    border-radius:16px;
    border:1px solid var(--border);
    background:var(--surface);
    text-decoration:none;color:var(--text);
    box-shadow:0 4px 14px rgba(17,17,17,.04);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    overflow:hidden;
}
.admin-quick-card::after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(135deg, color-mix(in srgb, currentColor 6%, transparent 94%) 0%, transparent 60%);
    pointer-events:none;opacity:0;transition:opacity .2s ease;
}
.admin-quick-card:hover{
    transform:translateY(-2px);
    border-color:color-mix(in srgb, currentColor 35%, var(--border) 65%);
    box-shadow:0 14px 26px rgba(17,17,17,.10);
}
.admin-quick-card:hover::after{opacity:1}
.admin-quick-icon{
    flex:0 0 auto;
    width:42px;height:42px;
    display:flex;align-items:center;justify-content:center;
    border-radius:12px;
    color:#ffffff;
    box-shadow:0 8px 16px rgba(12,99,166,.16);
}
.admin-quick-icon svg{width:20px;height:20px;display:block}
.admin-quick-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.admin-quick-label{font-size:14px;font-weight:800;letter-spacing:-.1px}
.admin-quick-desc{font-size:12px;color:var(--muted);line-height:1.4}
.admin-quick-arrow{
    flex:0 0 auto;
    color:color-mix(in srgb, currentColor 75%, var(--muted) 25%);
    transition:transform .2s ease, color .2s ease;
}
.admin-quick-arrow svg{width:16px;height:16px;display:block}
.admin-quick-card:hover .admin-quick-arrow{transform:translateX(3px);color:currentColor}

.admin-quick-tone-blue{color:#1d4ed8}
.admin-quick-tone-blue .admin-quick-icon{background:linear-gradient(135deg, #60a5fa 0%, #1d4ed8 100%)}
.admin-quick-tone-teal{color:#0f766e}
.admin-quick-tone-teal .admin-quick-icon{background:linear-gradient(135deg, #5eead4 0%, #0f766e 100%)}
.admin-quick-tone-violet{color:#6d28d9}
.admin-quick-tone-violet .admin-quick-icon{background:linear-gradient(135deg, #c4b5fd 0%, #6d28d9 100%)}
.admin-quick-tone-amber{color:#b45309}
.admin-quick-tone-amber .admin-quick-icon{background:linear-gradient(135deg, #fcd34d 0%, #b45309 100%)}
.admin-quick-tone-rose{color:#be123c}
.admin-quick-tone-rose .admin-quick-icon{background:linear-gradient(135deg, #fda4af 0%, #be123c 100%)}
.admin-quick-tone-slate{color:#334155}
.admin-quick-tone-slate .admin-quick-icon{background:linear-gradient(135deg, #94a3b8 0%, #1e293b 100%)}

.admin-events-card{
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--surface);
    box-shadow:0 6px 18px rgba(17,17,17,.04);
    overflow:hidden;
}
.admin-events-list{
    list-style:none;margin:0;padding:0;
}
.admin-event{
    display:flex;align-items:center;gap:14px;
    padding:14px 18px;
    border-bottom:1px solid var(--border);
    transition:background .15s ease;
}
.admin-event:last-child{border-bottom:none}
.admin-event:hover{background:color-mix(in srgb, var(--panel) 60%, var(--surface) 40%)}
.admin-event-avatar{
    flex:0 0 auto;
    width:38px;height:38px;
    display:flex;align-items:center;justify-content:center;
    border-radius:12px;
    color:#ffffff;
    font-size:12px;font-weight:800;letter-spacing:.4px;
    box-shadow:0 6px 12px rgba(12,99,166,.14);
}
.admin-event-avatar-blue{background:linear-gradient(135deg, #60a5fa 0%, #1d4ed8 100%)}
.admin-event-avatar-teal{background:linear-gradient(135deg, #5eead4 0%, #0f766e 100%)}
.admin-event-avatar-violet{background:linear-gradient(135deg, #c4b5fd 0%, #6d28d9 100%)}
.admin-event-avatar-amber{background:linear-gradient(135deg, #fcd34d 0%, #b45309 100%)}
.admin-event-avatar-rose{background:linear-gradient(135deg, #fda4af 0%, #be123c 100%)}
.admin-event-avatar-slate{background:linear-gradient(135deg, #94a3b8 0%, #1e293b 100%)}
.admin-event-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.admin-event-row1{
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.admin-event-user{font-size:13.5px;font-weight:700;color:var(--text)}
.admin-event-badge{
    display:inline-flex;align-items:center;
    padding:3px 9px;
    border-radius:999px;
    font-size:11px;font-weight:700;letter-spacing:.2px;
    background:color-mix(in srgb, currentColor 12%, var(--surface) 88%);
    color:currentColor;
    border:1px solid color-mix(in srgb, currentColor 22%, var(--border) 78%);
}
.admin-event-badge-blue{color:#1d4ed8}
.admin-event-badge-teal{color:#0f766e}
.admin-event-badge-violet{color:#6d28d9}
.admin-event-badge-amber{color:#b45309}
.admin-event-badge-rose{color:#be123c}
.admin-event-badge-slate{color:#475569}
.admin-event-row2{font-size:12px;color:var(--muted);line-height:1.35}
.admin-event-meta{
    flex:0 0 auto;
    display:flex;flex-direction:column;align-items:flex-end;gap:2px;
    min-width:140px;
}
.admin-event-meta-ip{
    font-family:ui-monospace, "SF Mono", Menlo, Consolas, monospace;
    font-size:11px;color:var(--muted);
    padding:2px 8px;border-radius:6px;
    background:var(--panel);
}
.admin-event-meta-date{font-size:11.5px;color:var(--muted);white-space:nowrap}
.admin-events-empty{
    padding:34px 18px;
    display:flex;flex-direction:column;align-items:center;gap:8px;
    text-align:center;
}
.admin-events-empty-icon{
    width:48px;height:48px;
    border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    background:color-mix(in srgb, #0c63a6 8%, var(--surface) 92%);
    color:#0c63a6;
}
.admin-events-empty-icon svg{width:24px;height:24px}
.admin-events-empty-title{font-size:14px;font-weight:800;color:var(--text)}
.admin-events-empty-desc{font-size:12.5px;color:var(--muted);max-width:360px}

body.theme-dark .admin-hero{
    border-color:rgba(255,255,255,.08);
    box-shadow:0 22px 44px rgba(0,0,0,.5);
}
body.theme-dark .admin-stat-card{box-shadow:0 6px 18px rgba(0,0,0,.4)}
body.theme-dark .admin-stat-card:hover{box-shadow:0 14px 28px rgba(0,0,0,.55)}
body.theme-dark .admin-quick-card{box-shadow:0 4px 14px rgba(0,0,0,.35)}
body.theme-dark .admin-quick-card:hover{box-shadow:0 14px 26px rgba(0,0,0,.5)}
body.theme-dark .admin-events-card{box-shadow:0 6px 18px rgba(0,0,0,.4)}
body.theme-dark .admin-section-link{
    background:color-mix(in srgb, #60a5fa 14%, var(--surface) 86%);
    border-color:color-mix(in srgb, #60a5fa 28%, var(--border) 72%);
    color:#93c5fd;
}
body.theme-dark .admin-section-link:hover{background:#60a5fa;color:#0b0b0c;border-color:#60a5fa}
body.theme-dark .admin-event:hover{background:rgba(255,255,255,.04)}
body.theme-dark .admin-event-meta-ip{background:rgba(255,255,255,.06)}

/* ==========================================================
   ADMIN — HEADER PREMIUM REUTILIZÁVEL
   ========================================================== */

.admin-page-header{
    display:flex;align-items:center;gap:16px;
    margin:6px 0 22px;
    padding:18px 22px;
    border:1px solid var(--border);
    border-radius:18px;
    background:
        linear-gradient(135deg, var(--surface) 0%, color-mix(in srgb, var(--surface) 88%, #0c63a6 12%) 100%);
    box-shadow:0 4px 14px rgba(17,17,17,.05);
    position:relative;overflow:hidden;
}
.admin-page-header::after{
    content:"";
    position:absolute;left:0;top:0;bottom:0;width:3px;
    background:linear-gradient(180deg, #66c1bf 0%, #0c63a6 100%);
}
.admin-page-header-icon{
    flex:0 0 auto;
    width:52px;height:52px;
    display:flex;align-items:center;justify-content:center;
    border-radius:14px;
    color:#ffffff;
    box-shadow:0 10px 18px rgba(12,99,166,.18);
}
.admin-page-header-icon svg{width:24px;height:24px;display:block}
.admin-page-header-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.admin-page-header-title{
    margin:0;
    font-size:20px;font-weight:800;letter-spacing:-.2px;
    color:var(--text);
}
.admin-page-header-subtitle{
    margin:0;
    color:var(--muted);
    font-size:13px;line-height:1.45;
}
.admin-page-header-actions{
    flex:0 0 auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;
}

.admin-page-header-icon.admin-tone-blue{background:linear-gradient(135deg, #60a5fa 0%, #1d4ed8 100%)}
.admin-page-header-icon.admin-tone-teal{background:linear-gradient(135deg, #5eead4 0%, #0f766e 100%)}
.admin-page-header-icon.admin-tone-violet{background:linear-gradient(135deg, #c4b5fd 0%, #6d28d9 100%)}
.admin-page-header-icon.admin-tone-amber{background:linear-gradient(135deg, #fcd34d 0%, #b45309 100%)}
.admin-page-header-icon.admin-tone-rose{background:linear-gradient(135deg, #fda4af 0%, #be123c 100%)}
.admin-page-header-icon.admin-tone-slate{background:linear-gradient(135deg, #94a3b8 0%, #1e293b 100%)}

/* ==========================================================
   ADMIN — CARDS E TABELAS PREMIUM
   ========================================================== */

.admin-page .card,
.admin-page-wide .card{
    border:1px solid var(--border);
    border-radius:18px;
    padding:20px;
    background:var(--surface);
    margin:0 0 16px;
    box-shadow:0 4px 14px rgba(17,17,17,.04);
    position:relative;
    overflow:hidden;
}
.admin-page .card-title,
.admin-page-wide .card-title{
    font-weight:800;font-size:14.5px;
    margin:0 0 12px;
    display:flex;align-items:center;gap:8px;
    position:relative;padding-left:12px;
    color:var(--text);
}
.admin-page .card-title::before,
.admin-page-wide .card-title::before{
    content:"";
    position:absolute;left:0;top:2px;bottom:2px;width:3px;
    border-radius:3px;
    background:linear-gradient(180deg, #66c1bf 0%, #0c63a6 100%);
}

.admin-page .table,
.admin-page-wide .table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    font-size:13.5px;
}
.admin-page .table thead th,
.admin-page-wide .table thead th{
    background:color-mix(in srgb, var(--panel) 60%, var(--surface) 40%);
    color:var(--muted);
    font-weight:700;font-size:11.5px;
    text-transform:uppercase;letter-spacing:.4px;
    padding:12px 12px;
    border-bottom:1px solid var(--border);
    text-align:left;
}
.admin-page .table tbody td,
.admin-page-wide .table tbody td{
    padding:12px 12px;
    border-bottom:1px solid var(--border);
    vertical-align:middle;
    color:var(--text);
}
.admin-page .table tbody tr,
.admin-page-wide .table tbody tr{transition:background .12s ease}
.admin-page .table tbody tr:hover,
.admin-page-wide .table tbody tr:hover{
    background:color-mix(in srgb, var(--panel) 50%, var(--surface) 50%);
}
.admin-page .table tbody tr:last-child td,
.admin-page-wide .table tbody tr:last-child td{border-bottom:none}
.admin-page .table-wrap,
.admin-page-wide .table-wrap{overflow:auto;border-radius:12px}

/* Pill (status, role, etc.) */
.admin-pill{
    display:inline-flex;align-items:center;gap:5px;
    padding:3px 9px;
    border-radius:999px;
    font-size:11px;font-weight:700;letter-spacing:.2px;
    background:color-mix(in srgb, currentColor 12%, var(--surface) 88%);
    color:currentColor;
    border:1px solid color-mix(in srgb, currentColor 22%, var(--border) 78%);
    white-space:nowrap;
}
.admin-pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.admin-pill-tone-blue{color:#1d4ed8}
.admin-pill-tone-teal{color:#0f766e}
.admin-pill-tone-violet{color:#6d28d9}
.admin-pill-tone-amber{color:#b45309}
.admin-pill-tone-rose{color:#be123c}
.admin-pill-tone-slate{color:#475569}
.admin-pill-tone-emerald{color:#047857}

/* Override do report-card para visual premium */
.admin-page .report-card,
.admin-page-wide .report-card{
    border-radius:18px;
    border:1px solid var(--border);
    background:var(--surface);
    padding:18px;
    display:flex;flex-direction:column;gap:6px;
    box-shadow:0 4px 14px rgba(17,17,17,.04);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    color:var(--text);text-decoration:none;
}
.admin-page .report-card:hover,
.admin-page-wide .report-card:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 24px rgba(12,99,166,.12);
    border-color:rgba(12,99,166,.28);
}
.admin-page .report-card.active,
.admin-page-wide .report-card.active{
    border-color:rgba(12,99,166,.40);
    background:
        linear-gradient(var(--surface), var(--surface)) padding-box,
        linear-gradient(135deg, #66c1bf 0%, #0c63a6 100%) border-box;
    border:1px solid transparent;
    box-shadow:0 12px 24px rgba(12,99,166,.16);
}
.admin-page .report-card strong,
.admin-page-wide .report-card strong{font-size:15px;font-weight:800}
.admin-page .report-card span,
.admin-page-wide .report-card span{color:var(--muted);font-size:12.5px;line-height:1.45}

/* Melhoria no .admin-header (h1+p) para consistência quando não há page-header */
.admin-page .admin-header,
.admin-page-wide .admin-header{margin:0 0 18px}
.admin-page .admin-header h1,
.admin-page-wide .admin-header h1{margin:0 0 4px;font-size:20px;font-weight:800;letter-spacing:-.2px}
.admin-page .admin-header p,
.admin-page-wide .admin-header p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}

/* Toolbar de ações (filtros, botões) */
.admin-toolbar{
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    margin:0 0 16px;
}

/* dev-box / alert info refinado */
.admin-page .dev-box,
.admin-page-wide .dev-box{
    background:color-mix(in srgb, #0c63a6 6%, var(--surface) 94%);
    border:1px dashed color-mix(in srgb, #0c63a6 22%, var(--border) 78%);
    border-radius:14px;
}
.admin-page .dev-title,
.admin-page-wide .dev-title{font-weight:800;font-size:12.5px;color:#0c63a6}

body.theme-dark .admin-page-header{
    background:linear-gradient(135deg, var(--surface) 0%, color-mix(in srgb, var(--surface) 78%, #1d4ed8 22%) 100%);
    box-shadow:0 4px 14px rgba(0,0,0,.4);
}
body.theme-dark .admin-page .card,
body.theme-dark .admin-page-wide .card{box-shadow:0 4px 14px rgba(0,0,0,.35)}
body.theme-dark .admin-page .table tbody tr:hover,
body.theme-dark .admin-page-wide .table tbody tr:hover{
    background:rgba(255,255,255,.04);
}
body.theme-dark .admin-page .table thead th,
body.theme-dark .admin-page-wide .table thead th{
    background:rgba(255,255,255,.04);
}
body.theme-dark .admin-page .report-card:hover,
body.theme-dark .admin-page-wide .report-card:hover{box-shadow:0 12px 24px rgba(0,0,0,.5)}
body.theme-dark .admin-page .dev-box,
body.theme-dark .admin-page-wide .dev-box{
    background:color-mix(in srgb, #60a5fa 10%, var(--surface) 90%);
    border-color:color-mix(in srgb, #60a5fa 24%, var(--border) 76%);
}
body.theme-dark .admin-page .dev-title,
body.theme-dark .admin-page-wide .dev-title{color:#93c5fd}

@media (max-width: 720px){
    .admin-page-header{flex-direction:column;align-items:flex-start;gap:12px;padding:16px 18px}
    .admin-page-header-icon{width:46px;height:46px}
    .admin-page-header-actions{width:100%}
}

/* ==========================================================
   ADMIN — PERMISSÕES POR USUÁRIO
   ========================================================== */

.admin-perm-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
}
.admin-perm-check{
    display:flex;flex-direction:column;gap:4px;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface);
    cursor:pointer;
    transition:border-color .15s ease, background .15s ease, transform .15s ease;
}
.admin-perm-check:hover{
    border-color:color-mix(in srgb, #0c63a6 35%, var(--border) 65%);
    background:color-mix(in srgb, #0c63a6 4%, var(--surface) 96%);
}
.admin-perm-check input[type="checkbox"]{
    position:absolute;opacity:0;pointer-events:none;
}
.admin-perm-check:has(input:checked){
    border-color:#0c63a6;
    background:color-mix(in srgb, #0c63a6 10%, var(--surface) 90%);
    box-shadow:0 0 0 1px #0c63a6 inset;
}
.admin-perm-check:has(input:checked) .admin-perm-check-label::before{
    background:#0c63a6;
    border-color:#0c63a6;
    box-shadow:inset 0 0 0 2px var(--surface);
}
.admin-perm-check-label{
    position:relative;
    display:flex;align-items:center;gap:10px;
    font-size:13.5px;font-weight:800;
    color:var(--text);
    padding-left:26px;
}
.admin-perm-check-label::before{
    content:"";
    position:absolute;left:0;top:50%;transform:translateY(-50%);
    width:16px;height:16px;
    border:1.5px solid var(--border);
    border-radius:5px;
    background:var(--surface);
    transition:background .15s ease, border-color .15s ease;
}
.admin-perm-check-desc{
    font-size:11.5px;color:var(--muted);line-height:1.4;
    padding-left:26px;
}
@media (max-width: 720px){
    .admin-perm-grid{grid-template-columns:1fr}
}

.admin-access-pills{
    display:flex;flex-wrap:wrap;gap:4px;
}

.admin-access-menu{position:relative;display:inline-block}
.admin-access-menu > summary{list-style:none;cursor:pointer}
.admin-access-menu > summary::-webkit-details-marker{display:none}
.admin-access-menu[open] > summary{
    background:color-mix(in srgb, #0c63a6 16%, var(--surface) 84%);
    border-color:#0c63a6;
    color:#0c63a6;
}
.admin-access-menu-body{
    position:absolute;
    right:0;top:calc(100% + 6px);
    z-index:30;
    min-width:240px;
    padding:6px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--surface);
    box-shadow:0 16px 32px rgba(17,17,17,.14);
    display:flex;flex-direction:column;gap:4px;
}
body.theme-dark .admin-access-menu-body{box-shadow:0 16px 32px rgba(0,0,0,.5)}
.admin-access-menu-item{
    display:flex;align-items:center;gap:8px;
    width:100%;
    padding:8px 10px;
    border:none;background:transparent;cursor:pointer;
    border-radius:10px;
    font-size:13px;color:var(--text);
    text-align:left;
    transition:background .12s ease;
}
.admin-access-menu-item:hover{background:var(--panel)}
.admin-access-menu-dot{
    width:8px;height:8px;border-radius:50%;
    background:var(--border);
    flex:0 0 auto;
}
.admin-access-menu-item.is-on .admin-access-menu-dot{background:#0c63a6;box-shadow:0 0 0 3px color-mix(in srgb, #0c63a6 22%, transparent 78%)}
.admin-access-menu-label{flex:1;font-weight:700}
.admin-access-menu-state{
    font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;
    color:var(--muted);
}
.admin-access-menu-item.is-on .admin-access-menu-state{color:#0c63a6}
body.theme-dark .admin-access-menu-item.is-on .admin-access-menu-state{color:#93c5fd}

body.sidebar-collapsed .sidebar{
    width:72px;
    flex:0 0 72px;
}
body.sidebar-collapsed .sidebar-top{
    justify-content:center;
    padding:10px;
}
body.sidebar-collapsed .sidebar-brand{display:none}
body.sidebar-collapsed .sidebar-actions{
    flex-direction:column;
    gap:10px;
}
body.sidebar-collapsed .sidebar-nav{padding:0 10px 12px}
body.sidebar-collapsed .nav-item{
    justify-content:center;
    padding:10px;
}
body.sidebar-collapsed .sidebar-brand .brand-name,
body.sidebar-collapsed .sidebar-search,
body.sidebar-collapsed .sidebar-nav span,
body.sidebar-collapsed .group-title,
body.sidebar-collapsed .pinned-name,
body.sidebar-collapsed .pinned-caret,
body.sidebar-collapsed .chat-title,
body.sidebar-collapsed .chat-menu-btn,
body.sidebar-collapsed .sidebar-user .user-meta,
body.sidebar-collapsed .sidebar-version,
body.sidebar-collapsed .sidebar-link{
    display:none;
}
body.sidebar-collapsed .chat-list{padding:8px 6px}
body.sidebar-collapsed .chat-row{justify-content:center}
body.sidebar-collapsed .chat-item{justify-content:center}
body.sidebar-collapsed .chat-dot{opacity:.35}
body.sidebar-collapsed .sidebar-bottom{padding:12px}
body.sidebar-collapsed .sidebar-user{
    justify-content:center;
    padding:0;
    background:transparent;
    border:none;
    border-radius:0;
}
body.sidebar-collapsed .sidebar-user-btn{
    width:auto;
    justify-content:center;
}
body.sidebar-collapsed .sidebar-user-btn:focus-visible{
    box-shadow:none;
}
body.sidebar-collapsed .projects-panel{display:none !important}
body.sidebar-collapsed .history-panel{display:none !important}
body.sidebar-collapsed .received-panel{display:none !important}

.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;border:1px solid transparent}
.badge-success{background:#eaf8ef;color:#0f8a3c;border-color:rgba(15,138,60,.25)}
.badge-danger{background:#fdecec;color:#b42318;border-color:rgba(180,35,24,.25)}
.badge-info{background:#eef4ff;color:#1d4ed8;border-color:rgba(29,78,216,.25)}
.badge-neutral{background:#f1f1f3;color:#3f3f46;border-color:rgba(63,63,70,.25)}
body.theme-dark .badge-success{background:rgba(32,110,61,.22);color:#79e2a0;border-color:rgba(121,226,160,.28)}
body.theme-dark .badge-danger{background:rgba(180,35,24,.18);color:#ffb4ab;border-color:rgba(255,111,99,.32)}
body.theme-dark .badge-info{background:rgba(29,78,216,.18);color:#93b3ff;border-color:rgba(59,130,246,.32)}
body.theme-dark .badge-neutral{background:#1f1f22;color:#d1d5db;border-color:rgba(113,113,122,.32)}

.ata-tab{border:1px solid transparent;background:transparent;color:var(--muted)}
.ata-tab.is-active{background:var(--surface);color:var(--text);border-color:var(--border)}
.ata-tab:hover{color:var(--text)}

.mcr-history-item{gap:8px;cursor:default}
.mcr-history-item:hover{border-color:var(--border)}
.mcr-relatorio-panel{display:flex;align-items:flex-start;justify-content:center;padding:22px 18px;min-height:calc(100% - 8px)}
.mcr-relatorio-placeholder{display:flex;flex-direction:column;gap:14px;align-items:center;max-width:520px;padding:22px 18px;border:1px dashed var(--border);border-radius:14px;background:var(--surface);color:var(--text);width:100%}
.mcr-relatorio-icon{color:var(--brand);opacity:.88}
.mcr-relatorio-title{font-size:18px;font-weight:700;color:var(--text);letter-spacing:.2px}
.mcr-relatorio-subtitle{font-size:13px;color:var(--muted);text-align:center;line-height:1.5}
.mcr-relatorio-coming-soon{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid rgba(59,130,246,.35);background:rgba(59,130,246,.1);color:#2563eb;font-size:12px;font-weight:700}
body.theme-dark .mcr-relatorio-coming-soon{color:#93c5fd;border-color:rgba(96,165,250,.45);background:rgba(59,130,246,.18)}
.mcr-relatorio-tips{width:100%;margin-top:4px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}
.mcr-relatorio-tip-title{font-size:12px;font-weight:700;color:var(--text);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}
.mcr-relatorio-tips ul{margin:0;padding:0 0 0 18px;list-style:disc;color:var(--muted);font-size:13px;line-height:1.7}
.mcr-relatorio-tips ul li::marker{color:var(--brand)}
.mcr-history-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;margin:0 0 6px;border:1px solid var(--border);background:var(--surface);border-radius:10px}
.mcr-history-header-title{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text)}
.mcr-history-clear-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:12px;font-weight:600;line-height:1;cursor:pointer;transition:all .18s ease}
.mcr-history-clear-btn:hover{color:#b42318;border-color:rgba(180,35,24,.35);background:rgba(180,35,24,.06)}
body.theme-dark .mcr-history-clear-btn:hover{color:#ffb4ab;border-color:rgba(255,111,99,.32);background:rgba(180,35,24,.18)}
.mcr-history-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mcr-history-head-actions{display:inline-flex;align-items:center;gap:6px}
.mcr-history-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:transparent;color:var(--muted);border-radius:6px;cursor:pointer;flex:0 0 auto;transition:all .18s ease}
.mcr-history-remove-btn:hover{color:#b42318;background:rgba(180,35,24,.08)}
body.theme-dark .mcr-history-remove-btn:hover{color:#ffb4ab;background:rgba(180,35,24,.18)}
.mcr-history-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;line-height:1;white-space:nowrap;border:1px solid transparent}
.mcr-history-action--create .mcr-history-badge{background:#eaf8ef;color:#0f8a3c;border-color:rgba(15,138,60,.22)}
body.theme-dark .mcr-history-action--create .mcr-history-badge{background:rgba(32,110,61,.2);color:#79e2a0;border-color:rgba(121,226,160,.28)}
.mcr-history-action--update .mcr-history-badge{background:#eef4ff;color:#1d4ed8;border-color:rgba(29,78,216,.22)}
body.theme-dark .mcr-history-action--update .mcr-history-badge{background:rgba(29,78,216,.18);color:#93b3ff;border-color:rgba(59,130,246,.32)}
.mcr-history-action--activate .mcr-history-badge{background:#fff7e6;color:#b45309;border-color:rgba(180,83,9,.22)}
body.theme-dark .mcr-history-action--activate .mcr-history-badge{background:rgba(180,83,9,.18);color:#fbbf24;border-color:rgba(251,191,36,.32)}
.mcr-history-action--deactivate .mcr-history-badge{background:#fef3c7;color:#92400e;border-color:rgba(146,64,14,.22)}
body.theme-dark .mcr-history-action--deactivate .mcr-history-badge{background:rgba(146,64,14,.18);color:#fcd34d;border-color:rgba(252,211,77,.32)}
.mcr-history-action--delete .mcr-history-badge{background:#fdecec;color:#b42318;border-color:rgba(180,35,24,.22)}
body.theme-dark .mcr-history-action--delete .mcr-history-badge{background:rgba(180,35,24,.18);color:#ffb4ab;border-color:rgba(255,111,99,.32)}
.mcr-history-empresa{margin:2px 0 0}
.mcr-history-meta{font-size:12px;color:var(--muted);line-height:1.4}
.mcr-history-date{flex:0 0 auto;white-space:nowrap}

.chat-attach-bar{
  display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px 2px;margin:0 14px 0;
  background:linear-gradient(180deg,var(--surface),rgba(255,255,255,0));
  border:1px solid var(--border);border-bottom:none;border-radius:14px 14px 0 0;
  transition:all .2s ease;
}
.chat-attach-bar:empty{display:none;padding:0;border:none;margin:0}
.chat-attach-chip{
  display:inline-flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;
  border-radius:12px;border:1px solid var(--border);background:var(--surface);
  font-size:12.5px;font-weight:500;color:var(--text);line-height:1.15;
  max-width:calc(100% - 4px);box-shadow:0 1px 2px rgba(16,24,40,.04);
  position:relative;transition:all .18s ease;
}
.chat-attach-chip:hover{border-color:rgba(99,102,241,.4);transform:translateY(-1px)}
.chat-attach-chip.is-error{
  background:rgba(180,35,24,.06);border-color:rgba(180,35,24,.3);color:#b42318;
}
.chat-attach-chip.is-uploading{opacity:.8;pointer-events:none}
.chat-attach-ext{
  display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:22px;
  padding:0 7px;border-radius:7px;font-weight:800;font-size:10px;letter-spacing:.2px;
  background:rgba(255,255,255,.6);border:1px solid rgba(16,24,40,.08);color:var(--text);
}
body.theme-dark .chat-attach-ext{background:rgba(16,18,27,.45);border-color:rgba(255,255,255,.08)}
.chat-attach-ext--pdf{background:#fef3f2;color:#b42318;border-color:rgba(180,35,24,.2)}
body.theme-dark .chat-attach-ext--pdf{background:rgba(180,35,24,.16);color:#ffb4ab;border-color:rgba(255,111,99,.32)}
.chat-attach-ext--doc{background:#eff8ff;color:#175cd3;border-color:rgba(23,92,211,.22)}
body.theme-dark .chat-attach-ext--doc{background:rgba(23,92,211,.16);color:#93c5fd;border-color:rgba(59,130,246,.32)}
.chat-attach-ext--sheet{background:#ecfdf3;color:#027a48;border-color:rgba(2,122,72,.22)}
body.theme-dark .chat-attach-ext--sheet{background:rgba(2,122,72,.16);color:#79e2a0;border-color:rgba(121,226,160,.32)}
.chat-attach-ext--slide{background:#fff7ed;color:#c4320a;border-color:rgba(196,50,10,.22)}
body.theme-dark .chat-attach-ext--slide{background:rgba(196,50,10,.16);color:#fed7aa;border-color:rgba(249,115,22,.32)}
.chat-attach-ext--image{background:#faf5ff;color:#6941c6;border-color:rgba(105,65,198,.22)}
body.theme-dark .chat-attach-ext--image{background:rgba(105,65,198,.16);color:#d8b4fe;border-color:rgba(168,85,247,.32)}
.chat-attach-ext--archive{background:#f6f8fa;color:#475467;border-color:rgba(71,84,103,.22)}
body.theme-dark .chat-attach-ext--archive{background:rgba(71,84,103,.16);color:#d0d5dd;border-color:rgba(148,163,184,.32)}
.chat-attach-ext--code{background:#f0f4ff;color:#3538cd;border-color:rgba(53,56,205,.22)}
body.theme-dark .chat-attach-ext--code{background:rgba(53,56,205,.16);color:#c7d2fe;border-color:rgba(99,102,241,.32)}
.chat-attach-ext-pdf{background:#fef3f2;color:#b42318;border-color:rgba(180,35,24,.2)}
body.theme-dark .chat-attach-ext-pdf{background:rgba(180,35,24,.16);color:#ffb4ab;border-color:rgba(255,111,99,.32)}
.chat-attach-ext-xlsx{background:#ecfdf3;color:#027a48;border-color:rgba(2,122,72,.22)}
body.theme-dark .chat-attach-ext-xlsx{background:rgba(2,122,72,.16);color:#79e2a0;border-color:rgba(121,226,160,.32)}
.chat-attach-ext-docx{background:#eff8ff;color:#175cd3;border-color:rgba(23,92,211,.22)}
body.theme-dark .chat-attach-ext-docx{background:rgba(23,92,211,.16);color:#93c5fd;border-color:rgba(59,130,246,.32)}
.chat-attach-ext-ppt{background:#fff7ed;color:#c4320a;border-color:rgba(196,50,10,.22)}
body.theme-dark .chat-attach-ext-ppt{background:rgba(196,50,10,.16);color:#fed7aa;border-color:rgba(249,115,22,.32)}
.chat-attach-ext-img{background:#faf5ff;color:#6941c6;border-color:rgba(105,65,198,.22)}
body.theme-dark .chat-attach-ext-img{background:rgba(105,65,198,.16);color:#d8b4fe;border-color:rgba(168,85,247,.32)}
.chat-attach-ext-zip{background:#f6f8fa;color:#475467;border-color:rgba(71,84,103,.22)}
body.theme-dark .chat-attach-ext-zip{background:rgba(71,84,103,.16);color:#d0d5dd;border-color:rgba(148,163,184,.32)}
.chat-attach-ext-default{background:#f0f4ff;color:#3538cd;border-color:rgba(53,56,205,.22)}
body.theme-dark .chat-attach-ext-default{background:rgba(53,56,205,.16);color:#c7d2fe;border-color:rgba(99,102,241,.32)}
.composer.chat-attach-drop-active,
.composer-inner.chat-attach-drop-active{
  border-color:rgba(99,102,241,.55) !important;
  background:linear-gradient(180deg, rgba(99,102,241,.06), var(--surface));
  box-shadow:inset 0 0 0 1px rgba(99,102,241,.25);
}
.chat-scroll.chat-attach-drop-active{
  outline:2px dashed rgba(99,102,241,.5);
  outline-offset:-8px;
  background:linear-gradient(180deg, rgba(99,102,241,.04), transparent);
  border-radius:20px;
}
.chat-attach-meta{display:flex;flex-direction:column;min-width:0;gap:1px}
.chat-attach-name{
  max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-weight:600;line-height:1.2;
}
.chat-attach-size{font-size:10.5px;opacity:.72;letter-spacing:.1px;font-weight:500}
.chat-attach-remove{
  display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;
  border:1px solid transparent;background:transparent;color:var(--muted);border-radius:7px;
  cursor:pointer;flex:0 0 auto;transition:all .18s ease;
}
.chat-attach-remove:hover{
  color:#b42318;background:rgba(180,35,24,.08);border-color:rgba(180,35,24,.2);
}
body.theme-dark .chat-attach-remove:hover{
  color:#ffb4ab;background:rgba(180,35,24,.16);border-color:rgba(255,111,99,.32);
}
.chat-attach-chip.is-error .chat-attach-remove{color:#b42318}
.chat-attach-err{
  display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;
  color:#b42318;padding:1px 6px;border-radius:6px;
  background:rgba(180,35,24,.08);border:1px solid rgba(180,35,24,.22);
}
body.theme-dark .chat-attach-err{
  color:#ffb4ab;background:rgba(180,35,24,.18);border-color:rgba(255,111,99,.35);
}
.chat-attach-error-txt{
  display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;
  color:#b42318;padding:1px 7px;border-radius:6px;
  background:rgba(180,35,24,.08);border:1px solid rgba(180,35,24,.2);
}
body.theme-dark .chat-attach-error-txt{
  color:#ffb4ab;background:rgba(180,35,24,.16);border-color:rgba(255,111,99,.32);
}

.msg-attachments{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.msg-file-chip{
  display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;
  border:1px solid;text-decoration:none;font-size:12.5px;font-weight:500;
  background:var(--surface);border-color:var(--border);color:var(--text);
  transition:all .18s ease;box-shadow:0 1px 2px rgba(16,24,40,.04);
}
.msg-file-chip:hover{transform:translateY(-1px);filter:brightness(.98)}
.msg-file-chip .mf-ext{
  padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.65);
  font-weight:800;font-size:10.5px;letter-spacing:.2px;border:1px solid rgba(16,24,40,.08);
}
body.theme-dark .msg-file-chip .mf-ext{background:rgba(16,18,27,.45);border-color:rgba(255,255,255,.08)}
.msg-file-chip .mf-name{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-file-chip .mf-size{opacity:.74;font-size:11px;font-weight:500}
.msg-file-chip.is-pdf{background:#fef3f2;color:#b42318;border-color:rgba(180,35,24,.2)}
.msg-file-chip.is-doc{background:#eff8ff;color:#175cd3;border-color:rgba(23,92,211,.22)}
.msg-file-chip.is-sheet{background:#ecfdf3;color:#027a48;border-color:rgba(2,122,72,.22)}
.msg-file-chip.is-slide{background:#fff7ed;color:#c4320a;border-color:rgba(196,50,10,.22)}
.msg-file-chip.is-image{background:#faf5ff;color:#6941c6;border-color:rgba(105,65,198,.22)}
.msg-file-chip.is-archive{background:#f6f8fa;color:#475467;border-color:rgba(71,84,103,.22)}
.msg-file-chip.is-code{background:#f0f4ff;color:#3538cd;border-color:rgba(53,56,205,.22)}

#chatAttachBtn{
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(59,130,246,.08));
  color:var(--brand);border:1px solid rgba(99,102,241,.22);
  border-radius:10px;transition:all .2s ease;
}
#chatAttachBtn:hover{
  background:linear-gradient(135deg,rgba(99,102,241,.16),rgba(59,130,246,.12));
  border-color:rgba(99,102,241,.38);transform:translateY(-1px);
  box-shadow:0 3px 10px rgba(99,102,241,.18);
}
#chatAttachBtn:active{transform:translateY(0)}
#chatAttachBtn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
body.theme-dark #chatAttachBtn{
  background:linear-gradient(135deg,rgba(99,102,241,.2),rgba(59,130,246,.14));
  color:#c7d2fe;border-color:rgba(99,102,241,.38);
}

.chat-scroll-wrap{position:relative}
.chat-attach-drop-overlay{
  position:absolute;inset:8px;border-radius:22px;pointer-events:none;
  border:2px dashed rgba(99,102,241,.5);background:rgba(99,102,241,.05);
  display:flex;align-items:center;justify-content:center;gap:12px;
  color:var(--brand);font-weight:600;font-size:14px;letter-spacing:.2px;
  backdrop-filter:blur(2px);z-index:90;opacity:0;transition:opacity .18s ease;
}
.chat-scroll-wrap.is-dragging .chat-attach-drop-overlay{opacity:1}
.chat-attach-drop-overlay svg{flex:0 0 auto}
.chat-attach-drop-overlay strong{font-size:15px}
.chat-attach-drop-overlay small{font-weight:500;opacity:.78;font-size:12px;display:block;margin-top:2px}

