*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Outfit,sans-serif;background:#fafaf8;color:#1a1a1a;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.sticky-header{position:fixed;top:0;left:0;right:0;height:64px;background:rgba(250,250,248,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #ebebeb;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.page-body{padding-top:64px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.84);opacity:0}65%{transform:scale(1.06)}100%{transform:scale(1);opacity:1}}@keyframes checkPop{0%{transform:scale(0) rotate(-20deg)}65%{transform:scale(1.15) rotate(3deg)}100%{transform:scale(1) rotate(0)}}@keyframes slideIn{from{transform:translateX(40px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes tickerSlide{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse2{0%,100%{opacity:1}50%{opacity:.4}}@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.fadeUp{animation:fadeUp .38s ease both}.fadeIn{animation:fadeIn .3s ease both}.slideIn{animation:slideIn .35s ease both}.btn-hover:hover{opacity:.9;transform:translateY(-1px);transition:all .15s ease}input:focus,select:focus,textarea:focus{outline:0;border-color:#2e7d32!important;box-shadow:0 0 0 3px rgba(46,125,50,.12)}select{appearance:auto}textarea{resize:vertical}.tab{cursor:pointer;padding:8px 16px;border-radius:10px;font-weight:600;font-size:14px;transition:all .2s;border:none;background:0 0;font-family:inherit;color:#888}.tab.active{background:#e8f5e9;color:#2e7d32}.tab:hover:not(.active){background:#f5f5f5;color:#444}.prog-track{background:#ebebeb;border-radius:6px;height:8px;overflow:hidden}.prog-fill{height:100%;border-radius:6px;transition:width .6s ease}.badge-active{background:#e8f5e9;color:#2e7d32}.badge-overdue{background:#ffebee;color:#c62828}.badge-paid{background:#e3f2fd;color:#1565c0}.badge-pending{background:#fff8e1;color:#e65100}.live-dot{width:8px;height:8px;border-radius:50%;background:#00a651;animation:pulse2 1.4s ease-in-out infinite;flex-shrink:0}.feed-item{animation:tickerSlide .35s ease both}.marquee-wrap{overflow:hidden;white-space:nowrap}.marquee-inner{display:inline-flex;gap:0;animation:marqueeScroll 38s linear infinite}.marquee-inner:hover{animation-play-state:paused}.marquee-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #e8f5e9;border-radius:30px;padding:6px 14px;font-size:12px;font-weight:600;color:#333;margin:0 6px;white-space:nowrap;box-shadow:0 1px 4px rgba(0,0,0,.05)}.calc-slider{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:6px;outline:0;cursor:pointer}.calc-slider::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--thumb-color,#2e7d32);cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.2);border:3px solid #fff;transition:transform .15s,box-shadow .15s}.calc-slider::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 4px 16px rgba(0,0,0,.28)}.calc-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--thumb-color,#2e7d32);cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.2);border:3px solid #fff}.seg-btn{cursor:pointer;border-radius:12px;font-weight:700;font-size:13px;transition:all .2s;border:1.5px solid transparent;background:0 0;font-family:inherit;padding:10px 14px;display:flex;flex-direction:column;align-items:center;gap:4px}.seg-btn.active{border-color:currentColor}.seg-btn:hover:not(.active){background:#f5f5f5}.sched-row:nth-child(2n){background:#fafafa}.copy-btn:hover{background:#c8e6c9!important}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}@media (max-width:600px){.sticky-header{padding:0 14px}.hdr-calc-btn{display:none!important}.hdr-logo-text{font-size:17px!important}}@media (max-width:400px){.hdr-apply-btn span.apply-txt{display:none}}