:root{color-scheme:light dark;--color-primary: #7c5cfc;--color-primary-h: #6a47e8;--surface: #ffffff;--surface-raised: #f8fafc;--surface-overlay: rgba(15, 23, 42, .5);--text-primary: #0f172a;--text-secondary: #64748b;--border: #e2e8f0;--color-error: #dc2626;--color-success: #16a34a;--color-warning: #d97706;--color-accent-reward: #9333ea;--color-on-primary: #ffffff;--color-brand-deep: #4c3fb5;--surface-tint: #f5f4fb;--text-body: #333333;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 18px;--fs-xl: 20px;--fs-2xl: 24px;--radius-sm: .5rem;--radius-md: .75rem;--radius-card: 16px;--radius-btn: 10px;--radius-pill: 999px;--duration-fast: .12s;--duration-base: .16s;--duration-slow: .3s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--sidebar-width: 240px;--shadow-card: 0 4px 12px rgba(0, 0, 0, .06);--shadow-raised: 0 1px 3px rgba(0, 0, 0, .1);--shadow-popover: 0 4px 12px rgba(15, 23, 42, .15);--shadow-drawer: 4px 0 24px rgba(0, 0, 0, .2)}@media(prefers-color-scheme:dark){:root{--color-primary: #9b81ff;--color-primary-h: #b29bff;--surface: #0f172a;--surface-raised: #1e293b;--surface-overlay: rgba(0, 0, 0, .7);--text-primary: #f8fafc;--text-secondary: #94a3b8;--border: #334155;--color-error: #ef4444;--color-success: #22c55e;--color-warning: #f59e0b;--color-accent-reward: #a855f7;--color-brand-deep: #6a47e8;--surface-tint: #0b1220;--text-body: #e2e8f0}}*{box-sizing:border-box}body{margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;background:var(--surface);color:var(--text-primary)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px var(--space-4);background:linear-gradient(160deg,color-mix(in srgb,var(--color-primary) 10%,var(--surface)),var(--surface))}.auth-card{width:min(400px,100%);background:var(--surface);border-radius:var(--radius-card);padding:var(--space-8) var(--space-7);box-shadow:0 4px 12px #0000000f;border:1px solid var(--border)}.auth-logo{display:flex;align-items:center;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-6)}.auth-logo img{width:48px;height:48px;object-fit:contain;display:block}.auth-logo strong{font-size:var(--fs-xl);font-weight:800;color:var(--text-primary)}.auth-title{font-size:var(--fs-xl);font-weight:700;margin:0 0 var(--space-1);text-align:center}.auth-sub{font-size:var(--fs-sm);color:var(--text-secondary);text-align:center;margin:0 0 var(--space-6)}.demo-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0 var(--space-2)}.demo-chip{font-size:var(--fs-2xs);padding:6px 10px;border-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:var(--duration-fast) var(--ease-standard)}.demo-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.field-wrapper{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field-wrapper label{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary)}.field-wrapper .req{color:var(--color-error)}.field-wrapper input,.field-wrapper textarea,.field-wrapper select{height:40px;padding:0 var(--space-3);border:1.5px solid var(--border);border-radius:var(--radius-btn);background:var(--surface);color:var(--text-primary);font-size:var(--fs-md);transition:var(--duration-fast) var(--ease-standard)}.field-wrapper input:focus,.field-wrapper textarea:focus,.field-wrapper select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent)}.field-error{font-size:var(--fs-xs);color:var(--color-error);margin:-8px 0 var(--space-4);display:none}.field-error--visible{display:block}.field-hint{font-size:var(--fs-xs);color:var(--text-secondary)}.btn{height:40px;padding:0 var(--space-5);border-radius:var(--radius-btn);font-size:var(--fs-md);font-weight:600;cursor:pointer;border:none;transition:var(--duration-fast) var(--ease-standard);display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background:var(--color-primary-h)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-outline{background:transparent;border:1.5px solid var(--border);color:var(--text-primary)}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-outline:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:0 var(--space-4);font-size:var(--fs-sm)}.btn-danger{background:var(--color-error);color:var(--color-on-primary)}.btn-block{width:100%}.toggle-row{display:flex;align-items:center;gap:10px;padding:var(--space-3);background:var(--surface-raised);border-radius:var(--radius-btn);margin-bottom:var(--space-4);cursor:pointer}.switch{position:relative;width:40px;height:24px;border-radius:var(--radius-md);background:var(--border);flex-shrink:0;transition:var(--duration-base) var(--ease-standard)}.switch .knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--color-on-primary);transition:var(--duration-base) var(--ease-standard);box-shadow:0 1px 2px #0003}.switch.on{background:var(--color-primary)}.switch.on .knob{transform:translate(16px)}.upload-field{display:block;width:100%;border:1.5px dashed var(--border);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:14px;cursor:pointer;transition:var(--duration-fast) var(--ease-standard)}.upload-field:hover{border-color:var(--color-primary)}.upload-field.uploaded{border-style:solid;border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 6%,transparent);cursor:default}.upload-placeholder{display:flex;align-items:center;gap:var(--space-3)}.upload-placeholder .upload-icon{width:22px;height:22px;flex-shrink:0;color:var(--color-primary)}.upload-placeholder strong{font-size:var(--fs-sm);display:block}.upload-placeholder span{font-size:var(--fs-2xs);color:var(--text-secondary)}.upload-preview{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm)}.upload-preview .upload-check{width:18px;height:18px;flex-shrink:0;color:var(--color-success)}.upload-preview span{flex:1;color:var(--text-primary);font-weight:600}.upload-preview button{background:none;border:none;color:var(--color-primary);font-size:var(--fs-xs);font-weight:700;cursor:pointer;padding:0}.auth-footer-link{text-align:center;font-size:var(--fs-sm);color:var(--text-secondary);margin-top:var(--space-4)}.auth-footer-link a{color:var(--color-primary);font-weight:600;cursor:pointer;text-decoration:none}.history-entry{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}.history-entry:last-child{border-bottom:none}.history-entry i{width:16px;height:16px;font-style:normal;color:var(--text-secondary);margin-top:2px;flex-shrink:0}.history-entry .name{flex:1;color:var(--text-primary);font-weight:500}.day-label{font-size:var(--fs-2xs);color:var(--text-secondary);font-weight:700;text-transform:uppercase;margin:var(--space-4) 0 var(--space-1);border:none;padding:0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-5)}@media(max-width:640px){.grid-2{grid-template-columns:1fr}}.auth-card--center{text-align:center}.auth-card--center .field-wrapper{text-align:left}.step-icon{width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--color-success) 16%,transparent);color:var(--color-success);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5);font-size:28px}.step-progress{font-size:var(--fs-xs);font-weight:600;color:var(--text-secondary);text-align:center;margin:calc(-1 * var(--space-3)) 0 var(--space-5);letter-spacing:.02em}.link-btn{background:none;border:none;padding:6px var(--space-2);font-size:var(--fs-sm);font-weight:600;font-family:inherit;color:var(--color-primary);cursor:pointer;border-radius:var(--radius-btn)}.link-btn:hover{text-decoration:underline}.link-btn:disabled{color:var(--text-secondary);cursor:not-allowed;text-decoration:none}.code-error{font-size:var(--fs-xs);color:var(--color-error);text-align:center;min-height:18px;margin:0 0 var(--space-3)}.field-error--static{display:block;margin:var(--space-1) 0 0}
