:root {
    --swz-primary: #0f766e;
    --swz-primary-dark: #115e59;
    --swz-bg: #f4f7f6;
}

body { background: var(--swz-bg); }
.app-sidebar { background: linear-gradient(180deg, #123b37 0%, #0b2522 100%) !important; }
.sidebar-brand { border-bottom-color: rgba(255,255,255,.08) !important; }
.sidebar-menu .nav-link.active { background: var(--swz-primary) !important; }
.swz-login-page { min-height: 100vh; display: grid; place-items: center; padding: 1.5rem; background: radial-gradient(circle at top right, #ccfbf1, transparent 40%), linear-gradient(135deg, #f0fdfa, #eef2ff); }
.login-box { width: min(100%, 430px); }
.swz-mark { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; color: white; font-weight: 800; background: linear-gradient(135deg, #14b8a6, #0f766e); box-shadow: 0 12px 24px rgba(15,118,110,.25); }
.login-unit-logo { width:72px;height:72px;object-fit:contain;display:block }
.metric { padding: 1.25rem; border-radius: 1rem; background: #f8fafc; }
.metric span, .metric strong { display: block; }
.metric span { color: #64748b; font-size: .86rem; margin-bottom: .4rem; }
.metric strong { color: #0f172a; font-size: 1.3rem; }
.superadmin-hero { min-height: 180px; padding: 2rem; border-radius: 1.25rem; color: white; display: flex; align-items: center; justify-content: space-between; overflow: hidden; background: radial-gradient(circle at 90% 20%, rgba(255,255,255,.2), transparent 30%), linear-gradient(135deg, #115e59, #0f766e 55%, #0d9488); box-shadow: 0 18px 38px rgba(15,118,110,.18); }
.superadmin-hero > i { font-size: 7rem; opacity: .18; transform: rotate(-8deg); }
.admin-menu-card { display: flex; align-items: center; gap: .9rem; min-height: 88px; padding: 1rem; border: 1px solid #e5e7eb; border-radius: 1rem; color: #0f172a; text-decoration: none; transition: .18s ease; }
.admin-menu-card:hover { color: #0f172a; border-color: #99f6e4; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(15,23,42,.07); }
.admin-menu-card strong, .admin-menu-card small { display: block; }
.admin-menu-card small { color: #64748b; line-height: 1.35; margin-top: .2rem; }
.admin-menu-icon { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border-radius: .85rem; font-size: 1.25rem; }
.color-teal { color: #0f766e; background: #ccfbf1; }.color-blue { color: #1d4ed8; background: #dbeafe; }.color-green { color: #15803d; background: #dcfce7; }.color-orange { color: #c2410c; background: #ffedd5; }.color-purple { color: #7e22ce; background: #f3e8ff; }.color-red { color: #b91c1c; background: #fee2e2; }.color-indigo { color: #4338ca; background: #e0e7ff; }
.activity-picker-heading { width: 58px; height: 58px; flex: 0 0 58px; display: grid; place-items: center; border-radius: 1rem; color: #fff; font-size: 1.5rem; background: linear-gradient(135deg, #14b8a6, #0f766e); }
.activity-picker-card { display: flex; align-items: center; gap: 1rem; min-height: 120px; padding: 1.25rem; border: 1px solid #e2e8f0; border-radius: 1rem; color: #0f172a; background: #fff; text-decoration: none; transition: .18s ease; }
.activity-picker-card:hover { color: #0f172a; border-color: #5eead4; transform: translateY(-3px); box-shadow: 0 14px 28px rgba(15,23,42,.09); }
.activity-picker-content { flex-grow: 1; }
.activity-picker-content strong, .activity-picker-content small { display: block; }
.activity-picker-content strong { font-size: 1.05rem; margin-bottom: .3rem; }
.activity-picker-content small { color: #64748b; line-height: 1.4; }
.activity-picker-arrow { color: #94a3b8; }
.activity-type-banner { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.25rem; border-radius: 1rem; }
.activity-type-banner .activity-type-icon { width: 48px; height: 48px; flex: 0 0 48px; display: grid; place-items: center; border-radius: .85rem; color: currentColor; background: rgba(255,255,255,.65); font-size: 1.35rem; }
.activity-type-banner small, .activity-type-banner strong, .activity-type-banner em { display: block; }
.activity-type-banner small { opacity: .75; font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.activity-type-banner strong { font-size: 1.1rem; }
.activity-type-banner em { opacity: .8; font-size: .82rem; font-style: normal; }
.table thead th { color: #475569; font-size: .8rem; text-transform: uppercase; letter-spacing: .035em; border-bottom-width: 1px; }
.pagination .page-link { color: var(--swz-primary); }.pagination .active .page-link { background: var(--swz-primary); border-color: var(--swz-primary); }
.required::after { content: " *"; color: #dc2626; }
.activity-detail-table th, .activity-detail-table td { padding: .7rem .5rem; }
.activity-detail-table .weight-input { min-width: 95px; }
.photo-card { border: 1px solid #e2e8f0; border-radius: .8rem; overflow: hidden; background: #fff; }
.photo-card img { display: block; width: 100%; height: 145px; object-fit: cover; }
.activity-timeline { position: relative; padding-left: 1.5rem; }
.activity-timeline::before { content: ""; position: absolute; left: .36rem; top: .4rem; bottom: .4rem; width: 2px; background: #ccfbf1; }
.timeline-item { position: relative; padding: 0 0 1.25rem .5rem; }
.timeline-item:last-child { padding-bottom: 0; }
.timeline-dot { position: absolute; left: -1.48rem; top: .3rem; width: .75rem; height: .75rem; border: 2px solid #fff; border-radius: 50%; background: var(--swz-primary); box-shadow: 0 0 0 2px #99f6e4; }
.report-stat { display: flex; align-items: center; gap: .85rem; min-height: 92px; padding: 1rem; border-radius: .85rem; background: #fff; box-shadow: 0 6px 18px rgba(15,23,42,.05); }
.report-stat > i { font-size: 1.55rem; }.report-stat small,.report-stat strong { display: block; }.report-stat small { color: #64748b; font-size: .78rem; }.report-stat strong { color: #0f172a; margin-top: .2rem; font-size: 1.05rem; }
.chart-wrap { position: relative; height: 320px; }
.performance-person { padding: 1.25rem; border-top: 1px solid #e2e8f0; }.performance-person:first-child { border-top: 0; }.performance-head { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }.performance-head strong,.performance-head small { display:block; }.performance-head small { color:#64748b; }.rank-badge { width: 38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:50%; color:#fff; font-weight:700; background:linear-gradient(135deg,#14b8a6,#0f766e); }.performance-score { color:#0f766e; font-size:1.55rem; font-weight:800; }.performance-score span { color:#94a3b8; font-size:.75rem; font-weight:500; }
.executive-hero { min-height: 190px; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2rem 2.25rem; border-radius:1.25rem; color:#fff; background:radial-gradient(circle at 78% 12%,rgba(255,255,255,.16),transparent 24%),linear-gradient(125deg,#0b3b35,#0f766e 60%,#14b8a6); box-shadow:0 20px 42px rgba(15,118,110,.2); }
.executive-hero h2 { margin:.45rem 0 .25rem; font-size:2rem; font-weight:800; }.executive-hero p { margin:0; color:rgba(255,255,255,.78); }.executive-eyebrow { font-size:.78rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:#99f6e4; }
.executive-hero-score { min-width:235px; padding:1.2rem 1.35rem; border:1px solid rgba(255,255,255,.2); border-radius:1rem; background:rgba(255,255,255,.1); backdrop-filter:blur(8px); }.executive-hero-score span,.executive-hero-score strong,.executive-hero-score small { display:block; }.executive-hero-score > span { font-size:.78rem; color:rgba(255,255,255,.72); }.executive-hero-score strong { margin:.15rem 0 .35rem; font-size:2.15rem; line-height:1; }.executive-hero-score small { display:inline; margin-left:.4rem; color:rgba(255,255,255,.68); }
.executive-kpi { display:flex; align-items:center; gap:1rem; min-height:118px; padding:1.15rem; border:1px solid #edf0f2; border-radius:1rem; background:#fff; box-shadow:0 7px 20px rgba(15,23,42,.05); }.executive-kpi-icon { width:50px; height:50px; flex:0 0 50px; display:grid; place-items:center; border-radius:.9rem; font-size:1.35rem; }.executive-kpi-copy span,.executive-kpi-copy strong,.executive-kpi-copy small { display:block; }.executive-kpi-copy > span { color:#64748b; font-size:.78rem; }.executive-kpi-copy strong { margin:.18rem 0 .38rem; color:#0f172a; font-size:1.15rem; }.executive-kpi-copy small { color:#94a3b8; font-size:.72rem; }
.executive-change { display:inline-block !important; font-size:.72rem; font-weight:700; }.executive-change.is-good { color:#16a34a; }.executive-change.is-bad { color:#dc2626; }.executive-hero .executive-change { display:inline-block !important; color:#fff; }
.executive-chart { position:relative; height:315px; }.executive-empty { height:315px; display:grid; place-content:center; justify-items:center; gap:.65rem; color:#94a3b8; }.executive-empty i { font-size:2rem; }
.executive-alert { display:flex; align-items:center; gap:.8rem; padding:.85rem 0; color:#0f172a; text-decoration:none; border-bottom:1px solid #eef2f7; }.executive-alert:last-child { border-bottom:0; }.executive-alert:hover { color:#0f766e; }.executive-alert-icon { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:.75rem; }.executive-alert strong,.executive-alert small { display:block; }.executive-alert strong { font-size:1.05rem; }.executive-alert small { color:#64748b; font-size:.78rem; }
.executive-status { display:flex; align-items:center; justify-content:space-between; padding:.65rem 0; border-bottom:1px solid #eef2f7; }.executive-status span { display:flex; align-items:center; gap:.65rem; color:#475569; }.status-dot { width:9px; height:9px; border-radius:50%; }
.admin-dashboard-hero { min-height:170px; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.8rem 2rem; border-radius:1.25rem; color:#fff; background:radial-gradient(circle at 85% 10%,rgba(255,255,255,.18),transparent 28%),linear-gradient(125deg,#123b37,var(--swz-primary)); box-shadow:0 18px 38px rgba(15,118,110,.18); }.admin-dashboard-hero h2 { margin:.35rem 0;font-size:1.8rem;font-weight:800 }.admin-dashboard-hero p { margin:0;color:rgba(255,255,255,.75) }.admin-dashboard-hero .form-label { color:rgba(255,255,255,.75);margin-bottom:.2rem }.admin-dashboard-eyebrow { font-size:.73rem;font-weight:800;letter-spacing:.08em;color:#ccfbf1 }
.admin-kpi-card { min-height:112px;display:flex;align-items:center;gap:1rem;padding:1.1rem;border:1px solid #e9eef2;border-radius:1rem;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.05) }.admin-kpi-card small,.admin-kpi-card strong,.admin-kpi-card em { display:block }.admin-kpi-card small { color:#64748b;font-size:.78rem }.admin-kpi-card strong { color:#0f172a;font-size:1.55rem;line-height:1.2 }.admin-kpi-card em { color:#94a3b8;font-size:.7rem;font-style:normal }
.admin-metric { padding:1rem;border-radius:.9rem;background:#f8fafc }.admin-metric i { color:var(--swz-primary);font-size:1.25rem }.admin-metric span,.admin-metric strong { display:block }.admin-metric span { margin-top:.45rem;color:#64748b;font-size:.74rem }.admin-metric strong { color:#0f172a;font-size:1rem }.target-progress span { color:#475569 }.target-progress .progress { height:8px;margin:.4rem 0 }.target-progress small { color:#94a3b8 }
.admin-status-row { display:flex;align-items:center;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid #eef2f7 }.admin-status-row span { display:flex;align-items:center;gap:.6rem;color:#475569 }.admin-recent { display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #eef2f7;color:#0f172a;text-decoration:none }.admin-recent:last-child { border-bottom:0 }.admin-recent:hover { color:var(--swz-primary) }.admin-recent-icon { width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:.7rem;color:var(--swz-primary);background:#ccfbf1 }.admin-recent strong,.admin-recent small { display:block }.admin-recent small { color:#64748b;font-size:.73rem }
.settings-section-title { margin:0 0 1rem;padding:.65rem .8rem;border-left:4px solid var(--swz-primary);border-radius:.35rem;background:#f0fdfa;color:#0f172a;font-weight:700 }.identity-preview { display:flex;flex-direction:column;align-items:center;padding:1.5rem;border:1px solid #dbe5e4;border-top:5px solid var(--preview-color);border-radius:1rem;text-align:center;background:#fff }.identity-preview img { width:76px;height:76px;object-fit:contain;margin-bottom:.8rem }.identity-logo-fallback { width:70px;height:70px;display:grid;place-items:center;margin-bottom:.8rem;border-radius:50%;color:#fff;background:var(--preview-color);font-size:1.35rem;font-weight:800 }.identity-preview small { color:#64748b }.identity-preview strong { margin:.25rem 0;color:#0f172a;font-size:1.08rem }.identity-preview span { color:var(--preview-color);font-size:.82rem;font-weight:700 }
@media (max-width: 767.98px) { .superadmin-hero { padding: 1.4rem; } .superadmin-hero > i { display: none; } .photo-card img { height: 120px; } .executive-hero { align-items:flex-start; flex-direction:column; padding:1.5rem; }.executive-hero-score { width:100%; min-width:0; }.executive-filter .col { display:none; } }
@media (max-width: 767.98px) { .admin-dashboard-hero { align-items:flex-start;flex-direction:column;padding:1.4rem }.admin-dashboard-hero form { width:100% } }

/* Interactive application shell */
.app-header { min-height:64px; border-bottom:1px solid rgba(15,23,42,.06); }
.app-content-header { padding-top:1.25rem; padding-bottom:.75rem; }
.app-content-header h3 { color:#0f172a; font-size:1.35rem; font-weight:800; letter-spacing:-.02em; }
.app-footer { display:flex; align-items:center; justify-content:space-between; padding:.85rem 1.25rem; color:#64748b; font-size:.82rem; background:#fff; border-top:1px solid #e8edf1; }
.app-footer strong { color:var(--swz-primary); }
.header-live-clock { align-items:center; gap:.45rem; color:#64748b; font-size:.75rem; font-variant-numeric:tabular-nums; }
.header-live-clock i { color:var(--swz-primary); }
.header-quick-action { box-shadow:0 7px 15px rgba(15,118,110,.18); }
.user-chip { align-items:center; gap:.55rem; padding:.25rem .65rem .25rem .3rem; border:1px solid #e5e7eb; border-radius:2rem; background:#fff; }
.user-chip-avatar { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,#14b8a6,var(--swz-primary)); font-size:.78rem; font-weight:800; }
.user-chip strong,.user-chip small { display:block; line-height:1.15; }.user-chip strong { color:#0f172a; font-size:.75rem; }.user-chip small { margin-top:.15rem; color:#94a3b8; font-size:.63rem; }
.page-refresh { color:#475569; transition:.2s ease; }.page-refresh:hover i { display:inline-block; transform:rotate(120deg); transition:.35s ease; }
.sidebar-menu .nav-link { margin:.12rem .65rem; border-radius:.65rem; transition:.18s ease; }.sidebar-menu .nav-link:hover { transform:translateX(3px); background:rgba(255,255,255,.08); }.sidebar-menu .nav-link.active { box-shadow:0 8px 18px rgba(0,0,0,.18); }.sidebar-menu .nav-icon { transition:.18s ease; }.sidebar-menu .nav-link:hover .nav-icon { transform:scale(1.1); }
.dashboard-link-card { color:inherit; text-decoration:none; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.dashboard-link-card:hover { color:inherit; transform:translateY(-4px); box-shadow:0 16px 34px rgba(15,23,42,.11) !important; }
.dashboard-link-card .card-corner-arrow { color:#94a3b8; transition:.2s ease; }.dashboard-link-card:hover .card-corner-arrow { color:var(--swz-primary); transform:translate(2px,-2px); }
.small-box.dashboard-link-card { display:block; overflow:hidden; }.small-box.dashboard-link-card .small-box-icon { transition:.25s ease; }.small-box.dashboard-link-card:hover .small-box-icon { transform:scale(1.08) rotate(-4deg); }.small-box-footer { display:flex; align-items:center; justify-content:space-between; padding:.45rem 1rem; color:rgba(255,255,255,.85); background:rgba(0,0,0,.08); font-size:.76rem; }
.swz-reveal { opacity:0; transform:translateY(12px); }.swz-ready .swz-reveal { opacity:1; transform:none; transition:opacity .42s ease var(--reveal-delay),transform .42s ease var(--reveal-delay),box-shadow .2s ease,border-color .2s ease; }
.progress { overflow:hidden; }.progress-bar { transform:scaleX(0); transform-origin:left center; transition:transform .8s cubic-bezier(.22,.8,.3,1); }.progress-bar.progress-ready { transform:scaleX(1); }
.metric-link { position:relative; display:block; color:inherit; text-decoration:none; border:1px solid transparent; transition:.2s ease; }.metric-link > i { color:var(--swz-primary); font-size:1.2rem; }.metric-link small { display:block; margin-top:.65rem; color:#94a3b8; font-size:.7rem; }.metric-link:hover { color:inherit; border-color:#99f6e4; background:#f0fdfa; transform:translateY(-2px); }
.role-dashboard-welcome { min-height:180px; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2rem; overflow:hidden; border-radius:1.25rem; color:#fff; background:radial-gradient(circle at 82% 4%,rgba(255,255,255,.19),transparent 28%),linear-gradient(125deg,#082f2b,var(--swz-primary) 62%,#14b8a6); box-shadow:0 18px 38px rgba(15,118,110,.18); }
.role-dashboard-welcome h2 { margin:.5rem 0 .25rem; font-size:1.85rem; font-weight:800; }.role-dashboard-welcome p { max-width:630px; margin:0; color:rgba(255,255,255,.76); }.dashboard-live-badge { display:inline-flex; align-items:center; gap:.4rem; font-size:.7rem; font-weight:800; letter-spacing:.07em; }.dashboard-live-badge i { color:#5eead4; font-size:.48rem; animation:livePulse 1.5s infinite; }.role-dashboard-actions { display:flex; gap:.65rem; flex-wrap:wrap; flex:0 0 auto; }
@keyframes livePulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.45; transform:scale(1.45); } }

/* Interactive login */
.swz-login-page { display:block; padding:0; background:#eef6f4; }
.swz-login-shell { width:100%; min-height:100vh; display:grid; grid-template-columns:minmax(420px,1.12fr) minmax(390px,.88fr); }
.swz-login-story { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:100vh; padding:clamp(2rem,5vw,5rem); overflow:hidden; color:#fff; background:linear-gradient(135deg,#052e2b 0%,#0f766e 58%,#14b8a6 100%); }
.swz-login-story::before { content:""; position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(to bottom,black,transparent 85%); }
.swz-login-story-content,.login-story-footer { position:relative; z-index:2; }.swz-login-story-content { margin:auto 0; max-width:690px; }
.login-orb { position:absolute; border-radius:50%; filter:blur(3px); background:rgba(255,255,255,.08); animation:orbFloat 8s ease-in-out infinite; }.login-orb-one { width:360px; height:360px; right:-100px; top:-80px; }.login-orb-two { width:220px; height:220px; left:-70px; bottom:70px; animation-delay:-4s; }
@keyframes orbFloat { 0%,100% { transform:translate(0,0); } 50% { transform:translate(-15px,20px); } }
.login-live-pill { display:inline-flex; align-items:center; gap:.55rem; padding:.45rem .75rem; border:1px solid rgba(255,255,255,.2); border-radius:2rem; color:#d1fae5; background:rgba(255,255,255,.08); font-size:.75rem; backdrop-filter:blur(8px); }.login-live-pill span { width:7px; height:7px; border-radius:50%; background:#5eead4; box-shadow:0 0 0 5px rgba(94,234,212,.12); animation:livePulse 1.5s infinite; }
.login-story-mark { width:70px; height:70px; display:grid; place-items:center; margin:2.4rem 0 1.5rem; border:1px solid rgba(255,255,255,.23); border-radius:1.25rem; background:rgba(255,255,255,.12); font-size:2rem; backdrop-filter:blur(8px); }.login-kicker { margin-bottom:.55rem; color:#99f6e4; font-size:.72rem; font-weight:800; letter-spacing:.13em; }.swz-login-story h2 { margin:0; font-size:clamp(2.3rem,4.3vw,4.6rem); font-weight:850; line-height:1.02; letter-spacing:-.045em; }.swz-login-story h2 span { color:#99f6e4; }.login-story-copy { max-width:610px; margin:1.25rem 0 2rem; color:rgba(255,255,255,.76); font-size:1rem; line-height:1.7; }
.login-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }.login-feature-grid > div { display:flex; align-items:center; gap:.8rem; padding:.8rem; border:1px solid rgba(255,255,255,.14); border-radius:.9rem; background:rgba(255,255,255,.07); transition:.2s ease; backdrop-filter:blur(5px); }.login-feature-grid > div:hover { transform:translateY(-2px); background:rgba(255,255,255,.12); }.login-feature-grid i { width:36px; height:36px; display:grid; place-items:center; flex:0 0 36px; border-radius:.65rem; color:#99f6e4; background:rgba(153,246,228,.12); }.login-feature-grid strong,.login-feature-grid small { display:block; }.login-feature-grid strong { font-size:.82rem; }.login-feature-grid small { color:rgba(255,255,255,.62); font-size:.69rem; }.login-story-footer { color:rgba(255,255,255,.55); font-size:.72rem; }
.swz-login-form-panel { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:100vh; padding:2rem clamp(1.5rem,5vw,5rem); background:rgba(255,255,255,.92); }.login-box { width:min(100%,470px); }.login-brand-row { display:flex; align-items:center; gap:.8rem; margin-bottom:3rem; }.login-brand-row small,.login-brand-row strong { display:block; }.login-brand-row small { color:#94a3b8; font-size:.7rem; }.login-brand-row strong { color:#0f172a; font-size:.95rem; }.login-heading h1 { margin:0 0 .45rem; color:#0f172a; font-size:1.85rem; font-weight:850; letter-spacing:-.025em; }.login-heading p { margin-bottom:2rem; color:#64748b; }.login-input-group { position:relative; }.login-input-group > i { position:absolute; z-index:2; left:1rem; top:50%; color:#94a3b8; transform:translateY(-50%); }.login-input-group .form-control { min-height:54px; padding-left:2.8rem; padding-right:3rem; border-color:#dbe3e8; border-radius:.85rem; font-size:.92rem; background:#f8fafc; transition:.2s ease; }.login-input-group .form-control:focus { border-color:var(--swz-primary); background:#fff; box-shadow:0 0 0 .23rem rgba(15,118,110,.1); }.login-input-group:focus-within > i { color:var(--swz-primary); }.password-toggle { position:absolute; z-index:3; right:.45rem; top:50%; width:40px; height:40px; border:0; border-radius:.65rem; color:#64748b; background:transparent; transform:translateY(-50%); }.password-toggle:hover { color:var(--swz-primary); background:#ecfdf5; }.login-submit { min-height:54px; border:0; border-radius:.85rem; background:linear-gradient(135deg,var(--swz-primary),#14b8a6); box-shadow:0 12px 24px rgba(15,118,110,.2); font-size:.94rem; font-weight:700; transition:.2s ease; }.login-submit:hover { transform:translateY(-2px); box-shadow:0 16px 30px rgba(15,118,110,.27); }.login-security-note { display:flex; align-items:flex-start; gap:.65rem; margin-top:1.5rem; padding:.8rem; border-radius:.75rem; color:#64748b; background:#f8fafc; font-size:.72rem; line-height:1.45; }.login-security-note i { color:var(--swz-primary); font-size:1rem; }.login-credit { margin-top:3rem; color:#94a3b8; font-size:.72rem; }.login-credit strong { color:var(--swz-primary); }
.login-submit.is-verifying { cursor:wait; transform:none; opacity:.94; pointer-events:none; }

@media (max-width: 991.98px) { .swz-login-shell { grid-template-columns:1fr; }.swz-login-story { min-height:auto; padding:2rem; }.swz-login-story-content { margin:0; }.login-story-mark,.login-feature-grid,.login-story-copy { display:none; }.swz-login-story h2 { margin-top:1.2rem; font-size:2rem; }.swz-login-form-panel { min-height:auto; padding:2.5rem 1.5rem; }.login-brand-row { margin-bottom:2rem; }.role-dashboard-welcome { align-items:flex-start; flex-direction:column; } }
@media (max-width: 575.98px) { .swz-login-story { padding:1.5rem; }.swz-login-story h2 { font-size:1.7rem; }.login-story-footer { margin-top:1.5rem; }.swz-login-form-panel { padding:2rem 1.15rem; }.login-heading h1 { font-size:1.55rem; }.role-dashboard-welcome { padding:1.4rem; }.role-dashboard-welcome h2 { font-size:1.45rem; }.role-dashboard-actions { width:100%; }.role-dashboard-actions .btn { flex:1; }.app-footer { justify-content:center; text-align:center; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }.swz-reveal { opacity:1; transform:none; }.progress-bar { transform:none; } }
