/* =========================================================================
   DigiCare — Portail partenaire Pharmacie
   Feuille de style personnalisée (complète Bootstrap 5, ne le remplace pas)
   ========================================================================= */

:root{
  --dc-primary:        #12805c;
  --dc-primary-600:    #0e6b4c;
  --dc-primary-700:    #0b5a40;
  --dc-primary-50:     #eaf6f1;
  --dc-primary-100:    #d7f0e6;
  --dc-accent:         #1a7fa0;
  --dc-accent-50:      #e9f4f8;

  --dc-success:        #178a5c;
  --dc-success-bg:     #e4f7ee;
  --dc-warning:        #b1690a;
  --dc-warning-bg:     #fdf1de;
  --dc-danger:         #cf3232;
  --dc-danger-bg:      #fdeaea;
  --dc-info:           #2f6fa3;
  --dc-info-bg:        #eaf3fb;
  --dc-neutral-bg:     #eef1f2;

  --dc-bg:             #f3f6f6;
  --dc-surface:        #ffffff;
  --dc-border:         #e6eaea;
  --dc-border-strong:  #d7dcdd;
  --dc-text:           #1c2a28;
  --dc-text-muted:     #6b7674;
  --dc-text-soft:      #99a19f;

  --dc-radius-sm:      8px;
  --dc-radius:         12px;
  --dc-radius-lg:      18px;
  --dc-shadow-sm:      0 1px 2px rgba(15,30,26,.05);
  --dc-shadow:         0 4px 16px -8px rgba(15,30,26,.12);
  --dc-shadow-lg:      0 16px 40px -16px rgba(15,30,26,.22);
}

*{ box-sizing:border-box; }

html,body{ height:100%; }

body{
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--dc-bg);
  color:var(--dc-text);
  font-size:14.5px;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
}

a{ color:var(--dc-primary); text-decoration:none; }
a:hover{ color:var(--dc-primary-700); }

.dc-app{ min-height:100vh; display:flex; flex-direction:column; }
.dc-main{ flex:1 1 auto; padding:22px 28px 40px; max-width:1440px; width:100%; margin:0 auto; }

h1,h2,h3,h4,h5,h6{ color:var(--dc-text); font-weight:700; letter-spacing:-.01em; }

.dc-page-title{ font-size:22px; font-weight:800; margin:0 0 4px; }
.dc-page-sub{ color:var(--dc-text-muted); font-size:13.5px; margin:0 0 20px; }

.dc-eyebrow{ text-transform:uppercase; letter-spacing:.06em; font-size:11.5px; font-weight:700; color:var(--dc-text-soft); }

/* ---------------------------------------------------------------------- */
/* Topbar                                                                  */
/* ---------------------------------------------------------------------- */
.dc-topbar{
  background:var(--dc-surface);
  border-bottom:1px solid var(--dc-border);
  padding:12px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  position:sticky;
  top:0;
  z-index:1030;
}
.dc-topbar-left{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.dc-logo{ display:flex; align-items:center; gap:9px; font-size:19px; font-weight:800; color:var(--dc-text); }
.dc-logo:hover{ color:var(--dc-text); }
.dc-logo-icon{
  width:32px; height:32px; border-radius:9px;
  background:var(--dc-primary); color:#fff;
  display:grid; place-items:center; font-size:16px; flex:0 0 auto;
}
.dc-pharmacy-btn{
  border:1px solid var(--dc-border);
  background:var(--dc-surface);
  border-radius:999px;
  padding:7px 14px;
  font-size:13.5px;
  font-weight:600;
  color:var(--dc-text);
  display:inline-flex; align-items:center; gap:8px;
}
.dc-pharmacy-btn:hover{ border-color:var(--dc-border-strong); background:var(--dc-neutral-bg); }
.dc-pharmacy-btn::after{ display:none; }

.dc-topbar-right{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.dc-topbar-links{ display:flex; align-items:center; gap:4px; }
.dc-topbar-link{
  display:inline-flex; align-items:center; gap:7px;
  font-size:13px; font-weight:600; color:var(--dc-text-muted);
  padding:7px 11px; border-radius:8px;
}
.dc-topbar-link i{ font-size:13px; }
.dc-topbar-link:hover{ background:var(--dc-neutral-bg); color:var(--dc-text); }
.dc-topbar-link.active{ background:var(--dc-primary-50); color:var(--dc-primary-700); }

.dc-datetime{ font-size:13px; color:var(--dc-text-muted); font-weight:500; white-space:nowrap; }

.dc-icon-btn{
  position:relative;
  width:38px; height:38px; border-radius:10px;
  border:1px solid var(--dc-border);
  background:var(--dc-surface);
  display:grid; place-items:center;
  color:var(--dc-text-muted);
  font-size:15px;
}
.dc-icon-btn:hover{ background:var(--dc-neutral-bg); color:var(--dc-text); }
.dc-badge-dot{
  position:absolute; top:-6px; right:-6px;
  min-width:17px; height:17px; padding:0 4px;
  border-radius:999px; background:var(--dc-danger); color:#fff;
  font-size:10px; font-weight:700; display:grid; place-items:center;
  border:2px solid var(--dc-surface);
}
.dc-user-btn{
  display:inline-flex; align-items:center; gap:9px;
  border:0; background:transparent; font-weight:700; font-size:13.5px; color:var(--dc-text);
  padding:4px 6px 4px 4px; border-radius:10px;
}
.dc-user-btn:hover{ background:var(--dc-neutral-bg); }
.dc-user-btn::after{ margin-left:6px; }
.dc-avatar{
  width:32px; height:32px; border-radius:50%;
  background:var(--dc-primary); color:#fff;
  display:grid; place-items:center; font-weight:700; font-size:13px; flex:0 0 auto;
}
.dc-avatar.dc-avatar-lg{ width:56px; height:56px; font-size:19px; }
.dc-avatar.dc-avatar-soft{ background:var(--dc-primary-50); color:var(--dc-primary-700); }

/* ---------------------------------------------------------------------- */
/* Barre de navigation / actions rapides                                   */
/* ---------------------------------------------------------------------- */
.dc-nav{
  background:var(--dc-surface);
  border-bottom:1px solid var(--dc-border);
  padding:16px 28px;
}
.dc-nav-inner{
  max-width:1440px; margin:0 auto;
  display:flex; align-items:stretch; gap:14px; flex-wrap:wrap;
}
.dc-nav-actions{ display:flex; gap:12px; flex-wrap:wrap; flex:1 1 auto; }
.dc-nav-btn{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  min-width:118px; flex:1 1 118px; max-width:150px;
  padding:14px 10px;
  border-radius:var(--dc-radius);
  border:1px solid var(--dc-border);
  background:var(--dc-surface);
  color:var(--dc-text);
  font-size:12.5px; font-weight:700; text-align:center; line-height:1.25;
  transition:border-color .15s ease, background .15s ease, transform .1s ease;
}
.dc-nav-btn i{ font-size:19px; }
.dc-nav-btn:hover{ border-color:var(--dc-primary); color:var(--dc-text); background:var(--dc-primary-50); }
.dc-nav-btn:active{ transform:translateY(1px); }
.dc-nav-btn.active,
.dc-nav-btn-primary{
  background:var(--dc-primary); border-color:var(--dc-primary); color:#fff;
}
.dc-nav-btn.active:hover,
.dc-nav-btn-primary:hover{ background:var(--dc-primary-600); color:#fff; }

.dc-nav-illustration{
  flex:0 0 auto;
  display:flex; align-items:center; gap:14px;
  padding:6px 22px;
  border-radius:var(--dc-radius);
  background:linear-gradient(135deg,var(--dc-primary-50),#f2faf6);
  min-width:230px;
  position:relative;
  overflow:hidden;
}
.dc-nav-illustration p{
  margin:0; font-weight:800; font-size:14.5px; color:var(--dc-primary-700); line-height:1.3;
}
.dc-nav-illustration img{
  height:92px; width:auto; object-fit:contain; margin-left:auto; align-self:flex-end;
}

/* ---------------------------------------------------------------------- */
/* Cartes / surfaces                                                       */
/* ---------------------------------------------------------------------- */
.dc-card{
  background:var(--dc-surface);
  border:1px solid var(--dc-border);
  border-radius:var(--dc-radius-lg);
  box-shadow:var(--dc-shadow-sm);
}
.dc-card-body{ padding:20px 22px; }
.dc-card-header{
  padding:16px 22px; border-bottom:1px solid var(--dc-border);
  display:flex; align-items:center; justify-content:between; gap:12px; flex-wrap:wrap;
}
.dc-card-title{ font-size:15.5px; font-weight:800; margin:0; display:flex; align-items:center; gap:9px; }
.dc-card-footer{ padding:16px 22px; border-top:1px solid var(--dc-border); }

.dc-help-box{
  border:1px solid var(--dc-border);
  border-radius:var(--dc-radius);
  background:#fafcfc;
  padding:14px 16px;
  display:flex; gap:12px; align-items:flex-start;
}
.dc-help-box .dc-help-icon{
  width:26px; height:26px; border-radius:50%;
  background:var(--dc-info-bg); color:var(--dc-info);
  display:grid; place-items:center; font-size:12px; flex:0 0 auto; margin-top:1px;
}
.dc-help-box h4{ font-size:13.5px; margin:0 0 3px; }
.dc-help-box p{ margin:0; font-size:12.5px; color:var(--dc-text-muted); }
.dc-help-box .dc-help-visual{
  margin-left:auto; width:52px; height:60px; border:1px solid var(--dc-border-strong);
  border-radius:7px; background:#fff; display:grid; place-items:center; color:var(--dc-text-soft);
  font-size:9px; text-align:center; flex:0 0 auto;
}

.dc-promo-card{
  border-radius:var(--dc-radius-lg);
  padding:20px;
  display:flex; align-items:center; gap:14px;
  background:linear-gradient(160deg,#f2faf6,#eef3f2);
  border:1px solid var(--dc-border);
}
.dc-promo-card img{ width:66px; height:66px; border-radius:50%; object-fit:cover; flex:0 0 auto; background:#dff1ea; }
.dc-promo-card h4{ font-size:14px; margin:0 0 3px; }
.dc-promo-card p{ margin:0; font-size:12.5px; color:var(--dc-text-muted); line-height:1.35; }
.dc-promo-bar{ width:34px; height:3px; background:var(--dc-primary); border-radius:99px; margin-top:8px; }

/* ---------------------------------------------------------------------- */
/* Recherche                                                                */
/* ---------------------------------------------------------------------- */
.dc-search-group{ display:flex; align-items:center; gap:8px; }
.dc-search-group .dc-scan-icon{
  width:44px; height:44px; border-radius:10px; border:1px solid var(--dc-border);
  display:grid; place-items:center; color:var(--dc-text-muted); flex:0 0 auto; font-size:16px;
}
.dc-search-group .form-control{
  height:44px; border-radius:10px; font-size:15px; font-weight:600;
}
.dc-search-group .btn-search{
  height:44px; width:48px; border-radius:10px; flex:0 0 auto;
}
.dc-search-hint{ font-size:12px; color:var(--dc-text-muted); margin:8px 2px 0; }

/* ---------------------------------------------------------------------- */
/* Badges & états                                                          */
/* ---------------------------------------------------------------------- */
.dc-badge{
  display:inline-flex; align-items:center; gap:5px;
  padding:4px 11px; border-radius:999px;
  font-size:11.5px; font-weight:700; letter-spacing:.01em;
}
.dc-badge i{ font-size:10px; }
.dc-badge-success{ background:var(--dc-success-bg); color:var(--dc-success); }
.dc-badge-warning{ background:var(--dc-warning-bg); color:var(--dc-warning); }
.dc-badge-danger{ background:var(--dc-danger-bg); color:var(--dc-danger); }
.dc-badge-info{ background:var(--dc-info-bg); color:var(--dc-info); }
.dc-badge-neutral{ background:var(--dc-neutral-bg); color:var(--dc-text-muted); }

/* ---------------------------------------------------------------------- */
/* Infos ordonnance                                                        */
/* ---------------------------------------------------------------------- */
.dc-info-item{ display:flex; align-items:flex-start; gap:10px; }
.dc-info-icon{
  width:34px; height:34px; border-radius:9px; background:var(--dc-primary-50); color:var(--dc-primary-700);
  display:grid; place-items:center; font-size:14px; flex:0 0 auto; margin-top:1px;
}
.dc-info-icon.dc-info-icon-blue{ background:var(--dc-accent-50); color:var(--dc-accent); }
.dc-info-label{ font-size:11.5px; color:var(--dc-text-muted); font-weight:600; margin-bottom:2px; }
.dc-info-value{ font-size:14.5px; font-weight:800; color:var(--dc-text); }
.dc-info-value small{ display:block; font-size:11.5px; font-weight:600; color:var(--dc-text-muted); }
.dc-info-note{ font-size:11.5px; font-weight:700; color:var(--dc-success); margin-top:1px; }
.dc-info-note.dc-info-note-warning{ color:var(--dc-warning); }
.dc-info-note.dc-info-note-danger{ color:var(--dc-danger); }

/* ---------------------------------------------------------------------- */
/* Tableaux                                                                 */
/* ---------------------------------------------------------------------- */
.dc-table{ width:100%; border-collapse:separate; border-spacing:0; font-size:13.5px; }
.dc-table thead th{
  text-align:left; font-size:11.5px; text-transform:uppercase; letter-spacing:.04em;
  color:var(--dc-text-soft); font-weight:700; padding:0 10px 10px; border-bottom:1px solid var(--dc-border);
}
.dc-table tbody td{ padding:12px 10px; border-bottom:1px solid var(--dc-border); vertical-align:middle; }
.dc-table tbody tr:last-child td{ border-bottom:0; }
.dc-table tbody tr.dc-row-disabled{ opacity:.5; }
.dc-table .dc-med-name{ font-weight:800; font-size:13.5px; }
.dc-table .dc-med-sub{ font-size:12px; color:var(--dc-text-muted); }
.dc-qty-input{
  width:64px; height:36px; border-radius:8px; text-align:center; font-weight:700;
  border:1px solid var(--dc-border-strong);
}
.dc-table .dc-amount{ font-weight:800; }
.dc-table-scroll{ overflow-x:auto; }

.form-check-input:checked{ background-color:var(--dc-primary); border-color:var(--dc-primary); }
.form-check-input:focus{ border-color:var(--dc-primary); box-shadow:0 0 0 .2rem rgba(18,128,92,.15); }

/* ---------------------------------------------------------------------- */
/* Boutons                                                                  */
/* ---------------------------------------------------------------------- */
.btn{ font-weight:700; border-radius:10px; font-size:13.5px; padding:9px 16px; display:inline-flex; align-items:center; justify-content:center; gap:0; }
.btn-lg{ padding:12px 20px; font-size:14.5px; border-radius:11px; }
.btn-sm{ padding:6px 11px; font-size:12.5px; border-radius:8px; }
.btn-primary{
  background:var(--dc-primary); border-color:var(--dc-primary);
}
.btn-primary:hover,.btn-primary:focus{ background:var(--dc-primary-600); border-color:var(--dc-primary-600); }
.btn-outline-primary{ color:var(--dc-primary); border-color:var(--dc-primary); }
.btn-outline-primary:hover{ background:var(--dc-primary); border-color:var(--dc-primary); }
.btn-outline-secondary{ color:var(--dc-text-muted); border-color:var(--dc-border-strong); }
.btn-outline-secondary:hover{ background:var(--dc-neutral-bg); color:var(--dc-text); border-color:var(--dc-border-strong); }
.btn-danger{ background:var(--dc-danger); border-color:var(--dc-danger); }
.btn.btn-icon-only i{ margin-right:0; }

.dc-fab-total{
  background:var(--dc-surface); border:1px solid var(--dc-border); border-radius:var(--dc-radius);
  padding:14px 22px; text-align:right;
}
.dc-fab-total .dc-fab-label{ font-size:12.5px; color:var(--dc-text-muted); font-weight:600; }
.dc-fab-total .dc-fab-amount{ font-size:24px; font-weight:800; color:var(--dc-primary); }

/* ---------------------------------------------------------------------- */
/* Formulaires                                                              */
/* ---------------------------------------------------------------------- */
.form-label{ font-weight:700; font-size:13px; color:var(--dc-text); margin-bottom:6px; }
.form-control,.form-select{
  border-radius:10px; border:1px solid var(--dc-border-strong); font-size:13.5px; padding:9px 13px;
}
.form-control:focus,.form-select:focus{
  border-color:var(--dc-primary); box-shadow:0 0 0 .2rem rgba(18,128,92,.12);
}
.form-text{ font-size:12px; }
.dc-required::after{ content:"*"; color:var(--dc-danger); margin-left:3px; }

/* ---------------------------------------------------------------------- */
/* Cartes utilisateur / rôle / médicament                                  */
/* ---------------------------------------------------------------------- */
.dc-grid{ display:grid; gap:16px; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); }
.dc-grid-med{ grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); }

.dc-entity-card{
  background:var(--dc-surface); border:1px solid var(--dc-border); border-radius:var(--dc-radius-lg);
  padding:18px; display:flex; flex-direction:column; gap:12px; box-shadow:var(--dc-shadow-sm);
  transition:box-shadow .15s ease, border-color .15s ease;
}
.dc-entity-card:hover{ box-shadow:var(--dc-shadow); border-color:var(--dc-border-strong); }
.dc-entity-top{ display:flex; align-items:flex-start; gap:12px; }
.dc-entity-name{ font-weight:800; font-size:14.5px; margin:0; }
.dc-entity-sub{ font-size:12.5px; color:var(--dc-text-muted); margin:1px 0 0; }
.dc-entity-meta{ display:flex; flex-wrap:wrap; gap:7px 16px; font-size:12.5px; color:var(--dc-text-muted); }
.dc-entity-meta span{ display:inline-flex; align-items:center; gap:6px; }
.dc-entity-meta i{ width:14px; text-align:center; color:var(--dc-text-soft); }
.dc-entity-footer{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:12px; border-top:1px solid var(--dc-border); }

.dc-med-card{
  background:var(--dc-surface); border:1px solid var(--dc-border); border-radius:var(--dc-radius-lg);
  padding:16px; display:flex; flex-direction:column; gap:10px; box-shadow:var(--dc-shadow-sm);
}
.dc-med-card:hover{ box-shadow:var(--dc-shadow); }
.dc-med-icon{
  width:42px; height:42px; border-radius:11px; background:var(--dc-primary-50); color:var(--dc-primary-700);
  display:grid; place-items:center; font-size:18px;
}
.dc-med-card .dc-entity-name{ font-size:14px; }
.dc-med-price{ font-size:19px; font-weight:800; color:var(--dc-primary); }
.dc-med-price small{ font-size:11.5px; font-weight:600; color:var(--dc-text-muted); }
.dc-med-card .dc-entity-footer{ padding-top:10px; }

/* ---------------------------------------------------------------------- */
/* Panneau d'information (rôles, etc.)                                     */
/* ---------------------------------------------------------------------- */
.dc-panel-row{ display:flex; align-items:center; justify-content:space-between; padding:10px 0; border-bottom:1px dashed var(--dc-border); font-size:13px; }
.dc-panel-row:last-child{ border-bottom:0; }
.dc-panel-row .dc-panel-label{ color:var(--dc-text-muted); font-weight:600; }
.dc-panel-row .dc-panel-value{ font-weight:700; text-align:right; }

.dc-perm-group{ border:1px solid var(--dc-border); border-radius:var(--dc-radius); padding:14px 16px; margin-bottom:12px; }
.dc-perm-group h5{ font-size:12.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--dc-text-muted); margin:0 0 10px; display:flex; align-items:center; gap:8px; }
.dc-perm-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:8px 14px; }
.form-check.dc-perm-check{ font-size:13px; font-weight:600; padding-left:1.75em; }

/* ---------------------------------------------------------------------- */
/* Statistiques                                                            */
/* ---------------------------------------------------------------------- */
.dc-stat-card{
  background:var(--dc-surface); border:1px solid var(--dc-border); border-radius:var(--dc-radius-lg);
  padding:18px 20px; display:flex; align-items:flex-start; gap:14px; box-shadow:var(--dc-shadow-sm);
}
.dc-stat-icon{ width:44px; height:44px; border-radius:12px; display:grid; place-items:center; font-size:19px; flex:0 0 auto; }
.dc-stat-value{ font-size:23px; font-weight:800; line-height:1.15; }
.dc-stat-label{ font-size:12.5px; color:var(--dc-text-muted); font-weight:600; }
.dc-stat-trend{ font-size:12px; font-weight:700; margin-top:4px; }

.dc-bar-row{ display:flex; align-items:center; gap:12px; padding:8px 0; }
.dc-bar-label{ width:64px; flex:0 0 auto; font-size:12.5px; font-weight:700; color:var(--dc-text-muted); }
.dc-bar-track{ display:block; flex:1 1 auto; height:9px; border-radius:99px; background:var(--dc-neutral-bg); overflow:hidden; }
.dc-bar-fill{ display:block; height:100%; border-radius:99px; background:var(--dc-primary); }
.dc-bar-value{ width:60px; flex:0 0 auto; text-align:right; font-size:12.5px; font-weight:800; }

.dc-timeline{ list-style:none; margin:0; padding:0; }
.dc-timeline li{ display:flex; gap:12px; padding:11px 0; border-bottom:1px solid var(--dc-border); }
.dc-timeline li:last-child{ border-bottom:0; }
.dc-timeline-dot{ width:9px; height:9px; border-radius:50%; background:var(--dc-primary); margin-top:6px; flex:0 0 auto; }
.dc-timeline-title{ font-size:13px; font-weight:700; }
.dc-timeline-time{ font-size:11.5px; color:var(--dc-text-soft); }

/* ---------------------------------------------------------------------- */
/* Facturation                                                             */
/* ---------------------------------------------------------------------- */
.dc-invoice-summary{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.dc-invoice-line{ text-align:right; }
.dc-invoice-line .dc-invoice-label{ font-size:12px; color:var(--dc-text-muted); font-weight:600; }
.dc-invoice-line .dc-invoice-amount{ font-size:15px; font-weight:800; }
.dc-invoice-line.dc-invoice-total .dc-invoice-amount{ font-size:24px; color:var(--dc-primary); }

/* ---------------------------------------------------------------------- */
/* Login                                                                    */
/* ---------------------------------------------------------------------- */
.dc-login-wrap{ min-height:100vh; display:flex; align-items:stretch; }
.dc-login-brand{
  flex:1 1 46%; background:linear-gradient(160deg,var(--dc-primary-700),var(--dc-primary));
  color:#fff; padding:52px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden;
}
.dc-login-brand::after{
  content:""; position:absolute; inset:auto -80px -80px auto; width:260px; height:260px; border-radius:50%;
  background:rgba(255,255,255,.06);
}
.dc-login-brand .dc-logo{ color:#fff; }
.dc-login-brand .dc-logo-icon{ background:rgba(255,255,255,.18); }
.dc-login-tagline{ font-size:26px; font-weight:800; line-height:1.3; max-width:360px; }
.dc-login-brand img{ max-width:280px; margin-top:auto; align-self:center; }
.dc-login-form-side{ flex:1 1 54%; display:flex; align-items:center; justify-content:center; padding:40px; background:var(--dc-bg); }
.dc-login-card{ width:100%; max-width:400px; }
.dc-login-footer-note{ font-size:12px; color:var(--dc-text-soft); text-align:center; margin-top:20px; }

/* ---------------------------------------------------------------------- */
/* Footer application                                                      */
/* ---------------------------------------------------------------------- */
.dc-footer{
  border-top:1px solid var(--dc-border); background:var(--dc-surface);
  padding:12px 28px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  font-size:11.5px; color:var(--dc-text-soft);
}

/* ---------------------------------------------------------------------- */
/* Onglets secondaires                                                     */
/* ---------------------------------------------------------------------- */
.dc-subtabs{ display:flex; gap:6px; margin-bottom:18px; border-bottom:1px solid var(--dc-border); }
.dc-subtab{
  padding:10px 4px; margin-right:22px; font-size:13.5px; font-weight:700; color:var(--dc-text-muted);
  border-bottom:2px solid transparent; margin-bottom:-1px;
}
.dc-subtab:hover{ color:var(--dc-text); }
.dc-subtab.active{ color:var(--dc-primary-700); border-bottom-color:var(--dc-primary); }

.dc-toolbar{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.dc-toolbar .dc-search-inline{ position:relative; flex:1 1 260px; max-width:360px; }
.dc-toolbar .dc-search-inline i{ position:absolute; left:13px; top:50%; transform:translateY(-50%); color:var(--dc-text-soft); }
.dc-toolbar .dc-search-inline .form-control{ padding-left:36px; }
.dc-toolbar .ms-auto-actions{ margin-left:auto; display:flex; gap:10px; flex-wrap:wrap; }

.dc-empty{ text-align:center; padding:60px 20px; color:var(--dc-text-muted); }
.dc-empty i{ font-size:34px; color:var(--dc-border-strong); margin-bottom:12px; }

/* ---------------------------------------------------------------------- */
/* Modal                                                                    */
/* ---------------------------------------------------------------------- */
.modal-content{ border-radius:var(--dc-radius-lg); border:0; box-shadow:var(--dc-shadow-lg); }
.modal-header{ border-bottom:1px solid var(--dc-border); padding:18px 22px; }
.modal-title{ font-weight:800; font-size:16px; }
.modal-body{ padding:20px 22px; }
.modal-footer{ border-top:1px solid var(--dc-border); padding:16px 22px; }

.dc-picker-list{ max-height:280px; overflow-y:auto; border:1px solid var(--dc-border); border-radius:var(--dc-radius); }
.dc-picker-item{ display:flex; align-items:center; gap:12px; padding:11px 14px; border-bottom:1px solid var(--dc-border); cursor:pointer; }
.dc-picker-item:last-child{ border-bottom:0; }
.dc-picker-item:hover{ background:var(--dc-primary-50); }
.dc-picker-item.selected{ background:var(--dc-primary-50); border-left:3px solid var(--dc-primary); }
.dc-picker-item.disabled{ opacity:.5; cursor:not-allowed; }
.dc-picker-item .dc-med-icon{ width:36px; height:36px; font-size:15px; }

/* ---------------------------------------------------------------------- */
/* Responsive                                                               */
/* ---------------------------------------------------------------------- */
@media (max-width: 991.98px){
  .dc-main{ padding:18px 16px 32px; }
  .dc-topbar,.dc-nav,.dc-footer{ padding-left:16px; padding-right:16px; }
  .dc-nav-illustration{ display:none; }
  .dc-login-brand{ display:none; }
  .dc-login-form-side{ flex:1 1 100%; }
}
@media (max-width: 575.98px){
  .dc-nav-btn{ min-width:96px; padding:11px 6px; font-size:11.5px; }
  .dc-nav-btn i{ font-size:16px; }
  .dc-topbar-links{ display:none; }
  .dc-fab-total{ text-align:left; width:100%; }
}
