@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap");:root{--primary:#102a43;--primary-light:#243b53;--accent:#d32f2f;--success:#1b5e20;--bg-gradient:linear-gradient(135deg,#f0f4f8,#d9e2ec);--white:#fff;--text-main:#102a43;--text-muted:#627d98;--border:#bcccdc;--shadow-sm:0 2px 4px rgba(0,0,0,.05);--shadow-md:0 10px 15px -3px rgba(16,42,67,.1),0 4px 6px -2px rgba(16,42,67,.05);--shadow-lg:0 20px 25px -5px rgba(16,42,67,.15),0 10px 10px -5px rgba(16,42,67,.04);--radius-sm:6px;--radius-md:12px;--radius-lg:20px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{text-size-adjust:100%}body{font-family:Inter,sans-serif;background:var(--bg-gradient);background-attachment:fixed;color:var(--text-main);min-height:100vh;display:flex;flex-direction:column;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}header{justify-content:space-between;padding:1rem 1.5rem;background:hsla(0,0%,100%,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid hsla(0,0%,100%,.4);box-shadow:var(--shadow-sm);position:-webkit-sticky;position:sticky;top:0;z-index:100;margin-bottom:1.5rem}.logo-container,header{display:flex;align-items:center}.logo-container{width:clamp(120px,35vw,200px)}.logo-container img{width:100%;height:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.05))}.container{max-width:800px;width:100%;margin:0 auto 3rem;padding:0 1rem;flex:1 1}.steps-tracker{display:flex;justify-content:space-between;position:relative;margin-bottom:2rem;padding:0 .5rem}.steps-tracker:before{content:"";position:absolute;top:50%;left:0;right:0;height:3px;background:var(--border);transform:translateY(-50%);z-index:1}.step-indicator{position:relative;z-index:2;width:36px;height:36px;border-radius:50%;background:var(--white);border:3px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:Outfit,sans-serif;font-size:.85rem;color:var(--text-muted);transition:all .3s cubic-bezier(.4,0,.2,1)}.step-indicator.active{border-color:var(--primary);background:var(--primary);color:var(--white);box-shadow:0 0 0 5px rgba(16,42,67,.15)}.step-indicator.completed{border-color:var(--success);background:var(--success);color:var(--white)}.card{background:hsla(0,0%,100%,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:1.75rem 1.5rem;box-shadow:var(--shadow-lg);border:1px solid hsla(0,0%,100%,.6)}.card-title{font-family:Outfit,sans-serif;font-size:clamp(1.25rem,5vw,1.75rem);color:var(--primary);margin-bottom:1.25rem;font-weight:700;position:relative;padding-bottom:.5rem;line-height:1.2}.card-title:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:4px;background:var(--accent);border-radius:2px}.form-step{display:none;animation:fadeIn .4s ease-out forwards}.form-step.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.25rem;gap:1.25rem;margin-bottom:1.5rem}.form-group-full{grid-column:span 2}.form-group{display:flex;flex-direction:column}label{font-weight:600;font-size:.875rem;color:var(--primary-light);margin-bottom:.4rem}.required-asterisk{color:var(--accent);margin-left:.25rem}input[type=date],input[type=email],input[type=password],input[type=tel],input[type=text],select,textarea{font-family:Inter,sans-serif;font-size:1rem;padding:.8rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background-color:var(--white);color:var(--text-main);outline:none;transition:border-color .2s ease,box-shadow .2s ease;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:48px}input[type=date]:focus,input[type=email]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=text]:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(16,42,67,.15)}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23627d98' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}textarea{resize:vertical;min-height:90px}input:user-invalid,select:user-invalid,textarea:user-invalid{border-color:#d93025;background-color:#fce8e6}input:user-invalid+.error-msg,select:user-invalid+.error-msg,textarea:user-invalid+.error-msg{display:block}input.user-invalid-fallback,select.user-invalid-fallback{border-color:#d93025;background-color:#fce8e6}.error-msg{display:none;color:#d93025;font-size:.75rem;font-weight:500;margin-top:.3rem}.radio-group{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.radio-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;font-weight:500;padding:.35rem 0}.radio-option input{width:20px;height:20px;accent-color:var(--primary);flex-shrink:0}.file-upload-box{border:2px dashed var(--border);border-radius:var(--radius-md);padding:1.5rem 1rem;text-align:center;background:rgba(240,244,248,.5);cursor:pointer;transition:border-color .3s ease,background .3s ease;position:relative}.file-upload-box:focus-within,.file-upload-box:hover{border-color:var(--primary);background:rgba(16,42,67,.05)}.file-upload-box input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-icon{font-size:2rem;margin-bottom:.5rem;display:block}.file-upload-text{font-size:.875rem;color:var(--text-muted)}.file-upload-text strong{color:var(--primary)}.file-name-preview{margin-top:.5rem;font-size:.85rem;font-weight:600;color:var(--success);display:none;word-break:break-all}.form-navigation{display:flex;justify-content:space-between;margin-top:1.75rem;gap:.75rem}.btn{font-family:Outfit,sans-serif;font-weight:600;font-size:.95rem;padding:.75rem 1.4rem;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;text-decoration:none;min-height:48px;white-space:nowrap;-webkit-tap-highlight-color:transparent}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:focus-visible,.btn-primary:hover{background:var(--primary-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--white);color:var(--primary);border:1.5px solid var(--border)}.btn-secondary:focus-visible,.btn-secondary:hover{background:#f0f4f8;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.success-card{text-align:center;padding:2.5rem 1.5rem}.success-icon{width:72px;height:72px;background:#e6f4ea;color:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 1.25rem}.success-card p{color:var(--text-muted);margin-bottom:2rem;line-height:1.6}.admin-container{max-width:1200px;width:100%;margin:0 auto 3rem;padding:0 1rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:.75rem}.admin-title{font-family:Outfit,sans-serif;font-size:clamp(1.25rem,5vw,2rem);font-weight:800;color:var(--primary);line-height:1.2}.admin-controls{display:flex;gap:.75rem;width:100%;margin-bottom:1.25rem;flex-wrap:wrap}.search-box{flex:1 1;min-width:0}.filter-box{width:140px;flex-shrink:0}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow-md)}table{width:100%;border-collapse:collapse;text-align:left;min-width:650px}td,th{padding:.85rem 1rem;border-bottom:1px solid var(--border);font-size:.9rem;vertical-align:middle}th{background-color:rgba(240,244,248,.8);color:var(--primary-light);font-weight:700;font-family:Outfit,sans-serif;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;white-space:nowrap}tr:last-child td{border-bottom:none}tr:hover td{background-color:rgba(240,244,248,.3)}.badge{display:inline-block;padding:.25rem .65rem;border-radius:50px;font-size:.75rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.badge-pending{background-color:#ffeeb3;color:#b78103}.badge-approved{background-color:#e6f4ea;color:var(--success)}.badge-rejected{background-color:#fce8e6;color:#d93025}.modal{display:none;position:fixed;inset:0;background-color:rgba(16,42,67,.65);z-index:1000;justify-content:center;align-items:flex-end;padding:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal.active{display:flex}.modal-content{background:var(--white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-lg);border:1px solid var(--border);animation:sheetSlideUp .3s ease-out}@keyframes sheetSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;position:-webkit-sticky;position:sticky;top:0;background:var(--white);z-index:1}.modal-header:before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:36px;height:4px;background:var(--border);border-radius:2px}.modal-header h3{font-family:Outfit,sans-serif;font-size:clamp(1rem,4vw,1.4rem);color:var(--primary);font-weight:700;line-height:1.3;padding-top:8px}.close-btn{font-size:1.5rem;background:none;border:none;cursor:pointer;color:var(--text-muted);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);flex-shrink:0}.close-btn:hover{color:var(--accent);background:rgba(211,47,47,.05)}.modal-body{padding:1.25rem}.detail-section{margin-bottom:1.75rem}.detail-section h4{font-family:Outfit,sans-serif;color:var(--primary-light);border-bottom:2px solid var(--border);padding-bottom:.25rem;margin-bottom:.875rem;font-size:1rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1rem;gap:1rem}.detail-item label{color:var(--text-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-bottom:.2rem}.detail-item span{font-size:.9rem;font-weight:500;color:var(--text-main);word-break:break-word}.modal-footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:1rem 1.25rem max(1rem,env(safe-area-inset-bottom));position:-webkit-sticky;position:sticky;bottom:0;background:var(--white)}.status-actions{display:flex;gap:.5rem;flex-wrap:wrap}.text-center{text-align:center}.mt-4{margin-top:1rem}.no-data{text-align:center;padding:2.5rem 1.5rem;color:var(--text-muted)}@media (max-width:479px){header{padding:.75rem 1rem;margin-bottom:1rem}.container{margin-bottom:2rem}.admin-container,.container{padding:0 .75rem}.card{padding:1.25rem 1rem;border-radius:var(--radius-md)}.card-title{font-size:1.2rem}.form-grid{grid-template-columns:1fr;gap:1rem}.form-group-full{grid-column:span 1}.form-navigation{flex-direction:column-reverse}.form-navigation .btn{width:100%}.status-actions{width:100%;flex-direction:column}.status-actions .btn{width:100%;justify-content:center}.admin-title{font-size:1.2rem}.admin-controls{flex-direction:column}.filter-box{width:100%}.success-card{padding:2rem 1rem}.success-icon{width:60px;height:60px;font-size:2rem}.steps-tracker{padding:0;margin-bottom:1.5rem}.step-indicator{width:32px;height:32px;font-size:.8rem}}@media (min-width:480px) and (max-width:767px){.form-grid{grid-template-columns:1fr;gap:1.1rem}.form-group-full{grid-column:span 1}.card{padding:1.5rem 1.25rem}.form-navigation{gap:.75rem}.admin-controls{flex-direction:column}.filter-box{width:100%}}@media (min-width:768px) and (max-width:1023px){.card{padding:2rem 1.75rem}.form-grid{grid-template-columns:1fr 1fr}.admin-container{padding:0 1.25rem}}@media (min-width:768px){.modal{align-items:center;padding:1.5rem}.modal-content{border-radius:var(--radius-lg);max-width:820px;width:100%;animation:modalSlide .3s ease-out}@keyframes modalSlide{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header:before{display:none}.modal-header{padding:1.5rem 2rem;position:static}.modal-header h3{padding-top:0}.modal-body{padding:2rem}.modal-footer{position:static;padding:1.5rem 2rem}.card{padding:2.5rem}.admin-container,.container{padding:0 1.5rem}.status-actions .btn{width:auto}}@media (min-height:900px){.modal-content{max-height:80vh}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}