@charset "UTF-8";.glass-card{background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius-xl);padding:28px;color:var(--text-1);min-width:0;box-shadow:var(--shadow-1)}.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,.btn-secondary,.btn-icon{text-decoration:none}.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 4px 12px #7c3aed38}.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:var(--text-2);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;white-space:nowrap}.btn-secondary:hover{background:var(--surface-3);color:var(--text-1)}.btn-sm{padding:6px 12px;font-size:12px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.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 var(--border-3);background:var(--green-soft);color:var(--green);font-size:14px;cursor:pointer;transition:all .2s;font-family:inherit}.btn-icon:hover{background:var(--hover-fill-green);color:var(--hover-ink-green);transform:scale(1.1)}.btn-icon-red{background:var(--red-soft);color:var(--red)}.btn-icon-red:hover{background:var(--hover-fill-red);color:var(--hover-ink-red)}.btn-icon-amber{background:var(--amber-soft);color:var(--amber)}.btn-icon-amber:hover{background:var(--hover-fill-amber);color:var(--hover-ink-amber)}.btn-icon-neutral{border-color:var(--border-3);background:var(--surface-3);color:var(--text-2)}.btn-icon-neutral:hover{background:var(--surface-3);color:var(--text-1);border-color:var(--border-focus)}.btn-icon-accent{background:var(--accent-soft);color:var(--accent)}.btn-icon-accent:hover{background:var(--hover-fill-accent);color:var(--hover-ink-accent)}.btn-icon{display:inline-flex;align-items:center;justify-content:center}.row-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}@media (max-width: 640px){.row-actions .btn-icon{width:36px;height:36px}}.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:var(--green-soft);color:var(--green)}.badge-yellow{background:var(--amber-soft);color:var(--amber)}.badge-red{background:var(--red-soft);color:var(--red)}.badge-orange{background:var(--orange-soft);color:var(--orange)}.badge-purple{background:var(--accent-soft);color:var(--accent)}.badge-neutral{background:var(--surface-3);color:var(--text-2)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.ss-scroll{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--brand-purple) var(--scroll-track)}.ss-scroll::-webkit-scrollbar{width:10px;height:10px}.ss-scroll::-webkit-scrollbar-corner{background:transparent}.ss-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}.ss-scroll::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px}.ss-scroll::-webkit-scrollbar-thumb{border-radius:999px;border:2px solid transparent;background-clip:padding-box;background-color:var(--brand-purple);background-image:linear-gradient(180deg,#8b5cf6,#7c3aed 42%,#2563eb);background-size:100% 100%;background-position:0 0;background-repeat:no-repeat}.ss-scroll::-webkit-scrollbar-thumb:hover{background-image:linear-gradient(180deg,#7c3aed,#6d28d9,#1d4ed8)}.ss-scroll::-webkit-scrollbar-thumb:active{background-image:linear-gradient(180deg,#6d28d9,#5b21b6,#1e40af)}.ss-scroll--gutter{overflow-y:scroll}.ss-scroll--fade::-webkit-scrollbar-thumb{opacity:.55}.ss-scroll--fade:hover::-webkit-scrollbar-thumb,.ss-scroll--fade:focus-within::-webkit-scrollbar-thumb{opacity:1}.ss-hscroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:auto;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.ss-hscroll::-webkit-scrollbar:horizontal{height:10px}.ss-hscroll::-webkit-scrollbar-track:horizontal{background:var(--scroll-track);border-radius:6px}.ss-hscroll::-webkit-scrollbar-thumb:horizontal{background:var(--scroll-thumb);border-radius:6px}.ss-hscroll::-webkit-scrollbar-thumb:horizontal:hover{background:var(--brand-purple)}.ss-scroll-wrap{position:relative;min-width:0;width:100%;overflow:hidden}:root{--ss-gutter: 14px}th.ss-gutter-col,td.ss-gutter-col{padding-right:calc(16px + var(--ss-gutter))}@media (max-width: 640px){th.ss-gutter-col,td.ss-gutter-col{padding-right:calc(10px + var(--ss-gutter))}}.ss-scroll-host,[data-ss-scroll]{scrollbar-width:none!important;-ms-overflow-style:none!important}.ss-scroll-host::-webkit-scrollbar,[data-ss-scroll]::-webkit-scrollbar{width:0!important;height:0!important;display:none!important;background:transparent!important}.ss-scroll-host::-webkit-scrollbar-thumb,.ss-scroll-host::-webkit-scrollbar-track,.ss-scroll-host::-webkit-scrollbar-corner,.ss-scroll-host::-webkit-scrollbar-button,[data-ss-scroll]::-webkit-scrollbar-thumb,[data-ss-scroll]::-webkit-scrollbar-track,[data-ss-scroll]::-webkit-scrollbar-corner,[data-ss-scroll]::-webkit-scrollbar-button{display:none!important;width:0!important;height:0!important;background:transparent!important}.ss-scroll-overlay{position:absolute;top:6px;right:3px;bottom:6px;width:8px;z-index:6;pointer-events:none;border-radius:999px;background:var(--scrim)}.ss-scroll-chevron{position:absolute;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;z-index:1;pointer-events:none}.ss-scroll-chevron--up{top:0;border-bottom:5px solid var(--accent)}.ss-scroll-chevron--down{bottom:0;border-top:5px solid var(--accent)}.ss-scroll-thumb{position:absolute;top:0;left:0;width:100%;min-height:32px;pointer-events:auto;border-radius:999px;cursor:grab;background:linear-gradient(180deg,#8b5cf6,#7c3aed 42%,#2563eb);will-change:transform}.ss-scroll-thumb:hover{background:linear-gradient(180deg,#a78bfa,#8b5cf6 42%,#3b82f6)}.ss-scroll-thumb.is-dragging{cursor:grabbing;background:linear-gradient(180deg,#7c3aed,#6d28d9,#1d4ed8)}.ss-vscroll{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--brand-purple) var(--scroll-track)}.ss-vscroll::-webkit-scrollbar{width:10px;height:10px}.ss-vscroll::-webkit-scrollbar-corner{background:transparent}.ss-vscroll::-webkit-scrollbar-button{display:none;width:0;height:0}.ss-vscroll::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px}.ss-vscroll::-webkit-scrollbar-thumb{border-radius:999px;border:2px solid transparent;background-clip:padding-box;background-color:var(--brand-purple);background-image:linear-gradient(180deg,#8b5cf6,#7c3aed 42%,#2563eb);background-size:100% 100%;background-position:0 0;background-repeat:no-repeat}.ss-vscroll::-webkit-scrollbar-thumb:hover{background-image:linear-gradient(180deg,#7c3aed,#6d28d9,#1d4ed8)}.ss-vscroll::-webkit-scrollbar-thumb:active{background-image:linear-gradient(180deg,#6d28d9,#5b21b6,#1e40af)}.ss-vscroll--gutter{overflow-y:scroll}.table-wrap--vscroll{height:610px;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--brand-purple) var(--scroll-track)}.table-wrap--vscroll::-webkit-scrollbar{width:10px;height:10px}.table-wrap--vscroll::-webkit-scrollbar-corner{background:transparent}.table-wrap--vscroll::-webkit-scrollbar-button{display:none;width:0;height:0}.table-wrap--vscroll::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px}.table-wrap--vscroll::-webkit-scrollbar-thumb{border-radius:999px;border:2px solid transparent;background-clip:padding-box;background-color:var(--brand-purple);background-image:linear-gradient(180deg,#8b5cf6,#7c3aed 42%,#2563eb);background-size:100% 100%;background-position:0 0;background-repeat:no-repeat}.table-wrap--vscroll::-webkit-scrollbar-thumb:hover{background-image:linear-gradient(180deg,#7c3aed,#6d28d9,#1d4ed8)}.table-wrap--vscroll::-webkit-scrollbar-thumb:active{background-image:linear-gradient(180deg,#6d28d9,#5b21b6,#1e40af)}.table-wrap--vscroll thead th{position:sticky;top:0;z-index:1;background:linear-gradient(var(--surface-1),var(--surface-1)),var(--bg-1)}@media (max-width: 768px){.table-wrap--vscroll{height:420px}}table{width:100%;border-collapse:collapse;min-width:480px}thead{background:var(--surface-1)}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 var(--border-2);white-space:nowrap}td{padding:14px 16px;font-size:14px;border-bottom:1px solid var(--border-1)}tbody tr:hover{background:var(--surface-1)}input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:12px;font-weight:600;color:var(--text-3);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 var(--border-3);border-radius:var(--radius-md);color:var(--text-1);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='%23475569'/%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:var(--text-placeholder)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--border-focus);background-color:var(--surface-2);box-shadow:var(--focus-ring)}.form-field select option{background:var(--panel-1);color:var(--text-1)}.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-search{min-width:200px;max-width:280px;flex:1}.filter-bar .filter-count{margin-left:auto;align-self:flex-end;padding-bottom:2px}@media (max-width: 640px){.filter-bar .filter-field,.filter-bar .filter-search,.filter-bar app-date-range-filter{flex:1 1 100%;min-width:0;max-width:none}.filter-bar .filter-count{margin-left:0}}.search-box{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--border-3);border-radius:var(--radius-md);color:var(--text-3);transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.search-box input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--text-1);font-size:14px;font-family:inherit}.search-box input::placeholder{color:var(--text-placeholder)}.search-box:focus-within{border-color:var(--border-focus);box-shadow:var(--focus-ring)}.form-field .search-box input,.form-field .search-box input:hover,.form-field .search-box input:focus{border:0;background:none;box-shadow:none;padding:0;border-radius:0;width:auto;cursor:text}.drawer-scrim{position:fixed;inset:0;z-index:1000;background:var(--scrim);animation:scrim-in .2s var(--ease-out)}.drawer-panel{position:fixed;top:0;right:0;bottom:0;z-index:1001;width:min(460px,100%);display:flex;flex-direction:column;background:var(--panel-1);border-left:1px solid var(--border-2);box-shadow:var(--shadow-3);animation:drawer-in .25s var(--ease-out)}.drawer-header{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--border-1)}.drawer-header h3{flex:1;min-width:0;margin:0;font-size:1rem;font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-body{flex:1;min-height:0;overflow-y:auto;padding:16px 18px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--brand-purple) var(--scroll-track)}.drawer-body::-webkit-scrollbar{width:10px;height:10px}.drawer-body::-webkit-scrollbar-corner{background:transparent}.drawer-body::-webkit-scrollbar-button{display:none;width:0;height:0}.drawer-body::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px}.drawer-body::-webkit-scrollbar-thumb{border-radius:999px;border:2px solid transparent;background-clip:padding-box;background-color:var(--brand-purple);background-image:linear-gradient(180deg,#8b5cf6,#7c3aed 42%,#2563eb);background-size:100% 100%;background-position:0 0;background-repeat:no-repeat}.drawer-body::-webkit-scrollbar-thumb:hover{background-image:linear-gradient(180deg,#7c3aed,#6d28d9,#1d4ed8)}.drawer-body::-webkit-scrollbar-thumb:active{background-image:linear-gradient(180deg,#6d28d9,#5b21b6,#1e40af)}.drawer-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--border-1)}@media (max-width: 640px){.drawer-panel{width:100%;border-left:none}}.modal-over-drawer{z-index:1002}.modal-overlay{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-card{background:var(--panel-1);border:1px solid var(--border-2);box-shadow:var(--shadow-3);border-radius:var(--radius-2xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:modal-in .25s var(--ease-out) forwards;scrollbar-width:thin;scrollbar-color:var(--brand-purple) var(--scroll-track)}.modal-card::-webkit-scrollbar{width:10px;height:10px}.modal-card::-webkit-scrollbar-corner{background:transparent}.modal-card::-webkit-scrollbar-button{display:none;width:0;height:0}.modal-card::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px}.modal-card::-webkit-scrollbar-thumb{border-radius:999px;border:2px solid transparent;background-clip:padding-box;background-color:var(--brand-purple);background-image:linear-gradient(180deg,#8b5cf6,#7c3aed 42%,#2563eb);background-size:100% 100%;background-position:0 0;background-repeat:no-repeat}.modal-card::-webkit-scrollbar-thumb:hover{background-image:linear-gradient(180deg,#7c3aed,#6d28d9,#1d4ed8)}.modal-card::-webkit-scrollbar-thumb:active{background-image:linear-gradient(180deg,#6d28d9,#5b21b6,#1e40af)}@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:var(--text-1)}.modal-close{background:none;border:none;color:var(--text-3);font-size:24px;cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:all .2s ease}.modal-close:hover{background:var(--surface-3);color:var(--text-1)}.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:var(--border-focus);background:var(--surface-3);box-shadow:var(--focus-ring)}.dropdown-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-placeholder);font-size:12px;pointer-events:none;transition:transform .2s ease,color .2s ease}.dropdown-wrapper:focus-within .dropdown-arrow{color:var(--border-focus);transform:translateY(-50%) rotate(180deg)}.dropdown-list{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--panel-1);border:1px solid var(--border-2);border-radius:var(--radius-md);max-height:220px;overflow-y:auto;z-index:100;box-shadow:var(--shadow-3);animation:dropdown-in .15s ease-out;scrollbar-width:auto;scrollbar-color:var(--scroll-thumb) transparent}.dropdown-list::-webkit-scrollbar{width:10px}.dropdown-list::-webkit-scrollbar-track{background:transparent}.dropdown-list::-webkit-scrollbar-thumb{background-color:var(--scroll-thumb);border-radius:999px;border:2px solid transparent;background-clip:padding-box}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{padding:11px 16px;color:var(--text-1);cursor:pointer;transition:all .15s ease;font-size:14px;border-bottom:1px solid var(--border-1);display:flex;align-items:center;gap:10px}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:var(--accent-soft);color:var(--accent-strong);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:var(--radius-md)}.cal-popup{display:flex;flex-direction:column;width:272px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:hidden;padding:12px;background:var(--panel-1);border:1px solid var(--border-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-2)}.cal-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-title{font-size:14px;font-weight:700;color:var(--text-1);white-space:nowrap}.cal-nav-group{display:flex;gap:4px}.cal-nav{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm);border:1px solid var(--border-3);background:var(--surface-1);color:var(--text-2);cursor:pointer;transition:all .15s ease}.cal-nav:hover{background:var(--accent-soft);border-color:var(--border-accent-hover);color:var(--accent-strong)}.cal-weekdays{flex:0 0 auto;display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.cal-weekdays span{text-align:center;font-size:var(--fs-1);line-height:1.4;font-weight:600;color:var(--text-placeholder);text-transform:uppercase}.cal-grid{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(7,1fr);gap:2px;scrollbar-width:auto;scrollbar-color:var(--accent) transparent}.cal-grid::-webkit-scrollbar{width:10px}.cal-grid::-webkit-scrollbar-track{background:transparent}.cal-grid::-webkit-scrollbar-thumb{background-color:var(--accent);border-radius:999px;border:2px solid transparent;background-clip:padding-box}.cal-day{height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-1);font-size:13px;font-family:inherit;cursor:pointer;transition:background .12s ease,color .12s ease}.cal-day:hover:not(:disabled):not(.selected){background:var(--surface-3)}.cal-day.other-month{color:var(--text-disabled)}.cal-day.today:not(.selected){color:var(--accent);font-weight:700;box-shadow:inset 0}.cal-day.selected{background:var(--grad-brand);color:#fff;font-weight:700}.cal-day:disabled{color:var(--text-disabled);cursor:not-allowed}.cal-foot{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-1)}.cal-link{background:none;border:none;color:var(--text-2);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;padding:3px 6px;border-radius:var(--radius-sm);transition:color .15s ease}.cal-link:hover{color:var(--text-1)}.cal-link.accent{color:var(--accent)}.cal-link.accent:hover{color:var(--accent-strong)}.details-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 13px;background:var(--accent-soft);border:1px solid var(--border-3);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:var(--hover-fill-accent);border-color:var(--accent);color:var(--hover-ink-accent)}.details-btn:hover .btn-arrow{transform:translate(3px)}.details-btn:active{transform:scale(.93);background:var(--accent-strong)}.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)}.pill-left{background:var(--surface-3);color:var(--text-2);border:1px solid var(--border-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:var(--surface-1);border:2px dashed var(--border-2);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:var(--fs-1)}td{padding:11px 10px;font-size:var(--fs-1)}.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 3px 10px #7c3aed38;flex-shrink:0;cursor:pointer;transition:box-shadow .2s,transform .15s}.avatar:hover{box-shadow:0;transform:scale(1.06)}.avatar:active{transform:scale(.96)}.profile-dropdown{position:absolute;top:calc(100% + 12px);right:0;left:auto;width:240px;max-width:calc(100vw - 24px);background:var(--panel-1);border:1px solid var(--border-2);border-radius:var(--radius-xl);overflow:hidden;z-index:2000;box-shadow:var(--shadow-3);animation:pd-drop-in .22s var(--ease-out) forwards;transform-origin:top right}@media (max-width: 768px){.profile-dropdown{position:fixed;top:calc(70px + env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));width:auto;max-width:none;transform-origin:top center}}.pd-hero{display:flex;align-items:center;gap:12px;padding:18px 16px 14px;background:var(--accent-soft);border-bottom:1px solid var(--border-1)}.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 3px 10px #7c3aed38;flex-shrink:0}.pd-info{display:flex;flex-direction:column;gap:2px;min-width:0}.pd-name{font-size:14px;font-weight:700;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-role{font-size:var(--fs-1);color:var(--accent-strong);text-transform:uppercase;letter-spacing:.5px}.pd-divider{height:1px;background:var(--border-1);margin:4px 0}.pd-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;background:transparent;border:none;color:var(--text-2);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:var(--accent-soft);color:var(--accent-strong);padding-left:20px}.pd-item:active{background:var(--accent-soft)}.pd-logout{color:var(--red);margin-bottom:4px}.pd-logout:hover{background:var(--red-soft);color:var(--red-strong);padding-left:20px}.pd-logout:active{background:var(--red-soft)}.tbl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 20px;gap:8px;border-top:1px solid var(--border-1);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:var(--text-2);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}.nc-card-header.nc-card-header--collapsed{margin-bottom:0}.nc-collapse-trigger{display:flex;align-items:center;justify-content:space-between;flex:1;gap:12px;min-width:0;padding:0;border:none;background:none;color:inherit;font-family:inherit;cursor:pointer;text-align:left}.nc-collapse-trigger .card-title{display:inline-flex;align-items:center;gap:8px;flex:1;min-width:0}.nc-collapse-trigger:hover .nc-header-toggle{background:var(--surface-1);color:var(--text-2)}.nc-header-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);color:var(--text-faint);flex-shrink:0;transition:background-color .2s ease,color .2s ease}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-container{z-index:1500}.dd-item{white-space:nowrap}.dd-check{display:none}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url("./media/inter-400-55WT6UWF.woff2") format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url("./media/inter-500-W62DVTXI.woff2") format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url("./media/inter-600-R6Y2SZCR.woff2") format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url("./media/inter-700-SU5XVJMF.woff2") format("woff2")}input::-ms-reveal,input::-ms-clear{display:none}:root{--brand-purple: #7c3aed;--brand-blue: #2563eb;--grad-brand: linear-gradient(135deg, #7c3aed, #2563eb);--bg-0: #f7f8fa;--bg-1: #f1f3f7;--bg-2: #e9ecf1;--green: #0f7a38;--green-strong: #166534;--green-soft: #dcfce7;--amber: #a94d09;--amber-strong: #92400e;--amber-soft: #fef3c7;--red: #c62828;--red-strong: #991b1b;--red-soft: #fee2e2;--orange: #b93c0a;--orange-soft: #ffedd5;--accent: #7c3aed;--accent-strong: #6d28d9;--accent-soft: #ede9fe;--tooltip-bg: var(--accent-soft);--tooltip-ink: var(--text-1);--tooltip-border: var(--border-accent-hover);--hover-fill-green: var(--green);--hover-ink-green: #fff;--hover-fill-red: var(--red);--hover-ink-red: #fff;--hover-fill-amber: var(--amber);--hover-ink-amber: #fff;--hover-fill-accent: var(--accent);--hover-ink-accent: #fff;--blue: #245ee0;--blue-strong: #1e40af;--blue-soft: #dbeafe;--teal: #0f766e;--teal-soft: #ccfbf1;--pink: #c51e63;--pink-soft: #fce7f3;--panel-1: #ffffff;--panel-2: #f7f8fa;--grad-danger: linear-gradient(135deg, #dc2626, #a81919);--grad-success: linear-gradient(135deg, #15803d, #116b30);--st-badge-violet: linear-gradient(145deg, #f4f1ff, #e9e3ff);--st-badge-green: linear-gradient(145deg, #e9fbf1, #d3f4e0);--st-badge-blue: linear-gradient(145deg, #ecf3ff, #dce9fe);--st-badge-amber: linear-gradient(145deg, #fff8ea, #fdedcf);--st-glyph-violet: #6d28d9;--st-glyph-green: #0f7a38;--st-glyph-blue: #1d4ed8;--st-glyph-amber: #a94d09;--text-1: #0f172a;--text-2: #334155;--text-3: #475569;--text-faint: #5e6b7d;--text-placeholder: #8a95a8;--text-disabled: #a3adbb;--surface-1: #f8fafc;--surface-2: #ffffff;--surface-3: #f1f5f9;--border-1: #eceff4;--border-2: #e2e8f0;--border-3: #7b8798;--border-focus: #7c3aed;--border-accent: rgba(124, 58, 237, .28);--border-accent-hover: rgba(124, 58, 237, .6);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 20px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .07);--shadow-2: 0 4px 10px rgba(15, 23, 42, .07), 0 10px 24px rgba(15, 23, 42, .07);--shadow-3: 0 8px 20px rgba(15, 23, 42, .1), 0 24px 56px rgba(15, 23, 42, .14);--focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px #7c3aed;--error-ring: 0 0 0 2px #ffffff, 0 0 0 4px #c62828;--scrim: rgba(15, 23, 42, .45);--scroll-thumb: rgba(124, 58, 237, .55);--scroll-track: rgba(15, 23, 42, .06);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-1: 12px;--fs-2: 13px;--fs-3: 14px;--fs-4: 16px;--fs-5: 18px;--fs-6: 20px;--fs-7: 24px;--fs-8: 28px;--lh-tight: 1.2;--lh-snug: 1.35;--lh-normal: 1.5;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 20px;--space-7: 24px;--space-8: 32px;--ease-out: cubic-bezier(.22, 1, .36, 1);color-scheme:light}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-0);color:var(--text-1);min-height:100vh}html[data-theme=dark] body{background:linear-gradient(135deg,var(--bg-0) 0%,var(--bg-1) 50%,var(--bg-2) 100%) fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes sidebar-in{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:none}}@keyframes nav-in{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}@keyframes fade-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes card-pop{0%{opacity:0;transform:translateY(28px) scale(.96)}60%{transform:translateY(-4px) scale(1.01)}to{opacity:1;transform:none}}@keyframes section-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.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}@keyframes bell-ring{0%{transform:rotate(0)}3%{transform:rotate(16deg)}7%{transform:rotate(-14deg)}11%{transform:rotate(10deg)}15%{transform:rotate(-7deg)}19%{transform:rotate(3deg)}23%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes badge-pulse{0%{box-shadow:0 2px 8px #7c3aed80,0 0 #7c3aed8c}70%{box-shadow:0 2px 8px #7c3aed80,0 0 0 8px #7c3aed00}to{box-shadow:0 2px 8px #7c3aed80,0 0 #7c3aed00}}@keyframes unread-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.6}}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.anim-bell-ring{animation:bell-ring 2.6s var(--ease-out) infinite;transform-origin:50% 12%}.anim-badge-pulse{animation:badge-pulse 2s ease-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.anim-unread-pulse{animation:unread-pulse 1.8s ease-in-out infinite}@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}.anim-bell-ring,.anim-badge-pulse,.anim-unread-pulse{animation:none}.drawer-panel,.drawer-scrim{animation-duration:.01s}}html[data-theme=dark]{color-scheme:dark;--brand-purple: #7c3aed;--brand-blue: #2563eb;--grad-brand: linear-gradient(135deg, #7c3aed, #2563eb);--bg-0: #0a0a16;--bg-1: #14142c;--bg-2: #0e0e1e;--green: #4ade80;--green-strong: #86efac;--green-soft: rgba(74, 222, 128, .18);--amber: #fbbf24;--amber-strong: #fcd34d;--amber-soft: rgba(251, 191, 36, .18);--red: #f87171;--red-strong: #fca5a5;--red-soft: rgba(248, 113, 113, .18);--orange: #fb923c;--orange-soft: rgba(251, 146, 60, .18);--accent: #c4b5fd;--accent-strong: #a78bfa;--accent-soft: rgba(124, 58, 237, .18);--tooltip-bg: #2a2250;--tooltip-ink: var(--text-1);--tooltip-border: var(--border-accent-hover);--hover-fill-green: rgba(74, 222, 128, .3);--hover-ink-green: var(--green);--hover-fill-red: rgba(248, 113, 113, .3);--hover-ink-red: var(--red);--hover-fill-amber: rgba(251, 191, 36, .3);--hover-ink-amber: var(--amber);--hover-fill-accent: rgba(167, 139, 250, .3);--hover-ink-accent: var(--accent);--blue: #60a5fa;--blue-strong: #93c5fd;--blue-soft: rgba(96, 165, 250, .18);--teal: #2dd4bf;--teal-soft: rgba(45, 212, 191, .18);--pink: #f472b6;--pink-soft: rgba(244, 114, 182, .18);--panel-1: #17172f;--panel-2: #101020;--grad-danger: linear-gradient(135deg, #dc2626, #a81919);--grad-success: linear-gradient(135deg, #15803d, #116b30);--st-badge-violet: linear-gradient(145deg, #4a2a9e, #3f2588);--st-badge-green: linear-gradient(145deg, #17603e, #205d3e);--st-badge-blue: linear-gradient(145deg, #1b4a86, #1a4275);--st-badge-amber: linear-gradient(145deg, #7a4a12, #6b400f);--st-glyph-violet: #ffffff;--st-glyph-green: #ffffff;--st-glyph-blue: #ffffff;--st-glyph-amber: #ffffff;--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, .48);--text-placeholder: rgba(255, 255, 255, .38);--text-disabled: rgba(255, 255, 255, .3);--surface-1: rgba(124, 124, 255, .06);--surface-2: rgba(124, 124, 255, .09);--surface-3: rgba(124, 124, 255, .13);--border-1: rgba(139, 139, 255, .22);--border-2: rgba(139, 139, 255, .34);--border-3: rgba(139, 139, 255, .64);--border-focus: #a78bfa;--border-accent: rgba(124, 58, 237, .3);--border-accent-hover: rgba(124, 58, 237, .6);--shadow-1: 0 6px 16px rgba(0, 0, 0, .45);--shadow-2: 0 16px 48px rgba(0, 0, 0, .6);--shadow-3: 0 32px 80px rgba(0, 0, 0, .7);--focus-ring: 0 0 0 3px rgba(167, 139, 250, .65);--error-ring: 0 0 0 3px rgba(248, 113, 113, .55);--scrim: rgba(0, 0, 0, .6);--scroll-thumb: rgba(167, 139, 250, .55);--scroll-track: rgba(255, 255, 255, .06)}html[data-theme=dark] .btn-primary:hover{box-shadow:0 6px 16px #7c3aed66}html[data-theme=dark] .nb-bell,html[data-theme=dark] .nb-badge{background:#b45309;color:#fff}html[data-theme=dark] .nb-bell:hover{background:#92400e}
