@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-app: #FAF8F5;--bg-card: #FFFFFF;--bg-card-subtle: #FDFCFB;--bg-warm-tint: #FFF9F2;--border-light: #ECE7DF;--border-medium: #DDD6CA;--border-focus: #4A90E2;--text-primary: #1E293B;--text-secondary: #64748B;--text-muted: #94A3B8;--text-inverse: #FFFFFF;--text-warm: #3D2E1F;--accent-green: #55B57A;--accent-green-bg: #E8F7EE;--accent-green-border: #A3E2B8;--accent-green-hover: #48A06B;--accent-orange: #F4804E;--accent-orange-bg: #FFF0E8;--accent-orange-border: #FDBDA0;--accent-orange-hover: #E06D3E;--accent-blue: #4A90E2;--accent-blue-bg: #EAF3FF;--accent-blue-border: #BCD8FC;--accent-blue-hover: #3D7FD1;--accent-purple: #8C68CD;--accent-purple-bg: #F3EDFD;--accent-purple-border: #D4BFF9;--accent-purple-hover: #7B57BC;--accent-yellow: #F5B83D;--accent-yellow-bg: #FEF7E6;--accent-yellow-border: #FCE09B;--accent-yellow-hover: #E5A82D;--accent-sky: #38BDF8;--accent-sky-bg: #EFF9FF;--accent-sky-border: #BAE6FD;--accent-red: #EF4444;--accent-red-bg: #FEE2E2;--accent-red-border: #FCA5A5;--shadow-sm: 0 1px 3px rgba(45, 30, 15, .05), 0 1px 2px rgba(45, 30, 15, .03);--shadow-md: 0 4px 14px rgba(45, 30, 15, .06), 0 1px 3px rgba(45, 30, 15, .04);--shadow-lg: 0 10px 25px -3px rgba(45, 30, 15, .08), 0 4px 8px -2px rgba(45, 30, 15, .04);--shadow-pop: 0 14px 34px rgba(60, 40, 20, .09);--shadow-warm: 0 6px 20px rgba(60, 40, 20, .08);--shadow-card-hover: 0 8px 28px rgba(60, 40, 20, .1), 0 2px 6px rgba(60, 40, 20, .04);--shadow-glow-green: 0 4px 16px rgba(85, 181, 122, .25);--shadow-glow-blue: 0 4px 16px rgba(74, 144, 226, .25);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 22px;--radius-xl: 28px;--radius-full: 9999px;--sidebar-width: 96px;--header-height: 74px;--font-main: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Nunito", "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-smooth: .2s ease;--transition-bounce: .3s cubic-bezier(.34, 1.56, .64, 1);--transition-spring: .4s cubic-bezier(.175, .885, .32, 1.275);--card-hover-lift: translateY(-3px)}.platform-loading{min-height:100vh;display:grid;place-content:center;gap:12px;padding:24px;color:var(--text-secondary,#617083);text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border:1.5px solid transparent;border-radius:var(--radius-full,9999px);box-sizing:border-box;color:inherit;background:#fff;font:750 14px/1.3 var(--font-display);text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:all var(--transition-smooth,.2s ease)}.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background:linear-gradient(135deg,#2d8b5f,#1a6b45);color:#fff;border-color:#2d8b5f;box-shadow:0 4px 14px #2d8b5f40}.btn-green{background:linear-gradient(135deg,#55b57a,#3da063);color:#fff;border-color:#55b57a;box-shadow:0 4px 16px #55b57a40}.btn-secondary{background:#fff;color:#2d5a3d;border-color:#cce3d8;box-shadow:0 2px 6px #2d5a3d0d}.btn-ghost{background:transparent;color:#2d5a3d;border-color:transparent}.btn-primary:hover:not(:disabled),.btn-green:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.btn-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background:#f2faf6;border-color:#72b99d;transform:translateY(-1px)}.btn-full{width:100%;justify-content:center}.btn-small,.btn-sm{padding:6px 14px;font-size:12px}.inline-error,.auth-error{padding:11px 13px;border:1px solid #e6afaf;border-radius:9px;background:#fff2f2;color:#8c2929;font-size:13px}.auth-success{padding:11px 13px;border:1px solid #addac8;border-radius:9px;background:#effaf5;color:#155d48;font-size:13px}.app-update-banner{position:fixed;inset:0 0 auto;z-index:1200;padding:8px 16px;border-bottom:1px solid rgba(85,181,122,.35);background:#183827;color:#fff;box-shadow:0 6px 24px #00000047}.app-update-container,.app-update-info{display:flex;align-items:center;gap:12px}.app-update-container{max-width:1280px;margin:auto;justify-content:space-between}.app-update-info{min-width:0}.app-update-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#55b57a33;color:#8ce8b0}.app-update-text{display:flex;min-width:0;flex-direction:column;gap:2px}.app-update-text strong{font-size:13px}.app-update-text span{color:#c0dece;font-size:11px}.app-update-button{padding:6px 14px;border:0;border-radius:8px;background:#55b57a;color:#0b2416;font-weight:700;cursor:pointer}.scroll-progress-button{position:fixed;bottom:28px;left:24px;z-index:90;display:flex;width:48px;height:48px;padding:0;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .35s,transform .35s}.scroll-progress-button.visible{opacity:1;transform:none;pointer-events:auto}.scroll-progress-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px solid var(--border-medium);border-radius:50%;background:#ffffffeb;box-shadow:0 4px 16px #2d1e0f14}.scroll-progress-svg{position:absolute;transform:rotate(-90deg);pointer-events:none}.scroll-progress-track{stroke:#ddd6ca66}.scroll-progress-fill{stroke:var(--accent-green);stroke-linecap:round}.scroll-progress-icon{position:relative;z-index:2;color:var(--text-primary)}.analytics-consent{position:fixed;right:20px;bottom:20px;z-index:1200;display:flex;width:min(620px,calc(100vw - 40px));align-items:center;gap:20px;padding:18px;border:1px solid var(--border-medium);border-radius:16px;background:#fffffffa;box-shadow:0 18px 48px #1e293b2e}.analytics-consent>div:first-child{flex:1;min-width:0}.analytics-consent strong{display:block;margin-bottom:4px}.analytics-consent p{color:var(--text-secondary);font-size:.88rem;line-height:1.45}.analytics-consent-actions{display:grid;flex:0 0 auto;gap:8px}.footer-legal-links button{padding:0;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline}@media(max-width:720px){.analytics-consent{right:12px;bottom:12px;width:calc(100vw - 24px);align-items:stretch;flex-direction:column}.app-update-container{align-items:flex-start;flex-direction:column}.app-update-button{align-self:flex-end}.scroll-progress-button{display:none}}.app-update-version{color:#8ce8b0;font-weight:700;text-decoration:underline;text-decoration-color:#8ce8b073;text-underline-offset:2px}.app-update-version:hover{color:#fff}.app-update-banner .spin-icon{animation:spinUpdate 1s linear infinite}@keyframes spinUpdate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.app-update-banner .spin-icon{animation:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;width:100%;max-width:100vw;overflow-x:hidden;position:relative;font-family:var(--font-body);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden;display:flex;flex-direction:column}img,svg,video,canvas{max-width:100%;height:auto}pre,code,kbd,samp{max-width:100%;overflow-x:auto}.table-responsive{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}h1,h2,h3,h4,h5,h6{font-family:var(--font-main);font-weight:700;letter-spacing:-.01em;overflow-wrap:break-word;word-break:break-word}a,button,input,select,textarea{max-width:100%;transition:all var(--transition-smooth)}button{cursor:pointer}.app-container{display:flex;min-height:100vh;background-color:var(--bg-app);background-image:radial-gradient(circle,rgba(221,214,202,.25) 1px,transparent 1px);background-size:24px 24px}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;overflow-x:hidden}.page-body{flex:1;padding:24px 32px 40px;max-width:1680px;width:100%;margin:0 auto}.dashboard-grid{display:grid;grid-template-columns:1.15fr 1fr .95fr;grid-gap:24px;align-items:start}@media(max-width:1400px){.dashboard-grid{grid-template-columns:1fr 1fr}}@media(max-width:992px){.dashboard-grid{grid-template-columns:1fr}.page-body{padding:16px}}.bottom-tagline-banner{margin-top:32px;background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px dashed var(--accent-green-border);border-radius:var(--radius-full);padding:14px 28px;display:flex;align-items:center;justify-content:center;gap:16px;text-align:center;font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--accent-green);box-shadow:var(--shadow-sm)}.sparkle-icon{color:#f5b83d;font-size:16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes gentlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes gentleBreathe{0%,to{opacity:.8}50%{opacity:1}}@keyframes sparkleRotate{0%{transform:rotate(0) scale(1)}25%{transform:rotate(10deg) scale(1.1)}50%{transform:rotate(0) scale(1)}75%{transform:rotate(-10deg) scale(1.1)}to{transform:rotate(0) scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--accent-green-border)}
