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

282 lines
19 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>Settings — 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; color: #111827; display: flex; min-height: 100vh; }
.sidebar { width: 240px; min-height: 100vh; background: #FFFFFF; border-right: 1px solid #E5E7EB; display: flex; flex-direction: column; position: fixed; top: 0; left: 0; bottom: 0; z-index: 50; }
.sidebar-logo { padding: 20px 20px 16px; display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 700; color: #111827; border-bottom: 1px solid #F3F4F6; }
.logo-icon { width: 32px; height: 32px; background: #4F46E5; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.logo-icon svg { width: 16px; height: 16px; }
.sidebar-nav { flex: 1; padding: 12px 0; overflow-y: auto; }
.nav-item { display: flex; align-items: center; gap: 10px; padding: 9px 16px; margin: 1px 8px; border-radius: 6px; font-size: 14px; font-weight: 500; color: #6B7280; text-decoration: none; cursor: pointer; }
.nav-item:hover { background: #F9FAFB; color: #111827; }
.nav-item.active { background: #EEF2FF; color: #4F46E5; font-weight: 600; }
.nav-item svg { width: 18px; height: 18px; flex-shrink: 0; }
.nav-badge { margin-left: auto; background: #F59E0B; color: #FFF; font-size: 11px; font-weight: 600; padding: 1px 7px; border-radius: 10px; }
.sidebar-footer { padding: 16px; border-top: 1px solid #F3F4F6; }
.user-row { display: flex; align-items: center; gap: 10px; padding: 8px; }
.user-avatar { width: 34px; height: 34px; border-radius: 50%; background: #4F46E5; color: #FFF; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; }
.user-name { font-size: 13px; font-weight: 600; color: #111827; }
.user-role { font-size: 11px; color: #9CA3AF; }
.logout-btn { width: 100%; margin-top: 8px; padding: 7px; border: 1.5px solid #E5E7EB; border-radius: 6px; background: transparent; color: #6B7280; font-size: 13px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px; }
.main-wrapper { margin-left: 240px; flex: 1; display: flex; flex-direction: column; }
.topnav { height: 64px; background: #FFFFFF; border-bottom: 1px solid #E5E7EB; display: flex; align-items: center; gap: 16px; padding: 0 28px; position: sticky; top: 0; z-index: 40; }
.breadcrumb { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.breadcrumb a { color: #9CA3AF; text-decoration: none; }
.breadcrumb svg { width: 14px; height: 14px; color: #D1D5DB; }
.breadcrumb span { color: #111827; font-weight: 500; }
.topnav-actions { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.icon-btn { width: 36px; height: 36px; border-radius: 8px; border: 1.5px solid #E5E7EB; background: #FFFFFF; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; }
.icon-btn svg { width: 18px; height: 18px; color: #6B7280; }
.notif-badge { position: absolute; top: -4px; right: -4px; background: #EF4444; color: #FFF; font-size: 10px; font-weight: 700; width: 16px; height: 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid #FFFFFF; }
.topnav-avatar { width: 36px; height: 36px; border-radius: 50%; background: #4F46E5; color: #FFF; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; cursor: pointer; }
.content { padding: 0; }
/* SETTINGS LAYOUT */
.settings-layout { display: flex; min-height: calc(100vh - 64px); }
.settings-subnav { width: 220px; background: #FFFFFF; border-right: 1px solid #E5E7EB; padding: 20px 0; flex-shrink: 0; }
.subnav-title { font-size: 11px; font-weight: 600; color: #9CA3AF; text-transform: uppercase; letter-spacing: 0.5px; padding: 0 16px 8px; }
.subnav-item { display: flex; align-items: center; gap: 8px; padding: 9px 16px; font-size: 14px; font-weight: 500; color: #6B7280; cursor: pointer; transition: all 0.15s; }
.subnav-item:hover { background: #F9FAFB; color: #111827; }
.subnav-item.active { background: #EEF2FF; color: #4F46E5; font-weight: 600; }
.subnav-item svg { width: 16px; height: 16px; flex-shrink: 0; }
.settings-content { flex: 1; padding: 28px; max-width: 700px; }
.settings-section { margin-bottom: 28px; }
.section-header { margin-bottom: 20px; }
.section-title { font-size: 16px; font-weight: 600; color: #111827; margin-bottom: 4px; }
.section-sub { font-size: 13px; color: #9CA3AF; }
.card { background: #FFFFFF; border-radius: 10px; border: 1px solid #E5E7EB; box-shadow: 0 1px 3px rgba(0,0,0,0.06); overflow: hidden; margin-bottom: 16px; }
.card-header-row { padding: 16px 20px; border-bottom: 1px solid #F3F4F6; }
.card-title { font-size: 14px; font-weight: 600; color: #111827; }
.card-sub { font-size: 12px; color: #9CA3AF; margin-top: 2px; }
.card-body { padding: 20px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-group { }
.form-label { display: block; font-size: 13px; font-weight: 500; color: #374151; margin-bottom: 6px; }
.form-input, .form-select { width: 100%; padding: 9px 13px; border: 1.5px solid #E5E7EB; border-radius: 6px; font-size: 14px; font-family: 'Inter', sans-serif; color: #111827; background: #FFFFFF; outline: none; transition: border-color 0.15s; appearance: none; }
.form-input:focus, .form-select:focus { border-color: #4F46E5; box-shadow: 0 0 0 3px rgba(79,70,229,0.08); }
.col-span-2 { grid-column: 1 / -1; }
/* LOGO UPLOAD */
.logo-upload { border: 2px dashed #E5E7EB; border-radius: 8px; padding: 24px; text-align: center; cursor: pointer; transition: all 0.15s; }
.logo-upload:hover { border-color: #4F46E5; background: #FAFAFA; }
.logo-preview { width: 64px; height: 64px; background: #4F46E5; border-radius: 10px; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; color: #FFF; font-size: 20px; font-weight: 700; }
.logo-upload-hint { font-size: 13px; color: #6B7280; margin-bottom: 4px; }
.logo-upload-sub { font-size: 12px; color: #9CA3AF; }
.btn-upload { display: inline-flex; padding: 6px 14px; border: 1.5px solid #E5E7EB; border-radius: 6px; background: #FFFFFF; color: #374151; font-size: 13px; cursor: pointer; margin-top: 8px; }
/* WORK HOURS */
.work-days { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.day-toggle { display: flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1.5px solid #E5E7EB; border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 500; color: #374151; transition: all 0.15s; }
.day-toggle input[type="checkbox"] { accent-color: #4F46E5; }
.day-toggle.active { border-color: #4F46E5; background: #EEF2FF; color: #4F46E5; }
/* SAVE BUTTON */
.btn-save { padding: 10px 24px; background: #4F46E5; color: #FFF; border: none; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; transition: background 0.15s; }
.btn-save:hover { background: #4338CA; }
.btn-cancel { padding: 10px 18px; border: 1.5px solid #E5E7EB; border-radius: 6px; background: #FFFFFF; color: #374151; font-size: 14px; cursor: pointer; margin-right: 8px; }
.page-header { font-size: 22px; font-weight: 700; padding: 28px 28px 0; margin-bottom: 0; }
</style>
</head>
<body>
<aside class="sidebar">
<div class="sidebar-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</div>
<nav class="sidebar-nav">
<a href="04-admin-dashboard.html" class="nav-item"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/></svg>Dashboard</a>
<a href="05-employee-directory.html" class="nav-item"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" 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>Employees</a>
<a href="08-department-management.html" class="nav-item"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg>Departments</a>
<a href="09-leave-requests.html" class="nav-item"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>Leave Management<span class="nav-badge">7</span></a>
<a href="11-attendance.html" class="nav-item"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>Attendance</a>
<a href="12-payroll-dashboard.html" class="nav-item"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="5" width="20" height="14" rx="2"/><line x1="2" y1="10" x2="22" y2="10"/></svg>Payroll</a>
<a href="13-recruitment.html" class="nav-item"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"/><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"/></svg>Recruitment</a>
<a href="14-expense-claims.html" class="nav-item"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>Expense Claims</a>
<a href="15-performance-reviews.html" class="nav-item"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/></svg>Performance</a>
<a href="16-reports.html" class="nav-item"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21.21 15.89A10 10 0 1 1 8 2.83"/><path d="M22 12A10 10 0 0 0 12 2v10z"/></svg>Reports</a>
<a href="20-org-chart.html" class="nav-item"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="1" width="6" height="5" rx="1"/><rect x="1" y="14" width="6" height="5" rx="1"/><rect x="17" y="14" width="6" height="5" rx="1"/><path d="M4 14v-4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v4"/><line x1="12" y1="6" x2="12" y2="9"/></svg>Org Chart</a>
<a href="#" class="nav-item"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg>Announcements</a>
<a href="17-settings.html" class="nav-item active"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="3"/><path d="M19.07 4.93l-1.41 1.41M4.93 4.93l1.41 1.41M12 2v2M12 20v2M2 12h2M20 12h2M17.66 17.66l-1.41-1.41M6.34 17.66l1.41-1.41"/></svg>Settings</a>
</nav>
<div class="sidebar-footer">
<div class="user-row"><div class="user-avatar">SC</div><div><div class="user-name">Sarah Chen</div><div class="user-role">HR Administrator</div></div></div>
<button class="logout-btn">Sign Out</button>
</div>
</aside>
<div class="main-wrapper">
<header class="topnav">
<div class="breadcrumb">
<a href="04-admin-dashboard.html">Home</a>
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="9 18 15 12 9 6"/></svg>
<span>Settings</span>
</div>
<div class="topnav-actions">
<div class="icon-btn"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 17H2a3 3 0 0 0 3-3V9a7 7 0 0 1 14 0v5a3 3 0 0 0 3 3zm-8.27 4a2 2 0 0 1-3.46 0"/></svg><span class="notif-badge">3</span></div>
<div class="topnav-avatar">SC</div>
</div>
</header>
<div class="content">
<div class="page-header">Settings</div>
<div class="settings-layout">
<!-- SETTINGS SUB-NAV -->
<div class="settings-subnav">
<div class="subnav-title">General</div>
<div class="subnav-item active">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg>
Company Profile
</div>
<div class="subnav-item">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>
Leave Settings
</div>
<div class="subnav-item">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
Work Hours
</div>
<div class="subnav-title" style="margin-top:16px;">System</div>
<div class="subnav-item">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 17H2a3 3 0 0 0 3-3V9a7 7 0 0 1 14 0v5a3 3 0 0 0 3 3zm-8.27 4a2 2 0 0 1-3.46 0"/></svg>
Notifications
</div>
<div class="subnav-item">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>
Integrations
</div>
</div>
<!-- SETTINGS CONTENT -->
<div class="settings-content">
<div class="settings-section">
<div class="section-header">
<div class="section-title">Company Profile</div>
<div class="section-sub">Update your company information and branding</div>
</div>
<!-- LOGO UPLOAD -->
<div class="card">
<div class="card-header-row">
<div class="card-title">Company Logo</div>
<div class="card-sub">Appears on payslips, emails, and the employee portal</div>
</div>
<div class="card-body">
<div class="logo-upload">
<div class="logo-preview">TF</div>
<div class="logo-upload-hint">Drag and drop your logo here, or click to browse</div>
<div class="logo-upload-sub">PNG, JPG, or SVG. Max 2MB. Recommended: 200×200px</div>
<button class="btn-upload">Upload Logo</button>
</div>
</div>
</div>
<!-- COMPANY INFO -->
<div class="card">
<div class="card-header-row">
<div class="card-title">Company Information</div>
</div>
<div class="card-body">
<div class="form-grid">
<div class="form-group col-span-2">
<label class="form-label">Company Name</label>
<input class="form-input" type="text" value="TechFlow Inc.">
</div>
<div class="form-group">
<label class="form-label">Industry</label>
<select class="form-select">
<option selected>Technology</option>
<option>Finance</option>
<option>Healthcare</option>
<option>Manufacturing</option>
</select>
</div>
<div class="form-group">
<label class="form-label">Company Size</label>
<select class="form-select">
<option>110</option>
<option>1150</option>
<option selected>51200</option>
<option>201500</option>
<option>500+</option>
</select>
</div>
<div class="form-group">
<label class="form-label">Country</label>
<select class="form-select">
<option selected>United States</option>
<option>United Kingdom</option>
<option>India</option>
<option>Canada</option>
</select>
</div>
<div class="form-group">
<label class="form-label">Timezone</label>
<select class="form-select">
<option selected>PST (UTC-8)</option>
<option>EST (UTC-5)</option>
<option>IST (UTC+5:30)</option>
<option>GMT (UTC+0)</option>
</select>
</div>
<div class="form-group">
<label class="form-label">Phone</label>
<input class="form-input" type="tel" value="+1 (415) 555-0100">
</div>
<div class="form-group">
<label class="form-label">Website</label>
<input class="form-input" type="url" value="https://techflow.com">
</div>
</div>
</div>
</div>
<!-- WORK HOURS -->
<div class="card">
<div class="card-header-row">
<div class="card-title">Default Work Hours</div>
<div class="card-sub">Standard working days and hours for attendance tracking</div>
</div>
<div class="card-body">
<div style="font-size:13px;font-weight:500;color:#374151;margin-bottom:10px;">Working Days</div>
<div class="work-days">
<label class="day-toggle active"><input type="checkbox" checked> Mon</label>
<label class="day-toggle active"><input type="checkbox" checked> Tue</label>
<label class="day-toggle active"><input type="checkbox" checked> Wed</label>
<label class="day-toggle active"><input type="checkbox" checked> Thu</label>
<label class="day-toggle active"><input type="checkbox" checked> Fri</label>
<label class="day-toggle"><input type="checkbox"> Sat</label>
<label class="day-toggle"><input type="checkbox"> Sun</label>
</div>
<div class="form-grid">
<div class="form-group">
<label class="form-label">Work Start Time</label>
<input class="form-input" type="time" value="09:00">
</div>
<div class="form-group">
<label class="form-label">Work End Time</label>
<input class="form-input" type="time" value="18:00">
</div>
</div>
</div>
</div>
<div style="display:flex;justify-content:flex-end;margin-top:8px;">
<button class="btn-cancel">Discard Changes</button>
<button class="btn-save">Save Settings</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>