/* =====================================================
   CPCS AUDIT TRAIL
===================================================== */

.cpcs-audit-backdrop,
.cpcs-audit-backdrop *{
    box-sizing:border-box;
}

.cpcs-audit-backdrop{
    position:fixed;
    inset:0;
    z-index:12000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(15,23,42,.58);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}

.cpcs-audit-modal{
    width:min(1180px,100%);
    max-height:calc(100dvh - 48px);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:#fff;
    border:1px solid #dbe3ee;
    border-radius:20px;
    box-shadow:0 34px 90px rgba(15,23,42,.28);
}

.cpcs-audit-header{
    flex:0 0 auto;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    padding:24px 28px;
    border-bottom:1px solid #e2e8f0;
    background:linear-gradient(180deg,#fff,#fbfdff);
}

.cpcs-audit-header small{
    display:block;
    margin-bottom:5px;
    color:#2563eb;
    font-size:10px;
    font-weight:800;
    letter-spacing:.11em;
}

.cpcs-audit-header h2{
    margin:0;
    color:#0f172a;
    font-size:24px;
    line-height:1.2;
    letter-spacing:-.02em;
}

.cpcs-audit-header p{
    margin:7px 0 0;
    color:#64748b;
    font-size:12px;
    line-height:1.55;
}

.cpcs-audit-header-actions{
    display:flex;
    align-items:center;
    gap:9px;
}

.cpcs-audit-export,
.cpcs-audit-close{
    border:1px solid #dbe3ee;
    background:#fff;
    color:#334155;
    cursor:pointer;
}

.cpcs-audit-export{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 15px;
    border-radius:10px;
    font-size:12px;
    font-weight:750;
}

.cpcs-audit-export:hover{
    background:#eff6ff;
    border-color:#bfdbfe;
    color:#1d4ed8;
}

.cpcs-audit-export svg{
    width:15px;
    height:15px;
}

.cpcs-audit-close{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    padding:0;
    border-radius:10px;
}

.cpcs-audit-close:hover{
    background:#f8fafc;
    color:#0f172a;
}

.cpcs-audit-body{
    min-height:0;
    overflow:auto;
    padding:22px;
    background:#f8fafc;
}

.cpcs-audit-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}

.cpcs-audit-summary article{
    min-width:0;
    padding:17px 18px;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:14px;
    box-shadow:0 2px 10px rgba(15,23,42,.035);
}

.cpcs-audit-summary small{
    display:block;
    color:#64748b;
    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
}

.cpcs-audit-summary strong{
    display:block;
    margin:5px 0 3px;
    color:#0f172a;
    font-size:25px;
    line-height:1;
}

.cpcs-audit-summary span{
    color:#94a3b8;
    font-size:10px;
}

.cpcs-audit-controls{
    display:grid;
    grid-template-columns:minmax(280px,1fr) 190px 170px;
    gap:10px;
    margin-bottom:14px;
}

.cpcs-audit-search{
    position:relative;
}

.cpcs-audit-search svg{
    position:absolute;
    left:13px;
    top:50%;
    width:16px;
    height:16px;
    color:#94a3b8;
    transform:translateY(-50%);
    pointer-events:none;
}

.cpcs-audit-controls input,
.cpcs-audit-controls select{
    width:100%;
    height:42px;
    margin:0;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#fff;
    color:#334155;
    font:inherit;
    font-size:12px;
    outline:none;
}

.cpcs-audit-controls input{
    padding:0 13px 0 39px;
}

.cpcs-audit-controls select{
    padding:0 12px;
}

.cpcs-audit-controls input:focus,
.cpcs-audit-controls select:focus{
    border-color:#2563eb;
    box-shadow:0 0 0 3px rgba(37,99,235,.10);
}

.cpcs-audit-register{
    overflow:hidden;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:15px;
    box-shadow:0 3px 14px rgba(15,23,42,.035);
}

.cpcs-audit-table-wrap{
    width:100%;
    overflow:auto;
}

.cpcs-audit-table{
    width:100%;
    min-width:980px;
    border-collapse:collapse;
}

.cpcs-audit-table th{
    padding:12px 14px;
    background:#f8fafc;
    border-bottom:1px solid #e2e8f0;
    color:#64748b;
    font-size:9px;
    font-weight:800;
    letter-spacing:.07em;
    text-align:left;
    text-transform:uppercase;
    white-space:nowrap;
}

.cpcs-audit-table td{
    padding:13px 14px;
    border-bottom:1px solid #eef2f7;
    color:#334155;
    font-size:11px;
    vertical-align:top;
}

.cpcs-audit-table tr:last-child td{
    border-bottom:none;
}

.cpcs-audit-table tbody tr:hover{
    background:#fbfdff;
}

.cpcs-audit-time,
.cpcs-audit-actor,
.cpcs-audit-event{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.cpcs-audit-time strong,
.cpcs-audit-actor strong,
.cpcs-audit-event > strong{
    color:#0f172a;
    font-size:11px;
    font-weight:700;
}

.cpcs-audit-time small,
.cpcs-audit-actor small{
    color:#94a3b8;
    font-size:9px;
}

.cpcs-audit-category,
.cpcs-audit-project,
.cpcs-audit-outcome{
    width:max-content;
    max-width:180px;
    display:inline-flex;
    align-items:center;
    padding:4px 7px;
    border-radius:999px;
    font-size:9px;
    font-weight:800;
    white-space:nowrap;
}

.cpcs-audit-category{
    margin-bottom:3px;
    background:#f1f5f9;
    color:#475569;
}

.cpcs-audit-category.is-approval{
    background:#ecfdf3;
    color:#15803d;
}

.cpcs-audit-category.is-access{
    background:#f5f3ff;
    color:#6d28d9;
}

.cpcs-audit-category.is-project{
    background:#eff6ff;
    color:#1d4ed8;
}

.cpcs-audit-category.is-procurement{
    background:#fff7ed;
    color:#c2410c;
}

.cpcs-audit-project{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    color:#475569;
}

.cpcs-audit-reference{
    color:#475569;
    font-weight:650;
}

.cpcs-audit-outcome{
    background:#f1f5f9;
    color:#475569;
}

.cpcs-audit-outcome.is-success{
    background:#ecfdf3;
    color:#15803d;
}

.cpcs-audit-event details{
    margin-top:3px;
}

.cpcs-audit-event summary{
    width:max-content;
    color:#2563eb;
    font-size:9px;
    font-weight:700;
    cursor:pointer;
}

.cpcs-audit-event pre{
    max-width:360px;
    max-height:180px;
    overflow:auto;
    margin:7px 0 0;
    padding:9px;
    border:1px solid #e2e8f0;
    border-radius:8px;
    background:#f8fafc;
    color:#475569;
    font-size:9px;
    white-space:pre-wrap;
    word-break:break-word;
}

.cpcs-audit-empty{
    min-height:220px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    color:#94a3b8;
    text-align:center;
}

.cpcs-audit-empty svg{
    width:28px;
    height:28px;
}

.cpcs-audit-empty strong{
    color:#334155;
    font-size:13px;
}

.cpcs-audit-empty span{
    font-size:11px;
}

.cpcs-access-audit-btn{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 15px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#fff;
    color:#334155;
    font-size:12px;
    font-weight:750;
    cursor:pointer;
}

.cpcs-access-audit-btn:hover{
    background:#eff6ff;
    border-color:#bfdbfe;
    color:#1d4ed8;
}

.cpcs-access-audit-btn svg{
    width:15px;
    height:15px;
}

@media(max-width:900px){
    .cpcs-audit-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .cpcs-audit-controls{
        grid-template-columns:1fr 1fr;
    }

    .cpcs-audit-search{
        grid-column:1 / -1;
    }
}

@media(max-width:600px){
    .cpcs-audit-backdrop{
        align-items:flex-start;
        padding:8px;
    }

    .cpcs-audit-modal{
        max-height:calc(100dvh - 16px);
        border-radius:14px;
    }

    .cpcs-audit-header{
        gap:14px;
        padding:18px 16px;
    }

    .cpcs-audit-header h2{
        font-size:20px;
    }

    .cpcs-audit-header p{
        font-size:10px;
    }

    .cpcs-audit-export{
        width:40px;
        padding:0;
        font-size:0;
    }

    .cpcs-audit-body{
        padding:12px;
    }

    .cpcs-audit-summary{
        gap:8px;
    }

    .cpcs-audit-summary article{
        padding:13px;
    }

    .cpcs-audit-summary strong{
        font-size:21px;
    }

    .cpcs-audit-controls{
        grid-template-columns:1fr;
    }

    .cpcs-audit-search{
        grid-column:auto;
    }
}

.cpcs-access-toolbar-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
    flex-wrap:wrap;
}

@media(max-width:600px){
    .cpcs-access-toolbar-actions{
        width:100%;
        justify-content:stretch;
    }

    .cpcs-access-toolbar-actions > button{
        flex:1 1 140px;
    }
}
