/*
 * Shahkaar Professional Polish Layer
 * Loaded after the legacy theme and Shahkaar UI V2.
 * Presentation-only, scoped under .sk-app, and intentionally excludes specialized print pages.
 */

body.sk-app:not(.shahkaar-print-page){
  --sk-polish-primary:#065f46;
  --sk-polish-primary-strong:#064e3b;
  --sk-polish-primary-hover:#047857;
  --sk-polish-primary-soft:#ecfdf5;
  --sk-polish-info:#2563eb;
  --sk-polish-info-soft:#eff6ff;
  --sk-polish-danger:#dc2626;
  --sk-polish-danger-strong:#b91c1c;
  --sk-polish-danger-soft:#fff1f2;
  --sk-polish-warning:#d97706;
  --sk-polish-warning-soft:#fff7ed;
  --sk-polish-text:#0f172a;
  --sk-polish-muted:#64748b;
  --sk-polish-border:#dbe4ee;
  --sk-polish-surface:#fff;
  --sk-polish-surface-muted:#f8fbfa;
  --sk-polish-radius-sm:9px;
  --sk-polish-radius:12px;
  --sk-polish-radius-lg:18px;
  --sk-polish-shadow-sm:0 6px 18px rgba(15,23,42,.045);
  --sk-polish-shadow:0 18px 44px rgba(15,23,42,.085);
  --sk-polish-focus:0 0 0 4px rgba(5,150,105,.15);
  color:var(--sk-polish-text);
  font-size:14px;
  line-height:1.5;
}

/* Typography */
.sk-app:not(.shahkaar-print-page) :where(h1,h2,h3,h4,.sk-title,.sk-crud-title){
  color:var(--sk-polish-text);
  font-family:var(--sk-font-family,Inter,"Segoe UI",Arial,sans-serif);
  text-wrap:balance;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-page-title,.sk-crud-title){
  font-size:clamp(1.4rem,2vw,2rem);
  font-weight:850;
  line-height:1.14;
  letter-spacing:-.032em;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-page-description,.sk-crud-subtitle,.sk-muted,.muted){
  color:var(--sk-polish-muted);
  font-size:.875rem;
  line-height:1.55;
}

/* Professional page header */
.sk-app:not(.shahkaar-print-page) .sk-v2-page-header{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  align-items:center;
  margin-bottom:20px;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--sk-polish-radius-lg);
  background:linear-gradient(135deg,#064e3b 0%,#065f46 56%,#047857 100%);
  box-shadow:0 18px 40px rgba(6,78,59,.18);
  color:#fff;
}
.sk-app:not(.shahkaar-print-page) .sk-v2-page-header::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 0 0 auto;
  width:42%;
  pointer-events:none;
  background:radial-gradient(circle at 72% 18%,rgba(255,255,255,.18),transparent 58%);
}
.sk-app:not(.shahkaar-print-page) .sk-v2-page-header :where(.sk-v2-page-title,h1,h2,h3){
  color:#fff;
}
.sk-app:not(.shahkaar-print-page) .sk-v2-page-header :where(.sk-v2-page-description,.sk-crud-subtitle,.sk-muted,.muted){
  color:#d1fae5;
}
.sk-app:not(.shahkaar-print-page) .sk-v2-page-header .sk-v2-context-pill{
  border-color:rgba(255,255,255,.25);
  background:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
}

/* Cards, panels and filters */
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-card,.sk-v2-section,.sk-crud-card){
  border-color:var(--sk-polish-border);
  border-radius:var(--sk-polish-radius-lg);
  background:var(--sk-polish-surface);
  box-shadow:var(--sk-polish-shadow);
}
.sk-app:not(.shahkaar-print-page) .sk-v2-card{
  padding:22px;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-filter,.sk-crud-filters){
  margin-bottom:20px;
  padding:18px;
  border:1px solid #dbe7e1;
  border-radius:16px;
  background:var(--sk-polish-surface-muted);
  box-shadow:var(--sk-polish-shadow-sm);
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-toolbar,.sk-v2-actions){
  gap:9px;
}
.sk-app:not(.shahkaar-print-page) .sk-v2-form-grid{
  gap:15px;
}

/* Labels and form controls */
.sk-app:not(.shahkaar-print-page) :where(label,.sk-v2-label,.sk-crud-field label){
  color:#334155;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.01em;
  line-height:1.3;
}
.sk-app:not(.shahkaar-print-page) :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select,
  textarea,
  .sk-input,
  .form-control
){
  min-height:44px;
  border:1px solid #cbd5e1;
  border-radius:11px;
  background:#fff;
  color:var(--sk-polish-text);
  padding:9px 11px;
  font-family:inherit;
  font-size:.875rem;
  line-height:1.35;
  outline:0;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.sk-app:not(.shahkaar-print-page) :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select,
  textarea,
  .sk-input,
  .form-control
):hover{
  border-color:#94a3b8;
}
.sk-app:not(.shahkaar-print-page) :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select,
  textarea,
  .sk-input,
  .form-control
):focus{
  border-color:#059669;
  box-shadow:var(--sk-polish-focus);
}
.sk-app:not(.shahkaar-print-page) :where(input::placeholder,textarea::placeholder){
  color:#94a3b8;
}
.sk-app:not(.shahkaar-print-page) :where(input:disabled,select:disabled,textarea:disabled,input[readonly],textarea[readonly]){
  border-color:#e2e8f0;
  background:#f8fafc;
  color:#64748b;
  opacity:1;
}
.sk-app:not(.shahkaar-print-page) :where(input[type="checkbox"],input[type="radio"]){
  inline-size:17px;
  block-size:17px;
}

/* Button foundation */
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-btn,.sk-crud-btn,.sk-btn,.btn){
  min-height:40px;
  gap:7px;
  padding:9px 14px;
  border:1px solid transparent;
  border-radius:10px;
  font-family:inherit;
  font-size:.8125rem;
  font-weight:800;
  line-height:1.1;
  letter-spacing:0;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:none;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-btn,.sk-crud-btn,.sk-btn,.btn):hover{
  transform:translateY(-1px);
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-btn,.sk-crud-btn,.sk-btn,.btn):active{
  transform:translateY(0);
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-btn,.sk-crud-btn,.sk-btn,.btn):focus-visible{
  outline:0;
  box-shadow:var(--sk-polish-focus);
}
.sk-app:not(.shahkaar-print-page) :where(.btn-sm,.sk-v2-btn--sm,.sk-crud-btn-sm){
  min-height:34px;
  padding:7px 10px;
  border-radius:8px;
  font-size:.75rem;
}
.sk-app:not(.shahkaar-print-page) :where(.btn-lg,.sk-v2-btn--lg){
  min-height:46px;
  padding:11px 17px;
  font-size:.875rem;
}

/* Primary/add/save actions */
.sk-app:not(.shahkaar-print-page) :where(
  .sk-v2-btn--primary,
  .sk-crud-btn-primary,
  .btn-primary,
  .btn-green,
  .btn-add,
  .btn-save,
  .btn-submit
){
  border-color:var(--sk-polish-primary);
  background:var(--sk-polish-primary);
  color:#fff;
  box-shadow:0 9px 20px rgba(6,95,70,.18);
}
.sk-app:not(.shahkaar-print-page) :where(
  .sk-v2-btn--primary,
  .sk-crud-btn-primary,
  .btn-primary,
  .btn-green,
  .btn-add,
  .btn-save,
  .btn-submit
):hover{
  border-color:var(--sk-polish-primary-strong);
  background:var(--sk-polish-primary-strong);
  color:#fff;
}

/* Secondary/reset/navigation actions */
.sk-app:not(.shahkaar-print-page) :where(
  .sk-v2-btn--secondary,
  .sk-crud-btn-secondary,
  .btn-secondary,
  .btn-gray,
  .btn-dark,
  .btn-reset,
  .btn-cancel
){
  border-color:#cbd5e1;
  background:#fff;
  color:#334155;
}
.sk-app:not(.shahkaar-print-page) :where(
  .sk-v2-btn--secondary,
  .sk-crud-btn-secondary,
  .btn-secondary,
  .btn-gray,
  .btn-dark,
  .btn-reset,
  .btn-cancel
):hover{
  border-color:#94a3b8;
  background:#f8fafc;
  color:#0f172a;
}

/* Edit/info actions */
.sk-app:not(.shahkaar-print-page) :where(
  .sk-v2-btn--edit,
  .sk-crud-btn-edit,
  .btn-edit,
  .btn-blue,
  .btn-info
){
  border-color:#bfdbfe;
  background:var(--sk-polish-info-soft);
  color:#1d4ed8;
}
.sk-app:not(.shahkaar-print-page) :where(
  .sk-v2-btn--edit,
  .sk-crud-btn-edit,
  .btn-edit,
  .btn-blue,
  .btn-info
):hover{
  border-color:#93c5fd;
  background:#dbeafe;
  color:#1e40af;
}

/* Warning actions */
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-btn--warning,.btn-warning){
  border-color:#fed7aa;
  background:var(--sk-polish-warning-soft);
  color:#b45309;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-btn--warning,.btn-warning):hover{
  border-color:#fdba74;
  background:#ffedd5;
  color:#9a3412;
}

/* Destructive actions: specificity protects against the legacy global submit rule. */
.sk-app:not(.shahkaar-print-page) :where(
  .sk-v2-btn--danger,
  .sk-crud-btn-danger,
  .btn-danger,
  .btn-delete,
  .btn-del
),
.sk-app:not(.shahkaar-print-page) button[type="submit"]:is(
  .sk-v2-btn--danger,
  .sk-crud-btn-danger,
  .btn-danger,
  .btn-delete,
  .btn-del
){
  border-color:var(--sk-polish-danger)!important;
  background:var(--sk-polish-danger)!important;
  color:#fff!important;
  box-shadow:0 9px 20px rgba(220,38,38,.16);
}
.sk-app:not(.shahkaar-print-page) :where(
  .sk-v2-btn--danger,
  .sk-crud-btn-danger,
  .btn-danger,
  .btn-delete,
  .btn-del
):hover,
.sk-app:not(.shahkaar-print-page) button[type="submit"]:is(
  .sk-v2-btn--danger,
  .sk-crud-btn-danger,
  .btn-danger,
  .btn-delete,
  .btn-del
):hover{
  border-color:var(--sk-polish-danger-strong)!important;
  background:var(--sk-polish-danger-strong)!important;
  color:#fff!important;
}

/* Header actions use a calm white/glass hierarchy like the polished register. */
.sk-app:not(.shahkaar-print-page) .sk-v2-page-header :where(
  .sk-v2-btn--primary,
  .sk-crud-btn-primary,
  .btn-primary,
  .btn-green,
  .btn-add
){
  border-color:#fff;
  background:#fff;
  color:var(--sk-polish-primary);
  box-shadow:0 10px 24px rgba(3,46,34,.2);
}
.sk-app:not(.shahkaar-print-page) .sk-v2-page-header :where(
  .sk-v2-btn--secondary,
  .sk-crud-btn-secondary,
  .btn-secondary,
  .btn-gray,
  .btn-dark,
  .btn-blue,
  .btn-info
){
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:none;
}
.sk-app:not(.shahkaar-print-page) .sk-v2-page-header :where(
  .sk-v2-btn--primary,
  .sk-crud-btn-primary,
  .btn-primary,
  .btn-green,
  .btn-add
):hover{
  border-color:#ecfdf5;
  background:#ecfdf5;
  color:var(--sk-polish-primary-strong);
}
.sk-app:not(.shahkaar-print-page) .sk-v2-page-header :where(
  .sk-v2-btn--secondary,
  .sk-crud-btn-secondary,
  .btn-secondary,
  .btn-gray,
  .btn-dark,
  .btn-blue,
  .btn-info
):hover{
  border-color:rgba(255,255,255,.36);
  background:rgba(255,255,255,.2);
  color:#fff;
}

/* Tables */
@media screen {
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table-wrap,.sk-crud-table-wrap){
  overflow:auto;
  border:1px solid var(--sk-polish-border);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--sk-polish-shadow-sm);
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table){
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  color:#334155;
  font-size:.83rem;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) > thead > tr > th{
  padding:11px 13px;
  border-bottom:1px solid #065f46;
  background:#064e3b;
  color:#fff;
  font-size:.7rem;
  font-weight:850;
  line-height:1.25;
  letter-spacing:.055em;
  text-transform:uppercase;
  white-space:nowrap;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) > tbody > tr > td{
  padding:11px 13px;
  border-bottom:1px solid #e8eef2;
  color:#334155;
  line-height:1.45;
  vertical-align:middle;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) > tbody > tr{
  transition:background-color .15s ease;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) > tbody > tr:nth-child(even){
  background:#fcfefd;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) > tbody > tr:hover{
  background:#f3faf7;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) > tbody > tr:last-child > td{
  border-bottom:0;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) > tfoot > tr > td{
  padding:11px 13px;
  border-top:1px solid var(--sk-polish-border);
  background:#f8fafc;
  color:#0f172a;
  font-size:.8rem;
  font-weight:850;
}

/* Compact table actions use soft semantic colors to reduce visual noise. */
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) :where(
  .sk-v2-btn--edit,
  .sk-crud-btn-edit,
  .btn-edit,
  .btn-blue
){
  min-height:32px;
  padding:7px 9px;
  border-color:#bfdbfe;
  border-radius:8px;
  background:#eff6ff;
  color:#1d4ed8;
  box-shadow:none;
  font-size:.72rem;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) :where(
  .sk-v2-btn--danger,
  .sk-crud-btn-danger,
  .btn-danger,
  .btn-delete,
  .btn-del
),
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) button[type="submit"]:is(
  .sk-v2-btn--danger,
  .sk-crud-btn-danger,
  .btn-danger,
  .btn-delete,
  .btn-del
){
  min-height:32px;
  padding:7px 9px;
  border-color:#fecaca!important;
  border-radius:8px;
  background:#fff1f2!important;
  color:#b91c1c!important;
  box-shadow:none;
  font-size:.72rem;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) :where(
  .sk-v2-btn--danger,
  .sk-crud-btn-danger,
  .btn-danger,
  .btn-delete,
  .btn-del
):hover,
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) button[type="submit"]:is(
  .sk-v2-btn--danger,
  .sk-crud-btn-danger,
  .btn-danger,
  .btn-delete,
  .btn-del
):hover{
  border-color:#fca5a5!important;
  background:#fee2e2!important;
  color:#991b1b!important;
}

}
/* Badges, empty states, flash messages and pagination */
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-badge,.sk-crud-badge,.status-badge){
  min-height:24px;
  gap:5px;
  padding:5px 9px;
  border-radius:999px;
  font-size:.69rem;
  font-weight:850;
  letter-spacing:.01em;
}
.sk-app:not(.shahkaar-print-page) .sk-v2-empty{
  padding:38px 20px;
  color:var(--sk-polish-muted);
  font-size:.85rem;
}
.sk-app:not(.shahkaar-print-page) .sk-v2-flash{
  padding:12px 14px;
  border:1px solid #a7f3d0;
  border-radius:12px;
  background:#ecfdf5;
  color:#065f46;
  font-size:.84rem;
  font-weight:750;
}
.sk-app:not(.shahkaar-print-page) .pagination{
  align-items:center;
  gap:7px;
}
.sk-app:not(.shahkaar-print-page) .pagination :where(a,span){
  min-width:34px;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dbe4ee;
  border-radius:9px;
  background:#fff;
  color:#334155;
  font-size:.78rem;
  font-weight:750;
}

/* Icon rhythm */
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-btn,.sk-crud-btn,.sk-btn,.btn) > .sk-icon{
  inline-size:1rem;
  block-size:1rem;
  margin-right:0;
}
.sk-app:not(.shahkaar-print-page) :where(.sk-v2-page-title,.sk-crud-title) > .sk-icon:first-child{
  margin-right:.5rem;
}

/* Complex grids keep their specialized sizing and interaction model. */
.sk-app:not(.shahkaar-print-page) .sk-v2-attendance{
  border-radius:16px;
  box-shadow:var(--sk-polish-shadow);
}
.sk-app:not(.shahkaar-print-page) .sk-v2-attendance-table th{
  letter-spacing:normal;
  text-transform:none;
}

/* Responsive consistency */
@media screen and (max-width:1024px){
  .sk-app:not(.shahkaar-print-page) .sk-v2-page-header{
    padding:20px;
  }
  .sk-app:not(.shahkaar-print-page) .sk-v2-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media screen and (max-width:768px){
  body.sk-app:not(.shahkaar-print-page){
    font-size:13.5px;
  }
  .sk-app:not(.shahkaar-print-page) .sk-v2-page-header{
    align-items:stretch;
    padding:18px 16px;
    border-radius:15px;
  }
  .sk-app:not(.shahkaar-print-page) .sk-v2-page-header .sk-v2-actions{
    width:100%;
  }
  .sk-app:not(.shahkaar-print-page) .sk-v2-page-header .sk-v2-actions > *{
    flex:1 1 auto;
  }
  .sk-app:not(.shahkaar-print-page) :where(.sk-v2-card,.sk-v2-filter,.sk-crud-filters){
    padding:15px;
  }
  .sk-app:not(.shahkaar-print-page) .sk-v2-form-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .sk-app:not(.shahkaar-print-page) :where(.sk-v2-btn,.sk-crud-btn,.sk-btn,.btn){
    min-height:42px;
  }
  .sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) > thead > tr > th,
  .sk-app:not(.shahkaar-print-page) :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table) > tbody > tr > td{
    padding:10px;
  }
}
@media screen and (max-width:520px){
  .sk-app:not(.shahkaar-print-page) .sk-v2-actions{
    align-items:stretch;
  }
  .sk-app:not(.shahkaar-print-page) .sk-v2-actions > :where(a,button){
    flex:1 1 100%;
  }
}

/* Preserve print output from screen-only polish. */
@media print{
  body.sk-app{
    background:#fff!important;
  }
  .sk-app :where(.sk-v2-card,.sk-v2-section,.sk-crud-card,.sk-v2-filter,.sk-crud-filters,.sk-v2-table-wrap,.sk-crud-table-wrap){
    box-shadow:none!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .sk-app:not(.shahkaar-print-page) :where(.sk-v2-btn,.sk-crud-btn,.sk-btn,.btn,.sk-v2-table:not(.attendance-grid) tbody tr,.sk-crud-table tbody tr){
    transition:none!important;
  }
}
