
:root{
    --saku-primary:#17488c;
    --saku-primary-dark:#0d3268;
    --saku-primary-soft:#edf4ff;
    --saku-bg:#f5f8fc;
    --saku-card:#ffffff;
    --saku-text:#173153;
    --saku-muted:#718198;
    --saku-line:#dfe7f1;
    --saku-success:#16803c;
    --saku-warning:#b7791f;
    --saku-danger:#c62828;
    --saku-radius:14px;
    --saku-shadow:0 10px 28px rgba(24,72,125,.08);
}

.saku-page{
    color:var(--saku-text);
}

.saku-page-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:16px;
}

.saku-page-title h2{
    margin:0;
    font-size:20px;
    color:var(--saku-text);
}

.saku-page-title p{
    margin:5px 0 0;
    color:var(--saku-muted);
    font-size:11px;
    line-height:1.5;
}

.saku-card{
    background:var(--saku-card);
    border:1px solid var(--saku-line);
    border-radius:var(--saku-radius);
    box-shadow:var(--saku-shadow);
}

.saku-toolbar{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
    padding:13px 14px;
    border-bottom:1px solid var(--saku-line);
}

.saku-search{
    position:relative;
    flex:1 1 280px;
    max-width:470px;
}

.saku-search input{
    width:100%;
    height:40px;
    border:1px solid var(--saku-line);
    border-radius:10px;
    background:#fbfcfe;
    color:var(--saku-text);
    padding:0 38px 0 12px;
    font-size:11px;
    outline:none;
}

.saku-search input:focus{
    border-color:#91b2dc;
    background:#fff;
    box-shadow:0 0 0 3px rgba(23,72,140,.08);
}

.saku-btn{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:9px;
    padding:0 12px;
    border:1px solid var(--saku-line);
    background:#fff;
    color:var(--saku-text);
    text-decoration:none;
    font-size:10px;
    font-weight:700;
    cursor:pointer;
}

.saku-btn:hover{background:#f4f7fb}
.saku-btn-primary{
    background:var(--saku-primary);
    color:#fff;
    border-color:var(--saku-primary);
}
.saku-btn-primary:hover{background:var(--saku-primary-dark)}

.saku-badge{
    display:inline-flex;
    align-items:center;
    min-height:20px;
    border-radius:999px;
    padding:2px 7px;
    font-size:8px;
    font-weight:700;
    white-space:nowrap;
}

.saku-badge-parent{
    background:#edf4ff;
    color:#17488c;
}
.saku-badge-posting{
    background:#eef9f1;
    color:#19713a;
}

.saku-empty{
    padding:36px 18px;
    text-align:center;
    color:var(--saku-muted);
    font-size:11px;
}

.saku-tree{
    padding:12px 14px 18px;
    overflow:auto;
}

.saku-tree ul{
    list-style:none;
    margin:0;
    padding:0;
}

.saku-tree .tree-children{
    margin-left:24px;
    padding-left:14px;
    border-left:1px dashed #ccd9e8;
}

.saku-tree-node{
    position:relative;
    margin:3px 0;
}

.saku-tree-row{
    min-height:42px;
    display:grid;
    grid-template-columns:28px minmax(130px,170px) minmax(220px,1fr) auto;
    align-items:center;
    gap:9px;
    border:1px solid transparent;
    border-radius:9px;
    padding:5px 8px;
    transition:.15s ease;
}

.saku-tree-row:hover{
    background:#f7faff;
    border-color:#e0e9f4;
}

.saku-tree-toggle{
    width:26px;
    height:26px;
    border:1px solid #d9e4f0;
    border-radius:7px;
    background:#fff;
    color:#17488c;
    display:grid;
    place-items:center;
    cursor:pointer;
    font-size:11px;
    line-height:1;
}

.saku-tree-toggle:hover{
    background:#edf4ff;
}

.saku-tree-toggle.no-child{
    visibility:hidden;
}

.saku-tree-code{
    font-family:Consolas,Monaco,monospace;
    font-size:10px;
    font-weight:700;
    color:#31577f;
}

.saku-tree-name{
    min-width:0;
    font-size:11px;
    color:var(--saku-text);
    white-space:normal;
    line-height:1.35;
}

.saku-tree-meta{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}

.saku-tree-node.collapsed > .tree-children{
    display:none;
}

.saku-tree-node.collapsed > .saku-tree-row .saku-tree-toggle{
    transform:rotate(-90deg);
}

.saku-tree-hidden{
    display:none !important;
}

.saku-info-strip{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    padding:10px 14px;
    background:#f8fbff;
    border-bottom:1px solid var(--saku-line);
    font-size:9px;
    color:var(--saku-muted);
}

.saku-info-strip strong{
    color:var(--saku-text);
}

@media(max-width:760px){
    .saku-tree-row{
        grid-template-columns:28px 110px minmax(170px,1fr);
    }
    .saku-tree-meta{
        grid-column:2 / -1;
        justify-content:flex-start;
        padding-bottom:3px;
    }
}


/* =========================================================
   ACCOUNT / COA TREEVIEW
   Reusable across Blade pages
   ========================================================= */

.module-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:18px;
}

.module-heading .eyebrow{
    margin:0 0 4px;
    font-size:9px;
    letter-spacing:.12em;
    color:#7a8ba0;
    font-weight:800;
}

.module-heading h1{
    margin:0;
    font-size:22px;
    color:var(--saku-text);
    letter-spacing:-.02em;
}

.module-card{
    background:#fff;
    border:1px solid var(--saku-line);
    border-radius:14px;
    box-shadow:var(--saku-shadow);
}

.account-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:14px;
}

.account-stats > div{
    background:#fff;
    border:1px solid var(--saku-line);
    border-radius:12px;
    padding:13px 15px;
    box-shadow:0 6px 18px rgba(24,72,125,.05);
}

.account-stats span{
    display:block;
    font-size:9px;
    color:var(--saku-muted);
    margin-bottom:5px;
}

.account-stats strong{
    font-size:20px;
    color:var(--saku-text);
}

.account-card{
    overflow:hidden;
}

.account-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    padding:13px 14px;
    border-bottom:1px solid var(--saku-line);
    background:#fbfdff;
}

.account-search{
    flex:1 1 300px;
    max-width:520px;
    position:relative;
}

.account-search > span{
    position:absolute;
    left:12px;
    top:50%;
    transform:translateY(-50%);
    color:#8293a8;
    font-size:14px;
}

.account-search input{
    width:100%;
    height:40px;
    border:1px solid #dce5ef;
    border-radius:10px;
    background:#fff;
    color:var(--saku-text);
    padding:0 38px 0 34px;
    font-size:11px;
    outline:none;
}

.account-search input:focus{
    border-color:#8fb1dd;
    box-shadow:0 0 0 3px rgba(23,72,140,.08);
}

.account-search button{
    position:absolute;
    right:7px;
    top:50%;
    transform:translateY(-50%);
    width:26px;
    height:26px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#8796a8;
    cursor:pointer;
}

.account-search button:hover{background:#eef3f8}

.tree-buttons{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
}

.tree-buttons button{
    height:36px;
    border:1px solid #dce5ef;
    border-radius:9px;
    background:#fff;
    color:#31577f;
    padding:0 11px;
    font-size:9px;
    font-weight:700;
    cursor:pointer;
}

.tree-buttons button:hover{
    background:#eef5ff;
    color:#17488c;
}

.tree-legend{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    padding:9px 14px;
    font-size:9px;
    color:#718198;
    border-bottom:1px solid #edf1f5;
}

.tree-legend span{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.header-dot,.posting-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    display:inline-block;
}
.header-dot{background:#17488c}
.posting-dot{background:#2b8a4a}

.account-tree{
    padding:10px 12px 16px;
    overflow:auto;
}

.account-node{
    display:block;
    margin:2px 0;
}

.account-node > summary{
    list-style:none;
    cursor:pointer;
}
.account-node > summary::-webkit-details-marker{display:none}

.account-children{
    margin-left:18px;
    padding-left:12px;
    border-left:1px dashed #cbd8e7;
}

.account-item{
    min-height:42px;
    display:grid;
    grid-template-columns:20px 36px 118px minmax(220px,1fr) 78px 70px auto;
    align-items:center;
    gap:8px;
    padding:5px 8px;
    border:1px solid transparent;
    border-radius:9px;
    transition:.15s ease;
    position:relative;
}

.account-item:hover{
    background:#f7faff;
    border-color:#e2eaf3;
}

.account-item.header{
    font-weight:700;
}

.account-item.posting .account-name{
    font-weight:500;
}

.tree-toggle{
    width:18px;
    color:#17488c;
    font-size:14px;
    text-align:center;
    transition:.15s;
}

details[open] > summary .tree-toggle{
    transform:rotate(90deg);
}

.level-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:20px;
    border-radius:999px;
    background:#eef3f8;
    color:#687b92;
    font-size:8px;
    font-weight:800;
}

.account-item code{
    font-family:Consolas,Monaco,monospace;
    font-size:10px;
    color:#244f7d;
    font-weight:800;
    background:transparent;
}

.account-name{
    font-size:10px;
    line-height:1.35;
    color:#233b59;
    min-width:0;
}

.account-type{
    font-size:8px;
    color:#73849a;
    white-space:nowrap;
}

.posting-badge{
    display:inline-flex;
    justify-content:center;
    min-width:60px;
    border-radius:999px;
    padding:4px 7px;
    font-size:8px;
    font-weight:800;
}

.account-item.header .posting-badge{
    background:#edf4ff;
    color:#17488c;
}

.account-item.posting .posting-badge{
    background:#eef9f1;
    color:#21753d;
}

.account-actions{
    display:flex;
    justify-content:flex-end;
    gap:5px;
}

.tree-action{
    width:28px;
    height:28px;
    border-radius:8px;
    display:grid;
    place-items:center;
    text-decoration:none;
    font-size:12px;
    border:1px solid #dce5ef;
    background:#fff;
}

.tree-action.add{color:#17488c}
.tree-action.edit{color:#8a6414}
.tree-action.delete{color:#b42323}

.tree-action:hover{background:#f2f6fb}
.tree-action svg{
    width:14px;
    height:14px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.search-match .account-name,
.search-match code{
    background:#fff2b8;
    border-radius:4px;
    padding:1px 3px;
}

.empty-table{
    padding:34px 18px;
    text-align:center;
    color:#7c8b9e;
}
.empty-table span{
    display:block;
    font-size:24px;
    margin-bottom:8px;
}
.empty-table h3{
    margin:0;
    font-size:13px;
    color:#425770;
}
.empty-table p{
    font-size:10px;
    margin:5px 0 0;
}

.form-card{
    padding:18px;
}
.form-card-header{
    display:flex;
    align-items:center;
    gap:10px;
    padding-bottom:13px;
    margin-bottom:16px;
    border-bottom:1px solid var(--saku-line);
}
.form-card-icon{
    width:36px;
    height:36px;
    border-radius:10px;
    background:#edf4ff;
    color:#17488c;
    display:grid;
    place-items:center;
}
.form-card-header h2{
    margin:0;
    font-size:14px;
}
.form-card-header p{
    margin:3px 0 0;
    font-size:9px;
    color:var(--saku-muted);
}

.form-grid{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:14px;
}
.form-group{grid-column:span 6}
.small-field{grid-column:span 4}
.wide-field{grid-column:span 8}
.half-field{grid-column:span 6}
.full-field{grid-column:1/-1}

.form-group label{
    display:block;
    margin-bottom:6px;
    font-size:9px;
    font-weight:800;
    color:#53657d;
}
.form-group label b{color:#c62828}
.form-group input,
.form-group select{
    width:100%;
    height:40px;
    border:1px solid #dce5ef;
    border-radius:9px;
    padding:0 10px;
    font-size:10px;
    color:#29415f;
    background:#fff;
}
.form-group small{
    display:block;
    margin-top:5px;
    font-size:8px;
    color:#8593a4;
}

.account-kind-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.account-kind-options label{
    margin:0;
}
.account-kind-options input{display:none}
.account-kind-options span{
    border:1px solid #dce5ef;
    border-radius:10px;
    padding:12px;
    display:block;
    cursor:pointer;
}
.account-kind-options input:checked + span{
    border-color:#8fb1dd;
    background:#f3f8ff;
}
.account-kind-options span b,
.account-kind-options span small{
    display:block;
}
.account-kind-options span i{
    font-style:normal;
    color:#17488c;
}

.form-actions,
.delete-actions{
    margin-top:18px;
    display:flex;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.btn{
    min-height:38px;
    border-radius:9px;
    border:1px solid #dce5ef;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 13px;
    font-size:10px;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
}
.btn-primary{background:#17488c;color:#fff;border-color:#17488c}
.btn-secondary{background:#fff;color:#4f6279}
.btn-danger{background:#b42323;color:#fff;border-color:#b42323}

.alert{
    display:flex;
    gap:9px;
    align-items:flex-start;
    border-radius:10px;
    padding:10px 12px;
    margin-bottom:12px;
    font-size:10px;
}
.alert-success{
    background:#f2fff6;
    border:1px solid #cce8d5;
    color:#286e3d;
}
.alert-danger{
    background:#fff4f4;
    border:1px solid #f0cccc;
    color:#9e2727;
}
.alert p{margin:2px 0 0}
.alert ul{margin:5px 0 0 17px;padding:0}

.delete-card{
    padding:24px;
    max-width:720px;
}
.delete-icon{
    width:48px;height:48px;border-radius:50%;
    display:grid;place-items:center;
    background:#fff1f1;color:#b42323;
    font-size:22px;font-weight:800;
}
.delete-card h2{margin:12px 0 7px;font-size:17px}
.delete-card > p{font-size:10px;color:#718198;line-height:1.6}
.delete-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:15px;
}
.delete-summary div{
    border:1px solid #e0e7ef;
    border-radius:9px;
    padding:10px;
}
.delete-summary span{
    display:block;
    font-size:8px;
    color:#8190a2;
}
.delete-summary strong{
    display:block;
    margin-top:4px;
    font-size:10px;
}

@media(max-width:900px){
    .account-item{
        grid-template-columns:20px 34px 100px minmax(170px,1fr);
    }
    .account-type,.posting-badge,.account-actions{
        grid-column:auto;
    }
}
@media(max-width:720px){
    .account-stats{grid-template-columns:1fr}
    .form-grid{grid-template-columns:1fr}
    .form-group,.small-field,.wide-field,.half-field,.full-field{grid-column:1/-1}
    .account-kind-options{grid-template-columns:1fr}
    .delete-summary{grid-template-columns:1fr}
}


/* Embedded module inside SAKU master layout */
.embedded-module{
    width:100%;
    max-width:100%;
    animation:sakuModuleIn .18s ease-out;
}

.embedded-module .module-heading{
    margin-top:0;
}

.embedded-module .account-card,
.embedded-module .module-card{
    box-shadow:0 6px 18px rgba(24,72,125,.05);
}

@keyframes sakuModuleIn{
    from{opacity:.4;transform:translateY(4px)}
    to{opacity:1;transform:translateY(0)}
}

/* Content remains inside main panel; no second page shell */
.content{
    min-height:calc(100vh - 72px);
}

.module-heading-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
@media(max-width:720px){
    .module-heading-actions{
        width:100%;
        justify-content:flex-start;
    }
}


/* =========================================================
   GENERIC CRUD MODULE UI — reusable for IPA and other Blades
   ========================================================= */
.saku-module{width:100%;animation:sakuModuleIn .18s ease-out}
.saku-module-header{
    display:flex;align-items:flex-end;justify-content:space-between;
    gap:14px;flex-wrap:wrap;margin-bottom:15px
}
.saku-module-title .eyebrow{
    margin:0 0 4px;font-size:8px;font-weight:800;letter-spacing:.12em;
    text-transform:uppercase;color:#7b8ba1
}
.saku-module-title h1{margin:0;font-size:20px;color:#173153}
.saku-module-title p{margin:5px 0 0;font-size:9px;line-height:1.5;color:#7b8ba1}
.saku-module-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.saku-panel{
    background:#fff;border:1px solid #dfe7f1;border-radius:14px;
    box-shadow:0 7px 20px rgba(24,72,125,.06);overflow:hidden
}
.saku-panel + .saku-panel{margin-top:14px}
.saku-panel-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid #e8eef5;
    background:#fbfdff
}
.saku-panel-head h2{margin:0;font-size:12px;color:#173153}
.saku-panel-body{padding:14px}

.saku-filter-bar{
    display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;
    margin-bottom:14px;padding:12px 13px;background:#fff;
    border:1px solid #dfe7f1;border-radius:13px;
    box-shadow:0 6px 18px rgba(24,72,125,.05)
}
.saku-filter-field{min-width:155px}
.saku-filter-field label,.saku-form-group label{
    display:block;margin:0 0 5px 2px;font-size:8px;font-weight:800;
    letter-spacing:.04em;color:#62758c
}
.saku-control{
    width:100%;height:38px;border:1px solid #d9e3ee;border-radius:9px;
    background:#fff;color:#28415f;padding:0 10px;font-size:10px;outline:none
}
textarea.saku-control{height:auto;min-height:76px;padding:10px;resize:vertical}
.saku-control:focus{
    border-color:#8eafdb;box-shadow:0 0 0 3px rgba(23,72,140,.08)
}
.saku-control[readonly]{background:#f4f7fa;color:#6e7f93}

.saku-form-grid{
    display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px
}
.saku-col-2{grid-column:span 2}.saku-col-3{grid-column:span 3}
.saku-col-4{grid-column:span 4}.saku-col-6{grid-column:span 6}
.saku-col-8{grid-column:span 8}.saku-col-12{grid-column:1/-1}
.saku-form-help{display:block;margin-top:4px;font-size:8px;color:#8795a6}

.saku-btn{
    min-height:36px;border-radius:9px;padding:0 12px;
    display:inline-flex;align-items:center;justify-content:center;gap:6px;
    border:1px solid #d9e3ee;background:#fff;color:#425a75;
    text-decoration:none;font-size:9px;font-weight:800;cursor:pointer
}
.saku-btn:hover{background:#f2f6fb}
.saku-btn-primary{background:#17488c;border-color:#17488c;color:#fff}
.saku-btn-primary:hover{background:#0f3a73}
.saku-btn-danger{background:#fff3f3;border-color:#f0cccc;color:#ae2828}
.saku-btn-success{background:#eef9f1;border-color:#cde6d3;color:#28723e}

.saku-table-wrap{overflow:auto}
.saku-table{
    width:100%;border-collapse:separate;border-spacing:0;min-width:900px
}
.saku-table th{
    padding:9px 10px;background:#f5f8fc;border-bottom:1px solid #dfe7f1;
    color:#65778e;font-size:8px;text-transform:uppercase;letter-spacing:.05em;
    text-align:left;white-space:nowrap
}
.saku-table td{
    padding:10px;border-bottom:1px solid #edf1f5;color:#304964;
    font-size:9px;vertical-align:top
}
.saku-table tbody tr:hover{background:#f9fbfe}
.saku-table .num{text-align:right;font-variant-numeric:tabular-nums}
.saku-table .center{text-align:center}

.saku-docno{font-family:Consolas,monospace;font-size:10px;font-weight:800;color:#17488c}
.saku-muted{font-size:8px;color:#8795a7}
.saku-stack{display:grid;gap:4px}
.saku-badge{
    display:inline-flex;align-items:center;border-radius:999px;
    padding:3px 7px;font-size:8px;font-weight:800
}
.saku-badge-blue{background:#edf4ff;color:#17488c}
.saku-badge-green{background:#eef9f1;color:#28723e}
.saku-badge-yellow{background:#fff8e6;color:#906613}
.saku-badge-gray{background:#f0f3f7;color:#64758a}

.saku-row-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.saku-icon-btn{
    width:29px;height:29px;border-radius:8px;border:1px solid #dce5ef;
    background:#fff;color:#31577f;display:grid;place-items:center;
    text-decoration:none;cursor:pointer;font-size:11px
}
.saku-icon-btn:hover{background:#edf4ff}
.saku-icon-btn.danger{color:#b42323}
.saku-icon-btn.success{color:#28723e}

.saku-summary{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;
    margin-bottom:14px
}
.saku-summary > div{
    background:#fff;border:1px solid #dfe7f1;border-radius:11px;
    padding:11px 13px
}
.saku-summary span{display:block;font-size:8px;color:#7b8ba0}
.saku-summary strong{display:block;margin-top:4px;font-size:17px;color:#173153}

.saku-detail-table{min-width:860px}
.saku-money{text-align:right}
.saku-total-row td{font-weight:800;background:#f8fbff}
.saku-form-actions{
    margin-top:14px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap
}
.saku-alert{
    border-radius:10px;padding:10px 12px;margin-bottom:12px;
    font-size:9px;line-height:1.5
}
.saku-alert-danger{background:#fff4f4;border:1px solid #f0cccc;color:#9d2626}
.saku-alert-success{background:#f2fff6;border:1px solid #cce7d5;color:#286e3d}

@media(max-width:900px){
    .saku-form-grid{grid-template-columns:1fr}
    .saku-col-2,.saku-col-3,.saku-col-4,.saku-col-6,.saku-col-8,.saku-col-12{grid-column:1/-1}
    .saku-summary{grid-template-columns:1fr}
}



:root{
    --saku-primary:#17488c;
    --saku-primary-dark:#0d3268;
    --saku-primary-soft:#edf4ff;
    --saku-bg:#f5f8fc;
    --saku-card:#ffffff;
    --saku-text:#173153;
    --saku-muted:#718198;
    --saku-line:#dfe7f1;
    --saku-success:#16803c;
    --saku-warning:#b7791f;
    --saku-danger:#c62828;
    --saku-radius:14px;
    --saku-shadow:0 10px 28px rgba(24,72,125,.08);
}

.saku-page{
    color:var(--saku-text);
}

.saku-page-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:16px;
}

.saku-page-title h2{
    margin:0;
    font-size:20px;
    color:var(--saku-text);
}

.saku-page-title p{
    margin:5px 0 0;
    color:var(--saku-muted);
    font-size:11px;
    line-height:1.5;
}

.saku-card{
    background:var(--saku-card);
    border:1px solid var(--saku-line);
    border-radius:var(--saku-radius);
    box-shadow:var(--saku-shadow);
}

.saku-toolbar{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
    padding:13px 14px;
    border-bottom:1px solid var(--saku-line);
}

.saku-search{
    position:relative;
    flex:1 1 280px;
    max-width:470px;
}

.saku-search input{
    width:100%;
    height:40px;
    border:1px solid var(--saku-line);
    border-radius:10px;
    background:#fbfcfe;
    color:var(--saku-text);
    padding:0 38px 0 12px;
    font-size:11px;
    outline:none;
}

.saku-search input:focus{
    border-color:#91b2dc;
    background:#fff;
    box-shadow:0 0 0 3px rgba(23,72,140,.08);
}

.saku-btn{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:9px;
    padding:0 12px;
    border:1px solid var(--saku-line);
    background:#fff;
    color:var(--saku-text);
    text-decoration:none;
    font-size:10px;
    font-weight:700;
    cursor:pointer;
}

.saku-btn:hover{background:#f4f7fb}
.saku-btn-primary{
    background:var(--saku-primary);
    color:#fff;
    border-color:var(--saku-primary);
}
.saku-btn-primary:hover{background:var(--saku-primary-dark)}

.saku-badge{
    display:inline-flex;
    align-items:center;
    min-height:20px;
    border-radius:999px;
    padding:2px 7px;
    font-size:8px;
    font-weight:700;
    white-space:nowrap;
}

.saku-badge-parent{
    background:#edf4ff;
    color:#17488c;
}
.saku-badge-posting{
    background:#eef9f1;
    color:#19713a;
}

.saku-empty{
    padding:36px 18px;
    text-align:center;
    color:var(--saku-muted);
    font-size:11px;
}

.saku-tree{
    padding:12px 14px 18px;
    overflow:auto;
}

.saku-tree ul{
    list-style:none;
    margin:0;
    padding:0;
}

.saku-tree .tree-children{
    margin-left:24px;
    padding-left:14px;
    border-left:1px dashed #ccd9e8;
}

.saku-tree-node{
    position:relative;
    margin:3px 0;
}

.saku-tree-row{
    min-height:42px;
    display:grid;
    grid-template-columns:28px minmax(130px,170px) minmax(220px,1fr) auto;
    align-items:center;
    gap:9px;
    border:1px solid transparent;
    border-radius:9px;
    padding:5px 8px;
    transition:.15s ease;
}

.saku-tree-row:hover{
    background:#f7faff;
    border-color:#e0e9f4;
}

.saku-tree-toggle{
    width:26px;
    height:26px;
    border:1px solid #d9e4f0;
    border-radius:7px;
    background:#fff;
    color:#17488c;
    display:grid;
    place-items:center;
    cursor:pointer;
    font-size:11px;
    line-height:1;
}

.saku-tree-toggle:hover{
    background:#edf4ff;
}

.saku-tree-toggle.no-child{
    visibility:hidden;
}

.saku-tree-code{
    font-family:Consolas,Monaco,monospace;
    font-size:10px;
    font-weight:700;
    color:#31577f;
}

.saku-tree-name{
    min-width:0;
    font-size:11px;
    color:var(--saku-text);
    white-space:normal;
    line-height:1.35;
}

.saku-tree-meta{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}

.saku-tree-node.collapsed > .tree-children{
    display:none;
}

.saku-tree-node.collapsed > .saku-tree-row .saku-tree-toggle{
    transform:rotate(-90deg);
}

.saku-tree-hidden{
    display:none !important;
}

.saku-info-strip{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    padding:10px 14px;
    background:#f8fbff;
    border-bottom:1px solid var(--saku-line);
    font-size:9px;
    color:var(--saku-muted);
}

.saku-info-strip strong{
    color:var(--saku-text);
}

@media(max-width:760px){
    .saku-tree-row{
        grid-template-columns:28px 110px minmax(170px,1fr);
    }
    .saku-tree-meta{
        grid-column:2 / -1;
        justify-content:flex-start;
        padding-bottom:3px;
    }
}


/* =========================================================
   ACCOUNT / COA TREEVIEW
   Reusable across Blade pages
   ========================================================= */

.module-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:18px;
}

.module-heading .eyebrow{
    margin:0 0 4px;
    font-size:9px;
    letter-spacing:.12em;
    color:#7a8ba0;
    font-weight:800;
}

.module-heading h1{
    margin:0;
    font-size:22px;
    color:var(--saku-text);
    letter-spacing:-.02em;
}

.module-card{
    background:#fff;
    border:1px solid var(--saku-line);
    border-radius:14px;
    box-shadow:var(--saku-shadow);
}

.account-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:14px;
}

.account-stats > div{
    background:#fff;
    border:1px solid var(--saku-line);
    border-radius:12px;
    padding:13px 15px;
    box-shadow:0 6px 18px rgba(24,72,125,.05);
}

.account-stats span{
    display:block;
    font-size:9px;
    color:var(--saku-muted);
    margin-bottom:5px;
}

.account-stats strong{
    font-size:20px;
    color:var(--saku-text);
}

.account-card{
    overflow:hidden;
}

.account-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    padding:13px 14px;
    border-bottom:1px solid var(--saku-line);
    background:#fbfdff;
}

.account-search{
    flex:1 1 300px;
    max-width:520px;
    position:relative;
}

.account-search > span{
    position:absolute;
    left:12px;
    top:50%;
    transform:translateY(-50%);
    color:#8293a8;
    font-size:14px;
}

.account-search input{
    width:100%;
    height:40px;
    border:1px solid #dce5ef;
    border-radius:10px;
    background:#fff;
    color:var(--saku-text);
    padding:0 38px 0 34px;
    font-size:11px;
    outline:none;
}

.account-search input:focus{
    border-color:#8fb1dd;
    box-shadow:0 0 0 3px rgba(23,72,140,.08);
}

.account-search button{
    position:absolute;
    right:7px;
    top:50%;
    transform:translateY(-50%);
    width:26px;
    height:26px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#8796a8;
    cursor:pointer;
}

.account-search button:hover{background:#eef3f8}

.tree-buttons{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
}

.tree-buttons button{
    height:36px;
    border:1px solid #dce5ef;
    border-radius:9px;
    background:#fff;
    color:#31577f;
    padding:0 11px;
    font-size:9px;
    font-weight:700;
    cursor:pointer;
}

.tree-buttons button:hover{
    background:#eef5ff;
    color:#17488c;
}

.tree-legend{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    padding:9px 14px;
    font-size:9px;
    color:#718198;
    border-bottom:1px solid #edf1f5;
}

.tree-legend span{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.header-dot,.posting-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    display:inline-block;
}
.header-dot{background:#17488c}
.posting-dot{background:#2b8a4a}

.account-tree{
    padding:10px 12px 16px;
    overflow:auto;
}

.account-node{
    display:block;
    margin:2px 0;
}

.account-node > summary{
    list-style:none;
    cursor:pointer;
}
.account-node > summary::-webkit-details-marker{display:none}

.account-children{
    margin-left:18px;
    padding-left:12px;
    border-left:1px dashed #cbd8e7;
}

.account-item{
    min-height:42px;
    display:grid;
    grid-template-columns:20px 36px 118px minmax(220px,1fr) 78px 70px auto;
    align-items:center;
    gap:8px;
    padding:5px 8px;
    border:1px solid transparent;
    border-radius:9px;
    transition:.15s ease;
    position:relative;
}

.account-item:hover{
    background:#f7faff;
    border-color:#e2eaf3;
}

.account-item.header{
    font-weight:700;
}

.account-item.posting .account-name{
    font-weight:500;
}

.tree-toggle{
    width:18px;
    color:#17488c;
    font-size:14px;
    text-align:center;
    transition:.15s;
}

details[open] > summary .tree-toggle{
    transform:rotate(90deg);
}

.level-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:20px;
    border-radius:999px;
    background:#eef3f8;
    color:#687b92;
    font-size:8px;
    font-weight:800;
}

.account-item code{
    font-family:Consolas,Monaco,monospace;
    font-size:10px;
    color:#244f7d;
    font-weight:800;
    background:transparent;
}

.account-name{
    font-size:10px;
    line-height:1.35;
    color:#233b59;
    min-width:0;
}

.account-type{
    font-size:8px;
    color:#73849a;
    white-space:nowrap;
}

.posting-badge{
    display:inline-flex;
    justify-content:center;
    min-width:60px;
    border-radius:999px;
    padding:4px 7px;
    font-size:8px;
    font-weight:800;
}

.account-item.header .posting-badge{
    background:#edf4ff;
    color:#17488c;
}

.account-item.posting .posting-badge{
    background:#eef9f1;
    color:#21753d;
}

.account-actions{
    display:flex;
    justify-content:flex-end;
    gap:5px;
}

.tree-action{
    width:28px;
    height:28px;
    border-radius:8px;
    display:grid;
    place-items:center;
    text-decoration:none;
    font-size:12px;
    border:1px solid #dce5ef;
    background:#fff;
}

.tree-action.add{color:#17488c}
.tree-action.edit{color:#8a6414}
.tree-action.delete{color:#b42323}

.tree-action:hover{background:#f2f6fb}
.tree-action svg{
    width:14px;
    height:14px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.search-match .account-name,
.search-match code{
    background:#fff2b8;
    border-radius:4px;
    padding:1px 3px;
}

.empty-table{
    padding:34px 18px;
    text-align:center;
    color:#7c8b9e;
}
.empty-table span{
    display:block;
    font-size:24px;
    margin-bottom:8px;
}
.empty-table h3{
    margin:0;
    font-size:13px;
    color:#425770;
}
.empty-table p{
    font-size:10px;
    margin:5px 0 0;
}

.form-card{
    padding:18px;
}
.form-card-header{
    display:flex;
    align-items:center;
    gap:10px;
    padding-bottom:13px;
    margin-bottom:16px;
    border-bottom:1px solid var(--saku-line);
}
.form-card-icon{
    width:36px;
    height:36px;
    border-radius:10px;
    background:#edf4ff;
    color:#17488c;
    display:grid;
    place-items:center;
}
.form-card-header h2{
    margin:0;
    font-size:14px;
}
.form-card-header p{
    margin:3px 0 0;
    font-size:9px;
    color:var(--saku-muted);
}

.form-grid{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:14px;
}
.form-group{grid-column:span 6}
.small-field{grid-column:span 4}
.wide-field{grid-column:span 8}
.half-field{grid-column:span 6}
.full-field{grid-column:1/-1}

.form-group label{
    display:block;
    margin-bottom:6px;
    font-size:9px;
    font-weight:800;
    color:#53657d;
}
.form-group label b{color:#c62828}
.form-group input,
.form-group select{
    width:100%;
    height:40px;
    border:1px solid #dce5ef;
    border-radius:9px;
    padding:0 10px;
    font-size:10px;
    color:#29415f;
    background:#fff;
}
.form-group small{
    display:block;
    margin-top:5px;
    font-size:8px;
    color:#8593a4;
}

.account-kind-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.account-kind-options label{
    margin:0;
}
.account-kind-options input{display:none}
.account-kind-options span{
    border:1px solid #dce5ef;
    border-radius:10px;
    padding:12px;
    display:block;
    cursor:pointer;
}
.account-kind-options input:checked + span{
    border-color:#8fb1dd;
    background:#f3f8ff;
}
.account-kind-options span b,
.account-kind-options span small{
    display:block;
}
.account-kind-options span i{
    font-style:normal;
    color:#17488c;
}

.form-actions,
.delete-actions{
    margin-top:18px;
    display:flex;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.btn{
    min-height:38px;
    border-radius:9px;
    border:1px solid #dce5ef;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 13px;
    font-size:10px;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
}
.btn-primary{background:#17488c;color:#fff;border-color:#17488c}
.btn-secondary{background:#fff;color:#4f6279}
.btn-danger{background:#b42323;color:#fff;border-color:#b42323}

.alert{
    display:flex;
    gap:9px;
    align-items:flex-start;
    border-radius:10px;
    padding:10px 12px;
    margin-bottom:12px;
    font-size:10px;
}
.alert-success{
    background:#f2fff6;
    border:1px solid #cce8d5;
    color:#286e3d;
}
.alert-danger{
    background:#fff4f4;
    border:1px solid #f0cccc;
    color:#9e2727;
}
.alert p{margin:2px 0 0}
.alert ul{margin:5px 0 0 17px;padding:0}

.delete-card{
    padding:24px;
    max-width:720px;
}
.delete-icon{
    width:48px;height:48px;border-radius:50%;
    display:grid;place-items:center;
    background:#fff1f1;color:#b42323;
    font-size:22px;font-weight:800;
}
.delete-card h2{margin:12px 0 7px;font-size:17px}
.delete-card > p{font-size:10px;color:#718198;line-height:1.6}
.delete-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:15px;
}
.delete-summary div{
    border:1px solid #e0e7ef;
    border-radius:9px;
    padding:10px;
}
.delete-summary span{
    display:block;
    font-size:8px;
    color:#8190a2;
}
.delete-summary strong{
    display:block;
    margin-top:4px;
    font-size:10px;
}

@media(max-width:900px){
    .account-item{
        grid-template-columns:20px 34px 100px minmax(170px,1fr);
    }
    .account-type,.posting-badge,.account-actions{
        grid-column:auto;
    }
}
@media(max-width:720px){
    .account-stats{grid-template-columns:1fr}
    .form-grid{grid-template-columns:1fr}
    .form-group,.small-field,.wide-field,.half-field,.full-field{grid-column:1/-1}
    .account-kind-options{grid-template-columns:1fr}
    .delete-summary{grid-template-columns:1fr}
}


/* Embedded module inside SAKU master layout */
.embedded-module{
    width:100%;
    max-width:100%;
    animation:sakuModuleIn .18s ease-out;
}

.embedded-module .module-heading{
    margin-top:0;
}

.embedded-module .account-card,
.embedded-module .module-card{
    box-shadow:0 6px 18px rgba(24,72,125,.05);
}

@keyframes sakuModuleIn{
    from{opacity:.4;transform:translateY(4px)}
    to{opacity:1;transform:translateY(0)}
}

/* Content remains inside main panel; no second page shell */
.content{
    min-height:calc(100vh - 72px);
}

.module-heading-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
@media(max-width:720px){
    .module-heading-actions{
        width:100%;
        justify-content:flex-start;
    }
}


/* =========================================================
   GENERIC CRUD MODULE UI — reusable for IPA and other Blades
   ========================================================= */
.saku-module{width:100%;animation:sakuModuleIn .18s ease-out}
.saku-module-header{
    display:flex;align-items:flex-end;justify-content:space-between;
    gap:14px;flex-wrap:wrap;margin-bottom:15px
}
.saku-module-title .eyebrow{
    margin:0 0 4px;font-size:8px;font-weight:800;letter-spacing:.12em;
    text-transform:uppercase;color:#7b8ba1
}
.saku-module-title h1{margin:0;font-size:20px;color:#173153}
.saku-module-title p{margin:5px 0 0;font-size:9px;line-height:1.5;color:#7b8ba1}
.saku-module-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.saku-panel{
    background:#fff;border:1px solid #dfe7f1;border-radius:14px;
    box-shadow:0 7px 20px rgba(24,72,125,.06);overflow:hidden
}
.saku-panel + .saku-panel{margin-top:14px}
.saku-panel-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid #e8eef5;
    background:#fbfdff
}
.saku-panel-head h2{margin:0;font-size:12px;color:#173153}
.saku-panel-body{padding:14px}

.saku-filter-bar{
    display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;
    margin-bottom:14px;padding:12px 13px;background:#fff;
    border:1px solid #dfe7f1;border-radius:13px;
    box-shadow:0 6px 18px rgba(24,72,125,.05)
}
.saku-filter-field{min-width:155px}
.saku-filter-field label,.saku-form-group label{
    display:block;margin:0 0 5px 2px;font-size:8px;font-weight:800;
    letter-spacing:.04em;color:#62758c
}
.saku-control{
    width:100%;height:38px;border:1px solid #d9e3ee;border-radius:9px;
    background:#fff;color:#28415f;padding:0 10px;font-size:10px;outline:none
}
textarea.saku-control{height:auto;min-height:76px;padding:10px;resize:vertical}
.saku-control:focus{
    border-color:#8eafdb;box-shadow:0 0 0 3px rgba(23,72,140,.08)
}
.saku-control[readonly]{background:#f4f7fa;color:#6e7f93}

.saku-form-grid{
    display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px
}
.saku-col-2{grid-column:span 2}.saku-col-3{grid-column:span 3}
.saku-col-4{grid-column:span 4}.saku-col-6{grid-column:span 6}
.saku-col-8{grid-column:span 8}.saku-col-12{grid-column:1/-1}
.saku-form-help{display:block;margin-top:4px;font-size:8px;color:#8795a6}

.saku-btn{
    min-height:36px;border-radius:9px;padding:0 12px;
    display:inline-flex;align-items:center;justify-content:center;gap:6px;
    border:1px solid #d9e3ee;background:#fff;color:#425a75;
    text-decoration:none;font-size:9px;font-weight:800;cursor:pointer
}
.saku-btn:hover{background:#f2f6fb}
.saku-btn-primary{background:#17488c;border-color:#17488c;color:#fff}
.saku-btn-primary:hover{background:#0f3a73}
.saku-btn-danger{background:#fff3f3;border-color:#f0cccc;color:#ae2828}
.saku-btn-success{background:#eef9f1;border-color:#cde6d3;color:#28723e}

.saku-table-wrap{overflow:auto}
.saku-table{
    width:100%;border-collapse:separate;border-spacing:0;min-width:900px
}
.saku-table th{
    padding:9px 10px;background:#f5f8fc;border-bottom:1px solid #dfe7f1;
    color:#65778e;font-size:8px;text-transform:uppercase;letter-spacing:.05em;
    text-align:left;white-space:nowrap
}
.saku-table td{
    padding:10px;border-bottom:1px solid #edf1f5;color:#304964;
    font-size:9px;vertical-align:top
}
.saku-table tbody tr:hover{background:#f9fbfe}
.saku-table .num{text-align:right;font-variant-numeric:tabular-nums}
.saku-table .center{text-align:center}

.saku-docno{font-family:Consolas,monospace;font-size:10px;font-weight:800;color:#17488c}
.saku-muted{font-size:8px;color:#8795a7}
.saku-stack{display:grid;gap:4px}
.saku-badge{
    display:inline-flex;align-items:center;border-radius:999px;
    padding:3px 7px;font-size:8px;font-weight:800
}
.saku-badge-blue{background:#edf4ff;color:#17488c}
.saku-badge-green{background:#eef9f1;color:#28723e}
.saku-badge-yellow{background:#fff8e6;color:#906613}
.saku-badge-gray{background:#f0f3f7;color:#64758a}

.saku-row-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.saku-icon-btn{
    width:29px;height:29px;border-radius:8px;border:1px solid #dce5ef;
    background:#fff;color:#31577f;display:grid;place-items:center;
    text-decoration:none;cursor:pointer;font-size:11px
}
.saku-icon-btn:hover{background:#edf4ff}
.saku-icon-btn.danger{color:#b42323}
.saku-icon-btn.success{color:#28723e}

.saku-summary{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;
    margin-bottom:14px
}
.saku-summary > div{
    background:#fff;border:1px solid #dfe7f1;border-radius:11px;
    padding:11px 13px
}
.saku-summary span{display:block;font-size:8px;color:#7b8ba0}
.saku-summary strong{display:block;margin-top:4px;font-size:17px;color:#173153}

.saku-detail-table{min-width:860px}
.saku-money{text-align:right}
.saku-total-row td{font-weight:800;background:#f8fbff}
.saku-form-actions{
    margin-top:14px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap
}
.saku-alert{
    border-radius:10px;padding:10px 12px;margin-bottom:12px;
    font-size:9px;line-height:1.5
}
.saku-alert-danger{background:#fff4f4;border:1px solid #f0cccc;color:#9d2626}
.saku-alert-success{background:#f2fff6;border:1px solid #cce7d5;color:#286e3d}

@media(max-width:900px){
    .saku-form-grid{grid-template-columns:1fr}
    .saku-col-2,.saku-col-3,.saku-col-4,.saku-col-6,.saku-col-8,.saku-col-12{grid-column:1/-1}
    .saku-summary{grid-template-columns:1fr}
}


/* =========================================================
   REUSABLE DATA TABLE UI
   Bigger typography + search + client-side pagination
   ========================================================= */

.saku-module-title .eyebrow{
    font-size:10px;
}

.saku-module-title h1{
    font-size:24px;
}

.saku-module-title p{
    font-size:11px;
}

.saku-panel-head h2{
    font-size:15px;
}

.saku-panel-head .saku-muted{
    font-size:10px;
}

.saku-filter-field label,
.saku-form-group label{
    font-size:10px;
}

.saku-control{
    font-size:12px;
}

.saku-btn{
    font-size:11px;
    min-height:39px;
}

.saku-table th{
    font-size:10px;
    padding:11px 12px;
}

.saku-table td{
    font-size:11px;
    padding:12px;
    line-height:1.45;
}

.saku-docno{
    font-size:12px;
}

.saku-muted{
    font-size:10px;
}

.saku-badge{
    font-size:9px;
    min-height:22px;
    padding:4px 8px;
}

.saku-icon-btn{
    width:32px;
    height:32px;
    font-size:13px;
}

.saku-table-tools{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    padding:12px 14px;
    border-bottom:1px solid #e8eef5;
    background:#fff;
}

.saku-table-search{
    position:relative;
    flex:1 1 320px;
    max-width:520px;
}

.saku-table-search input{
    width:100%;
    height:40px;
    border:1px solid #d9e3ee;
    border-radius:10px;
    background:#fff;
    color:#28415f;
    padding:0 38px 0 36px;
    font-size:11px;
    outline:none;
}

.saku-table-search input:focus{
    border-color:#8eafdb;
    box-shadow:0 0 0 3px rgba(23,72,140,.08);
}

.saku-table-search .search-icon{
    position:absolute;
    left:12px;
    top:50%;
    transform:translateY(-50%);
    color:#8393a7;
    font-size:14px;
}

.saku-table-search .clear-search{
    position:absolute;
    right:7px;
    top:50%;
    transform:translateY(-50%);
    width:27px;
    height:27px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#8595a8;
    cursor:pointer;
    font-size:14px;
}

.saku-table-search .clear-search:hover{
    background:#eef3f8;
}

.saku-page-size{
    display:flex;
    align-items:center;
    gap:7px;
    font-size:10px;
    color:#6d7f95;
}

.saku-page-size select{
    height:36px;
    border:1px solid #d9e3ee;
    border-radius:8px;
    background:#fff;
    color:#344d69;
    padding:0 28px 0 9px;
    font-size:10px;
}

.saku-pagination{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    padding:12px 14px;
    border-top:1px solid #e8eef5;
    background:#fbfdff;
}

.saku-pagination-info{
    font-size:10px;
    color:#6f8095;
}

.saku-pagination-buttons{
    display:flex;
    align-items:center;
    gap:5px;
    flex-wrap:wrap;
}

.saku-page-btn{
    min-width:34px;
    height:34px;
    border:1px solid #d9e3ee;
    border-radius:8px;
    background:#fff;
    color:#395675;
    font-size:10px;
    font-weight:700;
    cursor:pointer;
}

.saku-page-btn:hover:not(:disabled){
    background:#edf4ff;
    color:#17488c;
}

.saku-page-btn.active{
    background:#17488c;
    border-color:#17488c;
    color:#fff;
}

.saku-page-btn:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.saku-no-result{
    padding:30px 16px;
    text-align:center;
    color:#7b8ba0;
    font-size:11px;
}

@media(max-width:720px){
    .saku-table-tools{
        align-items:stretch;
    }

    .saku-table-search{
        max-width:none;
        width:100%;
    }

    .saku-pagination{
        align-items:flex-start;
        flex-direction:column;
    }
}



.saku-trash-icon{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    display:block;
}

/* =====================================================
   FIX UKURAN ICON IPA
   ===================================================== */

/* Icon tombol utama */
.ipa-btn svg,
.ipa-filter-button svg,
.ipa-back-button svg,
.ipa-add-button svg,
.ipa-btn-icon {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    flex: 0 0 16px !important;
}

/* Icon Edit, Delete, Print */
.ipa-action-btn svg,
.ipa-action-icon {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    max-width: 15px !important;
}

/* Icon di badge */
.ipa-badge-icon {
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
    max-width: 12px !important;
}

/* Icon search */
.ipa-search-box svg {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
}

/* Icon filter/header */
.ipa-filter-icon svg {
    width: 20px !important;
    height: 20px !important;
}

/* Semua SVG jangan memenuhi parent */
.saku-module svg {
    display: inline-block;
    vertical-align: middle;
}
\n\n/* =========================================================\n   IPA REDESIGN 2026-08-26\n   ========================================================= */\n.ipa-redesign, .ipa-redesign *{font-family:"Segoe UI",Inter,Arial,sans-serif;box-sizing:border-box}\n.ipa-redesign{--ipa-blue:#184b8f;--ipa-blue2:#2464b4;--ipa-navy:#14365d;--ipa-line:#dbe5f0;--ipa-soft:#f5f8fc;--ipa-text:#263f5d;--ipa-muted:#71839a}\n.ipa-page-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;margin-bottom:16px;border-radius:18px;background:linear-gradient(125deg,#123b70 0%,#1d569f 56%,#2b73c4 100%);box-shadow:0 14px 30px rgba(24,75,143,.16);color:#fff}\n.ipa-page-hero:after{content:"";position:absolute;right:-55px;top:-80px;width:250px;height:250px;border:42px solid rgba(255,255,255,.07);border-radius:50%}\n.ipa-page-hero-copy,.ipa-page-hero-actions{position:relative;z-index:1}\n.ipa-kicker{font-size:10px;font-weight:800;letter-spacing:.16em;color:#cfe2ff;margin-bottom:7px}\n.ipa-page-hero h1{margin:0;font-size:24px;line-height:1.2;font-weight:750;color:#fff;letter-spacing:-.02em}\n.ipa-page-hero p{margin:7px 0 0;font-size:12px;color:#dceaff}\n.ipa-page-hero-actions{display:flex;gap:9px;flex-wrap:wrap}\n.ipa-hero-btn{height:42px;padding:0 15px;border-radius:11px;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:11px;font-weight:800;transition:.18s ease;border:1px solid transparent}\n.ipa-hero-btn svg,.ipa-filter-apply svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}\n.ipa-hero-btn-light{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.26);color:#fff;backdrop-filter:blur(6px)}\n.ipa-hero-btn-light:hover{background:rgba(255,255,255,.22);color:#fff;transform:translateY(-1px)}\n.ipa-hero-btn-primary{background:#fff;color:#17488c;box-shadow:0 7px 16px rgba(9,39,78,.14)}\n.ipa-hero-btn-primary:hover{background:#f2f7ff;color:#0f3b74;transform:translateY(-1px)}\n.ipa-filter-modern{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:16px 18px;margin-bottom:16px;background:#fff;border:1px solid var(--ipa-line);border-radius:15px;box-shadow:0 7px 18px rgba(23,72,140,.06)}\n.ipa-filter-modern-title{display:flex;align-items:center;gap:11px;min-width:220px}\n.ipa-filter-modern-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#edf5ff,#dfeeff);color:#1b5ba4}\n.ipa-filter-modern-icon svg{width:18px;height:18px;fill:currentColor}\n.ipa-filter-modern-title strong{display:block;font-size:12px;color:var(--ipa-navy)}\n.ipa-filter-modern-title small{display:block;margin-top:3px;font-size:10px;color:var(--ipa-muted)}\n.ipa-filter-modern-fields{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}\n.ipa-filter-modern-field{min-width:160px}\n.ipa-filter-modern-field label{display:block;margin:0 0 5px 2px;font-size:10px;font-weight:800;color:#5d7189}\n.ipa-filter-modern .saku-control{height:42px;border-radius:10px;font-size:11px;background:#fbfdff;border-color:#d5e0ec}\n.ipa-filter-apply{height:42px;padding:0 16px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#194f94,#286bb9);color:#fff;text-decoration:none;font-size:11px;font-weight:800;box-shadow:0 7px 14px rgba(24,79,148,.16)}\n.ipa-filter-apply:hover{color:#fff;filter:brightness(.97);transform:translateY(-1px)}\n.ipa-data-card{border-radius:16px!important;border:1px solid #dce6f0!important;box-shadow:0 10px 24px rgba(28,70,118,.07)!important;overflow:hidden}\n.ipa-table-head-redesign{padding:17px 18px!important;background:linear-gradient(180deg,#fbfdff,#f5f9fe)!important;border-bottom:1px solid #dbe5f0!important}\n.ipa-table-head-redesign .card-title{font-size:16px!important;font-weight:750!important;color:#173b65!important;margin:2px 0 0!important}\n.ipa-table-eyebrow{display:block;font-size:9px!important;font-weight:900;letter-spacing:.14em;color:#2d69ab!important}\n.ipa-table-subtitle{display:block;margin-top:5px;font-size:10px;color:#7a8ca1}\n.ipa-search-box{min-width:310px;height:42px;border:1px solid #d5e0ec!important;border-radius:11px!important;background:#fff!important;box-shadow:0 2px 7px rgba(31,74,121,.04)}\n.ipa-search-box input{font-size:11px!important}\n.ipa-redesign .saku-table th{background:linear-gradient(135deg,#183f6d,#245c99)!important;color:#fff!important;font-size:10px!important;font-weight:800!important;letter-spacing:.045em!important;padding:12px 12px!important;border-bottom:0!important}\n.ipa-redesign .saku-table th:first-child{border-radius:9px 0 0 0}\n.ipa-redesign .saku-table th:last-child{border-radius:0 9px 0 0}\n.ipa-redesign .saku-table td{font-size:11px!important;line-height:1.45!important;padding:13px 12px!important;color:#304a67!important;border-bottom:1px solid #e8eef5!important;vertical-align:middle!important}\n.ipa-redesign .saku-table tbody tr:nth-child(even){background:#fbfdff}\n.ipa-redesign .saku-table tbody tr:hover{background:#f1f7ff!important}\n.ipa-redesign .saku-docno{font-size:11px!important}\n.ipa-redesign .saku-badge{font-size:9px!important;padding:5px 8px!important}\n.ipa-money-value{display:inline-flex;padding:6px 9px;border-radius:8px;background:#eef8f1;color:#19713a;font-size:11px;font-weight:850;white-space:nowrap}\n.ipa-action-group{gap:6px!important;justify-content:center}\n.ipa-action-btn{width:32px!important;height:32px!important;border-radius:9px!important;box-shadow:0 2px 6px rgba(30,70,115,.05)}\n.ipa-action-btn.edit{background:#fff8e8!important;border-color:#f0dfad!important;color:#9a6b12!important}\n.ipa-action-btn.delete{background:#fff1f1!important;border-color:#efcaca!important;color:#b42323!important}\n.ipa-action-btn.print{background:#eef7ff!important;border-color:#cfe2f5!important;color:#1d609f!important}\n.ipa-table-footer{padding:12px 2px 2px!important}\n.ipa-page-info{font-size:10px!important;color:#71839a!important}\n.ipa-page-btn{min-width:32px;height:32px;border-radius:8px!important;font-size:10px!important}\n.ipa-page-btn.active{background:linear-gradient(135deg,#194f94,#286bb9)!important;color:#fff!important;border-color:#194f94!important}\n@media(max-width:900px){.ipa-page-hero{align-items:flex-start;flex-direction:column}.ipa-filter-modern{align-items:flex-start}.ipa-filter-modern-fields{width:100%}.ipa-filter-modern-field{flex:1 1 160px}.ipa-search-box{min-width:240px}}\n@media(max-width:640px){.ipa-page-hero{padding:20px}.ipa-page-hero h1{font-size:20px}.ipa-page-hero-actions{width:100%}.ipa-hero-btn{flex:1}.ipa-filter-modern-fields{flex-direction:column;align-items:stretch}.ipa-filter-modern-field,.ipa-filter-apply{width:100%}.ipa-search-box{min-width:100%;width:100%}}\n

/* =========================================================
   IPA UI V2 — ISOLATED ICON + ACTION REDESIGN
   Scoped only to .ipa-redesign
   ========================================================= */

/* Reset SVG sizing only inside the redesigned IPA page */
.ipa-redesign svg{
    box-sizing:border-box;
    flex:none;
}

/* Navigation/filter/search icons */
.ipa-redesign .ipa-ui-icon{
    display:block !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:2 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}
.ipa-redesign .ipa-ui-icon-nav{
    width:15px !important;
    height:15px !important;
    min-width:15px !important;
    max-width:15px !important;
    min-height:15px !important;
    max-height:15px !important;
}
.ipa-redesign .ipa-ui-icon-filter{
    width:17px !important;
    height:17px !important;
    min-width:17px !important;
    max-width:17px !important;
}
.ipa-redesign .ipa-ui-icon-search{
    width:15px !important;
    height:15px !important;
    min-width:15px !important;
    max-width:15px !important;
}

/* Hero controls: cleaner and more compact */
.ipa-redesign .ipa-page-hero-actions{
    gap:8px;
}
.ipa-redesign .ipa-hero-btn{
    height:40px;
    padding:0 14px;
    border-radius:10px;
    gap:7px;
    font-size:11px;
    font-weight:700;
}
.ipa-redesign .ipa-hero-btn-light{
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.28);
}
.ipa-redesign .ipa-hero-btn-primary{
    background:#fff;
    color:#17488c;
}

/* Filter card refinement */
.ipa-redesign .ipa-filter-modern{
    padding:15px 17px;
    border-radius:16px;
    background:
      radial-gradient(circle at 0 0, rgba(63,130,205,.08), transparent 34%),
      #fff;
}
.ipa-redesign .ipa-filter-modern-icon{
    width:36px;
    height:36px;
    border-radius:10px;
}
.ipa-redesign .ipa-filter-apply{
    height:40px;
    padding:0 15px;
    border-radius:10px;
    gap:7px;
}

/* Search */
.ipa-redesign .ipa-search-box{
    position:relative;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 12px;
}
.ipa-redesign .ipa-search-box > svg{
    position:static !important;
    transform:none !important;
}
.ipa-redesign .ipa-search-box input{
    min-width:0;
    height:40px;
    padding:0 !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
}

/* --- Action column V2 --- */
.ipa-redesign .ipa-action-cell{
    width:118px;
    min-width:118px;
    vertical-align:middle !important;
}
.ipa-redesign .ipa-actions-v2{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    white-space:nowrap;
}
.ipa-redesign .ipa-act-v2{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    max-width:30px !important;
    min-height:30px !important;
    max-height:30px !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:9px;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-decoration:none !important;
    border:1px solid transparent;
    transition:transform .14s ease, box-shadow .14s ease, background .14s ease;
    overflow:hidden;
}
.ipa-redesign .ipa-act-v2:hover{
    transform:translateY(-1px);
    box-shadow:0 5px 12px rgba(25,58,96,.12);
}
.ipa-redesign .ipa-act-icon-v2{
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    max-width:14px !important;
    min-height:14px !important;
    max-height:14px !important;
    display:block !important;
    line-height:0 !important;
}
.ipa-redesign .ipa-act-icon-v2 svg{
    display:block !important;
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    max-width:14px !important;
    min-height:14px !important;
    max-height:14px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}
.ipa-redesign .ipa-act-edit{
    color:#8a5b08 !important;
    background:#fff8e6 !important;
    border-color:#f0dca4 !important;
}
.ipa-redesign .ipa-act-edit:hover{background:#fff2c7 !important}
.ipa-redesign .ipa-act-delete{
    color:#b42323 !important;
    background:#fff1f1 !important;
    border-color:#efcccc !important;
}
.ipa-redesign .ipa-act-delete:hover{background:#ffe4e4 !important}
.ipa-redesign .ipa-act-print{
    color:#17629e !important;
    background:#edf7ff !important;
    border-color:#cae1f4 !important;
}
.ipa-redesign .ipa-act-print:hover{background:#dff0ff !important}

/* Prevent old action rules from affecting the new buttons */
.ipa-redesign .ipa-actions-v2 .ipa-action-btn,
.ipa-redesign .ipa-actions-v2 .ipa-action-icon{
    all:unset;
}

/* Badges: keep icons tiny and controlled */
.ipa-redesign .ipa-badge-icon{
    width:11px !important;
    height:11px !important;
    min-width:11px !important;
    max-width:11px !important;
    min-height:11px !important;
    max-height:11px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

/* Table hierarchy */
.ipa-redesign .saku-table th:first-child,
.ipa-redesign .saku-table td:first-child{
    text-align:center !important;
}
.ipa-redesign .saku-table tbody tr{
    transition:background .14s ease;
}
.ipa-redesign .ipa-program-text{
    font-weight:700;
    color:#213f63;
}
.ipa-redesign .ipa-project-badge{
    background:#eaf3ff !important;
    color:#19599e !important;
    border:1px solid #cee1f7;
}
.ipa-redesign .ipa-donor-badge{
    background:#f0fbf5 !important;
    color:#247343 !important;
    border:1px solid #d1eadb;
}
.ipa-redesign .saku-badge-green{
    background:#eafaf0 !important;
    color:#247343 !important;
    border:1px solid #cce8d6;
}

@media(max-width:700px){
    .ipa-redesign .ipa-action-cell{
        width:104px;
        min-width:104px;
    }
    .ipa-redesign .ipa-actions-v2{
        gap:5px;
    }
    .ipa-redesign .ipa-act-v2{
        width:28px !important;
        height:28px !important;
        min-width:28px !important;
        max-width:28px !important;
        min-height:28px !important;
        max-height:28px !important;
    }
    .ipa-redesign .ipa-act-icon-v2,
    .ipa-redesign .ipa-act-icon-v2 svg{
        width:13px !important;
        height:13px !important;
        min-width:13px !important;
        max-width:13px !important;
    }
}

/* =========================================================
   CRUD MODERN MULTICOLOR — 26 AUG 2026
   Visual-only override. Tidak mengubah logic/route/CRUD.
   ========================================================= */
:root{
    --crud-font:"Inter","Segoe UI",Arial,sans-serif;
    --crud-ink:#273342;
    --crud-muted:#697586;
    --crud-line:#e4e7ec;
    --crud-purple:#6d4aff;
    --crud-purple-dark:#5436d6;
    --crud-purple-soft:#f3f0ff;
    --crud-teal:#0f9d8a;
    --crud-teal-soft:#eafaf7;
    --crud-orange:#ef8b2c;
    --crud-orange-soft:#fff5e9;
    --crud-rose:#d94f70;
    --crud-rose-soft:#fff0f4;
    --crud-green:#2f9b62;
    --crud-green-soft:#edf9f2;
    --crud-slate:#526273;
}

/* Samakan seluruh font pada area CRUD */
.saku-module,
.saku-module *,
.embedded-module,
.embedded-module *,
.ipa-redesign,
.ipa-redesign *{
    font-family:var(--crud-font) !important;
}

/* Header CRUD */
.saku-module-header{
    padding:17px 19px !important;
    margin-bottom:16px !important;
    border:1px solid #e8e3f7 !important;
    border-radius:16px !important;
    background:
        radial-gradient(circle at 92% 20%,rgba(239,139,44,.12),transparent 22%),
        radial-gradient(circle at 75% 0,rgba(15,157,138,.10),transparent 25%),
        linear-gradient(135deg,#fff 0%,#faf8ff 100%) !important;
    box-shadow:0 9px 24px rgba(75,61,110,.07) !important;
}
.saku-module-title .eyebrow{
    font-size:10px !important;
    color:var(--crud-purple) !important;
    letter-spacing:.10em !important;
}
.saku-module-title h1{
    font-size:23px !important;
    color:#30274a !important;
    font-weight:800 !important;
}
.saku-module-title p{
    font-size:12px !important;
    color:var(--crud-muted) !important;
}

/* Panel/card CRUD */
.saku-panel{
    border:1px solid var(--crud-line) !important;
    border-radius:16px !important;
    box-shadow:0 8px 24px rgba(43,52,69,.06) !important;
}
.saku-panel-head{
    padding:14px 16px !important;
    background:linear-gradient(90deg,#faf8ff,#fffaf4) !important;
    border-bottom:1px solid #ebe7ef !important;
    border-left:4px solid var(--crud-purple) !important;
}
.saku-panel-head h2{
    font-size:15px !important;
    color:#393047 !important;
    font-weight:800 !important;
}
.saku-panel-body{padding:16px !important}

/* Filter dibuat hangat, bukan biru */
.saku-filter-bar{
    padding:15px !important;
    gap:12px !important;
    background:
        linear-gradient(135deg,#fffaf4 0%,#fff 45%,#f7f4ff 100%) !important;
    border:1px solid #eadfd4 !important;
    border-radius:15px !important;
    box-shadow:0 6px 18px rgba(86,67,48,.05) !important;
}
.saku-filter-field label,
.saku-form-group label,
.form-group label{
    font-size:11px !important;
    color:#54505c !important;
    font-weight:700 !important;
}
.saku-control,
.form-group input,
.form-group select,
.saku-search input,
.account-search input{
    min-height:42px !important;
    font-size:12px !important;
    border-color:#dddfe5 !important;
    color:var(--crud-ink) !important;
    border-radius:10px !important;
}
.saku-control:focus,
.form-group input:focus,
.form-group select:focus{
    border-color:#a894ea !important;
    box-shadow:0 0 0 3px rgba(109,74,255,.09) !important;
}

/* Tombol multicolor */
.saku-btn,.btn{
    min-height:40px !important;
    padding:0 14px !important;
    font-size:11px !important;
    font-weight:750 !important;
    border-radius:10px !important;
}
.saku-btn-primary,.btn-primary{
    background:linear-gradient(135deg,var(--crud-purple),#8a67ff) !important;
    border-color:var(--crud-purple) !important;
    color:#fff !important;
    box-shadow:0 6px 14px rgba(109,74,255,.18) !important;
}
.saku-btn-primary:hover,.btn-primary:hover{
    background:linear-gradient(135deg,var(--crud-purple-dark),#7653eb) !important;
}
.saku-btn-success{
    background:var(--crud-teal-soft) !important;
    border-color:#bfe8df !important;
    color:#087766 !important;
}
.saku-btn-danger,.btn-danger{
    background:var(--crud-rose-soft) !important;
    border-color:#f0c5d0 !important;
    color:#b53655 !important;
}
.btn-secondary{
    background:#fff7ed !important;
    border-color:#f0d5b5 !important;
    color:#9a5a1b !important;
}

/* Tabel CRUD: header gelap modern non-biru */
.saku-table th{
    padding:12px 11px !important;
    background:linear-gradient(135deg,#51465f,#66556e) !important;
    color:#fff !important;
    border-bottom:0 !important;
    font-size:10.5px !important;
    font-weight:800 !important;
    letter-spacing:.035em !important;
}
.saku-table td{
    padding:12px 11px !important;
    font-size:11.5px !important;
    line-height:1.45 !important;
    color:#354052 !important;
    border-bottom:1px solid #eceef1 !important;
}
.saku-table tbody tr:nth-child(even){background:#fcfbfd !important}
.saku-table tbody tr:hover{background:#fff8ee !important}
.saku-table .num,
.saku-money{
    font-size:12px !important;
    font-weight:700 !important;
    color:#303947 !important;
    font-variant-numeric:tabular-nums !important;
}

/* Dokumen/kode tidak lagi memakai monospace agar font konsisten */
.saku-docno,
.saku-tree-code,
.account-item code{
    font-family:var(--crud-font) !important;
    font-size:11.5px !important;
    font-weight:800 !important;
    color:#6546b8 !important;
}

/* Badge warna-warni */
.saku-badge{
    font-size:10px !important;
    padding:4px 8px !important;
}
.saku-badge-blue,.ipa-project-badge{
    background:var(--crud-purple-soft) !important;
    color:#6342c5 !important;
    border:1px solid #ddd3ff !important;
}
.saku-badge-green,.ipa-donor-badge{
    background:var(--crud-green-soft) !important;
    color:#26784b !important;
    border:1px solid #cce8d8 !important;
}
.saku-badge-yellow{
    background:var(--crud-orange-soft) !important;
    color:#a35b15 !important;
    border:1px solid #f2d6b4 !important;
}
.saku-badge-gray{
    background:#f1f3f5 !important;
    color:#596574 !important;
    border:1px solid #e0e4e8 !important;
}

/* Action buttons: edit=amber, delete=rose, print=teal */
.saku-row-actions{gap:7px !important}
.saku-icon-btn,
.ipa-redesign .ipa-act-v2{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    border-radius:9px !important;
    font-size:13px !important;
}
.saku-row-actions > *:nth-child(1),
.ipa-redesign .ipa-act-edit{
    background:#fff6e8 !important;
    border-color:#f1d3a5 !important;
    color:#b76b16 !important;
}
.saku-row-actions > *:nth-child(2),
.ipa-redesign .ipa-act-delete{
    background:#fff0f3 !important;
    border-color:#efc3ce !important;
    color:#c43e5e !important;
}
.saku-row-actions > *:nth-child(3),
.ipa-redesign .ipa-act-print{
    background:#eafaf7 !important;
    border-color:#bfe7de !important;
    color:#087b69 !important;
}

/* Summary cards multicolor */
.saku-summary{gap:12px !important}
.saku-summary > div{
    position:relative !important;
    overflow:hidden !important;
    padding:14px 15px !important;
    border-radius:13px !important;
    box-shadow:0 5px 15px rgba(43,52,69,.04) !important;
}
.saku-summary > div:nth-child(3n+1){
    background:linear-gradient(145deg,#f7f3ff,#fff) !important;
    border-color:#dfd4ff !important;
    border-top:3px solid var(--crud-purple) !important;
}
.saku-summary > div:nth-child(3n+2){
    background:linear-gradient(145deg,#edfaf7,#fff) !important;
    border-color:#cbe9e1 !important;
    border-top:3px solid var(--crud-teal) !important;
}
.saku-summary > div:nth-child(3n+3){
    background:linear-gradient(145deg,#fff5e9,#fff) !important;
    border-color:#f0dbc2 !important;
    border-top:3px solid var(--crud-orange) !important;
}
.saku-summary span{font-size:10px !important}
.saku-summary strong{font-size:19px !important;color:#363044 !important}

/* Form CRUD */
.form-card{padding:20px !important}
.form-card-header{
    border-bottom-color:#ece7f1 !important;
}
.form-card-icon{
    background:var(--crud-purple-soft) !important;
    color:var(--crud-purple) !important;
}
.form-card-header h2{font-size:16px !important;color:#383044 !important}
.form-card-header p{font-size:11px !important}
.form-group small,.saku-form-help{font-size:10px !important}

/* Delete page */
.delete-card h2{font-size:19px !important}
.delete-card > p{font-size:12px !important}
.delete-summary span{font-size:10px !important}
.delete-summary strong{font-size:12px !important}

/* Pagination / helper text */
.saku-muted,.saku-alert,.alert,.empty-table p{
    font-size:10.5px !important;
}

/* IPA-specific text enlargement */
.ipa-redesign .ipa-program-text{font-size:11.5px !important}
.ipa-redesign .saku-table td{font-size:11.5px !important}
.ipa-redesign .saku-table th{font-size:10.5px !important}

/* Jangan memperbesar SVG/icon internal */
.saku-icon-btn svg,
.ipa-redesign .ipa-act-icon-v2,
.ipa-redesign .ipa-act-icon-v2 svg{
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    min-height:14px !important;
}

@media(max-width:720px){
    .saku-module-title h1{font-size:20px !important}
    .saku-table td{font-size:11px !important}
    .saku-table th{font-size:10px !important}
}

/* =========================================================
   FINAL HARD OVERRIDE CRUD — MUST BE LAST
   ========================================================= */
html body .content .saku-module,
html body .content .saku-module input,
html body .content .saku-module select,
html body .content .saku-module textarea,
html body .content .saku-module button,
html body .content .saku-module table,
html body .content .saku-module a,
html body .content .saku-module span,
html body .content .saku-module div,
html body .content .saku-module label,
html body .content .saku-module p,
html body .content .saku-module h1,
html body .content .saku-module h2,
html body .content .saku-module h3,
html body .content .saku-module h4{
    font-family:"Segoe UI",Arial,sans-serif !important;
}

/* TITLE */
html body .content .saku-module .saku-module-title h1{
    font-size:25px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    color:#3f3156 !important;
}
html body .content .saku-module .saku-module-title .eyebrow{
    font-size:11px !important;
    color:#8a4fd3 !important;
}
html body .content .saku-module .saku-module-title p{
    font-size:13px !important;
}

/* FILTER */
html body .content .saku-module .saku-filter-bar{
    background:linear-gradient(120deg,#fff7ec 0%,#fff 48%,#f6efff 100%) !important;
    border:1px solid #ead8c4 !important;
    border-left:5px solid #e98a32 !important;
    padding:17px !important;
}
html body .content .saku-module .saku-filter-field label,
html body .content .saku-module .saku-form-group label{
    font-size:12px !important;
    color:#574e60 !important;
}
html body .content .saku-module .saku-control{
    height:44px !important;
    font-size:13px !important;
    border:1px solid #d8d4dc !important;
}

/* BUTTONS */
html body .content .saku-module .saku-btn{
    min-height:42px !important;
    font-size:12px !important;
    border-radius:11px !important;
}
html body .content .saku-module .saku-btn-primary{
    background:#7650c7 !important;
    border-color:#7650c7 !important;
    color:#fff !important;
}
html body .content .saku-module .saku-btn-success{
    background:#e8f8f2 !important;
    border-color:#aee0ce !important;
    color:#08745d !important;
}
html body .content .saku-module .saku-btn-danger{
    background:#fff0f3 !important;
    border-color:#efbdc9 !important;
    color:#b83252 !important;
}

/* PANELS */
html body .content .saku-module .saku-panel{
    border:1px solid #e4dfe8 !important;
    border-radius:17px !important;
    box-shadow:0 9px 24px rgba(65,48,81,.08) !important;
}
html body .content .saku-module .saku-panel-head{
    background:linear-gradient(100deg,#f7f0ff,#fff8ef) !important;
    border-left:5px solid #7650c7 !important;
}
html body .content .saku-module .saku-panel-head h2,
html body .content .saku-module .saku-panel-head h4{
    font-size:16px !important;
    color:#443653 !important;
}

/* TABLE */
html body .content .saku-module table.saku-table thead th,
html body .content .saku-module table.saku-table > tbody > tr:first-child > td{
    background:#584761 !important;
    color:#fff !important;
    font-size:11.5px !important;
    font-weight:800 !important;
    padding:13px 11px !important;
}
html body .content .saku-module table.saku-table tbody td{
    font-size:13px !important;
    line-height:1.5 !important;
    padding:13px 11px !important;
    color:#34313a !important;
}
html body .content .saku-module table.saku-table tbody tr:nth-child(even){
    background:#fcfafc !important;
}
html body .content .saku-module table.saku-table tbody tr:hover{
    background:#fff5e8 !important;
}

/* MONEY */
html body .content .saku-module .saku-money,
html body .content .saku-module .num{
    font-size:13px !important;
    font-weight:700 !important;
}

/* BADGES */
html body .content .saku-module .saku-badge{
    font-size:11px !important;
    min-height:25px !important;
    padding:4px 9px !important;
}
html body .content .saku-module .saku-badge-blue{
    background:#f0eaff !important;color:#6940bd !important;
}
html body .content .saku-module .saku-badge-green{
    background:#e8f8ef !important;color:#27764b !important;
}
html body .content .saku-module .saku-badge-yellow{
    background:#fff1df !important;color:#a45b13 !important;
}

/* ACTION ICONS */
html body .content .saku-module .saku-icon-btn{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    border-radius:10px !important;
}
html body .content .saku-module .saku-row-actions > *:nth-child(1){
    background:#fff2df !important;color:#b76512 !important;border-color:#edc994 !important;
}
html body .content .saku-module .saku-row-actions > *:nth-child(2){
    background:#fff0f3 !important;color:#c03b5b !important;border-color:#efbdc9 !important;
}
html body .content .saku-module .saku-row-actions > *:nth-child(3){
    background:#e8f8f5 !important;color:#087866 !important;border-color:#b5e1d8 !important;
}
html body .content .saku-module .saku-icon-btn svg,
html body .content .saku-module .saku-icon-btn i{
    width:15px !important;
    height:15px !important;
    font-size:14px !important;
}

/* FORM CRUD */
html body .content .saku-module .form-card-header h2{
    font-size:18px !important;
}
html body .content .saku-module .form-group label{
    font-size:12px !important;
}
html body .content .saku-module .form-group input,
html body .content .saku-module .form-group select{
    height:44px !important;
    font-size:13px !important;
}

/* Force obvious visual marker: if this is visible, correct CSS is loaded */
html body .content .saku-module{
    --crud-css-loaded:1;
}

/* =========================================================
   SAKU MAROON MODERN BRIGHT THEME — FINAL OVERRIDE
   ========================================================= */
:root{
    --maroon:#7b1830;
    --maroon-dark:#581022;
    --maroon-deep:#3f0b19;
    --maroon-light:#a92d4c;
    --rose:#d94b6a;
    --peach:#ffb36b;
    --cream:#fff8f3;
    --soft-rose:#fff0f3;
    --gold:#e6a43a;
    --mint:#2fa58b;
    --ink:#342b31;
}

/* SIDEBAR */
html body .sidebar{
    background:
      radial-gradient(circle at 15% 5%,rgba(255,179,107,.20),transparent 23%),
      radial-gradient(circle at 90% 35%,rgba(217,75,106,.18),transparent 28%),
      linear-gradient(180deg,#76182f 0%,#631326 52%,#460c1b 100%) !important;
    border-right:1px solid rgba(255,255,255,.09) !important;
    box-shadow:10px 0 30px rgba(73,10,27,.13) !important;
}
html body .sidebar .brand{
    border-bottom-color:rgba(255,255,255,.14) !important;
}
html body .sidebar .sec{
    color:#f7b8c6 !important;
}
html body .sidebar .nav,
html body .sidebar .parent{
    color:rgba(255,255,255,.91) !important;
}
html body .sidebar .nav:hover,
html body .sidebar .parent:hover{
    background:rgba(255,255,255,.10) !important;
}
html body .sidebar .nav.active,
html body .sidebar .parent.open{
    background:linear-gradient(90deg,rgba(255,190,135,.22),rgba(255,255,255,.08)) !important;
    box-shadow:inset 3px 0 0 #ffc17d,0 7px 18px rgba(55,5,20,.14) !important;
}
html body .sidebar .sidebar-ico,
html body .sidebar .ico{
    color:#ffe2d1 !important;
    background:rgba(255,255,255,.09) !important;
    border-color:rgba(255,255,255,.11) !important;
}
html body .sidebar .nav:hover .sidebar-ico,
html body .sidebar .parent:hover .sidebar-ico,
html body .sidebar .parent.open .sidebar-ico{
    background:rgba(255,181,115,.18) !important;
    color:#fff !important;
    box-shadow:0 0 15px rgba(255,179,107,.18) !important;
}
html body .sidebar .submenu{
    border-left-color:rgba(255,193,125,.42) !important;
    background:rgba(52,5,18,.14) !important;
}
html body .sidebar .submenu a{
    color:rgba(255,255,255,.79) !important;
}
html body .sidebar .submenu a:hover{
    color:#fff !important;
    background:rgba(255,255,255,.10) !important;
}
html body .sidebar .submenu a::before{
    background:#f4a86b !important;
}

/* TOP HEADER */
html body .top{
    background:linear-gradient(90deg,#fff 0%,#fff9f7 100%) !important;
    border-bottom:1px solid #f0dfe3 !important;
}
html body .top h1,
html body .top h1#activeUnitProgram{
    color:#6f1830 !important;
}
html body .header-btn{
    color:#76182f !important;
    border-color:#ead6dc !important;
}
html body .header-btn:hover,
html body .header-btn.active{
    background:#fff1f4 !important;
    border-color:#e8bdc9 !important;
}
html body .header-icon-glow{
    color:#8b1e39 !important;
    background:linear-gradient(145deg,#fff2f5,#ffe5eb) !important;
    border-color:#f0c9d3 !important;
}
html body .header-btn:hover .header-icon-glow,
html body .header-btn.active .header-icon-glow{
    color:#fff !important;
    background:linear-gradient(145deg,#a42a49,#74172f) !important;
    border-color:#8b1e39 !important;
    box-shadow:0 0 15px rgba(169,45,76,.25) !important;
}
html body .header-user{
    background:linear-gradient(135deg,#9d2846,#671329) !important;
}
html body .header-badge{
    background:linear-gradient(145deg,#e99b43,#c86d24) !important;
}

/* MODULE HEADER */
html body .content .saku-module .saku-module-header{
    background:
      radial-gradient(circle at 92% 10%,rgba(255,179,107,.20),transparent 25%),
      linear-gradient(135deg,#fff 0%,#fff3f5 58%,#fff8ee 100%) !important;
    border-color:#efd8df !important;
    border-left:5px solid var(--maroon) !important;
}
html body .content .saku-module .saku-module-title h1{
    color:#6f1830 !important;
}
html body .content .saku-module .saku-module-title .eyebrow{
    color:#b62f50 !important;
}

/* FILTER */
html body .content .saku-module .saku-filter-bar{
    background:linear-gradient(120deg,#fff5f6 0%,#fff 48%,#fff5e9 100%) !important;
    border:1px solid #efd7dc !important;
    border-left:5px solid #d94b6a !important;
}
html body .content .saku-module .saku-control:focus{
    border-color:#c75b75 !important;
    box-shadow:0 0 0 3px rgba(123,24,48,.09) !important;
}

/* PANELS */
html body .content .saku-module .saku-panel-head{
    background:linear-gradient(100deg,#fff0f3,#fff8ed) !important;
    border-left:5px solid var(--maroon) !important;
}
html body .content .saku-module .saku-panel-head h2,
html body .content .saku-module .saku-panel-head h4{
    color:#64172c !important;
}

/* TABLE */
html body .content .saku-module table.saku-table thead th,
html body .content .saku-module table.saku-table > tbody > tr:first-child > td{
    background:linear-gradient(135deg,#75172e,#9c2947) !important;
    color:#fff !important;
}
html body .content .saku-module table.saku-table tbody tr:nth-child(even){
    background:#fffafb !important;
}
html body .content .saku-module table.saku-table tbody tr:hover{
    background:#fff2e8 !important;
}

/* BUTTONS */
html body .content .saku-module .saku-btn-primary,
html body .content .saku-module .btn-primary{
    background:linear-gradient(135deg,#8e203c,#b33152) !important;
    border-color:#8e203c !important;
    color:#fff !important;
    box-shadow:0 7px 16px rgba(123,24,48,.19) !important;
}
html body .content .saku-module .saku-btn-primary:hover,
html body .content .saku-module .btn-primary:hover{
    background:linear-gradient(135deg,#72172f,#982442) !important;
}
html body .content .saku-module .saku-btn-success{
    background:#eaf9f5 !important;
    border-color:#b8e5d9 !important;
    color:#087863 !important;
}
html body .content .saku-module .saku-btn-danger,
html body .content .saku-module .btn-danger{
    background:#fff0f3 !important;
    border-color:#efbdc9 !important;
    color:#b83252 !important;
}

/* BADGES */
html body .content .saku-module .saku-badge-blue{
    background:#fff0f3 !important;
    color:#a62b49 !important;
    border-color:#efc5cf !important;
}
html body .content .saku-module .saku-badge-green{
    background:#eaf9f4 !important;
    color:#24775e !important;
    border-color:#c5e8dc !important;
}
html body .content .saku-module .saku-badge-yellow{
    background:#fff3df !important;
    color:#a65d12 !important;
    border-color:#f0d2a2 !important;
}

/* ACTION: amber / rose / mint */
html body .content .saku-module .saku-row-actions > *:nth-child(1){
    background:#fff3df !important;
    color:#ae6317 !important;
    border-color:#edcc98 !important;
}
html body .content .saku-module .saku-row-actions > *:nth-child(2){
    background:#fff0f3 !important;
    color:#bf3b5a !important;
    border-color:#efbdc9 !important;
}
html body .content .saku-module .saku-row-actions > *:nth-child(3){
    background:#e9faf5 !important;
    color:#087964 !important;
    border-color:#b8e4d9 !important;
}

/* SUMMARY CARDS: maroon / orange / mint */
html body .content .saku-module .saku-summary > div:nth-child(3n+1){
    background:linear-gradient(145deg,#fff0f3,#fff) !important;
    border-color:#f0c8d2 !important;
    border-top:3px solid #a72b49 !important;
}
html body .content .saku-module .saku-summary > div:nth-child(3n+2){
    background:linear-gradient(145deg,#fff4e6,#fff) !important;
    border-color:#efd5b1 !important;
    border-top:3px solid #ed9439 !important;
}
html body .content .saku-module .saku-summary > div:nth-child(3n+3){
    background:linear-gradient(145deg,#eaf9f5,#fff) !important;
    border-color:#c3e7dc !important;
    border-top:3px solid #29987f !important;
}

/* FORM ICON */
html body .content .saku-module .form-card-icon{
    background:#fff0f3 !important;
    color:#9d2846 !important;
}

/* =========================================================
   SAKU MODERN GRAPHITE + VIOLET + TEAL — FINAL OVERRIDE
   ========================================================= */
:root{
    --modern-bg:#f6f7fb;
    --modern-card:#ffffff;
    --modern-ink:#25303b;
    --modern-muted:#6f7b8a;
    --modern-line:#e4e7ec;

    --modern-sidebar:#1f2937;
    --modern-sidebar-2:#111827;

    --modern-violet:#7257d9;
    --modern-violet-dark:#5b43bd;
    --modern-violet-soft:#f1edff;

    --modern-teal:#159b8c;
    --modern-teal-soft:#e9f9f6;

    --modern-amber:#e99a32;
    --modern-amber-soft:#fff4e4;

    --modern-coral:#e7665e;
    --modern-coral-soft:#fff0ee;

    --modern-slate:#4a5565;
}

/* ===== Global ===== */
html body{
    background:var(--modern-bg) !important;
    color:var(--modern-ink) !important;
}

/* ===== Sidebar ===== */
html body .sidebar{
    background:
      radial-gradient(circle at 15% 5%,rgba(114,87,217,.23),transparent 25%),
      radial-gradient(circle at 88% 35%,rgba(21,155,140,.15),transparent 28%),
      linear-gradient(180deg,#252f3e 0%,#1d2633 52%,#141b25 100%) !important;
    border-right:1px solid rgba(255,255,255,.07) !important;
    box-shadow:10px 0 30px rgba(20,27,37,.10) !important;
}

html body .sidebar .brand{
    border-bottom:1px solid rgba(255,255,255,.10) !important;
}

html body .sidebar .sec{
    color:#9ca7b8 !important;
}

html body .sidebar .nav,
html body .sidebar .parent{
    color:rgba(255,255,255,.88) !important;
}

html body .sidebar .nav:hover,
html body .sidebar .parent:hover{
    background:rgba(255,255,255,.07) !important;
}

html body .sidebar .nav.active,
html body .sidebar .parent.open{
    background:linear-gradient(90deg,rgba(114,87,217,.28),rgba(255,255,255,.06)) !important;
    box-shadow:
      inset 3px 0 0 #9b86f0,
      0 7px 18px rgba(12,18,29,.14) !important;
}

html body .sidebar .sidebar-ico,
html body .sidebar .ico{
    color:#e7e9ef !important;
    background:rgba(255,255,255,.06) !important;
    border-color:rgba(255,255,255,.08) !important;
}

html body .sidebar .nav:hover .sidebar-ico,
html body .sidebar .parent:hover .sidebar-ico,
html body .sidebar .parent.open .sidebar-ico{
    color:#fff !important;
    background:linear-gradient(145deg,rgba(114,87,217,.33),rgba(21,155,140,.18)) !important;
    box-shadow:0 0 14px rgba(114,87,217,.18) !important;
}

html body .sidebar .submenu{
    background:rgba(8,15,25,.12) !important;
    border-left-color:rgba(155,134,240,.38) !important;
}

html body .sidebar .submenu a{
    color:rgba(255,255,255,.74) !important;
}

html body .sidebar .submenu a:hover{
    color:#fff !important;
    background:rgba(114,87,217,.14) !important;
}

html body .sidebar .submenu a::before{
    background:#8f7ae8 !important;
}

/* ===== Header ===== */
html body .top{
    background:rgba(255,255,255,.97) !important;
    border-bottom:1px solid #e6e8ee !important;
    box-shadow:0 4px 14px rgba(42,49,61,.035) !important;
}

html body .top h1,
html body .top h1#activeUnitProgram{
    color:#303845 !important;
}

html body .header-btn{
    background:#fff !important;
    color:#4d5664 !important;
    border-color:#e1e4ea !important;
}

html body .header-btn:hover,
html body .header-btn.active{
    background:#f7f5ff !important;
    border-color:#d5cdf6 !important;
    color:#6650c3 !important;
}

html body .header-icon-glow{
    color:#6852c9 !important;
    background:linear-gradient(145deg,#f4f1ff,#ebe6ff) !important;
    border-color:#ddd5fa !important;
}

html body .header-btn:hover .header-icon-glow,
html body .header-btn.active .header-icon-glow{
    color:#fff !important;
    background:linear-gradient(145deg,#8066e4,#6550c7) !important;
    border-color:#7257d9 !important;
    box-shadow:0 0 15px rgba(114,87,217,.24) !important;
}

html body .header-user{
    background:linear-gradient(135deg,#6650c7,#4d3aa4) !important;
    box-shadow:0 5px 13px rgba(91,67,189,.15) !important;
}

html body .header-badge{
    background:linear-gradient(145deg,#159b8c,#117a6f) !important;
}

/* ===== CRUD Header ===== */
html body .content .saku-module .saku-module-header{
    background:
      radial-gradient(circle at 92% 10%,rgba(233,154,50,.12),transparent 25%),
      radial-gradient(circle at 78% 0,rgba(21,155,140,.09),transparent 22%),
      linear-gradient(135deg,#fff 0%,#faf9ff 62%,#fffaf3 100%) !important;
    border:1px solid #e5e3ec !important;
    border-left:5px solid var(--modern-violet) !important;
}

html body .content .saku-module .saku-module-title h1{
    color:#393344 !important;
}

html body .content .saku-module .saku-module-title .eyebrow{
    color:var(--modern-violet) !important;
}

/* ===== Filter ===== */
html body .content .saku-module .saku-filter-bar{
    background:linear-gradient(120deg,#f7f5ff 0%,#fff 48%,#fff6e8 100%) !important;
    border:1px solid #e8e2f2 !important;
    border-left:5px solid var(--modern-amber) !important;
}

html body .content .saku-module .saku-control:focus{
    border-color:#aa9ae9 !important;
    box-shadow:0 0 0 3px rgba(114,87,217,.09) !important;
}

/* ===== Panel ===== */
html body .content .saku-module .saku-panel{
    border-color:#e4e7ec !important;
    box-shadow:0 9px 24px rgba(35,44,58,.06) !important;
}

html body .content .saku-module .saku-panel-head{
    background:linear-gradient(100deg,#f7f5ff,#fff8ee) !important;
    border-left:5px solid var(--modern-violet) !important;
}

html body .content .saku-module .saku-panel-head h2,
html body .content .saku-module .saku-panel-head h4{
    color:#40384b !important;
}

/* ===== Table ===== */
html body .content .saku-module table.saku-table thead th,
html body .content .saku-module table.saku-table > tbody > tr:first-child > td{
    background:linear-gradient(135deg,#4a4556,#5c5368) !important;
    color:#fff !important;
}

html body .content .saku-module table.saku-table tbody tr:nth-child(even){
    background:#fbfbfc !important;
}

html body .content .saku-module table.saku-table tbody tr:hover{
    background:#fff8ee !important;
}

/* ===== Buttons ===== */
html body .content .saku-module .saku-btn-primary,
html body .content .saku-module .btn-primary{
    background:linear-gradient(135deg,#7257d9,#8a6fe6) !important;
    border-color:#7257d9 !important;
    color:#fff !important;
    box-shadow:0 7px 16px rgba(114,87,217,.18) !important;
}

html body .content .saku-module .saku-btn-primary:hover,
html body .content .saku-module .btn-primary:hover{
    background:linear-gradient(135deg,#5f47c0,#7559d4) !important;
}

html body .content .saku-module .saku-btn-success{
    background:var(--modern-teal-soft) !important;
    border-color:#b8e5dc !important;
    color:#087568 !important;
}

html body .content .saku-module .saku-btn-danger,
html body .content .saku-module .btn-danger{
    background:var(--modern-coral-soft) !important;
    border-color:#efc4bf !important;
    color:#b94b45 !important;
}

/* ===== Badges ===== */
html body .content .saku-module .saku-badge-blue{
    background:var(--modern-violet-soft) !important;
    color:#654cc5 !important;
    border-color:#dbd2fa !important;
}

html body .content .saku-module .saku-badge-green{
    background:var(--modern-teal-soft) !important;
    color:#24776b !important;
    border-color:#c5e8e0 !important;
}

html body .content .saku-module .saku-badge-yellow{
    background:var(--modern-amber-soft) !important;
    color:#a56315 !important;
    border-color:#f0d6ad !important;
}

/* ===== Action Buttons ===== */
html body .content .saku-module .saku-row-actions > *:nth-child(1){
    background:var(--modern-amber-soft) !important;
    color:#b56a18 !important;
    border-color:#edcf9f !important;
}

html body .content .saku-module .saku-row-actions > *:nth-child(2){
    background:var(--modern-coral-soft) !important;
    color:#c4534c !important;
    border-color:#efc4bf !important;
}

html body .content .saku-module .saku-row-actions > *:nth-child(3){
    background:var(--modern-teal-soft) !important;
    color:#087769 !important;
    border-color:#b9e4dc !important;
}

/* ===== Summary Cards ===== */
html body .content .saku-module .saku-summary > div:nth-child(3n+1){
    background:linear-gradient(145deg,#f5f1ff,#fff) !important;
    border-color:#ded5fb !important;
    border-top:3px solid var(--modern-violet) !important;
}

html body .content .saku-module .saku-summary > div:nth-child(3n+2){
    background:linear-gradient(145deg,#eaf9f6,#fff) !important;
    border-color:#c3e7df !important;
    border-top:3px solid var(--modern-teal) !important;
}

html body .content .saku-module .saku-summary > div:nth-child(3n+3){
    background:linear-gradient(145deg,#fff4e5,#fff) !important;
    border-color:#efd7b7 !important;
    border-top:3px solid var(--modern-amber) !important;
}

/* ===== Form Icon ===== */
html body .content .saku-module .form-card-icon{
    background:var(--modern-violet-soft) !important;
    color:var(--modern-violet) !important;
}

/* ===== Alerts ===== */
html body .content .saku-module .saku-alert-success,
html body .content .saku-module .alert-success{
    background:#edf9f6 !important;
    border-color:#c4e7de !important;
    color:#257768 !important;
}

html body .content .saku-module .saku-alert-danger,
html body .content .saku-module .alert-danger{
    background:#fff1ef !important;
    border-color:#efc8c3 !important;
    color:#aa4c46 !important;
}

/* =========================================================
   SAKU LIGHT MODERN — SAGE + LAVENDER + APRICOT
   FINAL OVERRIDE: mengganti sisa nuansa biru/dark menjadi terang
   ========================================================= */
:root{
  --lm-bg:#f8f8f5;
  --lm-card:#ffffff;
  --lm-ink:#38413f;
  --lm-muted:#7a8480;
  --lm-line:#e6e8e2;

  --lm-sage:#6f9b88;
  --lm-sage-deep:#547d6c;
  --lm-sage-soft:#edf6f1;

  --lm-lav:#8b78c7;
  --lm-lav-soft:#f2effa;

  --lm-apricot:#e8a15f;
  --lm-apricot-soft:#fff4e8;

  --lm-coral:#d97870;
  --lm-coral-soft:#fff0ee;
}

/* Global */
html body{
  background:var(--lm-bg) !important;
  color:var(--lm-ink) !important;
}

/* Sidebar dibuat TERANG */
html body .sidebar{
  background:
    radial-gradient(circle at 10% 0,rgba(139,120,199,.11),transparent 26%),
    radial-gradient(circle at 95% 38%,rgba(111,155,136,.10),transparent 30%),
    linear-gradient(180deg,#fbfbf8 0%,#f4f6f1 100%) !important;
  border-right:1px solid #e3e6df !important;
  box-shadow:8px 0 24px rgba(57,70,64,.055) !important;
}
html body .sidebar .brand{
  border-bottom-color:#e5e8e1 !important;
}
html body .sidebar .brand strong{color:#43534d !important}
html body .sidebar .brand small{color:#8a948f !important}
html body .sidebar .sec{
  color:#9a9f9c !important;
}
html body .sidebar .nav,
html body .sidebar .parent{
  color:#53615c !important;
}
html body .sidebar .nav:hover,
html body .sidebar .parent:hover{
  color:#46695b !important;
  background:#eef5f1 !important;
}
html body .sidebar .nav.active,
html body .sidebar .parent.open{
  color:#456b5b !important;
  background:linear-gradient(90deg,#e8f3ed,#f3f0fa) !important;
  box-shadow:inset 3px 0 0 var(--lm-sage),0 5px 14px rgba(71,103,89,.06) !important;
}
html body .sidebar .sidebar-ico,
html body .sidebar .ico{
  color:#668b7b !important;
  background:#edf4f0 !important;
  border-color:#dce9e2 !important;
}
html body .sidebar .nav:hover .sidebar-ico,
html body .sidebar .parent:hover .sidebar-ico,
html body .sidebar .parent.open .sidebar-ico{
  color:#fff !important;
  background:linear-gradient(145deg,#7ba391,#8c7bc4) !important;
  box-shadow:0 4px 10px rgba(111,155,136,.15) !important;
}
html body .sidebar .chev{color:#9aa39f !important}
html body .sidebar .parent.open .chev{
  color:#725fac !important;
  background:#eeeafa !important;
}
html body .sidebar .submenu{
  background:#fafbf8 !important;
  border-left-color:#cbdcd3 !important;
}
html body .sidebar .submenu a{
  color:#6e7874 !important;
}
html body .sidebar .submenu a:hover{
  color:#536f63 !important;
  background:#edf5f1 !important;
}
html body .sidebar .submenu a::before{
  background:#8da99c !important;
}
html body .sidebar .subgroup{color:#a0a7a3 !important}

/* Header */
html body .top{
  background:rgba(255,255,255,.98) !important;
  border-bottom:1px solid #e7e8e4 !important;
  box-shadow:0 4px 14px rgba(55,64,60,.03) !important;
}
html body .top h1,
html body .top h1#activeUnitProgram{
  color:#46554f !important;
}
html body .header-btn{
  color:#5e6965 !important;
  background:#fff !important;
  border-color:#e2e5df !important;
}
html body .header-btn:hover,
html body .header-btn.active{
  color:#5f806f !important;
  background:#f0f6f3 !important;
  border-color:#d5e5dc !important;
}
html body .header-icon-glow{
  color:#668d7c !important;
  background:#edf5f1 !important;
  border-color:#d9e8e0 !important;
  box-shadow:0 3px 9px rgba(79,117,101,.08) !important;
}
html body .header-btn:hover .header-icon-glow,
html body .header-btn.active .header-icon-glow{
  color:#fff !important;
  background:linear-gradient(145deg,#7ca391,#8b79c3) !important;
  border-color:#779b8b !important;
  box-shadow:0 0 13px rgba(111,155,136,.18) !important;
}
html body .header-user{
  background:linear-gradient(135deg,#789f8e,#657f74) !important;
  box-shadow:0 5px 13px rgba(82,118,102,.13) !important;
}
html body .header-badge{
  background:linear-gradient(145deg,#e7a05f,#d98b48) !important;
}

/* Filter aktif header */
html body .top > div:first-child{
  background:linear-gradient(135deg,#fbfdfb,#f1f7f3) !important;
  border-color:#dce9e2 !important;
}
html body .top > div:first-child::before{
  background:#72a38d !important;
  box-shadow:0 0 0 5px rgba(114,163,141,.12) !important;
}

/* CRUD module */
html body .content .saku-module .saku-module-header{
  background:
    radial-gradient(circle at 92% 12%,rgba(232,161,95,.13),transparent 24%),
    linear-gradient(135deg,#fff 0%,#f4f8f5 55%,#f6f2fb 100%) !important;
  border:1px solid #e4e8e2 !important;
  border-left:5px solid var(--lm-sage) !important;
}
html body .content .saku-module .saku-module-title h1{
  color:#46534e !important;
}
html body .content .saku-module .saku-module-title .eyebrow{
  color:#718f82 !important;
}

/* Filter CRUD */
html body .content .saku-module .saku-filter-bar{
  background:linear-gradient(120deg,#f1f7f3 0%,#fff 48%,#fff5e9 100%) !important;
  border:1px solid #e3e7df !important;
  border-left:5px solid var(--lm-apricot) !important;
}
html body .content .saku-module .saku-control:focus,
html body .content .saku-module input:focus,
html body .content .saku-module select:focus{
  border-color:#91b3a4 !important;
  box-shadow:0 0 0 3px rgba(111,155,136,.10) !important;
}

/* Panels */
html body .content .saku-module .saku-panel{
  border-color:#e4e7e2 !important;
  background:#fff !important;
}
html body .content .saku-module .saku-panel-head{
  background:linear-gradient(100deg,#f0f6f3,#faf7ff) !important;
  border-left:5px solid var(--lm-sage) !important;
}
html body .content .saku-module .saku-panel-head h2,
html body .content .saku-module .saku-panel-head h4{
  color:#4a5752 !important;
}

/* Table: HILANGKAN BIRU */
html body .content .saku-module table.saku-table thead th,
html body .content .saku-module table.saku-table > tbody > tr:first-child > td,
html body .content .saku-module .ipa-allocation-table .ipa-allocation-header td{
  background:linear-gradient(135deg,#718e81,#829d91) !important;
  color:#fff !important;
}
html body .content .saku-module table.saku-table tbody tr:nth-child(even){
  background:#fbfcfa !important;
}
html body .content .saku-module table.saku-table tbody tr:hover{
  background:#fff6eb !important;
}

/* Primary buttons: sage */
html body .content .saku-module .saku-btn-primary,
html body .content .saku-module .btn-primary,
html body .content .saku-module .ipa-btn-save{
  background:linear-gradient(135deg,#6f9b88,#82aa98) !important;
  border-color:#6f9b88 !important;
  color:#fff !important;
  box-shadow:0 7px 16px rgba(111,155,136,.17) !important;
}
html body .content .saku-module .saku-btn-primary:hover,
html body .content .saku-module .btn-primary:hover,
html body .content .saku-module .ipa-btn-save:hover{
  background:linear-gradient(135deg,#5c8875,#709b88) !important;
}

/* Secondary semantic colors */
html body .content .saku-module .saku-btn-success{
  background:#eef8f4 !important;
  border-color:#c8e4d8 !important;
  color:#4f7d69 !important;
}
html body .content .saku-module .saku-btn-danger,
html body .content .saku-module .btn-danger{
  background:var(--lm-coral-soft) !important;
  border-color:#efcbc7 !important;
  color:#b85d56 !important;
}

/* Badge lama "blue" dialihkan ke lavender */
html body .content .saku-module .saku-badge-blue,
html body .content .saku-module .ipa-project-badge{
  background:var(--lm-lav-soft) !important;
  color:#715fad !important;
  border-color:#ded7f0 !important;
}
html body .content .saku-module .saku-badge-green,
html body .content .saku-module .ipa-donor-badge{
  background:var(--lm-sage-soft) !important;
  color:#557c6b !important;
  border-color:#d0e5da !important;
}
html body .content .saku-module .saku-badge-yellow{
  background:var(--lm-apricot-soft) !important;
  color:#a3672f !important;
  border-color:#f0d6b9 !important;
}

/* Action buttons */
html body .content .saku-module .saku-row-actions > *:nth-child(1),
html body .content .saku-module .ipa-act-edit{
  background:#fff4e7 !important;
  color:#aa6b31 !important;
  border-color:#efd4b5 !important;
}
html body .content .saku-module .saku-row-actions > *:nth-child(2),
html body .content .saku-module .ipa-act-delete{
  background:#fff0ee !important;
  color:#ba5d56 !important;
  border-color:#efc9c5 !important;
}
html body .content .saku-module .saku-row-actions > *:nth-child(3),
html body .content .saku-module .ipa-act-print{
  background:#edf7f3 !important;
  color:#557e6c !important;
  border-color:#cde3d8 !important;
}

/* Summary cards */
html body .content .saku-module .saku-summary > div:nth-child(3n+1){
  background:linear-gradient(145deg,#f0f7f3,#fff) !important;
  border-color:#d5e6dd !important;
  border-top:3px solid var(--lm-sage) !important;
}
html body .content .saku-module .saku-summary > div:nth-child(3n+2){
  background:linear-gradient(145deg,#f3f0fa,#fff) !important;
  border-color:#e0daf1 !important;
  border-top:3px solid var(--lm-lav) !important;
}
html body .content .saku-module .saku-summary > div:nth-child(3n+3){
  background:linear-gradient(145deg,#fff4e8,#fff) !important;
  border-color:#efd9bf !important;
  border-top:3px solid var(--lm-apricot) !important;
}

/* IPA/form leftovers yang sebelumnya biru */
html body .content .saku-module .ipa-form-hero-icon,
html body .content .saku-module .form-card-icon,
html body .content .saku-module .ipa-info-btn{
  color:#678c7b !important;
  background:#edf5f1 !important;
  border-color:#d6e7de !important;
}
html body .content .saku-module .ipa-form-hero .card-title,
html body .content .saku-module .ipa-allocation-head .card-title,
html body .content .saku-module .ipa-total-row td,
html body .content .saku-module .ipa-total-row #total{
  color:#4f665c !important;
}
html body .content .saku-module .ipa-allocation-head,
html body .content .saku-module .ipa-form-hero{
  background:linear-gradient(135deg,#fff,#f1f7f3) !important;
}

/* =========================================================
   SAKU ALL CYAN MODERN — FINAL COLOR OVERRIDE
   Seluruh tema utama diarahkan ke keluarga warna CYAN
   ========================================================= */
:root{
  --cy-950:#083344;
  --cy-900:#164e63;
  --cy-800:#155e75;
  --cy-700:#0e7490;
  --cy-600:#0891b2;
  --cy-500:#06b6d4;
  --cy-400:#22d3ee;
  --cy-300:#67e8f9;
  --cy-200:#a5f3fc;
  --cy-100:#cffafe;
  --cy-50:#ecfeff;
  --cy-bg:#f5fdfe;
  --cy-card:#ffffff;
  --cy-ink:#24424a;
  --cy-muted:#6c858b;
  --cy-line:#d8eef2;
}

/* GLOBAL */
html body{
  background:var(--cy-bg) !important;
  color:var(--cy-ink) !important;
}

/* SIDEBAR CYAN TERANG */
html body .sidebar{
  background:
    radial-gradient(circle at 10% 0,rgba(34,211,238,.18),transparent 27%),
    radial-gradient(circle at 95% 38%,rgba(6,182,212,.11),transparent 30%),
    linear-gradient(180deg,#f2fdff 0%,#e8fafd 100%) !important;
  border-right:1px solid #cdebf0 !important;
  box-shadow:8px 0 24px rgba(8,145,178,.065) !important;
}
html body .sidebar .brand{
  border-bottom-color:#d2edf2 !important;
}
html body .sidebar .brand strong{color:#155e75 !important}
html body .sidebar .brand small{color:#65909b !important}
html body .sidebar .sec{color:#6fa1ad !important}

html body .sidebar .nav,
html body .sidebar .parent{
  color:#3c6974 !important;
}
html body .sidebar .nav:hover,
html body .sidebar .parent:hover{
  color:#0e7490 !important;
  background:#ddf8fc !important;
}
html body .sidebar .nav.active,
html body .sidebar .parent.open{
  color:#0e7490 !important;
  background:linear-gradient(90deg,#d6f7fb,#ecfeff) !important;
  box-shadow:inset 3px 0 0 #06b6d4,0 5px 14px rgba(8,145,178,.07) !important;
}
html body .sidebar .sidebar-ico,
html body .sidebar .ico{
  color:#0e7490 !important;
  background:#dff8fc !important;
  border-color:#c6edf4 !important;
}
html body .sidebar .nav:hover .sidebar-ico,
html body .sidebar .parent:hover .sidebar-ico,
html body .sidebar .parent.open .sidebar-ico{
  color:#fff !important;
  background:linear-gradient(145deg,#22d3ee,#0891b2) !important;
  box-shadow:0 4px 12px rgba(6,182,212,.20) !important;
}
html body .sidebar .chev{color:#75a2ad !important}
html body .sidebar .parent.open .chev{
  color:#0e7490 !important;
  background:#cffafe !important;
}
html body .sidebar .submenu{
  background:#f4fdfe !important;
  border-left-color:#9de6f1 !important;
}
html body .sidebar .submenu a{color:#57808a !important}
html body .sidebar .submenu a:hover{
  color:#0e7490 !important;
  background:#ddf8fc !important;
}
html body .sidebar .submenu a::before{background:#22c3df !important}
html body .sidebar .subgroup{color:#81a8b1 !important}

/* HEADER */
html body .top{
  background:rgba(255,255,255,.98) !important;
  border-bottom:1px solid #dceff2 !important;
  box-shadow:0 4px 14px rgba(8,145,178,.035) !important;
}
html body .top h1,
html body .top h1#activeUnitProgram{
  color:#155e75 !important;
}
html body .header-btn{
  color:#256a79 !important;
  background:#fff !important;
  border-color:#d7edf1 !important;
}
html body .header-btn:hover,
html body .header-btn.active{
  color:#0e7490 !important;
  background:#ecfeff !important;
  border-color:#a5e9f2 !important;
}
html body .header-icon-glow{
  color:#0891b2 !important;
  background:#e1f9fc !important;
  border-color:#bdebf2 !important;
  box-shadow:0 3px 9px rgba(8,145,178,.09) !important;
}
html body .header-btn:hover .header-icon-glow,
html body .header-btn.active .header-icon-glow{
  color:#fff !important;
  background:linear-gradient(145deg,#22d3ee,#0891b2) !important;
  border-color:#06b6d4 !important;
  box-shadow:0 0 14px rgba(6,182,212,.23) !important;
}
html body .header-user{
  background:linear-gradient(135deg,#06b6d4,#0e7490) !important;
  box-shadow:0 5px 13px rgba(8,145,178,.15) !important;
}
html body .header-badge{
  background:linear-gradient(145deg,#22d3ee,#0891b2) !important;
}

/* FILTER AKTIF HEADER */
html body .top > div:first-child{
  background:linear-gradient(135deg,#fff,#eafcff) !important;
  border-color:#ccecf1 !important;
}
html body .top > div:first-child::before{
  background:#06b6d4 !important;
  box-shadow:0 0 0 5px rgba(6,182,212,.13) !important;
}
html body .top > div:first-child::after{
  color:#6997a2 !important;
}

/* CRUD MODULE HEADER */
html body .content .saku-module .saku-module-header{
  background:
    radial-gradient(circle at 92% 12%,rgba(34,211,238,.14),transparent 25%),
    linear-gradient(135deg,#fff 0%,#f0fcfe 55%,#e8faff 100%) !important;
  border:1px solid #d6edf1 !important;
  border-left:5px solid #06b6d4 !important;
}
html body .content .saku-module .saku-module-title h1{
  color:#155e75 !important;
}
html body .content .saku-module .saku-module-title .eyebrow{
  color:#0891b2 !important;
}

/* FILTER CRUD */
html body .content .saku-module .saku-filter-bar{
  background:linear-gradient(120deg,#eafcff 0%,#fff 52%,#f2fdff 100%) !important;
  border:1px solid #d3edf2 !important;
  border-left:5px solid #22d3ee !important;
}
html body .content .saku-module .saku-filter-field label,
html body .content .saku-module .saku-form-group label{
  color:#47717b !important;
}
html body .content .saku-module .saku-control:focus,
html body .content .saku-module input:focus,
html body .content .saku-module select:focus{
  border-color:#67dcea !important;
  box-shadow:0 0 0 3px rgba(6,182,212,.10) !important;
}

/* PANEL */
html body .content .saku-module .saku-panel{
  border-color:#dcecef !important;
  background:#fff !important;
}
html body .content .saku-module .saku-panel-head{
  background:linear-gradient(100deg,#eafcff,#f8feff) !important;
  border-left:5px solid #06b6d4 !important;
}
html body .content .saku-module .saku-panel-head h2,
html body .content .saku-module .saku-panel-head h4{
  color:#155e75 !important;
}

/* TABLE */
html body .content .saku-module table.saku-table thead th,
html body .content .saku-module table.saku-table > tbody > tr:first-child > td,
html body .content .saku-module .ipa-allocation-table .ipa-allocation-header td{
  background:linear-gradient(135deg,#0891b2,#06b6d4) !important;
  color:#fff !important;
}
html body .content .saku-module table.saku-table tbody tr:nth-child(even){
  background:#f8fdfe !important;
}
html body .content .saku-module table.saku-table tbody tr:hover{
  background:#e9fbfe !important;
}

/* BUTTON UTAMA */
html body .content .saku-module .saku-btn-primary,
html body .content .saku-module .btn-primary,
html body .content .saku-module .ipa-btn-save{
  background:linear-gradient(135deg,#06b6d4,#0891b2) !important;
  border-color:#06a9c6 !important;
  color:#fff !important;
  box-shadow:0 7px 16px rgba(6,182,212,.18) !important;
}
html body .content .saku-module .saku-btn-primary:hover,
html body .content .saku-module .btn-primary:hover,
html body .content .saku-module .ipa-btn-save:hover{
  background:linear-gradient(135deg,#0891b2,#0e7490) !important;
}

/* SEMUA BADGE KE KELUARGA CYAN */
html body .content .saku-module .saku-badge,
html body .content .saku-module .saku-badge-blue,
html body .content .saku-module .saku-badge-green,
html body .content .saku-module .saku-badge-yellow,
html body .content .saku-module .ipa-project-badge,
html body .content .saku-module .ipa-donor-badge{
  background:#e6fafd !important;
  color:#0e7490 !important;
  border-color:#bfeaf1 !important;
}

/* ACTION BUTTONS: tetap satu tema cyan, beda intensitas */
html body .content .saku-module .saku-row-actions > *:nth-child(1),
html body .content .saku-module .ipa-act-edit{
  background:#ecfeff !important;
  color:#0e7490 !important;
  border-color:#bcecf3 !important;
}
html body .content .saku-module .saku-row-actions > *:nth-child(2),
html body .content .saku-module .ipa-act-delete{
  background:#dff8fc !important;
  color:#08758e !important;
  border-color:#afe6ef !important;
}
html body .content .saku-module .saku-row-actions > *:nth-child(3),
html body .content .saku-module .ipa-act-print{
  background:#cff5fa !important;
  color:#075f75 !important;
  border-color:#9ddfea !important;
}

/* SUMMARY CARD — cyan dengan intensitas berbeda */
html body .content .saku-module .saku-summary > div:nth-child(3n+1){
  background:linear-gradient(145deg,#ecfeff,#fff) !important;
  border-color:#c8edf3 !important;
  border-top:3px solid #22d3ee !important;
}
html body .content .saku-module .saku-summary > div:nth-child(3n+2){
  background:linear-gradient(145deg,#e2f9fc,#fff) !important;
  border-color:#b9e7ef !important;
  border-top:3px solid #06b6d4 !important;
}
html body .content .saku-module .saku-summary > div:nth-child(3n+3){
  background:linear-gradient(145deg,#dff6fa,#fff) !important;
  border-color:#acdfe9 !important;
  border-top:3px solid #0891b2 !important;
}

/* FORM / IPA */
html body .content .saku-module .form-card-icon,
html body .content .saku-module .ipa-form-hero-icon,
html body .content .saku-module .ipa-info-btn{
  color:#0891b2 !important;
  background:#e5fafd !important;
  border-color:#c3eaf1 !important;
}
html body .content .saku-module .ipa-form-hero,
html body .content .saku-module .ipa-allocation-head{
  background:linear-gradient(135deg,#fff,#eafcff) !important;
}
html body .content .saku-module .ipa-form-hero .card-title,
html body .content .saku-module .ipa-allocation-head .card-title,
html body .content .saku-module .ipa-total-row td,
html body .content .saku-module .ipa-total-row #total{
  color:#155e75 !important;
}
html body .content .saku-module .ipa-total-row td{
  background:#eafcff !important;
}

/* ALERT */
html body .content .saku-module .saku-alert-success,
html body .content .saku-module .alert-success,
html body .content .saku-module .saku-alert-danger,
html body .content .saku-module .alert-danger{
  background:#ecfeff !important;
  border-color:#bdebf2 !important;
  color:#0e7490 !important;
}

/* SEARCH/PAGINATION */
html body .content .saku-module .saku-search input,
html body .content .saku-module .account-search input{
  border-color:#d3e9ed !important;
}
html body .content .saku-module .pagination .active > *,
html body .content .saku-module .page-item.active .page-link{
  background:#06b6d4 !important;
  border-color:#06b6d4 !important;
  color:#fff !important;
}
html body .content .saku-module .pagination a,
html body .content .saku-module .page-link{
  color:#0e7490 !important;
}


/* =========================================================
   SAKU CYAN BRIGHT PROFESSIONAL — FINAL THEME
   ========================================================= */
:root{
    --ui-cyan-900:#075d72;
    --ui-cyan-800:#087f96;
    --ui-cyan-700:#0797ae;
    --ui-cyan-600:#08aac0;
    --ui-cyan-500:#10b9cc;
    --ui-cyan-400:#35c9d8;
    --ui-cyan-300:#77dce5;
    --ui-cyan-200:#b8edf2;
    --ui-cyan-100:#ddf8fa;
    --ui-cyan-50:#f1fcfd;
    --ui-ink:#173f63;
    --ui-text:#314c61;
    --ui-muted:#738b9c;
    --ui-line:#d8e9ed;
    --ui-bg:#f5fbfc;
    --ui-row-first:#eefaf6;
    --ui-row-alt:#fbfefe;
    --ui-shadow:0 12px 30px rgba(13,118,139,.08);
}

html body,
html body input,
html body select,
html body textarea,
html body button,
html body table,
html body a,
html body label,
html body span,
html body div,
html body p,
html body h1,
html body h2,
html body h3,
html body h4{
    font-family:"Segoe UI",Arial,Helvetica,sans-serif !important;
}

html body{
    background:var(--ui-bg) !important;
    color:var(--ui-text) !important;
}

/* SIDEBAR CYAN TEGAS */
html body .sidebar{
    background:
        radial-gradient(circle at 18% 2%,rgba(255,255,255,.10),transparent 24%),
        linear-gradient(180deg,#078ba3 0%,#08a5ba 52%,#08b2c5 100%) !important;
    color:#fff !important;
    border-right:0 !important;
    box-shadow:10px 0 28px rgba(4,105,125,.12) !important;
}
html body .sidebar .brand{
    border-bottom:1px solid rgba(255,255,255,.22) !important;
}
html body .sidebar .brand strong,
html body .sidebar .brand small,
html body .sidebar .sec{
    color:#fff !important;
}
html body .sidebar .brand small{opacity:.78 !important}
html body .sidebar .sec{opacity:.72 !important}
html body .sidebar .nav,
html body .sidebar .parent{
    color:rgba(255,255,255,.94) !important;
    border-radius:11px !important;
    font-weight:700 !important;
}
html body .sidebar .nav:hover,
html body .sidebar .parent:hover{
    color:#fff !important;
    background:rgba(255,255,255,.13) !important;
}
html body .sidebar .nav.active,
html body .sidebar .parent.open{
    color:#087f96 !important;
    background:#fff !important;
    box-shadow:0 7px 18px rgba(3,91,108,.14) !important;
}
html body .sidebar .sidebar-ico,
html body .sidebar .ico{
    color:#fff !important;
    background:rgba(255,255,255,.13) !important;
    border:1px solid rgba(255,255,255,.18) !important;
}
html body .sidebar .nav.active .sidebar-ico,
html body .sidebar .parent.open .sidebar-ico{
    color:#0797ae !important;
    background:#ddf8fa !important;
    border-color:#b8edf2 !important;
}
html body .sidebar .submenu{
    background:rgba(1,91,110,.12) !important;
    border-left:1px solid rgba(255,255,255,.34) !important;
}
html body .sidebar .submenu a{
    color:rgba(255,255,255,.88) !important;
}
html body .sidebar .submenu a:hover{
    color:#fff !important;
    background:rgba(255,255,255,.12) !important;
}
html body .sidebar .submenu a::before{background:#d8fbff !important}

/* TOP HEADER */
html body .top{
    background:rgba(255,255,255,.98) !important;
    border-bottom:1px solid #dfeef1 !important;
    box-shadow:0 4px 14px rgba(10,111,132,.035) !important;
}
html body .top h1,
html body .top h1#activeUnitProgram{
    color:#17617b !important;
}
html body .header-btn{
    color:#14758b !important;
    background:#fff !important;
    border-color:#d6ebef !important;
}
html body .header-btn:hover,
html body .header-btn.active{
    background:#ecfbfd !important;
    color:#078ba3 !important;
    border-color:#bce7ed !important;
}
html body .header-icon-glow{
    color:#078ba3 !important;
    background:#e7fafc !important;
    border-color:#c9edf2 !important;
}
html body .header-btn:hover .header-icon-glow,
html body .header-btn.active .header-icon-glow{
    color:#fff !important;
    background:linear-gradient(145deg,#16bed0,#078ba3) !important;
    border-color:#0797ae !important;
    box-shadow:0 0 15px rgba(16,185,204,.26) !important;
}
html body .header-user{
    background:linear-gradient(135deg,#16b6c8,#07879e) !important;
}
html body .header-badge{background:#076d82 !important}

/* FILTER AKTIF CHIP */
html body .top > div:first-child{
    background:linear-gradient(135deg,#fff,#eefbfd) !important;
    border-color:#ccebf0 !important;
}
html body .top > div:first-child::before{
    background:#10b9cc !important;
    box-shadow:0 0 0 5px rgba(16,185,204,.13) !important;
}
html body .top > div:first-child::after{color:#73a0aa !important}

/* HERO IPA */
html body .ipa-redesign .ipa-page-hero,
html body .saku-module .ipa-page-hero,
html body .ipa-form-hero{
    background:
        radial-gradient(circle at 88% 10%,rgba(255,255,255,.14),transparent 26%),
        linear-gradient(120deg,#078ba3 0%,#09acc0 58%,#13bdd0 100%) !important;
    color:#fff !important;
    border:0 !important;
    box-shadow:0 14px 34px rgba(5,137,160,.16) !important;
}
html body .ipa-page-hero h1,
html body .ipa-page-hero h2,
html body .ipa-page-hero h3,
html body .ipa-page-hero p,
html body .ipa-page-hero span,
html body .ipa-page-hero small{
    color:#fff !important;
}
html body .ipa-page-hero .ipa-hero-btn-light{
    color:#fff !important;
    background:rgba(255,255,255,.10) !important;
    border:1px solid rgba(255,255,255,.35) !important;
}
html body .ipa-page-hero .ipa-hero-btn-primary{
    color:#087d92 !important;
    background:#fff !important;
    border-color:#fff !important;
}

/* FILTER CARD */
html body .ipa-filter-modern,
html body .saku-filter-bar{
    background:linear-gradient(120deg,#ecfbfd 0%,#f8feff 50%,#fff 100%) !important;
    border:1px solid #cfeaf0 !important;
    border-left:5px solid #14b9cc !important;
    box-shadow:0 8px 22px rgba(8,142,164,.06) !important;
}
html body .ipa-filter-modern-icon{
    color:#078ba3 !important;
    background:#dff8fb !important;
    border-color:#bfeaf0 !important;
}
html body .ipa-filter-apply,
html body .saku-btn-primary,
html body .btn-primary,
html body .ipa-btn-save{
    background:linear-gradient(135deg,#10b9cc,#078ba3) !important;
    border-color:#0797ae !important;
    color:#fff !important;
    box-shadow:0 7px 16px rgba(8,145,178,.17) !important;
}
html body .ipa-filter-apply:hover,
html body .saku-btn-primary:hover,
html body .btn-primary:hover,
html body .ipa-btn-save:hover{
    background:linear-gradient(135deg,#0797ae,#076f84) !important;
}

/* DATA CARD */
html body .saku-panel,
html body .ipa-table-card,
html body .saku-card{
    background:#fff !important;
    border:1px solid #d8eaee !important;
    border-radius:16px !important;
    box-shadow:var(--ui-shadow) !important;
}
html body .saku-panel-head{
    background:linear-gradient(100deg,#f1fcfd,#fbfeff) !important;
    border-left:5px solid #11b8ca !important;
    border-bottom:1px solid #dcecef !important;
}
html body .saku-panel-head h2,
html body .saku-panel-head h4{
    color:#16788e !important;
}

/* TABLE HEADER */
html body .saku-table thead th,
html body .ipa-allocation-table .ipa-allocation-header td{
    background:linear-gradient(135deg,#0b9db4,#13b8cb) !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:800 !important;
    padding:13px 12px !important;
}

/* TABLE BODY */
html body .saku-table tbody tr{
    background:#fff !important;
}
html body .saku-table tbody tr:first-child td{
    background:var(--ui-row-first) !important;
    color:var(--ui-text) !important;
}
html body .saku-table tbody tr:nth-child(even) td{
    background:var(--ui-row-alt) !important;
}
html body .saku-table tbody tr:hover td{
    background:#e8fafc !important;
}
html body .saku-table td{
    color:#344d60 !important;
    font-size:12px !important;
    line-height:1.45 !important;
    border-bottom:1px solid #e4eff1 !important;
}

/* BADGES */
html body .saku-badge,
html body .saku-badge-blue,
html body .saku-badge-green,
html body .saku-badge-yellow,
html body .ipa-project-badge,
html body .ipa-donor-badge{
    background:#e9fafd !important;
    color:#087b91 !important;
    border:1px solid #bce8ef !important;
    font-size:10.5px !important;
}

/* ACTIONS */
html body .saku-row-actions > *:nth-child(1),
html body .ipa-act-edit{
    background:#ecfeff !important;
    color:#078ba3 !important;
    border-color:#bfeaf0 !important;
}
html body .saku-row-actions > *:nth-child(2),
html body .ipa-act-delete{
    background:#dff8fb !important;
    color:#08768b !important;
    border-color:#afe3eb !important;
}
html body .saku-row-actions > *:nth-child(3),
html body .ipa-act-print{
    background:#cef4f8 !important;
    color:#065f72 !important;
    border-color:#9bdde7 !important;
}

/* SEARCH */
html body .ipa-search-box,
html body .saku-search input,
html body .account-search input{
    background:#fff !important;
    border-color:#d4e8ec !important;
}

/* PAGINATION */
html body .pagination .page-link,
html body .ipa-pagination button,
html body .ipa-pagination a{
    color:#087f96 !important;
    background:#fff !important;
    border:1px solid #cce9ee !important;
}
html body .pagination .active .page-link,
html body .page-item.active .page-link,
html body .ipa-pagination .active{
    color:#fff !important;
    background:#0bb5c8 !important;
    border-color:#0bb5c8 !important;
}

/* FORM */
html body .saku-control,
html body .form-group input,
html body .form-group select{
    border-color:#d6e8ec !important;
    color:#324d60 !important;
    background:#fff !important;
}
html body .saku-control:focus,
html body .form-group input:focus,
html body .form-group select:focus{
    border-color:#70d5e0 !important;
    box-shadow:0 0 0 3px rgba(16,185,204,.09) !important;
}

/* SUMMARY */
html body .saku-summary > div:nth-child(3n+1){
    background:linear-gradient(145deg,#ecfeff,#fff) !important;
    border-color:#c5edf2 !important;
    border-top:3px solid #22d3ee !important;
}
html body .saku-summary > div:nth-child(3n+2){
    background:linear-gradient(145deg,#e2f9fc,#fff) !important;
    border-color:#b9e7ef !important;
    border-top:3px solid #10b9cc !important;
}
html body .saku-summary > div:nth-child(3n+3){
    background:linear-gradient(145deg,#dff6fa,#fff) !important;
    border-color:#acdfe9 !important;
    border-top:3px solid #078ba3 !important;
}



/* =========================================================
   CYAN BRIGHT V2 — TABLE BODY + SIDEBAR GRADIENT + SIGN ON
   ========================================================= */

/* 1. Semua baris TBODY dibuat sama terang, tidak pernah sama dengan header */
html body .saku-table tbody tr,
html body .saku-table tbody tr:first-child,
html body .saku-table tbody tr:nth-child(even),
html body .saku-table tbody tr:nth-child(odd){
    background:#ffffff !important;
}

html body .saku-table tbody tr td,
html body .saku-table tbody tr:first-child td,
html body .saku-table tbody tr:nth-child(even) td,
html body .saku-table tbody tr:nth-child(odd) td,
html body .ipa-redesign .saku-table tbody tr:first-child td{
    background:#ffffff !important;
    color:#344d60 !important;
}

html body .saku-table tbody tr:hover td{
    background:#eefbfd !important;
}

/* Optional zebra sangat tipis agar tabel panjang tetap nyaman */
html body .saku-table tbody tr:nth-child(even) td{
    background:#fbfefe !important;
}

/* 2. Sidebar gradient cyan cerah, lebih tegas */
html body .sidebar{
    background:
        radial-gradient(circle at 15% 3%,rgba(255,255,255,.18),transparent 24%),
        radial-gradient(circle at 82% 30%,rgba(103,232,249,.16),transparent 28%),
        linear-gradient(165deg,#057f99 0%,#079bb2 38%,#0bb5c8 68%,#16c2d2 100%) !important;
    border-right:0 !important;
    box-shadow:10px 0 30px rgba(4,112,134,.16) !important;
}

html body .sidebar .nav,
html body .sidebar .parent{
    color:#ffffff !important;
    text-shadow:0 1px 1px rgba(0,77,92,.08);
}

html body .sidebar .nav:hover,
html body .sidebar .parent:hover{
    background:rgba(255,255,255,.14) !important;
}

html body .sidebar .nav.active,
html body .sidebar .parent.open{
    color:#087b91 !important;
    background:#ffffff !important;
    box-shadow:0 8px 20px rgba(3,91,108,.17) !important;
}

html body .sidebar .sidebar-ico,
html body .sidebar .ico{
    background:rgba(255,255,255,.14) !important;
    border-color:rgba(255,255,255,.21) !important;
    color:#fff !important;
}

html body .sidebar .nav.active .sidebar-ico,
html body .sidebar .parent.open .sidebar-ico{
    background:#ddf8fa !important;
    color:#078ca4 !important;
    border-color:#b9eaf0 !important;
}

html body .sidebar .submenu{
    background:rgba(2,105,124,.14) !important;
    border-left-color:rgba(255,255,255,.42) !important;
}

html body .sidebar .submenu a{
    color:rgba(255,255,255,.90) !important;
}

html body .sidebar .submenu a:hover{
    background:rgba(255,255,255,.12) !important;
    color:#fff !important;
}

/* 3. SIGN ON / LOGIN — tema cyan cerah konsisten */
/* Mendukung beberapa nama class umum tanpa mengubah Blade */
html body.login-page,
html body.signon-page,
html body.sign-on-page,
html body.auth-page{
    min-height:100vh !important;
    background:
        radial-gradient(circle at 15% 10%,rgba(103,232,249,.35),transparent 27%),
        radial-gradient(circle at 85% 80%,rgba(6,182,212,.20),transparent 30%),
        linear-gradient(135deg,#eafcff 0%,#f8feff 48%,#dff8fb 100%) !important;
}

.login-page .login-card,
.login-page .card,
.signon-page .login-card,
.signon-page .card,
.sign-on-page .login-card,
.sign-on-page .card,
.auth-page .login-card,
.auth-page .card,
.login-box,
.signon-box,
.auth-card{
    background:rgba(255,255,255,.96) !important;
    border:1px solid #cdebf0 !important;
    border-radius:20px !important;
    box-shadow:0 24px 55px rgba(7,125,148,.14) !important;
    overflow:hidden !important;
}

.login-card::before,
.signon-box::before,
.auth-card::before,
.login-box::before{
    content:"";
    display:block;
    height:6px;
    background:linear-gradient(90deg,#078ba3,#10b9cc,#35c9d8) !important;
}

.login-page h1,
.login-page h2,
.login-page h3,
.signon-page h1,
.signon-page h2,
.signon-page h3,
.sign-on-page h1,
.sign-on-page h2,
.sign-on-page h3,
.auth-page h1,
.auth-page h2,
.auth-page h3,
.login-box h1,
.login-box h2,
.signon-box h1,
.signon-box h2{
    color:#12677d !important;
    font-weight:800 !important;
}

.login-page p,
.signon-page p,
.sign-on-page p,
.auth-page p,
.login-box p,
.signon-box p{
    color:#718b96 !important;
}

.login-page input,
.signon-page input,
.sign-on-page input,
.auth-page input,
.login-box input,
.signon-box input{
    min-height:46px !important;
    border:1px solid #d3e9ed !important;
    border-radius:11px !important;
    background:#fff !important;
    color:#314c60 !important;
    font-size:13px !important;
    box-shadow:none !important;
}

.login-page input:focus,
.signon-page input:focus,
.sign-on-page input:focus,
.auth-page input:focus,
.login-box input:focus,
.signon-box input:focus{
    border-color:#67dce7 !important;
    box-shadow:0 0 0 3px rgba(16,185,204,.10) !important;
    outline:none !important;
}

.login-page button[type="submit"],
.signon-page button[type="submit"],
.sign-on-page button[type="submit"],
.auth-page button[type="submit"],
.login-box button[type="submit"],
.signon-box button[type="submit"],
.login-page .btn-primary,
.signon-page .btn-primary,
.sign-on-page .btn-primary,
.auth-page .btn-primary{
    min-height:46px !important;
    border:0 !important;
    border-radius:11px !important;
    background:linear-gradient(135deg,#10b9cc,#078ba3) !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:800 !important;
    box-shadow:0 8px 18px rgba(8,145,178,.20) !important;
}

.login-page button[type="submit"]:hover,
.signon-page button[type="submit"]:hover,
.sign-on-page button[type="submit"]:hover,
.auth-page button[type="submit"]:hover,
.login-box button[type="submit"]:hover,
.signon-box button[type="submit"]:hover{
    background:linear-gradient(135deg,#0797ae,#076f84) !important;
    transform:translateY(-1px);
}

/* Jika form login memiliki panel kiri/branding */
.login-brand-panel,
.signon-brand,
.auth-brand{
    background:
        radial-gradient(circle at 80% 10%,rgba(255,255,255,.16),transparent 25%),
        linear-gradient(150deg,#078ba3,#10b9cc 62%,#35c9d8) !important;
    color:#fff !important;
}

.login-brand-panel *,
.signon-brand *,
.auth-brand *{
    color:#fff !important;
}



/* =========================================================
   SAKU PKBI BLUE + CYAN — FINAL THEME
   Biru logo PKBI + cyan modern
   ========================================================= */
:root{
    --pkbi-blue:#244F91;
    --pkbi-blue-2:#1976A8;
    --pkbi-blue-dark:#173B73;

    --pkbi-cyan:#0EB6C8;
    --pkbi-cyan-2:#35D0DA;
    --pkbi-cyan-soft:#E8FBFD;

    --pkbi-bg:#F3FBFD;
    --pkbi-card:#FFFFFF;
    --pkbi-line:#D8EAF0;

    --pkbi-text:#24415F;
    --pkbi-muted:#74899B;
}

/* GLOBAL */
html body{
    background:var(--pkbi-bg) !important;
    color:var(--pkbi-text) !important;
}

html body,
html body input,
html body select,
html body textarea,
html body button,
html body table,
html body a,
html body label,
html body span,
html body div,
html body p,
html body h1,
html body h2,
html body h3,
html body h4{
    font-family:"Segoe UI",Arial,Helvetica,sans-serif !important;
}

/* SIDEBAR — GRADIENT BIRU PKBI KE CYAN */
html body .sidebar{
    background:
        radial-gradient(circle at 15% 5%,rgba(255,255,255,.12),transparent 24%),
        linear-gradient(
            160deg,
            #244F91 0%,
            #1976A8 42%,
            #0EB6C8 75%,
            #35D0DA 100%
        ) !important;
    border-right:0 !important;
    box-shadow:10px 0 30px rgba(25,84,133,.16) !important;
}

html body .sidebar .brand{
    border-bottom:1px solid rgba(255,255,255,.22) !important;
}

html body .sidebar .brand strong,
html body .sidebar .brand small,
html body .sidebar .sec{
    color:#fff !important;
}

html body .sidebar .brand small,
html body .sidebar .sec{
    opacity:.78 !important;
}

html body .sidebar .nav,
html body .sidebar .parent{
    color:#fff !important;
    font-weight:700 !important;
    border-radius:11px !important;
}

html body .sidebar .nav:hover,
html body .sidebar .parent:hover{
    background:rgba(255,255,255,.13) !important;
    color:#fff !important;
}

html body .sidebar .nav.active,
html body .sidebar .parent.open{
    color:var(--pkbi-blue) !important;
    background:#fff !important;
    box-shadow:0 8px 20px rgba(17,69,121,.17) !important;
}

html body .sidebar .sidebar-ico,
html body .sidebar .ico{
    color:#fff !important;
    background:rgba(255,255,255,.13) !important;
    border:1px solid rgba(255,255,255,.20) !important;
}

html body .sidebar .nav.active .sidebar-ico,
html body .sidebar .parent.open .sidebar-ico{
    color:var(--pkbi-blue) !important;
    background:#e9f7fb !important;
    border-color:#c5e8ef !important;
}

html body .sidebar .submenu{
    background:rgba(19,74,129,.14) !important;
    border-left:1px solid rgba(255,255,255,.40) !important;
}

html body .sidebar .submenu a{
    color:rgba(255,255,255,.90) !important;
}

html body .sidebar .submenu a:hover{
    color:#fff !important;
    background:rgba(255,255,255,.12) !important;
}

html body .sidebar .submenu a::before{
    background:#d9fbff !important;
}

/* TOP HEADER */
html body .top{
    background:#fff !important;
    border-bottom:1px solid #dfeaf0 !important;
    box-shadow:0 4px 14px rgba(31,86,133,.04) !important;
}

html body .top h1,
html body .top h1#activeUnitProgram{
    color:var(--pkbi-blue) !important;
}

html body .header-btn{
    color:var(--pkbi-blue) !important;
    background:#fff !important;
    border-color:#d7e6ee !important;
}

html body .header-btn:hover,
html body .header-btn.active{
    color:#fff !important;
    background:linear-gradient(135deg,#1976A8,#0EB6C8) !important;
    border-color:#0EAAC0 !important;
}

html body .header-icon-glow{
    color:var(--pkbi-blue) !important;
    background:#edf5fb !important;
    border-color:#d3e4ee !important;
}

html body .header-btn:hover .header-icon-glow,
html body .header-btn.active .header-icon-glow{
    color:#fff !important;
    background:rgba(255,255,255,.14) !important;
    border-color:rgba(255,255,255,.22) !important;
}

html body .header-user{
    background:linear-gradient(135deg,#244F91,#1976A8) !important;
    box-shadow:0 5px 13px rgba(36,79,145,.16) !important;
}

html body .header-badge{
    background:#0EB6C8 !important;
}

/* FILTER AKTIF */
html body .top > div:first-child{
    background:linear-gradient(135deg,#fff,#edf9fc) !important;
    border-color:#cce5ec !important;
}

html body .top > div:first-child::before{
    background:#0EB6C8 !important;
    box-shadow:0 0 0 5px rgba(14,182,200,.13) !important;
}

/* HERO IPA */
html body .ipa-redesign .ipa-page-hero,
html body .saku-module .ipa-page-hero,
html body .ipa-form-hero{
    background:
        radial-gradient(circle at 86% 8%,rgba(255,255,255,.13),transparent 25%),
        linear-gradient(
            120deg,
            #244F91 0%,
            #1976A8 48%,
            #0EB6C8 100%
        ) !important;
    color:#fff !important;
    border:0 !important;
    box-shadow:0 14px 34px rgba(31,95,151,.18) !important;
}

html body .ipa-page-hero h1,
html body .ipa-page-hero h2,
html body .ipa-page-hero h3,
html body .ipa-page-hero p,
html body .ipa-page-hero span,
html body .ipa-page-hero small{
    color:#fff !important;
}

html body .ipa-page-hero .ipa-hero-btn-light{
    color:#fff !important;
    background:rgba(255,255,255,.10) !important;
    border:1px solid rgba(255,255,255,.34) !important;
}

html body .ipa-page-hero .ipa-hero-btn-primary{
    color:var(--pkbi-blue) !important;
    background:#fff !important;
    border-color:#fff !important;
}

/* FILTER CARD */
html body .ipa-filter-modern,
html body .saku-filter-bar{
    background:linear-gradient(120deg,#eef9fc 0%,#fff 55%,#f3fcfd 100%) !important;
    border:1px solid #d4e8ee !important;
    border-left:5px solid #0EB6C8 !important;
    box-shadow:0 8px 22px rgba(30,112,148,.06) !important;
}

html body .ipa-filter-modern-icon{
    color:var(--pkbi-blue) !important;
    background:#e9f6fb !important;
    border-color:#cde6ef !important;
}

html body .ipa-filter-apply,
html body .saku-btn-primary,
html body .btn-primary,
html body .ipa-btn-save{
    background:linear-gradient(135deg,#1976A8,#0EB6C8) !important;
    border-color:#1599B6 !important;
    color:#fff !important;
    box-shadow:0 7px 16px rgba(25,118,168,.18) !important;
}

html body .ipa-filter-apply:hover,
html body .saku-btn-primary:hover,
html body .btn-primary:hover,
html body .ipa-btn-save:hover{
    background:linear-gradient(135deg,#244F91,#0A9FB5) !important;
}

/* PANEL / CARD */
html body .saku-panel,
html body .ipa-table-card,
html body .saku-card{
    background:#fff !important;
    border:1px solid #d9e8ed !important;
    border-radius:16px !important;
    box-shadow:0 10px 26px rgba(35,86,128,.07) !important;
}

html body .saku-panel-head{
    background:linear-gradient(100deg,#edf8fb,#f8fcfd) !important;
    border-left:5px solid var(--pkbi-blue) !important;
    border-bottom:1px solid #dce9ee !important;
}

html body .saku-panel-head h2,
html body .saku-panel-head h4{
    color:var(--pkbi-blue) !important;
}

/* TABLE HEADER */
html body .saku-table thead th,
html body .ipa-allocation-table .ipa-allocation-header td{
    background:linear-gradient(135deg,#1976A8,#0EB6C8) !important;
    color:#fff !important;
    font-weight:800 !important;
}

/* TABLE BODY — PUTIH */
html body .saku-table tbody tr,
html body .saku-table tbody tr:first-child,
html body .saku-table tbody tr:nth-child(odd),
html body .saku-table tbody tr:nth-child(even){
    background:#fff !important;
}

html body .saku-table tbody tr td,
html body .saku-table tbody tr:first-child td,
html body .saku-table tbody tr:nth-child(odd) td{
    background:#fff !important;
    color:#344d60 !important;
}

html body .saku-table tbody tr:nth-child(even) td{
    background:#fbfdfe !important;
}

html body .saku-table tbody tr:hover td{
    background:#edf9fc !important;
}

/* BADGES */
html body .saku-badge,
html body .saku-badge-blue,
html body .saku-badge-green,
html body .saku-badge-yellow,
html body .ipa-project-badge,
html body .ipa-donor-badge{
    background:#edf9fc !important;
    color:#17758d !important;
    border:1px solid #bee4ec !important;
}

/* ACTION BUTTONS */
html body .saku-row-actions > *:nth-child(1),
html body .ipa-act-edit{
    background:#eff8fb !important;
    color:#1976A8 !important;
    border-color:#c8e3ed !important;
}

html body .saku-row-actions > *:nth-child(2),
html body .ipa-act-delete{
    background:#e7f7fa !important;
    color:#0F8DA5 !important;
    border-color:#b8e4eb !important;
}

html body .saku-row-actions > *:nth-child(3),
html body .ipa-act-print{
    background:#dff5f8 !important;
    color:#076D82 !important;
    border-color:#a9dce5 !important;
}

/* SEARCH */
html body .ipa-search-box,
html body .saku-search input,
html body .account-search input{
    background:#fff !important;
    border-color:#d6e7ec !important;
}

html body .ipa-search-box:focus-within,
html body .saku-search input:focus,
html body .account-search input:focus{
    border-color:#68d5e0 !important;
    box-shadow:0 0 0 3px rgba(14,182,200,.09) !important;
}

/* PAGINATION */
html body .pagination .page-link,
html body .ipa-pagination button,
html body .ipa-pagination a{
    color:var(--pkbi-blue) !important;
    background:#fff !important;
    border:1px solid #cde4eb !important;
}

html body .pagination .active .page-link,
html body .page-item.active .page-link,
html body .ipa-pagination .active{
    color:#fff !important;
    background:linear-gradient(135deg,#1976A8,#0EB6C8) !important;
    border-color:#0EAAC0 !important;
}

/* FORM */
html body .saku-control,
html body .form-group input,
html body .form-group select{
    border-color:#d6e6ec !important;
    color:#324d60 !important;
    background:#fff !important;
}

html body .saku-control:focus,
html body .form-group input:focus,
html body .form-group select:focus{
    border-color:#6ad5df !important;
    box-shadow:0 0 0 3px rgba(14,182,200,.09) !important;
}

/* SUMMARY */
html body .saku-summary > div:nth-child(3n+1){
    background:linear-gradient(145deg,#edf5fb,#fff) !important;
    border-color:#d5e4ee !important;
    border-top:3px solid #244F91 !important;
}

html body .saku-summary > div:nth-child(3n+2){
    background:linear-gradient(145deg,#edfafd,#fff) !important;
    border-color:#cae9ef !important;
    border-top:3px solid #0EB6C8 !important;
}

html body .saku-summary > div:nth-child(3n+3){
    background:linear-gradient(145deg,#e5f8fa,#fff) !important;
    border-color:#bbe5ea !important;
    border-top:3px solid #35D0DA !important;
}

/* SIGN ON / LOGIN */
html body.login-page,
html body.signon-page,
html body.sign-on-page,
html body.auth-page{
    min-height:100vh !important;
    background:
        radial-gradient(circle at 14% 8%,rgba(53,208,218,.26),transparent 27%),
        radial-gradient(circle at 88% 80%,rgba(36,79,145,.16),transparent 32%),
        linear-gradient(135deg,#eef9fc 0%,#f9feff 50%,#e6f7fb 100%) !important;
}

.login-page .login-card,
.login-page .card,
.signon-page .login-card,
.signon-page .card,
.sign-on-page .login-card,
.sign-on-page .card,
.auth-page .login-card,
.auth-page .card,
.login-box,
.signon-box,
.auth-card{
    background:#fff !important;
    border:1px solid #cce3eb !important;
    border-radius:20px !important;
    box-shadow:0 24px 55px rgba(29,95,145,.14) !important;
    overflow:hidden !important;
}

.login-card::before,
.signon-box::before,
.auth-card::before,
.login-box::before{
    content:"";
    display:block;
    height:6px;
    background:linear-gradient(90deg,#244F91,#1976A8,#0EB6C8,#35D0DA) !important;
}

.login-page h1,
.login-page h2,
.login-page h3,
.signon-page h1,
.signon-page h2,
.signon-page h3,
.sign-on-page h1,
.sign-on-page h2,
.sign-on-page h3,
.auth-page h1,
.auth-page h2,
.auth-page h3,
.login-box h1,
.login-box h2,
.signon-box h1,
.signon-box h2{
    color:#244F91 !important;
}

.login-page input,
.signon-page input,
.sign-on-page input,
.auth-page input,
.login-box input,
.signon-box input{
    min-height:46px !important;
    border:1px solid #d4e6ec !important;
    border-radius:11px !important;
    font-size:13px !important;
}

.login-page input:focus,
.signon-page input:focus,
.sign-on-page input:focus,
.auth-page input:focus,
.login-box input:focus,
.signon-box input:focus{
    border-color:#67d3de !important;
    box-shadow:0 0 0 3px rgba(14,182,200,.10) !important;
}

.login-page button[type="submit"],
.signon-page button[type="submit"],
.sign-on-page button[type="submit"],
.auth-page button[type="submit"],
.login-box button[type="submit"],
.signon-box button[type="submit"]{
    min-height:46px !important;
    border:0 !important;
    border-radius:11px !important;
    background:linear-gradient(135deg,#244F91,#1976A8,#0EB6C8) !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:800 !important;
    box-shadow:0 8px 18px rgba(25,118,168,.20) !important;
}



/* =========================================================
   SIDEBAR FONT SIZE — LEBIH BESAR & LEBIH TERBACA
   ========================================================= */

/* Menu utama */
html body .sidebar .nav,
html body .sidebar .parent{
    font-size:14px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
}

/* Judul / section menu */
html body .sidebar .sec,
html body .sidebar .subgroup{
    font-size:10.5px !important;
    line-height:1.3 !important;
    font-weight:800 !important;
    letter-spacing:.07em !important;
}

/* Submenu */
html body .sidebar .submenu a{
    font-size:12.5px !important;
    line-height:1.4 !important;
    font-weight:600 !important;
}

/* Brand sidebar */
html body .sidebar .brand strong{
    font-size:15px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
}

html body .sidebar .brand small{
    font-size:11.5px !important;
    line-height:1.3 !important;
}

/* Sedikit tambah tinggi menu agar font besar tidak sesak */
html body .sidebar .nav,
html body .sidebar .parent{
    min-height:43px !important;
    padding-top:9px !important;
    padding-bottom:9px !important;
}

/* Icon tetap proporsional */
html body .sidebar .sidebar-ico,
html body .sidebar .ico{
    width:29px !important;
    height:29px !important;
    min-width:29px !important;
    font-size:13px !important;
}



/* =========================================================
   GLOBAL TABLE HEADER — PKBI BLUE + CYAN ALTERNATING
   Berlaku untuk semua tabel di sistem.
   Pola: Cyan - Biru PKBI - Cyan - Biru PKBI - dst.
   ========================================================= */

/* Base header */
html body table thead th{
    color:#fff !important;
    font-weight:800 !important;
    border-right:1px solid rgba(255,255,255,.20) !important;
    border-bottom:0 !important;
}

/* Kolom ganjil: CYAN */
html body table thead th:nth-child(odd){
    background:linear-gradient(135deg,#0EB6C8 0%,#12AFC2 100%) !important;
    color:#fff !important;
}

/* Kolom genap: BIRU PKBI */
html body table thead th:nth-child(even){
    background:linear-gradient(135deg,#244F91 0%,#1976A8 100%) !important;
    color:#fff !important;
}

/* Hilangkan separator di kolom terakhir */
html body table thead th:last-child{
    border-right:0 !important;
}

/* Jika menggunakan DataTables */
html body table.dataTable thead th:nth-child(odd),
html body .dataTables_wrapper table thead th:nth-child(odd),
html body .saku-table thead th:nth-child(odd){
    background:linear-gradient(135deg,#0EB6C8 0%,#12AFC2 100%) !important;
    color:#fff !important;
}

html body table.dataTable thead th:nth-child(even),
html body .dataTables_wrapper table thead th:nth-child(even),
html body .saku-table thead th:nth-child(even){
    background:linear-gradient(135deg,#244F91 0%,#1976A8 100%) !important;
    color:#fff !important;
}

/* Sorting icon DataTables tetap terlihat */
html body table.dataTable thead .sorting,
html body table.dataTable thead .sorting_asc,
html body table.dataTable thead .sorting_desc{
    color:#fff !important;
}

/* Sudut tabel lebih halus */
html body table thead tr:first-child th:first-child{
    border-top-left-radius:8px;
}

html body table thead tr:first-child th:last-child{
    border-top-right-radius:8px;
}

/* Hover header sedikit lebih hidup */
html body table thead th:hover{
    filter:brightness(1.04);
}

/* =========================================================
   GLOBAL TBODY
   Isi tabel tetap netral agar header menjadi fokus.
   ========================================================= */
html body table tbody td{
    background:#fff !important;
    color:#344d60 !important;
}

html body table tbody tr:nth-child(even) td{
    background:#fbfdfe !important;
}

html body table tbody tr:hover td{
    background:#edf9fc !important;
}


/* =========================================================
   FINAL GLOBAL TABLE HEADER
   Cyan - Biru PKBI - Cyan - Biru PKBI - seterusnya
   ========================================================= */
:root{
    --table-header-cyan-1:#08B8CC;
    --table-header-cyan-2:#11AFC3;
    --table-header-blue-1:#244F91;
    --table-header-blue-2:#1976A8;
}

table thead th,
.saku-table thead th{
    color:#fff !important;
    font-weight:800 !important;
    border-bottom:0 !important;
    border-right:1px solid rgba(255,255,255,.22) !important;
}

table thead th:nth-child(odd),
.saku-table thead th:nth-child(odd){
    background:linear-gradient(135deg,var(--table-header-cyan-1),var(--table-header-cyan-2)) !important;
    color:#fff !important;
}

table thead th:nth-child(even),
.saku-table thead th:nth-child(even){
    background:linear-gradient(135deg,var(--table-header-blue-1),var(--table-header-blue-2)) !important;
    color:#fff !important;
}

table thead th:last-child,
.saku-table thead th:last-child{
    border-right:0 !important;
}

table tbody td,
.saku-table tbody td{
    background:#fff;
}

table tbody tr:nth-child(even) td,
.saku-table tbody tr:nth-child(even) td{
    background:#fbfdfe;
}

table tbody tr:hover td,
.saku-table tbody tr:hover td{
    background:#edf9fc;
}


/* =========================================================
   FINAL OVERRIDE — TABLE HEADER BLUE / CYAN
   Kolom 1 Biru, Kolom 2 Cyan, Kolom 3 Biru, Kolom 4 Cyan...
   ========================================================= */
html body table thead th:nth-child(odd),
html body .saku-table thead th:nth-child(odd),
html body table.dataTable thead th:nth-child(odd),
html body .dataTables_wrapper table thead th:nth-child(odd){
    background:linear-gradient(135deg,#244F91 0%,#1976A8 100%) !important;
    color:#ffffff !important;
}

html body table thead th:nth-child(even),
html body .saku-table thead th:nth-child(even),
html body table.dataTable thead th:nth-child(even),
html body .dataTables_wrapper table thead th:nth-child(even){
    background:linear-gradient(135deg,#08B8CC 0%,#11AFC3 100%) !important;
    color:#ffffff !important;
}

/* =========================================================
   IPA DATA HEADER — teks judul/subtitle/search harus terbaca
   ========================================================= */
html body .ipa-redesign-v3 .ipa-table-head-redesign .ipa-table-eyebrow{
    color:#d8f7ff !important;
}

html body .ipa-redesign-v3 .ipa-table-head-redesign .card-title{
    color:#ffffff !important;
}

html body .ipa-redesign-v3 .ipa-table-head-redesign .ipa-table-subtitle{
    color:#ffffff !important;
    opacity:.92 !important;
    font-weight:500 !important;
}

html body .ipa-redesign-v3 .ipa-search-box{
    background:#ffffff !important;
    color:#244F91 !important;
}

html body .ipa-redesign-v3 .ipa-search-box input{
    color:#29445f !important;
    -webkit-text-fill-color:#29445f !important;
}

html body .ipa-redesign-v3 .ipa-search-box input::placeholder{
    color:#71869a !important;
    opacity:1 !important;
}

html body .ipa-redesign-v3 .ipa-search-box svg{
    color:#244F91 !important;
    stroke:#244F91 !important;
}



/* =========================================================
   FINAL LOCK — TABLE HEADER
   JANGAN DIUBAH LAGI
   Kolom 1 Biru PKBI, 2 Cyan, 3 Biru, 4 Cyan, dst.
   ========================================================= */
html body .content table thead tr > th:nth-child(odd),
html body .content .saku-module table.saku-table thead tr > th:nth-child(odd),
html body .content table#example thead tr > th:nth-child(odd),
html body .content .dataTables_wrapper table thead tr > th:nth-child(odd){
    background:#244F91 !important;
    background-image:linear-gradient(135deg,#244F91 0%,#1976A8 100%) !important;
    color:#ffffff !important;
    border-right:1px solid rgba(255,255,255,.22) !important;
}

html body .content table thead tr > th:nth-child(even),
html body .content .saku-module table.saku-table thead tr > th:nth-child(even),
html body .content table#example thead tr > th:nth-child(even),
html body .content .dataTables_wrapper table thead tr > th:nth-child(even){
    background:#08B8CC !important;
    background-image:linear-gradient(135deg,#08B8CC 0%,#11AFC3 100%) !important;
    color:#ffffff !important;
    border-right:1px solid rgba(255,255,255,.22) !important;
}

html body .content table thead tr > th:last-child,
html body .content .saku-module table.saku-table thead tr > th:last-child,
html body .content table#example thead tr > th:last-child{
    border-right:0 !important;
}

/* TBODY dikunci netral */
html body .content table tbody tr td,
html body .content .saku-module table.saku-table tbody tr td,
html body .content table#example tbody tr td{
    background:#ffffff !important;
}

html body .content table tbody tr:nth-child(even) td,
html body .content .saku-module table.saku-table tbody tr:nth-child(even) td,
html body .content table#example tbody tr:nth-child(even) td{
    background:#fbfdfe !important;
}

html body .content table tbody tr:hover td,
html body .content .saku-module table.saku-table tbody tr:hover td,
html body .content table#example tbody tr:hover td{
    background:#edf9fc !important;
}

/* =========================================================
   DATE FIELD — DISPLAY dd/mm/yyyy
   Tidak mempengaruhi tabel
   ========================================================= */
.ipa-date-wrap{
    position:relative;
    width:100%;
}

.ipa-date-display{
    padding-right:44px !important;
    cursor:pointer !important;
    background:#fff !important;
    color:#324d60 !important;
}

.ipa-date-trigger{
    position:absolute;
    top:50%;
    right:7px;
    transform:translateY(-50%);
    width:30px;
    height:30px;
    border:0;
    border-radius:8px;
    display:grid;
    place-items:center;
    cursor:pointer;
    color:#1976A8;
    background:#E8F8FC;
    transition:.15s ease;
}

.ipa-date-trigger:hover{
    color:#fff;
    background:linear-gradient(135deg,#244F91,#0EB6C8);
}

.ipa-date-trigger svg{
    width:15px;
    height:15px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.ipa-native-picker-hidden{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
    right:10px;
    bottom:0;
}

/* =========================================================
   VALIDATOR — hanya form
   Tidak mempengaruhi tabel
   ========================================================= */
.ipa-validation-invalid,
.saku-control.ipa-validation-invalid,
.form-control.ipa-validation-invalid,
.form-select.ipa-validation-invalid{
    border-color:#e25353 !important;
    background:#fffafa !important;
    box-shadow:0 0 0 3px rgba(226,83,83,.09) !important;
}

.ipa-field-error{
    display:none;
    align-items:flex-start;
    gap:6px;
    margin:6px 2px 0;
    padding:7px 9px;
    border:1px solid #f1c7c7;
    border-radius:8px;
    background:#fff4f4;
    color:#b73d3d;
    font-family:"Segoe UI",Arial,sans-serif !important;
    font-size:10.5px !important;
    line-height:1.4;
    font-weight:600;
}

.ipa-field-error.show{
    display:flex;
}

.ipa-field-error.show::before{
    content:"!";
    width:17px;
    height:17px;
    min-width:17px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#e25353;
    color:#fff;
    font-size:10px;
    line-height:1;
    font-weight:800;
}

/* =========================================================
   SWEETALERT — tema PKBI
   ========================================================= */
.swal2-popup{
    font-family:"Segoe UI",Arial,sans-serif !important;
    border-radius:16px !important;
}

.swal2-title{
    color:#244F91 !important;
    font-size:19px !important;
}

.swal2-html-container,
.swal2-content{
    color:#526779 !important;
    font-size:13px !important;
}

.swal2-confirm{
    border:0 !important;
    border-radius:9px !important;
    background:linear-gradient(135deg,#244F91,#0EB6C8) !important;
    font-weight:700 !important;
    box-shadow:none !important;
}


/* =========================================================
   PKBI SIDEBAR WATERMARK - FIX FINAL
   Selector disesuaikan dengan sidebar aktual: .sidebar
   Logo di-embed langsung di CSS, jadi tidak perlu file gambar terpisah.
   ========================================================= */

html body .sidebar {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

/* Watermark putih PKBI */
html body .sidebar::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    top: 52% !important;
    width: 190px !important;
    height: 190px !important;
    transform: translate(-50%, -50%) !important;
    background-image: url("data:image/png;base64,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") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
    opacity: .12 !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* Semua isi sidebar tetap di atas watermark */
html body .sidebar > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Menu/submenu jangan menutup watermark dengan background penuh */
html body .sidebar .submenu {
    position: relative !important;
    z-index: 2 !important;
}

/* Sidebar mini / compact */
html body[data-sidebar-style="mini"] .sidebar::before,
html body[data-sidebar-style="compact"] .sidebar::before,
html body.menu-toggle .sidebar::before {
    width: 78px !important;
    height: 78px !important;
    top: 56% !important;
    opacity: .10 !important;
}

@media (max-width: 767px) {
    html body .sidebar::before {
        width: 145px !important;
        height: 145px !important;
        top: 48% !important;
        opacity: .11 !important;
    }
}


/* =========================================================
   SAKU LAYOUT NORMALIZATION — FINAL
   Satu sumber aturan untuk sidebar, main, header, dan content.
   ========================================================= */
:root{
    --saku-shell-sidebar:258px;
    --saku-shell-gap:20px;
}

/* Sidebar */
html body .sidebar{
    width:var(--saku-shell-sidebar) !important;
    min-width:var(--saku-shell-sidebar) !important;
    max-width:var(--saku-shell-sidebar) !important;
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    position:fixed !important;
}

/* Main harus mulai tepat setelah sidebar, tidak boleh offset dua kali */
html body .main{
    margin-left:var(--saku-shell-sidebar) !important;
    width:calc(100% - var(--saku-shell-sidebar)) !important;
    max-width:none !important;
    padding-left:0 !important;
    box-sizing:border-box !important;
}

/* Content berada DI DALAM main, jadi tidak perlu margin sidebar lagi */
html body .main > .content,
html body .main .content{
    margin-left:0 !important;
    width:100% !important;
    max-width:none !important;
    padding:24px var(--saku-shell-gap) !important;
    box-sizing:border-box !important;
}

/* Semua section utama mengikuti lebar content */
html body .main .content > *,
html body .region-filter-wrap,
html body .region-filter-v2,
html body .workflow,
html body .support{
    max-width:none !important;
    box-sizing:border-box !important;
}

/* Filter wilayah harus memakai seluruh area content */
html body .region-filter-wrap.region-filter-v2{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

/* Grid filter kembali normal: Wilayah, Unit, Tahun, tombol */
html body .region-filter-v2-form{
    width:100% !important;
    grid-template-columns:minmax(240px,1.15fr) minmax(240px,1.15fr) 150px auto !important;
}

/* Workflow menggunakan seluruh lebar content */
html body .workflow{
    width:100% !important;
}

/* Header putih sejajar dengan card content */
html body .main > header.top{
    margin:10px var(--saku-shell-gap) 0 !important;
    width:calc(100% - (var(--saku-shell-gap) * 2)) !important;
    max-width:none !important;
    padding:10px 16px !important;
    box-sizing:border-box !important;
    border-radius:18px !important;
}

/* Card filter aktif header cukup rounded biasa */
html body .main > header.top > .top-active-filter,
html body .main > header.top > div:first-child{
    margin-left:0 !important;
    margin-right:0 !important;
    transform:none !important;
    border-radius:14px !important;
}

/* Menu kanan tetap di kanan */
html body .main > header.top > .header-tools{
    margin-left:auto !important;
}

/* Jangan biarkan generic wrapper lama memberi offset tambahan */
html body .main-content,
html body .content-wrapper,
html body .page-content,
html body .page-body,
html body .right-panel,
html body .main-panel,
html body .workspace,
html body .workspace-content{
    margin-left:0 !important;
    width:auto !important;
    max-width:none !important;
}

/* Responsif */
@media(max-width:991px){
    html body .sidebar{
        width:235px !important;
        min-width:235px !important;
        max-width:235px !important;
    }

    html body .main{
        margin-left:235px !important;
        width:calc(100% - 235px) !important;
    }

    html body .main > .content,
    html body .main .content{
        padding:18px 14px !important;
    }

    html body .main > header.top{
        margin:8px 14px 0 !important;
        width:calc(100% - 28px) !important;
    }
}

@media(max-width:720px){
    html body .sidebar{
        transform:translateX(-100%);
    }

    html body .main{
        margin-left:0 !important;
        width:100% !important;
    }

    html body .region-filter-v2-form{
        grid-template-columns:1fr !important;
    }

    html body .workflow{
        grid-template-columns:1fr !important;
    }
}

/* ===== IPA REDESIGN V3 MOVED FROM BLADE ===== */
/* Tampilan warna utama mengikuti style_SAKU_PKBI_BLUE_CYAN_GLOBAL_TABLE_HEADER.css.
   CSS di Blade ini hanya mempertahankan layout khusus halaman IPA. */
/* =========================================================
   IPA PAGE V3 - SCOPED HEADER/FILTER/TABLE UI
   Tidak mempengaruhi modul lain
   ========================================================= */
.ipa-redesign-v3{
    --ipa-navy:#123d73;
    --ipa-blue:#1c5fa8;
    --ipa-cyan:#2b83c6;
    --ipa-ink:#18324f;
    --ipa-muted:#6f8197;
    --ipa-line:#dbe5ef;
    --ipa-soft:#f4f8fc;
    --ipa-white:#fff;
    font-family:"Segoe UI",Arial,sans-serif !important;
    color:var(--ipa-ink);
}
.ipa-redesign-v3 *{box-sizing:border-box}

/* HERO */
.ipa-redesign-v3 .ipa-page-hero{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
    flex-wrap:wrap !important;
    padding:22px 24px !important;
    margin:0 0 16px !important;
    border:0 !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:linear-gradient(125deg,#113b70 0%,#1b5ca5 58%,#2f82bd 100%) !important;
    box-shadow:0 12px 30px rgba(20,66,115,.18) !important;
}
.ipa-redesign-v3 .ipa-page-hero:after{
    content:"";
    position:absolute;
    right:-70px;top:-100px;
    width:260px;height:260px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    pointer-events:none;
}
.ipa-redesign-v3 .ipa-page-hero-copy{position:relative;z-index:1;min-width:0}
.ipa-redesign-v3 .ipa-kicker{
    margin:0 0 6px !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:.14em !important;
    color:#cfe4ff !important;
}
.ipa-redesign-v3 .ipa-page-hero h1{
    margin:0 !important;
    font-size:25px !important;
    line-height:1.2 !important;
    letter-spacing:-.02em !important;
    font-weight:800 !important;
    color:#fff !important;
}
.ipa-redesign-v3 .ipa-page-hero p{
    margin:7px 0 0 !important;
    max-width:720px !important;
    font-size:12px !important;
    line-height:1.55 !important;
    color:#dceaff !important;
}
.ipa-redesign-v3 .ipa-page-hero-actions{
    position:relative;z-index:2;
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
    flex-wrap:wrap !important;
}
.ipa-redesign-v3 .ipa-hero-btn{
    height:40px !important;
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:10px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    text-decoration:none !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:800 !important;
    box-shadow:none !important;
    transition:.15s ease !important;
}
.ipa-redesign-v3 .ipa-hero-btn-light{
    color:#fff !important;
    background:rgba(255,255,255,.12) !important;
    border:1px solid rgba(255,255,255,.34) !important;
}
.ipa-redesign-v3 .ipa-hero-btn-light:hover{background:rgba(255,255,255,.2) !important;transform:translateY(-1px)}
.ipa-redesign-v3 .ipa-hero-btn-primary{
    color:#174f8a !important;
    background:#fff !important;
    border:1px solid #fff !important;
}
.ipa-redesign-v3 .ipa-hero-btn-primary:hover{background:#edf5ff !important;transform:translateY(-1px)}
.ipa-redesign-v3 .ipa-hero-btn svg{
    width:15px !important;height:15px !important;min-width:15px !important;max-width:15px !important;
    fill:none !important;stroke:currentColor !important;stroke-width:2 !important;
    stroke-linecap:round !important;stroke-linejoin:round !important;
}

/* FILTER */
.ipa-redesign-v3 .ipa-filter-modern{
    display:grid !important;
    grid-template-columns:minmax(230px,1fr) auto !important;
    align-items:end !important;
    gap:18px !important;
    margin:0 0 16px !important;
    padding:16px 18px !important;
    border:1px solid var(--ipa-line) !important;
    border-radius:16px !important;
    background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
    box-shadow:0 7px 20px rgba(26,72,120,.06) !important;
}
.ipa-redesign-v3 .ipa-filter-modern-title{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    min-width:0 !important;
}
.ipa-redesign-v3 .ipa-filter-modern-icon{
    width:38px !important;height:38px !important;min-width:38px !important;
    display:grid !important;place-items:center !important;
    border-radius:11px !important;
    background:#eaf3ff !important;color:#1d5b9c !important;
}
.ipa-redesign-v3 .ipa-filter-modern-icon svg{width:17px !important;height:17px !important;fill:none !important;stroke:currentColor !important;stroke-width:1.9 !important}
.ipa-redesign-v3 .ipa-filter-modern-title strong{
    display:block !important;margin:0 !important;font-size:13px !important;line-height:1.25 !important;color:#173b64 !important;
}
.ipa-redesign-v3 .ipa-filter-modern-title small{
    display:block !important;margin:3px 0 0 !important;font-size:10px !important;line-height:1.4 !important;color:#7a8ca1 !important;
}
.ipa-redesign-v3 .ipa-filter-modern-fields{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:flex-end !important;
    gap:9px !important;
    flex-wrap:wrap !important;
}
.ipa-redesign-v3 .ipa-filter-modern-field{width:155px !important;min-width:155px !important}
.ipa-redesign-v3 .ipa-filter-modern-field label{
    display:block !important;margin:0 0 5px 2px !important;font-size:9px !important;font-weight:800 !important;color:#60768f !important;
}
.ipa-redesign-v3 .ipa-filter-modern-field .saku-control{
    width:100% !important;height:40px !important;min-height:40px !important;
    border:1px solid #d6e1ec !important;border-radius:10px !important;
    background:#fff !important;color:#24415f !important;
    padding:0 11px !important;font-size:11px !important;box-shadow:none !important;
}
.ipa-redesign-v3 .ipa-filter-modern-field .saku-control:focus{border-color:#86add7 !important;box-shadow:0 0 0 3px rgba(33,95,164,.08) !important}
.ipa-redesign-v3 .ipa-filter-apply{
    height:40px !important;min-height:40px !important;
    padding:0 15px !important;border-radius:10px !important;
    display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:7px !important;
    color:#fff !important;background:linear-gradient(135deg,#1a5ea5,#2478bb) !important;
    border:1px solid #1a5ea5 !important;text-decoration:none !important;
    font-size:11px !important;font-weight:800 !important;
    box-shadow:0 5px 12px rgba(24,87,151,.16) !important;
}
.ipa-redesign-v3 .ipa-filter-apply:hover{filter:brightness(.97);transform:translateY(-1px)}
.ipa-redesign-v3 .ipa-filter-apply svg{width:15px !important;height:15px !important;fill:none !important;stroke:currentColor !important;stroke-width:2 !important}

/* DATA CARD */
.ipa-redesign-v3 .ipa-data-card{
    border:1px solid var(--ipa-line) !important;
    border-radius:16px !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:0 8px 22px rgba(22,67,111,.06) !important;
}
.ipa-redesign-v3 .ipa-table-head-redesign{
    padding:15px 17px !important;
    background:linear-gradient(110deg,#173f71,#1f5e98) !important;
    border:0 !important;
}
.ipa-redesign-v3 .ipa-table-head-redesign .ipa-table-eyebrow{display:block !important;color:#bfd9f4 !important;font-size:9px !important;font-weight:800 !important;letter-spacing:.12em !important}
.ipa-redesign-v3 .ipa-table-head-redesign .card-title{margin:3px 0 0 !important;color:#fff !important;font-size:16px !important;font-weight:800 !important}
.ipa-redesign-v3 .ipa-table-subtitle{display:block !important;margin-top:4px !important;font-size:9px !important}
.ipa-redesign-v3 .ipa-search-box{
    width:340px !important;max-width:100% !important;height:40px !important;
    display:flex !important;align-items:center !important;gap:8px !important;
    padding:0 12px !important;border-radius:10px !important;
    background:#fff !important;border:1px solid rgba(255,255,255,.5) !important;
    color:#627990 !important;
}
.ipa-redesign-v3 .ipa-search-box svg{width:15px !important;height:15px !important;min-width:15px !important;fill:none !important;stroke:currentColor !important;stroke-width:2 !important}
.ipa-redesign-v3 .ipa-search-box input{width:100% !important;height:38px !important;border:0 !important;outline:0 !important;padding:0 !important;background:transparent !important;font-size:10px !important;color:#29445f !important;box-shadow:none !important}

/* TABLE */
.ipa-redesign-v3 .saku-table{width:100% !important;border-collapse:separate !important;border-spacing:0 !important}
.ipa-redesign-v3 .saku-table th{
    padding:11px 12px !important;
    font-size:9px !important;
    font-weight:800 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase !important;
}
.ipa-redesign-v3 .saku-table td{
    padding:12px !important;
    border-bottom:1px solid #edf1f5 !important;
    color:#29445f !important;
    font-size:11px !important;
    line-height:1.45 !important;
    vertical-align:middle !important;
}
.ipa-redesign-v3 .saku-table tbody tr:hover{background:#f8fbff !important}
.ipa-redesign-v3 .saku-docno{font-family:"Segoe UI",Arial,sans-serif !important;font-size:11px !important;font-weight:500 !important;color:#174f8a !important}
.ipa-redesign-v3 .ipa-money-value{font-size:12px !important;font-weight:800 !important;color:#163f69 !important;white-space:nowrap !important}

/* action icons kept small */
.ipa-redesign-v3 .ipa-actions-v2{display:flex !important;align-items:center !important;justify-content:center !important;gap:6px !important}
.ipa-redesign-v3 .ipa-act-v2{width:30px !important;height:30px !important;min-width:30px !important;max-width:30px !important;padding:0 !important;border-radius:9px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important}
.ipa-redesign-v3 .ipa-act-icon-v2,.ipa-redesign-v3 .ipa-act-icon-v2 svg{width:14px !important;height:14px !important;min-width:14px !important;max-width:14px !important}
.ipa-redesign-v3 .ipa-act-icon-v2 svg{fill:none !important;stroke:currentColor !important;stroke-width:1.8 !important;stroke-linecap:round !important;stroke-linejoin:round !important}

/* badges */
.ipa-redesign-v3 .saku-badge{font-family:"Segoe UI",Arial,sans-serif !important;font-size:9px !important;font-weight:700 !important;padding:4px 8px !important;line-height:1.2 !important;border-radius:999px !important}
.ipa-redesign-v3 .ipa-badge-icon{width:11px !important;height:11px !important;min-width:11px !important;margin-right:4px !important}

/* footer / pagination */
.ipa-redesign-v3 .ipa-table-footer{padding:12px 14px !important;background:#fbfdff !important;border-top:1px solid #e8eef5 !important}
.ipa-redesign-v3 .ipa-page-info{font-size:10px !important;color:#73869a !important}
.ipa-redesign-v3 .ipa-page-btn{width:30px !important;height:30px !important;border-radius:8px !important;font-size:10px !important}

@media(max-width:900px){
    .ipa-redesign-v3 .ipa-filter-modern{grid-template-columns:1fr !important}
    .ipa-redesign-v3 .ipa-filter-modern-fields{justify-content:flex-start !important}
}
@media(max-width:650px){
    .ipa-redesign-v3 .ipa-page-hero{padding:18px !important}
    .ipa-redesign-v3 .ipa-page-hero h1{font-size:21px !important}
    .ipa-redesign-v3 .ipa-page-hero-actions{width:100% !important}
    .ipa-redesign-v3 .ipa-hero-btn{flex:1 1 auto !important}
    .ipa-redesign-v3 .ipa-filter-modern-field{width:100% !important;min-width:0 !important}
    .ipa-redesign-v3 .ipa-filter-modern-fields{display:grid !important;grid-template-columns:1fr !important;width:100% !important}
    .ipa-redesign-v3 .ipa-filter-apply{width:100% !important}
    .ipa-redesign-v3 .ipa-table-head-redesign{align-items:stretch !important}
    .ipa-redesign-v3 .ipa-table-tools,.ipa-redesign-v3 .ipa-search-box{width:100% !important}
}


/* =========================================================
   FINAL FIX: TBODY TIDAK BOLEH MENGIKUTI WARNA HEADER
   ========================================================= */
/* Header <thead> dikendalikan oleh CSS global PKBI Blue + Cyan. */

.ipa-redesign-v3 table#example tbody tr,
.ipa-redesign-v3 table#example tbody tr:first-child,
.ipa-redesign-v3 table#example tbody tr:nth-child(odd),
.ipa-redesign-v3 table#example tbody tr:nth-child(even){
    background:#fff !important;
}

.ipa-redesign-v3 table#example tbody tr td,
.ipa-redesign-v3 table#example tbody tr:first-child td,
.ipa-redesign-v3 table#example tbody tr:nth-child(odd) td,
.ipa-redesign-v3 table#example tbody tr:nth-child(even) td{
    background:#fff !important;
    color:#29445f !important;
}

/* zebra sangat tipis hanya untuk baris genap */
.ipa-redesign-v3 table#example tbody tr:nth-child(even) td{
    background:#fbfefe !important;
}

/* hover */
.ipa-redesign-v3 table#example tbody tr:hover td{
    background:#eefbfd !important;
}

/* pastikan link / badge / nominal pada baris pertama tetap warna normal */
.ipa-redesign-v3 table#example tbody tr:first-child .saku-docno{
    color:#174f8a !important;
}
.ipa-redesign-v3 table#example tbody tr:first-child .ipa-money-value{
    color:#163f69 !important;
}



/* =========================================================
   IPA FINAL VISUAL FIX
   1) Tambah IPA text visible
   2) Header table alternating cyan-blue
   3) Only amount column bold in tbody
   ========================================================= */

/* Tombol Tambah IPA: jangan tertimpa rule hero span putih */
.ipa-redesign-v3 .ipa-page-hero .ipa-hero-btn-primary,
.ipa-redesign-v3 .ipa-page-hero .ipa-hero-btn-primary span,
.ipa-redesign-v3 .ipa-page-hero .ipa-hero-btn-primary svg{
    color:#244F91 !important;
    stroke:#244F91 !important;
}
.ipa-redesign-v3 .ipa-page-hero .ipa-hero-btn-primary span{
    display:inline-block !important;
    visibility:visible !important;
    opacity:1 !important;
    white-space:nowrap !important;
}

/* Warna header tabel mengikuti CSS GLOBAL:
   Cyan - Biru PKBI - Cyan - Biru PKBI - dst.
   Tidak didefinisikan lagi di Blade agar konsisten di seluruh modul. */

/* Semua teks tbody normal */
.ipa-redesign-v3 table#example tbody td,
.ipa-redesign-v3 table#example tbody td *,
.ipa-redesign-v3 table#example tbody .saku-docno,
.ipa-redesign-v3 table#example tbody .ipa-program-text,
.ipa-redesign-v3 table#example tbody .saku-badge,
.ipa-redesign-v3 table#example tbody .ipa-project-badge,
.ipa-redesign-v3 table#example tbody .ipa-donor-badge{
    font-weight:400 !important;
}

/* No IPA boleh sedikit lebih tegas namun tidak bold */
.ipa-redesign-v3 table#example tbody .saku-docno{
    font-weight:500 !important;
}

/* HANYA kolom Jumlah yang bold */
.ipa-redesign-v3 table#example tbody td:nth-child(5),
.ipa-redesign-v3 table#example tbody td:nth-child(5) *,
.ipa-redesign-v3 table#example tbody .ipa-money-value{
    font-weight:800 !important;
}

/* Nominal tetap warna identitas PKBI */
.ipa-redesign-v3 table#example tbody .ipa-money-value{
    color:#173F69 !important;
}

/* Tbody tetap putih, tidak ikut warna header */
.ipa-redesign-v3 table#example tbody tr td{
    background:#fff !important;
}
.ipa-redesign-v3 table#example tbody tr:nth-child(even) td{
    background:#fbfdfe !important;
}
.ipa-redesign-v3 table#example tbody tr:hover td{
    background:#edf9fc !important;
}


/* Tombol Tambah IPA tetap terbaca pada tema global */
.ipa-redesign-v3 .ipa-page-hero .ipa-hero-btn-primary,
.ipa-redesign-v3 .ipa-page-hero .ipa-hero-btn-primary span,
.ipa-redesign-v3 .ipa-page-hero .ipa-hero-btn-primary svg{
    color:#244F91 !important;
    stroke:#244F91 !important;
}
.ipa-redesign-v3 .ipa-page-hero .ipa-hero-btn-primary span{
    display:inline-block !important;
    visibility:visible !important;
    opacity:1 !important;
}

/* =========================================================
   IPA FRMMASTER MODERN V4 - MOVED FROM BLADE
   Semua style khusus frmmaster IPA dipindahkan ke style.css
   agar Blade bersih dan tampilan konsisten.
   ========================================================= */

#ipa-success-notification{
    position:fixed;
    top:26px;
    left:50%;
    transform:translate(-50%,-18px);
    z-index:999999;
    min-width:360px;
    max-width:520px;
    padding:16px 20px;
    display:flex;
    align-items:center;
    gap:14px;
    background:#ffffff;
    border:1px solid #bbf7d0;
    border-left:6px solid #22c55e;
    border-radius:14px;
    box-shadow:0 18px 45px rgba(15,23,42,.20);
    opacity:0;
    visibility:hidden;
    transition:all .25s ease;
    font-family:inherit;
}
#ipa-success-notification.show{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
}
#ipa-success-notification .ipa-success-icon{
    width:44px;
    height:44px;
    min-width:44px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#dcfce7;
    color:#16a34a;
    font-size:21px;
}
#ipa-success-notification .ipa-success-title{
    font-size:16px;
    font-weight:800;
    color:#166534;
    line-height:1.2;
    margin-bottom:4px;
}
#ipa-success-notification .ipa-success-message{
    font-size:14px;
    font-weight:600;
    color:#334155;
    line-height:1.4;
}
@media(max-width:576px){
    #ipa-success-notification{
        min-width:0;
        width:calc(100% - 28px);
        top:16px;
    }
}

.ipa-form-modern{
    --ipa-blue:#1f5fa9;
    --ipa-blue-dark:#17477f;
    --ipa-soft:#f3f8ff;
    --ipa-line:#dce7f2;
    --ipa-text:#173b63;
    --ipa-muted:#75879d;
    font-family:Arial,Helvetica,sans-serif;
}
.ipa-form-modern .saku-panel{
    border:1px solid var(--ipa-line) !important;
    border-radius:17px !important;
    overflow:hidden;
    box-shadow:0 10px 26px rgba(28,73,125,.065) !important;
    background:#fff;
}
.ipa-form-modern .saku-panel + .saku-panel{margin-top:16px}
.ipa-form-hero{
    min-height:82px;
    padding:15px 18px !important;
    background:
      radial-gradient(circle at 100% 0,rgba(53,127,207,.13),transparent 30%),
      linear-gradient(135deg,#ffffff 0%,#f3f8ff 100%) !important;
    border-bottom:1px solid #e4edf6 !important;
}
.ipa-form-hero-left{
    display:flex;
    align-items:center;
    gap:12px;
}
.ipa-form-hero-icon{
    width:43px;
    height:43px;
    flex:0 0 43px;
    border-radius:12px;
    display:grid;
    place-items:center;
    color:#1f5fa9;
    background:#eaf4ff;
    border:1px solid #cfe3f7;
}
.ipa-form-hero-icon svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.ipa-form-kicker{
    display:block;
    margin-bottom:3px;
    font-size:8px;
    line-height:1;
    font-weight:800;
    letter-spacing:.13em;
    color:#7f91a6;
}
.ipa-form-hero .card-title,
.ipa-allocation-head .card-title{
    margin:0 !important;
    color:#173b63;
    font-size:15px !important;
    font-weight:800;
}
.ipa-form-hero small,
.ipa-allocation-head small{
    display:block;
    margin-top:4px;
    font-size:9px;
    color:#7a8ca1;
}
.ipa-form-status{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:120px;
    padding:8px 10px;
    border-radius:11px;
    background:#fff;
    border:1px solid #dbe7f3;
}
.ipa-form-status-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#20a85f;
    box-shadow:0 0 0 4px rgba(32,168,95,.11);
}
.ipa-form-status small{
    margin:0;
    font-size:7px;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.ipa-form-status strong{
    display:block;
    margin-top:2px;
    font-size:9px;
    color:#31567d;
}
.ipa-form-modern .saku-panel-body{
    padding:17px !important;
}
.ipa-form-modern .saku-form-grid{
    gap:13px !important;
}
.ipa-form-modern .saku-form-group label{
    margin:0 0 6px 2px !important;
    color:#5f748c !important;
    font-size:8px !important;
    font-weight:800 !important;
    letter-spacing:.045em;
    text-transform:uppercase;
}
.ipa-form-modern .saku-control{
    height:42px !important;
    border:1px solid #d7e3ef !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#284764 !important;
    font-size:10px !important;
    padding:0 11px !important;
    outline:none;
    box-shadow:none !important;
    transition:.15s ease;
}
.ipa-form-modern .saku-control:focus{
    border-color:#8fb5df !important;
    box-shadow:0 0 0 3px rgba(31,95,169,.08) !important;
}
.ipa-form-modern .saku-control[readonly]{
    background:#f5f8fb !important;
    color:#647990 !important;
}
.ipa-form-divider{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    gap:10px;
    margin:3px 0 1px;
}
.ipa-form-divider::after{
    content:"";
    flex:1;
    height:1px;
    background:#e5edf5;
}
.ipa-form-divider span{
    font-size:7.5px;
    font-weight:800;
    letter-spacing:.13em;
    color:#8a9aae;
}
.ipa-allocation-head{
    padding:14px 17px !important;
    background:linear-gradient(135deg,#fbfdff,#f2f7fd) !important;
    border-bottom:1px solid #e3ebf4 !important;
}
.ipa-allocation-body{
    padding:0 !important;
}
.ipa-allocation-table{
    border-spacing:0 !important;
}
/* Header tabel alokasi mengikuti CSS global pada thead th:
   Biru PKBI - Cyan - Biru PKBI - Cyan - seterusnya. */
.ipa-allocation-table thead th{
    position:sticky;
    top:0;
    z-index:2;
    padding:11px 12px !important;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:.035em;
    text-transform:uppercase;
    vertical-align:middle !important;
}
.ipa-allocation-table tbody tr:hover td{
    background:#edf9fc !important;
}
.ipa-allocation-table tbody td{
    padding:9px 10px !important;
    border-bottom:1px solid #edf2f7 !important;
    vertical-align:middle !important;
    font-size:11px !important;
    font-weight:400 !important;
}
.ipa-allocation-table .saku-control{
    height:36px !important;
    border-radius:8px !important;
    font-size:9px !important;
}
.ipa-allocation-table input[readonly]{
    background:#f7f9fc !important;
}
.ipa-total-row td{
    background:#f1f7ff !important;
    border-top:1px solid #d8e6f5 !important;
    border-bottom:0 !important;
    color:#254c77 !important;
}
.ipa-total-row #total{
    font-weight:800;
    color:#174a82 !important;
    background:#fff !important;
    border-color:#c6dcef !important;
}
.ipa-info-btn{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    border-radius:9px !important;
    display:grid !important;
    place-items:center !important;
    color:#27639f !important;
    background:#edf6ff !important;
    border:1px solid #d1e4f6 !important;
    padding:0 !important;
}
.ipa-info-btn svg{
    width:14px !important;
    height:14px !important;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.ipa-action-panel{
    margin-top:15px !important;
}
.ipa-action-panel .card-body{
    padding:12px 15px !important;
}
.ipa-action-panel .saku-col-4{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:8px;
}
.ipa-btn-modern{
    min-width:112px;
    height:40px !important;
    margin:0 !important;
    padding:0 14px !important;
    border-radius:10px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    font-size:9px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    box-shadow:none !important;
}
.ipa-btn-modern svg{
    width:14px !important;
    height:14px !important;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.ipa-btn-save{
    background:linear-gradient(135deg,#1e5ca7,#2d78c5) !important;
    border:0 !important;
    color:#fff !important;
    box-shadow:0 7px 15px rgba(31,95,169,.16) !important;
}
.ipa-btn-save:hover{
    transform:translateY(-1px);
    box-shadow:0 9px 19px rgba(31,95,169,.21) !important;
}
.ipa-btn-cancel{
    background:#fff !important;
    border:1px solid #e6c9c9 !important;
    color:#a54242 !important;
}
.ipa-btn-cancel:hover{
    background:#fff5f5 !important;
}
@media(max-width:900px){
    .ipa-form-hero{
        align-items:flex-start !important;
    }
    .ipa-form-status{
        width:100%;
        margin-top:8px;
    }
    .ipa-action-panel .saku-col-4{
        grid-column:1/-1 !important;
        justify-content:flex-start;
    }
}

/* Datepicker harus tampil di atas panel/layout */
.ui-datepicker{
    z-index:99999 !important;
    border:1px solid #d5e3f1 !important;
    border-radius:12px !important;
    padding:8px !important;
    box-shadow:0 16px 34px rgba(25,67,115,.18) !important;
    font-family:Arial,Helvetica,sans-serif !important;
}
.ui-datepicker .ui-datepicker-header{
    border:0 !important;
    border-radius:9px !important;
    background:#edf5ff !important;
    color:#174a82 !important;
}
.ui-datepicker th,
.ui-datepicker td{
    font-size:10px !important;
}
.ui-datepicker td a{
    border-radius:7px !important;
    text-align:center !important;
}
.ui-datepicker .ui-state-active{
    border-color:#1f5fa9 !important;
    background:#1f5fa9 !important;
    color:#fff !important;
}

/* Loading pada tombol simpan */
.ipa-btn-modern{
    position:relative;
}
.ipa-btn-spinner{
    display:none;
    width:14px;
    height:14px;
    flex:0 0 14px;
    border:2px solid rgba(255,255,255,.40);
    border-top-color:#fff;
    border-radius:50%;
    animation:ipaSpin .65s linear infinite;
}
.ipa-btn-save.is-saving .ipa-btn-spinner{
    display:inline-block;
}
.ipa-btn-save.is-saving .ipa-save-icon{
    display:none !important;
}
.ipa-btn-save.is-saving{
    cursor:wait !important;
    opacity:.92;
}
.ipa-btn-cancel.is-disabled,
.ipa-btn-cancel:disabled{
    opacity:.45 !important;
    cursor:not-allowed !important;
}
@keyframes ipaSpin{
    to{transform:rotate(360deg)}
}

.ipa-native-date{
    cursor:pointer !important;
    color:#284764 !important;
}
.ipa-native-date::-webkit-calendar-picker-indicator{
    cursor:pointer;
    opacity:.75;
    width:16px;
    height:16px;
}
.ipa-native-date:hover::-webkit-calendar-picker-indicator{
    opacity:1;
}

/* END IPA FRMMASTER MODERN V4 */


/* =========================================================
   FIX WARNA FONT HEADER DATA IPA
   Background tetap mengikuti desain style.css semula.
   ========================================================= */
html body .ipa-redesign.ipa-redesign-v3 .ipa-data-card .ipa-table-head-redesign .ipa-table-eyebrow{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#111111 !important;
}

html body .ipa-redesign.ipa-redesign-v3 .ipa-data-card .ipa-table-head-redesign .card-title{
    visibility:visible !important;
    opacity:1 !important;
    color:#111111 !important;
}

html body .ipa-redesign.ipa-redesign-v3 .ipa-data-card .ipa-table-head-redesign .ipa-table-subtitle{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#111111 !important;
}



/* ===== SAKU UNIFORM ICON SYSTEM =====
   Satu standar icon untuk IPA, PP, dan modul SAKU lainnya.
   Blade hanya menentukan bentuk/path icon; ukuran, stroke,
   warna, tombol, hover dan radius dikendalikan di sini.
   ========================================================= */
.saku-ui-icon,
.ipa-redesign .saku-ui-icon,
.ipa-form-modern .saku-ui-icon{
    width:15px !important;
    height:15px !important;
    min-width:15px !important;
    flex:0 0 15px !important;
    display:inline-block !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
    vertical-align:middle !important;
}

/* Icon di tombol utama */
.ipa-hero-btn .saku-ui-icon,
.ipa-filter-apply .saku-ui-icon,
.saku-btn .saku-ui-icon{
    width:15px !important;
    height:15px !important;
}

/* Seluruh icon aksi tabel memakai ukuran dan visual yang sama */
.ipa-redesign .ipa-actions-v2{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    flex-wrap:nowrap !important;
}

.ipa-redesign .ipa-act-v2{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    max-width:30px !important;
    padding:0 !important;
    margin:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #d9e5f1 !important;
    border-radius:9px !important;
    background:#ffffff !important;
    color:#315f8e !important;
    box-shadow:none !important;
    text-decoration:none !important;
    cursor:pointer !important;
    transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease !important;
}

.ipa-redesign .ipa-act-v2:hover{
    transform:translateY(-1px) !important;
    background:#edf5ff !important;
    border-color:#bfd7ee !important;
    color:#17488c !important;
}

.ipa-redesign .ipa-act-icon-v2{
    width:15px !important;
    height:15px !important;
    display:grid !important;
    place-items:center !important;
    line-height:0 !important;
}

.ipa-redesign .ipa-act-icon-v2 svg{
    width:15px !important;
    height:15px !important;
    display:block !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

/* Warna aksi konsisten di semua modul */
.ipa-redesign .ipa-act-edit{
    color:#1f5fa9 !important;
    background:#edf5ff !important;
    border-color:#d0e2f4 !important;
}

.ipa-redesign .ipa-act-delete{
    color:#b63b3b !important;
    background:#fff2f2 !important;
    border-color:#f0d0d0 !important;
}

.ipa-redesign .ipa-act-print{
    color:#4d6178 !important;
    background:#f4f7fa !important;
    border-color:#dce5ee !important;
}

.ipa-redesign .ipa-act-upload{
    color:#1f6f57 !important;
    background:#edf9f5 !important;
    border-color:#cee8de !important;
}

.ipa-redesign .ipa-act-download{
    color:#21648e !important;
    background:#eef7fb !important;
    border-color:#cee4ef !important;
}

/* Badge icon juga satu ukuran */
.saku-uniform-badge-icon,
.ipa-badge-icon.saku-uniform-badge-icon{
    width:11px !important;
    height:11px !important;
    min-width:11px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

/* Jika masih ada Font Awesome lama pada button, samakan ukurannya */
.saku-btn > i,
.ipa-hero-btn > i,
.ipa-filter-apply > i,
.saku-icon-btn > i{
    width:15px !important;
    min-width:15px !important;
    font-size:14px !important;
    line-height:1 !important;
    text-align:center !important;
}


/* PP BIAYA - UPLOAD DOKUMEN */
.pp-upload-modern{padding-bottom:28px}
.pp-upload-summary{display:grid;grid-template-columns:1fr .8fr 2fr;gap:12px;margin:0 0 18px}
.pp-upload-summary>div{background:#fff;border:1px solid #dce6ef;border-radius:14px;padding:14px 16px;box-shadow:0 6px 18px rgba(25,65,100,.05)}
.pp-upload-summary>div:first-child{border-left:4px solid #1f5e98}
.pp-upload-summary span{display:block;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#7a8998;margin-bottom:4px}
.pp-upload-summary strong{font-size:14px;color:#233b51;line-height:1.45}
.pp-upload-panel{border-radius:16px!important;overflow:hidden}
.pp-upload-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px;padding:18px 20px!important}
.pp-upload-head-left{display:flex;align-items:center;gap:12px}
.pp-upload-head-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#edf7ff;color:#1f6398;border:1px solid #d3e7f5}
.pp-upload-limit{padding:7px 10px;border-radius:999px;background:#f0f5f9;color:#49647b;font-size:10px;font-weight:800}
.pp-upload-info{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:15px;border:1px solid #dce9f4;border-radius:10px;background:#f7fbff;color:#597084;font-size:11px}
.pp-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pp-upload-card{border:1px solid #dfe7ee;border-radius:14px;overflow:hidden;background:#fff;transition:.15s ease}
.pp-upload-card:hover{border-color:#c3d8ea;box-shadow:0 8px 22px rgba(25,67,102,.08);transform:translateY(-1px)}
.pp-upload-card.has-file{border-color:#cee4da}
.pp-upload-card-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e7edf2}
.pp-upload-card.has-file .pp-upload-card-head{background:#f4faf7}
.pp-upload-no{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#eaf3fb;color:#1f5e98;font-size:11px;font-weight:800}
.pp-upload-card-head>div{flex:1;min-width:0}
.pp-upload-card-head strong{display:block;font-size:13px;color:#263e54}
.pp-upload-card-head small{display:block;font-size:10px;color:#7e8c99;margin-top:1px}
.pp-upload-status{font-size:9px;font-weight:800;padding:4px 7px;border-radius:999px;background:#eef2f5;color:#71808d}
.pp-upload-card.has-file .pp-upload-status{background:#e7f6ef;color:#267153}
.pp-upload-card-body{padding:14px;display:grid;gap:10px}
.pp-upload-card-body .saku-form-group{margin:0!important}
.pp-upload-card-body label{font-size:10.5px;font-weight:700;color:#566c7f;margin-bottom:5px}


.pp-file-picker:hover{border-color:#71a7cf;background:#f2f9ff}
.pp-file-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#e9f4fc;color:#23689c}
.pp-file-picker>span:last-child{display:flex;flex-direction:column;min-width:0}
.pp-file-picker strong{font-size:11.5px;color:#2e5777}
.pp-file-picker small{font-size:10px;color:#84919d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:250px}
.pp-upload-actionbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:13px 15px;background:#fff;border:1px solid #dce6ee;border-radius:14px;box-shadow:0 7px 20px rgba(22,60,94,.05);font-size:11px;color:#6c7e8d}
.pp-upload-actions{display:flex;align-items:center;gap:8px}
@media(max-width:980px){.pp-upload-summary{grid-template-columns:1fr 1fr}.pp-upload-summary .wide{grid-column:1/-1}.pp-upload-grid{grid-template-columns:1fr}}
@media(max-width:640px){.pp-upload-summary{grid-template-columns:1fr}.pp-upload-summary .wide{grid-column:auto}.pp-upload-head,.pp-upload-actionbar{flex-direction:column;align-items:stretch!important}.pp-upload-actions{width:100%}.pp-upload-actions .saku-btn{flex:1;justify-content:center}}


/* FIX INTERAKSI & REDESIGN TOMBOL KEMBALI */
.pp-back-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    padding:7px 13px 7px 8px;
    border:1px solid rgba(255,255,255,.55);
    border-radius:13px;
    background:rgba(255,255,255,.96);
    color:#244f73;
    text-decoration:none!important;
    box-shadow:0 7px 18px rgba(11,48,80,.12);
    transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.pp-back-btn:hover{
    transform:translateY(-1px);
    background:#fff;
    color:#173f67;
    box-shadow:0 10px 24px rgba(11,48,80,.17);
}
.pp-back-btn-icon{
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#eaf4fc;
    color:#1f6296;
    flex:0 0 31px;
}
.pp-back-btn-copy{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    line-height:1.1;
}
.pp-back-btn-copy small{
    font-size:9px;
    color:#7c8d9c;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.pp-back-btn-copy strong{
    margin-top:2px;
    font-size:11.5px;
    color:#294b68;
    white-space:nowrap;
}

/* Area pemilih file: input menutup seluruh card agar pasti bisa diklik */
.pp-file-picker{
    position:relative;
    display:flex!important;
    align-items:center;
    gap:10px;
    min-height:60px;
    width:100%;
    margin:0!important;
    padding:10px 12px;
    border:1px dashed #b8cede;
    border-radius:10px;
    background:#f9fcff;
    cursor:pointer;
    overflow:hidden;
    transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.pp-file-picker:hover,
.pp-file-picker:focus-within{
    border-color:#6fa5cc;
    background:#f1f8fe;
    box-shadow:0 0 0 3px rgba(55,126,179,.08);
}
.pp-file-picker.has-selection{
    border-style:solid;
    border-color:#8fc5ad;
    background:#f4fbf7;
}
.pp-file-picker-copy{
    display:flex;
    flex-direction:column;
    min-width:0;
    pointer-events:none;
}
.pp-file-picker-copy strong{
    font-size:11.5px;
    color:#2e5777;
}
.pp-file-picker-copy small{
    font-size:10px;
    color:#84919d;
    max-width:260px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.pp-file-icon{
    pointer-events:none;
}
.pp-file-input{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    opacity:0!important;
    cursor:pointer!important;
    z-index:5!important;
    pointer-events:auto!important;
}

/* Pastikan tombol aksi dapat diklik di atas elemen lain */
.pp-upload-actionbar,
.pp-upload-actions,
.pp-upload-actions .saku-btn{
    position:relative;
    z-index:10;
}
.pp-upload-actions .saku-btn{
    pointer-events:auto!important;
    cursor:pointer!important;
}


/* =========================================================
   PP UPLOAD - HEADER FINAL
   ========================================================= */


/* =========================================================
   PP UPLOAD - PREVIEW + DIRECT DELETE
   ========================================================= */
.pp-upload-grid-preview{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.pp-doc-card{
    background:#fff;
    border:1px solid #dce6ee;
    border-radius:14px;
    overflow:hidden;
    transition:.15s ease;
}
.pp-doc-card:hover{
    border-color:#bfd4e5;
    box-shadow:0 8px 22px rgba(27,67,101,.08);
}
.pp-doc-card.has-file{
    border-color:#c5dfd3;
}
.pp-doc-card-head{
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:11px 12px;
    background:#f8fafc;
    border-bottom:1px solid #e7edf2;
}
.pp-doc-card.has-file .pp-doc-card-head{background:#f5faf7}
.pp-doc-card-title{display:flex;align-items:center;gap:9px;min-width:0}
.pp-doc-number{
    width:28px;height:28px;flex:0 0 28px;
    display:grid;place-items:center;
    border-radius:8px;background:#eaf3fb;color:#1f5e98;
    font-size:10px;font-weight:800;
}
.pp-doc-card-title strong{display:block;font-size:12px;color:#2a4054}
.pp-doc-card-title small{display:block;margin-top:1px;font-size:9.5px;color:#80909e}
.pp-doc-delete{
    width:30px;height:30px;padding:0;
    display:grid;place-items:center;
    border:1px solid #f0d0d0;border-radius:9px;
    background:#fff2f2;color:#b63b3b;cursor:pointer;
}
.pp-doc-delete:hover{background:#ffe8e8;border-color:#e9b9b9}
.pp-doc-delete[hidden]{display:none!important}

.pp-doc-preview{
    height:135px;
    margin:12px;
    border:1px dashed #ccd9e3;
    border-radius:11px;
    background:#f8fafc;
    display:flex;align-items:center;justify-content:center;
    overflow:hidden;
}
.pp-doc-empty,
.pp-doc-file-preview{
    width:100%;height:100%;
    display:flex;flex-direction:column;
    align-items:center;justify-content:center;
    text-align:center;padding:12px;
}
.pp-doc-empty[hidden],
.pp-doc-file-preview[hidden]{display:none!important}
.pp-doc-empty-icon{
    width:36px;height:36px;display:grid;place-items:center;
    border-radius:10px;background:#edf4f9;color:#6a879e;margin-bottom:7px;
}
.pp-doc-empty strong{font-size:11px;color:#607486}
.pp-doc-empty small{font-size:9.5px;color:#93a0aa;margin-top:2px}
.pp-doc-pdf-icon{
    width:45px;height:45px;display:grid;place-items:center;
    border-radius:11px;background:#fff0f0;color:#b63b3b;
    border:1px solid #f1d1d1;font-size:10px;font-weight:900;
    margin-bottom:8px;
}
.pp-doc-file-preview strong{
    max-width:90%;font-size:11px;color:#2a4258;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.pp-doc-file-preview small{
    max-width:90%;margin-top:3px;font-size:9.5px;color:#7e8e9b;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

.pp-doc-picker-row{padding:0 12px 11px}
.pp-doc-picker{
    min-height:36px;
    display:flex!important;align-items:center;justify-content:center;gap:7px;
    margin:0!important;
    border:1px solid #c8dceb;border-radius:9px;
    background:#eef7fd;color:#246895;
    font-size:10.5px;font-weight:800;cursor:pointer;
    transition:.15s ease;
}
.pp-doc-picker:hover{background:#e6f3fb;border-color:#9fc7df}
.pp-doc-file-input{
    position:absolute!important;
    width:1px!important;height:1px!important;
    opacity:0!important;overflow:hidden!important;
}
.pp-doc-description{padding:0 12px 12px;margin:0!important}
.pp-doc-description label{
    display:block;margin-bottom:5px;
    color:#566c7f;font-size:10px;font-weight:700;
}
@media(max-width:900px){
    .pp-upload-grid-preview{grid-template-columns:1fr}
}


/* =========================================================
   PP UPLOAD - TOMBOL KEMBALI V2
   ========================================================= */
.pp-upload-back-v2{
    position:relative;
    z-index:3;
    min-height:40px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:5px 13px 5px 5px;
    border:1px solid #cfe0eb;
    border-radius:999px;
    background:#ffffff;
    color:#2d5d7e!important;
    text-decoration:none!important;
    box-shadow:0 4px 12px rgba(28,70,101,.06);
    transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.pp-upload-back-v2:hover{
    background:#f7fbfe;
    border-color:#9fc6dd;
    color:#174f76!important;
    transform:translateY(-1px);
    box-shadow:0 7px 17px rgba(28,70,101,.10);
}
.pp-upload-back-v2-icon{
    width:30px;
    height:30px;
    flex:0 0 30px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(135deg,#e8f4fb,#eef9fa);
    color:#1f6f9b;
}
.pp-upload-back-v2-icon .saku-ui-icon{
    width:14px!important;
    height:14px!important;
}
.pp-upload-back-v2-label{
    font-size:11px;
    line-height:1;
    font-weight:750;
    color:inherit;
    white-space:nowrap;
}
@media(max-width:640px){
    .pp-upload-back-v2{
        min-height:38px;
        padding-right:11px;
    }
    .pp-upload-back-v2-icon{
        width:28px;
        height:28px;
        flex-basis:28px;
    }
}



/* =========================================================
   PP BIAYA - MODAL DOKUMEN + PAGINATION
   ========================================================= */
.pp-document-modal{
    z-index:1065!important;
}
.pp-document-modal .modal-dialog{
    max-width:720px;
}
.pp-document-modal-content{
    border:0!important;
    border-radius:17px!important;
    overflow:hidden;
    box-shadow:0 24px 60px rgba(22,51,75,.22)!important;
}
.pp-document-modal-header{
    padding:15px 18px!important;
    border-bottom:1px solid #e3ebf2!important;
    background:linear-gradient(135deg,#f8fbfe,#eef8fb)!important;
}
.pp-document-modal-title{
    display:flex;
    align-items:center;
    gap:10px;
}
.pp-document-modal-icon{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#e6f3fa;
    color:#236f9b;
}
.pp-document-modal-title small{
    display:block;
    margin-bottom:2px;
    color:#7890a2;
    font-size:9px;
    line-height:1;
    font-weight:800;
    letter-spacing:.08em;
}
.pp-document-modal-title h5{
    margin:0!important;
    color:#23445f!important;
    font-size:15px!important;
    font-weight:750!important;
}
.pp-document-modal-body{
    padding:15px 18px 18px!important;
    background:#fff;
}
.pp-document-list{
    display:grid;
    gap:8px;
}
.pp-document-item{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:55px;
    padding:9px 10px;
    border:1px solid #dce6ee;
    border-radius:11px;
    background:#fff;
    text-decoration:none!important;
    transition:.15s ease;
}
.pp-document-item:hover{
    border-color:#b8d3e5;
    background:#f7fbfe;
    transform:translateY(-1px);
}
.pp-document-file-icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:9px;
    border:1px solid #efd2d2;
    background:#fff1f1;
    color:#b33e3e;
    font-size:9px;
    font-weight:900;
}
.pp-document-file-copy{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
}
.pp-document-file-copy strong{
    color:#2c4357;
    font-size:11.5px;
}
.pp-document-file-copy small{
    margin-top:2px;
    color:#8795a1;
    font-size:9.5px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.pp-document-open{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:#edf6fb;
    color:#27729c;
}
.pp-document-loading,
.pp-document-empty{
    padding:28px 16px;
    text-align:center;
    color:#758694;
    font-size:11px;
}
.pp-document-empty{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
}
.pp-document-empty .saku-ui-icon{
    width:28px!important;
    height:28px!important;
    margin-bottom:3px;
    color:#89a0b1;
}
.pp-document-empty strong{
    color:#526b7f;
    font-size:12px;
}
.pp-document-modal-footer{
    padding:10px 18px 14px!important;
    border-top:1px solid #e8eef3!important;
    background:#fff!important;
}

/* pagination selalu terlihat saat ada data */
#ppPagination{
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
}
#ppPagination .ipa-page-btn{
    min-width:30px;
    height:30px;
    padding:0 8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d5e1ea;
    border-radius:8px;
    background:#fff;
    color:#46647d;
    font-size:10.5px;
    font-weight:700;
    cursor:pointer;
}
#ppPagination .ipa-page-btn:hover:not(:disabled){
    background:#eef7fc;
    border-color:#a9cde2;
    color:#1e628f;
}
#ppPagination .ipa-page-btn.active{
    background:#1f5e98;
    border-color:#1f5e98;
    color:#fff;
}
#ppPagination .ipa-page-btn:disabled{
    opacity:.42;
    cursor:not-allowed;
}


/* =========================================================
   PP BIAYA - CUSTOM MODAL DOKUMEN
   Modal TIDAK PERNAH ikut flow halaman.
   Hanya tampil setelah class .is-open ditambahkan JS.
   ========================================================= */
.pp-doc-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:999999!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
    background:rgba(17,35,52,.48)!important;
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
}

.pp-doc-overlay.is-open{
    display:flex!important;
}

body.pp-doc-modal-open{
    overflow:hidden!important;
}

.pp-doc-dialog{
    width:min(700px, calc(100vw - 48px))!important;
    max-height:calc(100vh - 48px)!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border:1px solid #d9e5ee!important;
    border-radius:17px!important;
    background:#fff!important;
    box-shadow:0 26px 70px rgba(10,31,49,.28)!important;
    animation:ppDocModalIn .16s ease-out;
}

@keyframes ppDocModalIn{
    from{opacity:0;transform:translateY(10px) scale(.985)}
    to{opacity:1;transform:translateY(0) scale(1)}
}

.pp-doc-dialog-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    flex:0 0 auto!important;
    padding:15px 17px!important;
    border-bottom:1px solid #e4ebf1!important;
    background:linear-gradient(135deg,#f8fbfe,#eef8fb)!important;
}

.pp-doc-dialog-title{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
}

.pp-doc-dialog-icon{
    width:36px!important;
    height:36px!important;
    flex:0 0 36px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:10px!important;
    background:#e6f3fa!important;
    color:#216d98!important;
}

.pp-doc-dialog-title small{
    display:block!important;
    margin-bottom:3px!important;
    color:#7b91a2!important;
    font-size:9px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.08em!important;
}

.pp-doc-dialog-title h3{
    margin:0!important;
    padding:0!important;
    color:#213f58!important;
    font-size:15px!important;
    line-height:1.25!important;
    font-weight:750!important;
}

.pp-doc-close{
    width:32px!important;
    height:32px!important;
    flex:0 0 32px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:1px solid #dbe5ed!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#60788b!important;
    cursor:pointer!important;
}

.pp-doc-close:hover{
    background:#f2f7fa!important;
    color:#2d5d7e!important;
}

.pp-doc-dialog-body{
    min-height:150px!important;
    overflow:auto!important;
    padding:14px 17px 17px!important;
    background:#fff!important;
}

.pp-document-list{
    display:grid!important;
    gap:8px!important;
}

.pp-document-item{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:56px;
    padding:9px 10px;
    border:1px solid #dce6ee;
    border-radius:11px;
    background:#fff;
    text-decoration:none!important;
    transition:.15s ease;
}

.pp-document-item:hover{
    border-color:#b4d0e2;
    background:#f7fbfe;
    transform:translateY(-1px);
}

.pp-document-file-icon{
    width:35px;
    height:35px;
    flex:0 0 35px;
    display:grid;
    place-items:center;
    border:1px solid #efd0d0;
    border-radius:9px;
    background:#fff0f0;
    color:#b43b3b;
    font-size:9px;
    font-weight:900;
}

.pp-document-file-copy{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
}

.pp-document-file-copy strong{
    color:#2c4357;
    font-size:11.5px;
}

.pp-document-file-copy small{
    margin-top:2px;
    color:#8795a1;
    font-size:9.5px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.pp-document-open{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:#edf6fb;
    color:#27729c;
}

.pp-document-loading{
    padding:36px 16px!important;
    text-align:center!important;
    color:#718595!important;
    font-size:11px!important;
}

.pp-document-empty{
    min-height:170px!important;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    text-align:center;
    color:#7a8d9d;
}

.pp-document-empty[hidden],
.pp-document-loading[hidden]{
    display:none!important;
}

.pp-document-empty .saku-ui-icon{
    width:28px!important;
    height:28px!important;
    margin-bottom:3px!important;
    color:#8ca2b2!important;
}

.pp-document-empty strong{
    color:#536d81!important;
    font-size:12px!important;
}

.pp-document-empty span{
    color:#8294a2!important;
    font-size:10.5px!important;
}

.pp-doc-dialog-foot{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    padding:10px 17px 14px!important;
    border-top:1px solid #e7edf2!important;
    background:#fff!important;
}

@media(max-width:640px){
    .pp-doc-overlay{
        padding:12px!important;
    }
    .pp-doc-dialog{
        width:100%!important;
        max-height:calc(100vh - 24px)!important;
        border-radius:14px!important;
    }
}



/* =========================================================
   PP BIAYA - MODAL DOKUMEN V2
   Keterangan = ppfile.description
   Nama file  = ppfile.nama_file
   ========================================================= */
.pp-doc-dialog{
    width:min(780px, calc(100vw - 48px))!important;
    border-radius:20px!important;
    border:1px solid #d6e4ee!important;
    box-shadow:0 28px 80px rgba(13,42,64,.30)!important;
}

.pp-doc-dialog-head{
    padding:18px 20px!important;
    background:linear-gradient(135deg,#f9fcff 0%,#eef8fc 100%)!important;
}

.pp-doc-dialog-icon{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
    border-radius:12px!important;
    background:linear-gradient(135deg,#e7f5fb,#dceff8)!important;
}

.pp-doc-dialog-title h3{
    font-size:17px!important;
    color:#173d5b!important;
}

.pp-doc-meta{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin-top:4px!important;
    color:#71899b!important;
    font-size:9.5px!important;
    font-weight:650!important;
}

.pp-doc-meta-dot{
    color:#b2c3cf!important;
}

.pp-doc-dialog-body{
    padding:16px 20px 20px!important;
    background:#f8fbfd!important;
}

.pp-document-list{
    gap:10px!important;
}

.pp-document-item{
    position:relative!important;
    min-height:78px!important;
    gap:13px!important;
    padding:12px 13px!important;
    border:1px solid #dce8f0!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(28,65,91,.035)!important;
}

.pp-document-item:hover{
    border-color:#a9ccdf!important;
    background:#fff!important;
    box-shadow:0 7px 18px rgba(31,91,126,.09)!important;
    transform:translateY(-1px)!important;
}

.pp-document-file-icon{
    width:46px!important;
    height:52px!important;
    flex:0 0 46px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    border:1px solid #f0d1d1!important;
    border-radius:11px!important;
    background:linear-gradient(180deg,#fff6f6,#ffeded)!important;
    color:#bd4141!important;
}

.pp-document-file-icon .saku-ui-icon{
    width:19px!important;
    height:19px!important;
}

.pp-document-file-icon small{
    font-size:7.5px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.05em!important;
}

.pp-document-file-copy{
    gap:1px!important;
}

.pp-document-label{
    display:block!important;
    color:#8ca0af!important;
    font-size:8px!important;
    line-height:1.15!important;
    font-weight:800!important;
    letter-spacing:.055em!important;
    text-transform:uppercase!important;
}

.pp-document-file-copy strong{
    margin-top:2px!important;
    color:#1f4059!important;
    font-size:12px!important;
    line-height:1.35!important;
    font-weight:750!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
}

.pp-document-filename-row{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    min-width:0!important;
    margin-top:7px!important;
    padding-top:6px!important;
    border-top:1px dashed #e4ebf0!important;
}

.pp-document-filename-row .pp-document-label{
    flex:0 0 auto!important;
}

.pp-document-file-copy small{
    min-width:0!important;
    margin:0!important;
    color:#718595!important;
    font-size:9.5px!important;
    line-height:1.25!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}

.pp-document-open{
    width:34px!important;
    height:34px!important;
    flex:0 0 34px!important;
    border:1px solid #d7e9f3!important;
    border-radius:10px!important;
    background:#edf7fc!important;
    color:#23739e!important;
}

.pp-document-item:hover .pp-document-open{
    background:#dff1f9!important;
    color:#155f88!important;
}

.pp-doc-dialog-foot{
    padding:11px 20px 15px!important;
    background:#fff!important;
}

@media(max-width:640px){
    .pp-document-item{
        align-items:flex-start!important;
    }
    .pp-document-open{
        margin-top:8px!important;
    }
    .pp-document-filename-row{
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:3px!important;
    }
}



/* ========================================================================
   SAKU GLOBAL FORM COMPONENTS
   Tanggal + tombol Save/Kembali/Cancel.
   Gunakan class ini di SEMUA Blade. Jangan desain ulang per modul.
   ======================================================================== */

/* ---------- GLOBAL DATE FIELD: tampilan dd/mm/yyyy ---------- */
.saku-date-field{
    position:relative;
    width:100%;
    height:38px;
}

.saku-date-field .saku-date-display{
    position:absolute;
    inset:0;
    z-index:1;
    width:100%;
    height:38px !important;
    min-height:38px;
    box-sizing:border-box;
    padding:0 42px 0 10px !important;
    border:1px solid #d9e3ee !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#28415f !important;
    font-family:inherit;
    font-size:10px !important;
    line-height:38px;
    outline:none;
    pointer-events:none;
    user-select:none;
}

.saku-date-field .saku-date-icon{
    position:absolute;
    z-index:2;
    right:11px;
    top:50%;
    width:18px;
    height:18px;
    transform:translateY(-50%);
    display:grid;
    place-items:center;
    color:#58728d;
    pointer-events:none;
}

.saku-date-field .saku-date-icon svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* Input date transparan menutup SELURUH field.
   Hasil: klik teks, ruang kosong, atau ikon = kalender terbuka. */
.saku-date-field .saku-date-picker{
    position:absolute;
    inset:0;
    z-index:3;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    border:0;
    border-radius:9px;
    opacity:0;
    cursor:pointer;
    appearance:auto;
    -webkit-appearance:auto;
}

.saku-date-field:hover .saku-date-display{
    border-color:#b9ccdf !important;
    background:#fff !important;
}

.saku-date-field:focus-within .saku-date-display{
    border-color:#8eafdb !important;
    box-shadow:0 0 0 3px rgba(23,72,140,.08) !important;
}

.saku-date-field .saku-date-display::placeholder{
    color:#8b99a8;
    opacity:1;
}

.saku-date-field .saku-date-display.saku-validation-error,
.saku-date-field .saku-date-display.ipa-validation-invalid{
    border-color:#d94b4b !important;
    box-shadow:0 0 0 3px rgba(217,75,75,.08) !important;
}

/* ---------- GLOBAL FORM ACTION AREA ---------- */
.saku-form-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
    flex-wrap:wrap;
}

/* Base untuk Save, Kembali, Cancel */
.saku-form-btn{
    min-width:112px;
    height:40px;
    min-height:40px;
    margin:0 !important;
    padding:0 15px;
    box-sizing:border-box;
    border-radius:10px;
    border:1px solid transparent;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font-family:inherit;
    font-size:9px;
    font-weight:800;
    line-height:1;
    text-decoration:none !important;
    white-space:nowrap;
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease,
               background .15s ease, border-color .15s ease, opacity .15s ease;
}

.saku-form-btn svg,
.saku-form-btn .saku-btn-icon{
    width:14px;
    height:14px;
    flex:0 0 14px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* SAVE / UPDATE */
.saku-form-btn-save{
    background:linear-gradient(135deg,#1e5ca7,#2d78c5);
    border-color:#1e5ca7;
    color:#fff !important;
    box-shadow:0 7px 15px rgba(31,95,169,.16);
}
.saku-form-btn-save:hover{
    color:#fff !important;
    transform:translateY(-1px);
    background:linear-gradient(135deg,#174f96,#286db5);
    box-shadow:0 9px 19px rgba(31,95,169,.21);
}

/* KEMBALI */
.saku-form-btn-back{
    background:#fff;
    border-color:#cfdbe8;
    color:#405b77 !important;
}
.saku-form-btn-back:hover{
    background:#f3f7fb;
    border-color:#b9cadc;
    color:#274e78 !important;
}

/* CANCEL / BATAL */
.saku-form-btn-cancel{
    background:#fff;
    border-color:#e6c9c9;
    color:#a54242 !important;
}
.saku-form-btn-cancel:hover{
    background:#fff5f5;
    border-color:#dfb6b6;
    color:#913535 !important;
}

/* Spinner global untuk tombol simpan */
.saku-save-spinner{
    display:none;
    width:14px;
    height:14px;
    flex:0 0 14px;
    box-sizing:border-box;
    border:2px solid rgba(255,255,255,.40);
    border-top-color:#fff;
    border-radius:50%;
    animation:sakuGlobalSpin .65s linear infinite;
}

.saku-form-btn-save.is-saving .saku-save-spinner{
    display:inline-block;
}
.saku-form-btn-save.is-saving .saku-btn-icon,
.saku-form-btn-save.is-saving .ipa-save-icon{
    display:none !important;
}
.saku-form-btn-save.is-saving{
    cursor:wait !important;
    opacity:.92;
    pointer-events:none;
}

.saku-form-btn.is-disabled,
.saku-form-btn:disabled{
    opacity:.45 !important;
    cursor:not-allowed !important;
    transform:none !important;
    box-shadow:none !important;
    pointer-events:none;
}

@keyframes sakuGlobalSpin{
    to{transform:rotate(360deg)}
}

@media(max-width:720px){
    .saku-date-field,
    .saku-date-field .saku-date-display{
        height:40px !important;
        min-height:40px;
    }
    .saku-date-field .saku-date-display{
        line-height:40px;
        font-size:11px !important;
    }
    .saku-form-actions{
        width:100%;
    }
    .saku-form-btn{
        min-width:105px;
        height:40px;
    }
}



/* =========================================================
   SAKU GLOBAL DATE — CLICK SELURUH FIELD
   Patch final: field kosong maupun sudah terisi tetap membuka kalender.
   ========================================================= */
.saku-date-field[data-saku-date]{
    position:relative;
    width:100%;
    height:38px;
    cursor:pointer;
    outline:none;
}

.saku-date-field[data-saku-date] .saku-date-display{
    cursor:pointer !important;
    pointer-events:none !important;
}

.saku-date-field[data-saku-date] .saku-date-icon{
    pointer-events:none !important;
}

/* Native picker tetap aktif di DOM, tetapi tidak menutup field.
   Kalender dibuka oleh showPicker() saat wrapper diklik. */
.saku-date-field[data-saku-date] .saku-date-picker{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    right:8px !important;
    bottom:2px !important;
    left:auto !important;
    top:auto !important;
    opacity:0 !important;
    pointer-events:none !important;
    border:0 !important;
    padding:0 !important;
    margin:0 !important;
}

.saku-date-field[data-saku-date]:hover .saku-date-display{
    border-color:#b9ccdf !important;
    background:#fff !important;
}

.saku-date-field[data-saku-date]:focus,
.saku-date-field[data-saku-date]:focus-within{
    outline:none;
}

.saku-date-field[data-saku-date]:focus .saku-date-display,
.saku-date-field[data-saku-date]:focus-within .saku-date-display{
    border-color:#8eafdb !important;
    box-shadow:0 0 0 3px rgba(23,72,140,.08) !important;
}


/* FINAL — seluruh field tanggal menunjukkan cursor klik */
.saku-date-field[data-saku-date],
.saku-date-field[data-saku-date] .saku-date-display{
    cursor:pointer !important;
}


/* =========================================================
   SAKU GLOBAL NOTIFICATION — MODERN REDESIGN
   Success / Warning / Error
   ========================================================= */

.saku-notify-overlay{
    position:fixed !important;
    inset:0 !important;
    z-index:99999 !important;
    display:none !important;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(19,43,70,.28);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
}

.saku-notify-overlay.show{
    display:flex !important;
    animation:sakuNotifyFadeIn .18s ease-out;
}

.saku-notify-box{
    position:relative;
    width:min(440px, calc(100vw - 36px));
    background:#fff;
    border:1px solid #e3eaf2;
    border-radius:18px;
    box-shadow:0 24px 70px rgba(20,56,96,.20);
    padding:22px 22px 18px;
    overflow:hidden;
    transform-origin:center;
    animation:sakuNotifyPop .22s ease-out;
}

/* aksen garis atas */
.saku-notify-box::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:4px;
    background:#17488c;
}

.saku-notify-icon{
    width:54px;
    height:54px;
    margin:2px auto 12px;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:24px;
    font-weight:900;
    line-height:1;
    background:#edf4ff;
    color:#17488c;
    box-shadow:0 8px 22px rgba(23,72,140,.12);
}

.saku-notify-content{
    text-align:center;
}

.saku-notify-title{
    margin:0;
    font-size:16px;
    font-weight:800;
    letter-spacing:-.01em;
    color:#173153;
}

.saku-notify-message{
    margin-top:7px;
    font-size:10px;
    line-height:1.65;
    color:#6f8093;
    word-break:break-word;
}

.saku-notify-actions{
    display:flex;
    justify-content:center;
    gap:9px;
    margin-top:18px;
}

.saku-notify-ok,
.saku-notify-cancel{
    min-width:104px;
    height:38px;
    border-radius:10px;
    border:1px solid transparent;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 16px;
    font-family:inherit;
    font-size:9px;
    font-weight:800;
    cursor:pointer;
    transition:.16s ease;
}

.saku-notify-ok{
    background:#17488c;
    border-color:#17488c;
    color:#fff;
    box-shadow:0 7px 16px rgba(23,72,140,.16);
}

.saku-notify-ok:hover{
    background:#0f3a73;
    border-color:#0f3a73;
    transform:translateY(-1px);
    box-shadow:0 9px 20px rgba(23,72,140,.20);
}

.saku-notify-cancel{
    background:#fff;
    border-color:#d9e3ee;
    color:#556b82;
}

.saku-notify-cancel:hover{
    background:#f5f8fc;
}

/* SUCCESS */
.saku-notify-overlay.is-success .saku-notify-box::before{
    background:#16803c;
}

.saku-notify-overlay.is-success .saku-notify-icon{
    background:#edf9f1;
    color:#16803c;
    box-shadow:0 8px 22px rgba(22,128,60,.12);
}

.saku-notify-overlay.is-success .saku-notify-ok{
    background:#16803c;
    border-color:#16803c;
    box-shadow:0 7px 16px rgba(22,128,60,.16);
}

.saku-notify-overlay.is-success .saku-notify-ok:hover{
    background:#116d33;
    border-color:#116d33;
    box-shadow:0 9px 20px rgba(22,128,60,.20);
}

/* WARNING */
.saku-notify-overlay.is-warning .saku-notify-box::before{
    background:#d89a1d;
}

.saku-notify-overlay.is-warning .saku-notify-icon{
    background:#fff8e8;
    color:#b7791f;
    box-shadow:0 8px 22px rgba(183,121,31,.12);
}

.saku-notify-overlay.is-warning .saku-notify-ok{
    background:#b7791f;
    border-color:#b7791f;
    box-shadow:0 7px 16px rgba(183,121,31,.16);
}

.saku-notify-overlay.is-warning .saku-notify-ok:hover{
    background:#9b6518;
    border-color:#9b6518;
}

/* ERROR */
.saku-notify-overlay.is-error .saku-notify-box::before{
    background:#c62828;
}

.saku-notify-overlay.is-error .saku-notify-icon{
    background:#fff0f0;
    color:#c62828;
    box-shadow:0 8px 22px rgba(198,40,40,.12);
}

.saku-notify-overlay.is-error .saku-notify-ok{
    background:#c62828;
    border-color:#c62828;
    box-shadow:0 7px 16px rgba(198,40,40,.16);
}

.saku-notify-overlay.is-error .saku-notify-ok:hover{
    background:#aa2222;
    border-color:#aa2222;
}

@keyframes sakuNotifyFadeIn{
    from{opacity:0}
    to{opacity:1}
}

@keyframes sakuNotifyPop{
    from{
        opacity:0;
        transform:translateY(10px) scale(.97);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

@media(max-width:520px){
    .saku-notify-overlay{
        padding:16px;
    }
    .saku-notify-box{
        width:100%;
        border-radius:15px;
        padding:20px 16px 16px;
    }
    .saku-notify-title{
        font-size:15px;
    }
    .saku-notify-message{
        font-size:10px;
    }
    .saku-notify-actions{
        flex-direction:column-reverse;
    }
    .saku-notify-ok,
    .saku-notify-cancel{
        width:100%;
    }
}



/* =========================================================
   SAKU GLOBAL DELETE CONFIRMATION — MODERN REDESIGN
   Dipakai oleh semua CRUD delete popup.
   ========================================================= */

.saku-delete-confirm-box{
    width:min(470px, calc(100vw - 36px)) !important;
    padding:26px 26px 22px !important;
    border-radius:20px !important;
    text-align:center;
    display:block !important;
    overflow:hidden;
}

.saku-delete-confirm-box::before{
    background:#d94a4a !important;
}

/* Icon warning / trash */
.saku-delete-warning-ring{
    width:68px;
    height:68px;
    margin:2px auto 16px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#fff2f2;
    border:1px solid #f2d4d4;
    box-shadow:0 10px 26px rgba(198,40,40,.10);
}

.saku-delete-warning-icon{
    width:38px;
    height:38px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#c62828;
}

.saku-delete-warning-icon svg{
    width:28px !important;
    height:28px !important;
    display:block;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.saku-delete-confirm-box .saku-notify-content{
    text-align:center;
}

.saku-delete-title{
    margin:0 !important;
    font-size:17px !important;
    font-weight:800 !important;
    line-height:1.25;
    color:#173153 !important;
}

.saku-delete-subtitle{
    margin-top:8px;
    font-size:10px;
    line-height:1.55;
    color:#78889a;
}

.saku-delete-document{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:12px;
    min-height:30px;
    max-width:100%;
    padding:6px 11px;
    border-radius:9px;
    background:#f5f8fc;
    border:1px solid #e1e9f1;
    color:#37536f;
    font-size:10px;
    font-weight:700;
    word-break:break-word;
}

/* Tombol delete sejajar */
.saku-delete-actions{
    margin-top:22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
}

.saku-delete-btn-cancel,
.saku-delete-btn-confirm{
    width:132px !important;
    min-width:132px !important;
    height:40px !important;
    min-height:40px !important;
    margin:0 !important;
    padding:0 15px !important;
    border-radius:10px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    font-size:9px !important;
    font-weight:800 !important;
    line-height:1 !important;
    text-decoration:none !important;
    cursor:pointer;
    transition:.16s ease;
}

/* Cancel */
.saku-delete-btn-cancel{
    background:#fff !important;
    border:1px solid #d6e0ea !important;
    color:#4e637a !important;
    box-shadow:none !important;
}

.saku-delete-btn-cancel:hover{
    background:#f5f8fc !important;
    border-color:#c4d2e0 !important;
    color:#344f6c !important;
    transform:translateY(-1px);
}

/* Confirm delete */
.saku-delete-btn-confirm{
    background:linear-gradient(135deg,#d84b4b,#bd2f2f) !important;
    border:1px solid #bd2f2f !important;
    color:#fff !important;
    box-shadow:0 8px 18px rgba(198,40,40,.18) !important;
}

.saku-delete-btn-confirm:hover{
    background:linear-gradient(135deg,#c63d3d,#a92323) !important;
    border-color:#a92323 !important;
    color:#fff !important;
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(198,40,40,.22) !important;
}

/* Icon dalam tombol tidak boleh hitam / membesar */
.saku-delete-btn-cancel svg,
.saku-delete-btn-confirm svg{
    width:14px !important;
    height:14px !important;
    flex:0 0 14px;
    display:block;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.9 !important;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* loading saat proses delete */
.saku-delete-btn-confirm.is-loading{
    pointer-events:none;
    opacity:.9;
}

.saku-delete-btn-confirm.is-loading .saku-delete-confirm-icon{
    display:none !important;
}

.saku-delete-btn-confirm.is-loading::before{
    content:"";
    width:14px;
    height:14px;
    box-sizing:border-box;
    border:2px solid rgba(255,255,255,.42);
    border-top-color:#fff;
    border-radius:50%;
    animation:sakuGlobalSpin .65s linear infinite;
}

/* Result delete success popup */
#sakuDeleteResultOverlay .saku-notify-box{
    width:min(420px, calc(100vw - 36px));
}

#sakuDeleteResultOverlay.is-success .saku-notify-icon{
    background:#edf9f1 !important;
    color:#16803c !important;
}

@media(max-width:520px){
    .saku-delete-confirm-box{
        width:100% !important;
        padding:22px 16px 18px !important;
        border-radius:16px !important;
    }

    .saku-delete-warning-ring{
        width:62px;
        height:62px;
    }

    .saku-delete-actions{
        flex-direction:column-reverse !important;
        gap:8px !important;
    }

    .saku-delete-btn-cancel,
    .saku-delete-btn-confirm{
        width:100% !important;
        min-width:100% !important;
    }
}



/* ========================================================================
   SAKU GLOBAL CRUD NOTIFICATION
   Reusable untuk semua CRUD.
   HTML class:
   .saku-notify-overlay
   .saku-notify-box
   .saku-notify-icon
   .saku-notify-content
   .saku-notify-title
   .saku-notify-message
   .saku-notify-ok

   State:
   .is-success  = hijau
   .is-warning  = kuning
   .is-error    = merah
   .show        = tampil
   ======================================================================== */


/* ============================================================
   SAKU GLOBAL - UNDO APPROVE POPUP
   ============================================================ */
.saku-undo-confirm-box{
    width:min(460px,calc(100vw - 32px));
    text-align:center;
}
.saku-undo-confirm-box::before{background:#f59e0b !important;}

.saku-undo-icon{
    width:62px;
    height:62px;
    margin:0 auto 15px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff7e6;
    color:#e69200;
}
.saku-undo-icon svg{
    width:29px !important;
    height:29px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.saku-undo-document{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:14px;
    padding:7px 12px;
    border:1px solid #e4e7ec;
    border-radius:9px;
    background:#f8fafc;
    color:#344054;
    font-size:13px;
}
.saku-undo-document span{color:#667085;}
.saku-undo-document strong{font-weight:800;}

.saku-undo-confirm-btn{
    border-color:#d97706 !important;
    background:linear-gradient(135deg,#e69200,#f59e0b) !important;
    color:#fff !important;
    box-shadow:0 6px 15px rgba(245,158,11,.22) !important;
}
.saku-undo-confirm-btn:hover{
    box-shadow:0 8px 20px rgba(245,158,11,.30) !important;
}
.saku-undo-confirm-btn.is-loading{
    opacity:.78;
    cursor:not-allowed;
}

/* Hasil sukses Undo: tanpa tombol OK; JS menutup otomatis 1,2 detik */
#sakuUndoResultOverlay.is-success .saku-notify-ok{
    display:none !important;
}
#sakuUndoResultOverlay.is-success .saku-notify-box::before{
    background:#16a34a !important;
}
#sakuUndoResultOverlay.is-success .saku-notify-icon{
    background:#ecfdf3;
    color:#16a34a;
}

/* Tambahkan ke public/css/style.css */

.saku-btn.ipa-btn-modern .saku-btn-icon{
    width:17px !important;
    height:17px !important;
    flex:0 0 17px;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.saku-btn.ipa-btn-cancel .saku-btn-icon{
    color:#667085;
}

.saku-btn.ipa-btn-save .saku-btn-icon{
    color:#fff;
}

.saku-btn.ipa-btn-save.is-saving::before{
    content:"";
    width:16px;
    height:16px;
    flex:0 0 16px;
    border:2px solid rgba(255,255,255,.42);
    border-top-color:#fff;
    border-radius:50%;
    animation:sakuButtonSpin .65s linear infinite;
}

@keyframes sakuButtonSpin{
    to{transform:rotate(360deg);}
}
