:root{--bg:#FAFAF8;--surface:#FFFFFF;--surface-raised:#F5F4F0;--border:#E2E0D8;--border-strong:#D4D0C8;--text:#1A1A18;--text-secondary:#6B6860;--text-muted:#9B978E;--accent:#2D5A27;--accent-hover:#234A1F;--accent-light:#E8F0E6;--danger:#C43D2E;--danger-light:#FDE8E5;--warning:#C4622D;--warning-light:#FDF0E8;--success:#2D5A27;--success-light:#E8F0E6;--radius:8px;--radius-sm:4px;--shadow:0 1px 3px rgba(0,0,0,0.06);--shadow-md:0 4px 12px rgba(0,0,0,0.08)}@media (prefers-color-scheme:dark){:root{--bg:#111110;--surface:#1A1A18;--surface-raised:#222220;--border:#333330;--border-strong:#444440;--text:#E8E6E0;--text-secondary:#9B978E;--text-muted:#6B6860;--accent:#5BA352;--accent-hover:#6DB864;--accent-light:#1C2E1A;--danger:#E05545;--danger-light:#2E1410;--warning:#E07A3E;--warning-light:#2E1E14;--success:#5BA352;--success-light:#1C2E1A;--shadow:0 1px 3px rgba(0,0,0,0.2);--shadow-md:0 4px 12px rgba(0,0,0,0.3)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius);font-weight:600;font-size:14px;cursor:pointer;transition:background .15s,transform .1s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface-raised);color:var(--text);border:1px solid var(--border)}.btn-danger{background:var(--danger);color:#fff}.input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:14px;transition:border-color .15s}.input:focus{outline:none;border-color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.badge{display:inline-flex;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-danger{background:var(--danger-light);color:var(--danger)}