@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";:root{--font-heading:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--bg-main:#f8fafc;--bg-card:#fff;--bg-subtle:#f1f5f9;--bg-accent:#eef2ff;--bg-header:#fffffff2;--text-main:#0f172a;--text-muted:#475569;--text-subtle:#64748b;--text-light:#94a3b8;--primary:#4f46e5;--primary-hover:#4338ca;--primary-subtle:#e0e7ff;--primary-text:#3730a3;--border:#e2e8f0;--border-focus:#6366f1;--success-bg:#f0fdf4;--success-text:#166534;--success-border:#bbf7d0;--warning-bg:#fffbeb;--warning-text:#92400e;--warning-border:#fef08a;--error-bg:#fef2f2;--error-text:#991b1b;--error-border:#fecaca;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px}[data-theme=dark]{--bg-main:#0f172a;--bg-card:#1e293b;--bg-subtle:#334155;--bg-accent:#1e1b4b;--bg-header:#0f172af2;--text-main:#f8fafc;--text-muted:#cbd5e1;--text-subtle:#94a3b8;--text-light:#64748b;--primary:#6366f1;--primary-hover:#4f46e5;--primary-subtle:#312e81;--primary-text:#c7d2fe;--border:#334155;--border-focus:#818cf8;--success-bg:#064e3b;--success-text:#a7f3d0;--success-border:#047857;--warning-bg:#451a03;--warning-text:#fde68a;--warning-border:#78350f;--error-bg:#450a0a;--error-text:#fecaca;--error-border:#7f1d1d;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #0000004d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;font-size:16px;overflow-x:hidden}body{font-family:var(--font-body);background-color:var(--bg-main);color:var(--text-main);flex-direction:column;min-height:100vh;line-height:1.5;transition:background-color .2s,color .2s;display:flex;overflow-x:hidden}#root{flex-direction:column;width:100%;min-height:100vh;display:flex;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-main);overflow-wrap:break-word;word-break:break-word;font-weight:700;line-height:1.25}p,span,div,a{overflow-wrap:break-word}img,canvas,svg,video{max-width:100%;height:auto}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem}@media (width>=640px){.container{padding:0 1.5rem}}.btn{font-family:var(--font-heading);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .15s ease-in-out;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 2px 4px #4f46e533}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #4f46e54d}.btn-secondary{background-color:var(--bg-card);color:var(--text-main);border-color:var(--border);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background-color:var(--bg-subtle);border-color:var(--text-subtle)}.btn-subtle{background-color:var(--bg-subtle);color:var(--text-muted)}.btn-subtle:hover{background-color:var(--border);color:var(--text-main)}.btn-danger{background-color:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.btn-danger:hover{opacity:.9}.btn-sm{border-radius:var(--radius-sm);min-height:38px;padding:.35rem .75rem;font-size:.8125rem}.btn-lg{border-radius:var(--radius-lg);min-height:48px;padding:.875rem 1.75rem;font-size:1.0625rem}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);max-width:100%;padding:1.25rem;transition:box-shadow .2s,border-color .2s,background-color .2s}@media (width>=640px){.card{padding:1.5rem}}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--text-subtle)}.form-group{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.form-label{color:var(--text-main);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;display:flex}.input-text,.input-select,.textarea{width:100%;min-height:44px;font-family:var(--font-body);color:var(--text-main);background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);outline:none;padding:.625rem .875rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s,background-color .2s,color .2s}.textarea{min-height:90px}.input-text:focus,.input-select:focus,.textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f133}.input-error{border-color:#ef4444!important}.input-error:focus{box-shadow:0 0 0 3px #ef444433!important}.error-text{color:var(--error-text);align-items:center;gap:.375rem;margin-top:.25rem;font-size:.8125rem;display:flex}.warning-box{background-color:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);border-radius:var(--radius-md);align-items:flex-start;gap:.625rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.badge{text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-primary{background-color:var(--primary-subtle);color:var(--primary-text)}.badge-success{background-color:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.badge-warning{background-color:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
