@charset "UTF-8";.glass-card{background:var(--surface-2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-2);border-radius:var(--radius-xl);padding:28px;color:#fff;min-width:0}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px;flex-wrap:wrap}.card-title{font-size:18px;font-weight:600;margin:0}.header-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn-primary{padding:10px 20px;background:var(--grad-brand);border:none;border-radius:var(--radius-md);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;white-space:nowrap}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #7c3aed66}.btn-primary:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}.btn-secondary{padding:10px 20px;background:var(--surface-3);border:1px solid var(--border-3);border-radius:var(--radius-md);color:#fffc;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;white-space:nowrap}.btn-secondary:hover{background:#ffffff26;color:#fff}.btn-row{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.btn-icon{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid rgba(74,222,128,.35);background:#4ade8026;color:var(--green);font-size:14px;cursor:pointer;transition:all .2s;font-family:inherit}.btn-icon:hover{background:#4ade804d;transform:scale(1.1)}.btn-icon-red{border-color:#f8717159;background:#f8717126;color:var(--red)}.btn-icon-red:hover{background:#f871714d}.btn-glyph{margin-right:6px}.action-btns{display:flex;gap:8px}.badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;white-space:nowrap}.badge-green{background:#4ade802e;color:var(--green)}.badge-yellow{background:#fbbf242e;color:var(--amber)}.badge-red{background:#f871712e;color:var(--red)}.badge-orange{background:#fb923c2e;color:var(--orange)}.badge-purple{background:#7c3aed2e;color:var(--accent)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;min-width:480px}thead{background:#ffffff0a}th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);border-bottom:1px solid rgba(255,255,255,.1);white-space:nowrap}td{padding:14px 16px;font-size:14px;border-bottom:1px solid rgba(255,255,255,.06)}tbody tr:hover{background:#ffffff0a}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:12px;font-weight:600;color:#ffffff8c;text-transform:uppercase;letter-spacing:.4px}.form-field input,.form-field select,.form-field textarea{padding:11px 14px;background:var(--surface-2);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);color:#fff;font-size:14px;outline:none;font-family:inherit;transition:all .2s ease;width:100%;cursor:pointer}.form-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(255,255,255,0.4)'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.form-field textarea{cursor:text;resize:vertical;min-height:90px}.form-field input::placeholder,.form-field textarea::placeholder{color:#ffffff47}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#7c3aed99;background-color:var(--surface-3);box-shadow:var(--focus-ring)}.form-field select option{background:#1a1a2e;color:#fff}.filter-bar{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.filter-bar .filter-field{min-width:140px;max-width:200px}.filter-bar .filter-count{margin-left:auto;align-self:flex-end;padding-bottom:2px}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-card{background:#1e1e32f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-2);border-radius:var(--radius-2xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:modal-in .25s var(--ease-out) forwards}@keyframes modal-in{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;border-bottom:1px solid var(--border-1)}.modal-header h3{margin:0;font-size:20px;font-weight:600;color:#fff}.modal-close{background:none;border:none;color:var(--text-3);font-size:24px;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s ease}.modal-close:hover{background:var(--surface-3);color:#fff}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px 24px;border-top:1px solid var(--border-1)}.dropdown-wrapper{position:relative}.dropdown-wrapper input{padding-right:32px;cursor:pointer}.dropdown-wrapper input:focus{border-color:#7c3aed99;background:var(--surface-3);box-shadow:var(--focus-ring)}.dropdown-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#fff6;font-size:12px;pointer-events:none;transition:transform .2s ease,color .2s ease}.dropdown-wrapper:focus-within .dropdown-arrow{color:#7c3aedcc;transform:translateY(-50%) rotate(180deg)}.dropdown-list{position:absolute;top:calc(100% + 6px);left:0;right:0;background:linear-gradient(145deg,#28245afa,#1c1844fa);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(124,58,237,.25);border-radius:12px;max-height:220px;overflow-y:auto;z-index:100;box-shadow:0 12px 32px #0006,0 0 0 1px #7c3aed1a,inset 0 1px #ffffff0d;animation:dropdown-in .15s ease-out;scrollbar-width:thin;scrollbar-color:rgba(124,58,237,.4) transparent}.dropdown-list::-webkit-scrollbar{width:5px}.dropdown-list::-webkit-scrollbar-thumb{background:#7c3aed59;border-radius:3px}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{padding:11px 16px;color:#ffffffd9;cursor:pointer;transition:all .15s ease;font-size:14px;border-bottom:1px solid rgba(124,58,237,.08);display:flex;align-items:center;gap:10px}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#7c3aed33;color:#fff;padding-left:20px}.dropdown-item:first-child{border-radius:12px 12px 0 0}.dropdown-item:last-child{border-radius:0 0 12px 12px}.dropdown-item:only-child{border-radius:12px}.details-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 13px;background:#7c3aed1a;border:1px solid rgba(124,58,237,.28);border-radius:var(--radius-pill);color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .18s ease;white-space:nowrap}.details-btn .btn-arrow{display:inline-block;transition:transform .18s ease}.details-btn:hover{background:#7c3aed47;border-color:#7c3aed99;color:#e9d5ff}.details-btn:hover .btn-arrow{transform:translate(3px)}.details-btn:active{transform:scale(.93);background:#7c3aed66}.staff-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.staff-summary-pill{padding:5px 14px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;white-space:nowrap}.pill-present{background:#4ade8026;color:var(--green);border:1px solid rgba(74,222,128,.3)}.pill-absent{background:#f8717126;color:var(--red);border:1px solid rgba(248,113,113,.3)}button.staff-summary-pill{font:inherit;line-height:1}.staff-summary-pill.pill-clickable{display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-2);transition:background .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out),transform .1s var(--ease-out)}.staff-summary-pill.pill-clickable app-icon{opacity:.65}.staff-summary-pill.pill-clickable:hover{background:var(--surface-3);border-color:var(--border-3);color:var(--text-1)}.staff-summary-pill.pill-clickable:active{transform:scale(.97)}.staff-summary-pill.pill-clickable:focus-visible{outline:none;box-shadow:var(--focus-ring)}.staff-summary-pill.pill-clickable.pill-selected app-icon{opacity:1}.staff-summary-pill.pill-present.pill-selected{background:#4ade801f;border-color:#4ade8059;color:var(--green)}.staff-summary-pill.pill-absent.pill-selected{background:#f871711f;border-color:#f8717159;color:var(--red)}.staff-summary-pill.pill-dimmed{opacity:.6}.fee-approval-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.challan-preview{background:#ffffff0a;border:2px dashed rgba(255,255,255,.15);border-radius:var(--radius-lg);min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;gap:6px}.challan-icon{font-size:52px;opacity:.6}.challan-name{font-size:15px;font-weight:600;margin:4px 0 0}.challan-detail{font-size:13px;color:var(--text-3);margin:0}.approval-details{display:flex;flex-direction:column;gap:12px}.approval-details .detail-row{background:var(--surface-1);padding:12px 16px;border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center}.approval-details .detail-label{font-size:13px;color:var(--text-3)}.approval-details .detail-value{font-size:14px;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 768px){.glass-card{padding:18px 14px;border-radius:var(--radius-lg)}.card-title{font-size:15px}th{padding:10px;font-size:11px}td{padding:11px 10px;font-size:12px}.fee-approval-grid{grid-template-columns:1fr}.challan-preview{min-height:150px;padding:24px}.btn-row{flex-direction:column}.btn-row .btn-primary,.btn-row .btn-secondary{width:100%;text-align:center}.form-grid{grid-template-columns:1fr;gap:12px}.modal-overlay{padding:15px}}@media (max-width: 480px){.glass-card{padding:16px 12px}}@media (max-width: 360px){.modal-overlay{padding:10px}.modal-card{max-width:100%}.modal-header{padding:16px 16px 12px}.modal-body{padding:16px}.modal-footer{padding:12px 16px 16px;flex-direction:column}}@keyframes pd-drop-in{0%{opacity:0;transform:scale(.9) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.profile-menu-wrap{position:relative;z-index:1000;isolation:isolate}.avatar{width:46px;height:46px;background:var(--grad-brand);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:700;text-transform:uppercase;box-shadow:0 4px 14px #7c3aed66;flex-shrink:0;cursor:pointer;transition:box-shadow .2s,transform .15s}.avatar:hover{box-shadow:0 0 0 3px #7c3aed73;transform:scale(1.06)}.avatar:active{transform:scale(.96)}.profile-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:240px;background:linear-gradient(145deg,#1e1a46fa,#141134fc);border:1px solid rgba(124,58,237,.25);border-radius:var(--radius-xl);overflow:hidden;z-index:2000;box-shadow:var(--shadow-2),inset 0 1px #ffffff0f;animation:pd-drop-in .22s var(--ease-out) forwards;transform-origin:top right}.pd-hero{display:flex;align-items:center;gap:12px;padding:18px 16px 14px;background:linear-gradient(135deg,#7c3aed2e,#2563eb1f);border-bottom:1px solid rgba(255,255,255,.06)}.pd-avatar{width:42px;height:42px;background:var(--grad-brand);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;text-transform:uppercase;box-shadow:0 4px 12px #7c3aed66;flex-shrink:0}.pd-info{display:flex;flex-direction:column;gap:2px;min-width:0}.pd-name{font-size:14px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-role{font-size:11px;color:#c4b5fdb3;text-transform:uppercase;letter-spacing:.5px}.pd-divider{height:1px;background:#ffffff12;margin:4px 0}.pd-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;background:transparent;border:none;color:#ffffffbf;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;text-align:left;transition:background .15s,color .15s,padding-left .15s}.pd-item .pd-item-icon{font-size:16px;flex-shrink:0}.pd-item:hover{background:#7c3aed2e;color:#fff;padding-left:20px}.pd-item:active{background:#7c3aed4d}.pd-logout{color:#f87171cc;margin-bottom:4px}.pd-logout:hover{background:#f871711f;color:var(--red);padding-left:20px}.pd-logout:active{background:#f8717138}.tbl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 20px;gap:8px;border-top:1px solid rgba(255,255,255,.06);animation:section-in .35s ease forwards}.tbl-empty-icon{font-size:34px;opacity:.4;line-height:1}.tbl-empty-title{font-size:14px;font-weight:600;color:#fff9;margin:0;letter-spacing:.2px}.tbl-empty-sub{font-size:12px;color:var(--text-faint);margin:0;text-align:center;max-width:280px;line-height:1.5}.tbl-empty-row td{border-bottom:none;padding:0}:root{--brand-purple: #7c3aed;--brand-blue: #2563eb;--grad-brand: linear-gradient(135deg, #7c3aed, #2563eb);--bg-0: #0f0c29;--bg-1: #302b63;--bg-2: #24243e;--green: #4ade80;--green-light: #86efac;--amber: #fbbf24;--amber-light: #fcd34d;--red: #f87171;--red-light: #fca5a5;--orange: #fb923c;--accent: #c4b5fd;--text-1: rgba(255, 255, 255, .92);--text-2: rgba(255, 255, 255, .7);--text-3: rgba(255, 255, 255, .5);--text-faint: rgba(255, 255, 255, .45);--surface-1: rgba(255, 255, 255, .05);--surface-2: rgba(255, 255, 255, .07);--surface-3: rgba(255, 255, 255, .1);--border-1: rgba(255, 255, 255, .08);--border-2: rgba(255, 255, 255, .12);--border-3: rgba(255, 255, 255, .2);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 20px;--radius-pill: 999px;--shadow-1: 0 6px 16px rgba(0, 0, 0, .25);--shadow-2: 0 16px 48px rgba(0, 0, 0, .45);--shadow-3: 0 32px 80px rgba(0, 0, 0, .5);--focus-ring: 0 0 0 3px rgba(124, 58, 237, .18);--ease-out: cubic-bezier(.22, 1, .36, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,var(--bg-0) 0%,var(--bg-1) 50%,var(--bg-2) 100%) fixed;color:var(--text-1);min-height:100vh}@keyframes sidebar-in{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}@keyframes nav-in{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes fade-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes card-pop{0%{opacity:0;transform:translateY(28px) scale(.96)}60%{transform:translateY(-4px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes section-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.anim-sidebar{animation:sidebar-in .5s var(--ease-out) .05s both}.anim-nav{opacity:0;animation:nav-in .4s var(--ease-out) calc(.25s + var(--ni, 0) * .07s) forwards}.anim-fade-down{animation:fade-down .5s var(--ease-out) .3s both}.anim-fade-up{animation:fade-up .5s var(--ease-out) .2s both}.anim-card{opacity:0;animation:card-pop .55s var(--ease-out) calc(.45s + var(--ci, 0) * .1s) forwards}.anim-section{opacity:0;animation:section-in .5s var(--ease-out) calc(.35s + var(--si, 0) * .12s) forwards}@media (prefers-reduced-motion: reduce){.anim-sidebar,.anim-nav,.anim-fade-down,.anim-fade-up,.anim-card,.anim-section{animation-duration:.01s;animation-delay:0s}}
