Files
hr-portal-v5-designs/designs/03-register.html
T
2026-05-09 19:35:10 +00:00

305 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Register Your Company — HR Portal</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Inter', sans-serif; background: #FAFAFA; min-height: 100vh; }
.top-bar {
display: flex; justify-content: space-between; align-items: center;
padding: 16px 48px; background: #FFFFFF; border-bottom: 1px solid #E5E7EB;
}
.logo {
display: flex; align-items: center; gap: 10px;
font-size: 18px; font-weight: 700; color: #111827; text-decoration: none;
}
.logo-icon {
width: 34px; height: 34px; background: #4F46E5; border-radius: 8px;
display: flex; align-items: center; justify-content: center;
}
.logo-icon svg { width: 18px; height: 18px; }
/* STEP INDICATOR */
.page-wrapper { max-width: 760px; margin: 0 auto; padding: 48px 24px; }
.step-indicator {
display: flex; align-items: center; justify-content: center;
margin-bottom: 40px; gap: 0;
}
.step {
display: flex; align-items: center; gap: 8px;
}
.step-circle {
width: 32px; height: 32px; border-radius: 50%;
display: flex; align-items: center; justify-content: center;
font-size: 13px; font-weight: 600;
}
.step-circle.done { background: #4F46E5; color: #FFF; }
.step-circle.active { background: #4F46E5; color: #FFF; box-shadow: 0 0 0 4px rgba(79,70,229,0.15); }
.step-circle.inactive { background: #F3F4F6; color: #9CA3AF; border: 1.5px solid #E5E7EB; }
.step-label { font-size: 13px; font-weight: 500; }
.step-label.active { color: #4F46E5; }
.step-label.inactive { color: #9CA3AF; }
.step-connector {
width: 80px; height: 2px; background: #E5E7EB; margin: 0 4px;
}
.step-connector.done { background: #4F46E5; }
.register-card {
background: #FFFFFF;
border-radius: 12px;
border: 1px solid #E5E7EB;
box-shadow: 0 4px 24px rgba(0,0,0,0.06);
overflow: hidden;
}
.card-header {
padding: 32px 40px 24px;
border-bottom: 1px solid #F3F4F6;
}
.card-header h1 { font-size: 22px; font-weight: 700; color: #111827; margin-bottom: 4px; }
.card-header p { font-size: 14px; color: #6B7280; }
.card-section {
padding: 28px 40px;
border-bottom: 1px solid #F3F4F6;
}
.card-section:last-of-type { border-bottom: none; }
.section-title {
font-size: 13px; font-weight: 600; color: #9CA3AF;
text-transform: uppercase; letter-spacing: 0.5px;
margin-bottom: 20px;
}
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-grid.single { grid-template-columns: 1fr; }
.form-group { }
.form-label {
display: block; font-size: 14px; font-weight: 500; color: #374151;
margin-bottom: 6px;
}
.form-label .required { color: #EF4444; margin-left: 2px; }
.form-input, .form-select {
width: 100%; padding: 10px 14px;
border: 1.5px solid #E5E7EB; border-radius: 6px;
font-size: 14px; font-family: 'Inter', sans-serif; color: #111827;
background: #FFFFFF; transition: border-color 0.15s; outline: none;
appearance: none;
}
.form-input:focus, .form-select:focus {
border-color: #4F46E5; box-shadow: 0 0 0 3px rgba(79,70,229,0.08);
}
.form-input::placeholder { color: #9CA3AF; }
.form-select-wrapper { position: relative; }
.form-select-wrapper::after {
content: '';
position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
width: 0; height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 5px solid #9CA3AF;
pointer-events: none;
}
.hint { font-size: 12px; color: #9CA3AF; margin-top: 4px; }
.password-strength { margin-top: 6px; }
.strength-bar {
height: 4px; background: #E5E7EB; border-radius: 2px; margin-bottom: 4px;
overflow: hidden;
}
.strength-fill { height: 100%; width: 75%; background: #10B981; border-radius: 2px; }
.strength-label { font-size: 12px; color: #10B981; font-weight: 500; }
.checkbox-row {
display: flex; align-items: flex-start; gap: 10px;
padding: 20px 40px;
border-top: 1px solid #F3F4F6;
}
.checkbox-row input { width: 16px; height: 16px; margin-top: 2px; accent-color: #4F46E5; cursor: pointer; }
.checkbox-row label { font-size: 14px; color: #374151; cursor: pointer; line-height: 1.5; }
.checkbox-row a { color: #4F46E5; text-decoration: none; }
.card-actions {
padding: 20px 40px;
display: flex; justify-content: space-between; align-items: center;
background: #F9FAFB; border-top: 1px solid #E5E7EB;
border-radius: 0 0 12px 12px;
}
.btn-back {
padding: 10px 20px; background: #FFFFFF; color: #374151;
border: 1.5px solid #E5E7EB; border-radius: 6px;
font-size: 14px; font-weight: 500; cursor: pointer;
transition: all 0.15s;
}
.btn-back:hover { border-color: #9CA3AF; }
.btn-next {
padding: 10px 28px; background: #4F46E5; color: #FFFFFF;
border: none; border-radius: 6px;
font-size: 14px; font-weight: 600; cursor: pointer;
transition: background 0.15s;
display: flex; align-items: center; gap: 8px;
}
.btn-next:hover { background: #4338CA; }
.already-have { font-size: 14px; color: #6B7280; }
.already-have a { color: #4F46E5; text-decoration: none; font-weight: 500; }
</style>
</head>
<body>
<div class="top-bar">
<a href="01-landing.html" class="logo">
<div class="logo-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2">
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/>
<circle cx="9" cy="7" r="4"/>
<path d="M23 21v-2a4 4 0 0 0-3-3.87"/>
<path d="M16 3.13a4 4 0 0 1 0 7.75"/>
</svg>
</div>
HR Portal
</a>
<div class="already-have">Already have an account? <a href="02-login.html">Sign in</a></div>
</div>
<div class="page-wrapper">
<!-- STEP INDICATOR -->
<div class="step-indicator">
<div class="step">
<div class="step-circle done">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3">
<polyline points="20 6 9 17 4 12"/>
</svg>
</div>
<span class="step-label active">Company Info</span>
</div>
<div class="step-connector done"></div>
<div class="step">
<div class="step-circle active">2</div>
<span class="step-label active">Admin Account</span>
</div>
<div class="step-connector"></div>
<div class="step">
<div class="step-circle inactive">3</div>
<span class="step-label inactive">Done</span>
</div>
</div>
<div class="register-card">
<div class="card-header">
<h1>Create your HR Portal account</h1>
<p>Set up your company and admin account to get started in minutes.</p>
</div>
<!-- COMPANY INFO -->
<div class="card-section">
<div class="section-title">Company Information</div>
<div class="form-grid">
<div class="form-group" style="grid-column: 1 / -1;">
<label class="form-label" for="company-name">Company Name <span class="required">*</span></label>
<input class="form-input" type="text" id="company-name" placeholder="Acme Corporation" value="TechFlow Inc.">
</div>
<div class="form-group">
<label class="form-label" for="company-size">Company Size <span class="required">*</span></label>
<div class="form-select-wrapper">
<select class="form-select" id="company-size">
<option>110 employees</option>
<option>1150 employees</option>
<option selected>51200 employees</option>
<option>201500 employees</option>
<option>500+ employees</option>
</select>
</div>
</div>
<div class="form-group">
<label class="form-label" for="industry">Industry <span class="required">*</span></label>
<div class="form-select-wrapper">
<select class="form-select" id="industry">
<option>Healthcare</option>
<option selected>Technology</option>
<option>Finance</option>
<option>Retail</option>
<option>Manufacturing</option>
<option>Education</option>
<option>Other</option>
</select>
</div>
</div>
<div class="form-group">
<label class="form-label" for="country">Country</label>
<div class="form-select-wrapper">
<select class="form-select" id="country">
<option selected>United States</option>
<option>United Kingdom</option>
<option>India</option>
<option>Canada</option>
<option>Australia</option>
</select>
</div>
</div>
<div class="form-group">
<label class="form-label" for="timezone">Timezone</label>
<div class="form-select-wrapper">
<select class="form-select" id="timezone">
<option selected>PST (UTC-8)</option>
<option>MST (UTC-7)</option>
<option>CST (UTC-6)</option>
<option>EST (UTC-5)</option>
<option>IST (UTC+5:30)</option>
</select>
</div>
</div>
</div>
</div>
<!-- ADMIN ACCOUNT -->
<div class="card-section">
<div class="section-title">Admin Account Details</div>
<div class="form-grid">
<div class="form-group">
<label class="form-label" for="first-name">First Name <span class="required">*</span></label>
<input class="form-input" type="text" id="first-name" placeholder="Sarah" value="Sarah">
</div>
<div class="form-group">
<label class="form-label" for="last-name">Last Name <span class="required">*</span></label>
<input class="form-input" type="text" id="last-name" placeholder="Chen" value="Chen">
</div>
<div class="form-group" style="grid-column: 1 / -1;">
<label class="form-label" for="email">Work Email <span class="required">*</span></label>
<input class="form-input" type="email" id="email" placeholder="you@company.com" value="sarah@techflow.com">
<p class="hint">This will be your login email and primary admin contact.</p>
</div>
<div class="form-group">
<label class="form-label" for="password">Password <span class="required">*</span></label>
<input class="form-input" type="password" id="password" value="••••••••••••">
<div class="password-strength">
<div class="strength-bar"><div class="strength-fill"></div></div>
<span class="strength-label">Strong password</span>
</div>
</div>
<div class="form-group">
<label class="form-label" for="confirm-password">Confirm Password <span class="required">*</span></label>
<input class="form-input" type="password" id="confirm-password" value="••••••••••••">
<p class="hint" style="color:#10B981;">Passwords match</p>
</div>
</div>
</div>
<div class="checkbox-row">
<input type="checkbox" id="terms" checked>
<label for="terms">
I agree to HR Portal's <a href="#">Terms of Service</a> and <a href="#">Privacy Policy</a>.
I understand that by creating this account, I become the primary administrator.
</label>
</div>
<div class="card-actions">
<a href="02-login.html" class="btn-back">Sign in instead</a>
<button class="btn-next">
Create Account
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
<polyline points="9 18 15 12 9 6"/>
</svg>
</button>
</div>
</div>
</div>
</body>
</html>