:root{--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-success:#16a34a;--color-warning:#f59e0b;--color-bg-page:#f5f5f5;--color-bg-card:#fff;--color-bg-error:#fee2e2;--color-bg-warning:#fef3c7;--color-bg-success:#f0fdf4;--color-bg-badge:#f3f4f6;--color-text-primary:#1f2937;--color-text-secondary:#666;--color-text-error:#dc2626;--color-text-success:#16a34a;--color-border:#ddd;--color-border-warning:#fbbf24;--color-border-success:#bbf7d0;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:0.75rem;--spacing-lg:0.875rem;--spacing-xl:1rem;--spacing-2xl:1.5rem;--radius-sm:4px;--radius-md:8px;--radius-pill:9999px;--font-xs:0.75rem;--font-sm:0.875rem;--font-base:1rem;--font-normal:400;--font-medium:500;--font-semibold:600;--shadow-card:0 2px 10px rgba(0,0,0,.1)}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--color-text-primary)}.page-main{min-height:100vh;background-color:var(--color-bg-page);padding:var(--spacing-xl)}.page-container{max-width:600px;margin:0 auto}.page-container-wide{max-width:800px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2xl)}.page-title{font-size:1.5rem;font-weight:600;margin:0}.card{background-color:var(--color-bg-card);padding:var(--spacing-2xl);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.card,.card-title{margin-bottom:var(--spacing-xl)}.card-title{font-size:var(--font-base);font-weight:600;color:var(--color-text-primary)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.link-back{padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-bg-card);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-sm);text-decoration:none;transition:background-color .2s ease}.link-back:hover{background-color:var(--color-bg-page)}.btn{padding:var(--spacing-lg);border:none;border-radius:var(--radius-sm);font-size:var(--font-base);font-weight:var(--font-medium);cursor:pointer;transition:background-color .2s ease;width:100%;text-align:center}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-bg-card);color:var(--color-text-secondary);border:1px solid var(--color-border);font-size:var(--font-sm);width:auto}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-page)}.btn-danger{padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-danger);color:#fff;font-size:var(--font-sm);width:auto}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover)}.alert{padding:var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xl);font-size:var(--font-sm)}.alert-error{background-color:var(--color-bg-error);color:var(--color-text-error)}.alert-warning{background-color:var(--color-bg-warning);border:1px solid var(--color-border-warning)}.alert-success,.alert-warning{padding:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.alert-success{background-color:var(--color-bg-success);border:1px solid var(--color-border-success)}.input-field{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-base)}.input-field:focus{outline:none;border-color:var(--color-primary)}.badge{padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-bg-badge);color:var(--color-text-secondary);border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:var(--font-medium);display:inline-block}.text-sm{font-size:var(--font-sm)}.text-xs{font-size:var(--font-xs)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.text-secondary{color:var(--color-text-secondary)}.mb-1{margin-bottom:var(--spacing-xl)}.mb-2{margin-bottom:var(--spacing-2xl)}.mt-1{margin-top:var(--spacing-xl)}