:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#1a365d;--color-primary-light:#2a4a7f;--color-primary-dark:#0f2440;--color-accent:#3182ce;--color-accent-hover:#2b6cb0;--color-bg:#f7fafc;--color-bg-card:#fff;--color-bg-sidebar:#1a365d;--color-bg-input:#fff;--color-bg-hover:#edf2f7;--color-bg-active:#e2e8f0;--color-border:#e2e8f0;--color-border-focus:#3182ce;--color-border-input:#8592a6;--color-text:#1a202c;--color-text-secondary:#5a6577;--color-text-tertiary:#64748b;--color-text-inverse:#fff;--color-text-link:#2b6cb0;--color-success:#38a169;--color-warning:#ecc94b;--color-error:#e53e3e;--color-info:#3182ce;--color-success-text:#276749;--color-warning-text:#975a16;--color-error-text:#c53030;--color-heading:#1a365d;--color-bg-primary:var(--color-bg-card);--color-bg-secondary:var(--color-bg);--btn-accent-bg:#2b6cb0;--btn-accent-hover:#2c5282;--btn-danger-bg:#c53030;--btn-danger-hover:#9b2c2c;--btn-success-bg:#2f855a;--btn-success-hover:#276749;--badge-success-bg:#c6f6d5;--badge-success-fg:#22543d;--badge-warning-bg:#fefcbf;--badge-warning-fg:#744210;--badge-error-bg:#fed7d7;--badge-error-fg:#742a2a;--badge-info-bg:#bee3f8;--badge-info-fg:#2a4365;--badge-neutral-bg:#e2e8f0;--badge-neutral-fg:#4a5568;--alert-error-bg:#fff5f5;--alert-error-fg:#742a2a;--alert-error-border:#feb2b2;--alert-success-bg:#f0fff4;--alert-success-fg:#22543d;--alert-success-border:#9ae6b4;--alert-info-bg:#ebf8ff;--alert-info-fg:#2a4365;--alert-info-border:#90cdf4;--alert-warning-bg:ivory;--alert-warning-fg:#744210;--alert-warning-border:#fefcbf;--skeleton-base:#e2e8f0;--skeleton-shine:#edf2f7;--upload-active-bg:#ebf8ff;--focus-glow:#3182ce26;--color-male:#bee3f8;--color-female:#fbb6ce;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, 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;--sidebar-width:220px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#2c5282;--color-primary-light:#2b6cb0;--color-primary-dark:#1a365d;--color-accent:#63b3ed;--color-accent-hover:#90cdf4;--color-bg:#0f172a;--color-bg-card:#1e293b;--color-bg-sidebar:#0b1424;--color-bg-input:#0f172a;--color-bg-hover:#273449;--color-bg-active:#334155;--color-border:#334155;--color-border-focus:#63b3ed;--color-border-input:#718096;--color-text:#e2e8f0;--color-text-secondary:#a0aec0;--color-text-tertiary:#94a3b8;--color-text-inverse:#fff;--color-text-link:#90cdf4;--color-success:#48bb78;--color-warning:#ecc94b;--color-error:#f56565;--color-info:#63b3ed;--color-success-text:#68d391;--color-warning-text:#f6e05e;--color-error-text:#fc8181;--color-heading:#bee3f8;--badge-success-bg:#1c4532;--badge-success-fg:#9ae6b4;--badge-warning-bg:#5f370e;--badge-warning-fg:#faf089;--badge-error-bg:#63171b;--badge-error-fg:#feb2b2;--badge-info-bg:#1a365d;--badge-info-fg:#bee3f8;--badge-neutral-bg:#334155;--badge-neutral-fg:#e2e8f0;--alert-error-bg:#3b1219;--alert-error-fg:#feb2b2;--alert-error-border:#9b2c2c;--alert-success-bg:#10291c;--alert-success-fg:#9ae6b4;--alert-success-border:#276749;--alert-info-bg:#0f2a44;--alert-info-fg:#bee3f8;--alert-info-border:#2c5282;--alert-warning-bg:#3a2a0a;--alert-warning-fg:#faf089;--alert-warning-border:#975a16;--skeleton-base:#1e293b;--skeleton-shine:#273449;--upload-active-bg:#0f2a44;--focus-glow:#63b3ed40;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 6px -1px #00000080, 0 2px 4px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -2px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;line-height:1.6}h1{font-size:var(--text-2xl);margin-bottom:var(--space-md);color:var(--color-heading);font-weight:700}h2{font-size:var(--text-xl);margin-bottom:var(--space-sm);color:var(--color-heading);font-weight:600}h3{font-size:var(--text-lg);margin-bottom:var(--space-sm);font-weight:600}.h3{font-size:var(--text-lg);color:inherit}.h4{color:inherit;font-size:1rem;font-weight:700}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=url],textarea,select{border:1px solid var(--color-border-input);border-radius:var(--radius-sm);width:100%;font-family:inherit;font-size:var(--text-sm);background:var(--color-bg-input);color:var(--color-text);padding:8px 12px;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--focus-glow);outline:none}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.sidebar :focus-visible{outline-color:#fff}.language-switch{margin-top:var(--space-sm);gap:2px;display:flex}.language-switch button{border-radius:var(--radius-sm);color:#ffffffd9;font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid #ffffff4d;flex:1;padding:4px 6px}.language-switch button[aria-pressed=true]{color:#fff;background:#ffffff26;font-weight:600}.language-switch-light{justify-content:center;gap:var(--space-xs);margin-top:var(--space-md)}.language-switch-light button{border-color:var(--color-text-tertiary);color:var(--color-text-secondary);flex:none;padding:4px 12px}.language-switch-light button[aria-pressed=true]{background:var(--color-bg-active);color:var(--color-text)}main:focus{outline:none}.skip-link{left:var(--space-sm);z-index:100;padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);color:var(--color-text-link);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);position:absolute;top:-100px}.skip-link:focus{top:var(--space-sm)}label,.form-label{font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-xs);font-weight:500;display:block}.btn{align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;padding:8px 16px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-primary-light)}.btn-accent{background:var(--btn-accent-bg);color:var(--color-text-inverse)}.btn-accent:hover{background:var(--btn-accent-hover)}.btn-outline{border-color:var(--color-border);color:var(--color-text);background:0 0}.btn-outline:hover{background:var(--color-bg-hover)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-text)}.btn-sm{font-size:var(--text-xs);padding:4px 10px}.btn-lg{font-size:var(--text-base);padding:12px 24px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--btn-danger-bg);color:var(--color-text-inverse)}.btn-danger:hover{background:var(--btn-danger-hover)}.btn-success{background:var(--btn-success-bg);color:var(--color-text-inverse)}.btn-success:hover{background:var(--btn-success-hover)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent);transition:box-shadow .2s,border-color .2s}.badge{border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.025em;align-items:center;padding:2px 8px;font-weight:600;display:inline-flex}.badge-success{background:var(--badge-success-bg);color:var(--badge-success-fg)}.badge-warning{background:var(--badge-warning-bg);color:var(--badge-warning-fg)}.badge-error{background:var(--badge-error-bg);color:var(--badge-error-fg)}.badge-info{background:var(--badge-info-bg);color:var(--badge-info-fg)}.badge-neutral{background:var(--badge-neutral-bg);color:var(--badge-neutral-fg)}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border);font-size:var(--text-sm);padding:10px 12px}.table th{color:var(--color-text-secondary);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.table tbody tr:hover{background:var(--color-bg-hover)}.stat-card{text-align:center;padding:var(--space-lg)}.stat-value{font-size:var(--text-3xl);color:var(--color-heading);font-weight:700;line-height:1}.stat-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-xs)}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--color-text-secondary)}.empty-state-icon{margin-bottom:var(--space-sm);opacity:.5;font-size:2rem}.tabs{border-bottom:2px solid var(--color-border);margin-bottom:var(--space-lg);gap:0;display:flex}.tab{font-family:inherit;font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 16px;font-weight:500;transition:color .15s,border-color .15s}.tab:hover{color:var(--color-text)}.tab-active{color:var(--color-text-link);border-bottom-color:var(--color-accent)}.form-group{margin-bottom:var(--space-md)}.form-row{gap:var(--space-md);display:flex}.form-row>*{flex:1}.form-help{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-xs)}.form-error{font-size:var(--text-xs);color:var(--color-error-text);margin-top:var(--space-xs)}.alert{border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:var(--space-md);white-space:pre-line;padding:12px 16px}.alert-error{background:var(--alert-error-bg);color:var(--alert-error-fg);border:1px solid var(--alert-error-border)}.alert-success{background:var(--alert-success-bg);color:var(--alert-success-fg);border:1px solid var(--alert-success-border)}.alert-info{background:var(--alert-info-bg);color:var(--alert-info-fg);border:1px solid var(--alert-info-border)}.alert-warning{background:var(--alert-warning-bg);color:var(--alert-warning-fg);border:1px solid var(--alert-warning-border)}.progress{background:var(--color-border);border-radius:var(--radius-full);height:6px;overflow:hidden}.progress-bar{border-radius:var(--radius-full);height:100%;transition:width .3s}.skeleton{background:linear-gradient(90deg, var(--skeleton-base) 25%, var(--skeleton-shine) 50%, var(--skeleton-base) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.page-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.page-header h1{margin-bottom:0}.content-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}.detail-row{border-bottom:1px solid var(--color-border);font-size:var(--text-sm);padding:8px 0;display:flex}.detail-label{width:140px;color:var(--color-text-secondary);flex-shrink:0;font-weight:500}.detail-value{flex:1}.upload-area{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-2xl) var(--space-lg);text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.upload-area:hover,.upload-area:focus-within,.upload-area-active{border-color:var(--color-accent);background:var(--upload-active-bg)}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-bg-sidebar);color:var(--color-text-inverse);flex-direction:column;flex-shrink:0;display:flex}.sidebar-brand{color:#fff;font-weight:700;font-size:var(--text-lg);border-bottom:1px solid #ffffff1a;padding:20px 16px;text-decoration:none;display:block}.sidebar-brand:hover{color:#fff;text-decoration:none}.sidebar-nav{flex:1;padding:8px 0}.nav-link{color:#ffffffb3;font-size:var(--text-sm);background:0 0;border-left:3px solid #0000;align-items:center;gap:10px;padding:10px 16px;font-weight:400;text-decoration:none;transition:background .15s;display:flex}.nav-link:hover{color:#fff;background:#ffffff0d;text-decoration:none}.nav-link-active{color:#fff;border-left-color:var(--color-accent);background:#ffffff1a;font-weight:600}.nav-icon{text-align:center;width:20px;font-size:1rem}.sidebar-footer{border-top:1px solid #ffffff1a;padding:12px 16px}.sidebar-user{color:inherit;align-items:center;gap:10px;margin-bottom:8px;text-decoration:none;display:flex}.sidebar-avatar{background:var(--color-accent);width:32px;height:32px;font-size:var(--text-xs);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.sidebar-user-name{font-size:var(--text-sm);color:#fff;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.sidebar-user-email{font-size:var(--text-xs);color:#ffffff80;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-tenant{font-size:var(--text-xs);color:#fff6;margin-bottom:8px;padding-left:42px}.btn-signout{color:#fff9;cursor:pointer;font-family:inherit;font-size:var(--text-xs);border-radius:var(--radius-sm);background:0 0;border:1px solid #fff3;width:100%;padding:4px 12px;transition:background .15s}.btn-signout:hover{background:#ffffff1a}.mobile-bar{align-items:center;gap:var(--space-sm);z-index:10;padding:8px var(--space-md);background:var(--color-bg-sidebar);color:var(--color-text-inverse);display:none;position:sticky;top:0}.menu-toggle{border-radius:var(--radius-sm);color:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff4d;width:40px;height:40px;font-size:1.25rem;line-height:1}.mobile-brand{color:#fff;font-weight:700;text-decoration:none}.mobile-brand:hover{color:#fff;text-decoration:none}.main-wrapper{flex-direction:column;flex:1;display:flex;overflow:auto}.main-content{padding:var(--space-lg);flex:1;max-width:1200px}.dashboard-grid{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.section-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.card-link{color:inherit;text-decoration:none}.card-link:hover{text-decoration:none}.action-card{align-items:center;gap:var(--space-sm);display:flex}.action-icon{opacity:.5;text-align:center;width:24px;font-size:1.1rem}.auth-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-container{width:100%;padding:var(--space-xl)}.auth-container-login{max-width:420px}.auth-container-register{max-width:460px}.auth-header{text-align:center;margin-bottom:var(--space-xl)}.auth-footer{margin-top:var(--space-lg);text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.btn-full{width:100%}.page-narrow{max-width:900px}.page-wide{max-width:1100px}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.grid{display:grid}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr 1fr}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-mono{font-family:var(--font-mono)}.text-center{text-align:center}.text-right{text-align:right}.font-semibold{font-weight:600}.person-card{margin-bottom:var(--space-sm);padding:var(--space-md);cursor:pointer}.person-card-name{font-weight:600;font-size:var(--text-base);color:var(--color-heading);margin-bottom:2px}.person-card-dates{color:var(--color-text-secondary);font-size:var(--text-sm)}.results-header{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.pagination{justify-content:center;align-items:center;gap:var(--space-xs);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);display:flex}.pagination-ellipsis{color:var(--color-text-tertiary);padding:0 4px}.section-divider{margin-top:var(--space-xl);border-top:1px solid var(--color-border);padding-top:var(--space-lg)}.progress-inline{width:60px;margin-left:var(--space-xs);vertical-align:middle;display:inline-block}.audit-event{margin-bottom:var(--space-sm);padding:var(--space-md)}.code-block{background:var(--color-bg);padding:var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:pre-wrap;border:1px solid var(--color-border);max-height:300px;overflow:auto}.code-block-xs{font-size:var(--text-xs);max-height:200px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.controls-bar{padding:var(--space-md);margin-bottom:var(--space-lg)}.controls-layout{gap:var(--space-lg);flex-wrap:wrap;align-items:center;display:flex}.control-label{font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-xs);font-weight:600;display:block}.tabs-inline{margin-bottom:0}.legend{margin-top:var(--space-md);padding:var(--space-md)}.legend-title{margin:0 0 var(--space-sm);font-size:var(--text-sm);color:var(--color-text-secondary)}.legend-items{gap:var(--space-lg);font-size:var(--text-sm);display:flex}.legend-item{align-items:center;gap:var(--space-xs);display:flex}.legend-swatch{border-radius:4px;width:16px;height:16px;display:inline-block}.upload-icon{margin-bottom:var(--space-sm);opacity:.4;font-size:2rem}.upload-text{font-weight:500}.file-info{margin-top:var(--space-md);align-items:center;gap:var(--space-md);display:flex}.similarity-header{margin-bottom:var(--space-xs);justify-content:space-between;align-items:center;display:flex}.similarity-value{font-weight:700;font-size:var(--text-lg)}.blazon-layout{gap:var(--space-lg);grid-template-columns:1fr 240px;display:grid}.blazon-textarea{width:100%;min-height:100px;padding:var(--space-sm);font-family:inherit;font-size:var(--text-base);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical}.svg-preview{max-width:200px;margin:0 auto}.table td.td-label{font-weight:600}.table td.td-mono{font-family:var(--font-mono);font-size:var(--text-sm)}.card-compact{padding:var(--space-md)}.card-flush{padding:0;overflow:hidden}.progress-wide{width:120px;margin-left:var(--space-sm);vertical-align:middle;display:inline-block}.ml-auto{margin-left:auto}@media (width<=768px){.form-row{flex-direction:column}.content-grid,.dashboard-grid,.grid-2,.grid-3,.blazon-layout{grid-template-columns:1fr}.app-layout{flex-direction:column}.mobile-bar{display:flex}.sidebar{z-index:30;visibility:hidden;width:min(80vw,280px);transition:transform .2s,visibility .2s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.sidebar-open{visibility:visible;transform:translate(0)}.sidebar-backdrop{z-index:20;background:#0f172a73;position:fixed;inset:0}.main-content{padding:var(--space-md)}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.dialog-backdrop{z-index:50;padding:var(--space-md);background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{width:100%;max-width:440px;box-shadow:var(--shadow-md);margin:0}.dialog-actions{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md);display:flex}.toast-region{right:var(--space-md);bottom:var(--space-md);z-index:60;gap:var(--space-sm);width:min(380px, calc(100vw - 2 * var(--space-md)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-sm);box-shadow:var(--shadow-md);pointer-events:auto;margin:0;display:flex}.toast-text{flex:1}.toast-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1.1rem;line-height:1}.auth-divider{align-items:center;gap:var(--space-sm);margin:var(--space-md) 0;color:var(--color-text-secondary);font-size:var(--text-sm);display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--color-border);flex:1}
