.hce-kpi{--kpi-green:#146d3d;--kpi-pale:#edf6f0;--kpi-border:#dce7df;padding:12px;color:#303030}
.hce-kpi *{box-sizing:border-box}.hce-kpi h2{margin:6px 0 18px;font-size:26px;font-weight:600}
.hce-kpi .kpi-toolbar{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin:14px 0 18px}
.hce-kpi .kpi-toolbar>.form-control,.hce-kpi .kpi-toolbar>.kpi-field{width:260px;max-width:100%}
.hce-kpi .kpi-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;font-weight:400;line-height:20px}
.hce-kpi .form-control{height:38px!important;min-height:38px;padding:7px 10px;line-height:22px;border:1px solid #d6dfda;border-radius:5px;box-shadow:none;font-size:14px;width:100%;min-width:0}
.hce-kpi .form-control:focus{border-color:var(--kpi-green);box-shadow:0 0 0 2px #146d3d15}
.hce-kpi .form-control[type=hidden]{display:none!important}
.hce-kpi .kpi-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}
.hce-kpi .kpi-section{background:#fff;border:1px solid var(--kpi-border);border-radius:10px;box-shadow:0 1px 3px #0000000a;padding:18px;margin:18px 0}
.hce-kpi .kpi-section>h3{font-size:16px;font-weight:600;margin:-18px -18px 18px;padding:13px 18px;border-bottom:1px solid var(--kpi-border);background:#f4f8f5;border-radius:10px 10px 0 0;color:var(--kpi-green)}
.hce-kpi .kpi-grids{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.hce-kpi .kpi-grids>section{border:1px solid var(--kpi-border);border-radius:8px;padding:14px;min-width:0;background:#fff}
.hce-kpi .kpi-grids h4{font-size:14px;font-weight:600;margin:0 0 12px;color:var(--kpi-green)}
.hce-kpi .kpi-grid-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:38px;margin-bottom:12px}
.hce-kpi .kpi-grid-actions label{margin:0;font-weight:400}.hce-kpi input[type=checkbox]{accent-color:var(--kpi-green)}
.hce-kpi .kpi-scroll{overflow:auto;max-height:430px;margin:12px 0 0}.hce-kpi .table{width:100%;margin:0;font-size:13px}
.hce-kpi .table>thead>tr>th{position:sticky;top:0;background:#e7f2eb;color:#28583a;border-color:var(--kpi-border);font-weight:600;z-index:1}
.hce-kpi .table td{vertical-align:middle;padding:9px 10px;border-color:#e4eae6}.hce-kpi .table-striped>tbody>tr:nth-of-type(odd){background:#f7faf8}.hce-kpi .table>tbody>tr:hover{background:#eef7f1}
.hce-kpi [data-role=available],.hce-kpi [data-role=selected]{min-height:180px}
.hce-kpi .btn{height:38px;padding:7px 13px;border-radius:5px;font-size:14px;line-height:22px;white-space:nowrap}
.hce-kpi .btn-success{background:var(--kpi-green);border-color:var(--kpi-green);color:#fff}.hce-kpi .btn-success:hover:not(:disabled){background:#105b32;border-color:#105b32}.hce-kpi .btn-default{color:var(--kpi-green);border-color:#bcd1c3;background:#fff}.hce-kpi .btn:disabled{opacity:.45}
.hce-kpi .table .btn{height:30px;padding:3px 9px;font-size:12px}.hce-kpi .kpi-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.hce-kpi .nav-tabs{border-bottom:1px solid var(--kpi-border);display:flex;flex-wrap:wrap;gap:0;margin-bottom:18px}.hce-kpi .nav-tabs>li>a{color:#456352;font-size:14px;padding:12px 15px}.hce-kpi .nav-tabs>li.active>a{color:var(--kpi-green);font-weight:600;border-bottom:3px solid var(--kpi-green);background:#f5f9f6}
.hce-kpi .kpi-note{font-size:13px;line-height:1.6;background:var(--kpi-pale);border-left:3px solid #72a788;padding:10px 13px;margin:12px 0;border-radius:4px}
.hce-kpi .kpi-warning{padding:12px;background:#fff6e4;border:1px solid #edd4a1;border-radius:5px;margin:12px 0;font-size:13px}.hce-kpi [hidden]{display:none!important}
.hce-kpi .kpi-rop-line{display:grid;grid-template-columns:minmax(0,2fr) minmax(130px,1fr) auto;gap:14px;align-items:end;padding:14px 0;border-bottom:1px solid #e8eeea}
.hce-kpi .kpi-status{font-size:12px;border-radius:12px;padding:3px 8px;display:inline-block;white-space:nowrap}.hce-kpi .is-ready{background:#e5f3e9;color:#146d3d}.hce-kpi .is-pending{background:#fff1d8;color:#865611}
.hce-kpi .hce-date-input-wrap{display:block;width:100%}.hce-kpi details{margin-top:18px}.hce-kpi summary{color:var(--kpi-green);cursor:pointer;font-weight:600}
@media(max-width:1000px){.hce-kpi .kpi-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.hce-kpi .kpi-grids,.hce-kpi .kpi-form-grid,.hce-kpi .kpi-rop-line{grid-template-columns:1fr}.hce-kpi .kpi-toolbar>.kpi-field{width:100%}.hce-kpi .nav-tabs>li>a{padding:9px}.hce-kpi .kpi-section{padding:12px}.hce-kpi .kpi-section>h3{margin:-12px -12px 12px;padding:12px}}
