:root{--tb-blue: #3a5fc8;--tb-blue-light: #eef2fb;--tb-blue-dim: #2a4ba0;--tb-dark: #1a1916;--tb-mid: #6b6760;--tb-dim: #aeaba4;--tb-border: #dedbd6;--tb-soft: #e8e6e2;--tb-bg: #f5f4f1;--tb-card: #ffffff;--tb-green: #176640;--tb-green-bg: #eaf5ef;--tb-green-bd: #a8dcbf;--tb-amber: #7a4e10;--tb-amber-bg: #fef7ec;--tb-amber-bd: #f4d090;--tb-red: #8a2828;--tb-red-bg: #fdf0f0}html,body,#root{min-height:100%}html{font-family:DM Sans,system-ui,sans-serif}body{margin:0;background:var(--tb-bg);color:var(--tb-dark);font-family:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}button,input,select,textarea{font:inherit}a{color:inherit}@keyframes barEnterX{0%{transform:scaleX(0);opacity:0}60%{transform:scaleX(1.03)}to{transform:scaleX(1);opacity:var(--target-op, 1)}}@keyframes stemGrow{0%{transform:scaleY(0);opacity:0}60%{transform:scaleY(1.03)}to{transform:scaleY(1);opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes barPulse{0%,to{opacity:var(--rest, 1)}50%{opacity:1}}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes barAccentGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes splashExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.02)}}@keyframes progressExpand{0%{width:0%}to{width:100%}}@keyframes dotBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes dotSequence{0%,20%{opacity:.2}40%{opacity:1}60%,to{opacity:.2}}@keyframes spinSmooth{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ringDraw{0%{stroke-dashoffset:201}to{stroke-dashoffset:0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.85)}60%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes checkDraw{0%{stroke-dashoffset:30}to{stroke-dashoffset:0}}@keyframes barWipe{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tb-page-enter{animation:fadeUp .4s ease .2s both}.tb-card-enter{opacity:0;animation:cardSlideUp .5s ease forwards}.tb-skeleton-shimmer{position:relative;overflow:hidden}.tb-skeleton-shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 1.5s infinite}
