@font-face{font-family:Manrope 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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.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}*{box-sizing:border-box}html,body,#root{min-width:0;min-height:100%;margin:0}body{background:#f5f7f6;color:#14271e}.app-shell{--nav:#071b12;--green:#176d48;--lime:#c9f45c;--line:#d8e2dc;--muted:#627268;min-height:100vh}.app-shell>aside{position:fixed;inset:0 auto 0 0;width:260px;background:var(--nav);color:#fff;z-index:20;display:flex;flex-direction:column}.brand{height:86px;padding:10px 18px;border-bottom:1px solid #ffffff18;display:flex;align-items:center;justify-content:space-between}.brand .brand-logo img{width:68px;height:64px}.brand>button{display:none;background:transparent;border:0;color:#fff}.brand>button svg{width:22px}.app-shell nav{padding:20px 12px;display:grid;gap:5px}.app-shell nav button{width:100%;height:46px;border:0;border-radius:9px;background:transparent;color:#b9ccc1;display:flex;align-items:center;gap:12px;padding:0 14px;font-weight:600;text-align:left}.app-shell nav button svg{width:19px}.app-shell nav button.active{background:var(--lime);color:#0a2518}.source-note{margin:auto 12px 18px;padding:13px;border:1px solid #ffffff1d;border-radius:10px;display:flex;gap:10px;color:#a9bdb1}.source-note svg{width:18px;flex:none}.source-note span{display:flex;flex-direction:column;font-size:11px;line-height:1.5}.source-note b{color:#fff}.workspace{margin-left:260px;min-height:100vh}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:10}.topbar>div{display:flex;flex-direction:column}.topbar b{font-size:15px}.topbar span{font-size:11px;color:var(--muted)}.menu-button{display:none;border:0;background:transparent}.api-status{margin-left:auto!important;display:flex;align-items:center;gap:7px}.api-status i{width:8px;height:8px;border-radius:50%;background:#2aa66e;box-shadow:0 0 0 4px #2aa66e1c}.workspace>main{max-width:1460px;margin:auto;padding:28px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.page-header h1{font-size:25px;letter-spacing:-.035em;margin:0 0 5px}.page-header p{color:var(--muted);font-size:13px;margin:0}.primary,.secondary,.panel header button,.back-button{border:0;border-radius:8px;height:38px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;cursor:pointer}.primary{background:var(--lime);color:#102b1e}.secondary{background:#fff;border:1px solid var(--line);color:#264538}.primary svg,.secondary svg,.back-button svg{width:16px}.primary:disabled{opacity:.55;cursor:wait}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric{background:#fff;border:1px solid var(--line);border-radius:11px;padding:18px;min-width:0}.metric span{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;font-size:21px;margin-top:9px;overflow-wrap:anywhere}.metric.alert{border-color:#e3bd72;background:#fffbf0}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel>header{padding:17px 19px;border-bottom:1px solid #edf1ee;display:flex;justify-content:space-between;align-items:center}.panel h2{font-size:15px;margin:0}.panel header p{font-size:11px;color:var(--muted);margin:4px 0 0}.panel header button{background:transparent;color:var(--green)}.compact-list article{min-height:62px;padding:12px 19px;border-bottom:1px solid #edf1ee;display:grid;grid-template-columns:minmax(0,1fr) 160px 120px;align-items:center;gap:15px}.compact-list article:last-child{border:0}.compact-list article>div{display:flex;flex-direction:column;min-width:0}.compact-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-list span{font-size:11px;color:var(--muted)}.compact-list strong{font-size:12px}.search-box{height:50px;background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;padding:0 15px;margin-bottom:18px}.search-box svg{width:19px;color:var(--muted)}.search-box input{flex:1;height:100%;border:0;outline:0;padding:0 12px;background:transparent}.opportunity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.opportunity-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;min-height:290px}.tags{display:flex;align-items:center;justify-content:space-between;gap:7px}.tags>span:first-child{color:#176341;background:#e8f5ed;border-radius:12px;padding:5px 9px;font-size:11px}.status{display:inline-flex;width:max-content;padding:5px 9px;border-radius:12px;background:#edf2ef;color:#526158;font-size:10px;font-weight:700}.status.good{background:#e2f3e9;color:#176341}.status.bad{background:#fde8e8;color:#a33e3e}.opportunity-card h2{font-size:16px;line-height:1.4;margin:17px 0 7px}.opportunity-card>p{font-size:12px;color:var(--muted);margin:0}.opportunity-card dl{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid #edf1ee;padding:13px 0;margin:18px 0}.opportunity-card dl div+div{border-left:1px solid #edf1ee;padding-left:13px}.opportunity-card dt,.facts dt{font-size:10px;color:var(--muted)}.opportunity-card dd,.facts dd{font-size:12px;font-weight:700;margin:4px 0 0}.opportunity-card footer{display:flex;align-items:center;gap:8px;margin-top:auto}.opportunity-card footer>span{font-size:10px;color:var(--muted);flex:1}.back-button{background:transparent;color:var(--green);padding-left:0;margin-bottom:18px}.detail-header{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.detail-header>div>span{font-size:11px;color:var(--green);font-weight:700}.detail-header h1{font-size:25px;line-height:1.25;margin:7px 0}.detail-header p{color:var(--muted);font-size:12px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px}.panel.content{padding:22px}.panel.content>p{line-height:1.75;color:#41554a}.facts{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:24px}.facts>div{padding:14px;background:#f6f8f7;border-radius:8px}.source-card{padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;height:max-content}.source-card>svg{color:var(--green)}.source-card span,.source-card small{font-size:11px;color:var(--muted);line-height:1.5}.source-card a{display:flex;align-items:center;gap:6px;color:var(--green);font-size:12px;font-weight:700}.source-card a svg{width:14px}.project-form{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.project-form label{font-size:11px;font-weight:700;display:flex;flex-direction:column;gap:6px}.project-form input,.project-form select{height:40px;border:1px solid var(--line);border-radius:7px;padding:0 10px;background:#fff}.project-form footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.project-list{display:grid;gap:10px}.project-list article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) 140px 160px 170px;align-items:center;gap:16px}.project-list article>div:first-child{min-width:0}.project-list h2{font-size:14px;margin:5px 0}.project-list p,.project-list article>div>span{font-size:11px;color:var(--muted);margin:0}.project-list strong{font-size:12px}.progress{display:flex;align-items:center;gap:8px}.progress i{height:6px;flex:1;background:#e3eae6;border-radius:4px;overflow:hidden}.progress i b{display:block;height:100%;background:var(--green)}.progress span{font-size:10px}.source-list{display:grid;gap:9px}.source-list article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 17px;display:grid;grid-template-columns:32px minmax(0,1fr) 90px 130px;align-items:center;gap:14px}.source-list article>svg{color:var(--green)}.source-list article>div{display:flex;flex-direction:column}.source-list article span,.source-list article small{font-size:11px;color:var(--muted)}.source-list article small{grid-column:2/-1;color:#a43f3f}.loading,.empty,.feedback{background:#fff;border:1px solid var(--line);border-radius:11px;padding:38px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.loading i{width:20px;height:20px;border:2px solid #dce6e0;border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}.empty{min-height:240px;flex-direction:column;text-align:center}.empty>svg{width:35px;color:#7b9184}.empty h2{margin:4px 0 0;font-size:17px}.empty p{margin:0;font-size:12px}.feedback{padding:14px;margin-bottom:14px;justify-content:flex-start}.feedback.error{color:#943b3b;border-color:#e8bebe;background:#fff5f5}.feedback svg{width:18px}@keyframes spin{to{transform:rotate(360deg)}}.backdrop{display:none}@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,1fr)}.opportunity-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.app-shell>aside{transform:translate(-100%);transition:.2s;width:min(300px,86vw)}.app-shell>aside.open{transform:translate(0)}.brand>button{display:grid}.backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#06160e99;z-index:15}.workspace{margin-left:0}.menu-button{display:grid;margin-right:12px}.topbar{padding:0 16px}.workspace>main{padding:20px}.detail-grid{grid-template-columns:1fr}.project-list article{grid-template-columns:minmax(0,1fr) 120px}.project-list article>strong,.project-list .progress{grid-column:auto}.project-form{grid-template-columns:1fr 1fr}.compact-list article{grid-template-columns:minmax(0,1fr) 110px}.compact-list .deadline{display:none}}@media(max-width:560px){.topbar>div span,.api-status{display:none}.workspace>main{padding:14px}.page-header{align-items:flex-start;flex-direction:column}.page-header>div:last-child,.page-header .primary{width:100%}.metrics,.opportunity-grid,.project-form,.facts{grid-template-columns:1fr}.metric{padding:15px}.opportunity-card{min-height:0}.detail-header{align-items:flex-start;flex-direction:column}.detail-header .primary{width:100%}.project-list article{grid-template-columns:1fr}.source-list{overflow-x:auto}.source-list article{min-width:620px}.compact-list article{grid-template-columns:1fr}.compact-list strong{display:none}}.brand{height:112px}.brand .brand-logo img{width:118px;height:94px;object-fit:contain}.source-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.source-list article{grid-template-columns:42px minmax(0,1fr) auto;padding:20px;min-height:126px;border-radius:12px;gap:16px}.source-list article>svg{width:28px;height:28px}.source-list article>div{gap:5px}.source-list article b{font-size:15px;line-height:1.35}.source-list article span,.source-list article small{font-size:12px}.source-list article a{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-size:12px;font-weight:700;margin-top:3px}.source-list article a svg{width:13px}@media(max-width:1100px){.source-list{grid-template-columns:1fr}}@media(max-width:560px){.source-list{overflow:visible}.source-list article{min-width:0;grid-template-columns:36px minmax(0,1fr);padding:16px}.source-list article>.status,.source-list article>span{grid-column:2}}.splash{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:24px;background:#f4f8f5}.splash .brand-logo img{width:190px}.splash .loading{padding:14px 22px;min-height:0}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(390px,.9fr);background:#f4f7f5}.auth-brand{background:linear-gradient(145deg,#061b12,#0c3a27);padding:8vh 8vw;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.auth-brand .brand-logo img{width:min(330px,70%);filter:drop-shadow(0 10px 25px #0003)}.auth-brand>div{max-width:620px}.auth-brand>div>span{color:var(--lime,#c9f45c);font-size:12px;font-weight:800;letter-spacing:.15em}.auth-brand h1{font-size:clamp(34px,4vw,60px);line-height:1.08;letter-spacing:-.05em;margin:18px 0}.auth-brand p{font-size:17px;line-height:1.7;color:#c5d8ce}.auth-card{width:min(450px,calc(100% - 40px));margin:auto;background:#fff;border:1px solid #dce6e0;border-radius:18px;padding:38px;box-shadow:0 24px 70px #0b2a1913}.auth-mobile-logo{display:none}.auth-icon{width:48px;height:48px;border-radius:13px;background:#e9f7ee;color:#176d48;display:grid;place-items:center}.auth-card h2{font-size:27px;letter-spacing:-.035em;margin:20px 0 7px}.auth-card>p{font-size:13px;color:#627268;margin:0 0 24px}.auth-card form{display:grid;gap:16px}.auth-card label,.filter-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#294538}.auth-card input,.filter-grid input,.filter-grid select{width:100%;height:45px;border:1px solid #cfdcd4;border-radius:9px;padding:0 12px;background:#fff;color:#14271e;outline:0}.auth-card input:focus,.filter-grid input:focus,.filter-grid select:focus{border-color:#27845b;box-shadow:0 0 0 3px #27845b18}.auth-submit{width:100%;height:46px;margin-top:4px}.auth-card>small{display:block;color:#738278;line-height:1.55;margin-top:22px}.collapse-button{width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);display:grid;place-items:center;margin-right:14px;cursor:pointer}.collapse-button svg{width:18px}.nav-group{display:grid;gap:4px}.nav-group-toggle{height:30px!important;padding:0 10px!important;color:#789487!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.12em;justify-content:space-between}.nav-group-toggle svg{width:14px!important;transition:transform .2s}.nav-group-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.nav-group-items{display:grid;gap:4px;grid-template-rows:0fr;overflow:hidden;opacity:0;transition:grid-template-rows .2s,opacity .2s}.nav-group-items.open{grid-template-rows:1fr;opacity:1}.nav-group-items>button{overflow:hidden}.sidebar-user{margin:auto 12px 16px;padding:12px;border:1px solid #ffffff1c;border-radius:11px;display:grid;grid-template-columns:38px minmax(0,1fr) 30px;align-items:center;gap:10px}.sidebar-user .avatar{width:38px;height:38px;border-radius:50%;background:var(--lime);color:#123222;display:grid;place-items:center;font-size:12px;font-weight:800}.sidebar-user>span:nth-child(2){min-width:0;display:flex;flex-direction:column}.sidebar-user b,.sidebar-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user b{font-size:12px}.sidebar-user small{font-size:9px;color:#9cb4a7;margin-top:3px}.sidebar-user button{border:0;background:transparent;color:#b7cbbf;display:grid;place-items:center;cursor:pointer}.sidebar-user button svg{width:18px}.app-shell.sidebar-collapsed>aside{width:78px}.sidebar-collapsed .workspace{margin-left:78px}.sidebar-collapsed .brand{padding:8px;height:86px}.sidebar-collapsed .brand .brand-logo img{width:60px;height:64px}.sidebar-collapsed .nav-group-toggle span,.sidebar-collapsed .nav-group-toggle svg,.sidebar-collapsed nav button span,.sidebar-collapsed .sidebar-user>span:nth-child(2){display:none}.sidebar-collapsed .nav-group-toggle{height:10px!important}.sidebar-collapsed nav{padding:15px 10px}.sidebar-collapsed nav .nav-group-items{grid-template-rows:1fr;opacity:1}.sidebar-collapsed nav .nav-group-items button{justify-content:center;padding:0}.sidebar-collapsed .sidebar-user{grid-template-columns:1fr;padding:8px;margin:0 10px 14px}.sidebar-collapsed .sidebar-user .avatar{width:38px}.sidebar-collapsed .sidebar-user button{margin-top:4px}.opportunity-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.opportunity-tools .search-box{margin:0}.filter-button{height:50px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#294538;padding:0 17px;display:flex;align-items:center;gap:8px;font-weight:700;cursor:pointer}.filter-button svg{width:18px}.filter-button.active{border-color:#4b9a73;background:#f0faf4}.filter-button b{min-width:21px;height:21px;padding:0 5px;border-radius:11px;background:#176d48;color:#fff;display:grid;place-items:center;font-size:10px}.filters-panel{background:#fff;border:1px solid var(--line);border-radius:12px;margin:14px 0 18px;overflow:hidden}.filters-panel>header{padding:16px 18px;border-bottom:1px solid #edf1ee;display:flex;justify-content:space-between;align-items:center}.filters-panel h2{font-size:15px;margin:0}.filters-panel p{font-size:11px;color:var(--muted);margin:4px 0 0}.filters-panel header button{border:0;background:transparent;color:var(--green);font-weight:700;cursor:pointer}.filter-grid{padding:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.filter-grid .check-filter{flex-direction:row;align-items:center;align-self:end;height:45px;padding:0 12px;border:1px solid var(--line);border-radius:9px}.filter-grid .check-filter input{width:17px;height:17px}.result-count{font-size:12px;color:var(--muted);margin:18px 0 11px}@media(max-width:1000px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.collapse-button{display:none}.sidebar-collapsed .workspace{margin-left:0}.app-shell.sidebar-collapsed>aside{width:min(300px,86vw)}.sidebar-collapsed .brand{height:112px;padding:10px 18px}.sidebar-collapsed .brand .brand-logo img{width:118px;height:94px}.sidebar-collapsed .nav-group-toggle span,.sidebar-collapsed .nav-group-toggle svg,.sidebar-collapsed nav button span,.sidebar-collapsed .sidebar-user>span:nth-child(2){display:initial}.sidebar-collapsed .nav-group-toggle{height:30px!important}.sidebar-collapsed nav{padding:20px 12px}.sidebar-collapsed nav .nav-group-items:not(.open){grid-template-rows:0fr;opacity:0}.sidebar-collapsed nav .nav-group-items button{justify-content:flex-start;padding:0 14px}.sidebar-collapsed .sidebar-user{grid-template-columns:38px minmax(0,1fr) 30px;padding:12px;margin:auto 12px 16px}.auth-page{grid-template-columns:1fr}.auth-brand{display:none}.auth-mobile-logo{display:block;text-align:center}.auth-mobile-logo .brand-logo img{width:170px}.auth-card{margin:40px auto}}@media(max-width:560px){.auth-card{padding:24px;width:calc(100% - 28px)}.opportunity-tools{grid-template-columns:1fr}.filter-button{width:100%;justify-content:center}.filter-grid{grid-template-columns:1fr}.filters-panel>header{align-items:flex-start;gap:12px}.filters-panel header button{white-space:nowrap}}body,button,input,select,textarea{font-family:Manrope Variable,Manrope,system-ui,sans-serif;font-size:14px}.page-header h1{font-size:29px}.page-header p{font-size:14px;line-height:1.6}.app-shell nav button{font-size:14px}.topbar b{font-size:16px}.topbar span{font-size:12px}.metric span,.panel header p,.compact-list span,.opportunity-card>p{font-size:12px}.metric strong{font-size:23px}.panel h2{font-size:17px}.opportunity-card h2{font-size:18px}.opportunity-card dt,.facts dt{font-size:11px}.opportunity-card dd,.facts dd{font-size:13px}.status{font-size:11px}.source-list article b{font-size:16px}.app-shell .brand{height:88px;padding-block:7px}.app-shell .brand .brand-logo img{width:86px;height:72px}.sidebar-collapsed .brand{height:78px}.sidebar-collapsed .brand .brand-logo img{width:54px;height:56px}.pncp-tools{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:12px;margin-bottom:18px}.pncp-tools .search-box{margin:0}.pncp-tools label{height:50px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:5px 10px;display:flex;flex-direction:column;font-size:9px;font-weight:800;color:var(--muted)}.pncp-tools input{width:100%;min-width:0;border:0;outline:0;font-weight:800;text-transform:uppercase}.pncp-list{display:grid;gap:12px}.pncp-list article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px;display:grid;grid-template-columns:minmax(0,1fr) 160px 190px 130px;align-items:center;gap:18px}.pncp-main{min-width:0}.pncp-main>span{font-size:11px;font-weight:800;color:var(--green)}.pncp-main h2{font-size:16px;line-height:1.45;margin:7px 0}.pncp-main p{font-size:12px;color:var(--muted);margin:0}.pncp-list article>div:not(.pncp-main){display:flex;flex-direction:column;gap:5px}.pncp-list small{font-size:10px;color:var(--muted)}.pncp-list b{font-size:12px;line-height:1.45}.pncp-list a{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--green);font-size:12px;font-weight:800}.pncp-list a svg{width:14px}@media(max-width:1000px){.pncp-list article{grid-template-columns:minmax(0,1fr) 150px}.pncp-list article>a{grid-column:2}.pncp-list article>div:nth-child(3){grid-column:2}}@media(max-width:560px){.page-header h1{font-size:25px}.pncp-tools{grid-template-columns:minmax(0,1fr) 84px}.pncp-list article{grid-template-columns:1fr}.pncp-list article>a,.pncp-list article>div:nth-child(3){grid-column:1;justify-content:flex-start}}.documents-panel{margin-top:16px}.document-list{display:grid}.document-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:13px;align-items:center;padding:16px 20px;border-bottom:1px solid #edf1ee}.document-list article:last-child{border:0}.document-list svg{color:var(--green);width:22px}.document-list b{font-size:14px}.document-list p{font-size:12px;line-height:1.55;color:var(--muted);margin:4px 0 0}.document-list a{display:flex;align-items:center;gap:6px;color:var(--green);font-size:12px;font-weight:800}.document-list a svg{width:14px}.panel.content h3{font-size:19px;line-height:1.4;margin:18px 0 8px}.project-list article{cursor:pointer;transition:border-color .15s,transform .15s}.project-list article:hover{border-color:#75a98d;transform:translateY(-1px)}.header-actions{display:flex;gap:9px}.admin-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:16px}.admin-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid #edf1ee}.admin-list article:last-child{border:0}.admin-list article>svg{width:21px;color:var(--green)}.admin-list article>div{display:flex;flex-direction:column;min-width:0}.admin-list b{font-size:13px}.admin-list span,.admin-list small{font-size:11px;color:var(--muted)}.admin-list small{text-align:right}@media(max-width:900px){.admin-grid{grid-template-columns:1fr}.header-actions{width:100%}.header-actions button{flex:1}}@media(max-width:560px){.document-list article,.admin-list article{grid-template-columns:30px minmax(0,1fr)}.document-list a,.admin-list small{grid-column:2;text-align:left}.header-actions{flex-direction:column}}.metrics.expanded{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-obras{margin-top:18px}.dashboard-obras .status{justify-self:start}@media(max-width:1100px){.metrics.expanded{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.metrics.expanded{grid-template-columns:1fr}}.spinning{animation:spin .9s linear infinite}.sync-live{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 15px;color:var(--muted);font-size:12px}.sync-live>span{display:flex;align-items:center;gap:8px}.sync-live i{width:8px;height:8px;border-radius:50%;background:#8ba097}.sync-live i.pulse{background:#22a269;box-shadow:0 0 0 5px #22a2691c;animation:sync-pulse 1.6s ease-in-out infinite}.sync-live small{font-size:11px}.sync-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sync-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:19px;display:flex;flex-direction:column;gap:17px;min-width:0}.sync-card.is-running{border-color:#79b596;box-shadow:0 7px 24px #176d480d}.sync-card>header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px}.sync-source-icon{width:42px;height:42px;border-radius:11px;background:#edf7f1;color:var(--green);display:grid;place-items:center}.sync-source-icon svg{width:21px}.sync-card h2{font-size:16px;margin:0 0 3px}.sync-card header p{font-size:11px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-count{display:flex;align-items:baseline;gap:8px;padding:14px;border-radius:9px;background:#f5f8f6}.sync-count strong{font-size:23px;letter-spacing:-.03em}.sync-count span{font-size:11px;color:var(--muted)}.sync-progress{display:grid;gap:8px}.sync-progress>div{display:flex;justify-content:space-between;gap:12px;font-size:11px}.sync-progress>div span{color:#385346;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-progress>div b{color:var(--green);white-space:nowrap}.sync-progress>i{height:8px;border-radius:5px;background:#e4ece7;overflow:hidden}.sync-progress>i>b{display:block;height:100%;border-radius:5px;background:#2c9767}.sync-progress>i>b.indeterminate{width:38%;animation:sync-slide 1.5s ease-in-out infinite}.sync-progress small,.sync-last span,.sync-last small{font-size:10px;color:var(--muted)}.sync-last{display:grid;grid-template-columns:auto 1fr;gap:3px 10px}.sync-last b{font-size:11px;text-align:right}.sync-last small{grid-column:1/-1}.sync-error{display:flex;align-items:flex-start;gap:7px;padding:10px;border-radius:8px;background:#fff3f3;color:#9c3d3d;font-size:11px;line-height:1.5;margin:0}.sync-error svg{width:15px;flex:none}.sync-card>footer{display:flex;justify-content:flex-end;margin-top:auto}.sync-card>footer button:disabled{opacity:.55;cursor:not-allowed}@keyframes sync-slide{0%{transform:translate(-105%)}50%{transform:translate(165%)}to{transform:translate(-105%)}}@keyframes sync-pulse{50%{box-shadow:0 0 0 8px #22a26908}}@media(max-width:950px){.sync-grid{grid-template-columns:1fr}}@media(max-width:560px){.sync-live{align-items:flex-start;flex-direction:column}.sync-card{padding:15px}.sync-card>header{grid-template-columns:38px minmax(0,1fr)}.sync-source-icon{width:38px;height:38px}.sync-card header .status{grid-column:2}.sync-count{align-items:flex-start;flex-direction:column}.sync-card>footer button{width:100%}}
