*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #2B7A8C;--color-primary-hover: #1F5F6E;--color-primary-light: #D6EEF2;--color-primary-bg: #F4FAFB;--color-accent: #3BA0B5;--color-danger: #C0392B;--color-danger-light: #FEF0EE;--color-success: #27AE60;--color-success-light: #EAFAF1;--color-text: #1B2D33;--color-text-secondary: #4A6670;--color-text-muted: #8BA5AE;--color-bg: #EEF5F7;--color-surface: #F4FAFB;--color-border: #D0E2E7;--color-border-light: #E4EFF2;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(27,45,51,.04);--shadow-md: 0 4px 12px rgba(27,45,51,.06);--shadow-lg: 0 8px 30px rgba(27,45,51,.1);--glass-bg: rgba(244, 250, 251, .6);--glass-border: rgba(255, 255, 255, .5)}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--color-text);min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(160deg,#eef5f7,#e0eff4,#d6eef2 60%,#eef5f7);background-size:300% 300%;animation:bg-shift 25s ease infinite}@keyframes bg-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}body:before,body:after{content:"";position:fixed;border-radius:50%;pointer-events:none;z-index:0;filter:blur(90px);opacity:.25}body:before{width:500px;height:500px;background:radial-gradient(circle,rgba(59,160,181,.25),transparent 70%);top:-120px;right:-120px;animation:orb-float-1 28s ease-in-out infinite}body:after{width:420px;height:420px;background:radial-gradient(circle,rgba(43,122,140,.18),transparent 70%);bottom:-100px;left:-100px;animation:orb-float-2 32s ease-in-out infinite}@keyframes orb-float-1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-50px,70px) scale(1.08)}66%{transform:translate(35px,-35px) scale(.95)}}@keyframes orb-float-2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(45px,-55px) scale(1.05)}66%{transform:translate(-25px,45px) scale(.92)}}#root{min-height:100dvh;display:flex;flex-direction:column;position:relative;z-index:1}button,a,input[type=submit],input[type=button]{min-height:44px;min-width:44px}button{cursor:pointer;font:inherit}input,select,textarea{font:inherit;width:100%;padding:.625rem .875rem;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:#ffffff8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--color-text);transition:border-color .3s,box-shadow .3s,background .3s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2b7a8c1f,0 0 16px #2b7a8c0f;background:#ffffffbf}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-hover);text-decoration:underline}::selection{background:var(--color-primary-light);color:var(--color-text)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}@media(min-width:640px){.container{padding:0 1.5rem}}@media(min-width:1024px){.container{padding:0 2rem}}@keyframes fab-pulse{0%,to{box-shadow:0 4px 14px #2b7a8c59}50%{box-shadow:0 4px 24px #2b7a8c80,0 0 36px #3ba0b526}}button:not(:disabled):hover{filter:brightness(1.05);box-shadow:0 4px 16px #2b7a8c1f;transform:translateY(-1px);transition:all .25s ease}button:not(:disabled):active{transform:translateY(0) scale(.98);transition:all .1s ease}button{transition:all .25s ease}nav button:hover{background:#d6eef280!important;box-shadow:0 0 12px #2b7a8c14}input:hover,select:hover,textarea:hover{border-color:#2b7a8c4d;box-shadow:0 0 8px #2b7a8c0f}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}div[style*=backdrop-filter]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 70%);background-size:200% 100%;animation:shimmer 8s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes today-pulse{0%,to{box-shadow:0 0 #2b7a8c4d}50%{box-shadow:0 0 0 6px #2b7a8c00}}#root>*{animation:page-fade-in .4s ease-out}@keyframes page-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2b7a8c33;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#2b7a8c59}.nav-mobile{display:none}@media(max-width:640px){.nav-desktop{display:none!important}.nav-mobile{display:block}}
