:root {
	--vica-text: #101828;
	--vica-muted: #667085;
	--vica-white: rgba(255,255,255,.78);
	--vica-border: rgba(255,255,255,.58);
	--vica-shadow: 0 28px 90px rgba(31,41,55,.22);
	--vica-accent: #6c5ce7;
	--vica-accent-2: #00b894;
}

html.vica-lock { overflow: hidden; }

.vica-root, .vica-root * { box-sizing: border-box; }
.vica-root { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

.vica-launch {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	border: 0;
	border-radius: 999px;
	padding: 10px 17px;
	color: #fff;
	background: linear-gradient(135deg, #6c5ce7, #00b894);
	box-shadow: 0 10px 28px rgba(108,92,231,.28);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease;
}
.vica-launch:hover { transform: translateY(-2px); box-shadow: 0 15px 35px rgba(108,92,231,.34); }
.vica-launch-dot { width: 7px; height: 7px; border-radius: 50%; background: #fff; box-shadow: 0 0 12px #fff; }

.vica-modal, .vica-camera { position: fixed; inset: 0; z-index: 999999; display: none; align-items: center; justify-content: center; padding: 20px; }
.vica-modal.is-open, .vica-camera.is-open { display: flex; }
.vica-backdrop { position: absolute; inset: 0; background: rgba(15,23,42,.42); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }

.vica-dialog {
	position: relative;
	width: min(520px, 100%);
	max-height: min(860px, 94vh);
	overflow-y: auto;
	border: 1px solid var(--vica-border);
	border-radius: 30px;
	background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(244,247,255,.58));
	box-shadow: var(--vica-shadow);
	backdrop-filter: blur(28px) saturate(140%);
	-webkit-backdrop-filter: blur(28px) saturate(140%);
	animation: vicaIn .28s ease both;
}
@keyframes vicaIn { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }

.vica-dialog:before {
	content: "";
	position: absolute;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: rgba(108,92,231,.15);
	filter: blur(35px);
	top: -80px;
	right: -70px;
	pointer-events: none;
}

.vica-close {
	position: absolute;
	top: 15px;
	right: 15px;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(255,255,255,.7);
	border-radius: 50%;
	background: rgba(255,255,255,.42);
	color: #475467;
	font-size: 23px;
	line-height: 1;
	cursor: pointer;
	z-index: 3;
}
.vica-brand { display: flex; align-items: center; justify-content: center; padding: 28px 28px 0; }
.vica-auth-image { width: 42px; height: 42px; display: grid; place-items: center; overflow: hidden; border-radius: 14px; background: rgba(255,255,255,.34); border: 1px solid rgba(255,255,255,.58); }
.vica-auth-image img { width: 100%; height: 100%; display: block; object-fit: cover; }

.vica-form-wrap { padding: 28px; position: relative; z-index: 1; }
.vica-heading { margin: 15px 0 23px; }
.vica-kicker { font-size: 10px; font-weight: 900; letter-spacing: .14em; color: #6c5ce7; }
.vica-heading h2 { margin: 5px 0 7px; font-size: clamp(28px, 6vw, 38px); line-height: 1.03; letter-spacing: -.04em; color: var(--vica-text); }
.vica-heading p { margin: 0; color: var(--vica-muted); font-size: 14px; }

.vica-form label { display: block; color: #344054; font-size: 12px; font-weight: 700; margin-bottom: 14px; }
.vica-form input:not([type="checkbox"]) {
	width: 100%;
	margin-top: 7px;
	padding: 13px 14px;
	border: 1px solid rgba(152,162,179,.28);
	border-radius: 14px;
	background: rgba(255,255,255,.57);
	color: #101828;
	outline: none;
	font-size: 14px;
	transition: .2s ease;
}
.vica-form input:not([type="checkbox"]):focus { border-color: rgba(108,92,231,.55); box-shadow: 0 0 0 4px rgba(108,92,231,.09); background: rgba(255,255,255,.78); }
.vica-password { position: relative; display: block; }
.vica-password input { padding-right: 46px !important; }
.vica-eye { position: absolute; right: 9px; bottom: 8px; width: 30px; height: 30px; padding: 5px; border: 0; border-radius: 8px; background: rgba(255,255,255,.9) !important; color: #344054 !important; cursor: pointer; display: inline-flex !important; align-items: center; justify-content: center; z-index: 5; opacity: 1 !important; visibility: visible !important; box-shadow: 0 1px 3px rgba(16,24,40,.12); }
.vica-eye:hover, .vica-eye:focus { background: #ffffff !important; color: #101828 !important; opacity: 1 !important; visibility: visible !important; }
.vica-eye svg { width: 20px !important; height: 20px !important; display: block !important; visibility: visible !important; opacity: 1 !important; }
.vica-eye svg path, .vica-eye svg circle { stroke: #344054 !important; }
.vica-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 2px 0 16px; font-size: 11px; }
.vica-row a { color: #6c5ce7; font-weight: 800; text-decoration: none; }
.vica-check { display: inline-flex !important; align-items: center; gap: 7px; margin: 0 !important; font-weight: 600 !important; color: #667085 !important; }
.vica-check input { accent-color: #6c5ce7; }

.vica-primary {
	width: 100%;
	min-height: 50px;
	border: 0;
	border-radius: 15px;
	background: linear-gradient(135deg, #6c5ce7, #00b894);
	color: #fff;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
	box-shadow: 0 13px 28px rgba(108,92,231,.2);
	transition: transform .2s ease, opacity .2s ease;
}
.vica-primary:hover { transform: translateY(-1px); }
.vica-primary:disabled { opacity: .65; cursor: wait; }
.vica-spinner { display: none; width: 15px; height: 15px; margin-left: 8px; border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; vertical-align: -3px; animation: vicaSpin .7s linear infinite; }
.vica-primary.is-loading .vica-spinner { display: inline-block; }
@keyframes vicaSpin { to { transform: rotate(360deg); } }

.vica-switch { margin-top: 20px; padding: 17px; text-align: center; border: 1px solid rgba(255,255,255,.6); border-radius: 18px; background: rgba(255,255,255,.34); }
.vica-switch strong { display: block; font-size: 21px; color: #101828; letter-spacing: -.02em; }
.vica-create { border: 0; background: transparent; color: #6c5ce7; font-size: 14px; font-weight: 900; cursor: pointer; margin-top: 3px; }
.vica-top-login { border: 0; background: transparent; color: #6c5ce7; font-weight: 900; cursor: pointer; padding: 0; font-size: 12px; }
.vica-message { min-height: 0; margin-bottom: 0; font-size: 12px; font-weight: 700; }
.vica-message.error { padding: 10px 12px; margin-bottom: 12px; border-radius: 12px; color: #9b2c2c; background: rgba(254,226,226,.72); }
.vica-message.success { padding: 10px 12px; margin-bottom: 12px; border-radius: 12px; color: #166534; background: rgba(220,252,231,.72); }
.vica-hidden { display: none !important; }

.vica-fields-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vica-avatar-picker { display: flex; gap: 14px; align-items: center; padding: 14px; margin-bottom: 17px; border: 1px solid rgba(255,255,255,.68); border-radius: 20px; background: rgba(255,255,255,.38); }
.vica-avatar-preview { width: 76px; height: 76px; flex: 0 0 76px; border-radius: 23px; overflow: hidden; display: grid; place-items: center; color: #fff; font-size: 27px; font-weight: 900; background: linear-gradient(135deg,#6c5ce7,#00b894); box-shadow: 0 10px 25px rgba(108,92,231,.2); }
.vica-avatar-preview img { width: 100%; height: 100%; object-fit: cover; }
.vica-avatar-actions strong, .vica-avatar-actions span { display: block; }
.vica-avatar-actions strong { font-size: 13px; }
.vica-avatar-actions span { margin: 3px 0 9px; color: #667085; font-size: 11px; }
.vica-photo-btn { border: 0; border-radius: 10px; padding: 8px 10px; background: #101828; color: #fff; font-size: 10px; font-weight: 800; cursor: pointer; }
.vica-photo-btn.ghost { background: rgba(255,255,255,.72); color: #344054; border: 1px solid rgba(152,162,179,.25); }
.vica-terms { margin: 0 0 14px !important; font-size: 11px !important; }

.vica-camera { background: rgba(15,23,42,.72); backdrop-filter: blur(15px); }
.vica-camera-panel { position: relative; width: min(520px, 100%); overflow: hidden; border-radius: 26px; background: #111827; box-shadow: var(--vica-shadow); }
.vica-camera-panel video { width: 100%; max-height: 75vh; display: block; object-fit: cover; }
.vica-camera-panel .vica-close { color: #fff; background: rgba(0,0,0,.35); border-color: rgba(255,255,255,.25); }
.vica-camera-controls { position: absolute; bottom: 20px; left: 0; right: 0; display: flex; justify-content: center; }
.vica-capture { width: 68px; height: 68px; border: 5px solid rgba(255,255,255,.9); border-radius: 50%; background: rgba(255,255,255,.3); box-shadow: 0 5px 25px rgba(0,0,0,.3); cursor: pointer; }

.vica-user-widget { display: inline-flex; align-items: center; gap: 9px; padding: 5px 7px 5px 5px; border: 1px solid rgba(255,255,255,.62); border-radius: 999px; background: rgba(255,255,255,.55); box-shadow: 0 8px 25px rgba(31,41,55,.12); backdrop-filter: blur(15px); }
.vica-user-widget img { width: 31px; height: 31px; object-fit: cover; border-radius: 50%; }
.vica-user-name { max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 800; color: #344054; }
.vica-logout { width: 25px; height: 25px; border: 0; border-radius: 50%; color: #667085; background: rgba(255,255,255,.65); cursor: pointer; }

@media (max-width: 560px) {
	.vica-modal { padding: 9px; align-items: center; }
	.vica-dialog { max-height: 96vh; border-radius: 26px; }
	.vica-form-wrap { padding: 22px 19px 24px; }
	.vica-brand { padding: 20px 19px 0; }
	.vica-fields-2 { grid-template-columns: 1fr; gap: 0; }
	.vica-avatar-picker { align-items: flex-start; }
	.vica-avatar-actions div { display: flex; gap: 6px; flex-wrap: wrap; }
}


.vica-profile-photo-page { max-width: 520px; margin: 0 auto; padding: 20px 0; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.vica-profile-photo-card {
	position: relative; overflow: hidden; padding: 30px; border: 1px solid rgba(255,255,255,.62);
	border-radius: 30px; background: linear-gradient(145deg,rgba(255,255,255,.82),rgba(244,247,255,.58));
	box-shadow: var(--vica-shadow); backdrop-filter: blur(28px) saturate(140%); -webkit-backdrop-filter: blur(28px) saturate(140%);
}
.vica-profile-photo-card:before { content:""; position:absolute; width:190px; height:190px; border-radius:50%; background:rgba(108,92,231,.14); filter:blur(38px); top:-100px; right:-60px; pointer-events:none; }
.vica-profile-photo-head { position:relative; z-index:1; }
.vica-profile-photo-head h2 { margin:6px 0 8px; color:var(--vica-text); font-size:34px; line-height:1.05; letter-spacing:-.04em; }
.vica-profile-photo-head p { margin:0 0 24px; color:var(--vica-muted); font-size:14px; line-height:1.55; }
.vica-current-photo { position:relative; z-index:1; width:150px; height:150px; margin:0 auto 22px; border-radius:50%; overflow:hidden; padding:5px; background:linear-gradient(135deg,#6c5ce7,#00b894); box-shadow:0 18px 45px rgba(108,92,231,.22); }
.vica-current-photo img { width:100%; height:100%; display:block; object-fit:cover; border-radius:50%; background:#fff; }
.vica-profile-photo-actions { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.vica-photo-action { min-height:48px; border:0; border-radius:14px; padding:12px; cursor:pointer; font-weight:900; font-size:13px; }
.vica-photo-action.secondary { background:rgba(255,255,255,.62); border:1px solid rgba(152,162,179,.28); color:#344054; }
.vica-profile-preview { position:relative; z-index:1; display:flex; align-items:center; gap:12px; margin:18px 0; padding:10px; border-radius:18px; background:rgba(255,255,255,.42); border:1px solid rgba(255,255,255,.68); }
.vica-profile-preview img { width:64px; height:64px; border-radius:15px; object-fit:cover; }
.vica-profile-preview strong,.vica-profile-preview span { display:block; }
.vica-profile-preview strong { font-size:13px; color:#344054; }
.vica-profile-preview span { margin-top:3px; font-size:11px; color:#667085; }
.vica-profile-photo-card > [data-vica-save-profile-photo] { position:relative; z-index:1; margin-top:14px; }
.vica-profile-camera-modal { z-index:1000000; }
@media (max-width:560px) {
	.vica-profile-photo-card { padding:24px 18px; border-radius:25px; }
	.vica-profile-photo-actions { grid-template-columns:1fr; }
	.vica-profile-photo-head h2 { font-size:29px; }
}


/* Vicilook Auth — Profile page */
.vica-profile-page { max-width: 760px; margin: 0 auto; padding: 22px 0; font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.vica-profile-card {
	position:relative; overflow:hidden; padding:32px; border:1px solid rgba(255,255,255,.65); border-radius:34px;
	background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(244,247,255,.59)); box-shadow:var(--vica-shadow);
	backdrop-filter:blur(30px) saturate(145%); -webkit-backdrop-filter:blur(30px) saturate(145%);
}
.vica-profile-glow { position:absolute; width:280px; height:280px; border-radius:50%; right:-110px; top:-120px; background:rgba(0,184,148,.14); filter:blur(45px); pointer-events:none; }
.vica-profile-hero { position:relative; z-index:1; display:flex; align-items:center; gap:20px; }
.vica-profile-avatar { position:relative; flex:0 0 auto; width:116px; height:116px; padding:5px; border-radius:34px; background:linear-gradient(135deg,#6c5ce7,#00b894); box-shadow:0 18px 42px rgba(108,92,231,.22); }
.vica-profile-avatar img { width:100%; height:100%; display:block; border-radius:29px; object-fit:cover; background:#fff; }
.vica-online-dot { position:absolute; right:-2px; bottom:7px; width:20px; height:20px; border:4px solid rgba(255,255,255,.92); border-radius:50%; background:#12b76a; box-shadow:0 3px 10px rgba(18,183,106,.35); }
.vica-profile-intro { min-width:0; flex:1; }
.vica-profile-intro h1 { margin:5px 0 3px; color:var(--vica-text); font-size:clamp(29px,5vw,43px); line-height:1; letter-spacing:-.045em; overflow-wrap:anywhere; }
.vica-profile-intro p { margin:0; color:var(--vica-muted); font-size:13px; }
.vica-profile-photo-link { flex:0 0 auto; align-self:flex-start; padding:10px 13px; border:1px solid rgba(108,92,231,.17); border-radius:12px; color:#6c5ce7; background:rgba(255,255,255,.48); text-decoration:none; font-size:11px; font-weight:900; }
.vica-profile-welcome { position:relative; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:35px 0 18px; padding-top:24px; border-top:1px solid rgba(152,162,179,.16); }
.vica-profile-welcome h2 { margin:5px 0 0; font-size:22px; letter-spacing:-.025em; color:var(--vica-text); }
.vica-profile-badge { padding:8px 12px; border-radius:999px; color:#52606d; background:rgba(255,255,255,.55); border:1px solid rgba(255,255,255,.7); font-size:10px; font-weight:900; }
.vica-profile-details { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.vica-profile-detail { min-width:0; padding:16px 17px; border:1px solid rgba(255,255,255,.65); border-radius:18px; background:rgba(255,255,255,.40); }
.vica-profile-detail span,.vica-profile-detail strong { display:block; }
.vica-profile-detail span { margin-bottom:6px; color:#98a2b3; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.vica-profile-detail strong { color:#344054; font-size:13px; overflow-wrap:anywhere; }
.vica-profile-actions { position:relative; z-index:1; display:flex; gap:10px; margin-top:20px; }
.vica-profile-action { display:flex; align-items:center; justify-content:center; min-height:48px; padding:12px 17px; border-radius:14px; font-size:12px; font-weight:900; text-decoration:none; cursor:pointer; }
.vica-profile-action.primary { flex:1; color:#fff; background:linear-gradient(135deg,#6c5ce7,#00b894); box-shadow:0 12px 25px rgba(108,92,231,.17); }
.vica-profile-action.logout { border:1px solid rgba(152,162,179,.23); background:rgba(255,255,255,.52); color:#667085; }
.vica-profile-note { position:relative; z-index:1; margin:18px 0 0; text-align:center; color:#98a2b3; font-size:10px; }
.vica-profile-guest { max-width:520px; }
.vica-profile-guest .vica-profile-card { text-align:center; }
.vica-profile-orb { position:relative; z-index:1; width:62px; height:62px; display:grid; place-items:center; margin:0 auto 20px; border-radius:20px; color:#fff; font-size:24px; font-weight:900; background:linear-gradient(135deg,#6c5ce7,#00b894); box-shadow:0 15px 35px rgba(108,92,231,.22); }
.vica-profile-guest h2 { position:relative; z-index:1; margin:7px 0; color:var(--vica-text); font-size:28px; letter-spacing:-.04em; }
.vica-profile-guest p { position:relative; z-index:1; margin:0 0 22px; color:var(--vica-muted); font-size:13px; }
@media (max-width:620px) {
	.vica-profile-card { padding:23px 17px; border-radius:27px; }
	.vica-profile-hero { align-items:flex-start; flex-wrap:wrap; }
	.vica-profile-intro { padding-top:8px; }
	.vica-profile-photo-link { margin-left:auto; }
	.vica-profile-details { grid-template-columns:1fr; }
	.vica-profile-actions { flex-direction:column; }
	.vica-profile-welcome { align-items:flex-start; flex-direction:column; }
}

/* Smart [vicilook_auth_user] account state */
.vica-auth-user-wrap{display:inline-flex;align-items:center;max-width:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.vica-auth-user-login{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 14px;border:1px solid rgba(255,255,255,.68);border-radius:999px;color:#fff;background:linear-gradient(135deg,#6c5ce7,#00b894);box-shadow:0 9px 24px rgba(108,92,231,.18);cursor:pointer;font-size:11px;font-weight:900}
.vica-auth-user-login-dot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.15)}
.vica-auth-user-logged{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:10px;border:1px solid rgba(255,255,255,.66);border-radius:18px;background:rgba(255,255,255,.52);box-shadow:0 8px 24px rgba(16,24,40,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.vica-auth-user-avatar{width:31px;height:31px;flex:0 0 31px;object-fit:cover;border-radius:50%;background:#fff;border:1px solid rgba(255,255,255,.85)}
.vica-auth-user-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#344054;font-size:11px;font-weight:850}
.vica-auth-user-logout{padding:6px 8px;border:0;border-radius:999px;color:#667085;background:rgba(255,255,255,.58);cursor:pointer;font-size:9px;line-height:1;font-weight:900}
@media(max-width:480px){.vica-auth-user-name{max-width:110px}}


.vica-forgot-link { border: 0; padding: 0; background: transparent; color: #6c5ce7; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.vica-forgot-link:hover { text-decoration: underline; }
.vica-forgot-modal { z-index: 1000001; }
.vica-forgot-dialog { max-width: 520px; }
.vica-reset-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; background: linear-gradient(135deg, #f4f7ff, #eefbf8); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #101828; }
.vica-reset-card { width: min(520px, 100%); border: 1px solid rgba(255,255,255,.7); border-radius: 30px; background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(244,247,255,.68)); box-shadow: 0 28px 90px rgba(31,41,55,.18); backdrop-filter: blur(28px) saturate(140%); -webkit-backdrop-filter: blur(28px) saturate(140%); overflow: hidden; }
.vica-reset-brand { display:flex; justify-content:center; padding: 30px 28px 0; }
.vica-reset-card .vica-form-wrap { padding-top: 24px; }
.vica-reset-card h2 { margin-bottom: 10px; }
.vica-reset-note { color: #667085; font-size: 12px; margin: 0 0 16px; }
