
/* ==========================================================================
   DjimanBo V10 — COMPLETE ADMIN PAGE SYSTEM
   Works with the validated Admin V2 shell, without legacy admin styles.
   ========================================================================== */

body.djb-admin-exact {
  --navy:#0D1B3D;--navy2:#101A2F;--teal:#00A79D;--teal-dark:#007D74;--teal-soft:#E9F7F5;
  --red:#E53935;--orange:#FF8C00;--bg:#F2F3F5;--paper:#fff;--line:#E4E8EE;--line2:#D4DAE3;
  --ink:#0D1B3D;--text:#465266;--muted:#7C889B;
  background:var(--bg);color:var(--ink);font-family:"Poppins","Segoe UI",Arial,sans-serif;
}
body.djb-admin-exact :is(h1,h2,h3,h4,p){margin-top:0}
body.djb-admin-exact a{text-decoration:none}
body.djb-admin-exact .content{width:100%;max-width:1440px;margin:0 auto;padding:22px}
body.djb-admin-exact .content-head{margin-bottom:18px}
body.djb-admin-exact .page-title{margin:0;font-size:26px;line-height:1.15;letter-spacing:-.7px;font-weight:800}
body.djb-admin-exact .page-sub{margin:7px 0 0;color:var(--muted);font-size:12px}

/* Utilities previously supplied by Bootstrap */
body.djb-admin-exact .row{display:flex;flex-wrap:wrap;margin-left:-7px;margin-right:-7px}
body.djb-admin-exact [class*="col-"]{min-width:0;padding-left:7px;padding-right:7px}
body.djb-admin-exact .col-12{flex:0 0 100%;max-width:100%}
body.djb-admin-exact .col-md-1{flex:0 0 8.333%;max-width:8.333%}
body.djb-admin-exact .col-md-2{flex:0 0 16.666%;max-width:16.666%}
body.djb-admin-exact .col-md-3{flex:0 0 25%;max-width:25%}
body.djb-admin-exact .col-md-4{flex:0 0 33.333%;max-width:33.333%}
body.djb-admin-exact .col-md-6{flex:0 0 50%;max-width:50%}
body.djb-admin-exact .col-md-8{flex:0 0 66.666%;max-width:66.666%}
body.djb-admin-exact .g-2{row-gap:14px}
body.djb-admin-exact .d-flex{display:flex!important}
body.djb-admin-exact .align-items-start{align-items:flex-start!important}
body.djb-admin-exact .align-items-end{align-items:flex-end!important}
body.djb-admin-exact .align-middle{vertical-align:middle!important}
body.djb-admin-exact .gap-1{gap:6px!important}
body.djb-admin-exact .gap-2{gap:10px!important}
body.djb-admin-exact .w-100{width:100%!important}
body.djb-admin-exact .text-start{text-align:left!important}
body.djb-admin-exact .text-muted{color:var(--muted)!important}
body.djb-admin-exact .font-monospace{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important}
body.djb-admin-exact .mt-1{margin-top:4px!important}.mt-2{margin-top:8px!important}.mt-3{margin-top:14px!important}
body.djb-admin-exact .mb-2{margin-bottom:8px!important}.mb-4{margin-bottom:18px!important}
body.djb-admin-exact .me-2{margin-right:8px!important}
body.djb-admin-exact .small{font-size:11px!important}
body.djb-admin-exact .badge,.text-bg-light{display:inline-flex;align-items:center;padding:4px 8px;border-radius:7px;background:#F0F2F5;color:#5E6C84;font-size:10px;font-weight:700}

/* Common buttons/forms */
body.djb-admin-exact :is(.btn,.sk-admin-btn,.sk-admin-public-link,.otp-action-btn){
  min-height:40px;padding:8px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);box-shadow:none;font-size:11px;font-weight:700;cursor:pointer
}
body.djb-admin-exact :is(.btn-primary,.sk-admin-btn:not(.ghost),.otp-action-btn.primary){
  border-color:var(--teal);background:var(--teal);color:#fff
}
body.djb-admin-exact :is(.btn-light,.btn-outline-secondary,.sk-admin-btn.ghost,.sk-admin-public-link,.otp-action-btn.ghost){
  border-color:#A5DCD7;background:#fff;color:var(--teal-dark)
}
body.djb-admin-exact .btn-sm{min-height:32px;padding:6px 9px;font-size:10px}
body.djb-admin-exact button:disabled{opacity:.48;cursor:not-allowed}
body.djb-admin-exact :is(.form-control,.form-select,.sk-admin-input,
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){
  width:100%;min-height:42px;padding:8px 11px;border:1px solid var(--line2);border-radius:9px;background:#fff;color:var(--ink);box-shadow:none;outline:0;font-size:12px
}
body.djb-admin-exact textarea{min-height:92px;resize:vertical}
body.djb-admin-exact :is(input,select,textarea):focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,167,157,.09)}
body.djb-admin-exact .form-label{display:block;margin-bottom:6px;color:var(--ink);font-size:11px;font-weight:700}
body.djb-admin-exact .form-check{display:flex;align-items:center;gap:7px;min-height:28px}
body.djb-admin-exact .form-check-input{width:16px;height:16px}
body.djb-admin-exact .input-group{display:flex;width:100%}
body.djb-admin-exact .input-group>.form-control{border-radius:9px 0 0 9px}
body.djb-admin-exact .input-group-text{display:flex;align-items:center;padding:0 11px;border:1px solid var(--line2);border-left:0;border-radius:0 9px 9px 0;background:#F7F8FA;color:var(--muted);font-size:11px}

/* Core admin surfaces */
body.djb-admin-exact :is(.sk-admin-panel,.sk-admin-card,.sk-admin-filter-panel,.sk-admin-user-hero,
.sk-admin-detail-grid,.sk-admin-role-selector,.sk-admin-tips,.otp-admin-list,.otp-admin-detail,
.assistance-case-overview,.assistance-provider-search,.assistance-current-list){
  border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:none;overflow:hidden
}
body.djb-admin-exact .sk-admin-panel{margin-bottom:16px}
body.djb-admin-exact :is(.sk-admin-panel-head,.sk-admin-section-head){
  padding:15px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px
}
body.djb-admin-exact :is(.sk-admin-panel-head,.sk-admin-section-head) h2{margin:0;font-size:14px;font-weight:800}
body.djb-admin-exact :is(.sk-admin-panel-head,.sk-admin-section-head) p{margin:4px 0 0;color:var(--muted);font-size:10px}
body.djb-admin-exact .sk-admin-card{padding:16px}
body.djb-admin-exact .sk-admin-two-col{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.72fr);gap:16px;align-items:start}
body.djb-admin-exact .sk-admin-grid{display:grid;gap:14px}
body.djb-admin-exact .sk-admin-grid.cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}
body.djb-admin-exact :is(.sk-admin-stat,.sk-admin-stat-card){
  min-height:104px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:none
}
body.djb-admin-exact .sk-admin-stat{display:flex;align-items:center;gap:12px}
body.djb-admin-exact .sk-admin-stat-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--teal-soft);color:var(--teal-dark)}
body.djb-admin-exact :is(.sk-admin-stat,.sk-admin-stat-card) strong{display:block;font-size:24px;line-height:1;font-weight:800}
body.djb-admin-exact :is(.sk-admin-stat,.sk-admin-stat-card) span{display:block;margin-top:6px;color:var(--muted);font-size:10px}
body.djb-admin-exact .sk-admin-stat.danger{border-left:3px solid var(--red)}
body.djb-admin-exact .sk-admin-stat.success{border-left:3px solid var(--teal)}
body.djb-admin-exact .sk-admin-muted-line{color:var(--muted);font-size:10px}

/* Tables */
body.djb-admin-exact .sk-admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
body.djb-admin-exact .sk-admin-table{width:100%;border-collapse:collapse}
body.djb-admin-exact .sk-admin-table :is(th,td){padding:11px 13px;border-bottom:1px solid var(--line);font-size:11px;vertical-align:middle;text-align:left}
body.djb-admin-exact .sk-admin-table th{background:#FBFCFD;color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.45px;font-weight:800}
body.djb-admin-exact .sk-admin-table tbody tr:hover{background:#FBFCFD}
body.djb-admin-exact .sk-admin-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}

/* Chips / status */
body.djb-admin-exact :is(.sk-admin-chip,.sk-admin-status,.otp-ticket-status){
  display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:4px 8px;border-radius:7px;background:var(--teal-soft);color:var(--teal-dark);font-size:9.5px;font-weight:800
}
body.djb-admin-exact :is(.sk-admin-chip.danger,.sk-admin-status.danger,.otp-ticket-status.danger){background:#FFF0F0;color:#B33131}
body.djb-admin-exact :is(.sk-admin-chip.warning,.sk-admin-status.warning){background:#FFF5DF;color:#8A5700}
body.djb-admin-exact .sk-admin-chip-row,.sk-admin-chip-list{display:flex;gap:6px;flex-wrap:wrap}

/* Empty/loading */
body.djb-admin-exact .sk-admin-empty{padding:36px 20px;text-align:center;color:var(--muted);background:#fff}
body.djb-admin-exact :is(.sk-admin-skeleton-detail,.skeleton){position:relative;overflow:hidden;background:#EEF1F4;color:transparent!important;border-radius:10px}
body.djb-admin-exact :is(.sk-admin-skeleton-detail,.skeleton)::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:translateX(-100%);animation:adminShimmer 1.2s infinite}
@keyframes adminShimmer{to{transform:translateX(100%)}}

/* Admin alerts */
body.djb-admin-exact :is(.sk-admin-alert,.alert){padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);font-size:11px}
body.djb-admin-exact :is(.sk-admin-alert.danger,.alert-danger){border-left:3px solid var(--red);background:#FFF8F8}
body.djb-admin-exact :is(.sk-admin-alert.success,.alert-success){border-left:3px solid var(--teal);background:#F7FCFB}
body.djb-admin-exact .alert-info{border-left:3px solid #4B8FD8;background:#F7FAFE}

/* Admin user/details */
body.djb-admin-exact .sk-admin-user-hero{padding:18px;margin-bottom:16px;display:flex;align-items:center;gap:14px}
body.djb-admin-exact .sk-admin-avatar{width:50px;height:50px;flex:0 0 50px;border-radius:13px;background:var(--teal-soft);color:var(--teal-dark);display:grid;place-items:center;font-size:17px;font-weight:800}
body.djb-admin-exact .sk-admin-user-identity{min-width:0;flex:1}
body.djb-admin-exact .sk-admin-user-identity h2{margin:0 0 4px;font-size:18px}
body.djb-admin-exact .sk-admin-user-actions{margin-left:auto;display:flex;gap:7px;flex-wrap:wrap}
body.djb-admin-exact .sk-admin-detail-grid{padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.djb-admin-exact .sk-admin-def-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
body.djb-admin-exact .sk-admin-def-list small{display:block;color:var(--muted);font-size:9.5px}
body.djb-admin-exact .sk-admin-def-list strong{display:block;margin-top:3px;font-size:11px;overflow-wrap:anywhere}
body.djb-admin-exact .sk-admin-inline-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
body.djb-admin-exact .sk-admin-timeline{display:flex;flex-direction:column;gap:10px}
body.djb-admin-exact .sk-admin-timeline>div{padding-left:14px;border-left:2px solid var(--line);font-size:11px}

/* Quick actions / role selector */
body.djb-admin-exact .sk-admin-quick-actions{padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.djb-admin-exact .sk-admin-action-card{min-height:60px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);display:flex;align-items:center;gap:9px}
body.djb-admin-exact .sk-admin-action-card:hover{border-color:#B9DDD9;background:#FBFEFD}
body.djb-admin-exact .sk-admin-role-selector{padding:16px}
body.djb-admin-exact .sk-admin-role-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.djb-admin-exact .sk-admin-role-pill{padding:12px;border:1px solid var(--line);border-radius:10px}
body.djb-admin-exact .sk-admin-role-pill strong{display:block;font-size:20px}
body.djb-admin-exact .sk-admin-role-pill span{color:var(--muted);font-size:10px}

/* OTP Support — full page */
body.djb-admin-exact .otp-admin-alert{margin-bottom:14px;padding:13px 15px;border-left:3px solid var(--red);border-radius:10px;background:#FFF8F8;color:#883535;font-size:11px}
body.djb-admin-exact .otp-admin-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
body.djb-admin-exact .otp-admin-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.djb-admin-exact .otp-admin-select{min-width:150px}
body.djb-admin-exact .otp-admin-search{min-width:240px}
body.djb-admin-exact .otp-admin-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.35fr);gap:16px;align-items:start}
body.djb-admin-exact .otp-admin-list-head,.otp-admin-detail-head{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}
body.djb-admin-exact .otp-admin-list-body{max-height:680px;overflow:auto}
body.djb-admin-exact .otp-ticket{width:100%;padding:14px 16px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:var(--ink);cursor:pointer}
body.djb-admin-exact .otp-ticket:hover,.otp-ticket.active{background:#F8FCFB}
body.djb-admin-exact .otp-ticket-top{display:flex;align-items:start;justify-content:space-between;gap:8px}
body.djb-admin-exact .otp-ticket-title{font-size:12px;font-weight:700}
body.djb-admin-exact .otp-ticket-meta,.otp-ticket-contact{margin-top:5px;color:var(--muted);font-size:10px}
body.djb-admin-exact .otp-admin-detail-body{padding:16px}
body.djb-admin-exact .otp-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.djb-admin-exact .otp-detail-grid>div,.otp-detail-box{padding:12px;border:1px solid var(--line);border-radius:9px;background:#FAFBFC}
body.djb-admin-exact .otp-detail-message,.otp-admin-note{margin-top:12px;padding:12px;border-radius:9px;background:#F7F9FB;color:var(--text);font-size:11px}
body.djb-admin-exact .otp-manual-code{display:flex;gap:8px;align-items:end;margin-top:12px}
body.djb-admin-exact .otp-support-message{margin-top:10px}
body.djb-admin-exact .otp-timeline{display:flex;flex-direction:column;gap:8px;margin-top:12px}
body.djb-admin-exact .otp-timeline>div{padding:9px 0;border-bottom:1px solid var(--line);font-size:10px}

/* Assistance */
body.djb-admin-exact .assistance-case-overview{padding:18px;margin-bottom:16px}
body.djb-admin-exact .assistance-case-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px}
body.djb-admin-exact .assistance-case-facts>div{padding:11px;border:1px solid var(--line);border-radius:9px;background:#FAFBFC}
body.djb-admin-exact .assistance-client-note{margin-top:12px;padding:12px;border-radius:9px;background:#FFF9ED;color:#765217;font-size:11px}
body.djb-admin-exact .assistance-status-list{display:flex;gap:7px;flex-wrap:wrap}
body.djb-admin-exact .assistance-provider-search{padding:16px}
body.djb-admin-exact .assistance-search-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
body.djb-admin-exact .assistance-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.djb-admin-exact .assistance-provider-option{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff}
body.djb-admin-exact .assistance-provider-option.selected{border-color:#9EDDD8;background:#F7FCFB}
body.djb-admin-exact .assistance-note-field{margin-top:12px}
body.djb-admin-exact .assistance-current-row{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}
body.djb-admin-exact .assistance-current-row:last-child{border-bottom:0}

/* Campaigns / reports / lookups / qualification / invitations */
body.djb-admin-exact .admin-invitations>.alert{margin-bottom:14px}
body.djb-admin-exact .sk-admin-filter-panel{padding:15px;margin-bottom:14px}
body.djb-admin-exact .sk-admin-tips{padding:16px;color:var(--text);font-size:11px}
body.djb-admin-exact .sk-admin-tips h3{font-size:13px;margin-bottom:8px}
body.djb-admin-exact .spinner-border{width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:admSpin .75s linear infinite}
@keyframes admSpin{to{transform:rotate(360deg)}}

/* Admin dashboard classes */
body.djb-admin-exact .grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
body.djb-admin-exact .kpi{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}
body.djb-admin-exact .kpi .value{font-size:25px;font-weight:800;line-height:1}
body.djb-admin-exact .kpi .label{font-size:11px;color:var(--muted);margin-top:6px}
body.djb-admin-exact .main-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.72fr);gap:16px}
body.djb-admin-exact .card{background:#fff;border:1px solid var(--line);border-radius:16px}
body.djb-admin-exact .card-pad{padding:18px}
body.djb-admin-exact .panel-head{padding:16px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
body.djb-admin-exact .panel-head h3{font-size:14px;margin:0}
body.djb-admin-exact .table{width:100%;border-collapse:collapse}
body.djb-admin-exact .table :is(th,td){padding:12px 14px;border-bottom:1px solid var(--line);font-size:11px;text-align:left}
body.djb-admin-exact .table th{color:var(--muted);font-size:10px;text-transform:uppercase;background:#FBFCFD}
body.djb-admin-exact .stack{display:flex;flex-direction:column;gap:14px}
body.djb-admin-exact .row.space-between{display:flex;justify-content:space-between;margin:0}
body.djb-admin-exact .status{font-size:9.5px;font-weight:800;text-transform:uppercase;border-radius:7px;padding:5px 8px}
body.djb-admin-exact .status.pending{background:#FFF5DF;color:#8A5700}
body.djb-admin-exact .status.ok{background:var(--teal-soft);color:var(--teal-dark)}
body.djb-admin-exact .status.alert{background:#FFF0F0;color:#B33131}
body.djb-admin-exact .admin-alert{border-left:3px solid var(--red)}
body.djb-admin-exact .section-title{font-size:16px;margin:0 0 5px;font-weight:800}

/* Responsive admin */
@media(max-width:1050px){
 body.djb-admin-exact .sk-admin-grid.cards,body.djb-admin-exact .grid-4{grid-template-columns:repeat(2,1fr)}
 body.djb-admin-exact .sk-admin-two-col,body.djb-admin-exact .main-grid,body.djb-admin-exact .otp-admin-layout{grid-template-columns:1fr}
 body.djb-admin-exact .assistance-case-facts,body.djb-admin-exact .assistance-search-controls{grid-template-columns:1fr}
}
@media(max-width:780px){
 body.djb-admin-exact [class*="col-md-"]{flex:0 0 100%;max-width:100%}
 body.djb-admin-exact .content{padding:15px}
 body.djb-admin-exact .sk-admin-grid.cards,body.djb-admin-exact .grid-4{grid-template-columns:1fr}
 body.djb-admin-exact .sk-admin-detail-grid,body.djb-admin-exact .sk-admin-def-list,body.djb-admin-exact .assistance-provider-grid,body.djb-admin-exact .otp-detail-grid{grid-template-columns:1fr}
 body.djb-admin-exact .sk-admin-quick-actions{grid-template-columns:1fr}
}
