:root{
    --ink:#07141b;
    --muted:#667985;
    --bg:#f4f8f9;
    --card:#fff;
    --line:#dce7e9;
    --teal:#00b3ab;
    --teal2:#00d0c6;
    --navy:#06131b;
    --danger:#b83a3a;
    --shadow:0 18px 45px rgba(7,20,27,.08)
}
*{
    box-sizing:border-box
}
body{
    margin:0;
    font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
    color:var(--ink);
    background:var(--bg)
}
a{
    text-decoration:none;
    color:inherit
}
.topbar{
    position:fixed;
    z-index:30;
    top:0;
    left:0;
    right:0;
    height:76px;
    background:rgba(6,19,27,.96);
    backdrop-filter:blur(12px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 24px;
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.08)
}
.brand{
    display:flex;
    align-items:center;
    gap:12px
}
.brand span:last-child{
    display:flex;
    flex-direction:column
}
.brand small{
    font-size:11px;
    color:#8db0bb
}
.brand-mark{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid rgba(0,208,198,.55);
    border-radius:14px;
    background:linear-gradient(145deg,#0a2430,#003c41);
    color:#21e6db;
    font-weight:900;
    box-shadow:inset 0 0 25px rgba(0,208,198,.14)
}
.brand-mark.big{
    width:72px;
    height:72px;
    border-radius:22px;
    font-size:30px
}
.top-actions{
    display:flex;
    align-items:center;
    gap:10px
}
.sidebar{
    position:fixed;
    top:76px;
    bottom:0;
    left:0;
    width:250px;
    background:#091a23;
    color:#dce9ed;
    padding:24px 14px;
    display:flex;
    flex-direction:column;
    justify-content:space-between
}
.sidebar nav{
    display:grid;
    gap:6px
}
.sidebar nav a{
    padding:12px 14px;
    border-radius:12px
}
.sidebar nav a:hover{
    background:#102a35;
    color:#23dace
}
.sidebar-note{
    border:1px solid #173843;
    background:#0c222c;
    padding:16px;
    border-radius:16px;
    display:grid;
    gap:8px
}
.sidebar-note span{
    font-size:12px;
    color:#8facb5
}
.main{
    padding:30px;
    max-width:1500px;
    margin:0 auto
}
.main.with-sidebar{
    margin:76px 0 0 250px;
    max-width:none
}
.hero{
    min-height:280px;
    background:radial-gradient(circle at 90% 20%,rgba(0,208,198,.2),transparent 25%),linear-gradient(135deg,#071923,#0b3137);
    border-radius:28px;
    padding:44px;
    color:white;
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:25px;
    box-shadow:var(--shadow)
}
.hero h1{
    font-size:42px;
    line-height:1.05;
    margin:8px 0 12px
}
.hero p{
    max-width:760px;
    color:#bed2d7;
    font-size:18px
}
.eyebrow{
    font-size:11px;
    letter-spacing:.16em;
    color:#00c8bd;
    font-weight:800
}
.primary,.ghost,.icon-btn{
    appearance:none;
    border:0;
    border-radius:12px;
    padding:12px 16px;
    font-weight:800;
    cursor:pointer
}
.primary{
    background:linear-gradient(135deg,var(--teal),var(--teal2));
    color:#042126;
    box-shadow:0 10px 24px rgba(0,179,171,.2)
}
.ghost{
    border:1px solid #bcd0d4;
    background:transparent
}
.ghost.light{
    color:#fff;
    border-color:rgba(255,255,255,.3)
}
.icon-btn{
    background:#102a35;
    color:white;
    padding:10px
}
.wide{
    width:100%
}
.metrics{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin:20px 0
}
.metrics article,.panel,.list-card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow)
}
.metrics article{
    padding:22px
}
.metrics span,.metrics small{
    display:block;
    color:var(--muted)
}
.metrics strong{
    font-size:36px
}
.dashboard-grid,.detail-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:20px
}
.panel{
    padding:24px
}
.panel h2{
    margin-top:0
}
.panel.accent,.ai-panel{
    background:linear-gradient(145deg,#06363b,#0a242e);
    color:white
}
.panel.accent p,.ai-panel p{
    color:#c3d7dc
}
.flow{
    display:grid;
    gap:12px
}
.flow div{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:12px
}
.flow b{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#e5faf8;
    color:#007d77
}
.page-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px
}
.page-head h1{
    font-size:34px;
    margin:5px 0
}
.page-head p{
    color:var(--muted)
}
.form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px
}
.form-grid .span-2{
    grid-column:span 2
}
label{
    display:grid;
    gap:7px;
    font-weight:700
}
input,select,textarea{
    width:100%;
    border:1px solid #c9d9dc;
    background:#fbfdfd;
    border-radius:12px;
    padding:12px 13px;
    font:inherit;
    color:var(--ink);
    outline:none
}
input:focus,select:focus,textarea:focus{
    border-color:var(--teal);
    box-shadow:0 0 0 3px rgba(0,179,171,.12)
}
.inspection-form{
    display:grid;
    gap:18px
}
.capture-box{
    border:1.5px dashed #8fc9c6;
    background:#f0fbfa;
    border-radius:16px;
    padding:24px;
    text-align:center;
    margin-bottom:18px
}
.capture-box input{
    position:absolute;
    opacity:0;
    pointer-events:none
}
.capture-box label{
    display:inline-block;
    background:#09212a;
    color:white;
    padding:12px 18px;
    border-radius:12px;
    cursor:pointer
}
.capture-box small{
    display:block;
    margin-top:8px;
    color:var(--muted)
}
.sticky-save{
    position:sticky;
    bottom:16px;
    display:flex;
    justify-content:flex-end;
    z-index:10
}
.big-btn{
    font-size:16px;
    padding:15px 22px
}
.cards-list{
    display:grid;
    gap:12px
}
.list-card{
    padding:17px 20px;
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:center
}
.list-card div{
    display:grid;
    gap:3px
}
.list-card span,.list-card small{
    color:var(--muted)
}
.interactive:hover{
    transform:translateY(-1px);
    border-color:#9ed6d2
}
.badge{
    display:inline-flex!important;
    width:max-content;
    color:#0b6965!important;
    background:#e1f8f5;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800
}
.badge.warning{
    background:#fff3d8;
    color:#8b6200!important
}
.alert{
    padding:12px 14px;
    border-radius:12px;
    margin:0 0 18px
}
.alert.success{
    background:#dcf8ee;
    color:#0a6a4d
}
.alert.error{
    background:#fde9e9;
    color:#962d2d
}
.details{
    display:grid;
    grid-template-columns:150px 1fr;
    gap:10px 18px
}
.details dt{
    color:var(--muted);
    font-weight:700
}
.details dd{
    margin:0
}
.evidence-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
    gap:14px
}
.evidence-grid article{
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden
}
.evidence-grid img,.evidence-grid video{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    background:#0a1d25
}
.evidence-grid audio{
    width:100%;
    margin:20px 0
}
.evidence-grid small{
    display:block;
    padding:8px
}
.ai-panel pre{
    white-space:pre-wrap;
    font-size:12px;
    background:#061820;
    padding:12px;
    border-radius:12px;
    max-height:420px;
    overflow:auto
}
.login-body{
    min-height:100vh;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    background:#06131b
}
.login-visual{
    display:grid;
    place-items:center;
    padding:40px;
    background:radial-gradient(circle at 35% 35%,rgba(0,208,198,.18),transparent 28%),linear-gradient(145deg,#071923,#092b35);
    color:white
}
.login-copy{
    max-width:650px
}
.login-copy h1{
    font-size:56px;
    margin:18px 0 0
}
.login-copy p{
    font-size:22px;
    color:#b5ccd2
}
.pulse-grid{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:26px
}
.pulse-grid span{
    border:1px solid rgba(0,208,198,.25);
    background:rgba(0,208,198,.08);
    padding:8px 12px;
    border-radius:999px
}
.login-panel{
    display:grid;
    place-items:center;
    background:#f6f9fa;
    padding:30px
}
.login-card{
    width:min(420px,100%);
    background:white;
    border:1px solid var(--line);
    padding:30px;
    border-radius:24px;
    box-shadow:var(--shadow);
    display:grid;
    gap:18px
}
.login-card h2{
    margin:0
}
.login-card p,.login-card small{
    color:var(--muted)
}
.report-actions{
    margin-bottom:12px
}
.report-sheet{
    background:#fff;
    border:1px solid var(--line);
    padding:28px;
    border-radius:16px
}
.report-sheet header{
    display:flex;
    justify-content:space-between;
    margin-bottom:20px
}
.report-sheet header div{
    display:grid
}
.report-sheet table{
    width:100%;
    border-collapse:collapse;
    font-size:12px
}
.report-sheet th,.report-sheet td{
    border:1px solid #9fb2b7;
    padding:8px;
    vertical-align:top
}
.report-sheet th{
    background:#e9f5f4
}
.report-sheet footer{
    margin-top:20px;
    color:var(--muted);
    font-size:11px
}
.ai-report{
    margin-top:18px;
    padding:14px;
    border-left:4px solid var(--teal);
    background:#f4fbfa
}
@media(max-width:900px){
    .sidebar{
        display:none
    }
    .main.with-sidebar{
        margin:76px 0 0
    }
    .main{
        padding:18px
    }
    .metrics,.dashboard-grid,.detail-grid{
        grid-template-columns:1fr
    }
    .hero{
        padding:28px;
        min-height:250px;
        align-items:start;
        flex-direction:column
    }
    .hero h1{
        font-size:34px
    }
    .form-grid{
        grid-template-columns:1fr
    }
    .form-grid .span-2{
        grid-column:span 1
    }
    .login-body{
        grid-template-columns:1fr
    }
    .login-visual{
        display:none
    }
    .topbar{
        padding:0 14px
    }
    .brand small,.user-chip{
        display:none
    }
    .page-head{
        align-items:start;
        flex-direction:column
    }
    .details{
        grid-template-columns:1fr
    }
    .details dt{
        margin-top:8px
    }
}
@media print{
    @page{
        size:A4 landscape;
        margin:8mm
    }
    .topbar,.sidebar,.report-actions{
        display:none!important
    }
    .main.with-sidebar,.main{
        margin:0;
        padding:0
    }
    .report-sheet{
        border:0;
        padding:0
    }
    .report-sheet table{
        font-size:9px
    }
    .report-sheet th,.report-sheet td{
        padding:5px
    }
}
/* Administração evoluída — mantém identidade visual original */
.topbar{
    background:var(--topbar-custom,#06131b)
}
.sidebar{
    background:var(--sidebar-custom,#091a23)
}
.brand-logo{
    width:44px;
    height:44px;
    object-fit:contain;
    border-radius:10px;
    background:#fff;
    padding:3px
}
.user-chip{
    display:flex;
    flex-direction:column
}
.user-chip small{
    font-size:10px;
    color:#8db0bb
}
.nav-group{
    font-size:10px;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:#64838e;
    padding:16px 14px 6px;
    font-weight:800
}
.metrics-4{
    grid-template-columns:repeat(4,1fr)
}
.mini-list{
    display:grid
}
.mini-list>a{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 0;
    border-bottom:1px solid var(--line)
}
.mini-list small,.admin-table small,.check small{
    display:block;
    color:var(--muted)
}
.flow-mini{
    display:grid;
    gap:8px;
    margin-top:18px
}
.flow-mini span{
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:10px
}
.muted{
    color:var(--muted)
}
details.admin-form summary, .role-card details summary{
    cursor:pointer;
    font-weight:800
}
.form-top{
    margin-top:20px
}
.table-wrap{
    overflow:auto;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow)
}
.admin-table{
    width:100%;
    border-collapse:collapse;
    min-width:850px
}
.admin-table th,.admin-table td{
    text-align:left;
    padding:14px 16px;
    border-bottom:1px solid var(--line);
    vertical-align:middle
}
.admin-table th{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--muted);
    background:#f8fbfb
}
.admin-table .actions{
    white-space:nowrap
}
.small{
    padding:8px 10px;
    font-size:12px;
    display:inline-block
}
.badge.danger{
    background:#fde9e9;
    color:#962d2d!important
}
.check-grid,.checks{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 16px;
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px
}
.check{
    display:flex;
    grid-template-columns:auto 1fr;
    align-items:start;
    gap:9px;
    font-weight:600
}
.check input{
    width:auto;
    margin-top:4px
}
.permission-groups{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px
}
.permission-row{
    display:grid;
    grid-template-columns:1fr 160px;
    align-items:center;
    gap:14px;
    padding:11px 0;
    border-bottom:1px solid var(--line)
}
.permission-row small{
    display:block;
    color:var(--muted)
}
.role-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px
}
.role-card{
    display:grid;
    gap:14px;
    align-self:start
}
.role-head{
    display:flex;
    justify-content:space-between
}
.role-card details{
    border-top:1px solid var(--line);
    padding-top:10px
}
.role-card .checks{
    margin-top:10px;
    grid-template-columns:1fr;
    border:0;
    padding:0
}
.filter-bar{
    display:flex;
    align-items:end;
    gap:14px;
    margin-bottom:18px
}
.filter-bar label{
    min-width:220px
}
.filter-bar button{
    height:46px
}
.logo-preview{
    padding:16px;
    border:1px dashed var(--line);
    border-radius:12px
}
.logo-preview img{
    max-height:90px;
    max-width:280px
}
.form-grid fieldset{
    min-width:0
}
@media(max-width:1100px){
    .metrics-4{
        grid-template-columns:repeat(2,1fr)
    }
    .permission-groups,.role-grid{
        grid-template-columns:1fr
    }
}
@media(max-width:700px){
    .metrics-4{
        grid-template-columns:1fr
    }
    .check-grid{
        grid-template-columns:1fr
    }
    .permission-row{
        grid-template-columns:1fr
    }
    .filter-bar{
        align-items:stretch;
        flex-direction:column
    }
    .filter-bar label{
        min-width:0;
        width:100%
    }
}
.token-once{
    border-color:#6bd7ce;
    background:#effcfb
}
.token-once code{
    display:block;
    word-break:break-all;
    padding:14px;
    background:#071923;
    color:#bff8f3;
    border-radius:10px;
    margin:12px 0;
    font-size:13px
}
/* ===== DextoCopilot UI 2026: cards, infinite scroll e AJAX ===== */
:root{
    --primary:var(--teal,#00B3AB);
    --secondary:var(--teal2,#00D0C6);
    --primary-soft:color-mix(in srgb,var(--primary) 12%,white);
    --primary-border:color-mix(in srgb,var(--primary) 30%,#dce7e9);
    --surface:#fff;
    --surface-2:#f8fbfb;
    --text-soft:#73858d;
    --danger-soft:#fff0f0
}
body{
    background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 3%,#f4f8f9),#f4f8f9 260px)
}
.page-head{
    padding-top:4px
}
.page-head h1{
    letter-spacing:-.035em
}
.head-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap
}
.smart-toolbar{
    position:sticky;
    top:90px;
    z-index:12;
    display:flex;
    gap:12px;
    align-items:center;
    background:rgba(244,248,249,.9);
    backdrop-filter:blur(14px);
    padding:10px 0 16px;
    margin-bottom:10px
}
.smart-toolbar select{
    width:auto;
    min-width:170px;
    background:white
}
.search-box{
    flex:1;
    min-width:260px;
    position:relative
}
.search-box span{
    position:absolute;
    left:15px;
    top:50%;
    transform:translateY(-50%);
    font-size:22px;
    color:var(--primary)
}
.search-box input{
    padding-left:44px;
    background:#fff;
    border-color:var(--primary-border);
    box-shadow:0 8px 22px rgba(7,20,27,.04)
}
.results-shell{
    min-height:200px
}
.results-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(380px,1fr));
    gap:16px
}
.results-grid.single-column{
    grid-template-columns:1fr
}
.result-card{
    position:relative;
    overflow:hidden;
    background:rgba(255,255,255,.98);
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:0 14px 40px rgba(7,20,27,.065);
    transition:.2s ease;
    display:grid;
    grid-template-rows:1fr auto;
    min-height:190px
}
.result-card:hover{
    transform:translateY(-2px);
    border-color:var(--primary-border);
    box-shadow:0 20px 50px color-mix(in srgb,var(--primary) 10%,rgba(7,20,27,.08))
}
.result-card.removing{
    opacity:0;
    transform:scale(.97)
}
.result-accent{
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    background:linear-gradient(180deg,var(--primary),var(--secondary))
}
.result-main{
    display:flex;
    gap:15px;
    padding:20px 20px 15px 24px;
    min-width:0
}
.result-link{
    color:inherit
}
.result-icon,.avatar-badge{
    flex:0 0 auto;
    width:48px;
    height:48px;
    border-radius:15px;
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,var(--primary-soft),color-mix(in srgb,var(--secondary) 14%,white));
    border:1px solid var(--primary-border);
    color:color-mix(in srgb,var(--primary) 78%,#05222a);
    font-size:12px;
    font-weight:900
}
.avatar-badge{
    border-radius:50%;
    font-size:18px;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#052126
}
.result-copy{
    min-width:0;
    flex:1
}
.result-title-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px
}
.result-title-row h3{
    margin:0;
    font-size:17px;
    line-height:1.3;
    letter-spacing:-.015em
}
.result-copy p{
    margin:5px 0 10px;
    color:var(--text-soft);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.result-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px
}
.result-meta span,.scope-pills span{
    font-size:11px;
    color:#56707a;
    background:#f1f6f7;
    border:1px solid #e2ecee;
    border-radius:999px;
    padding:4px 8px
}
.status-dot{
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
    font-size:10px;
    font-weight:900;
    letter-spacing:.03em;
    text-transform:uppercase;
    padding:5px 8px;
    border-radius:999px;
    background:var(--primary-soft);
    color:color-mix(in srgb,var(--primary) 78%,#05222a)
}
.status-dot.is-active,.status-dot.status-closed{
    background:#e8f9f1;
    color:#14724f
}
.status-dot.is-offline{
    background:#fff0f0;
    color:#a23d3d
}
.status-dot.status-open{
    background:#fff6df;
    color:#856000
}
.status-dot.status-review{
    background:#edf2ff;
    color:#4059a6
}
.result-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    padding:12px 18px 14px 24px;
    border-top:1px solid #edf2f3;
    background:linear-gradient(180deg,#fff,#fbfdfd)
}
.action-chip{
    appearance:none;
    border:1px solid #ccdade;
    background:#fff;
    color:#3f5962;
    border-radius:10px;
    padding:8px 11px;
    font:700 11px/1 system-ui;
    cursor:pointer
}
.action-chip:hover{
    border-color:var(--primary);
    color:color-mix(in srgb,var(--primary) 75%,#06303b);
    background:var(--primary-soft)
}
.action-chip.primary-outline{
    border-color:var(--primary-border);
    color:color-mix(in srgb,var(--primary) 80%,#05222a)
}
.action-chip.danger{
    border-color:#f0c8c8;
    color:#a13d3d
}
.action-chip.danger:hover{
    background:var(--danger-soft);
    border-color:#e79c9c
}
.inline-status{
    width:auto;
    min-width:130px;
    padding:7px 30px 7px 10px;
    border-radius:10px;
    font-size:11px;
    font-weight:800
}
.scope-pills{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin-top:10px
}
.log-card{
    min-height:0;
    grid-template-rows:1fr
}
.log-card .result-main{
    padding-bottom:20px
}
.log-icon{
    font-size:18px
}
.list-loader{
    display:none;
    justify-content:center;
    align-items:center;
    gap:10px;
    padding:24px;
    color:var(--muted)
}
.list-loader.show{
    display:flex
}
.list-loader span{
    width:18px;
    height:18px;
    border:2px solid var(--primary-border);
    border-top-color:var(--primary);
    border-radius:50%;
    animation:spin .7s linear infinite
}
.list-empty{
    text-align:center;
    padding:50px 20px;
    color:var(--muted);
    background:white;
    border:1px dashed var(--line);
    border-radius:20px
}
.scroll-sentinel{
    height:12px
}
@keyframes spin{
    to{
        transform:rotate(360deg)
    }
}
.drawer{
    position:fixed;
    inset:0;
    z-index:80;
    pointer-events:none;
    opacity:0;
    transition:.2s
}
.drawer.open{
    pointer-events:auto;
    opacity:1
}
.drawer-backdrop{
    position:absolute;
    inset:0;
    background:rgba(4,17,24,.48);
    backdrop-filter:blur(3px)
}
.drawer-panel{
    position:absolute;
    top:0;
    right:0;
    height:100%;
    width:min(570px,94vw);
    background:#fff;
    padding:28px;
    overflow:auto;
    box-shadow:-20px 0 60px rgba(4,17,24,.18);
    transform:translateX(105%);
    transition:.28s ease
}
.drawer.open .drawer-panel{
    transform:none
}
.drawer-panel.wide-drawer{
    width:min(700px,96vw)
}
.drawer-panel header{
    display:flex;
    align-items:start;
    justify-content:space-between;
    gap:15px;
    margin-bottom:24px
}
.drawer-panel h2{
    font-size:28px;
    margin:4px 0
}
.icon-btn.dark{
    background:#f0f5f6;
    color:#14303a;
    font-size:20px
}
.drawer-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    padding-top:8px
}
.drawer-open{
    overflow:hidden
}
.toast-stack{
    position:fixed;
    z-index:120;
    right:18px;
    top:92px;
    display:grid;
    gap:9px;
    width:min(380px,calc(100vw - 36px))
}
.app-toast{
    display:flex;
    gap:11px;
    align-items:flex-start;
    background:#071923;
    color:#fff;
    padding:13px 15px;
    border-radius:14px;
    box-shadow:0 18px 45px rgba(7,20,27,.2);
    opacity:0;
    transform:translateY(-8px);
    transition:.2s
}
.app-toast.show{
    opacity:1;
    transform:none
}
.app-toast>span{
    width:23px;
    height:23px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--primary);
    color:#042126;
    font-weight:900
}
.app-toast.error>span{
    background:#e56a6a;
    color:#fff
}
.live-indicator{
    font-size:10px;
    color:color-mix(in srgb,var(--primary) 78%,#08333b);
    background:var(--primary-soft);
    border-radius:999px;
    padding:6px 9px;
    white-space:nowrap
}
.result-kicker{
    font-size:9px;
    letter-spacing:.14em;
    color:var(--primary);
    font-weight:900
}
.modern-role-grid .role-card{
    border-top:3px solid var(--primary)
}
.role-card details summary{
    display:flex;
    justify-content:space-between;
    gap:10px
}
.role-card details summary span{
    font-size:10px;
    color:var(--muted);
    font-weight:600
}
.permission-switches{
    display:grid;
    margin-top:10px
}
.permission-switch{
    display:grid;
    grid-template-columns:1fr auto;
    gap:15px;
    align-items:center;
    padding:11px 0;
    border-bottom:1px solid #edf2f3
}
.permission-switch>input{
    position:absolute;
    opacity:0;
    pointer-events:none
}
.permission-switch>i{
    position:relative;
    width:42px;
    height:24px;
    border-radius:999px;
    background:#dce6e8;
    transition:.2s
}
.permission-switch>i:before{
    content:'';
    position:absolute;
    width:18px;
    height:18px;
    left:3px;
    top:3px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 6px rgba(0,0,0,.15);
    transition:.2s
}
.permission-switch>input:checked+i{
    background:linear-gradient(135deg,var(--primary),var(--secondary))
}
.permission-switch>input:checked+i:before{
    transform:translateX(18px)
}
.permission-summary{
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:center;
    margin-bottom:16px
}
.permission-summary div{
    display:grid;
    gap:3px
}
.permission-summary span{
    color:var(--muted);
    font-size:12px
}
.permission-group-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px
}
.permission-group-head h2{
    margin:2px 0
}
.permission-group-head>span{
    font-size:11px;
    color:var(--muted)
}
.flow-permission-row{
    grid-template-columns:1fr auto
}
.permission-segment{
    display:flex;
    background:#f0f4f5;
    padding:3px;
    border-radius:11px
}
.permission-segment button{
    border:0;
    background:transparent;
    border-radius:8px;
    padding:7px 9px;
    font-size:10px;
    font-weight:800;
    color:#6f8188;
    cursor:pointer
}
.permission-segment button.active{
    background:#fff;
    color:#193640;
    box-shadow:0 2px 8px rgba(7,20,27,.08)
}
.permission-segment button.active.allow{
    color:#167152
}
.permission-segment button.active.deny{
    color:#a23d3d
}
@media(max-width:800px){
    .smart-toolbar{
        top:80px;
        flex-direction:column;
        align-items:stretch
    }
    .smart-toolbar select{
        width:100%
    }
    .results-grid{
        grid-template-columns:1fr
    }
    .result-card{
        min-height:0
    }
    .result-main{
        padding:17px 16px 13px 20px
    }
    .result-actions{
        padding:11px 14px 13px 20px;
        justify-content:flex-start;
        flex-wrap:wrap
    }
    .result-title-row{
        flex-direction:column;
        gap:6px
    }
    .result-copy p{
        white-space:normal
    }
    .permission-summary{
        align-items:flex-start;
        flex-direction:column
    }
    .flow-permission-row{
        grid-template-columns:1fr
    }
    .permission-segment{
        width:100%
    }
    .permission-segment button{
        flex:1
    }
    .head-actions{
        width:100%
    }
    .head-actions>*{
        flex:1;
        text-align:center
    }
}
.section-head-inline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px
}
.section-head-inline h2{
    margin:2px 0
}
.dashboard-card-list{
    display:grid;
    gap:9px
}
.dashboard-result-card{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:12px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:15px;
    transition:.2s;
    background:linear-gradient(135deg,#fff,var(--surface-2))
}
.dashboard-result-card:hover{
    border-color:var(--primary-border);
    transform:translateX(2px)
}
.dashboard-result-card div:nth-child(2){
    display:grid
}
.dashboard-result-card small{
    color:var(--muted)
}
/* ============================================================
DextoCopilot UI 2026 — referência funcional aprovada
Shell desktop/tablet + white label + cards/AJAX
============================================================ */
:root{
    --primary:#4F35F4;
    --secondary:#7B5CFF;
    --sidebar-custom:#08192B;
    --topbar-custom:#FFFFFF;
    --cp-bg:#f6f8fc;
    --cp-text:#14213d;
    --cp-muted:#70809f;
    --cp-line:#dce4f2;
    --cp-soft:#f4f2ff;
    --cp-sidebar:var(--sidebar-custom);
    --cp-shadow:0 10px 34px rgba(24,39,75,.07);
    --cp-radius:14px
}
body.cp-auth{
    background:var(--cp-bg);
    color:var(--cp-text);
    font-size:14px;
    overflow-x:hidden
}
.cp-auth .main{
    max-width:none
}
.cp-sidebar{
    position:fixed;
    inset:0 auto 0 0;
    width:240px;
    background:linear-gradient(180deg,var(--cp-sidebar),#071624);
    color:#d9e4f3;
    z-index:60;
    display:flex;
    flex-direction:column;
    border-right:1px solid rgba(255,255,255,.06)
}
.cp-brand{
    height:72px;
    padding:0 22px;
    display:flex;
    align-items:center;
    gap:11px;
    border-bottom:1px solid rgba(255,255,255,.08)
}
.cp-brand>span:last-child{
    display:grid;
    min-width:0
}
.cp-brand b{
    font-size:18px;
    color:#fff;
    white-space:nowrap
}
.cp-brand small{
    font-size:10px;
    color:#91a7c3;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.cp-brand-mark{
    width:32px;
    height:32px;
    border-radius:9px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    box-shadow:0 7px 18px rgba(79,53,244,.35);
    color:#fff
}
.cp-brand img{
    width:36px;
    height:36px;
    object-fit:contain;
    border-radius:9px;
    background:white;
    padding:3px
}
.cp-nav{
    padding:16px 12px;
    display:grid;
    gap:4px;
    overflow:auto
}
.cp-nav>a,.cp-nav-group>a{
    min-height:42px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:9px 12px;
    border-radius:10px;
    color:#d9e4f3;
    font-weight:600
}
.cp-nav a i{
    width:20px;
    text-align:center;
    font-style:normal;
    font-size:17px;
    color:#a9bbd0
}
.cp-nav>a:hover,.cp-nav-group>a:hover,.cp-nav>a.active,.cp-nav-group>a.active{
    background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 35%,#0d2540),color-mix(in srgb,var(--primary) 18%,#0d2540));
    color:#fff
}
.cp-nav a.active i{
    color:#fff
}
.cp-nav-group>a b{
    margin-left:auto
}
.cp-subnav{
    display:none;
    padding:4px 0 4px 42px
}
.cp-nav-group.open .cp-subnav{
    display:grid
}
.cp-subnav a{
    font-size:12px;
    color:#b9c8d9;
    padding:6px 0
}
.cp-subnav a:hover{
    color:#fff
}
.cp-sidebar-bottom{
    margin-top:auto;
    padding:12px;
    display:grid;
    gap:14px
}
.cp-ai-mini{
    border:1px solid rgba(124,151,181,.28);
    border-radius:13px;
    padding:14px;
    background:linear-gradient(145deg,rgba(79,53,244,.15),rgba(5,20,34,.35));
    display:grid;
    gap:6px
}
.cp-ai-mini b{
    font-size:12px;
    color:#fff
}
.cp-ai-mini span{
    font-size:10px;
    color:#aebfd2
}
.cp-dexto-sign{
    padding:5px 10px;
    color:white;
    display:flex;
    gap:8px;
    align-items:center
}
.cp-topbar{
    position:fixed;
    top:0;
    left:240px;
    right:0;
    height:58px;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--cp-line);
    z-index:50;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 18px
}
.cp-global-search{
    width:min(470px,42vw);
    height:36px;
    border-radius:9px;
    background:#f2f5fa;
    color:#7b8ca8;
    display:flex;
    align-items:center;
    padding:0 12px;
    gap:8px
}
.cp-global-search input{
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    border-radius:0;
    font-size:12px
}
.cp-global-search input:focus{
    box-shadow:none
}
.cp-top-actions{
    display:flex;
    align-items:center;
    gap:12px
}
.cp-icon-button{
    position:relative;
    border:0;
    background:transparent;
    color:#18304c;
    cursor:pointer;
    font-size:18px;
    padding:6px
}
.cp-dot{
    position:absolute;
    right:1px;
    top:1px;
    width:15px;
    height:15px;
    border-radius:50%;
    background:#ee3d50;
    color:#fff;
    font:700 8px/15px system-ui;
    text-align:center
}
.cp-sync{
    color:var(--primary)
}
.cp-connect{
    color:#06a879
}
.cp-user{
    display:flex;
    align-items:center;
    gap:9px;
    padding-left:6px
}
.cp-avatar{
    width:32px;
    height:32px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#f0d0a2,#6c4f39);
    color:white;
    font-weight:800
}
.cp-user>span:last-child{
    display:grid
}
.cp-user b{
    font-size:11px
}
.cp-user small{
    font-size:9px;
    color:var(--cp-muted)
}
.cp-mobile-menu{
    display:none;
    border:0;
    background:transparent;
    font-size:20px
}
.cp-main{
    margin-left:240px;
    padding:82px 18px 30px;
    max-width:1600px;
    min-height:100vh
}
.cp-main>.alert{
    position:relative;
    z-index:5
}
.cp-page-head,.copilot-page-title{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    margin-bottom:16px
}
.cp-title-line{
    display:flex;
    gap:12px
}
.cp-title-icon{
    width:42px;
    height:42px;
    border-radius:11px;
    display:grid;
    place-items:center;
    background:var(--cp-soft);
    color:var(--primary);
    font-size:22px
}
.cp-breadcrumb{
    font-size:10px;
    color:#8292ad
}
.cp-page-head h1,.copilot-page-title h1{
    margin:3px 0 3px;
    font-size:26px;
    letter-spacing:-.03em
}
.cp-page-head p,.copilot-page-title p{
    margin:0;
    color:var(--cp-muted);
    font-size:11px;
    max-width:760px
}
.cp-page-status{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:10px
}
.cp-sync-pill{
    padding:8px 13px;
    border-radius:8px;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff;
    font-weight:700
}
.cp-btn{
    border:0;
    border-radius:9px;
    padding:10px 15px;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff!important;
    font-weight:800;
    font-size:11px;
    cursor:pointer;
    box-shadow:0 7px 16px color-mix(in srgb,var(--primary) 20%,transparent);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px
}
.cp-btn.ghost{
    background:#fff;
    color:var(--primary)!important;
    border:1px solid color-mix(in srgb,var(--primary) 35%,#dce4f2);
    box-shadow:none
}
.cp-btn.small{
    padding:8px 11px
}
.cp-btn.large{
    padding:12px 20px
}
.cp-btn.wide{
    width:100%
}
.cp-stepper{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border:1px solid var(--cp-line);
    border-radius:11px;
    overflow:hidden;
    margin-bottom:14px;
    background:#fff
}
.cp-stepper>div{
    padding:13px 18px;
    display:grid;
    gap:2px;
    border-right:1px solid var(--cp-line);
    color:#6c7e9b
}
.cp-stepper>div:last-child{
    border:0
}
.cp-stepper b{
    font-size:11px
}
.cp-stepper small{
    font-size:9px;
    color:#9aa9bf
}
.cp-stepper .active{
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff
}
.cp-stepper .active small{
    color:#e5e1ff
}
.cp-inspection-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 310px;
    gap:14px;
    align-items:start
}
.cp-inspection-main{
    display:grid;
    gap:12px
}
.cp-section-card,.cp-ai-card,.cp-sheet{
    background:#fff;
    border:1px solid var(--cp-line);
    border-radius:12px;
    box-shadow:0 4px 18px rgba(24,39,75,.035)
}
.cp-section-card{
    padding:15px
}
.cp-section-card>header{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px
}
.cp-section-card>header>span{
    color:var(--primary);
    font-size:17px
}
.cp-section-card h2{
    font-size:14px;
    margin:0
}
.cp-section-head-between{
    justify-content:space-between
}
.cp-section-head-between>div{
    display:flex;
    align-items:center;
    gap:8px
}
.cp-form-grid{
    gap:10px 14px
}
.cp-form-grid label,.cp-risk-editor-row label{
    font-size:10px;
    color:#213554
}
.cp-form-grid input,.cp-form-grid select,.cp-risk-editor-row input,.cp-risk-editor-row select,.cp-risk-editor-row textarea,.cp-notes textarea{
    padding:9px 10px;
    border-radius:7px;
    border-color:#d6e0ef;
    background:#fff;
    font-size:11px
}
.cp-evidence-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:10px
}
.cp-upload-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--primary);
    border:1px solid color-mix(in srgb,var(--primary) 45%,#dce4f2);
    border-radius:7px;
    padding:7px 10px;
    font-size:10px;
    cursor:pointer;
    background:#fff
}
.cp-upload-btn input{
    display:none
}
.cp-evidence-preview{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding:2px 0 7px
}
.cp-evidence-thumb,.cp-add-more{
    flex:0 0 135px;
    height:82px;
    border-radius:8px;
    overflow:hidden;
    border:1px solid var(--cp-line);
    background:#f5f7fb;
    position:relative;
    display:grid;
    place-items:center
}
.cp-evidence-thumb img,.cp-evidence-thumb video{
    width:100%;
    height:100%;
    object-fit:cover
}
.cp-evidence-thumb small{
    position:absolute;
    left:5px;
    right:5px;
    bottom:4px;
    background:rgba(4,17,31,.72);
    color:#fff;
    border-radius:4px;
    padding:2px 4px;
    font-size:8px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.cp-evidence-thumb b{
    position:absolute;
    color:white
}
.cp-add-more{
    border-style:dashed;
    color:var(--primary);
    font-size:23px;
    cursor:pointer
}
.cp-add-more span{
    font-size:9px
}
.cp-notes{
    margin-top:8px
}
.cp-risk-editor{
    display:grid;
    gap:10px
}
.cp-risk-editor-row{
    position:relative;
    display:grid;
    grid-template-columns:1.3fr 1fr 1.5fr .9fr repeat(4,.7fr);
    gap:8px;
    padding:11px;
    background:#fbfcff;
    border:1px solid #e2e8f2;
    border-radius:10px
}
.cp-risk-editor-row .span-2{
    grid-column:span 4
}
.cp-remove-risk{
    position:absolute;
    right:6px;
    top:6px;
    width:22px;
    height:22px;
    border-radius:50%;
    border:0;
    background:#fff0f1;
    color:#d94b5f;
    cursor:pointer
}
.cp-final-actions{
    display:flex;
    justify-content:flex-end
}
.cp-ai-side{
    display:grid;
    gap:12px;
    position:sticky;
    top:72px
}
.cp-ai-card{
    padding:14px
}
.cp-ai-card header{
    display:flex;
    gap:10px;
    align-items:center;
    margin-bottom:11px
}
.cp-ai-bot{
    width:34px;
    height:34px;
    border-radius:10px;
    background:var(--cp-soft);
    color:var(--primary);
    display:grid;
    place-items:center;
    font-size:18px
}
.cp-ai-card h3{
    margin:0;
    font-size:13px
}
.cp-ai-card p{
    margin:2px 0 0;
    color:var(--cp-muted);
    font-size:9px
}
.cp-ai-message{
    background:#f8f7ff;
    border-radius:8px;
    padding:10px;
    font-size:10px;
    line-height:1.5;
    margin-bottom:10px
}
.cp-suggestions{
    display:grid;
    gap:8px;
    margin-top:12px
}
.cp-suggestions>b{
    font-size:10px
}
.cp-suggestions span{
    font-size:9px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:5px 0;
    border-bottom:1px solid #eef1f6
}
.cp-suggestions i,.cp-risk-symbol{
    font-style:normal;
    width:24px;
    height:24px;
    border-radius:50%;
    display:grid;
    place-items:center
}
.cp-suggestions i.critical,.cp-risk-symbol.critical{
    background:#ffe8ec;
    color:#e8415b
}
.cp-suggestions i.high,.cp-risk-symbol.high{
    background:#fff0dc;
    color:#f29b13
}
.cp-suggestions i.medium,.cp-risk-symbol.medium{
    background:#e8f3ff;
    color:#2875e7
}
.cp-risk-symbol.low{
    background:#e4f8ef;
    color:#14a46e
}
.cp-mini-link{
    display:block;
    margin-top:9px;
    color:var(--primary);
    font-size:10px
}
.cp-summary-card>div{
    display:flex;
    align-items:center;
    gap:10px;
    margin:7px 0
}
.cp-summary-card>div b{
    width:24px;
    text-align:center;
    color:var(--primary)
}
.cp-summary-card>div span{
    font-size:10px;
    color:var(--cp-muted)
}
.cp-context-strip{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
    margin-bottom:12px
}
.cp-context-strip article{
    background:#fff;
    border:1px solid var(--cp-line);
    border-radius:10px;
    padding:11px;
    display:flex;
    gap:10px;
    align-items:center
}
.cp-context-strip article>div:last-child{
    display:grid
}
.cp-context-strip small{
    font-size:8px;
    color:var(--cp-muted)
}
.cp-context-strip strong{
    font-size:11px
}
.cp-context-strip span{
    font-size:8px;
    color:var(--cp-muted)
}
.cp-icon{
    width:34px;
    height:34px;
    border-radius:8px;
    background:var(--cp-soft);
    color:var(--primary);
    display:grid;
    place-items:center
}
.cp-toolbar{
    position:relative!important;
    top:auto!important;
    background:transparent!important;
    padding:0!important;
    margin-bottom:12px!important
}
.cp-sheet{
    overflow:hidden
}
.cp-sheet-head{
    min-height:52px;
    background:linear-gradient(100deg,color-mix(in srgb,var(--primary) 78%,#182093),var(--secondary));
    color:#fff;
    padding:9px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between
}
.cp-sheet-head>div:first-child{
    display:flex;
    align-items:center;
    gap:10px
}
.cp-sheet-head h2{
    margin:0;
    font-size:15px
}
.cp-sheet-head p{
    margin:2px 0 0;
    font-size:8px;
    color:#eae5ff
}
.cp-sheet-icon{
    width:28px;
    height:28px;
    border-radius:8px;
    background:rgba(255,255,255,.15);
    display:grid;
    place-items:center
}
.cp-head-actions{
    display:flex;
    gap:7px
}
.cp-sheet-head .cp-btn.ghost{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.35);
    color:#fff!important
}
.cp-risk-grid{
    grid-template-columns:1fr!important;
    gap:0!important
}
.cp-risk-card{
    border-radius:0!important;
    box-shadow:none!important;
    border:0!important;
    border-bottom:1px solid var(--cp-line)!important;
    min-height:0!important;
    padding:0
}
.cp-risk-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:11px 13px 6px
}
.cp-kicker{
    font-size:8px;
    color:var(--primary);
    font-weight:800
}
.cp-risk-top h3{
    margin:1px 0;
    font-size:11px
}
.cp-priority{
    padding:4px 8px;
    border-radius:999px;
    font-size:8px;
    font-weight:800
}
.cp-priority.low{
    background:#dff7eb;
    color:#149864
}
.cp-priority.medium{
    background:#fff3d9;
    color:#b27a08
}
.cp-priority.high{
    background:#ffe9db;
    color:#d86618
}
.cp-priority.critical{
    background:#ffe3e8;
    color:#d73752
}
.cp-risk-body{
    display:grid;
    grid-template-columns:1fr 1.3fr 1.3fr 1.3fr;
    gap:10px;
    padding:5px 13px 10px
}
.cp-risk-body>div{
    display:grid;
    gap:1px
}
.cp-risk-body small{
    font-size:7px;
    color:var(--cp-muted);
    text-transform:uppercase
}
.cp-risk-body strong{
    font-size:10px;
    font-weight:650
}
.cp-risk-body span{
    font-size:8px;
    color:var(--cp-muted)
}
.cp-measure-row{
    display:grid;
    grid-template-columns:repeat(3,120px) 1fr;
    align-items:center;
    gap:6px;
    padding:8px 13px;
    background:#fafbfe;
    border-top:1px solid #edf1f7
}
.cp-measure-row span{
    font-size:8px;
    color:#6f80a0
}
.cp-measure-row b{
    color:#15294a;
    margin-left:4px
}
.cp-measure-row a{
    justify-self:end;
    color:var(--primary);
    font-size:9px;
    font-weight:700
}
.cp-ai-ribbon{
    margin-top:10px;
    min-height:66px;
    border-radius:11px;
    background:linear-gradient(100deg,#2412b7,var(--secondary));
    color:#fff;
    display:grid;
    grid-template-columns:auto 220px 1fr;
    align-items:center;
    gap:12px;
    padding:10px 15px
}
.cp-ai-mark{
    width:38px;
    height:38px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.3);
    display:grid;
    place-items:center;
    font-size:20px
}
.cp-ai-ribbon>div:nth-child(2){
    display:grid
}
.cp-ai-ribbon span{
    font-size:8px;
    color:#e4e1ff
}
.cp-ai-ribbon ul{
    list-style:'✓  ';
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px;
    margin:0;
    padding-left:20px;
    font-size:8px
}
.cp-stat-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-bottom:12px
}
.cp-stat-row article{
    padding:12px 14px;
    background:#fff;
    border:1px solid var(--cp-line);
    border-radius:11px;
    display:grid;
    gap:2px
}
.cp-stat-row span{
    font-size:9px;
    color:var(--cp-muted)
}
.cp-stat-row b{
    font-size:20px
}
.cp-stat-row small{
    font-size:8px;
    color:#97a4b8
}
.cp-user-grid{
    grid-template-columns:repeat(auto-fill,minmax(330px,1fr))!important;
    gap:12px!important
}
.cp-user-card{
    min-height:0!important;
    border-radius:13px!important;
    box-shadow:var(--cp-shadow)!important;
    border:1px solid var(--cp-line)!important
}
.cp-user-card-head{
    display:flex;
    gap:10px;
    padding:14px 14px 10px
}
.cp-user-avatar{
    width:42px;
    height:42px;
    border-radius:11px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff;
    font-size:16px;
    font-weight:900
}
.cp-user-identity{
    min-width:0;
    flex:1
}
.cp-user-identity>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px
}
.cp-user-identity h3{
    margin:0;
    font-size:13px
}
.cp-user-identity p{
    margin:3px 0 0;
    font-size:9px;
    color:var(--cp-muted);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.cp-user-info{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px;
    padding:0 14px 12px
}
.cp-user-info>div{
    background:#f8f9fd;
    border-radius:8px;
    padding:8px;
    display:grid
}
.cp-user-info small{
    font-size:7px;
    color:var(--cp-muted);
    text-transform:uppercase
}
.cp-user-info b{
    font-size:9px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.cp-user-actions{
    padding:9px 12px!important;
    justify-content:flex-start!important;
    flex-wrap:wrap
}
.cp-doc-grid{
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important
}
.cp-doc-card{
    min-height:0!important
}
.cp-doc-preview{
    height:150px;
    background:#eef2f8;
    position:relative;
    display:grid;
    place-items:center;
    color:var(--primary)
}
.cp-doc-preview img,.cp-doc-preview video{
    width:100%;
    height:100%;
    object-fit:cover
}
.cp-wave{
    letter-spacing:3px;
    color:var(--primary);
    font-weight:800
}
.cp-file-icon{
    font-size:42px
}
.cp-risk-summary{
    min-height:0!important
}
.cp-risk-summary .result-main{
    align-items:center
}
.results-grid{
    grid-template-columns:repeat(auto-fill,minmax(330px,1fr));
    gap:12px
}
.result-card{
    border-radius:13px;
    box-shadow:var(--cp-shadow);
    border-color:var(--cp-line)
}
.smart-toolbar input,.smart-toolbar select{
    border-radius:8px
}
.drawer-panel{
    border-radius:16px 0 0 16px
}
.drawer-panel header h2{
    font-size:19px
}
.permission-module,.role-card{
    border-radius:12px!important
}
.action-chip{
    border-radius:7px
}
.status-dot{
    font-size:8px
}
.toast-stack{
    position:fixed;
    right:18px;
    top:72px;
    z-index:120;
    display:grid;
    gap:8px
}
.app-toast{
    min-width:260px;
    max-width:380px;
    padding:11px 13px;
    border-radius:10px;
    background:#12243a;
    color:white;
    box-shadow:0 12px 28px rgba(0,0,0,.2);
    display:flex;
    gap:9px;
    align-items:center;
    opacity:0;
    transform:translateY(-8px);
    transition:.2s
}
.app-toast.show{
    opacity:1;
    transform:none
}
.app-toast.error{
    background:#8f2636
}
@media(max-width:1100px){
    .cp-sidebar{
        width:86px
    }
    .cp-brand{
        padding:0 20px
    }
    .cp-brand>span:last-child,.cp-nav a span,.cp-nav-group>a b,.cp-subnav,.cp-ai-mini{
        display:none
    }
    .cp-nav>a,.cp-nav-group>a{
        justify-content:center
    }
    .cp-nav a i{
        font-size:20px
    }
    .cp-topbar{
        left:86px
    }
    .cp-main{
        margin-left:86px
    }
    .cp-inspection-layout{
        grid-template-columns:1fr 270px
    }
    .cp-risk-editor-row{
        grid-template-columns:repeat(4,1fr)
    }
    .cp-risk-editor-row .span-2{
        grid-column:span 2
    }
    .cp-dexto-sign{
        justify-content:center
    }
}
@media(max-width:820px){
    .cp-sidebar{
        transform:translateX(-100%);
        width:240px;
        transition:.25s
    }
    .cp-menu-open .cp-sidebar{
        transform:none;
        box-shadow:20px 0 45px rgba(0,0,0,.2)
    }
    .cp-brand>span:last-child,.cp-nav a span,.cp-nav-group>a b,.cp-ai-mini{
        display:grid
    }
    .cp-subnav{
        display:none
    }
    .cp-nav-group.open .cp-subnav{
        display:grid
    }
    .cp-topbar{
        left:0
    }
    .cp-mobile-menu{
        display:block
    }
    .cp-global-search{
        width:45vw
    }
    .cp-user>span:last-child,.cp-sync,.cp-connect{
        display:none
    }
    .cp-main{
        margin-left:0;
        padding:74px 12px 24px
    }
    .cp-inspection-layout{
        grid-template-columns:1fr
    }
    .cp-ai-side{
        position:static;
        grid-template-columns:repeat(3,1fr)
    }
    .cp-stepper{
        overflow-x:auto;
        grid-template-columns:repeat(4,minmax(160px,1fr))
    }
    .cp-context-strip{
        grid-template-columns:1fr
    }
    .cp-stat-row{
        grid-template-columns:1fr
    }
    .cp-risk-body{
        grid-template-columns:1fr 1fr
    }
    .cp-ai-ribbon{
        grid-template-columns:auto 1fr
    }
    .cp-ai-ribbon ul{
        grid-column:1/-1;
        grid-template-columns:1fr
    }
    .cp-page-head,.copilot-page-title{
        flex-direction:column
    }
    .cp-page-status{
        width:100%;
        justify-content:space-between
    }
    .cp-user-grid{
        grid-template-columns:1fr!important
    }
}
@media(max-width:600px){
    .cp-global-search{
        display:none
    }
    .cp-ai-side{
        grid-template-columns:1fr
    }
    .cp-form-grid{
        grid-template-columns:1fr!important
    }
    .cp-risk-editor-row{
        grid-template-columns:1fr 1fr
    }
    .cp-risk-editor-row .span-2{
        grid-column:span 2
    }
    .cp-risk-body{
        grid-template-columns:1fr
    }
    .cp-measure-row{
        grid-template-columns:1fr 1fr
    }
    .cp-measure-row a{
        grid-column:1/-1;
        justify-self:start
    }
    .cp-user-info{
        grid-template-columns:1fr
    }
    .cp-stepper{
        display:flex
    }
    .cp-stepper>div{
        min-width:170px
    }
    .cp-evidence-actions{
        display:grid;
        grid-template-columns:1fr 1fr
    }
}
/* =========================================================
DextoCopilot R2 — camada de fidelidade visual 13/09/2026
Referência: estação SST em campo + dashboard DextoCopilot
========================================================= */
html{
    background:#f6f8fc
}
body.cp-auth{
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:linear-gradient(180deg,#f9fbff 0,#f5f8fd 100%);
    color:#11203a
}
.cp-sidebar{
    background:linear-gradient(180deg,color-mix(in srgb,var(--sidebar-custom) 96%,#000),#071522 100%);
    box-shadow:6px 0 28px rgba(7,21,34,.06)
}
.cp-brand{
    height:74px
}
.cp-brand b{
    font-size:19px;
    letter-spacing:-.02em
}
.cp-brand small{
    letter-spacing:.02em
}
.cp-nav{
    padding-top:18px
}
.cp-nav>a,.cp-nav-group>a{
    min-height:44px;
    border:1px solid transparent;
    transition:.18s
}
.cp-nav>a.active,.cp-nav-group>a.active{
    background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 44%,#152b47),color-mix(in srgb,var(--primary) 24%,#10233b));
    border-color:rgba(127,111,255,.16);
    box-shadow:0 8px 24px rgba(0,0,0,.08)
}
.cp-ai-mini a{
    margin-top:6px;
    display:inline-flex;
    width:max-content;
    padding:7px 11px;
    border-radius:7px;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    font-size:9px;
    font-weight:800;
    color:#fff
}
.cp-support-mini{
    display:none;
    color:#dce7f4;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:9px 0;
    border-top:1px solid rgba(255,255,255,.08);
    font-size:9px
}
.cp-support-mini small{
    color:#9bb0c8
}
.cp-topbar{
    height:60px;
    padding:0 24px;
    box-shadow:0 2px 12px rgba(20,42,77,.025);
    background:color-mix(in srgb,var(--topbar-custom) 97%,#fff)
}
.cp-main{
    padding-top:84px
}
.cp-tablet-brand{
    display:none;
    align-items:center;
    gap:11px
}
.cp-tablet-brand>div{
    display:grid
}
.cp-tablet-brand strong{
    font-size:20px;
    line-height:1.05;
    color:#251aa2
}
.cp-tablet-brand b{
    font-size:13px;
    color:#251aa2
}
.cp-tablet-brand small{
    font-size:8px;
    letter-spacing:.09em;
    color:#66789a
}
.cp-brand-mark.small{
    width:31px;
    height:31px;
    border-radius:9px
}
.cp-top-separator{
    width:1px;
    height:36px;
    background:#cbd6ed;
    margin:0 5px
}
.cp-page-glyph{
    font-size:24px;
    color:var(--primary)
}
.cp-live-time{
    font-size:10px;
    font-weight:700;
    color:#1d3153;
    white-space:nowrap
}
.cp-global-search{
    height:38px;
    max-width:490px;
    border:1px solid #edf1f7
}
.cp-global-search input{
    color:#304564
}
.cp-page-head{
    padding:0 2px
}
.cp-page-head h1,.copilot-page-title h1{
    font-size:27px;
    color:#0f1e35
}
.cp-title-icon{
    width:44px;
    height:44px;
    border-radius:12px;
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 8%,#fff)
}
.cp-stepper{
    box-shadow:0 4px 20px rgba(25,39,70,.035)
}
.cp-section-card,.cp-ai-card,.cp-sheet,.cp-list-panel{
    border-color:#d9e3f2;
    box-shadow:0 5px 22px rgba(28,50,88,.045)
}
.cp-section-card{
    border-radius:11px
}
.cp-section-card>header{
    min-height:24px
}
.cp-inspection-layout{
    gap:16px
}
.cp-ai-side{
    gap:13px
}
.cp-ai-card{
    border-radius:11px
}
.cp-dashboard-metrics{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin:8px 0 16px
}
.cp-dashboard-metrics article{
    background:#fff;
    border:1px solid var(--cp-line);
    border-radius:12px;
    padding:14px;
    display:flex;
    align-items:center;
    gap:12px;
    box-shadow:var(--cp-shadow)
}
.cp-dashboard-metrics article>div:last-child{
    display:grid
}
.cp-dashboard-metrics small{
    font-size:8px;
    color:var(--cp-muted);
    text-transform:uppercase;
    letter-spacing:.06em
}
.cp-dashboard-metrics b{
    font-size:23px;
    line-height:1.1
}
.cp-dashboard-metrics span{
    font-size:8px;
    color:#94a1b5
}
.cp-metric-icon{
    width:42px;
    height:42px;
    border-radius:11px;
    display:grid;
    place-items:center;
    font-size:18px
}
.cp-metric-icon.purple{
    background:#eeeaff;
    color:var(--primary)
}
.cp-metric-icon.blue{
    background:#e7f2ff;
    color:#2879e8
}
.cp-metric-icon.orange{
    background:#fff0dc;
    color:#ee9616
}
.cp-metric-icon.green{
    background:#e1f8ef;
    color:#11a16b
}
.cp-dashboard-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:14px
}
.cp-dashboard-main,.cp-dashboard-side{
    display:grid;
    gap:12px;
    align-content:start
}
.cp-dashboard-panel{
    padding:15px
}
.cp-activity-list{
    display:grid;
    gap:8px
}
.cp-activity-card{
    display:grid;
    grid-template-columns:42px 1fr auto;
    align-items:center;
    gap:10px;
    border:1px solid #e5eaf3;
    border-radius:9px;
    padding:9px 11px;
    background:#fcfdff
}
.cp-activity-card:hover{
    border-color:color-mix(in srgb,var(--primary) 35%,#dce4f2);
    background:#fbfaff
}
.cp-activity-id{
    width:34px;
    height:34px;
    border-radius:9px;
    display:grid;
    place-items:center;
    background:#f1efff;
    color:var(--primary);
    font-size:10px;
    font-weight:800
}
.cp-activity-card>div:nth-child(2){
    display:grid
}
.cp-activity-card b{
    font-size:10px
}
.cp-activity-card small{
    font-size:8px;
    color:var(--cp-muted)
}
.cp-quick-panel{
    padding:15px
}
.cp-quick-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:9px
}
.cp-quick-grid a{
    display:grid;
    gap:3px;
    padding:13px;
    border:1px solid #e3e9f3;
    border-radius:10px;
    background:#fbfcff;
    min-height:92px
}
.cp-quick-grid a:hover{
    background:#f8f6ff;
    border-color:#cfc7ff
}
.cp-quick-grid i{
    font-style:normal;
    font-size:18px;
    color:var(--primary)
}
.cp-quick-grid b{
    font-size:10px
}
.cp-quick-grid span{
    font-size:8px;
    color:var(--cp-muted)
}
.cp-empty-soft{
    padding:18px;
    border-radius:9px;
    background:#f7f9fc;
    color:var(--cp-muted);
    font-size:10px
}
.cp-list-panel{
    background:#fff;
    border:1px solid var(--cp-line);
    border-radius:13px;
    padding:14px
}
.cp-user-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important
}
.cp-user-card{
    overflow:hidden;
    background:#fff;
    transition:transform .16s,border-color .16s,box-shadow .16s
}
.cp-user-card:hover{
    transform:translateY(-2px);
    border-color:color-mix(in srgb,var(--primary) 27%,#dce4f2)!important;
    box-shadow:0 16px 34px rgba(38,46,88,.1)!important
}
.cp-user-card-head{
    position:relative;
    padding:15px 15px 11px;
    background:linear-gradient(180deg,#fff,#fcfdff)
}
.cp-user-avatar{
    width:46px;
    height:46px;
    border-radius:13px;
    box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 22%,transparent)
}
.cp-card-more{
    width:27px;
    height:27px;
    border:0;
    border-radius:7px;
    background:#f5f7fb;
    color:#72819c;
    font-size:17px;
    cursor:pointer
}
.cp-user-info{
    padding:0 15px 13px;
    gap:8px
}
.cp-user-info>div{
    min-height:60px;
    background:#f7f9fd;
    border:1px solid #eef2f7
}
.cp-user-info span{
    font-size:7px;
    color:#91a0b6;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.cp-user-actions{
    background:#fbfcfe;
    border-top:1px solid #eef2f7;
    padding:10px 12px!important
}
.action-chip{
    font-size:8px;
    padding:6px 9px
}
.status-dot{
    font-size:8px
}
.smart-toolbar{
    gap:9px
}
.smart-toolbar .search-box{
    min-height:40px
}
.smart-toolbar input,.smart-toolbar select{
    min-height:38px
}
.results-shell{
    min-height:70px
}
.list-loader{
    font-size:9px
}
.cp-sheet{
    border-radius:12px
}
.cp-sheet-head{
    min-height:56px
}
.cp-risk-card{
    background:#fff
}
.cp-risk-top{
    background:#fff
}
.cp-measure-row{
    background:#fbfcff
}
.cp-ai-ribbon{
    box-shadow:0 14px 28px rgba(67,45,217,.15)
}
/* desktop: referência 2 — sidebar expandida */
@media(min-width:1181px){
    .cp-sidebar{
        width:240px
    }
    .cp-topbar{
        left:240px
    }
    .cp-main{
        margin-left:240px
    }
    .cp-global-search{
        display:flex
    }
    .cp-tablet-brand{
        display:none
    }
}
/* tablet/iPad: referência 1 — barra lateral compacta e marca no topo */
@media(min-width:821px) and (max-width:1180px){
    .cp-sidebar{
        width:76px
    }
    .cp-brand{
        display:none
    }
    .cp-nav{
        padding:12px 7px
    }
    .cp-nav>a,.cp-nav-group>a{
        min-height:54px;
        padding:8px 3px;
        display:grid;
        place-items:center;
        gap:2px;
        text-align:center;
        border-radius:8px
    }
    .cp-nav a i{
        font-size:20px
    }
    .cp-nav a span{
        display:block!important;
        font-size:8px;
        line-height:1.1
    }
    .cp-nav-group>a b,.cp-subnav{
        display:none!important
    }
    .cp-sidebar-bottom{
        padding:7px
    }
    .cp-ai-mini{
        display:none
    }
    .cp-support-mini{
        display:grid
    }
    .cp-dexto-sign{
        display:grid;
        place-items:center;
        font-size:9px
    }
    .cp-topbar{
        left:76px;
        height:70px
    }
    .cp-main{
        margin-left:76px;
        padding-top:88px
    }
    .cp-global-search{
        display:none
    }
    .cp-tablet-brand{
        display:flex
    }
    .cp-user>span:last-child{
        display:grid!important
    }
    .cp-inspection-layout{
        grid-template-columns:minmax(0,1fr) 35%
    }
    .cp-ai-side{
        position:sticky;
        grid-template-columns:1fr
    }
    .cp-risk-editor-row{
        grid-template-columns:repeat(4,1fr)
    }
    .cp-risk-editor-row .span-2{
        grid-column:span 2
    }
    .cp-user-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important
    }
    .cp-dashboard-metrics{
        grid-template-columns:repeat(2,1fr)
    }
    .cp-dashboard-layout{
        grid-template-columns:1fr 280px
    }
    .cp-quick-grid{
        grid-template-columns:repeat(2,1fr)
    }
}
@media(max-width:820px){
    .cp-dashboard-metrics{
        grid-template-columns:1fr 1fr
    }
    .cp-dashboard-layout{
        grid-template-columns:1fr
    }
    .cp-quick-grid{
        grid-template-columns:repeat(2,1fr)
    }
    .cp-user-grid{
        grid-template-columns:1fr!important
    }
    .cp-tablet-brand{
        display:none
    }
}
@media(max-width:560px){
    .cp-dashboard-metrics{
        grid-template-columns:1fr
    }
    .cp-quick-grid{
        grid-template-columns:1fr 1fr
    }
    .cp-user-card-head{
        align-items:flex-start
    }
    .cp-user-info{
        grid-template-columns:1fr!important
    }
}
/* =========================================================
DextoCopilot R3 — fidelidade operacional/visual + Flow RBAC
========================================================= */
:root{
    --cp-bg:#f5f8fd;
    --cp-panel:#fff;
    --cp-line:#dce5f3;
    --cp-text:#10213d;
    --cp-muted:#71819c;
    --cp-radius:14px;
    --cp-shadow:0 7px 26px rgba(24,48,88,.06)
}
body.cp-auth{
    background:linear-gradient(180deg,#f8fbff 0%,#f4f7fc 100%)
}
.cp-main{
    max-width:none
}
.cp-page-head,.copilot-page-title{
    margin-bottom:15px
}
.cp-page-head h1,.copilot-page-title h1{
    letter-spacing:-.035em
}
.cp-breadcrumb{
    color:#7d8dac
}
.cp-btn{
    border-radius:9px;
    box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 18%,transparent)
}
.cp-sidebar{
    border-right:1px solid rgba(255,255,255,.05)
}
.cp-nav>a,.cp-nav-group>a{
    font-weight:650
}
.cp-topbar{
    border-bottom:1px solid #e9eef7
}
.cp-main{
    background:radial-gradient(circle at 70% 0%,rgba(104,81,255,.025),transparent 34%),linear-gradient(#f9fbff,#f5f8fd)
}
/* listagens: cards como padrão obrigatório */
.results-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:14px!important
}
.result-card{
    min-width:0;
    border:1px solid #dfe7f3!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 7px 24px rgba(25,47,84,.055)!important
}
.result-card:hover{
    border-color:color-mix(in srgb,var(--primary) 38%,#dfe7f3)!important;
    box-shadow:0 16px 36px rgba(42,43,95,.1)!important
}
.cp-user-grid{
    grid-template-columns:repeat(auto-fill,minmax(320px,1fr))!important
}
.cp-user-card-head{
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr) auto;
    gap:12px;
    align-items:center
}
.cp-user-avatar{
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff;
    font-size:18px;
    font-weight:800
}
.cp-user-identity{
    min-width:0
}
.cp-user-identity>div{
    display:flex;
    gap:7px;
    align-items:center;
    flex-wrap:wrap
}
.cp-user-identity h3{
    margin:0;
    color:#14233e;
    font-size:14px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.cp-user-identity p{
    margin:4px 0 0;
    color:#7e8da4;
    font-size:10px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.status-dot{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:4px 7px;
    font-weight:750
}
.status-dot.is-active{
    background:#e5f8ef;
    color:#129366
}
.status-dot.is-offline{
    background:#f2f4f7;
    color:#7e8a9b
}
.cp-user-info{
    display:grid!important;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    padding:0 14px 14px
}
.cp-user-info>div{
    padding:10px;
    border-radius:10px;
    background:#f8fafe;
    border:1px solid #edf2f8;
    display:grid;
    align-content:start;
    gap:3px;
    min-width:0
}
.cp-user-info small{
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#95a1b3
}
.cp-user-info b{
    font-size:10px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.cp-user-info span{
    font-size:8px;
    color:#99a4b3
}
.cp-user-actions{
    display:flex!important;
    gap:7px;
    flex-wrap:wrap
}
.action-chip{
    border-radius:8px!important;
    background:#f6f8fc!important;
    border:1px solid #e6ecf4!important;
    color:#40506c!important
}
.action-chip.primary-outline{
    color:var(--primary)!important;
    border-color:color-mix(in srgb,var(--primary) 24%,#e6ecf4)!important;
    background:color-mix(in srgb,var(--primary) 4%,#fff)!important
}
.action-chip.danger{
    color:#d94759!important;
    background:#fff5f6!important;
    border-color:#ffdfe4!important
}
/* nova inspeção fiel ao layout de referência */
.cp-inspection-layout{
    grid-template-columns:minmax(0,1fr) 312px;
    align-items:start
}
.cp-inspection-main{
    display:grid;
    gap:13px
}
.cp-section-card{
    padding:16px;
    background:#fff
}
.cp-section-card>header{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:13px
}
.cp-section-card>header h2{
    font-size:14px;
    margin:0
}
.cp-form-grid{
    grid-template-columns:1fr 1fr;
    gap:12px 15px
}
.cp-form-grid label,.cp-risk-editor-row label,.cp-mini-dialog label{
    font-size:9px;
    font-weight:750;
    color:#263955
}
.cp-form-grid input,.cp-form-grid select,.cp-risk-editor-row input,.cp-risk-editor-row select,.cp-risk-editor-row textarea,.cp-mini-dialog input{
    min-height:37px;
    border:1px solid #d7e2f2;
    background:#fff;
    border-radius:8px;
    color:#1f3150
}
.cp-inline-select{
    display:grid;
    grid-template-columns:minmax(0,1fr) 38px;
    gap:7px
}
.cp-inline-add{
    border:1px solid color-mix(in srgb,var(--primary) 32%,#d7e2f2);
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff;
    border-radius:8px;
    font-size:18px;
    cursor:pointer
}
.cp-evidence-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px
}
.cp-upload-btn{
    border:1px solid color-mix(in srgb,var(--primary) 28%,#dce5f2);
    background:#fff;
    color:var(--primary);
    border-radius:8px;
    padding:9px 12px;
    font-size:9px;
    font-weight:750
}
.cp-evidence-preview{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding:11px 0 3px
}
.cp-evidence-thumb,.cp-add-more{
    width:130px;
    min-width:130px;
    height:88px;
    border-radius:9px;
    border:1px solid #dde5f1;
    background:#f8faff;
    overflow:hidden;
    position:relative
}
.cp-evidence-thumb img,.cp-evidence-thumb video{
    width:100%;
    height:62px;
    object-fit:cover
}
.cp-evidence-thumb small{
    display:block;
    padding:5px 7px;
    font-size:7px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.cp-risk-editor{
    display:grid;
    gap:10px
}
.cp-risk-editor-row{
    position:relative;
    display:grid;
    grid-template-columns:1.15fr .8fr 1.15fr .75fr repeat(4,.65fr);
    gap:9px;
    background:#fbfcff;
    border:1px solid #e3eaf4;
    border-radius:10px;
    padding:11px
}
.cp-risk-editor-row .span-2{
    grid-column:span 4
}
.cp-remove-risk{
    position:absolute;
    right:7px;
    top:7px;
    width:24px;
    height:24px;
    border:0;
    border-radius:7px;
    background:#fff0f2;
    color:#cf394d
}
.cp-ai-side{
    position:sticky;
    top:76px
}
.cp-ai-card{
    background:#fff
}
.cp-ai-card header{
    display:flex;
    gap:10px;
    align-items:center
}
.cp-ai-bot{
    width:38px;
    height:38px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#ebe8ff,#c9c1ff);
    color:var(--primary)
}
.cp-ai-message{
    border-radius:9px;
    background:#f7f7ff;
    border:1px solid #eeeaff
}
.cp-ai-secondary{
    width:100%;
    border:0;
    background:transparent;
    color:var(--primary);
    font-size:9px;
    padding:9px;
    cursor:pointer
}
.cp-stepper{
    border:1px solid #dbe5f2;
    border-radius:11px;
    background:#fff;
    overflow:hidden
}
.cp-stepper>div{
    padding:13px 16px
}
.cp-stepper>div.active{
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff
}
.cp-stepper small{
    opacity:.72
}
/* planilha/banco de dados: desktop semelhante à referência, cards no scroll infinito */
.cp-sheet{
    overflow:hidden
}
.cp-sheet-head{
    background:linear-gradient(100deg,color-mix(in srgb,var(--primary) 90%,#1c259c),var(--secondary));
    color:#fff;
    border-bottom:0
}
.cp-sheet-head h2,.cp-sheet-head p{
    color:#fff
}
.cp-risk-grid{
    padding:12px;
    grid-template-columns:1fr!important
}
.cp-risk-card{
    display:grid;
    grid-template-columns:220px minmax(0,1fr) auto;
    align-items:stretch;
    padding:0!important;
    overflow:hidden
}
.cp-risk-top{
    padding:13px 14px;
    border-right:1px solid #e5ebf4;
    align-content:center
}
.cp-risk-body{
    display:grid;
    grid-template-columns:repeat(4,1fr)!important;
    gap:0!important
}
.cp-risk-body>div{
    padding:12px;
    border-right:1px solid #e5ebf4;
    min-width:0
}
.cp-risk-body small,.cp-measure-row span{
    font-size:7px;
    color:#7e8da6
}
.cp-risk-body strong{
    font-size:9px
}
.cp-measure-row{
    display:grid!important;
    grid-template-columns:repeat(3,72px) 92px;
    align-items:center;
    gap:0!important;
    background:#fff!important
}
.cp-measure-row>*{
    height:100%;
    padding:10px;
    border-right:1px solid #e5ebf4;
    display:grid;
    place-items:center;
    text-align:center
}
.cp-measure-row a{
    color:var(--primary);
    font-size:8px;
    font-weight:800
}
/* DextoFlow-like permissions */
.cp-flow-perm-head{
    align-items:center
}
.ghost-btn{
    background:#fff!important;
    color:var(--primary)!important;
    border:1px solid #dce4f0!important;
    box-shadow:none!important
}
.cp-role-selector,.cp-perm-controlbar{
    display:flex;
    align-items:center;
    gap:18px;
    justify-content:space-between;
    background:#fff;
    border:1px solid #dce5f2;
    border-radius:13px;
    padding:13px 15px;
    box-shadow:var(--cp-shadow);
    margin-bottom:13px
}
.cp-role-selector>div,.cp-perm-controlbar>div{
    display:grid
}
.cp-role-selector select{
    min-width:220px;
    height:38px;
    border:1px solid #dce5f2;
    border-radius:8px;
    padding:0 10px;
    background:#fff
}
.cp-kicker{
    font-size:7px;
    letter-spacing:.08em;
    color:#8d9ab0
}
.cp-role-selector b,.cp-perm-controlbar b{
    font-size:11px
}
.cp-role-selector small,.cp-perm-controlbar small{
    font-size:8px;
    color:#8493a8
}
.cp-live-save{
    font-size:8px;
    color:#18a474;
    background:#e9f8f2;
    border-radius:999px;
    padding:6px 9px
}
.cp-live-save.saving{
    color:#8a6d11;
    background:#fff7d9
}
.cp-default-perm-switch{
    display:flex;
    align-items:center;
    gap:10px;
    cursor:pointer
}
.cp-default-perm-switch input{
    display:none
}
.cp-default-perm-switch i{
    order:-1;
    width:38px;
    height:22px;
    border-radius:999px;
    background:#cfd8e5;
    position:relative
}
.cp-default-perm-switch i:after{
    content:"";
    position:absolute;
    width:16px;
    height:16px;
    left:3px;
    top:3px;
    border-radius:50%;
    background:#fff;
    transition:.18s
}
.cp-default-perm-switch input:checked~i{
    background:linear-gradient(135deg,var(--primary),var(--secondary))
}
.cp-default-perm-switch input:checked~i:after{
    transform:translateX(16px)
}
.cp-default-perm-switch span{
    display:grid
}
.cp-flow-permission-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px
}
.cp-flow-permission-grid.is-disabled{
    opacity:.62
}
.cp-flow-permission-card{
    background:#fff;
    border:1px solid #dce5f2;
    border-radius:13px;
    box-shadow:var(--cp-shadow);
    overflow:hidden
}
.cp-flow-permission-card header{
    display:flex;
    align-items:center;
    gap:9px;
    padding:12px 13px;
    border-bottom:1px solid #edf1f6;
    background:#fbfcff
}
.cp-flow-permission-card header>span{
    width:30px;
    height:30px;
    border-radius:8px;
    background:#efedff;
    color:var(--primary);
    display:grid;
    place-items:center
}
.cp-flow-permission-card h2{
    font-size:11px;
    margin:0
}
.cp-flow-permission-card small{
    font-size:7px;
    color:#8997aa
}
.cp-flow-check-list{
    display:grid
}
.cp-flow-check{
    display:grid;
    grid-template-columns:18px minmax(0,1fr) auto;
    gap:9px;
    padding:9px 12px;
    border-bottom:1px solid #f0f3f7;
    align-items:center;
    cursor:pointer
}
.cp-flow-check:last-child{
    border-bottom:0
}
.cp-flow-check input{
    width:15px;
    height:15px;
    accent-color:var(--primary)
}
.cp-flow-check>span{
    display:grid;
    min-width:0
}
.cp-flow-check b{
    font-size:9px
}
.cp-flow-check small{
    font-size:7px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.cp-flow-check.is-locked{
    background:#fafbfc;
    color:#9aa5b3;
    cursor:not-allowed
}
.cp-flow-notice{
    display:grid;
    gap:4px;
    border:1px solid #dce5f2;
    background:#fff;
    border-radius:12px;
    padding:14px
}
.cp-flow-notice b{
    color:var(--primary)
}
/* modais rápidos setor/cargo */
.cp-mini-modal{
    position:fixed;
    inset:0;
    z-index:1400;
    display:grid;
    place-items:center
}
.cp-mini-modal[hidden]{
    display:none
}
.cp-mini-backdrop{
    position:absolute;
    inset:0;
    background:rgba(7,19,35,.48);
    backdrop-filter:blur(3px)
}
.cp-mini-dialog{
    position:relative;
    width:min(420px,calc(100vw - 28px));
    background:#fff;
    border-radius:14px;
    padding:15px;
    box-shadow:0 30px 70px rgba(0,0,0,.22);
    display:grid;
    gap:13px;
    transform:translateY(8px);
    opacity:0;
    transition:.18s
}
.cp-mini-modal.open .cp-mini-dialog{
    transform:none;
    opacity:1
}
.cp-mini-dialog header{
    display:flex;
    align-items:center;
    justify-content:space-between
}
.cp-mini-dialog header button{
    border:0;
    background:#f2f5f9;
    border-radius:8px;
    width:30px;
    height:30px
}
.cp-mini-dialog label{
    display:grid;
    gap:5px
}
/* chat IA multimodal */
.cp-chat-drawer{
    position:fixed;
    inset:0;
    z-index:1500;
    pointer-events:none
}
.cp-chat-backdrop{
    position:absolute;
    inset:0;
    background:rgba(6,16,29,.38);
    opacity:0;
    transition:.22s
}
.cp-chat-panel{
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    width:min(440px,100vw);
    background:#fff;
    box-shadow:-24px 0 60px rgba(7,24,46,.2);
    transform:translateX(102%);
    transition:.24s;
    display:grid;
    grid-template-rows:auto auto 1fr auto
}
.cp-chat-drawer.open{
    pointer-events:auto
}
.cp-chat-drawer.open .cp-chat-backdrop{
    opacity:1
}
.cp-chat-drawer.open .cp-chat-panel{
    transform:none
}
.cp-chat-panel>header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:15px 16px;
    border-bottom:1px solid #e7ecf4
}
.cp-chat-panel>header>button{
    border:0;
    background:#f3f6fa;
    width:32px;
    height:32px;
    border-radius:8px;
    font-size:18px
}
.cp-chat-brand{
    display:flex;
    align-items:center;
    gap:9px
}
.cp-chat-brand>span{
    width:38px;
    height:38px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff
}
.cp-chat-brand>div{
    display:grid
}
.cp-chat-brand b{
    font-size:12px
}
.cp-chat-brand small{
    font-size:8px;
    color:#8190a5
}
.cp-chat-context{
    margin:12px 14px 0;
    padding:10px;
    border-radius:10px;
    background:#f6f5ff;
    border:1px solid #e9e5ff;
    display:grid;
    gap:3px
}
.cp-chat-context span,.cp-chat-context b{
    font-size:8px
}
.cp-chat-context b{
    color:var(--primary)
}
.cp-chat-messages{
    overflow:auto;
    padding:14px;
    display:grid;
    gap:10px;
    align-content:start
}
.cp-chat-messages article{
    display:flex;
    gap:8px;
    max-width:90%
}
.cp-chat-messages article.user{
    justify-self:end;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff;
    border-radius:12px 12px 3px 12px;
    padding:10px 12px
}
.cp-chat-messages article.assistant{
    justify-self:start
}
.cp-chat-messages article.assistant>span{
    width:28px;
    height:28px;
    border-radius:8px;
    display:grid;
    place-items:center;
    background:#eeebff;
    color:var(--primary);
    flex:0 0 auto
}
.cp-chat-messages article.assistant>div{
    background:#f7f9fc;
    border:1px solid #e7ecf3;
    border-radius:3px 12px 12px 12px;
    padding:10px
}
.cp-chat-messages b{
    font-size:8px
}
.cp-chat-messages p{
    margin:3px 0 0;
    font-size:9px;
    line-height:1.45;
    white-space:pre-wrap
}
.cp-chat-compose{
    border-top:1px solid #e6ebf3;
    padding:12px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:8px;
    align-items:end
}
.cp-chat-compose textarea{
    resize:none;
    border:1px solid #dce5f1;
    border-radius:10px;
    padding:10px;
    font:inherit;
    font-size:9px;
    min-height:56px
}
.cp-chat-attachments{
    display:flex;
    gap:4px;
    align-self:end
}
.cp-chat-attachments label{
    width:30px;
    height:30px;
    border-radius:8px;
    background:#f2f0ff;
    color:var(--primary);
    display:grid;
    place-items:center;
    cursor:pointer
}
.cp-chat-attachments input{
    display:none
}
@media(max-width:1180px){
    .cp-inspection-layout{
        grid-template-columns:minmax(0,1fr) 34%
    }
    .cp-risk-editor-row{
        grid-template-columns:repeat(4,1fr)
    }
    .cp-risk-editor-row .span-2{
        grid-column:span 2
    }
    .cp-flow-permission-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .cp-risk-card{
        grid-template-columns:180px minmax(0,1fr)
    }
    .cp-measure-row{
        grid-column:1/-1;
        border-top:1px solid #e5ebf4;
        grid-template-columns:repeat(3,1fr) 1fr
    }
}
@media(max-width:820px){
    .cp-inspection-layout{
        grid-template-columns:1fr
    }
    .cp-ai-side{
        position:static
    }
    .cp-form-grid{
        grid-template-columns:1fr
    }
    .cp-risk-editor-row{
        grid-template-columns:1fr 1fr
    }
    .cp-risk-editor-row .span-2{
        grid-column:span 2
    }
    .cp-flow-permission-grid{
        grid-template-columns:1fr
    }
    .cp-role-selector,.cp-perm-controlbar{
        align-items:flex-start;
        flex-direction:column
    }
    .cp-role-selector form,.cp-role-selector select{
        width:100%
    }
    .cp-user-info{
        grid-template-columns:1fr!important
    }
    .cp-risk-card{
        grid-template-columns:1fr
    }
    .cp-risk-top{
        border-right:0;
        border-bottom:1px solid #e5ebf4
    }
    .cp-risk-body{
        grid-template-columns:1fr 1fr!important
    }
    .cp-measure-row{
        grid-template-columns:1fr 1fr
    }
    .cp-measure-row a{
        grid-column:1/-1
    }
    .cp-chat-compose{
        grid-template-columns:1fr auto
    }
    .cp-chat-attachments{
        grid-column:1/-1
    }
}

/* R13.14 — relatório estruturado da análise com IA */
.ai-report-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:14px 0;
}
.ai-report-item,
.ai-report-block{
    border:1px solid var(--line);
    background:#fff;
    border-radius:10px;
    padding:10px;
}
.ai-report-item{
    display:grid;
    gap:4px;
}
.ai-report-item small{
    color:var(--muted);
}
.ai-report-block{
    grid-column:1/-1;
}
.ai-report-block ul,
.ai-report ul{
    margin:8px 0 0;
    padding-left:20px;
}
.ai-report h4{
    margin:18px 0 8px;
}
@media(max-width:900px){
    .ai-report-grid{
        grid-template-columns:1fr;
    }
}
