:root{--color-bg-canvas:#f7f2e3;--color-bg-surface:#f7f2e3;--color-bg-chrome:#e9dfc0;--color-border-default:#e2d9c1;--color-text-primary:#1e1a14;--color-text-muted:#6d655a;--color-text-on-brand:#ffffff;--color-brand:#1e1a14;--color-brand-dark:#000000;--color-brand-soft-bg:#ece3cb;--color-danger:#d02128;--color-danger-soft-bg:#fbeae8;--color-danger-soft-border:#f0c8c3;--color-warning-bg:#fdf0d5;--color-warning-text:#946200;--color-neutral-50:#f2ead6;--color-neutral-100:#ece3cb;--bg:var(--color-bg-canvas);--surface:var(--color-bg-surface);--border:var(--color-border-default);--text:var(--color-text-primary);--text-muted:var(--color-text-muted);--brand:var(--color-brand);--brand-dark:var(--color-brand-dark);--danger:var(--color-danger);--warning-bg:var(--color-warning-bg);--warning-text:var(--color-warning-text);--space-0-5:0.125rem;--space-1:0.25rem;--space-1-5:0.375rem;--space-1-75:0.4375rem;--space-2:0.5rem;--space-2-25:0.5625rem;--space-2-5:0.625rem;--space-2-75:0.6875rem;--space-3:0.75rem;--space-3-25:0.8125rem;--space-3-5:0.875rem;--space-4:1rem;--space-4-5:1.125rem;--space-5:1.25rem;--space-5-5:1.375rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--font-family-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-size-xs:0.6875rem;--font-size-sm:0.75rem;--font-size-sm-plus:0.8125rem;--font-size-base:0.875rem;--font-size-md:0.9375rem;--font-size-lg:1rem;--font-size-xl:1.25rem;--font-size-2xl:1.375rem;--font-size-3xl:1.625rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.1;--line-height-normal:1.5;--letter-spacing-wide:0.04em;--radius-xs:0.25rem;--radius-sm:0.375rem;--radius-sm-plus:0.4375rem;--radius-md:0.5rem;--radius-md-plus:0.5625rem;--radius-lg:0.625rem;--radius-xl:0.875rem;--radius-full:999px;--radius-circle:50%;--radius:var(--radius-lg);--border-width-1:1px;--shadow-sm:0 1px 3px rgba(20,30,15,0.08),0 1px 2px rgba(20,30,15,0.04);--shadow-md:0 8px 24px rgba(20,30,15,0.16);--shadow-lg:0 10px 30px rgba(20,40,15,0.12);--shadow:var(--shadow-sm);--z-nav:50;--gradient-login-bg:linear-gradient(160deg,var(--color-neutral-50) 0%,var(--color-neutral-100) 100%)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--color-bg-canvas);color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-md);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}h1,h2,h3{margin:0;font-weight:var(--font-weight-semibold)}.input,.select{width:100%;padding:var(--space-2-25) var(--space-2-75);border:var(--border-width-1) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--font-size-base)}.input:focus,.select:focus{outline:2px solid var(--color-brand);outline-offset:-1px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;gap:var(--space-1-5);padding:var(--space-2-25) var(--space-4-5);border:var(--border-width-1) solid transparent;border-radius:var(--radius-full);background:var(--color-brand);color:var(--color-text-on-brand);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.btn:hover{background:var(--color-brand-dark)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:transparent;border-color:var(--color-border-default);color:var(--color-text-primary)}.btn-ghost:hover{background:var(--color-bg-canvas)}.panel{background:var(--color-bg-surface);border:var(--border-width-1) solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);min-width:0}.panel-title{font-size:var(--font-size-lg);margin-bottom:var(--space-1)}.panel-subtitle{color:var(--color-text-muted);font-size:var(--font-size-sm-plus);margin-bottom:var(--space-4)}.badge{display:inline-block;padding:var(--space-0-5) var(--space-2-25);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.badge-review{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-ok{background:var(--color-brand-soft-bg);color:var(--color-brand-dark)}.badge-neutral{background:var(--color-border-default);color:var(--color-text-muted)}.badge-danger{background:var(--color-danger-soft-bg);color:var(--color-danger)}.error-text{color:var(--color-danger);font-size:var(--font-size-base)}.muted{color:var(--color-text-muted)}