@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2039e8342bda6056-s.p.0h2amv7e1wlhq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fabcf92ba1ccea36-s.p.0lwj123ije5i..woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bebas Neue Fallback;src:local(Arial);ascent-override:117.32%;descent-override:39.11%;line-gap-override:0.0%;size-adjust:76.72%}.bebas_neue_ca2f4346-module__2TlOMW__className{font-family:Bebas Neue,Bebas Neue Fallback;font-style:normal;font-weight:400}.bebas_neue_ca2f4346-module__2TlOMW__variable{--ec-font-headline:"Bebas Neue", "Bebas Neue Fallback"}
@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/13ae3e01af63c0ce-s.0_v7qv~qdckr_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0ee4b8f05dcd9fee-s.p.0jr2jo04zlceh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9eba4caf7edd2921-s.00t_.3.5..g_7.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f6752bd2263820da-s.10j9.xtie.pqv.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f285987c35230861-s.0l_qy7hq7zupz.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b8d1f0a88dfecec3-s.0g0e~i-as20lr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ab57efd000576a30-s.p.0.xyi-bdzzdcz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/13ae3e01af63c0ce-s.0_v7qv~qdckr_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0ee4b8f05dcd9fee-s.p.0jr2jo04zlceh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9eba4caf7edd2921-s.00t_.3.5..g_7.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/f6752bd2263820da-s.10j9.xtie.pqv.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/f285987c35230861-s.0l_qy7hq7zupz.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b8d1f0a88dfecec3-s.0g0e~i-as20lr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ab57efd000576a30-s.p.0.xyi-bdzzdcz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/13ae3e01af63c0ce-s.0_v7qv~qdckr_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0ee4b8f05dcd9fee-s.p.0jr2jo04zlceh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9eba4caf7edd2921-s.00t_.3.5..g_7.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f6752bd2263820da-s.10j9.xtie.pqv.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f285987c35230861-s.0l_qy7hq7zupz.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b8d1f0a88dfecec3-s.0g0e~i-as20lr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ab57efd000576a30-s.p.0.xyi-bdzzdcz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight Fallback;src:local(Arial);ascent-override:100.51%;descent-override:25.03%;line-gap-override:0.0%;size-adjust:96.39%}.inter_tight_59a12b0b-module__KxcTUG__className{font-family:Inter Tight,Inter Tight Fallback;font-style:normal}.inter_tight_59a12b0b-module__KxcTUG__variable{--ec-font-body:"Inter Tight", "Inter Tight Fallback"}
@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(../media/48cb8c496a1feb17-s.0272_f4kgluvg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(../media/87ccb897ba116d44-s.p.01qprxas5cq-q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e9a8df42b0c6fb7a-s.0tkkefzut3_mo.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(../media/804b9eb4033edb5d-s.0gfbe8xl-nipr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6ad1cda2f16975ee-s.p.0t8o_f0a-dk8w.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(../media/48cb8c496a1feb17-s.0272_f4kgluvg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(../media/87ccb897ba116d44-s.p.01qprxas5cq-q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e9a8df42b0c6fb7a-s.0tkkefzut3_mo.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(../media/804b9eb4033edb5d-s.0gfbe8xl-nipr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6ad1cda2f16975ee-s.p.0t8o_f0a-dk8w.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald Fallback;src:local(Arial);ascent-override:146.51%;descent-override:35.49%;line-gap-override:0.0%;size-adjust:81.43%}.oswald_9b3ce0d4-module__2yraEG__className{font-family:Oswald,Oswald Fallback;font-style:normal}.oswald_9b3ce0d4-module__2yraEG__variable{--ec-font-accent:"Oswald", "Oswald Fallback"}
:root{--ec-brand:#21a88b;--ec-brand-rgb:33, 168, 139;--ec-dark:#001c32;--ec-dark-rgb:0, 28, 50;--ec-white:#fff;--ec-light-gray:#f3f3f3;--ec-steel-blue:#1f3b51;--ec-bright-cyan:#2bffe0;--ec-deep-teal:#0e513d;--ec-dark-forest:#00261b;--ec-yellow-green:#ebf7a9;--ec-royal-blue:#2924a7;--ec-gray-500:#878787;--ec-gray-400:#ababab;--ec-gray-300:#cecece;--ec-gray-200:#e8e8e8;--ec-gray-100:#ededed;--ec-navy-100:#303d47;--ec-navy-200:#2c3841;--ec-navy-300:#27323a;--ec-navy-400:#232d34;--ec-navy-500:#171e23;--ec-azurite-100:#98bbd1;--ec-azurite-200:#7a9bb1;--ec-azurite-300:#5c7b91;--ec-azurite-400:#3d5b71;--ec-teal-100:#2bffe0;--ec-teal-200:#26d4b5;--ec-teal-300:#21a88b;--ec-teal-400:#1c7d60;--ec-teal-500:#0e513d;--ec-warm-1:#edf0f3;--ec-warm-2:#f8f2f0;--ec-warm-3:#eff2f0;--ec-warm-4:#e7ecec;--ec-brand-08:#21a88b14;--ec-brand-15:#21a88b26;--ec-brand-35:#21a88b59;--ec-page-bg:#f2f2f7;--ec-card-bg:#fff;--ec-card-alt:#f5f5f7;--ec-border:#00000014;--ec-border-strong:#00000024;--ec-text-primary:#1d1d1f;--ec-text-secondary:#6e6e73;--ec-text-tertiary:#aeaeb2;--ec-font-headline:"Bebas Neue", "Arial Black", Impact, sans-serif;--ec-font-body:"Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ec-font-accent:"Oswald", "Arial Narrow", sans-serif;--ec-text-xs:.75rem;--ec-text-sm:.875rem;--ec-text-base:1rem;--ec-text-lg:1.125rem;--ec-text-xl:1.25rem;--ec-text-2xl:1.5rem;--ec-text-3xl:2rem;--ec-text-4xl:2.5rem;--ec-text-5xl:3rem;--ec-space-1:.25rem;--ec-space-2:.5rem;--ec-space-3:.75rem;--ec-space-4:1rem;--ec-space-5:1.25rem;--ec-space-6:1.5rem;--ec-space-8:2rem;--ec-space-10:2.5rem;--ec-space-12:3rem;--ec-space-16:4rem;--ec-space-20:5rem;--ec-radius:10px;--ec-radius-sm:6px;--ec-radius-lg:14px;--ec-radius-full:9999px;--ec-shadow-sm:0 1px 2px #0000000a;--ec-shadow:0 1px 3px #0000000f;--ec-shadow-md:0 4px 12px #00000014;--ec-shadow-lg:0 8px 24px #0000001a;--ec-transition:.2s ease;--ec-transition-slow:.3s ease;--ec-max-width:1200px;--ec-header-height:64px}[data-theme=dark]{--ec-brand-08:#21a88b1f;--ec-brand-15:#21a88b38;--ec-brand-35:#21a88b73;--ec-page-bg:#0d0d0f;--ec-card-bg:#1c1c1e;--ec-card-alt:#2c2c2e;--ec-border:#ffffff12;--ec-border-strong:#ffffff1f;--ec-text-primary:#f5f5f7;--ec-text-secondary:#98989d;--ec-text-tertiary:#48484a}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth;font-size:16px}body{font-family:var(--ec-font-body);font-size:var(--ec-text-base);color:var(--ec-text-primary);background-color:var(--ec-page-bg);font-weight:400;line-height:1.5}img,svg{max-width:100%;height:auto;display:block}a{color:var(--ec-brand);transition:color var(--ec-transition);text-decoration:none}a:hover{color:var(--ec-deep-teal);text-decoration:underline}h1,.ec-h1{font-family:var(--ec-font-headline);font-size:var(--ec-text-5xl);letter-spacing:.03em;color:var(--ec-dark);text-transform:uppercase;font-weight:700;line-height:1.1}h2,.ec-h2{font-family:var(--ec-font-accent);font-size:var(--ec-text-3xl);color:var(--ec-dark);font-weight:500;line-height:1.2}h3,.ec-h3{font-family:var(--ec-font-accent);font-size:var(--ec-text-2xl);color:var(--ec-steel-blue);font-weight:500;line-height:1.3}h4,.ec-h4{font-family:var(--ec-font-body);font-size:var(--ec-text-xl);color:var(--ec-dark);font-weight:600;line-height:1.4}p{margin-bottom:var(--ec-space-4);max-width:75ch}small,.ec-small{font-size:var(--ec-text-xs);color:var(--ec-text-secondary)}code{background:var(--ec-brand-08);border-radius:var(--ec-radius-sm);color:var(--ec-deep-teal);padding:.15em .4em;font-family:SF Mono,Fira Code,monospace;font-size:.875em}hr{border:none;border-top:1px solid var(--ec-gray-200);margin:var(--ec-space-8) 0}ul,ol{padding-left:var(--ec-space-6);margin-bottom:var(--ec-space-4)}ul li::marker{color:var(--ec-brand)}li{margin-bottom:var(--ec-space-2)}::selection{background:var(--ec-brand-35);color:var(--ec-dark)}
.ec-container{max-width:var(--ec-max-width);padding:0 var(--ec-space-6);margin:0 auto}.ec-section{padding:var(--ec-space-16) 0}.ec-grid{gap:var(--ec-space-6);display:grid}.ec-grid--2{grid-template-columns:repeat(2,1fr)}.ec-grid--3{grid-template-columns:repeat(3,1fr)}.ec-grid--4{grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.ec-grid--2,.ec-grid--3,.ec-grid--4{grid-template-columns:1fr}}.ec-header{z-index:100;height:var(--ec-header-height);padding:0 var(--ec-space-6);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--ec-border);background:#ffffffb8;align-items:center;display:flex;position:sticky;top:0}[data-theme=dark] .ec-header{background:#0d0d0fb8}.ec-header__logo{width:auto;height:32px}.ec-header__nav{gap:var(--ec-space-6);margin-left:auto;padding:0;list-style:none;display:flex}.ec-header__nav a{color:var(--ec-text-secondary);font-size:var(--ec-text-sm);transition:color var(--ec-transition);font-weight:500}.ec-header__nav a:hover{color:var(--ec-brand);text-decoration:none}.ec-card{background:var(--ec-card-bg);border-radius:var(--ec-radius-lg);padding:var(--ec-space-6);box-shadow:var(--ec-shadow);border:1px solid var(--ec-border);transition:box-shadow var(--ec-transition), transform var(--ec-transition)}.ec-card:hover{box-shadow:var(--ec-shadow-md);transform:translateY(-2px)}.ec-card--flat{box-shadow:none;border:1px solid var(--ec-border-strong)}.ec-card--flat:hover{box-shadow:none;transform:none}.ec-card__title{font-family:var(--ec-font-accent);font-size:var(--ec-text-lg);margin-bottom:var(--ec-space-2);color:var(--ec-dark);font-weight:500}.ec-card__text{font-size:var(--ec-text-sm);color:var(--ec-text-secondary);line-height:1.6}.ec-btn{justify-content:center;align-items:center;gap:var(--ec-space-2);font-family:var(--ec-font-body);font-size:var(--ec-text-sm);cursor:pointer;transition:all var(--ec-transition);border:none;border-radius:8px;padding:10px 24px;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.ec-btn--primary{background:var(--ec-brand);color:var(--ec-white)}.ec-btn--primary:hover{background:var(--ec-teal-400);color:var(--ec-white);text-decoration:none}.ec-btn--secondary{color:var(--ec-brand);border:1.5px solid var(--ec-brand);background:0 0}.ec-btn--secondary:hover{background:var(--ec-brand-08);text-decoration:none}.ec-btn--dark{background:var(--ec-dark);color:var(--ec-white)}.ec-btn--dark:hover{background:var(--ec-navy-300);color:var(--ec-white);text-decoration:none}.ec-btn--sm{font-size:var(--ec-text-xs);padding:6px 16px}.ec-btn--lg{font-size:var(--ec-text-base);padding:14px 32px}.ec-badge{font-size:var(--ec-text-xs);border-radius:var(--ec-radius-full);background:var(--ec-brand-15);color:var(--ec-brand);align-items:center;padding:4px 12px;font-weight:500;display:inline-flex}.ec-badge--dark{background:var(--ec-dark);color:var(--ec-white)}.ec-table-wrap{border-radius:var(--ec-radius);border:1px solid var(--ec-border);overflow-x:auto}.ec-table{border-collapse:collapse;width:100%;font-size:var(--ec-text-sm)}.ec-table thead th{background:var(--ec-brand);color:var(--ec-white);text-align:left;white-space:nowrap;padding:12px 16px;font-weight:600}.ec-table tbody td{border-bottom:1px solid var(--ec-border);color:var(--ec-text-primary);padding:10px 16px}.ec-table tbody tr:nth-child(2n){background:var(--ec-card-alt)}.ec-table tbody tr:last-child td{border-bottom:none}.ec-table--total td{color:var(--ec-deep-teal);font-weight:600;background:var(--ec-brand-15)!important}.ec-callout{border-left:3px solid var(--ec-brand);background:var(--ec-light-gray);padding:var(--ec-space-4) var(--ec-space-5);border-radius:0 var(--ec-radius-sm) var(--ec-radius-sm) 0;margin-bottom:var(--ec-space-6)}.ec-callout p{color:var(--ec-text-primary);margin-bottom:0}.ec-stat{text-align:center;padding:var(--ec-space-6)}.ec-stat__value{font-family:var(--ec-font-headline);font-size:var(--ec-text-4xl);color:var(--ec-brand);letter-spacing:.02em;line-height:1}.ec-stat__label{font-size:var(--ec-text-sm);color:var(--ec-text-secondary);margin-top:var(--ec-space-2)}.ec-input{width:100%;font-family:var(--ec-font-body);font-size:var(--ec-text-sm);color:var(--ec-text-primary);background:var(--ec-card-bg);border:1.5px solid var(--ec-border-strong);transition:border-color var(--ec-transition), box-shadow var(--ec-transition);border-radius:8px;outline:none;padding:10px 14px}.ec-input:focus{border-color:var(--ec-brand);box-shadow:0 0 0 3px var(--ec-brand-15)}.ec-input::placeholder{color:var(--ec-text-tertiary)}.ec-label{font-size:var(--ec-text-sm);color:var(--ec-text-primary);margin-bottom:var(--ec-space-2);font-weight:500;display:block}.ec-divider{border:none;border-top:1px solid var(--ec-gray-200);margin:var(--ec-space-8) 0}.ec-footer{padding:var(--ec-space-8) var(--ec-space-6);text-align:center;font-size:var(--ec-text-xs);color:var(--ec-text-tertiary);border-top:1px solid var(--ec-border)}.ec-text-brand{color:var(--ec-brand)}.ec-text-dark{color:var(--ec-dark)}.ec-text-muted{color:var(--ec-text-secondary)}.ec-bg-brand{background-color:var(--ec-brand)}.ec-bg-dark{background-color:var(--ec-dark)}.ec-bg-light{background-color:var(--ec-light-gray)}.ec-bg-page{background-color:var(--ec-page-bg)}.ec-text-center{text-align:center}.ec-text-right{text-align:right}.ec-font-headline{font-family:var(--ec-font-headline)}.ec-font-accent{font-family:var(--ec-font-accent)}.ec-mt-4{margin-top:var(--ec-space-4)}.ec-mt-8{margin-top:var(--ec-space-8)}.ec-mb-4{margin-bottom:var(--ec-space-4)}.ec-mb-8{margin-bottom:var(--ec-space-8)}.ec-py-8{padding-top:var(--ec-space-8);padding-bottom:var(--ec-space-8)}.ec-px-6{padding-left:var(--ec-space-6);padding-right:var(--ec-space-6)}
.portal-hero{text-align:center;padding:var(--ec-space-12) 0 var(--ec-space-8)}.portal-hero__title{font-family:var(--ec-font-headline);font-size:var(--ec-text-4xl);color:var(--ec-dark);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--ec-space-2)}[data-theme=dark] .portal-hero__title{color:var(--ec-white)}.portal-hero__subtitle{font-family:var(--ec-font-body);font-size:var(--ec-text-lg);color:var(--ec-text-secondary);text-align:center;margin-left:auto;margin-right:auto}.portal-section__title{font-family:var(--ec-font-accent);font-size:var(--ec-text-xl);color:var(--ec-text-primary);margin-bottom:var(--ec-space-4);margin-top:var(--ec-space-2);font-weight:500}.portal-search{max-width:480px;margin:0 auto var(--ec-space-8);position:relative}.portal-search__icon{color:var(--ec-text-tertiary);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.portal-search__input{border:1px solid var(--ec-border);border-radius:var(--ec-radius);background:var(--ec-card-bg);width:100%;color:var(--ec-text-primary);font-family:var(--ec-font-body);font-size:var(--ec-text-base);transition:border-color var(--ec-transition);padding:12px 14px 12px 44px}.portal-search__input:focus{border-color:var(--ec-brand);box-shadow:0 0 0 3px rgba(var(--ec-brand-rgb), .15);outline:none}.portal-search__input::placeholder{color:var(--ec-text-tertiary)}.portal-grid{gap:var(--ec-space-6);padding-bottom:var(--ec-space-12);grid-template-columns:1fr;display:grid}@media (min-width:640px){.portal-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.portal-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1440px){.portal-grid{grid-template-columns:repeat(4,1fr)}}.service-tile{padding:var(--ec-space-6);background:var(--ec-card-bg);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);transition:transform var(--ec-transition), box-shadow var(--ec-transition);cursor:pointer;color:inherit;flex-direction:column;text-decoration:none;display:flex}.service-tile:hover{box-shadow:var(--ec-shadow-lg);transform:translateY(-2px)}.service-tile__icon{border-radius:var(--ec-radius);width:48px;height:48px;margin-bottom:var(--ec-space-4);color:var(--ec-white);justify-content:center;align-items:center;display:flex}.service-tile__title{font-family:var(--ec-font-accent);font-size:var(--ec-text-xl);color:var(--ec-text-primary);margin-bottom:var(--ec-space-2);font-weight:500}.service-tile__description{font-size:var(--ec-text-sm);color:var(--ec-text-secondary);flex-grow:1;line-height:1.5}.service-tile__badge{margin-top:var(--ec-space-3);border-radius:var(--ec-radius-full);font-size:var(--ec-text-xs);align-items:center;gap:4px;width:fit-content;padding:2px 10px;font-weight:500;display:inline-flex}.service-tile__badge--ready{background:rgba(var(--ec-brand-rgb), .12);color:var(--ec-brand)}.service-tile__badge--wip{background:rgba(var(--ec-dark-rgb), .08);color:var(--ec-text-secondary)}[data-theme=dark] .service-tile__badge--wip{background:#ffffff14}.coming-soon{text-align:center;padding:var(--ec-space-20) var(--ec-space-6);flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.coming-soon__icon{border-radius:var(--ec-radius-lg);background:rgba(var(--ec-brand-rgb), .1);width:80px;height:80px;color:var(--ec-brand);margin-bottom:var(--ec-space-6);justify-content:center;align-items:center;display:flex}.coming-soon__title{font-family:var(--ec-font-headline);font-size:var(--ec-text-4xl);color:var(--ec-dark);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--ec-space-3)}[data-theme=dark] .coming-soon__title{color:var(--ec-white)}.coming-soon__text{font-size:var(--ec-text-lg);color:var(--ec-text-secondary);max-width:480px;margin-bottom:var(--ec-space-8)}.auth-page{min-height:100vh;padding:var(--ec-space-6);background:var(--ec-page-bg);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--ec-card-bg);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);width:100%;max-width:420px;padding:var(--ec-space-10);box-shadow:var(--ec-shadow-md)}.auth-card__logo{margin-bottom:var(--ec-space-8);justify-content:center;display:flex}.auth-card__title{font-family:var(--ec-font-headline);font-size:var(--ec-text-3xl);text-align:center;color:var(--ec-dark);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--ec-space-6)}[data-theme=dark] .auth-card__title{color:var(--ec-white)}.auth-card__form{gap:var(--ec-space-4);flex-direction:column;display:flex}.auth-card__error{padding:var(--ec-space-3) var(--ec-space-4);border-radius:var(--ec-radius-sm);color:#dc2626;font-size:var(--ec-text-sm);text-align:center;background:#fef2f2}[data-theme=dark] .auth-card__error{background:#dc26261a}.profile-page{padding-bottom:var(--ec-space-12)}.profile-page__title{font-family:var(--ec-font-headline);font-size:var(--ec-text-3xl);color:var(--ec-dark);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--ec-space-6);text-align:center}[data-theme=dark] .profile-page__title{color:var(--ec-white)}.profile-section{margin-bottom:var(--ec-space-6);padding:var(--ec-space-6) var(--ec-space-8)}.profile-section__title{font-family:var(--ec-font-accent);font-size:var(--ec-text-lg);color:var(--ec-text-primary);align-items:center;gap:var(--ec-space-2);margin-bottom:var(--ec-space-6);padding-bottom:var(--ec-space-3);border-bottom:1px solid var(--ec-border);font-weight:500;display:flex}.profile-header{align-items:center;gap:var(--ec-space-4);margin-bottom:var(--ec-space-6);display:flex}.profile-header__info{gap:var(--ec-space-1);flex-direction:column;display:flex}.profile-avatar{background:var(--ec-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex;overflow:hidden}.profile-avatar__img{object-fit:cover;width:100%;height:100%}.profile-avatar__initials{font-family:var(--ec-font-accent);font-size:var(--ec-text-xl);color:var(--ec-white);font-weight:600}.profile-avatar--editable{cursor:pointer;position:relative}.profile-avatar__overlay{opacity:0;background:#00000073;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.profile-avatar--editable:hover .profile-avatar__overlay{opacity:1}.profile-fields{gap:var(--ec-space-4);grid-template-columns:1fr;display:grid}@media (min-width:640px){.profile-fields{grid-template-columns:repeat(2,1fr)}}.profile-field__label{align-items:center;gap:var(--ec-space-1);display:flex}.profile-actions{align-items:center;gap:var(--ec-space-4);margin-top:var(--ec-space-6);display:flex}.profile-msg{align-items:center;gap:var(--ec-space-1);font-size:var(--ec-text-sm);display:inline-flex}.profile-msg--success{color:var(--ec-brand)}.profile-modules{gap:var(--ec-space-3);flex-direction:column;display:flex}.profile-module{align-items:center;gap:var(--ec-space-3);padding:var(--ec-space-3) var(--ec-space-4);border-radius:var(--ec-radius);background:var(--ec-page-bg);display:flex}.profile-module__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.profile-module__name{font-size:var(--ec-text-sm);color:var(--ec-text-primary);flex-grow:1}.profile-pwd-form{gap:var(--ec-space-4);flex-direction:column;max-width:400px;display:flex}.ec-badge--success{background:rgba(var(--ec-brand-rgb), .12);color:var(--ec-brand)}.ec-badge--muted{background:rgba(var(--ec-dark-rgb), .06);color:var(--ec-text-tertiary)}[data-theme=dark] .ec-badge--muted{background:#ffffff14}
.tenders-page{padding-bottom:var(--ec-space-12)}.tenders-page__header{margin-bottom:var(--ec-space-6);justify-content:space-between;align-items:center;gap:var(--ec-space-3);flex-wrap:wrap;display:flex}.tenders-page__title{font-family:var(--ec-font-headline);font-size:var(--ec-text-3xl);color:var(--ec-dark);letter-spacing:.03em}[data-theme=dark] .tenders-page__title{color:var(--ec-white)}.tenders-page__actions{gap:var(--ec-space-2);flex-wrap:wrap;display:flex}.tenders-kpi{gap:var(--ec-space-4);margin-bottom:var(--ec-space-6);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:640px){.tenders-kpi{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.tenders-kpi{grid-template-columns:repeat(5,1fr)}}.tenders-kpi__card{background:var(--ec-card-bg);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);padding:var(--ec-space-5);gap:var(--ec-space-1);flex-direction:column;display:flex}.tenders-kpi__label{font-size:var(--ec-text-xs);color:var(--ec-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.tenders-kpi__value{font-family:var(--ec-font-accent);font-size:var(--ec-text-2xl);color:var(--ec-text-primary);font-weight:600}.tenders-kpi__value--brand{color:var(--ec-brand)}.tenders-filters{gap:var(--ec-space-3);margin-bottom:var(--ec-space-6);flex-wrap:wrap;align-items:flex-end;display:flex}.tenders-filters__field{gap:var(--ec-space-1);flex-direction:column;min-width:160px;display:flex}.tenders-filters__field--search{flex:1;min-width:200px}.tenders-filters__search{position:relative}.tenders-filters__search-icon{color:var(--ec-text-tertiary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.tenders-filters__search-input{padding-left:40px!important}.tenders-table{width:100%;overflow-x:auto}.tenders-table table{border-collapse:collapse;width:100%;font-size:var(--ec-text-sm)}.tenders-table th{text-align:left;padding:var(--ec-space-3) var(--ec-space-4);color:var(--ec-text-tertiary);font-weight:500;font-size:var(--ec-text-xs);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--ec-border);white-space:nowrap}.tenders-table td{padding:var(--ec-space-3) var(--ec-space-4);border-bottom:1px solid var(--ec-border);vertical-align:top}.tenders-table tr:hover{background:rgba(var(--ec-brand-rgb), .03)}.tenders-table__name{color:var(--ec-text-primary);-webkit-line-clamp:2;cursor:pointer;-webkit-box-orient:vertical;max-width:400px;font-weight:500;display:-webkit-box;overflow:hidden}.tenders-table__name:hover{color:var(--ec-brand)}.tenders-table__price{color:var(--ec-brand);white-space:nowrap;font-weight:600}.tenders-table__date{white-space:nowrap;color:var(--ec-text-secondary)}.tenders-table__key-customer{color:#f59e0b}.tenders-badge{border-radius:var(--ec-radius-full);font-size:var(--ec-text-xs);white-space:nowrap;align-items:center;gap:4px;padding:2px 10px;font-weight:500;display:inline-flex}.tenders-badge__dot{border-radius:50%;width:6px;height:6px}.tenders-badge--new{color:#3b82f6;background:#3b82f61a}.tenders-badge--new .tenders-badge__dot{background:#3b82f6}.tenders-badge--reviewing{color:#f59e0b;background:#f59e0b1a}.tenders-badge--reviewing .tenders-badge__dot{background:#f59e0b}.tenders-badge--go{color:#22c55e;background:#22c55e1a}.tenders-badge--go .tenders-badge__dot{background:#22c55e}.tenders-badge--no_go{color:#9ca3af;background:#9ca3af1a}.tenders-badge--no_go .tenders-badge__dot{background:#9ca3af}.tenders-badge--bid_submitted{color:#6366f1;background:#6366f11a}.tenders-badge--bid_submitted .tenders-badge__dot{background:#6366f1}.tenders-badge--won{color:#059669;background:#0596691a}.tenders-badge--won .tenders-badge__dot{background:#059669}.tenders-badge--lost{color:#ef4444;background:#ef44441a}.tenders-badge--lost .tenders-badge__dot{background:#ef4444}.tenders-detail{padding-bottom:var(--ec-space-12)}.tenders-detail__header{justify-content:space-between;align-items:flex-start;gap:var(--ec-space-4);margin-bottom:var(--ec-space-6);flex-wrap:wrap;display:flex}.tenders-detail__title{font-family:var(--ec-font-body);font-size:var(--ec-text-lg);color:var(--ec-text-primary);flex:1;font-weight:500;line-height:1.5}.tenders-detail__grid{gap:var(--ec-space-4);grid-template-columns:1fr;display:grid}@media (min-width:640px){.tenders-detail__grid{grid-template-columns:repeat(2,1fr)}}.tenders-detail__field{flex-direction:column;gap:2px;display:flex}.tenders-detail__label{font-size:var(--ec-text-xs);color:var(--ec-text-tertiary);text-transform:uppercase;letter-spacing:.03em}.tenders-detail__value{font-size:var(--ec-text-sm);color:var(--ec-text-primary)}.tenders-detail__section{margin-top:var(--ec-space-8)}.tenders-detail__section-title{font-family:var(--ec-font-accent);font-size:var(--ec-text-lg);color:var(--ec-text-primary);align-items:center;gap:var(--ec-space-2);margin-bottom:var(--ec-space-4);padding-bottom:var(--ec-space-2);border-bottom:1px solid var(--ec-border);font-weight:500;display:flex}.tenders-comments{gap:var(--ec-space-4);flex-direction:column;display:flex}.tenders-comment{padding:var(--ec-space-4);border-radius:var(--ec-radius);background:var(--ec-page-bg);border-left:3px solid var(--ec-border)}.tenders-comment--status_change{border-left-color:#f59e0b}.tenders-comment--result_analysis{border-left-color:var(--ec-brand)}.tenders-comment__header{align-items:center;gap:var(--ec-space-2);margin-bottom:var(--ec-space-2);font-size:var(--ec-text-xs);color:var(--ec-text-tertiary);display:flex}.tenders-comment__author{color:var(--ec-text-secondary);font-weight:500}.tenders-comment__content{font-size:var(--ec-text-sm);color:var(--ec-text-primary);white-space:pre-wrap;line-height:1.6}.tenders-form{max-width:800px}.tenders-form__grid{gap:var(--ec-space-4);grid-template-columns:1fr;display:grid}@media (min-width:640px){.tenders-form__grid{grid-template-columns:repeat(2,1fr)}}.tenders-form__field--full{grid-column:1/-1}.tenders-form__actions{gap:var(--ec-space-3);margin-top:var(--ec-space-6);display:flex}.tenders-docs{gap:var(--ec-space-2);flex-direction:column;display:flex}.tenders-docs__item{align-items:center;gap:var(--ec-space-3);padding:var(--ec-space-3) var(--ec-space-4);border-radius:var(--ec-radius);background:var(--ec-page-bg);font-size:var(--ec-text-sm);display:flex}.tenders-docs__name{color:var(--ec-text-primary);flex:1}.tenders-docs__size{color:var(--ec-text-tertiary);font-size:var(--ec-text-xs)}.tenders-docs__upload{border:2px dashed var(--ec-border);border-radius:var(--ec-radius-lg);padding:var(--ec-space-6);text-align:center;color:var(--ec-text-tertiary);cursor:pointer;transition:border-color var(--ec-transition), color var(--ec-transition)}.tenders-docs__upload:hover{border-color:var(--ec-brand);color:var(--ec-brand)}.tenders-dashboard{padding-bottom:var(--ec-space-12)}.tenders-dashboard__charts{gap:var(--ec-space-6);margin-top:var(--ec-space-6);grid-template-columns:1fr;display:grid}@media (min-width:1024px){.tenders-dashboard__charts{grid-template-columns:repeat(2,1fr)}}.tenders-dashboard__chart-card{background:var(--ec-card-bg);border:1px solid var(--ec-border);border-radius:var(--ec-radius-lg);padding:var(--ec-space-6)}.tenders-dashboard__chart-title{font-family:var(--ec-font-accent);font-size:var(--ec-text-base);color:var(--ec-text-primary);margin-bottom:var(--ec-space-4);font-weight:500}.tenders-settings__section{margin-bottom:var(--ec-space-8)}.tenders-settings__section-title{font-family:var(--ec-font-accent);font-size:var(--ec-text-lg);color:var(--ec-text-primary);margin-bottom:var(--ec-space-4);font-weight:500}.tenders-keyword{align-items:center;gap:var(--ec-space-3);padding:var(--ec-space-3) var(--ec-space-4);border-radius:var(--ec-radius);background:var(--ec-page-bg);display:flex}.tenders-keyword__text{font-size:var(--ec-text-sm);color:var(--ec-text-primary);flex:1}.tenders-keyword--inactive .tenders-keyword__text{color:var(--ec-text-tertiary);text-decoration:line-through}.tenders-pagination{justify-content:center;align-items:center;gap:var(--ec-space-2);margin-top:var(--ec-space-6);display:flex}.tenders-pagination__btn{padding:var(--ec-space-2) var(--ec-space-3);border:1px solid var(--ec-border);border-radius:var(--ec-radius);background:var(--ec-card-bg);color:var(--ec-text-secondary);font-size:var(--ec-text-sm);cursor:pointer;transition:all var(--ec-transition)}.tenders-pagination__btn:hover{border-color:var(--ec-brand);color:var(--ec-brand)}.tenders-pagination__btn--active{background:var(--ec-brand);border-color:var(--ec-brand);color:var(--ec-white)}.tenders-pagination__info{font-size:var(--ec-text-sm);color:var(--ec-text-tertiary);padding:0 var(--ec-space-2)}.tenders-status-select{border:1px solid var(--ec-border);border-radius:var(--ec-radius);background:var(--ec-card-bg);color:var(--ec-text-primary);font-size:var(--ec-text-xs);cursor:pointer;appearance:auto;padding:4px 8px}.tenders-modal{z-index:100;padding:var(--ec-space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tenders-modal__content{background:var(--ec-card-bg);border-radius:var(--ec-radius-lg);padding:var(--ec-space-8);width:100%;max-width:560px;max-height:80vh;box-shadow:var(--ec-shadow-lg);overflow-y:auto}.tenders-modal__title{font-family:var(--ec-font-accent);font-size:var(--ec-text-xl);color:var(--ec-text-primary);margin-bottom:var(--ec-space-4);font-weight:500}.tenders-fetch-log{gap:var(--ec-space-2);flex-direction:column;max-height:300px;display:flex;overflow-y:auto}.tenders-fetch-log__item{align-items:center;gap:var(--ec-space-3);padding:var(--ec-space-2) var(--ec-space-3);font-size:var(--ec-text-xs);border-radius:var(--ec-radius);background:var(--ec-page-bg);display:flex}.tenders-fetch-log__item--error{background:#ef44440d}
html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--ec-text-primary);background:var(--ec-page-bg);font-family:var(--ec-font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}
