:root{--color-primary:#1a2b4a;--color-primary-hover:#152340;--color-secondary:#2a5a8f;--color-secondary-hover:#225080;--color-primary-tint:#e8edf4;--edition-accent:#2a5a8f;--edition-accent-hover:#225080;--edition-accent-tint:#e8edf4;--color-surface:#fff;--color-background:#f7f9fc;--color-background-alt:#eef2f7;--color-border:#c8d5e4;--color-border-subtle:#dde6f0;--color-text:#172033;--color-text-secondary:#3d4f66;--color-muted:#5f6b7a;--color-placeholder:#9aaabb;--color-success:#1a7a4a;--color-success-tint:#e6f4ec;--color-warning:#8a5a00;--color-warning-tint:#fef3e0;--color-error:#b91c1c;--color-error-tint:#fde8e8;--color-info:#1e5fa8;--color-info-tint:#e8f0fb;--radius-sm:6px;--radius-md:10px;--radius-card:16px;--radius-full:9999px;--shadow-sm:0 1px 3px #1a2b4a14;--shadow-card:0 12px 35px #1a2b4a14;--shadow-dropdown:0 8px 24px #1a2b4a1f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--transition-fast:.12s ease;--transition-base:.2s ease}[data-country=NA]{--edition-accent:#2a5a8f;--edition-accent-hover:#225080;--edition-accent-tint:#e8edf4}[data-country=ZA]{--edition-accent:#246b4f;--edition-accent-hover:#1d5c43;--edition-accent-tint:#e6f2ed}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}body{min-height:100dvh}a{color:var(--color-secondary);text-decoration:none}a:hover{text-decoration:underline}img,svg{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-shell{min-height:100vh;padding:var(--space-6);background:var(--color-background);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-surface);border-radius:var(--radius-card);width:100%;max-width:420px;box-shadow:var(--shadow-card);padding:var(--space-8)}.auth-logo{font-size:var(--text-2xl);color:var(--color-primary);text-align:center;margin-bottom:var(--space-8);letter-spacing:-.02em;font-weight:700}.auth-title{font-size:var(--text-xl);color:var(--color-text);margin-bottom:var(--space-2);font-weight:600}.auth-subtitle{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-6)}.auth-links{margin-top:var(--space-6);gap:var(--space-2);font-size:var(--text-sm);text-align:center;color:var(--color-muted);flex-direction:column;display:flex}.auth-divider{align-items:center;gap:var(--space-3);color:var(--color-muted);font-size:var(--text-sm);display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--color-border);flex:1}.btn-oauth{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);width:100%}.btn-oauth:hover:not(:disabled){background:var(--color-background-alt)}.form-stack{gap:var(--space-4);flex-direction:column;display:flex}.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.form-input{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast);width:100%}.form-input:focus{border-color:var(--color-secondary);outline:none;box-shadow:0 0 0 3px #2a5a8f1f}.form-input:disabled{background:var(--color-background);color:var(--color-muted);cursor:not-allowed}.form-input.is-error{border-color:var(--color-error)}.form-select{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);cursor:pointer;width:100%}.form-select:focus{border-color:var(--color-secondary);outline:none}.form-hint{font-size:var(--text-xs);color:var(--color-muted)}.form-error{font-size:var(--text-xs);color:var(--color-error)}.form-error-banner{padding:var(--space-3) var(--space-4);background:var(--color-error-tint);border:1px solid var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-error)}.form-success-banner{padding:var(--space-3) var(--space-4);background:var(--color-success-tint);border:1px solid var(--color-success);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-success)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);border:none;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;width:100%}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-primary-tint);color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-danger{background:var(--color-error-tint);color:var(--color-error)}.btn-danger:hover:not(:disabled){background:#fca5a5}.btn-ghost{color:var(--color-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-background-alt);color:var(--color-text)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.app-shell{background:var(--color-background);min-height:100dvh;display:flex}.app-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border-subtle);z-index:100;flex-direction:column;flex-shrink:0;width:220px;height:100dvh;display:flex;position:sticky;top:0;overflow-y:auto}.app-sidebar-header{padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.app-sidebar-brand{font-size:var(--text-lg);color:var(--color-primary);letter-spacing:-.02em;margin-bottom:var(--space-2);font-weight:700;text-decoration:none;display:block}.app-sidebar-brand:hover{color:var(--color-primary);text-decoration:none}.app-sidebar-tenant{font-size:var(--text-xs);color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-sidebar-nav{padding:var(--space-3) var(--space-2);flex-direction:column;gap:1px;display:flex}.app-sidebar-nav-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-muted);transition:background var(--transition-fast), color var(--transition-fast);justify-content:space-between;align-items:center;text-decoration:none;display:flex}.app-sidebar-nav-link:hover{background:var(--color-background-alt);color:var(--color-text);text-decoration:none}.app-sidebar-nav-link.is-active{background:var(--edition-accent-tint);color:var(--edition-accent);font-weight:500}.app-sidebar-badge{background:var(--color-error);color:#fff;border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:600;display:inline-flex}.app-sidebar-divider{background:var(--color-border-subtle);height:1px;margin:var(--space-1) var(--space-2)}.app-sidebar-footer{padding:var(--space-4);border-top:1px solid var(--color-border-subtle);margin-top:auto}.app-sidebar-admin-link{font-size:var(--text-xs);color:var(--color-primary);padding:4px var(--space-2);margin-bottom:var(--space-2);border-top:1px solid var(--color-border-subtle);padding-top:var(--space-3);font-weight:600;text-decoration:none;display:block}.app-sidebar-user{font-size:var(--text-xs);color:var(--color-muted);margin-bottom:var(--space-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tenant-switcher{position:relative}.tenant-switcher-trigger{width:100%;padding:var(--space-1) 0;cursor:pointer;font-size:var(--text-xs);color:var(--color-muted);text-align:left;justify-content:space-between;align-items:center;gap:var(--space-1);background:0 0;border:none;display:flex}.tenant-switcher-trigger:hover{color:var(--color-text)}.tenant-switcher-caret{flex-shrink:0;font-size:10px}.tenant-switcher-dropdown{top:calc(100% + var(--space-1));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);z-index:200;position:absolute;left:0;right:0;overflow:hidden}.tenant-switcher-option{width:100%;padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--text-xs);color:var(--color-text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.tenant-switcher-option:hover{background:var(--color-background-alt)}.tenant-switcher-option.is-active{color:var(--edition-accent);font-weight:500}.tenant-switcher-country{background:var(--color-background-alt);color:var(--color-muted);border-radius:var(--radius-sm);padding:1px 4px;font-size:10px}.app-content{flex-direction:column;flex:1;min-width:0;display:flex}.app-content-header{background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);height:52px;padding:0 var(--space-4);align-items:center;gap:var(--space-3);z-index:50;display:none;position:sticky;top:0}.app-sidebar-toggle{cursor:pointer;padding:var(--space-2);color:var(--color-text);font-size:var(--text-lg);border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:flex}.app-sidebar-toggle:hover{background:var(--color-background-alt)}.app-sidebar-overlay{z-index:99;background:#0006;display:none;position:fixed;inset:0}.app-main{padding:var(--space-8) var(--space-6);flex:1;width:100%;max-width:960px;margin:0 auto}@media (max-width:768px){.app-shell{flex-direction:column}.app-sidebar{width:280px;height:100%;transition:transform var(--transition-base);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-sidebar[data-open=true]{transform:translate(0)}.app-sidebar[data-open=true]+.app-sidebar-overlay{display:block}.app-content-header{display:flex}.app-main{padding:var(--space-5) var(--space-4)}}.page-title{font-size:var(--text-2xl);color:var(--color-text);letter-spacing:-.02em;margin-bottom:var(--space-6);font-weight:700}.page-section{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);padding:var(--space-6);margin-bottom:var(--space-6)}.page-section-title{font-size:var(--text-base);color:var(--color-text);margin-bottom:var(--space-4);font-weight:600}.alert{padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4)}.alert-warning{background:var(--color-warning-tint);color:var(--color-warning);border:1px solid #f5c948}.alert-info{background:var(--color-info-tint);color:var(--color-info);border:1px solid #93c5fd}.alert-success{background:var(--color-success-tint);color:var(--color-success);border:1px solid #6ee7b7}.alert-error{background:var(--color-error-tint);color:var(--color-error);border:1px solid #fca5a5}.qr-wrapper{align-items:center;gap:var(--space-4);padding:var(--space-6);background:var(--color-background);border-radius:var(--radius-md);border:1px dashed var(--color-border);flex-direction:column;display:flex}.qr-image{border-radius:var(--radius-sm);width:180px;height:180px}.secret-code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-background-alt);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);color:var(--color-text-secondary);letter-spacing:.05em;word-break:break-all;text-align:center}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);border-bottom:1px solid var(--color-border-subtle);font-weight:600}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.badge{padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;display:inline-block}.badge-pending{background:var(--color-warning-tint);color:var(--color-warning)}.badge-accepted{background:var(--color-success-tint);color:var(--color-success)}.badge-expired{background:var(--color-background-alt);color:var(--color-muted)}.badge-cancelled{background:var(--color-error-tint);color:var(--color-error)}.dashboard-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.dashboard-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);padding:var(--space-6)}.dashboard-card-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:var(--space-2);font-weight:600}.dashboard-card-value{font-size:var(--text-3xl);color:var(--color-text);letter-spacing:-.02em;font-weight:700}.dashboard-empty{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-muted)}.dashboard-empty-title{font-size:var(--text-xl);color:var(--color-text);margin-bottom:var(--space-2);font-weight:600}.row-actions{gap:var(--space-2);display:flex}.badge-info{background:var(--color-info-tint);color:var(--color-info)}.badge-active{background:var(--color-success-tint);color:var(--color-success)}.payroll-card-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.payroll-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.payroll-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.payroll-card-name{font-size:var(--text-base);color:var(--color-text);font-weight:600}.payroll-card-role{font-size:var(--text-xs);color:var(--color-muted);margin-top:2px}.payroll-card-actions{margin-top:auto}.onboarding-shell{min-height:calc(100dvh - 52px);padding:var(--space-10) var(--space-6);background:var(--color-background);justify-content:center;align-items:flex-start;display:flex}.onboarding-card{background:var(--color-surface);border-radius:var(--radius-card);width:100%;max-width:520px;box-shadow:var(--shadow-card);padding:var(--space-8)}.onboarding-logo{font-size:var(--text-2xl);color:var(--color-primary);letter-spacing:-.02em;margin-bottom:var(--space-6);font-weight:700}.onboarding-progress{gap:var(--space-2);margin-bottom:var(--space-6);display:flex}.onboarding-progress-step{border-radius:var(--radius-full);background:var(--color-border-subtle);height:4px;transition:background var(--transition-base);flex:1}.onboarding-progress-step.is-done,.onboarding-progress-step.is-current{background:var(--edition-accent)}.onboarding-progress-step.is-current{opacity:.6}.onboarding-step-title{font-size:var(--text-xl);color:var(--color-text);letter-spacing:-.02em;margin-bottom:var(--space-2);font-weight:700}.onboarding-step-desc{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-6);line-height:1.6}.onboarding-choice-grid{gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column;display:flex}.onboarding-choice{padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;text-align:left;transition:border-color var(--transition-fast), background var(--transition-fast);flex-direction:column;align-items:flex-start;width:100%;display:flex}.onboarding-choice:hover,.onboarding-choice.is-selected{border-color:var(--edition-accent);background:var(--edition-accent-tint)}.onboarding-choice-title{font-size:var(--text-base);color:var(--color-text);margin-bottom:var(--space-1);font-weight:600}.onboarding-choice-desc{font-size:var(--text-xs);color:var(--color-muted)}.onboarding-actions{gap:var(--space-3);margin-top:var(--space-6);display:flex}.onboarding-actions .btn-primary{flex:1}.onboarding-review{background:var(--color-background);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.onboarding-review-row{font-size:var(--text-sm);justify-content:space-between;display:flex}.onboarding-review-row span:first-child{color:var(--color-muted)}.onboarding-review-row span:last-child{color:var(--color-text);font-weight:500}.onboarding-popia{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.onboarding-popia-label{gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;align-items:flex-start;line-height:1.5;display:flex}.onboarding-popia-checkbox{cursor:pointer;flex-shrink:0;width:16px;height:16px;margin-top:2px}.profile-meta{gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.profile-meta-item{flex-direction:column;gap:2px;display:flex}.profile-meta-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-weight:600}.profile-meta-value{font-size:var(--text-sm);color:var(--color-text);font-weight:500}
