@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-sidebar:#fff;--bg-input:#fff;--border-color:#e2e8f0;--border-color-active:#2563eb;--border-color-hover:#cbd5e1;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-glow:#2563eb14;--secondary:#64748b;--secondary-hover:#475569;--success:#16a34a;--warning:#ea580c;--danger:#dc2626;--info:#0284c7;--font-sans:var(--font-geist-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:var(--font-geist-mono), monospace;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000d;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--transition-fast:.1s ease;--transition-normal:.18s ease}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}body:before,body:after{display:none!important}a{color:inherit;text-decoration:none}.app-container{min-height:100vh;display:flex}.sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);z-index:50;flex-direction:column;width:250px;height:100vh;padding:1.5rem 1rem;transition:transform .25s ease-out;display:flex;position:fixed}.logo-container{align-items:center;gap:.5rem;margin-bottom:2rem;padding:0 .5rem;display:flex}.logo-text{letter-spacing:-.5px;color:var(--primary);font-size:1.15rem;font-weight:700}.nav-list{flex-direction:column;flex-grow:1;gap:.25rem;list-style:none;display:flex}.nav-item a{color:var(--text-secondary);border-radius:var(--radius-sm);transition:var(--transition-fast);border:1px solid #0000;align-items:center;gap:.65rem;padding:.65rem .75rem;font-size:.9rem;font-weight:500;display:flex}.nav-item a:hover{color:var(--primary);background-color:var(--bg-primary)}.nav-item.active a{color:var(--primary);background-color:#2563eb0f;border:1px solid #2563eb1f;font-weight:600}.sidebar-footer{color:var(--text-muted);text-align:center;border-top:1px solid var(--border-color);padding-top:1rem;font-size:.75rem}.main-wrapper{flex-direction:column;flex-grow:1;min-height:100vh;margin-left:250px;padding-top:60px;transition:margin-left .25s ease-out;display:flex}.app-container.sidebar-active .sidebar{transform:translate(0)}.app-container.sidebar-active .main-wrapper{margin-left:250px}.app-container.sidebar-active .app-header{left:250px}.app-container.sidebar-inactive .sidebar{transform:translate(-100%)}.app-container.sidebar-inactive .main-wrapper{margin-left:0}.app-container.sidebar-inactive .app-header{left:0}.main-content{flex-grow:1;padding:2rem}.glass-panel{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.5rem;animation:.18s ease-out fadeIn}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.stat-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;gap:.25rem;padding:1.25rem;display:flex;position:relative}.stat-card:hover{border-color:var(--border-color-hover);box-shadow:var(--shadow-md)}.stat-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;display:flex}.stat-icon-wrapper{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:32px;height:32px;display:flex}.stat-value{color:var(--text-primary);margin-top:.25rem;font-size:1.75rem;font-weight:700}.icon-primary{color:var(--primary);background-color:#2563eb1a}.icon-success{color:var(--success);background-color:#16a34a1a}.icon-warning{color:var(--warning);background-color:#ea580c1a}.icon-danger{color:var(--danger);background-color:#dc26261a}.icon-info{color:var(--info);background-color:#0284c71a}.table-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.data-table th{color:var(--text-secondary);border-bottom:2px solid var(--border-color);text-transform:uppercase;letter-spacing:.5px;background-color:#f1f5f9;padding:.75rem 1rem;font-size:.8rem;font-weight:700}.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);background-color:var(--bg-secondary);padding:.75rem 1rem}.data-table tbody tr{transition:background-color var(--transition-fast)}.data-table tbody tr:nth-child(2n) td{background-color:#f8fafc}.data-table tbody tr:hover td{background-color:#f1f5f9!important}.badge{border-radius:var(--radius-sm);align-items:center;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-yes{color:#166534;background-color:#dcfce7;border:1px solid #bbf7d0}.badge-no{color:#991b1b;background-color:#fee2e2;border:1px solid #fecaca}.badge-hostel{color:#1e40af;background-color:#dbeafe;border:1px solid #bfdbfe}.badge-day{color:#0369a1;background-color:#e0f2fe;border:1px solid #bae6fd}.form-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.form-section-title{color:#1e3a8a;border-bottom:2px solid #e2e8f0;align-items:center;gap:.5rem;margin:1.5rem 0 1rem;padding-bottom:.4rem;font-size:1rem;font-weight:700;display:flex}.form-section-title:first-of-type{margin-top:0}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-label{color:var(--text-secondary);align-items:center;gap:.25rem;font-size:.8rem;font-weight:600;display:flex}.required-star{color:var(--danger)}.form-control{background-color:var(--bg-input);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #cbd5e1;outline:none;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2563eb26}.form-control:hover:not(:focus){border-color:var(--border-color-hover)}.form-control::placeholder{color:#94a3b8}.form-control:disabled{color:var(--text-muted);cursor:not-allowed;border-color:var(--border-color);background-color:#f1f5f9}select.form-control{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23475569' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.25rem}.documents-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.doc-checkbox-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.doc-info{flex-direction:column;display:flex}.doc-name{color:var(--text-primary);font-size:.85rem;font-weight:600}.doc-label{color:var(--text-muted);font-size:.7rem}.yes-no-switch{border-radius:var(--radius-sm);background-color:#f8fafc;border:1px solid #cbd5e1;display:flex;overflow:hidden}.yes-no-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;outline:none;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.yes-no-btn.active.yes{background-color:var(--success);color:#fff}.yes-no-btn.active.no{background-color:var(--danger);color:#fff}.btn-group{align-items:center;gap:.5rem;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{color:var(--text-secondary);background-color:#fff;border:1px solid #cbd5e1}.btn-secondary:hover{color:var(--text-primary);background-color:#f8fafc;border-color:#94a3b8}.btn-danger{color:#b91c1c;background-color:#fee2e2;border:1px solid #fecaca}.btn-danger:hover{background-color:#fca5a5}.search-filter-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.search-input-wrapper{flex-grow:1;min-width:240px;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.search-input{padding-left:2rem}.filter-select{width:145px;font-size:.85rem}.pagination-container{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-top:1rem;font-size:.85rem;display:flex}.pagination-buttons{gap:.25rem;display:flex}@keyframes fadeIn{0%{opacity:.7;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.page-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.page-title-section{flex-direction:column;display:flex}.page-title{letter-spacing:-.5px;color:#1e3a8a;font-size:1.5rem;font-weight:800}.page-subtitle{color:var(--text-secondary);font-size:.85rem}.empty-state{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}.empty-title{color:var(--text-primary);font-size:1.1rem;font-weight:700}.loading-spinner{border:3px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;margin:2rem auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.report-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.report-section{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:1.25rem}.report-item{border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:.6rem 0;display:flex}.report-item:last-child{border-bottom:none}.report-key{color:var(--text-secondary);font-size:.85rem;font-weight:600}.report-value{color:var(--text-primary);font-size:.85rem;font-weight:700}.app-header{background-color:var(--bg-sidebar);border-bottom:1px solid var(--border-color);z-index:45;justify-content:space-between;align-items:center;height:60px;padding:0 1.5rem;transition:left .25s ease-out;display:flex;position:fixed;top:0;right:0}.hamburger-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;display:flex}.hamburger-btn:hover{background-color:var(--bg-primary);color:var(--primary)}.header-brand{display:none}.sidebar-overlay{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0f172a66;animation:.15s ease-out fadeInFast;display:none;position:fixed;inset:0}@keyframes fadeInFast{0%{opacity:0}to{opacity:1}}.sidebar{transition:transform .25s ease-out}@media (max-width:768px){.header-brand{align-items:center;gap:.4rem;display:flex}.app-header{padding:0 1rem;left:0!important}.sidebar-overlay.active{display:block}.sidebar{height:100vh;box-shadow:var(--shadow-lg);z-index:50;position:fixed;transform:translate(-100%)!important}.app-container.sidebar-active .sidebar{transform:translate(0)!important}.main-wrapper{padding-top:60px;margin-left:0!important}.main-content{padding:1.25rem}.glass-panel{margin-bottom:1rem;padding:1.25rem}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem}.page-header .btn-group{width:100%}.page-header .btn-group .btn{flex-grow:1}.page-header .btn-group a.btn{text-align:center;flex-grow:1}.form-grid{gap:.75rem;grid-template-columns:1fr!important}.documents-grid{gap:.5rem;grid-template-columns:1fr!important}.stats-grid{grid-template-columns:1fr 1fr;gap:.75rem}.report-grid{gap:1rem;grid-template-columns:1fr!important}.table-wrapper{border-radius:var(--radius-sm);position:relative}.search-filter-bar{flex-direction:column;align-items:stretch;gap:.5rem}.filter-select{width:100%}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.data-table th,.data-table td{padding:.5rem;font-size:.8rem}.yes-no-btn{padding:.2rem .4rem;font-size:.7rem}}
