:root{
  --epro-primary:#1f5fa8;--epro-primary-2:#367fc9;--epro-ink:#243142;--epro-muted:#6d7b8d;
  --epro-bg:#f3f6fa;--epro-card:#fff;--epro-border:#e6ebf2;--epro-danger:#d94c55;--epro-success:#2d9d78;
}
html,body{background:var(--epro-bg);color:var(--epro-ink)}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.main-sidebar{background:linear-gradient(180deg,#142a43 0%,#173b61 55%,#10263d 100%)!important;box-shadow:8px 0 28px rgba(21,45,73,.08)}
.brand-link{height:68px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.96)!important;border-bottom:0!important;padding:8px 12px!important}
.brand-link img{max-height:48px;max-width:178px;object-fit:contain}
.nav-sidebar .nav-link{border-radius:10px;margin:3px 8px;color:#dce8f5!important;padding:.72rem .85rem}
.nav-sidebar .nav-link.active{background:linear-gradient(135deg,var(--epro-primary),var(--epro-primary-2))!important;box-shadow:0 8px 20px rgba(31,95,168,.28)}
.nav-sidebar .nav-link:hover{background:rgba(255,255,255,.09)!important}
.nav-header{color:#8fa8c0!important;font-size:.68rem;font-weight:700;letter-spacing:.11em}
.main-header{border-bottom:1px solid var(--epro-border);box-shadow:0 2px 12px rgba(23,44,70,.04)}
.content-wrapper{background:var(--epro-bg)}
.content-header{padding:1.4rem .5rem .8rem}.content-header h1{font-weight:750;letter-spacing:-.025em}
.epro-subtitle{color:var(--epro-muted);font-size:.93rem}
.card{border:1px solid var(--epro-border);border-radius:16px;box-shadow:0 8px 24px rgba(34,53,79,.05);overflow:hidden}
.card-header{background:#fff;border-bottom:1px solid var(--epro-border);padding:1rem 1.15rem}.card-title{font-weight:700}
.btn{border-radius:9px;font-weight:600}.btn-primary{background:var(--epro-primary);border-color:var(--epro-primary)}.btn-primary:hover{background:#194f8d;border-color:#194f8d}
.btn-soft-primary{color:var(--epro-primary);background:#edf5ff;border:1px solid #dcecff}.btn-soft-primary:hover{background:#dcecff;color:#194f8d}
.form-control,.custom-select{border-radius:9px;border-color:#dfe5ed;min-height:39px}.form-control:focus,.custom-select:focus{border-color:#88b4e3;box-shadow:0 0 0 .18rem rgba(31,95,168,.1)}
.table{margin-bottom:0}.table thead th{border-top:0;border-bottom:1px solid #dee5ed;background:#f7f9fc;color:#536273;font-size:.75rem;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}.table td{vertical-align:middle;border-color:#edf0f4}.table-hover tbody tr:hover{background:#f8fbff}
.badge{padding:.42em .68em;border-radius:7px;font-weight:650}.badge-soft-success{color:#16785a;background:#e4f7f0}.badge-soft-warning{color:#8a6410;background:#fff3cd}.badge-soft-danger{color:#ad3038;background:#fdebed}.badge-soft-info{color:#176f87;background:#e6f5fa}.badge-soft-secondary{color:#596777;background:#eef1f5}
.small-box{border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(34,53,79,.07)}.small-box .inner h3{font-weight:800}.small-box.epro-blue{background:linear-gradient(135deg,#1f5fa8,#4b91d2);color:#fff}.small-box.epro-green{background:linear-gradient(135deg,#238d6d,#43b58e);color:#fff}.small-box.epro-slate{background:linear-gradient(135deg,#4f6278,#6f8298);color:#fff}
.epro-toolbar{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.epro-toolbar .search-wrap{position:relative;min-width:260px;flex:1}.epro-toolbar .search-wrap i{position:absolute;left:13px;top:12px;color:#98a4b3}.epro-toolbar .search-wrap input{padding-left:36px}
.epro-pagination{display:flex;gap:4px;align-items:center;justify-content:flex-end}.epro-pagination .page-link{border-radius:8px!important;border-color:#e2e8ef;color:#4e5e71;min-width:36px;text-align:center}.epro-pagination .active .page-link{background:var(--epro-primary);border-color:var(--epro-primary)}
.epro-empty{padding:3rem 1rem;text-align:center;color:#8693a3}.epro-empty i{font-size:2rem;margin-bottom:.6rem;opacity:.5}
.epro-section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#788699;font-weight:800;margin-bottom:.75rem}
.epro-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.epro-info{background:#f7f9fc;border:1px solid var(--epro-border);border-radius:12px;padding:12px 14px}.epro-info .label{font-size:.72rem;color:#7a899b;text-transform:uppercase;font-weight:700}.epro-info .value{font-size:.98rem;font-weight:650;margin-top:3px;word-break:break-word}
.epro-status-line{display:flex;align-items:center;gap:8px}.epro-dot{width:9px;height:9px;border-radius:50%;background:#9ca8b6}.epro-dot.ok{background:#29a37b}.epro-dot.warn{background:#e6a936}.epro-dot.danger{background:#d94c55}
.nav-tabs{border-bottom:1px solid var(--epro-border)}.nav-tabs .nav-link{border:0;border-bottom:3px solid transparent;color:#677587;font-weight:650;padding:.9rem 1rem}.nav-tabs .nav-link.active{color:var(--epro-primary);border-bottom-color:var(--epro-primary);background:transparent}
.tab-content{padding-top:1rem}
.epro-actionbar{position:sticky;bottom:12px;z-index:1020;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid var(--epro-border);border-radius:14px;padding:10px 12px;box-shadow:0 12px 35px rgba(25,45,70,.15);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.epro-lock{border:1px solid #ffe1a7;background:#fff8e8;color:#7d5a13;border-radius:12px;padding:10px 13px;margin-bottom:1rem}.epro-lock.danger{border-color:#f7c5c8;background:#fff0f1;color:#8f3137}
.epro-modal-list{max-height:340px;overflow:auto}.epro-contact-row{display:flex;align-items:center;gap:12px;padding:10px;border-bottom:1px solid var(--epro-border)}
.lookup-wrap{position:relative}.lookup-results{position:absolute;z-index:1055;left:0;right:0;top:100%;background:#fff;border:1px solid #dfe5ed;border-radius:10px;box-shadow:0 12px 30px rgba(25,45,70,.14);max-height:260px;overflow:auto;display:none}.lookup-results.show{display:block}.lookup-item{padding:9px 11px;cursor:pointer;border-bottom:1px solid #f0f2f5}.lookup-item:hover{background:#f2f7fd}.lookup-item small{display:block;color:#7c8998}
.signature-wrap{border:1px dashed #b6c1ce;border-radius:12px;background:#fff;overflow:hidden}.signature-wrap canvas{width:100%;height:220px;display:block;touch-action:none}.signature-tools{display:flex;gap:8px;padding-top:10px;flex-wrap:wrap}
.toast-container-epro{position:fixed;right:18px;top:76px;z-index:2000;max-width:360px}.epro-toast{background:#fff;border:1px solid var(--epro-border);box-shadow:0 12px 30px rgba(23,42,66,.16);padding:12px 14px;border-radius:12px;margin-bottom:8px;display:flex;gap:10px;align-items:flex-start}.epro-toast.success{border-left:4px solid var(--epro-success)}.epro-toast.error{border-left:4px solid var(--epro-danger)}
.epro-loading{position:relative;pointer-events:none;opacity:.65}.epro-loading:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.18)}
.login-page{background:radial-gradient(circle at 10% 20%,#edf5ff 0,#f7f9fc 34%,#eef2f7 100%)}.epro-login-card{width:min(430px,92vw);background:#fff;border-radius:22px;box-shadow:0 25px 70px rgba(26,50,77,.16);overflow:hidden;border:1px solid #e6ebf2}.epro-login-head{padding:28px 28px 16px;text-align:center}.epro-login-head img{max-width:210px;max-height:78px}.epro-login-body{padding:12px 30px 30px}.epro-login-body h2{font-weight:800;font-size:1.45rem}.epro-login-caption{color:#7a8797;font-size:.91rem}
@media(max-width:767.98px){.content-header{padding-top:1rem}.epro-toolbar .search-wrap{min-width:100%}.card{border-radius:12px}.table-responsive{font-size:.88rem}.epro-actionbar{bottom:6px}.signature-wrap canvas{height:180px}}
