[data-theme=light]{--bg-color:#ffffff;--text-color:#000000;--error-text:#e20434;--button-gradient-start:#009846;--button-gradient-end:#ef7f1a;--button-gradient-hover-start:#007d3e;--button-gradient-hover-end:#d96f14;--button-hover-bg:#1f2937;--link-color:#0d63ac;--border-color:#d1d5db;--input-bg:#f9fafb;--ring-color:#009846;--shadow-color:rgba(0,0,0,0.1);--muted-bg:#e5e7eb;--muted-foreground:#6b7280}[data-theme=dark]{--bg-color:#0f0f0f;--text-color:#d1d5db;--error-text:#d60230;--button-gradient-start:#007a3d;--button-gradient-end:#d97706;--button-gradient-hover-start:#006a34;--button-gradient-hover-end:#c25f05;--button-hover-bg:#1f2937;--link-color:#3b82f6;--border-color:#374151;--input-bg:#1f2937;--ring-color:#007a3d;--shadow-color:rgba(0,0,0,0.3);--muted-bg:#374151;--muted-foreground:#9ca3af}.logo-glow-strong{filter:drop-shadow(0 0 6px rgba(241,142,52,.9)) drop-shadow(0 0 12px rgba(241,142,52,.8)) drop-shadow(0 0 20px rgba(241,142,52,.6))}.dotted-line{background-image:linear-gradient(180deg,#d1d5db 50%,transparent 0);background-size:1px 8px}.bg-theme{background-color:var(--bg-color)}.text-theme{color:var(--text-color)}.text-destructive{color:var(--error-text)}input,select,textarea{background-color:var(--input-bg);border-color:var(--border-color);color:var(--text-color)}input:focus,select:focus,textarea:focus{outline:none;box-shadow:0 0 0 2px var(--ring-color);border-color:var(--ring-color)}.btn{background:linear-gradient(to right,var(--button-gradient-start),var(--button-gradient-end));color:white;border:none;padding:.5rem 1rem;transition:background .3s ease,transform .2s ease}.btn:hover{background:linear-gradient(to right,var(--button-gradient-hover-start),var(--button-gradient-hover-end));transform:translateY(-1px)}.btn:disabled{background:var(--muted-bg);color:var(--muted-foreground);transform:none}a{color:var(--link-color);text-decoration:none;transition:color .3s ease}a:hover{color:var(--text-color);text-decoration:underline}.shadow-md{box-shadow:0 4px 6px -1px var(--shadow-color),0 2px 4px -1px var(--shadow-color)}