:root{--color-background: oklch(.98 .01 95);--color-foreground: oklch(.24 .01 50);--color-card: oklch(1 0 0);--color-card-foreground: oklch(.24 .01 50);--color-primary: oklch(.58 .17 39);--color-primary-foreground: oklch(.99 0 0);--color-secondary: oklch(.93 .03 85);--color-secondary-foreground: oklch(.3 .02 45);--color-muted-foreground: oklch(.5 .02 55);--color-accent: oklch(.91 .04 70);--color-accent-foreground: oklch(.28 .02 45);--color-border: oklch(.88 .02 80);--color-input: oklch(.88 .02 80);--color-ring: oklch(.58 .17 39);--font-sans: "Avenir Next", "Segoe UI", sans-serif;--shadow-card: 0 12px 30px rgb(81 53 21 / .08)}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(circle at top,rgb(255 255 255 / .8),transparent 32%),linear-gradient(180deg,#fff7eb,#f7f0e1);color:var(--color-foreground);font-family:var(--font-sans)}*{box-sizing:border-box}button,input,select{font:inherit}.container{display:flex;flex-direction:column;align-items:center;justify-content:center}.app-shell{min-height:100vh;justify-content:flex-start;padding:40px 16px}.card-surface{border:1px solid var(--color-border);border-radius:16px;background:var(--color-card);color:var(--color-card-foreground);box-shadow:var(--shadow-card)}.app-card{width:100%;max-width:400px;padding:20px}.login-card{display:flex;flex-direction:column;gap:20px}.page-title,.empty-state-title{margin:0;font-weight:600;letter-spacing:-.03em}.page-title{font-size:1.5rem}.empty-state-title{font-size:1.875rem;text-align:center}.auth-form,.expense-form{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}.auth-form{width:350px}.form-row{display:flex;justify-content:center;width:100%}.field-label{display:flex;flex-direction:column;gap:8px;width:350px;font-size:.875rem;font-weight:600;color:var(--color-foreground)}.form-control{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--color-input);border-radius:8px;background:var(--color-background);color:var(--color-foreground);font-size:16px;line-height:1.2;outline:none;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease,color .12s ease}.form-control::placeholder{color:var(--color-muted-foreground)}.form-control:focus{border-color:var(--color-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-ring) 22%,transparent)}.form-control:disabled{cursor:not-allowed;opacity:.5}.native-select{appearance:none}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;font-weight:600;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease,opacity .12s ease}.button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-ring) 22%,transparent)}.button:disabled{cursor:not-allowed;opacity:.5}.button-size-default{min-height:40px;padding:8px 16px;font-size:.875rem}.button-size-sm{min-height:36px;padding:8px 12px;font-size:.875rem}.button-size-lg{min-height:44px;padding:8px 32px;font-size:1rem}.button-default{background:var(--color-primary);color:var(--color-primary-foreground)}.button-default:hover:not(:disabled){opacity:.92}.button-secondary{background:var(--color-secondary);color:var(--color-secondary-foreground)}.button-secondary:hover:not(:disabled){opacity:.92}.button-ghost{background:transparent;color:var(--color-foreground)}.button-ghost:hover:not(:disabled){background:var(--color-accent);color:var(--color-accent-foreground)}.button-outline{border-color:var(--color-input);background:var(--color-background);color:var(--color-foreground)}.button-outline:hover:not(:disabled){background:var(--color-accent);color:var(--color-accent-foreground)}.button-link{padding:0;min-height:0;background:transparent;color:var(--color-primary);text-decoration:underline;text-underline-offset:4px}.buttons-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%}.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#0009}.modal-panel{width:calc(100vw - 2rem);max-width:400px;max-height:calc(100vh - 2rem);overflow-y:auto}.emails-page{display:flex;flex-direction:column;align-items:center}.page-block{margin:15px}.expenses-list{width:100%;max-width:360px;margin-top:48px;padding:0;border:1px solid var(--color-border);border-radius:16px;background:var(--color-card);list-style:none}.expense-list-item{list-style:none}.expense-item-button{display:flex;align-items:center;width:100%;padding:12px 16px;border:0;background:transparent;color:var(--color-foreground);font-size:.875rem;text-align:left;cursor:pointer;transition:background-color .12s ease}.expense-item-button:hover{background:var(--color-accent);color:var(--color-accent-foreground)}.expense-item-divider{width:100%;height:1px;background:var(--color-border)}.loading-card{gap:16px;padding:40px 32px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-card);box-shadow:var(--shadow-card)}.loading-title{font-size:1.125rem;font-weight:600}.spinner{display:inline-block;width:24px;height:24px;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;animation:spin .8s linear infinite}.loading-spinner{width:32px;height:32px;color:var(--color-primary)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:420px){.auth-form,.field-label{width:100%}}
