/* Karbit Prime Admin unified CSS
   Supports both old classes (.admin-*) and blueprint classes (.ak-*)
*/

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,Arial,sans-serif;
  background:#0b1120;
  color:#fff;
}
a{text-decoration:none;color:inherit}
input,select,textarea,button{font:inherit}

/* Shell */
.ak-shell,
.admin-shell{
  max-width:1280px;
  margin:0 auto;
  padding:18px;
}

/* Topbar */
.ak-topbar,
.admin-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(24,34,54,.95),rgba(14,22,36,.95));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 34px rgba(0,0,0,.22);
  margin-bottom:18px;
}

.ak-brand,
.admin-brand{
  font-size:30px;
  font-weight:900;
  background:linear-gradient(90deg,#7d5cff,#ff69b4);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.ak-nav,
.admin-nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.ak-nav a,
.admin-nav a{
  min-height:42px;
  padding:0 14px;
  border-radius:14px;
  background:rgba(255,255,255,.05);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#d6def3;
  font-weight:700;
}

.ak-nav a.active,
.admin-nav a.active{
  background:linear-gradient(90deg,#7d5cff,#b06dff);
  color:#fff;
}

/* Hero */
.ak-hero,
.admin-hero{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
  padding:22px;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(20,29,45,.95),rgba(14,22,34,.92));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 34px rgba(0,0,0,.22);
  margin-bottom:18px;
}

.ak-hero h1,
.admin-hero h1{
  margin:0 0 8px;
  font-size:clamp(30px,5vw,52px);
}

.ak-hero p,
.admin-hero p{
  margin:0;
  color:#9fb0cf;
  line-height:1.7;
}

.ak-hero-badges,
.admin-hero-badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-content:start;
}

/* Role pills */
.ak-role-pill,
.role-pill{
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:800;
  border:1px solid rgba(255,255,255,.07);
}

.ak-role-admin,
.role-admin{
  background:linear-gradient(90deg,rgba(255,232,160,.18),rgba(215,171,60,.26));
  color:#ffe9a6;
}

.ak-role-mademoiselle,
.role-mademoiselle{
  background:linear-gradient(90deg,rgba(255,179,214,.18),rgba(217,140,175,.24));
  color:#ffd6ea;
}

/* Name effects */
.ak-name-admin-gold,
.admin-name-admin-gold,
.name-admin-gold{
  background:linear-gradient(90deg,#fff3b8 0%, #d9ad35 24%, #f7f0c8 48%, #c78b17 72%, #fff0a6 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-weight:900;
}

.ak-name-mademoiselle,
.admin-name-mademoiselle,
.name-mademoiselle{
  background:linear-gradient(90deg,#ffd7e8 0%, #ff9fc7 35%, #ffd8f2 60%, #d98caf 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-weight:900;
}

/* Flash */
.ak-flash,
.flash{
  padding:14px 16px;
  border-radius:16px;
  margin:0 0 18px;
  border:1px solid rgba(255,255,255,.08);
}

.ak-flash.success,
.flash.success{
  background:rgba(62,177,121,.14);
  color:#adffd2;
}

.ak-flash.error,
.flash.error{
  background:rgba(255,95,169,.12);
  color:#ffc7e3;
}

/* Panels */
.ak-panel,
.panel{
  background:linear-gradient(180deg,rgba(22,31,48,.97),rgba(16,23,37,.97));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 34px rgba(0,0,0,.22);
  border-radius:26px;
  padding:18px;
  margin-bottom:18px;
}

.ak-panel-head,
.panel-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-end;
  margin-bottom:14px;
}

.ak-panel-head h2,
.panel-head h2{
  margin:0;
}

.ak-panel-head p,
.panel-head p{
  margin:6px 0 0;
  color:#9fb0cf;
}

/* Grids */
.ak-grid-two,
.grid-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.ak-grid-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.ak-form-grid,
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.ak-form-grid .full,
.form-grid .full{
  grid-column:1/-1;
}

/* Forms */
label{
  display:grid;
  gap:8px;
  color:#d6def3;
  font-size:14px;
}

input[type="text"],
input[type="url"],
input[type="number"],
input[type="password"],
input[type="file"],
select,
textarea{
  width:100%;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:#182235;
  color:#fff;
  padding:13px 14px;
  outline:none;
}

textarea{
  min-height:120px;
  resize:vertical;
}

.checkbox-line{
  display:flex;
  align-items:center;
  gap:10px;
  color:#d6def3;
}

/* Buttons */
button,
.btn,
.ak-btn{
  min-height:46px;
  padding:0 16px;
  border:none;
  border-radius:16px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
}

.btn-primary,
.ak-btn-primary{
  background:linear-gradient(90deg,#7d5cff,#ff69b4);
  color:#fff;
}

.btn-secondary,
.ak-btn-secondary{
  background:rgba(255,255,255,.06);
  color:#dfe7ff;
}

.btn-danger,
.ak-btn-danger{
  background:#4a2434;
  color:#ffd3e6;
}

.ak-card-action{
  min-height:78px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(26,38,60,.96),rgba(18,26,41,.96));
  border:1px solid rgba(255,255,255,.08);
  display:grid;
  place-items:center;
  text-align:center;
  padding:16px;
  font-weight:800;
}

/* Search */
.search-line,
.ak-search-line{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.search-line input,
.ak-search-line input{
  flex:1 1 260px;
}

/* Tables */
.table-wrap,
.ak-table-wrap{
  overflow:auto;
}

table{
  width:100%;
  border-collapse:collapse;
}

th,td{
  padding:12px 10px;
  border-bottom:1px solid rgba(255,255,255,.06);
  text-align:left;
  vertical-align:top;
}

th{
  color:#aab8d3;
  font-size:13px;
}

td{
  color:#edf1ff;
}

/* Status chips */
.status-chip,
.ak-status-chip{
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:800;
}

.status-published,
.ak-status-unused{
  background:rgba(62,177,121,.14);
  color:#aaf6ca;
}

.status-draft,
.ak-status-neutral{
  background:rgba(255,255,255,.06);
  color:#dfe7ff;
}

.ak-status-used{
  background:rgba(125,92,255,.16);
  color:#dcc9ff;
}

.ak-status-disabled,
.ak-status-danger{
  background:rgba(255,95,169,.12);
  color:#ffd3e6;
}

/* Action buttons */
.table-actions,
.ak-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.small-form,
.ak-small-form{
  display:inline;
}

.small-btn,
.ak-small-btn{
  min-height:36px;
  padding:0 12px;
  border:none;
  border-radius:12px;
  cursor:pointer;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.small-btn.edit,
.ak-small-btn.edit{
  background:#22395a;
  color:#cfe3ff;
}

.small-btn.delete,
.ak-small-btn.delete,
.ak-small-btn.danger{
  background:#4a2434;
  color:#ffd3e6;
}

.ak-small-btn.warn,
.ak-small-btn.disable{
  background:#4b3c1f;
  color:#ffe7a5;
}

.ak-small-btn.ok,
.ak-small-btn.enable{
  background:#284738;
  color:#c8ffd9;
}

/* Notes */
.note-box,
.ak-note{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  color:#aab8d3;
  line-height:1.7;
}

.ak-created-box{
  margin-top:14px;
  padding:14px 16px;
  border-radius:16px;
  background:#121a2b;
  border:1px solid rgba(255,255,255,.08);
}

.ak-created-box code{
  display:block;
  padding:8px 10px;
  margin-top:6px;
  border-radius:12px;
  background:rgba(255,255,255,.04);
  color:#fff;
  word-break:break-all;
}

.ak-meta{
  color:#9fb0cf;
  font-size:13px;
}

.ak-comment-box{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  line-height:1.7;
}

.ak-mini-form-grid{
  display:grid;
  gap:10px;
}

.ak-muted-box{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,95,169,.10);
  color:#ffc7e3;
  border:1px solid rgba(255,255,255,.08);
}

/* Images */
img{
  max-width:100%;
}

/* Responsive */
@media (max-width:980px){
  .ak-hero,
  .admin-hero,
  .ak-grid-two,
  .grid-two,
  .ak-form-grid,
  .form-grid,
  .ak-grid-cards{
    grid-template-columns:1fr;
  }

  .ak-topbar,
  .admin-topbar{
    flex-direction:column;
    align-items:flex-start;
  }
}
