*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-family: "Sora", system-ui, sans-serif;--color-bg: #0a0a0b;--color-bg-elevated: #141416;--color-bg-hover: #1c1c1f;--color-bg-active: #242428;--color-border: #2a2a2e;--color-border-focus: #f5a623;--color-text: #fafafa;--color-text-muted: #8a8a8e;--color-text-subtle: #5c5c60;--color-accent: #f5a623;--color-accent-hover: #ffc85c;--color-accent-glow: rgba(245, 166, 35, .15);--color-success: #34d399;--color-error: #f87171;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 40px var(--color-accent-glow);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px)}html{font-family:var(--font-family);font-size:16px;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100dvh;background:radial-gradient(ellipse 80% 50% at 50% -20%,var(--color-accent-glow),transparent),var(--color-bg)}#root{min-height:100dvh;display:flex;flex-direction:column}.app-loading{flex:1;display:flex;align-items:center;justify-content:center}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-container{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;padding-top:calc(24px + var(--safe-area-top));padding-bottom:calc(24px + var(--safe-area-bottom))}.auth-card{width:100%;max-width:400px;padding:48px 32px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),var(--shadow-glow);text-align:center}.auth-title{font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:8px;background:linear-gradient(135deg,var(--color-text),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{color:var(--color-text-muted);margin-bottom:32px}.app{flex:1;display:flex;flex-direction:column;max-width:600px;width:100%;margin:0 auto;padding:16px;padding-top:calc(16px + var(--safe-area-top));padding-bottom:calc(16px + var(--safe-area-bottom))}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.app-title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-text),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.user-info{display:flex;align-items:center;gap:12px}.user-name{font-size:.875rem;color:var(--color-text-muted)}.app-main{flex:1}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-family:inherit;font-size:1rem;font-weight:600;line-height:1;color:var(--color-bg);background:var(--color-accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);-webkit-tap-highlight-color:transparent}.button:hover{background:var(--color-accent-hover)}.button:active{transform:scale(.98)}.button:disabled{opacity:.5;cursor:not-allowed}.button--secondary{color:var(--color-text);background:var(--color-bg-elevated);border:1px solid var(--color-border)}.button--secondary:hover{background:var(--color-bg-hover);border-color:var(--color-text-subtle)}.button--ghost{padding:8px 12px;color:var(--color-text-muted);background:transparent;font-size:.875rem;font-weight:500}.button--ghost:hover{color:var(--color-text);background:var(--color-bg-hover)}.button--icon{padding:10px}.button--full{width:100%}.form-section{margin-bottom:24px}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:10px}.form-input{width:100%;padding:14px 16px;font-family:inherit;font-size:1rem;color:var(--color-text);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none}.form-input::placeholder{color:var(--color-text-subtle)}.form-input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-accent-glow)}.form-input--amount{font-size:1.5rem;font-weight:600;letter-spacing:-.01em}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);-webkit-tap-highlight-color:transparent}.checkbox-item:hover{background:var(--color-bg-hover)}.checkbox-item--checked{background:var(--color-accent-glow);border-color:var(--color-accent)}.checkbox-box{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border:2px solid var(--color-border);border-radius:4px;transition:background var(--transition-fast),border-color var(--transition-fast)}.checkbox-item--checked .checkbox-box{background:var(--color-accent);border-color:var(--color-accent)}.checkbox-box svg{width:12px;height:12px;stroke:var(--color-bg);stroke-width:3;opacity:0;transform:scale(.5);transition:opacity var(--transition-fast),transform var(--transition-fast)}.checkbox-item--checked .checkbox-box svg{opacity:1;transform:scale(1)}.checkbox-label{font-size:.9375rem;line-height:1.4;color:var(--color-text)}.checkbox-input{position:absolute;opacity:0;pointer-events:none}.radio-group{display:flex;gap:8px}.radio-item{flex:1;display:flex;align-items:center;justify-content:center;padding:14px 16px;font-size:.9375rem;font-weight:500;color:var(--color-text-muted);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);-webkit-tap-highlight-color:transparent}.radio-item:hover{background:var(--color-bg-hover);color:var(--color-text)}.radio-item--checked{background:var(--color-accent-glow);border-color:var(--color-accent);color:var(--color-accent)}.radio-input{position:absolute;opacity:0;pointer-events:none}.parser-container{margin-bottom:24px}.parser-trigger{width:100%;padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--color-bg-elevated);border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.parser-trigger:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.parser-trigger.dragging{background:var(--color-accent-glow);border-color:var(--color-accent)}.parser-icon{width:40px;height:40px;color:var(--color-accent)}.parser-text{font-size:.9375rem;color:var(--color-text-muted);text-align:center}.parser-text strong{color:var(--color-accent);font-weight:600}.parser-preview{position:relative;margin-top:12px;border-radius:var(--radius-md);overflow:hidden}.parser-preview img{width:100%;max-height:200px;object-fit:cover}.parser-preview-remove{position:absolute;top:8px;right:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#000000b3;border:none;border-radius:50%;cursor:pointer;transition:background var(--transition-fast)}.parser-preview-remove:hover{background:#000000e6}.parser-preview-remove svg{width:16px;height:16px;color:var(--color-text)}.parser-prompt{margin-top:12px}.parser-actions{display:flex;gap:8px;margin-top:12px}.other-input-container{margin-top:8px;padding-left:32px}.success-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px}.success-icon{width:80px;height:80px;margin-bottom:24px;color:var(--color-success)}.success-title{font-size:1.5rem;font-weight:700;margin-bottom:8px}.success-message{color:var(--color-text-muted);margin-bottom:32px}textarea.form-input{min-height:100px;resize:vertical}.error-message{padding:12px 16px;font-size:.875rem;color:var(--color-error);background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:var(--radius-md);margin-bottom:16px}.google-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 24px;font-family:inherit;font-size:1rem;font-weight:600;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);-webkit-tap-highlight-color:transparent}.google-button:hover{background:var(--color-bg-hover);border-color:var(--color-text-subtle)}.google-button svg{width:20px;height:20px}.parsing-indicator{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-bg-elevated);border:1px solid var(--color-accent);border-radius:var(--radius-md);margin-bottom:16px}.parsing-indicator .loading-spinner{width:20px;height:20px;border-width:2px}.parsing-text{font-size:.9375rem;color:var(--color-accent)}@media(max-width:480px){.auth-card{padding:32px 24px}.radio-group{flex-direction:column}.radio-item{justify-content:flex-start;padding-left:20px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}
