/* StaffVanta_Candidate - Porto-derived tokens (colors/typography/component
   styling from New_App's .claude/skills/new-app/references/theme.md) hand-
   applied to a purpose-built phone-first layout, not the admin sidebar/pills
   chrome - a candidate on a phone needs a stacked single column and a
   bottom tab bar, not a desktop dashboard shell. */

:root{
	--sv-primary:#0088CC;
	--sv-primary-dark:#006699;
	--sv-success:#47A447;
	--sv-warning:#ED9C28;
	--sv-danger:#D2322D;
	--sv-bg:#ECEDF0;
	--sv-card-header:#F6F6F6;
	--sv-card-body:#FDFDFD;
	--sv-text:#212529;
	--sv-muted:#777777;
}

body{
	font-family:'Poppins',Arial,sans-serif;
	background:var(--sv-bg);
	color:var(--sv-text);
	font-size:14px;
	padding-bottom:76px; /* clears the fixed bottom nav */
}

.sv-header{
	position:sticky; top:0; z-index:10;
	background:#fff;
	display:flex; align-items:center; gap:10px;
	padding:12px 16px;
	box-shadow:0 1px 3px rgba(0,0,0,.08);
}
.sv-header img{ width:32px; height:38px; }
.sv-header .sv-title{ font-weight:600; font-size:1rem; flex:1 1 auto; }
.sv-header .sv-logout{ color:var(--sv-muted); font-size:1.2rem; }

.sv-content{ padding:16px; max-width:520px; margin:0 auto; }

.sv-card{
	background:var(--sv-card-body);
	border-radius:6px;
	box-shadow:0 1px 4px rgba(0,0,0,.08);
	margin-bottom:16px;
	overflow:hidden;
}
.sv-card-header{
	background:var(--sv-card-header);
	padding:12px 16px;
	font-weight:600;
	font-size:.85rem;
	text-transform:uppercase;
	letter-spacing:.02em;
	color:var(--sv-muted);
	display:flex; align-items:center; justify-content:space-between;
}
.sv-card-body{ padding:16px; }

.sv-greeting{ font-size:1.15rem; font-weight:600; margin-bottom:4px; }
.sv-subtext{ color:var(--sv-muted); font-size:.85rem; }

.sv-shift-client{ font-size:1.05rem; font-weight:600; }
.sv-shift-meta{ color:var(--sv-muted); font-size:.85rem; margin-top:2px; }
.sv-shift-meta i{ width:16px; text-align:center; }

.sv-list-row{
	display:flex; justify-content:space-between; align-items:center;
	padding:10px 0; border-bottom:1px solid #eee;
}
.sv-list-row:last-child{ border-bottom:none; }
.sv-list-row .sv-list-title{ font-weight:500; }
.sv-list-row .sv-list-sub{ color:var(--sv-muted); font-size:.8rem; }

.badge-pending{ background:var(--sv-warning); }
.badge-approved{ background:var(--sv-success); }
.badge-denied{ background:var(--sv-danger); }

.btn-sv-primary{
	background:var(--sv-primary); border-color:var(--sv-primary-dark);
	color:#fff; border-radius:6px; font-weight:600;
}
.btn-sv-primary:hover, .btn-sv-primary:focus{ background:var(--sv-primary-dark); color:#fff; }

.sv-login-wrap{
	min-height:100vh; display:flex; align-items:center; justify-content:center;
	padding:24px 16px; background:var(--sv-bg);
}
.sv-login-card{
	width:100%; max-width:380px;
	background:#fff; border-radius:6px; border-top:3px solid var(--sv-primary);
	box-shadow:0 2px 10px rgba(0,0,0,.1);
	padding:32px 24px;
}
.sv-login-logo{ text-align:center; margin-bottom:20px; }
.sv-login-logo img{ width:56px; height:66px; }
.sv-login-title{ text-align:center; font-weight:600; font-size:1.1rem; margin-bottom:24px; }

.sv-bottom-nav{
	position:fixed; bottom:0; left:0; right:0; z-index:10;
	background:#fff; box-shadow:0 -1px 4px rgba(0,0,0,.1);
	display:flex;
}
.sv-bottom-nav a{
	flex:1; text-align:center; padding:10px 4px 8px;
	color:var(--sv-muted); text-decoration:none; font-size:.7rem;
}
.sv-bottom-nav a i{ display:block; font-size:1.15rem; margin-bottom:2px; }
.sv-bottom-nav a.active{ color:var(--sv-primary); }
