*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a2e;background:#f4f6f9;min-height:100vh;font-family:Segoe UI,system-ui,sans-serif}.page-wrapper{max-width:780px;margin:0 auto;padding:2rem 1rem 4rem}.card{background:#fff;border-radius:10px;margin-bottom:1.5rem;padding:2rem;box-shadow:0 2px 12px #00000014}.page-header{text-align:center;margin-bottom:2rem}.page-header img{height:60px;margin-bottom:1rem}.page-header h1{color:#005a9c;font-size:1.6rem;font-weight:700}.page-header p{color:#555;margin-top:.4rem;font-size:.95rem}.section-title{color:#005a9c;border-bottom:2px solid #e8f0fe;margin-bottom:1.2rem;padding-bottom:.4rem;font-size:1rem;font-weight:700}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-grid.full{grid-template-columns:1fr}@media (width<=600px){.form-grid{grid-template-columns:1fr}}.field{flex-direction:column;gap:.3rem;display:flex}.field.span2{grid-column:span 2}@media (width<=600px){.field.span2{grid-column:span 1}}label{color:#333;font-size:.85rem;font-weight:600}label .req{color:#c0392b;margin-left:2px}label .hint{color:#777;font-size:.8rem;font-weight:400;display:block}input,select,textarea{background:#fff;border:1px solid #cdd5e0;border-radius:6px;width:100%;padding:.55rem .75rem;font-size:.9rem;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:#005a9c;outline:none;box-shadow:0 0 0 3px #005a9c1a}.error-msg{color:#c0392b;font-size:.78rem}.checkbox-group{flex-direction:column;gap:.5rem;display:flex}.checkbox-item{align-items:center;gap:.5rem;font-size:.88rem;display:flex}.checkbox-item input[type=checkbox]{accent-color:#005a9c;width:16px;height:16px}.radio-group{flex-direction:column;gap:.5rem;display:flex}.radio-item{align-items:flex-start;gap:.5rem;font-size:.88rem;display:flex}.radio-item input[type=radio]{accent-color:#005a9c;width:16px;height:16px;margin-top:2px}.info-box{color:#1a4a7a;background:#e8f4fd;border-left:4px solid #005a9c;border-radius:4px;margin-top:.4rem;padding:.75rem 1rem;font-size:.85rem}.file-upload-area{text-align:center;cursor:pointer;color:#666;border:2px dashed #cdd5e0;border-radius:8px;padding:1.2rem;font-size:.85rem;transition:border-color .2s}.file-upload-area:hover{border-color:#005a9c}.file-upload-area.has-file{color:#27ae60;background:#f0fff4;border-color:#27ae60}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.8rem;font-size:.95rem;font-weight:600;transition:background .2s,opacity .2s;display:inline-flex}.btn-primary{color:#fff;background:#005a9c}.btn-primary:hover{background:#004a82}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{color:#fff;background:#c0392b}.btn-danger:hover{background:#a93226}.btn-success{color:#fff;background:#27ae60}.btn-success:hover{background:#219a52}.btn-outline{color:#005a9c;background:0 0;border:1px solid #005a9c}.form-actions{justify-content:flex-end;margin-top:1.5rem;display:flex}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{color:#fff;background:#005a9c;flex-direction:column;flex-shrink:0;gap:.5rem;width:220px;padding:1.5rem 1rem;display:flex}.admin-sidebar h2{opacity:.9;margin-bottom:1rem;font-size:1rem}.admin-sidebar a{color:#fff;opacity:.85;border-radius:6px;align-items:center;padding:.5rem .75rem;font-size:.9rem;text-decoration:none;display:flex}.admin-sidebar a:hover,.admin-sidebar a.active{opacity:1;background:#ffffff26}.admin-main{flex:1;min-width:0;padding:2rem;overflow-y:auto}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:1.5rem;display:flex}.admin-header-date{color:#999;white-space:nowrap;font-size:.8rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{text-align:center;background:#fff;border-radius:8px;padding:1.2rem;box-shadow:0 1px 6px #00000012}.stat-card .num{color:#005a9c;font-size:2rem;font-weight:700}.stat-card .label{color:#666;margin-top:.2rem;font-size:.8rem}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:600px;font-size:.88rem}th{text-align:left;color:#333;white-space:nowrap;background:#f0f4f8;padding:.7rem 1rem;font-weight:600}td{vertical-align:middle;border-bottom:1px solid #eee;padding:.7rem 1rem}tr:hover td{background:#fafbfc}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}@media (width<=900px){.admin-layout{flex-direction:column}.admin-sidebar{flex-flow:wrap;align-items:center;gap:.4rem;width:100%;padding:.75rem 1rem}.admin-sidebar>div:first-child,.admin-sidebar>div:nth-child(2){display:none}.admin-sidebar a{padding:.4rem .7rem;font-size:.82rem}.admin-main{padding:1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.6rem}.stat-card{padding:.8rem .5rem}.stat-card .num{font-size:1.5rem}}@media (width<=600px){.admin-main{padding:.75rem}.admin-header-date{display:none}table{min-width:420px;font-size:.78rem}th,td{padding:.45rem .5rem}th:nth-child(3),td:nth-child(3),th:nth-child(5),td:nth-child(5){display:none}.btn{padding:.5rem 1rem;font-size:.85rem}}.badge{border-radius:20px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-pending{color:#856404;background:#fff3cd}.badge-approved{color:#0f5132;background:#d1e7dd}.badge-rejected{color:#842029;background:#f8d7da}.success-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.success-icon{margin-bottom:1rem;font-size:4rem}
