@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--primary:#0b4f6c;--primary-dark:#083d56;--primary-light:#1a6b8f;--secondary:#2f6690;--accent:#d9eaf4;--accent-dark:#b8d5ea;--bg:#f8fafc;--bg-white:#fff;--border:#d1d5db;--border-dark:#9ca3af;--text:#1f2937;--text-muted:#6b7280;--text-light:#9ca3af;--success:#16a34a;--success-bg:#dcfce7;--error:#dc2626;--error-bg:#fee2e2;--warning:#d97706;--warning-bg:#fef3c7;--info:#0369a1;--info-bg:#e0f2fe;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000d;--shadow-lg:0 10px 30px #0000001a, 0 4px 8px #0000000f;--radius-sm:4px;--radius:8px;--radius-lg:12px;--radius-xl:16px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text);font-weight:600;line-height:1.3}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}input,select,textarea{color:var(--text);background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--radius-sm);appearance:none;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0b4f6c1f}input::placeholder,textarea::placeholder{color:var(--text-light)}input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--primary);appearance:auto;-webkit-appearance:checkbox;padding:0}input[type=file]{cursor:pointer;padding:6px 10px}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}textarea{resize:vertical;min-height:100px}label{color:var(--text);margin-bottom:5px;font-size:13px;font-weight:500;display:block}.btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1.5px solid #0000;justify-content:center;align-items:center;gap:7px;padding:9px 20px;font-family:inherit;font-size:14px;font-weight:500;line-height:1;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.btn-secondary{background:var(--secondary);color:#fff;border-color:var(--secondary)}.btn-outline{color:var(--primary);border-color:var(--primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--accent)}.btn-ghost{color:var(--text-muted);border-color:var(--border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg);color:var(--text)}.btn-danger{background:var(--error);color:#fff;border-color:var(--error)}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-sm{padding:6px 14px;font-size:13px}.btn-lg{padding:12px 28px;font-size:15px}.btn-icon{border-radius:var(--radius-sm);padding:8px}.card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px}.card-interactive{transition:transform .15s,box-shadow .15s}.card-interactive:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;display:flex}.card-title{color:var(--text);font-size:16px;font-weight:600}.form-group{margin-bottom:18px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.form-error{color:var(--error);align-items:center;gap:4px;margin-top:4px;font-size:12px;display:flex}.form-hint{color:var(--text-muted);margin-top:3px;font-size:12px}input.error,select.error,textarea.error{border-color:var(--error)}.section-header{background:var(--primary);color:#fff;border-radius:var(--radius-sm) var(--radius-sm) 0 0;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:0;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.section-body{border:1.5px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--bg-white);border-top:none;margin-bottom:24px;padding:20px}.table-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead{background:var(--accent)}th{text-align:left;color:var(--primary);text-transform:uppercase;letter-spacing:.4px;border-bottom:1.5px solid var(--border);white-space:nowrap;padding:11px 14px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:10px 14px}tr:last-child td{border-bottom:none}tr:hover td{background:#fafbfd}.badge{text-transform:uppercase;letter-spacing:.3px;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-review{background:var(--warning-bg);color:var(--warning)}.badge-selected{background:var(--success-bg);color:var(--success)}.badge-rejected{background:var(--error-bg);color:var(--error)}.badge-hold{color:var(--text-muted);background:#f3f4f6}.alert{border-radius:var(--radius-sm);align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:13.5px;display:flex}.alert-success{background:var(--success-bg);color:#15803d;border:1px solid #86efac}.alert-error{background:var(--error-bg);color:#991b1b;border:1px solid #fca5a5}.alert-info{background:var(--info-bg);color:#075985;border:1px solid #7dd3fc}.alert-warning{background:var(--warning-bg);color:#92400e;border:1px solid #fcd34d}.required:after{content:" *";color:var(--error)}.spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.spinner-dark{border-color:#0b4f6c33;border-top-color:var(--primary)}@keyframes spin{to{transform:rotate(360deg)}}.container{max-width:1200px;margin:0 auto;padding:0 20px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.text-sm{font-size:12px}.text-muted{color:var(--text-muted)}.text-center{text-align:center}.w-full{width:100%}.portal-header{background:var(--primary);color:#fff;z-index:100;position:sticky;top:0;box-shadow:0 2px 8px #00000026}.portal-header-inner{align-items:center;gap:16px;max-width:1200px;height:64px;margin:0 auto;padding:0 20px;display:flex}.portal-header .logo-block{align-items:center;gap:12px;display:flex}.portal-header .logo-text h1{color:#fff;font-size:15px;font-weight:700;line-height:1.2}.portal-header .logo-text p{color:#ffffffbf;font-size:11px}.portal-nav{gap:6px;margin-left:auto;display:flex}.portal-nav a{color:#ffffffd9;border-radius:var(--radius-sm);padding:6px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s}.portal-nav a:hover,.portal-nav a.active{color:#fff;background:#ffffff1f}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{background:var(--primary);flex-direction:column;flex-shrink:0;width:240px;height:100vh;display:flex;position:fixed;overflow-y:auto}.admin-sidebar-logo{border-bottom:1px solid #ffffff1f;padding:20px 20px 16px}.admin-sidebar-logo h2{color:#fff;font-size:14px;font-weight:700;line-height:1.3}.admin-sidebar-logo p{color:#fff9;margin-top:2px;font-size:11px}.admin-nav{flex:1;padding:14px 10px}.admin-nav a{border-radius:var(--radius-sm);color:#ffffffbf;align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.admin-nav a:hover{color:#fff;background:#ffffff1a}.admin-nav a.active{color:#fff;background:#ffffff29}.admin-nav-section{text-transform:uppercase;letter-spacing:.8px;color:#fff6;margin-top:4px;padding:12px 12px 4px;font-size:10px;font-weight:700}.admin-content{flex-direction:column;flex:1;min-height:100vh;margin-left:240px;display:flex}.admin-topbar{background:var(--bg-white);border-bottom:1px solid var(--border);z-index:50;height:56px;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:0 28px;display:flex;position:sticky;top:0}.admin-page{flex:1;padding:28px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:20px;display:flex}.stat-card .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:500}.stat-card .stat-value{color:var(--primary);font-size:28px;font-weight:700;line-height:1}.stat-card .stat-icon{border-radius:var(--radius-sm);background:var(--accent);width:40px;height:40px;color:var(--primary);justify-content:center;align-items:center;margin-bottom:4px;display:flex}.file-upload-zone{border:2px dashed var(--border-dark);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--bg);padding:28px 20px;transition:all .15s}.file-upload-zone:hover,.file-upload-zone.drag-over{border-color:var(--primary);background:var(--accent)}.file-upload-zone .upload-icon{color:var(--text-muted);margin-bottom:10px}.file-upload-zone p{color:var(--text-muted);font-size:13px}.file-upload-zone .upload-hint{color:var(--text-light);margin-top:4px;font-size:11.5px}.file-preview{background:var(--accent);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-top:8px;padding:8px 12px;display:flex}.file-preview .file-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.file-preview .file-size{color:var(--text-muted);flex-shrink:0;font-size:11px}.progress-steps{align-items:center;gap:0;margin-bottom:32px;padding:4px 0;display:flex;overflow-x:auto}.step-item{flex:1;align-items:center;min-width:80px;display:flex}.step-circle{border:2px solid var(--border);background:var(--bg-white);width:32px;height:32px;color:var(--text-muted);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .2s;display:flex;position:relative}.step-circle.active{border-color:var(--primary);background:var(--primary);color:#fff}.step-circle.done{border-color:var(--success);background:var(--success);color:#fff}.step-line{background:var(--border);flex:1;height:2px;margin:0 -1px}.step-line.done{background:var(--success)}.step-line.active{background:var(--primary)}.step-label{color:var(--text-muted);text-align:center;white-space:nowrap;margin-top:6px;font-size:11px}.step-wrapper{flex-direction:column;flex:1;align-items:center;display:flex}.pagination{justify-content:center;align-items:center;gap:4px;margin-top:20px;display:flex}.page-btn{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-white);width:34px;height:34px;color:var(--text);justify-content:center;align-items:center;font-size:13px;transition:all .12s;display:flex}.page-btn:hover{background:var(--accent);border-color:var(--primary)}.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.divider{border:none;border-top:1px solid var(--border);margin:24px 0}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 37%,#f0f0f0 63%) 0 0/400% 100%;animation:1.4s infinite skeleton}@keyframes skeleton{0%{background-position:100%}to{background-position:0%}}@media (max-width:768px){.form-row,.form-row-3{grid-template-columns:1fr}.admin-sidebar{display:none}.admin-content{margin-left:0}.stats-grid{grid-template-columns:1fr 1fr}.portal-header-inner{height:56px}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.container{padding:0 14px}.admin-page{padding:16px}}
