:root{
  --college-bg:#fbf7f1;
  --college-paper:#fffdf9;
  --college-ink:#261b14;
  --college-muted:#79695d;
  --college-line:#ead8c2;
  --college-brand:#8a6545;
  --college-brand-2:#b99163;
  --college-shadow:0 16px 42px rgba(83,58,35,.10);
  --college-radius:22px;
  --college-blue:#3478f6;
  --college-purple:#8358e8;
  --college-amber:#dc8a00;
  --college-rose:#df4778;
  --college-teal:#1699a8;
  --college-cyan:#2e9bc2;
}
html,body{background:linear-gradient(180deg,#fffdf9 0,#fbf5ec 100%)!important;color:var(--college-ink);}
body{min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;}
main,.page-shell,.content-shell{position:relative;}
.container{max-width:1380px;}
h1,h2,h3,h4,h5,h6{color:#24180f;font-weight:850;letter-spacing:-.025em;}
.page-title,.display-title{font-weight:950;letter-spacing:-.04em;}
.text-muted,.muted{color:var(--college-muted)!important;}

/* Panneaux, cartes, blocs */
.card,.cardx,.panel,.box,.form-card,.table-card,.filter-card,.stats-card,.stat-card,.section-card,.content-card{
  border:1px solid var(--college-line)!important;
  border-radius:var(--college-radius)!important;
  background:rgba(255,253,249,.96)!important;
  box-shadow:var(--college-shadow)!important;
}
.card-header,.panel-heading{background:linear-gradient(135deg,#fff9ef,#f5e9d8)!important;border-bottom:1px solid var(--college-line)!important;border-radius:var(--college-radius) var(--college-radius) 0 0!important;color:#50341f!important;font-weight:850!important;}
.card:hover,.cardx:hover{box-shadow:0 20px 50px rgba(83,58,35,.14);}

/* Cartes colorées sans assombrir le contenu */
.tone-blue{--accent:var(--college-blue)!important;background:linear-gradient(135deg,#f5f9ff,#fffdf9)!important;border-color:#a9c8ff!important;}
.tone-purple{--accent:var(--college-purple)!important;background:linear-gradient(135deg,#faf6ff,#fffdf9)!important;border-color:#cdb5ff!important;}
.tone-orange,.tone-amber{--accent:var(--college-amber)!important;background:linear-gradient(135deg,#fff9ec,#fffdf9)!important;border-color:#f3c879!important;}
.tone-pink,.tone-rose{--accent:var(--college-rose)!important;background:linear-gradient(135deg,#fff6fa,#fffdf9)!important;border-color:#f4b3ca!important;}
.tone-teal{--accent:var(--college-teal)!important;background:linear-gradient(135deg,#f2fcfd,#fffdf9)!important;border-color:#9edee5!important;}
.tone-green{--accent:#598b43!important;background:linear-gradient(135deg,#f8fbf3,#fffdf9)!important;border-color:#bfd4aa!important;}
.tone-brown{--accent:#93613e!important;background:linear-gradient(135deg,#fbf4ec,#fffdf9)!important;border-color:#dec0a4!important;}
.cardx .ico,.stat-icon,.feature-icon,.module-icon{
  width:52px;height:52px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--accent,#8a6545) 12%, white);color:var(--accent,#8a6545);font-size:1.5rem;
  border:1px solid color-mix(in srgb,var(--accent,#8a6545) 28%, white);
}
.ctitle{font-weight:900;color:#21160f}.big-num{font-weight:950;letter-spacing:-.04em;color:var(--accent,#8a6545)}

/* Formulaires */
form:not(.navbar-form){border-radius:var(--college-radius);}
.form-control,.form-select,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=tel],textarea,select{
  border:1.5px solid #dec8ad!important;border-radius:14px!important;background:#fffdf9!important;color:#2e2118!important;
  min-height:46px;padding:.7rem .9rem;box-shadow:none!important;transition:.18s ease;
}
textarea{min-height:110px;}
.form-control:focus,.form-select:focus,input:focus,textarea:focus,select:focus{
  border-color:#b38a60!important;box-shadow:0 0 0 .24rem rgba(159,118,76,.13)!important;background:#fff!important;
}
.form-label,label{font-weight:800;color:#5d422d;margin-bottom:.42rem;}
.input-group-text{border-color:#dec8ad!important;background:#f7ecdf!important;color:#8a6545!important;border-radius:14px;}

/* Boutons */
.btn{border-radius:13px!important;font-weight:850!important;padding:.68rem 1rem;box-shadow:0 7px 18px rgba(79,55,33,.07);transition:.18s ease;}
.btn:hover{transform:translateY(-1px)}
.btn-primary,.btn-success,.btn-brand{background:linear-gradient(135deg,#9c7652,#775337)!important;border-color:#775337!important;color:#fff!important;}
.btn-secondary{background:#eee3d6!important;border-color:#dac6b1!important;color:#5b402b!important;}
.btn-info{background:#eaf7fa!important;border-color:#93d5df!important;color:#147482!important;}
.btn-warning{background:#fff3d9!important;border-color:#e9bd66!important;color:#8d5c00!important;}
.btn-danger{background:#fff0f0!important;border-color:#eab1b1!important;color:#9d3535!important;}
.btn-outline-primary{border-color:#b99268!important;color:#7e5d3e!important;}
.btn-outline-primary:hover{background:#8a6545!important;color:#fff!important;}

/* Tableaux */
.table-responsive,.table-card{border-radius:18px;overflow:hidden;background:#fffdf9;}
.table{margin-bottom:0!important;--bs-table-bg:transparent;vertical-align:middle;}
.table thead th{background:linear-gradient(180deg,#f6eadc,#efe0cf)!important;color:#543721!important;border-bottom:1px solid #dcc6ad!important;font-weight:900!important;white-space:nowrap;padding:.9rem .8rem!important;}
.table tbody td{padding:.82rem .8rem!important;border-color:#eee2d4!important;}
.table tbody tr:nth-child(even){background:rgba(248,241,233,.55)!important;}
.table tbody tr:hover{background:#fff6ea!important;}

/* Pagination / filtres */
.pagination .page-link{border-radius:11px!important;margin:0 3px;border-color:#dfcbb5;color:#7b5a3d;background:#fffaf4;font-weight:800;}
.pagination .active>.page-link,.pagination .page-link.active{background:#8a6545!important;border-color:#8a6545!important;color:#fff!important;}
.filters,.filter-bar,.toolbar,.actions-bar{background:rgba(255,253,249,.98);border:1px solid var(--college-line);border-radius:18px;padding:1rem;box-shadow:0 10px 26px rgba(83,58,35,.07);}

/* Badges / alertes */
.badge,.badge-soft{border-radius:999px!important;font-weight:850!important;padding:.48em .75em;}
.alert{border:1px solid var(--college-line)!important;border-radius:17px!important;box-shadow:0 10px 25px rgba(83,58,35,.06);}
.alert-success{background:#f6f8ee!important;color:#546b34!important;border-color:#cad7ae!important;}
.alert-danger{background:#fff3f1!important;color:#933e35!important;border-color:#edc0b9!important;}
.alert-warning{background:#fff8e9!important;color:#8a5b0d!important;border-color:#ecd09a!important;}
.alert-info{background:#f2f9fb!important;color:#246f7b!important;border-color:#b6dce2!important;}

/* Modales */
.modal-content{border:1px solid #dec8ad!important;border-radius:24px!important;box-shadow:0 28px 80px rgba(49,31,17,.25)!important;background:#fffdf9!important;}
.modal-header{background:linear-gradient(135deg,#fff9ef,#f2e5d5);border-bottom-color:#ead8c2!important;border-radius:24px 24px 0 0;}
.modal-title{font-weight:900}.modal-footer{border-top-color:#ead8c2!important;}

/* En-têtes de page génériques */
.page-hero,.hero,.page-head,.page-header-card{
  border:1px solid #e4ceb4;border-radius:26px;padding:1.35rem 1.5rem;margin:1.2rem 0 1.4rem;
  background:linear-gradient(135deg,#fff8ec 0%,#fffdf9 58%,#f8eee2 100%);box-shadow:var(--college-shadow);
}
.page-hero h1,.hero h1,.page-head h1{font-size:clamp(1.65rem,3vw,2.6rem);font-weight:950;margin:0 0 .45rem;}
.section-title{display:flex;align-items:center;gap:.6rem;margin:1.5rem 0 .9rem;font-weight:950;font-size:1.22rem;}
.section-title i{color:#9b744e;}

/* Footer harmonisé */
.college-footer{margin-top:3rem;background:linear-gradient(135deg,#3c2b20,#6b4b35)!important;color:#f7eee5!important;border-top:4px solid #c49a6b;}
.college-footer a{color:#fff6eb!important;}

/* Mobile */
@media(max-width:767px){
  .container{padding-left:13px!important;padding-right:13px!important;}
  .card,.cardx,.panel,.form-card,.table-card{border-radius:18px!important;}
  .btn{min-height:44px;}
  .table{font-size:.9rem;}
  .page-hero,.hero,.page-head{padding:1rem;border-radius:20px;}
}

/* Raffinement global 29/08/2026 — pages de gestion plus vivantes */
.page-hero,.page-head,.page-header-card{position:relative;overflow:hidden}
.page-hero:after,.page-head:after{content:"";position:absolute;right:-70px;top:-90px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(194,151,101,.15),transparent 68%);pointer-events:none}
.card .card-body{position:relative}
.table-responsive{box-shadow:inset 0 0 0 1px rgba(222,203,181,.35)}
.form-control::placeholder{color:#a7988b;opacity:1}
@media (prefers-reduced-motion:no-preference){.card,.cardx,.btn,.feature-icon,.module-icon{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}}
