/* AdminKit reusable Bootstrap component skin — v1.6.6
   Global UI layer: buttons, forms, modals, alerts, dropdowns, tabs,
   accordions, pagination, toast, tooltip/popover, progress and SweetAlert2. */

:root {
  --ak-blue:#335cff;
  --ak-emerald:#16a36a;
  --ak-violet:#7c3aed;
  --ak-amber:#d98b16;
  --ak-rose:#e54874;
  --ak-cyan:#0ea5b7;
  --ak-focus-ring:0 0 0 .22rem rgba(var(--admin-primary-rgb),.12);
}

/* Buttons */
.btn { --bs-btn-border-radius:10px; min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:.38rem; font-weight:700; letter-spacing:-.005em; box-shadow:0 1px 2px rgba(16,24,40,.04); transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease; }
.btn-sm { min-height:32px; --bs-btn-border-radius:8px; }
.btn-lg { min-height:48px; --bs-btn-border-radius:12px; }
.btn:hover { transform:translateY(-1px); box-shadow:0 5px 14px rgba(16,24,40,.08); }
.btn:active { transform:translateY(0); box-shadow:none; }
.btn:focus-visible { box-shadow:var(--ak-focus-ring)!important; }
.btn-primary { --bs-btn-bg:var(--admin-primary); --bs-btn-border-color:var(--admin-primary); --bs-btn-hover-bg:color-mix(in srgb,var(--admin-primary) 88%,black); --bs-btn-hover-border-color:color-mix(in srgb,var(--admin-primary) 88%,black); }
.btn-success { --bs-btn-bg:var(--admin-success); --bs-btn-border-color:var(--admin-success); }
.btn-warning { --bs-btn-bg:var(--admin-warning); --bs-btn-border-color:var(--admin-warning); --bs-btn-color:#fff; --bs-btn-hover-color:#fff; }
.btn-danger { --bs-btn-bg:var(--admin-danger); --bs-btn-border-color:var(--admin-danger); }
.btn-info { --bs-btn-bg:var(--admin-info); --bs-btn-border-color:var(--admin-info); --bs-btn-color:#fff; --bs-btn-hover-color:#fff; }
.btn-secondary { --bs-btn-bg:#667085; --bs-btn-border-color:#667085; }
.btn-light { --bs-btn-bg:var(--admin-surface-2); --bs-btn-border-color:var(--admin-border); --bs-btn-color:var(--admin-text); --bs-btn-hover-bg:color-mix(in srgb,var(--admin-surface-2) 76%,var(--admin-primary-soft)); --bs-btn-hover-border-color:color-mix(in srgb,var(--admin-border) 65%,var(--admin-primary)); --bs-btn-hover-color:var(--admin-text); }
.btn-outline-secondary { --bs-btn-color:var(--admin-muted); --bs-btn-border-color:var(--admin-border); --bs-btn-hover-bg:var(--admin-surface-2); --bs-btn-hover-border-color:color-mix(in srgb,var(--admin-border) 60%,var(--admin-primary)); --bs-btn-hover-color:var(--admin-text); }
.btn-outline-success { --bs-btn-color:var(--admin-success); --bs-btn-border-color:color-mix(in srgb,var(--admin-success) 48%,var(--admin-border)); --bs-btn-hover-bg:var(--admin-success); --bs-btn-hover-border-color:var(--admin-success); }
.btn-outline-warning { --bs-btn-color:var(--admin-warning); --bs-btn-border-color:color-mix(in srgb,var(--admin-warning) 48%,var(--admin-border)); --bs-btn-hover-bg:var(--admin-warning); --bs-btn-hover-border-color:var(--admin-warning); --bs-btn-hover-color:#fff; }
.btn-outline-danger { --bs-btn-color:var(--admin-danger); --bs-btn-border-color:color-mix(in srgb,var(--admin-danger) 48%,var(--admin-border)); --bs-btn-hover-bg:var(--admin-danger); --bs-btn-hover-border-color:var(--admin-danger); }
.btn-link { color:var(--admin-primary); font-weight:700; text-decoration:none; box-shadow:none; }
.btn-link:hover { color:color-mix(in srgb,var(--admin-primary) 82%,black); box-shadow:none; }
.btn-close { opacity:.58; }
.btn-close:hover { opacity:.9; }
[data-bs-theme="dark"] .btn-close { filter:invert(1) grayscale(100%) brightness(200%); }

/* Form controls */
.form-label { color:var(--admin-text); font-size:.8rem; font-weight:750; margin-bottom:.42rem; }
.form-control,.form-select { min-height:42px; border:1px solid var(--admin-border); border-radius:10px; background-color:var(--admin-surface); color:var(--admin-text); box-shadow:0 1px 2px rgba(16,24,40,.025); transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease; }
textarea.form-control { min-height:108px; resize:vertical; }
.form-control:hover,.form-select:hover { border-color:color-mix(in srgb,var(--admin-border) 62%,var(--admin-primary)); }
.form-control:focus,.form-select:focus { border-color:color-mix(in srgb,var(--admin-primary) 56%,white); background-color:var(--admin-surface); color:var(--admin-text); box-shadow:var(--ak-focus-ring); }
.form-control::placeholder { color:color-mix(in srgb,var(--admin-muted) 72%,transparent); }
.form-control:disabled,.form-select:disabled,.form-control[readonly] { background:var(--admin-surface-2); color:var(--admin-muted); opacity:.78; }
.form-text { color:var(--admin-muted); font-size:.74rem; }
.input-group > .form-control,.input-group > .form-select,.input-group > .input-group-text { min-height:42px; }
.input-group-text { border-color:var(--admin-border); background:linear-gradient(180deg,var(--admin-surface-2),color-mix(in srgb,var(--admin-surface-2) 86%,var(--admin-primary-soft))); color:var(--admin-muted); font-weight:700; }
.form-check-input { border-color:color-mix(in srgb,var(--admin-border) 70%,var(--admin-muted)); background-color:var(--admin-surface); }
.form-check-input:focus { border-color:var(--admin-primary); box-shadow:var(--ak-focus-ring); }
.form-check-input:checked { background-color:var(--admin-primary); border-color:var(--admin-primary); }
.form-switch .form-check-input { width:2.25em; cursor:pointer; }
.form-check-label { color:var(--admin-text); }
.form-range::-webkit-slider-thumb { background:var(--admin-primary); }
.form-range::-moz-range-thumb { background:var(--admin-primary); border:0; }
.valid-feedback { color:var(--admin-success); }
.invalid-feedback { color:var(--admin-danger); }
.was-validated .form-control:valid,.form-control.is-valid,.was-validated .form-select:valid,.form-select.is-valid { border-color:color-mix(in srgb,var(--admin-success) 62%,var(--admin-border)); }
.was-validated .form-control:invalid,.form-control.is-invalid,.was-validated .form-select:invalid,.form-select.is-invalid { border-color:color-mix(in srgb,var(--admin-danger) 64%,var(--admin-border)); }
.was-validated .form-control:valid:focus,.form-control.is-valid:focus { box-shadow:0 0 0 .22rem color-mix(in srgb,var(--admin-success) 14%,transparent); }
.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus { box-shadow:0 0 0 .22rem color-mix(in srgb,var(--admin-danger) 14%,transparent); }

/* Native upload button */
.form-control[type="file"] { padding:.36rem .42rem; cursor:pointer; }
.form-control[type="file"]::file-selector-button { min-height:32px; margin:-.05rem .7rem -.05rem -.08rem; padding:.42rem .78rem; border:0; border-radius:8px; background:linear-gradient(135deg,var(--admin-primary),color-mix(in srgb,var(--admin-primary) 72%,var(--ak-violet))); color:#fff; font-weight:800; cursor:pointer; transition:filter .15s ease,transform .15s ease; }
.form-control[type="file"]:hover::file-selector-button { filter:brightness(1.06); }

/* Cards */
.card { --bs-card-bg:var(--admin-surface); --bs-card-border-color:var(--admin-border); --bs-card-color:var(--admin-text); border-radius:var(--admin-radius); box-shadow:var(--admin-shadow); }
.card-header,.card-footer { border-color:var(--admin-border); background:color-mix(in srgb,var(--admin-surface-2) 76%,transparent); }

/* Alerts */
.alert { position:relative; overflow:hidden; border:1px solid var(--admin-border); border-radius:12px; background:var(--admin-surface); color:var(--admin-text); box-shadow:0 5px 18px rgba(16,24,40,.04); font-size:.86rem; font-weight:600; padding:.85rem 1rem .85rem 1.08rem; }
.alert::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--ak-alert,var(--admin-primary)); }
.alert-primary { --ak-alert:var(--admin-primary); background:color-mix(in srgb,var(--admin-primary) 7%,var(--admin-surface)); border-color:color-mix(in srgb,var(--admin-primary) 24%,var(--admin-border)); }
.alert-success { --ak-alert:var(--admin-success); background:color-mix(in srgb,var(--admin-success) 7%,var(--admin-surface)); border-color:color-mix(in srgb,var(--admin-success) 24%,var(--admin-border)); }
.alert-warning { --ak-alert:var(--admin-warning); background:color-mix(in srgb,var(--admin-warning) 8%,var(--admin-surface)); border-color:color-mix(in srgb,var(--admin-warning) 28%,var(--admin-border)); }
.alert-danger { --ak-alert:var(--admin-danger); background:color-mix(in srgb,var(--admin-danger) 7%,var(--admin-surface)); border-color:color-mix(in srgb,var(--admin-danger) 24%,var(--admin-border)); }
.alert-info { --ak-alert:var(--admin-info); background:color-mix(in srgb,var(--admin-info) 7%,var(--admin-surface)); border-color:color-mix(in srgb,var(--admin-info) 24%,var(--admin-border)); }
.alert-secondary { --ak-alert:#667085; background:var(--admin-surface-2); }
.alert-link { color:var(--admin-text); font-weight:800; }

/* Modal / offcanvas */
.modal-backdrop { --bs-backdrop-bg:#101828; }
.modal-backdrop.show { opacity:.42; backdrop-filter:none; -webkit-backdrop-filter:none; }
.modal-dialog { --bs-modal-width:560px; }
.modal-content { overflow:hidden; border:1px solid color-mix(in srgb,var(--admin-border) 72%,var(--admin-primary)); border-radius:18px; background:var(--admin-surface); color:var(--admin-text); box-shadow:0 26px 80px rgba(15,23,42,.22); }
.modal-header { position:relative; padding:1rem 1.15rem; border-bottom:1px solid var(--admin-border); background:linear-gradient(135deg,color-mix(in srgb,var(--admin-primary) 8%,var(--admin-surface)),color-mix(in srgb,var(--ak-violet) 5%,var(--admin-surface))); }
.modal-header::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:linear-gradient(90deg,var(--admin-primary),var(--ak-violet),var(--ak-cyan)); opacity:.72; }
.modal-title { font-weight:850; letter-spacing:-.015em; }
.modal-body { padding:1.15rem; }
.modal-footer { padding:.85rem 1.15rem; border-top:1px solid var(--admin-border); background:color-mix(in srgb,var(--admin-surface-2) 64%,transparent); }
.offcanvas { --bs-offcanvas-bg:var(--admin-surface); --bs-offcanvas-color:var(--admin-text); --bs-offcanvas-border-color:var(--admin-border); }
.offcanvas-header { border-bottom:1px solid var(--admin-border); }

/* Dropdowns */
.dropdown-menu { --bs-dropdown-bg:var(--admin-surface); --bs-dropdown-color:var(--admin-text); --bs-dropdown-border-color:var(--admin-border); --bs-dropdown-link-color:var(--admin-text); --bs-dropdown-link-hover-color:var(--admin-text); --bs-dropdown-link-hover-bg:var(--admin-surface-2); --bs-dropdown-link-active-color:#fff; --bs-dropdown-link-active-bg:var(--admin-primary); padding:.45rem; border-radius:13px; box-shadow:0 18px 48px rgba(16,24,40,.13); }
.dropdown-item { min-height:38px; display:flex; align-items:center; gap:.55rem; padding:.48rem .62rem; border-radius:9px; font-size:.84rem; font-weight:650; }
.dropdown-item > i { width:18px; text-align:center; color:var(--admin-muted); }
.dropdown-item:hover > i,.dropdown-item:focus > i,.dropdown-item.active > i { color:currentColor; }
.dropdown-divider { border-color:var(--admin-border); margin:.4rem .15rem; }
.dropdown-header { color:var(--admin-muted); font-size:.68rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }

/* Badges */
.badge { border-radius:999px; font-weight:800; letter-spacing:.01em; padding:.42em .65em; }
.status-badge { border:1px solid color-mix(in srgb,currentColor 12%,transparent); }

/* Tabs / pills */
.nav-tabs { gap:.3rem; border-bottom:1px solid var(--admin-border); }
.nav-tabs .nav-link { margin-bottom:-1px; border:1px solid transparent; border-radius:9px 9px 0 0; color:var(--admin-muted); font-size:.83rem; font-weight:750; }
.nav-tabs .nav-link:hover { color:var(--admin-text); background:var(--admin-surface-2); border-color:var(--admin-border) var(--admin-border) transparent; }
.nav-tabs .nav-link.active { color:var(--admin-primary); background:var(--admin-surface); border-color:var(--admin-border) var(--admin-border) var(--admin-surface); box-shadow:inset 0 3px var(--admin-primary); }
.nav-pills { gap:.3rem; }
.nav-pills .nav-link { color:var(--admin-muted); font-weight:750; border-radius:9px; }
.nav-pills .nav-link:hover { color:var(--admin-text); background:var(--admin-surface-2); }
.nav-pills .nav-link.active { color:#fff; background:linear-gradient(135deg,var(--admin-primary),color-mix(in srgb,var(--admin-primary) 74%,var(--ak-violet))); box-shadow:0 6px 16px rgba(var(--admin-primary-rgb),.20); }
.tab-content { color:var(--admin-text); background:var(--admin-surface); }

/* Accordion */
.accordion { --bs-accordion-bg:var(--admin-surface); --bs-accordion-color:var(--admin-text); --bs-accordion-border-color:var(--admin-border); --bs-accordion-btn-bg:var(--admin-surface); --bs-accordion-btn-color:var(--admin-text); --bs-accordion-active-bg:color-mix(in srgb,var(--admin-primary) 8%,var(--admin-surface)); --bs-accordion-active-color:var(--admin-primary); --bs-accordion-btn-focus-box-shadow:var(--ak-focus-ring); }
.accordion-item { overflow:hidden; }
.accordion-button { font-size:.86rem; font-weight:750; }
.accordion-button:not(.collapsed) { box-shadow:inset 3px 0 var(--admin-primary); }
[data-bs-theme="dark"] .accordion-button::after { filter:invert(1) grayscale(1) brightness(1.7); }

/* Pagination */
.pagination { gap:.28rem; }
.page-link { min-width:36px; min-height:36px; display:grid; place-items:center; padding:.35rem .55rem; border:1px solid var(--admin-border); border-radius:9px!important; background:var(--admin-surface); color:var(--admin-text); font-size:.8rem; font-weight:750; }
.page-link:hover { border-color:color-mix(in srgb,var(--admin-border) 55%,var(--admin-primary)); background:var(--admin-primary-soft); color:var(--admin-primary); }
.page-link:focus { box-shadow:var(--ak-focus-ring); }
.active > .page-link,.page-link.active { border-color:var(--admin-primary); background:var(--admin-primary); color:#fff; }
.disabled > .page-link,.page-link.disabled { background:var(--admin-surface-2); color:var(--admin-muted); opacity:.65; }

/* Bootstrap tables */
.table-responsive { border-radius:12px; scrollbar-color:color-mix(in srgb,var(--admin-muted) 45%,transparent) transparent; }
.table { --bs-table-color:var(--admin-text); --bs-table-bg:transparent; --bs-table-border-color:var(--admin-border); }
.table > :not(caption) > * > * { vertical-align:middle; }
.table caption { color:var(--admin-muted); font-size:.75rem; }
.table-bordered > :not(caption) > * { border-width:1px 0; }
.table-bordered > :not(caption) > * > * { border-width:0 1px; }

/* Progress / spinner */
.progress { --bs-progress-height:.62rem; --bs-progress-bg:color-mix(in srgb,var(--admin-muted) 11%,var(--admin-surface-2)); border-radius:999px; overflow:hidden; box-shadow:inset 0 1px 2px rgba(16,24,40,.06); }
.progress-bar { border-radius:999px; background:linear-gradient(90deg,var(--admin-primary),var(--ak-cyan)); font-size:.62rem; font-weight:850; }
.spinner-border,.spinner-grow { color:var(--admin-primary); }

/* Toast */
.toast { --bs-toast-bg:var(--admin-surface); --bs-toast-color:var(--admin-text); --bs-toast-border-color:var(--admin-border); border-radius:14px; box-shadow:0 18px 50px rgba(16,24,40,.16); backdrop-filter:none; -webkit-backdrop-filter:none; }
.toast-header { background:linear-gradient(135deg,color-mix(in srgb,var(--admin-primary) 7%,var(--admin-surface)),var(--admin-surface)); color:var(--admin-text); border-bottom-color:var(--admin-border); }
.toast-body { font-size:.83rem; }

/* Tooltip / Popover */
.tooltip { --bs-tooltip-bg:#172033; --bs-tooltip-color:#fff; --bs-tooltip-opacity:.96; --bs-tooltip-border-radius:8px; font-size:.73rem; }
.popover { --bs-popover-bg:var(--admin-surface); --bs-popover-border-color:var(--admin-border); --bs-popover-header-bg:color-mix(in srgb,var(--admin-primary) 8%,var(--admin-surface)); --bs-popover-header-color:var(--admin-text); --bs-popover-body-color:var(--admin-text); border-radius:12px; box-shadow:var(--admin-shadow-lg); }
.popover-header { font-weight:800; }

/* List group */
.list-group { --bs-list-group-bg:var(--admin-surface); --bs-list-group-color:var(--admin-text); --bs-list-group-border-color:var(--admin-border); --bs-list-group-action-hover-bg:var(--admin-surface-2); --bs-list-group-action-active-bg:var(--admin-primary-soft); --bs-list-group-active-bg:var(--admin-primary); --bs-list-group-active-border-color:var(--admin-primary); }

/* SweetAlert2 */
.swal2-container { backdrop-filter:none; -webkit-backdrop-filter:none; }
.swal2-popup { border:1px solid color-mix(in srgb,var(--admin-border) 72%,var(--admin-primary)); border-radius:18px!important; background:var(--admin-surface)!important; color:var(--admin-text)!important; box-shadow:0 26px 80px rgba(15,23,42,.24)!important; }
.swal2-title { color:var(--admin-text)!important; font-size:1.25rem!important; font-weight:850!important; }
.swal2-html-container { color:var(--admin-muted)!important; font-size:.87rem!important; }
.swal2-actions { gap:.45rem; }
.swal2-styled { min-height:40px!important; border-radius:10px!important; font-weight:800!important; box-shadow:none!important; }
.swal2-confirm { background:var(--admin-primary)!important; }
.swal2-cancel { background:#667085!important; }
.swal2-deny { background:var(--admin-danger)!important; }
.swal2-input,.swal2-select,.swal2-textarea { border:1px solid var(--admin-border)!important; border-radius:10px!important; background:var(--admin-surface)!important; color:var(--admin-text)!important; box-shadow:none!important; }
.swal2-input:focus,.swal2-select:focus,.swal2-textarea:focus { border-color:var(--admin-primary)!important; box-shadow:var(--ak-focus-ring)!important; }

/* Focus/accessibility */
a:focus-visible,.dropdown-item:focus-visible,.nav-link:focus-visible,.accordion-button:focus-visible { outline:0; box-shadow:var(--ak-focus-ring); }
[data-bs-theme="dark"] .btn:hover { box-shadow:0 5px 14px rgba(0,0,0,.25); }
[data-bs-theme="dark"] .modal-content,[data-bs-theme="dark"] .dropdown-menu,[data-bs-theme="dark"] .toast,[data-bs-theme="dark"] .popover,[data-bs-theme="dark"] .swal2-popup { box-shadow:0 22px 60px rgba(0,0,0,.42)!important; }
@media (prefers-reduced-motion:reduce) { .btn,.form-control,.form-select { transition:none!important; } }
@media print { .modal,.modal-backdrop,.toast-container,.tooltip,.popover,.swal2-container { display:none!important; } }
