:root{--panton-navy: #1B2B3A;--panton-navy-light: #2A3F52;--panton-green: #6B7F5E;--panton-green-light: #8A9E7C;--panton-sand: #C8B99A;--panton-sand-light: #D4C9B0;--panton-cream: #F5F0E8;--panton-cream-dark: #EDE6DA;--panton-peach: #E8B4A0;--panton-peach-light: #F0CFC0;--panton-white: #FAFAF7;--panton-error: #C0564F;--panton-success: #6B7F5E;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", -apple-system, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(27, 43, 58, .06);--shadow-md: 0 4px 12px rgba(27, 43, 58, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:400;font-size:16px;line-height:1.5;color:var(--panton-navy);background-color:var(--panton-cream);min-height:100dvh;overflow-x:hidden}#root{min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em;line-height:1.2}h1{font-size:28px}h2{font-size:22px}h3{font-size:18px}p{color:var(--panton-navy-light);line-height:1.6}.label{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--panton-sand)}.page{flex:1;display:flex;flex-direction:column;padding:var(--space-lg);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px));max-width:480px;margin:0 auto;width:100%}.page-center{justify-content:center;align-items:center;text-align:center}.input-group{display:flex;flex-direction:column;gap:var(--space-xs)}.input-group label{font-size:13px;font-weight:500;color:var(--panton-navy)}input[type=email],input[type=password],input[type=text],input[type=tel],input[type=number],select,textarea{width:100%;padding:14px 16px;font-family:var(--font-body);font-size:16px;color:var(--panton-navy);background:var(--panton-white);border:1.5px solid var(--panton-cream-dark);border-radius:var(--radius-md);outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}input:focus,select:focus,textarea:focus{border-color:var(--panton-sand);box-shadow:0 0 0 3px #c8b99a33}input::placeholder{color:var(--panton-sand-light)}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C8B99A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:14px 24px;font-family:var(--font-body);font-size:15px;font-weight:500;letter-spacing:.02em;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;width:100%}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--panton-navy);color:var(--panton-cream)}.btn-primary:hover:not(:disabled){background:var(--panton-navy-light)}.btn-secondary{background:transparent;color:var(--panton-navy);border:1.5px solid var(--panton-cream-dark)}.btn-secondary:hover:not(:disabled){border-color:var(--panton-sand);background:var(--panton-white)}.btn-ghost{background:transparent;color:var(--panton-navy-light);padding:var(--space-sm) var(--space-md)}.btn-ghost:hover{color:var(--panton-navy)}.card{background:var(--panton-white);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.chip-group{display:flex;gap:var(--space-sm)}.chip{flex:1;padding:12px 16px;font-family:var(--font-body);font-size:14px;font-weight:400;color:var(--panton-navy-light);background:var(--panton-white);border:1.5px solid var(--panton-cream-dark);border-radius:var(--radius-full);cursor:pointer;text-align:center;transition:all .2s;-webkit-tap-highlight-color:transparent}.chip:hover{border-color:var(--panton-sand)}.chip.active{background:var(--panton-navy);color:var(--panton-cream);border-color:var(--panton-navy);font-weight:500}.avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--panton-cream-dark)}.avatar-placeholder{width:80px;height:80px;border-radius:50%;background:var(--panton-cream-dark);display:flex;align-items:center;justify-content:center;color:var(--panton-sand);font-size:28px;cursor:pointer;transition:background .2s}.avatar-placeholder:hover{background:var(--panton-sand-light)}.divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--panton-cream-dark)}.divider span{font-size:12px;color:var(--panton-sand);letter-spacing:.05em}.message{padding:12px 16px;border-radius:var(--radius-md);font-size:14px;line-height:1.4}.message-error{background:#fdf2f1;color:var(--panton-error);border:1px solid rgba(192,86,79,.15)}.message-success{background:#f2f5ef;color:var(--panton-success);border:1px solid rgba(107,127,94,.15)}.spinner{width:20px;height:20px;border:2px solid var(--panton-cream-dark);border-top-color:var(--panton-navy);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.link{color:var(--panton-navy);font-weight:500;text-decoration:none;border-bottom:1px solid var(--panton-sand-light);transition:border-color .2s}.link:hover{border-color:var(--panton-navy)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .5s ease-out both}.fade-up-1{animation-delay:.05s}.fade-up-2{animation-delay:.12s}.fade-up-3{animation-delay:.19s}.fade-up-4{animation-delay:.26s}.fade-up-5{animation-delay:.33s}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-2xl{margin-top:var(--space-2xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.text-center{text-align:center}.text-secondary{color:var(--panton-navy-light)}.text-sm{font-size:14px}.page{padding-bottom:calc(var(--space-lg) + 72px + env(safe-area-inset-bottom,0px))!important}
