/* Shahkaar UI V2: scoped, presentation-only design system. */
.sk-app {
  --sk-v2-primary:#065f46; --sk-v2-primary-strong:#064e3b; --sk-v2-primary-soft:#ecfdf5;
  --sk-v2-text:#0f172a; --sk-v2-muted:#64748b; --sk-v2-border:#dbe4ee; --sk-v2-bg:#f6faf8; --sk-v2-surface:#fff;
  --sk-v2-info:#2563eb; --sk-v2-danger:#dc2626; --sk-v2-warning:#d97706; --sk-v2-success:#059669;
  --sk-v2-radius-sm:8px; --sk-v2-radius:12px; --sk-v2-radius-lg:18px;
  --sk-v2-shadow-sm:0 4px 14px rgba(15,23,42,.06); --sk-v2-shadow:0 16px 38px rgba(15,23,42,.08);
  --sk-v2-focus:0 0 0 4px rgba(5,150,105,.18); --sk-v2-input:44px; --sk-v2-button:40px;
  background:var(--sk-v2-bg); color:var(--sk-v2-text); font-family:var(--sk-font-family, Inter, "Segoe UI", Arial, sans-serif);
}
.sk-app :where(a){text-decoration:none}.sk-app :where(a.sk-v2-link){color:var(--sk-v2-primary)}.sk-app :where(a.sk-v2-link:hover){color:var(--sk-v2-primary-strong)}
.sk-app :where(:focus-visible){outline:0;box-shadow:var(--sk-v2-focus);border-color:var(--sk-v2-primary)!important}
.sk-app .sk-v2-container{width:min(100% - 24px,1320px);margin-inline:auto}.sk-app .sk-v2-container--compact{max-width:860px}.sk-app .sk-v2-container--wide{width:min(100% - 20px,1840px);max-width:1840px}
.sk-app .sk-v2-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 18px}.sk-app .sk-v2-page-title{font-size:clamp(1.35rem,2vw,2rem);line-height:1.15;margin:0;color:var(--sk-v2-text);font-weight:850;letter-spacing:-.03em}.sk-app .sk-v2-page-description{margin:6px 0 0;color:var(--sk-v2-muted);font-size:.95rem}.sk-app .sk-v2-context{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sk-app .sk-v2-context-pill{display:inline-flex;align-items:center;border:1px solid #b7ead1;background:var(--sk-v2-primary-soft);color:var(--sk-v2-primary-strong);border-radius:999px;padding:5px 10px;font-size:.82rem;font-weight:800;white-space:nowrap}
.sk-app .sk-v2-card,.sk-app .sk-v2-section,.sk-app .sk-crud-card{background:var(--sk-v2-surface);border:1px solid var(--sk-v2-border);border-radius:var(--sk-v2-radius-lg);box-shadow:var(--sk-v2-shadow);color:var(--sk-v2-text)}.sk-app .sk-v2-card{padding:20px}
.sk-app .sk-v2-filter,.sk-app .sk-crud-filters{background:#fff;border:1px solid var(--sk-v2-border);border-radius:var(--sk-v2-radius-lg);box-shadow:var(--sk-v2-shadow-sm);padding:16px;margin-bottom:18px}.sk-app .sk-v2-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;align-items:end}.sk-app .sk-v2-field{display:flex;flex-direction:column;gap:6px}.sk-app .sk-v2-field--full{grid-column:1/-1}
.sk-app :where(label,.sk-v2-label,.sk-crud-field label){color:#334155;font-size:.84rem;font-weight:800;margin:0 0 6px}.sk-app :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea,.sk-input,.form-control){min-height:var(--sk-v2-input);border:1px solid #cbd5e1;border-radius:var(--sk-v2-radius);background:#fff;color:var(--sk-v2-text);padding:10px 12px;box-shadow:inset 0 1px 0 rgba(15,23,42,.02)}:where(.sk-app .sk-v2-form-grid,.sk-app .sk-v2-field,.sk-app .sk-crud-field) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([class*="w-"]),select:not([class*="w-"]),textarea:not([class*="w-"]),.sk-input:not([class*="w-"]),.form-control:not([class*="w-"])){width:100%}.sk-app :where(textarea){min-height:112px;resize:vertical}.sk-app :where(input[type="checkbox"],input[type="radio"]){accent-color:var(--sk-v2-primary);inline-size:16px;block-size:16px}.sk-app :where(input:disabled,select:disabled,textarea:disabled,input[readonly],textarea[readonly]){background:#f8fafc;color:#64748b;cursor:not-allowed}
.sk-app :where(.sk-v2-btn,.sk-crud-btn,.btn){min-height:var(--sk-v2-button);display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--sk-v2-radius);border:1px solid transparent;padding:9px 14px;font-weight:850;line-height:1.1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.sk-app :where(.sk-v2-btn:hover,.sk-crud-btn:hover,.btn:hover){transform:translateY(-1px)}.sk-app :where(.sk-v2-btn--primary,.sk-crud-btn-primary,.btn-primary,.btn-green){background:var(--sk-v2-primary);border-color:var(--sk-v2-primary);color:#fff;box-shadow:0 10px 20px rgba(6,95,70,.18)}.sk-app :where(.sk-v2-btn--secondary,.sk-crud-btn-secondary,.btn-gray,.btn-dark){background:#fff;border-color:#cbd5e1;color:#334155}.sk-app :where(.sk-v2-btn--edit,.sk-crud-btn-edit,.btn-edit){background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.sk-app :where(.sk-v2-btn--danger,.sk-crud-btn-danger,.btn-danger,.btn-del){background:var(--sk-v2-danger)!important;border-color:var(--sk-v2-danger)!important;color:#fff!important;box-shadow:0 10px 20px rgba(220,38,38,.16)}.sk-app :where(.sk-v2-btn--warning){background:#fff7ed;border-color:#fed7aa;color:#b45309}.sk-app .sk-v2-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sk-app .sk-v2-table-wrap,.sk-app .sk-crud-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--sk-v2-border);border-radius:var(--sk-v2-radius-lg);background:#fff}.sk-app :where(.sk-v2-table:not(.attendance-grid),.sk-crud-table){width:100%;border-collapse:separate;border-spacing:0;background:#fff}.sk-app :where(.sk-v2-table:not(.attendance-grid) th,.sk-crud-table th){background:#f1f5f9;color:#334155;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;font-weight:900;white-space:nowrap}.sk-app :where(.sk-v2-table:not(.attendance-grid) th,.sk-v2-table:not(.attendance-grid) td,.sk-crud-table th,.sk-crud-table td){padding:10px 12px;border-bottom:1px solid #e2e8f0;vertical-align:middle}.sk-app :where(.sk-v2-table:not(.attendance-grid) tbody tr:hover,.sk-crud-table tbody tr:hover){background:#f8fafc}.sk-app :where(.sk-col-serial,.sk-v2-col-serial){width:70px;min-width:70px;max-width:70px;text-align:center!important;vertical-align:middle!important}.sk-app :where(.sk-v2-col-number,.sk-v2-col-money){text-align:right!important}.sk-app :where(.sk-col-status,.sk-v2-col-status){white-space:nowrap}.sk-app :where(.sk-v2-badge,.sk-crud-badge,.status-badge){display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:900;line-height:1.1;white-space:nowrap;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8}.sk-app .sk-v2-badge--success{background:#ecfdf5;border-color:#bbf7d0;color:#047857}.sk-app .sk-v2-badge--danger{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.sk-app .sk-v2-badge--warning{background:#fffbeb;border-color:#fde68a;color:#b45309}.sk-app .sk-v2-empty{text-align:center;color:var(--sk-v2-muted);padding:28px;background:#fff}.sk-app .pagination{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin-top:16px}
.sk-app .sk-v2-attendance{background:#fff;border:1px solid var(--sk-v2-border);border-radius:var(--sk-v2-radius-lg);box-shadow:var(--sk-v2-shadow);overflow:hidden}.sk-app .sk-v2-attendance-scroll{overflow:auto;max-height:calc(100vh - 240px);background:#fff}.sk-app .sk-v2-attendance-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;background:#fff}.sk-app .sk-v2-attendance-table th{position:sticky;top:0;z-index:10;background:#ecfdf5!important;color:#064e3b!important;border:1px solid #dbe4ee}.sk-app .sk-v2-attendance-table td{background:#fff;border:1px solid #e2e8f0}.sk-app .sk-v2-attendance-table .sk-v2-sticky-1{position:sticky;left:0;z-index:8;background:#fff}.sk-app .sk-v2-attendance-table .sk-v2-sticky-2{position:sticky;left:70px;z-index:8;background:#fff}.sk-app .sk-v2-attendance-table .sk-v2-sticky-3{position:sticky;left:150px;z-index:8;background:#fff}.sk-app .sk-v2-attendance-table .sk-v2-sticky-4{position:sticky;left:260px;z-index:8;background:#fff}.sk-app .sk-v2-attendance-table thead .sk-v2-sticky-1,.sk-app .sk-v2-attendance-table thead .sk-v2-sticky-2,.sk-app .sk-v2-attendance-table thead .sk-v2-sticky-3,.sk-app .sk-v2-attendance-table thead .sk-v2-sticky-4{z-index:12;background:#dcfce7!important}.sk-app .sk-v2-slip-panel{background:#fff!important;color:#334155!important;min-width:260px}.sk-app .sk-v2-slip-card{background:#f8fafc;border:1px solid #cbd5e1;color:#334155;border-radius:10px;padding:9px 11px;font-size:12px;line-height:1.55;font-weight:650}.sk-app .sk-v2-slip-card .muted{color:#94a3b8!important}
@media screen and (max-width:768px){.sk-app .sk-v2-container{width:min(100% - 18px,1320px)}.sk-app .sk-v2-page-header{align-items:stretch}.sk-app .sk-v2-page-header>*{max-width:100%}.sk-app .sk-v2-card{padding:16px}.sk-app .sk-v2-filter{padding:12px}.sk-app :where(.sk-v2-btn,.sk-crud-btn,.btn){min-height:44px}.sk-app :where(.sk-v2-table:not(.attendance-grid) th,.sk-v2-table:not(.attendance-grid) td,.sk-crud-table th,.sk-crud-table td){padding:9px 10px}.sk-app .sk-v2-actions{align-items:stretch}.sk-app .sk-v2-actions>*{flex:1 1 auto}}
@media print{.sk-app{background:#fff!important;color:#000!important}.sk-app .no-print,.sk-app .shahkaar-common-header,.sk-app .sidebar,.sk-app .sk-sidebar,.sk-app .shahkaar-sidebar{display:none!important}.sk-app .sk-v2-card,.sk-app .sk-v2-section,.sk-app .sk-crud-card{box-shadow:none!important;border:1px solid #ddd!important}.sk-app .sk-v2-table-wrap,.sk-app .sk-crud-table-wrap{overflow:visible!important;border:0!important}.sk-app .sk-v2-attendance-scroll{max-height:none!important;overflow:visible!important}}
@media (prefers-reduced-motion:reduce){.sk-app *{transition-duration:.001ms!important;animation-duration:.001ms!important;scroll-behavior:auto!important}}
.sk-app .sk-v2-auth-main{display:grid;place-items:center;min-height:100vh;padding-block:24px}.sk-app .sk-v2-auth-card{width:min(100%,420px)}.sk-app .sk-v2-otp-input{font-size:18px;letter-spacing:.25em;text-align:center}
.sk-app .sk-v2-flash{display:block;margin-bottom:12px}.sk-app .sk-v2-auth-footer{margin-top:14px}
/* V2 semantic migration helpers: apply only after markup opts into these classes. */
.sk-app .sk-inline-form,.sk-app .sk-v2-form.sk-inline-form{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.sk-app .sk-v2-form-row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.sk-app .sk-v2-form-row>*{min-width:180px}.sk-app .sk-v2-checkbox-label{display:inline-flex;align-items:center;gap:8px;margin:0}.sk-app .sk-v2-table:not(.attendance-grid) th.sk-col-serial,.sk-app .sk-v2-table:not(.attendance-grid) td.sk-col-serial{inline-size:70px;min-inline-size:70px;max-inline-size:70px;text-align:center!important}.sk-app .sk-v2-col-actions{white-space:nowrap;text-align:right}.sk-app .sk-v2-col-date,.sk-app .sk-v2-col-code{white-space:nowrap}.sk-app .sk-v2-col-money,.sk-app .sk-v2-col-number{text-align:right!important;white-space:nowrap}.sk-app .sk-v2-table-wrap>.sk-v2-table:not(.attendance-grid){margin:0}.sk-app .sk-v2-table-wrap:not(:has(.sk-v2-table:not(.attendance-grid))){padding:0}.sk-app .sk-v2-table:not(.attendance-grid) th[scope="col"]{vertical-align:middle}.sk-app .sk-v2-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sk-app .sk-v2-stack{display:flex;flex-direction:column;gap:14px}.sk-app .sk-v2-print-sheet{background:#fff;color:#111827;font-family:Georgia,"Times New Roman",serif}.sk-app .sk-v2-email-shell{background:#f8fafc;color:#0f172a}.sk-app .sk-v2-public-shell{min-height:100vh;background:linear-gradient(135deg,#064e3b,#0f766e);color:#fff}
.sk-app .sk-v2-attendance-table .sk-v2-sticky-1{inline-size:70px;min-inline-size:70px;max-inline-size:70px;left:0}.sk-app .sk-v2-attendance-table .sk-v2-sticky-2{inline-size:92px;min-inline-size:92px;max-inline-size:92px;left:70px}.sk-app .sk-v2-attendance-table .sk-v2-sticky-3{inline-size:118px;min-inline-size:118px;max-inline-size:118px;left:162px}.sk-app .sk-v2-attendance-table .sk-v2-sticky-4{inline-size:220px;min-inline-size:220px;max-inline-size:220px;left:280px;white-space:normal!important;line-height:1.25}.sk-app .sk-v2-attendance-table td.sk-v2-sticky-2,.sk-app .sk-v2-attendance-table td.sk-v2-sticky-3{overflow:hidden;text-overflow:ellipsis}.sk-app .sk-v2-attendance-table td.sk-v2-sticky-4{overflow:hidden;text-overflow:ellipsis}
.sk-app .sk-v2-required,.sk-app .sk-v2-error{color:#b91c1c}.sk-app .sk-v2-error{font-size:.82rem;font-weight:700;margin-top:4px}
.sk-app .sk-icon{inline-size:1.05em;block-size:1.05em;min-inline-size:1.05em;vertical-align:-.16em;stroke:currentColor}.sk-app :where(.sk-v2-page-title,.sk-title,h1,h2,h3,.sk-crud-title)>.sk-icon:first-child{inline-size:1.25em;block-size:1.25em;margin-right:.45rem}.sk-app :where(.btn,.sk-btn,.sk-crud-btn,button,a)>.sk-icon:first-child{margin-right:.35rem}.sk-app :where(.btn,.sk-btn,.sk-crud-btn,button,a)>.sk-icon:only-child{margin-right:0}.sk-app .sk-icon-danger{color:var(--sk-v2-danger)}.sk-app .sk-icon-edit{color:var(--sk-v2-info)}.sk-app .sk-icon-primary{color:var(--sk-v2-primary)}
