:root{--granite-blue:#2d3a4a;--muted-navy:#1e293b;--soft-blue:#5c7a99;--mist-blue:#95b8d1;--baby-blue:#bdd5ea;--ice-blue:#dce9f3;--cloud:#f0f4f8;--white:#fff;--warm-gray:#f8f9fb;--border:#2d3a4a14;--border-strong:#2d3a4a26;--text-primary:#1e293b;--text-secondary:#5c7a99;--text-muted:#8eaabd;--accent:#95b8d1;--accent-soft:#95b8d126;--danger:#c9636e;--success:#6baa7d;--warning:#d4a257;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--space-4xl:40px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:999px;--shadow-sm:0 1px 3px #1e293b0f;--shadow-md:0 4px 12px #1e293b14;--shadow-lg:0 8px 24px #1e293b1a;--shadow-xl:0 12px 32px #1e293b1f;--font-display:"Playfair Display", Georgia, serif;--font-body:ui-rounded, "SF Pro Rounded", "Aptos", "Inter", "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--nav-height:68px;--nav-collapsed-height:32px;--header-height:56px;--bottom-nav-height:68px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;height:100%;font-size:16px}body{font-family:var(--font-body);color:var(--text-primary);background:var(--warm-gray);min-height:100dvh;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;height:100dvh;min-height:100dvh;display:flex;overflow:hidden}input,textarea,select,button{font-family:var(--font-body);color:inherit;background:0 0;border:none;outline:none;font-size:16px}button{cursor:pointer;touch-action:manipulation}a{color:inherit;text-decoration:none}.page-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + 20px);flex:1;overflow:hidden auto}body.nav-collapsed .page-scroll{padding-bottom:calc(var(--nav-collapsed-height) + var(--safe-bottom) + 20px)}.sheet-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1;overflow-y:auto}.sticky-save-bar{padding:var(--space-md) var(--space-xl);padding-bottom:calc(var(--safe-bottom) + var(--space-md));border-top:1px solid var(--border);background:var(--white);flex-shrink:0}@supports (height:100dvh){.sheet-keyboard-safe{max-height:96dvh}}.card{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.card-premium{background:linear-gradient(135deg, var(--white) 0%, var(--cloud) 100%);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-md);border:1px solid var(--border)}.heading-display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:600}.heading-lg{letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.2}.heading-md{letter-spacing:-.01em;font-size:18px;font-weight:600;line-height:1.3}.heading-sm{font-size:15px;font-weight:600;line-height:1.4}.text-body{color:var(--text-primary);font-size:15px;line-height:1.5}.text-secondary{color:var(--text-secondary);font-size:13px;line-height:1.4}.text-muted{color:var(--text-muted);font-size:12px}.btn-primary{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:var(--granite-blue);color:var(--white);border-radius:var(--radius-full);touch-action:manipulation;min-height:48px;font-size:15px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:active{opacity:.9;transform:scale(.97)}.btn-primary:disabled{opacity:.38;pointer-events:none}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:var(--accent-soft);color:var(--granite-blue);border-radius:var(--radius-full);touch-action:manipulation;min-height:48px;font-size:15px;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:active{transform:scale(.97)}.input-field{width:100%;padding:var(--space-md) var(--space-lg);background:var(--cloud);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);min-height:48px;font-size:16px;transition:border-color .2s}.input-field:focus{border-color:var(--mist-blue);background:var(--white)}.input-field::placeholder{color:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes breatheIn{0%{opacity:.4;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes breatheOut{0%{opacity:1;transform:scale(1)}to{opacity:.4;transform:scale(.7)}}@keyframes ripple{0%{opacity:.6;transform:scale(.8)}to{opacity:0;transform:scale(2.4)}}.animate-in{animation:.3s ease-out forwards fadeIn}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,body{max-width:100vw;overflow-x:hidden}::-webkit-scrollbar{width:0;height:0}@supports (-webkit-touch-callout:none){#root{height:100dvh;overflow:hidden}}
