:root{--color-bg: #ffffff;--color-bg-alt: #f5f5f5;--color-text: #1a1a1a;--color-text-muted: #4a4a4a;--color-accent: #7ba100;--color-accent-hover: #6b8a00;--color-accent-light: rgba(123, 161, 0, .12);--color-border: #e0e0e0;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.page{min-height:100vh;padding:3rem 2rem;max-width:640px;margin:0 auto}.page__title{margin:0 0 2rem;font-size:1.75rem;font-weight:600;letter-spacing:-.02em}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;font-family:inherit;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.btn--primary{background:var(--color-accent);color:#fff}.btn--primary:hover{background:var(--color-accent-hover)}.btn--secondary{background:var(--color-bg-alt);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover{background:#ebebeb}.btn-group{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.link{color:var(--color-accent);text-decoration:none;font-weight:500;transition:color .2s ease}.link:hover{color:var(--color-accent-hover)}.status{padding:1rem 1.25rem;background:var(--color-bg-alt);border-radius:8px;font-size:.9375rem;color:var(--color-text-muted);border-left:4px solid var(--color-accent)}.status--success{color:var(--color-text);border-left-color:var(--color-accent)}.status--error{border-left-color:#c62828;color:#c62828}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text)}.file-input{display:block;width:100%;padding:.75rem 1rem;font-size:.9375rem;font-family:inherit;background:var(--color-bg-alt);border:2px dashed var(--color-border);border-radius:8px;cursor:pointer;transition:border-color .2s ease,background .2s ease}.file-input:hover,.file-input:focus{border-color:var(--color-accent);background:var(--color-accent-light);outline:none}.upload-form{background:var(--color-bg-alt);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem}.card{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}.card__subtitle{margin:0 0 1rem;color:var(--color-text-muted)}
