@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--synet-red:#e53935;--synet-red-hover:#c62828;--synet-red-muted:#e5393526;--bg-primary:#0f0f10;--bg-secondary:#1c1c1e;--bg-card:#1c1c1ed9;--text-primary:#fff;--text-secondary:#94a3b8;--accent-primary:#e53935;--accent-hover:#c62828;--accent-success:#2e7d32;--accent-warning:#f9a825;--accent-danger:#d32f2f;--accent-info:#1976d2;--border-color:#ffffff1a;--font-base:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--portal-max-width:860px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-base);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.6}button{cursor:pointer;font-family:inherit;transition:all .2s ease-in-out}a{color:var(--accent-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--text-primary)}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:12px;padding:24px}.btn-primary{background:var(--synet-red);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 20px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s ease-in-out;display:inline-block}.btn-primary:hover{background:var(--synet-red-hover);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #e5393566}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{color:var(--synet-red);border:1px solid var(--synet-red);cursor:pointer;background:0 0;border-radius:8px;padding:12px 20px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s ease-in-out;display:inline-block}.btn-secondary:hover{background:var(--synet-red-muted);color:var(--synet-red)}.btn-lg{border-radius:10px;padding:14px 28px;font-size:.95rem}.badge{letter-spacing:.02em;border-radius:20px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-block}.badge--success{color:#4caf50;background:#2e7d3226;border:1px solid #2e7d324d}.badge--warning{color:var(--accent-warning);background:#f9a8251f;border:1px solid #f9a8254d}.badge--info{color:#42a5f5;background:#1976d21f;border:1px solid #1976d24d}.badge--danger{color:#ef5350;background:#d32f2f1f;border:1px solid #d32f2f4d}.form-group{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.form-label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.form-input,.form-select{border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-base);background:#ffffff0d;border-radius:8px;width:100%;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.form-input:focus,.form-select:focus{border-color:var(--synet-red);outline:none;box-shadow:0 0 0 3px #e5393526}.form-input.input--error,.form-select.input--error{border-color:var(--synet-red)}.form-input.input--success,.form-select.input--success{border-color:var(--accent-success)}.form-input::placeholder{color:#94a3b880}.form-select option{background:var(--bg-secondary);color:var(--text-primary)}.form-hint{color:var(--text-secondary);font-size:.78rem}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.info-box{color:#42a5f5;background:#1976d214;border:1px solid #1976d240;border-radius:10px;margin-bottom:24px;padding:16px 20px;font-size:.88rem}.warning-box{color:var(--accent-warning);background:#f9a82514;border:1px solid #f9a82540;border-radius:10px;margin-bottom:24px;padding:16px 20px;font-size:.88rem}.panel-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.panel-title{font-size:1rem;font-weight:600}.panel-subtitle{color:var(--text-secondary);margin-top:2px;font-size:.8rem}.panel-subtitle--mono{color:var(--text-secondary);margin-top:2px;font-family:SF Mono,Fira Code,monospace;font-size:.8rem}.panel-title--spaced{margin-bottom:24px;font-size:1rem;font-weight:600}.panel-title--spaced-sm{margin-bottom:16px;font-size:1rem;font-weight:600}.glass-panel--mb{margin-bottom:24px}.glass-panel--mb-sm{margin-bottom:20px}.page-header{margin-bottom:32px}.page-title{background:linear-gradient(90deg,#fff 60%,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-size:2rem;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:4px;font-size:.9rem}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.data-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-color);padding:10px 14px;font-size:.75rem;font-weight:600}.data-table td{color:var(--text-primary);border-bottom:1px solid #ffffff0a;padding:14px}.data-table tr:last-child td{border-bottom:none}.mono{color:var(--text-secondary);font-family:SF Mono,Fira Code,monospace;font-size:.82rem}.cell-muted{color:var(--text-secondary);font-size:.85rem}.portal-body{background:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}.portal-header{border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#0f172acc;position:sticky;top:0}.portal-header-inner{max-width:var(--portal-max-width);justify-content:space-between;align-items:center;margin:0 auto;padding:16px 24px;display:flex}.portal-brand{color:var(--text-primary);align-items:center;gap:10px;text-decoration:none;display:flex}.portal-brand:hover{color:var(--text-primary)}.portal-logo{background:var(--synet-red);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:800;display:flex}.portal-brand-name{font-size:.95rem;font-weight:700}.portal-nav{gap:8px;display:flex}.portal-nav-link{color:var(--text-secondary);border-radius:7px;padding:7px 16px;font-size:.85rem;font-weight:500;transition:background .15s,color .15s}.portal-nav-link:hover{color:var(--text-primary);background:#ffffff0f}.portal-nav-link--cta{background:var(--synet-red);color:#fff}.portal-nav-link--cta:hover{background:var(--synet-red-hover);color:#fff}.portal-main{max-width:var(--portal-max-width);flex:1;width:100%;margin:0 auto;padding:48px 24px}.portal-footer{border-top:1px solid var(--border-color);text-align:center;color:var(--text-secondary);padding:24px;font-size:.8rem}.portal-hero{text-align:center;padding:48px 0 32px}.portal-hero-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:16px;font-size:.78rem;font-weight:600}.portal-hero-title{background:linear-gradient(90deg,#fff 40%,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:16px;font-size:2.4rem;font-weight:800;line-height:1.15}.portal-hero-sub{color:var(--text-secondary);max-width:480px;margin:0 auto 32px;font-size:1rem;line-height:1.6}.portal-hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:32px 0;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px}.feature-icon{margin-bottom:12px;font-size:1.8rem}.feature-title{margin-bottom:6px;font-size:.95rem;font-weight:600}.feature-desc{color:var(--text-secondary);font-size:.82rem;line-height:1.5}.steps{gap:0;margin-bottom:40px;display:flex;position:relative}.steps:before{content:"";background:var(--border-color);z-index:0;height:1px;position:absolute;top:20px;left:20px;right:20px}.step{z-index:1;flex-direction:column;flex:1;align-items:center;gap:8px;display:flex;position:relative}.step-circle{background:var(--bg-secondary);border:2px solid var(--border-color);width:40px;height:40px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.step--active .step-circle{background:var(--synet-red);border-color:var(--synet-red);color:#fff}.step--done .step-circle{background:var(--accent-success);border-color:var(--accent-success);color:#fff}.step-label{color:var(--text-secondary);text-align:center;font-size:.75rem;font-weight:500}.step--active .step-label{color:var(--text-primary)}.result-section{margin-top:32px}.result-field{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;padding:12px 0;font-size:.9rem;display:flex}.result-field:last-child{border-bottom:none}.result-field-key{color:var(--text-secondary);min-width:160px;font-weight:500}.result-field-value{text-align:right;word-break:break-all}.result-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.file-drop-zone{border:2px dashed var(--border-color);text-align:center;color:var(--text-secondary);cursor:pointer;border-radius:10px;padding:32px 24px;font-size:.9rem;transition:border-color .2s}.file-drop-zone:hover{border-color:var(--synet-red)}.file-drop-zone input[type=file]{display:none}.file-preview-list{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.file-preview-item{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:6px;padding:6px 12px;font-size:.8rem}.selfie-video{background:#000;border-radius:10px;width:100%;max-width:360px;margin:0 auto;display:block}.selfie-canvas{display:none}.selfie-preview{border:2px solid var(--accent-success);border-radius:10px;width:100%;max-width:360px;margin:0 auto;display:block}.selfie-capture-btn{margin:16px auto 0;display:block}.selfie-fallback{text-align:center;color:var(--text-secondary);margin-top:16px;font-size:.82rem}.step-nav{justify-content:space-between;margin-top:28px;display:flex}.review-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin:20px 0 8px;font-size:.78rem;font-weight:600}.form-error{color:var(--accent-danger);margin-top:4px;font-size:.75rem}.consent-row{flex-direction:row;align-items:flex-start;gap:10px}.consent-checkbox{accent-color:var(--synet-red);flex-shrink:0;margin-top:2px}.consent-label{color:var(--text-secondary);cursor:pointer;font-weight:400}.form-error-block{margin-top:-12px;margin-bottom:16px;display:block}@media (max-width:768px){.portal-hero-title{font-size:1.8rem}.form-row{grid-template-columns:1fr}.steps:before{display:none}.portal-main{padding:32px 16px}}
