@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-bg:#faf9f7;--color-surface:#fff;--color-text:#2c2c2c;--color-text-light:#6b6b6b;--color-text-lighter:#9a9a9a;--color-accent:#5b8a72;--color-accent-hover:#4a7660;--color-accent-light:#e8f0eb;--color-border:#e5e2de;--color-error:#c44545;--color-error-bg:#fdf2f2;--color-success:#5b8a72;--color-success-bg:#e8f0eb;--color-gold:#c4a35a;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.6}#app{flex-direction:column;min-height:100vh;display:flex}.container{max-width:600px;padding:0 var(--spacing-lg);width:100%;margin:0 auto}.page{padding:var(--spacing-2xl) 0;flex:1}.page-centered{flex:1;justify-content:center;align-items:center;min-height:80vh;display:flex}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .3s,transform .3s}.page-fade-enter-from{opacity:0;transform:translateY(6px)}.page-fade-leave-to{opacity:0;transform:translateY(-6px)}.nav{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) 0;z-index:100;position:sticky;top:0}.nav .container{justify-content:space-between;align-items:center;display:flex}.nav-brand{font-weight:700;font-size:var(--font-size-lg);color:var(--color-accent);text-decoration:none}.nav-links{align-items:center;gap:var(--spacing-md);list-style:none;display:flex}.nav-links a{color:var(--color-text-light);font-size:var(--font-size-sm);font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a.router-link-active{color:var(--color-accent)}.nav-links button{color:var(--color-text-light);font-size:var(--font-size-sm);cursor:pointer;font-weight:500;font-family:var(--font-family);background:0 0;border:none;transition:color .2s}.nav-links button:hover{color:var(--color-error)}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);font-family:var(--font-family);font-size:var(--font-size-base);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;padding:.625rem 1.25rem;font-weight:500;line-height:1.4;text-decoration:none;transition:all .2s;display:inline-flex}.btn:hover{border-color:var(--color-text-lighter);box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-secondary{background:var(--color-accent-light);color:var(--color-accent);border-color:var(--color-accent-light)}.btn-secondary:hover{background:#d8e8dd}.btn-ghost{color:var(--color-text-light);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--color-accent-light);color:var(--color-accent)}.btn-large{font-size:var(--font-size-lg);border-radius:var(--radius-lg);padding:.875rem 2rem}.btn-full{width:100%}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{font-size:var(--font-size-sm);color:var(--color-text);margin-bottom:var(--spacing-xs);font-weight:500;display:block}.form-input{width:100%;font-family:var(--font-family);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);outline:none;padding:.625rem .875rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.form-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.modal-overlay{z-index:1000;padding:var(--spacing-lg);background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-2xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);animation:.3s fadeInUp}.divider{align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0;color:var(--color-text-lighter);font-size:var(--font-size-sm);display:flex}.divider:before,.divider:after{content:"";background:var(--color-border);flex:1;height:1px}.spinner{border:2.5px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}.spinner-large{width:40px;height:40px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in-up{animation:.5s both fadeInUp}.fade-in-up-1{animation-delay:.1s}.fade-in-up-2{animation-delay:.2s}.fade-in-up-3{animation-delay:.3s}.fade-in-up-4{animation-delay:.4s}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}
