.assistant-page .assistant-header{padding-bottom:18px}.assistant-page .assistant-status{align-self:center;min-height:28px;padding:0 4px}.assistant-page .assistant-workspace{flex:1;min-height:0}.assistant-page .assistant-messages{flex:1;gap:18px;min-height:0;max-height:none;padding:25px clamp(16px,3.5vw,48px) 22px}.assistant-page .assistant-messages.is-initial{justify-content:flex-start;min-height:0;padding-top:25px;padding-bottom:22px}.assistant-page .assistant-message-row{gap:9px}.assistant-page .assistant-avatar{margin-top:17px}.assistant-page .assistant-message-content{max-width:min(720px,80%)}.assistant-page .assistant-author{margin:0 0 4px 3px;font-size:10px}.assistant-page .assistant-bubble{padding:12px 15px}.assistant-page .assistant-time,.assistant-page .assistant-sources,.assistant-page .assistant-limitation{margin-top:5px}.assistant-page .assistant-sources,.assistant-page .assistant-limitation{overflow-wrap:anywhere}.assistant-page .assistant-controls{padding:10px clamp(16px,3.5vw,48px) 0}.assistant-page .assistant-suggestions{margin:0 -4px;padding:2px 5px 8px;scroll-padding-inline:5px}.assistant-page .assistant-suggestions button{min-height:32px;padding:6px 13px}.assistant-page .assistant-suggestions-in-flow{display:none}.assistant-page .assistant-form{border-color:#cbd2da;border-radius:13px;gap:8px;padding:6px 6px 6px 14px;box-shadow:0 3px 13px #141d2b11}.assistant-page .assistant-form:focus-within{border-color:#c92f3a;box-shadow:0 0 0 3px #c92f3a17,0 3px 13px #141d2b11}.assistant-page .assistant-form textarea{min-height:38px;padding:8px 0}.assistant-page .assistant-form button{border-radius:10px;width:40px;height:40px;transition:background .16s,opacity .16s,box-shadow .16s,transform .16s}.assistant-page .assistant-form button:hover:not(:disabled){background:#aa252f;transform:translateY(-1px)}.assistant-page .assistant-form button:disabled{color:#ffffffe6;opacity:.42;background:#c92f3a}.assistant-page .assistant-form button:focus-visible{outline-offset:3px;outline:2px solid #9f202a}.assistant-page .assistant-readonly-note{color:#747f8e;margin-top:5px;font-size:10.5px}@media (width<=900px){.assistant-page{height:calc(100vh - 68px - clamp(52px,8vw,108px))}.assistant-page .assistant-messages{min-height:0;max-height:none}.assistant-page .assistant-messages.is-initial{min-height:0}}@media (width<=760px){.assistant-page .assistant-header{padding-bottom:15px}.assistant-page .assistant-messages{gap:16px;min-height:0;max-height:none;padding:20px 3px 18px}.assistant-page .assistant-messages.is-initial{justify-content:flex-start;min-height:0;padding-top:20px;padding-bottom:18px}.assistant-page .assistant-message-content{max-width:90%}.assistant-page .assistant-controls{padding:9px 0 0}.assistant-page .assistant-suggestions{margin:0;padding:1px 1px 8px}.assistant-page .assistant-suggestions-controls{display:none}.assistant-page .assistant-suggestions-in-flow{flex:none;margin-top:2px;display:flex}.assistant-page .assistant-form{padding-left:12px}}@media (width<=480px){.assistant-page{height:auto}.assistant-page .assistant-messages{min-height:285px;max-height:calc(100vh - 350px)}.assistant-page .assistant-messages.is-initial{min-height:285px;padding-top:20px;padding-bottom:18px}.assistant-page .assistant-message-content{max-width:91%}.assistant-page .assistant-bubble{padding:10px 12px}}.reports-page{min-width:0}.reports-layout{gap:12px;display:grid}.reports-top-row{grid-template-columns:minmax(280px,320px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.reports-right-column{gap:12px;min-width:0;display:grid}.reports-config-card,.reports-preview-card,.reports-chart-card,.reports-summary-card,.reports-kpis article,.reports-welcome{background:#fff;border:1px solid #e1e5eb;border-radius:12px;box-shadow:0 3px 12px #141d2b0d}.reports-config-card{align-self:start;padding:14px}.reports-config-card h2,.reports-preview-card h2{color:#2a3442;letter-spacing:.035em;text-transform:uppercase;margin:0;font-size:.94rem}.reports-config-card form{gap:9px;margin-top:12px;display:grid}.reports-config-card label{color:#526071;text-transform:uppercase;gap:5px;font-size:.72rem;font-weight:750;display:grid}.reports-config-card select,.reports-config-card input{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #d7dee8;border-radius:8px;width:100%;min-width:0;min-height:36px;padding:0 9px}.reports-secondary-filters{gap:9px;display:grid}.reports-filter-toggle{width:fit-content;color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;padding:1px 0;font-size:.78rem;font-weight:750}.reports-filter-toggle:hover{text-decoration:underline}.reports-filter-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}.reports-form-actions{grid-template-columns:minmax(72px,.65fr) minmax(125px,1.35fr);gap:7px;margin-top:2px;display:grid}.reports-form-actions button{justify-content:center;min-width:0;min-height:35px;padding-block:6px}.reports-form-actions .secondary-button{padding-inline:9px}.reports-form-actions .admin-primary-button{margin:0;padding-inline:10px}.reports-kpi-area{align-self:start;min-width:0}.reports-kpis{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;display:grid}.reports-kpis article{background:linear-gradient(145deg,#fff,#fafbfc);align-content:center;gap:4px;min-width:0;min-height:72px;padding:10px 12px;display:grid}.reports-kpis span{color:#6b7686;letter-spacing:.035em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.64rem;font-weight:750;overflow:hidden}.reports-kpis strong{color:#252d39;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.96rem,1.55vw,1.18rem);overflow:hidden}.reports-welcome{color:#7b8594;text-align:center;place-items:center;gap:7px;min-height:72px;padding:10px;display:grid}.reports-welcome svg{color:#c2c8d1}.reports-welcome strong{max-width:390px;font-size:.8rem;font-weight:650}.reports-visuals{grid-template-columns:minmax(0,32fr) minmax(0,44fr) minmax(205px,24fr);gap:12px;display:grid}.reports-chart-card,.reports-summary-card{min-width:0;padding:13px}.reports-chart-card h3,.reports-summary-card h3{color:#303a48;margin:0 0 9px;font-size:.84rem}.reports-donut-layout{grid-template-columns:minmax(130px,1fr) minmax(105px,.8fr);align-items:center;gap:6px;display:grid}.reports-chart-canvas{width:100%;height:180px;position:relative}.reports-donut-total{pointer-events:none;text-align:center;place-content:center;display:grid;position:absolute;inset:0}.reports-donut-total span{color:#7a8493;text-transform:uppercase;font-size:.61rem}.reports-donut-total strong{color:#252d39;text-overflow:ellipsis;white-space:nowrap;max-width:88px;font-size:.86rem;overflow:hidden}.reports-chart-legend{align-content:center;gap:6px;min-width:0;display:grid}.reports-chart-legend>div{grid-template-columns:8px minmax(0,1fr);align-items:center;gap:1px 6px;min-width:0;display:grid}.reports-chart-legend i{border-radius:50%;grid-row:1/3;width:7px;height:7px}.reports-chart-legend span,.reports-chart-legend b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reports-chart-legend span{color:#4b5563;font-size:.68rem}.reports-chart-legend b{color:#737d8b;font-size:.61rem;font-weight:650}.reports-comparison-card{padding-bottom:2px}.reports-summary-card{align-content:start;display:grid}.reports-summary-card>div{border-top:1px solid #e7eaf0;gap:3px;padding:8px 0;display:grid}.reports-summary-card span{color:#717c8c;font-size:.67rem}.reports-summary-card strong{color:#252d39;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.report-chart-tooltip{background:#fff;border:1px solid #dfe4ea;border-radius:8px;gap:3px;padding:8px 10px;display:grid;box-shadow:0 8px 22px #141d2b1f}.report-chart-tooltip strong{color:#303846;font-size:.74rem}.report-chart-tooltip span{color:#687386;font-size:.7rem}.reports-chart-empty{color:#7a8493;text-align:center;place-items:center;min-height:150px;display:grid}.reports-preview-card{min-width:0;padding:16px}.reports-preview-heading{border-bottom:1px solid #e5e8ed;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:11px;display:flex}.reports-preview-heading p{color:#697386;margin:4px 0 0;font-size:.77rem}.reports-export-actions{flex-wrap:wrap;gap:7px;display:flex}.reports-export-actions .secondary-button{min-height:34px;padding:6px 10px}.reports-preview-card>h3{color:#242a33;margin:14px 0 3px;font-size:1rem}.reports-filter-summary{color:#667085;flex-wrap:wrap;gap:6px 12px;margin:7px 0 11px;font-size:.76rem;display:flex}.reports-table-scroll{border:1px solid #e3e7ed;border-radius:9px;max-width:100%;overflow-x:auto}.reports-table-scroll .admin-table{margin:0}.reports-table-scroll .admin-table th{white-space:nowrap;background:#f6f7f9;padding:9px 10px}.reports-table-scroll .admin-table td{padding:8px 10px}.reports-total{border-top:2px solid var(--brand);justify-content:flex-end;gap:22px;margin-top:9px;padding:9px 6px;font-weight:700;display:flex}.reports-pagination{color:#77808e;justify-content:flex-end;align-items:center;gap:8px;margin-top:9px;font-size:.74rem;display:flex}.reports-pagination .secondary-button{min-height:30px;padding:4px 9px;font-size:.72rem}.reports-initial{color:#788293;text-align:center;place-items:center;gap:9px;min-height:190px;display:grid}.reports-initial svg{color:#c3c9d2}@media (width<=1199px){.reports-top-row{grid-template-columns:1fr}.reports-config-card form{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-config-card h2,.reports-form-actions,.reports-filter-toggle,.reports-secondary-filters{grid-column:1/-1}.reports-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-visuals{grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr)}.reports-comparison-card{grid-area:2/1/auto/-1}.reports-donut-card{grid-column:1}.reports-summary-card{grid-column:2}}@media (width<=767px){.reports-layout{gap:10px}.reports-top-row,.reports-visuals{grid-template-columns:minmax(0,1fr)}.reports-config-card form{grid-template-columns:1fr}.reports-config-card h2,.reports-form-actions,.reports-filter-toggle,.reports-secondary-filters{grid-column:auto}.reports-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reports-kpis article{min-height:68px;padding:9px 10px}.reports-donut-card,.reports-summary-card,.reports-comparison-card{grid-column:1}.reports-donut-card{grid-row:1}.reports-comparison-card{grid-row:2}.reports-summary-card{grid-row:3}.reports-donut-layout{grid-template-columns:minmax(0,1.15fr) minmax(120px,.85fr)}.reports-preview-heading{flex-direction:column}.reports-export-actions{width:100%}.reports-export-actions .secondary-button{flex:1;justify-content:center}.reports-preview-card{padding:13px}.reports-table-scroll{width:100%}}@media (width<=480px){.reports-kpis{grid-template-columns:1fr}.reports-form-actions{grid-template-columns:minmax(72px,.65fr) minmax(0,1.35fr)}.reports-donut-layout{grid-template-columns:1fr}.reports-chart-canvas{height:175px}.reports-chart-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-chart-card,.reports-summary-card{padding:12px}}:root{color:#20242c;font-synthesis:none;text-rendering:optimizelegibility;--brand:#c92f3a;--brand-dark:#a8212c;--brand-soft:#fbecee;--text:#20242c;--muted:#6f7682;--border:#e4e6eb;--surface:#fff;--background:#f5f6f8;--sidebar-width:276px;--shadow:0 12px 32px #20242c14;background:#f5f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--background);min-width:320px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #c92f3a33}.loading-screen{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:14px;display:grid}.spinner,.button-spinner{border:2px solid #c92f3a33;border-top-color:var(--brand);border-radius:50%;animation:.8s linear infinite spin;display:inline-block}.spinner{width:32px;height:32px}.button-spinner{border-color:#fff #fff6 #fff6;width:16px;height:16px}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background-color:#171b21;background-image:linear-gradient(90deg,#0d1219a8 0%,#0d12197a 42%,#0d121947 72%,#0d12196b 100%),linear-gradient(#0a0f161a 0%,#0a0f160f 40%,#0a0f1675 100%),url(/assets/login-construction-bg-Du5vvmRv.png);background-position:50%,50%,100%;background-repeat:no-repeat;background-size:cover;grid-template-rows:auto auto;grid-template-columns:minmax(0,55%) minmax(0,45%);align-content:start;min-height:100vh;display:grid}.login-brand-panel{color:#fff;background:0 0;grid-area:1/1;width:auto;min-height:0;padding:clamp(38px,4vw,64px) clamp(32px,3.25vw,64px) 24px;position:relative;overflow:hidden}.login-brand-content{width:100%;max-width:930px;margin:0 auto}.login-logo-row{justify-content:flex-start;align-items:center;gap:14px;min-height:72px;display:flex}.login-machinery-crop{flex:none;width:78px;height:62px;display:block;overflow:hidden}.login-machinery-crop img{filter:brightness(0)invert(.82);width:auto;max-width:none;height:62px;display:block}.login-mark-divider{background:#e32936;flex:none;width:4px;height:62px}.login-wordmark{color:#e32936;letter-spacing:-.055em;flex:none;font-size:clamp(38px,4.1vw,58px);font-weight:850;line-height:1}.login-brand-label{color:#f4f6f8;border-left:2px solid #8491a1;min-width:0;padding-left:16px;font-size:clamp(15px,1.35vw,21px);line-height:1.25}.login-red-line{background:#d52d39;width:100%;height:3px;margin-top:22px}.login-hero-copy{margin-top:clamp(32px,4.5vh,52px)}.login-hero-copy h1{color:#fff;letter-spacing:-.025em;max-width:760px;margin:0;font-size:clamp(30px,2.45vw,42px);font-weight:760;line-height:1.12}.login-hero-copy h1 span{color:#d42d38;margin-top:2px;display:block}.login-hero-copy p{color:#b8c6d6;max-width:660px;margin:19px 0 0;font-size:clamp(15px,1.08vw,19px);line-height:1.5}.login-feature-grid{grid-area:2/1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;align-self:start;gap:18px;width:auto;padding:0 clamp(32px,3.25vw,64px) 26px;display:grid}.login-feature-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#181d24d1;border:1px solid #8492a457;border-radius:15px;min-width:0;min-height:168px;padding:23px 24px 20px}.login-feature-icon{color:#ef3744;background:#c92f3a38;border-radius:12px;place-items:center;width:45px;height:45px;margin-bottom:13px;display:grid}.login-feature-card h2{color:#fff;margin:0 0 10px;font-size:17px;font-weight:780}.login-feature-card p{color:#b8c6d6;margin:0;font-size:15px;line-height:1.45}.login-footer{color:#8798ad;grid-column:1/-1;width:min(100%,930px);margin:4px auto 0;font-size:14px}.login-form-panel{background:#0e121857;grid-area:2/2;align-content:start;align-self:start;justify-items:center;min-width:0;min-height:0;padding:0 clamp(24px,3vw,48px);display:grid;position:static}.login-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1d232be8;border:1px solid #8492a461;border-radius:18px;width:min(100%,480px);padding:40px clamp(26px,3.2vw,46px);box-shadow:0 14px 36px #0003}.login-user-icon{color:#dbe2ea;background:#29313c;border-radius:16px;place-items:center;width:62px;height:62px;margin:0 auto 23px;display:grid}.login-heading{text-align:center;margin-bottom:31px}.eyebrow{color:var(--brand);letter-spacing:.14em;margin-bottom:10px;font-size:11px;font-weight:800;display:block}.login-heading h2{color:#f5f7fa;letter-spacing:-.025em;margin:0 0 10px;font-size:35px;font-weight:760}.login-heading p,.page-header p{color:var(--muted);margin:0;line-height:1.5}.login-heading p{color:#b8c6d6;font-size:17px}.form-alert{color:#8d1f29;background:var(--brand-soft);border:1px solid #f1c8cc;border-radius:9px;margin-bottom:22px;padding:13px 15px;font-size:14px;line-height:1.45}.login-card form{flex-direction:column;display:flex}.login-card form>label:not(.checkbox-row){color:#c5cfdb;margin:0 0 10px;font-size:12px;font-weight:800}.input-shell{color:#b0bdcc;background:#252c35eb;border:1px solid #414b58;border-radius:11px;align-items:center;min-height:58px;margin-bottom:26px;padding:0 16px;transition:border-color .2s,box-shadow .2s;display:flex}.input-shell:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #c92f3a17}.input-shell input{color:#f4f6f8;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:16px 1px;font-size:16px}.input-shell input::placeholder{color:#aeb8c5}.input-shell input:-webkit-autofill{-webkit-text-fill-color:#f4f6f8;caret-color:#f4f6f8;transition:background-color 99999s ease-out;box-shadow:inset 0 0 0 1000px #252c35!important}.input-shell input:-webkit-autofill:hover{-webkit-text-fill-color:#f4f6f8;caret-color:#f4f6f8;transition:background-color 99999s ease-out;box-shadow:inset 0 0 0 1000px #252c35!important}.input-shell input:-webkit-autofill:focus{-webkit-text-fill-color:#f4f6f8;caret-color:#f4f6f8;transition:background-color 99999s ease-out;box-shadow:inset 0 0 0 1000px #252c35!important}.input-shell input:-webkit-autofill:active{-webkit-text-fill-color:#f4f6f8;caret-color:#f4f6f8;transition:background-color 99999s ease-out;box-shadow:inset 0 0 0 1000px #252c35!important}.input-shell input:autofill{-webkit-text-fill-color:#f4f6f8;caret-color:#f4f6f8;transition:background-color 99999s ease-out;box-shadow:inset 0 0 0 1000px #252c35!important}.password-toggle{color:#858b95;cursor:pointer;background:0 0;border:0;place-items:center;padding:6px;display:grid}.login-options-row{justify-content:space-between;align-items:center;gap:20px;margin:0 0 28px;display:flex}.checkbox-row{color:#c5cfdb;cursor:pointer;align-items:center;gap:9px;font-size:15px;display:inline-flex}.checkbox-row input{width:18px;height:18px;accent-color:var(--brand);margin:0}.recovery-link{color:#d52d39;cursor:default;font-size:15px;font-weight:540}.access-denied-page{place-items:center;min-height:calc(100vh - 64px);padding:32px;display:grid}.access-denied-card{text-align:center;background:#fff;border:1px solid #e4e7eb;border-radius:18px;width:min(100%,520px);padding:48px;box-shadow:0 12px 32px #141b2614}.access-denied-icon{color:#c92f3a;background:#fbeaec;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 20px;display:grid}.access-denied-card h1{color:#151a22;margin:0 0 12px}.access-denied-card p{color:#647083;margin:0 0 28px}.access-denied-card .admin-primary-button{text-decoration:none;display:inline-flex}.primary-button{color:#fff;cursor:pointer;background:#d22e39;border:0;border-radius:11px;justify-content:center;align-items:center;gap:9px;min-height:61px;font-size:16px;font-weight:800;transition:background .2s,transform .2s;display:flex;box-shadow:0 8px 20px #c92f3a2e}.primary-button:hover:not(:disabled){background:var(--brand-dark);transform:translateY(-1px)}.primary-button:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}.login-card .primary-button:disabled{opacity:1;background:#d22e39}@media (width>=901px){.login-card{margin-top:-16px;padding-top:28px;padding-bottom:18px}.login-user-icon{margin-bottom:16px}.login-heading{margin-bottom:24px}.login-card form>label:not(.checkbox-row){margin-bottom:8px}.login-card .input-shell{margin-bottom:18px}.login-options-row{margin-bottom:20px}.login-feature-card{min-height:248px;padding-top:28px;padding-bottom:28px}.login-feature-icon{margin-bottom:18px}.login-feature-card h2{margin-bottom:14px}.login-feature-grid{padding-bottom:18px}}@media (width>=901px) and (height<=900px){.login-brand-panel{padding-top:clamp(24px,2.6vw,38px);padding-bottom:16px}.login-red-line{margin-top:16px}.login-hero-copy{margin-top:clamp(20px,2.4vh,28px)}.login-hero-copy h1{font-size:clamp(28px,2.1vw,34px)}.login-hero-copy p{margin-top:12px;font-size:16px}.login-feature-card{min-height:200px;padding:20px 24px 18px}.login-feature-icon{margin-bottom:14px}.login-feature-card h2{margin-bottom:10px}.login-feature-grid{padding-bottom:16px}.login-card{padding-top:18px;padding-bottom:12px}.login-user-icon{width:54px;height:54px;margin-bottom:10px}.login-heading{margin-bottom:14px}.login-heading h2{font-size:30px}.login-heading p{font-size:15px}.login-card form>label:not(.checkbox-row){margin-bottom:6px}.login-card .input-shell{min-height:50px;margin-bottom:10px}.login-card .input-shell input{padding-top:12px;padding-bottom:12px}.login-options-row{margin-bottom:10px}.login-card .primary-button{min-height:52px}}.app-shell{min-height:100vh}.sidebar{z-index:30;width:var(--sidebar-width);background:#20242a;border-right:1px solid #343942;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand-block{border-bottom:1px solid #343942;flex:none;align-items:center;gap:10px;min-height:80px;padding:12px 17px;display:flex}.sidebar-logo{object-fit:contain;flex:none;width:94px;height:43px;display:block}.brand-copy{flex-direction:column;align-items:flex-start;display:flex}.brand-copy>span{color:#fff;font-size:14px;font-weight:800}.brand-copy>small{color:#94a8c0;margin-top:2px;font-size:12px}.brand-block .sidebar-close{margin-left:auto}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#48505c transparent;flex:auto;min-height:0;padding:14px 14px 22px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-thumb{background:#48505c;border-radius:999px}.nav-group{margin-bottom:18px}.nav-group h2{color:#758ba7;letter-spacing:.16em;margin:0 12px 7px;font-size:10px;font-weight:800}.nav-item{color:#aabbd0;border-radius:8px;align-items:center;gap:12px;min-height:39px;margin:2px 0;padding:9px 12px;font-size:14px;font-weight:580;text-decoration:none;transition:color .18s,background .18s;display:flex}.nav-item svg{color:#6f7c8e}.nav-item:hover{color:#fff;background:#ffffff0b}.nav-item.is-active{color:#fff;background:#c92f3a33;font-weight:720;box-shadow:inset 3px 0 #dc303c}.nav-item.is-active svg{color:#e1323f}.sidebar-user{background:#20242a;border-top:1px solid #343942;flex:none;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:14px 17px 13px;display:grid}.user-avatar{color:#fff;background:var(--brand);border-radius:50%;place-items:center;width:38px;height:38px;font-size:14px;font-weight:800;display:grid}.user-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.user-copy strong,.user-copy span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-copy strong{color:#fff;font-size:13px}.user-copy span{color:#7f91aa;font-size:12px}.logout-button,.icon-button{color:#7f91aa;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.logout-button{grid-column:1/-1;justify-content:flex-start;align-items:center;gap:9px;width:100%;min-height:34px;margin-top:3px;padding:7px 9px;font-size:13px;font-weight:650;display:flex}.logout-button:hover,.icon-button:hover{color:#fff;background:#ffffff0f}.app-main{min-height:100vh;margin-left:var(--sidebar-width)}.page-container{padding:clamp(28px,4vw,54px)}.page-section{width:min(100%,1380px);margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:34px;display:flex}.page-header h1{color:var(--text);letter-spacing:-.035em;margin:0 0 8px;font-size:clamp(27px,3vw,36px)}.placeholder-card{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:13px;place-content:center;justify-items:center;min-height:360px;padding:40px;display:grid;box-shadow:0 5px 20px #20242c09}.placeholder-icon{width:58px;height:58px;color:var(--brand);background:var(--brand-soft);border-radius:13px;place-items:center;margin-bottom:17px;display:grid}.placeholder-card h2{margin:0 0 8px;font-size:20px}.placeholder-card p{max-width:500px;color:var(--muted);margin:0 0 20px;line-height:1.6}.placeholder-card>span{color:#7d838d;letter-spacing:.05em;text-transform:uppercase;background:#f2f3f5;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:750}.mobile-header,.sidebar-close,.sidebar-backdrop{display:none}.dashboard-page{width:min(100%,1368px);margin:0 auto}.dashboard-header{margin-bottom:38px}.dashboard-header h1{color:#10141b;letter-spacing:-.025em;margin:0 0 7px;font-size:29px;line-height:1.15}.dashboard-header p{color:#657187;margin:0;font-size:16px}.dashboard-metrics{grid-template-columns:repeat(var(--dashboard-metric-count,4), minmax(0, 1fr));gap:18px;display:grid}.metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:17px;flex-direction:column;justify-content:center;min-height:168px;padding:23px;display:flex;box-shadow:0 2px 5px #1c232d14}.metric-icon{border-radius:13px;place-items:center;width:46px;height:46px;margin-bottom:17px;display:grid}.metric-card strong{margin-bottom:8px;font-size:29px;line-height:1}.metric-card>span{color:#58657a;font-size:14px}.metric-blue .metric-icon{color:#245cff;background:#edf3ff}.metric-blue strong{color:#245cff}.metric-orange .metric-icon{color:#ff5a13;background:#fff3eb}.metric-orange strong{color:#ff4c00}.metric-red .metric-icon{color:#d12d3a;background:#fceef0}.metric-red strong{color:#c82d3a}.metric-violet .metric-icon{color:#5940ff;background:#eef0ff}.metric-violet strong{color:#4f35f3}.intelligent-summary{color:#fff;background:#20242a;border-radius:17px;min-height:245px;margin-top:35px;padding:28px;position:relative;overflow:hidden}.summary-decoration{background:#c92f3a0e;border-radius:50%;width:220px;height:220px;position:absolute;top:-115px;right:-75px}.summary-title-row{align-items:center;gap:11px;display:flex;position:relative}.summary-icon{color:#df3340;background:#c92f3a33;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.summary-title-row h2{margin:0;font-size:16px}.summary-title-row>span{color:#df3340;background:#c92f3a33;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.intelligent-summary>p{color:#b4c0cf;max-width:820px;margin:22px 0 25px;font-size:15px;line-height:1.65;position:relative}.summary-button{color:#fff;background:#d92f3b;border-radius:11px;align-items:center;gap:9px;min-height:41px;padding:10px 17px;font-size:14px;font-weight:750;text-decoration:none;display:inline-flex;position:relative}.summary-button:hover{background:#bd2631}.summary-button:disabled{cursor:not-allowed;opacity:.72}.dashboard-columns{grid-template-columns:minmax(0,2.05fr) minmax(300px,1fr);align-items:stretch;gap:24px;margin-top:35px;display:grid}.dashboard-columns.activity-only{grid-template-columns:minmax(300px,1fr)}.dashboard-card{background:#fff;border:1px solid #e4e6ea;border-radius:17px;min-height:310px;overflow:hidden;box-shadow:0 2px 5px #1c232d12}.dashboard-card>header{border-bottom:1px solid #eceef1;justify-content:space-between;align-items:center;min-height:80px;padding:0 28px;display:flex}.dashboard-card h2{margin:0;font-size:17px}.dashboard-card header a{color:#d02d39;font-size:13px;text-decoration:none}.dashboard-card header a span{vertical-align:-1px;margin-left:5px;font-size:19px}.dashboard-empty-state{text-align:center;place-content:center;justify-items:center;min-height:230px;padding:30px;display:grid}.empty-state-icon{color:#7d899a;background:#f2f4f6;border-radius:13px;place-items:center;width:52px;height:52px;margin-bottom:15px;display:grid}.dashboard-empty-state strong{color:#29313c;font-size:14px}.dashboard-empty-state p{color:#8a94a3;margin:7px 0 0;font-size:13px}.dashboard-project-list,.dashboard-activity-list{display:grid}.dashboard-project-row{min-height:72px;color:inherit;border-bottom:1px solid #edf0f3;grid-template-columns:minmax(180px,1.5fr) auto minmax(105px,.65fr) minmax(125px,.7fr);align-items:center;gap:18px;padding:13px 24px;text-decoration:none;display:grid}.dashboard-project-row:last-child,.dashboard-activity-row:last-child{border-bottom:0}.dashboard-project-row:hover,.dashboard-activity-row:hover{background:#fafbfc}.dashboard-project-main{gap:4px;min-width:0;display:grid}.dashboard-project-main strong{color:#c62d39;font-size:12px}.dashboard-project-main span{color:#28313e;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.dashboard-project-state{color:#176b45;background:#eaf7f0;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:750}.dashboard-project-state.is-suspended{color:#945600;background:#fff3df}.dashboard-project-progress{align-items:center;gap:8px;display:flex}.dashboard-project-progress>span{background:#e8ebef;border-radius:99px;flex:1;height:6px;overflow:hidden}.dashboard-project-progress i{border-radius:inherit;background:#315ee7;height:100%;display:block}.dashboard-project-progress small,.dashboard-project-row time{color:#758196;font-size:11px;font-style:normal}.dashboard-activity-row{min-height:58px;color:inherit;border-bottom:1px solid #edf0f3;align-items:center;gap:12px;padding:10px 20px;text-decoration:none;display:flex}.dashboard-activity-row>span:last-child{gap:4px;min-width:0;display:grid}.dashboard-activity-row strong{color:#344054;font-size:12px;line-height:1.35}.dashboard-activity-row time{color:#8993a2;font-size:10px}.activity-type{color:#526174;background:#f0f2f5;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.activity-proyecto{color:#245cff;background:#edf3ff}.activity-cotizacion{color:#e65313;background:#fff3eb}.activity-gasto{color:#c82d3a;background:#fceef0}.activity-herramienta{color:#4f35f3;background:#eef0ff}.dashboard-load-error{color:#6e3439;text-align:center;background:snow;border:1px solid #ead8da;border-radius:17px;place-content:center;justify-items:center;gap:14px;min-height:350px;padding:35px;display:grid}.dashboard-skeleton{box-shadow:none;background:#f0f2f5;border-color:#e7e9ed;position:relative;overflow:hidden}.dashboard-skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb8,#0000);animation:1.25s infinite dashboard-shimmer;position:absolute;inset:0;transform:translate(-100%)}.summary-skeleton{min-height:245px}@keyframes dashboard-shimmer{to{transform:translate(100%)}}.modal-panel.modal-role{width:min(1180px,100vw - 40px);max-height:92vh}.modal-role .modal-header{z-index:4;background:#fff;position:sticky;top:0}.modal-role .modal-body{padding:20px 24px 0}.role-form{gap:18px}.role-form-basics{grid-template-columns:minmax(0,.92fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.role-form-basics textarea{resize:none;min-height:64px}.role-permissions-card{background:#fff;border:1px solid #e1e5ea;border-radius:12px;overflow:hidden}.role-permissions-header{border-bottom:1px solid #e8ebef;justify-content:space-between;align-items:flex-end;gap:24px;padding:15px 18px;display:flex}.role-permissions-header h3{color:#202630;margin:0 0 4px;font-size:15px}.role-permissions-header p{color:#718095;margin:0;font-size:12px}.role-form .permission-template{flex:0 0 190px;gap:5px}.role-form .permission-template select{min-height:36px;padding:6px 10px;font-size:12px}.permission-matrix-wrap{overflow:auto visible}.permission-matrix{border-collapse:collapse;table-layout:fixed;color:#404b5d;width:100%;min-width:0}.permission-matrix .permission-module-column{width:38%}.permission-matrix col:nth-child(2){width:11%}.permission-matrix col:nth-child(3){width:9%}.permission-matrix col:nth-child(4),.permission-matrix col:nth-child(5){width:10%}.permission-matrix col:nth-child(6){width:22%}.permission-matrix thead{background:#f7f8fa}.permission-matrix th{color:#596579;text-align:center;white-space:nowrap;border-bottom:1px solid #e6e9ed;height:39px;padding:8px 10px;font-size:12px;font-weight:750}.permission-matrix thead th:first-child{text-align:left;padding-left:18px}.permission-matrix tbody tr{height:46px}.permission-matrix tbody tr:hover{background:#fcfcfd}.permission-matrix tbody th,.permission-matrix tbody td{border-bottom:1px solid #edf0f3;padding:6px 10px}.permission-matrix tbody tr:last-child th,.permission-matrix tbody tr:last-child td{border-bottom:0}.permission-matrix tbody th{color:#28313e;text-align:left;white-space:nowrap;align-items:center;gap:10px;height:46px;padding-left:18px;font-size:12px;font-weight:700;display:flex}.permission-matrix tbody td{text-align:center}.permission-module-icon{color:#c52c38;background:#fbecee;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:inline-grid}.role-form .permission-switch{cursor:pointer;width:34px;height:19px;margin:0;display:inline-flex;position:relative}.role-form .permission-switch input{opacity:0;width:1px;height:1px;min-height:0;position:absolute}.permission-switch span{background:#cbd1d8;border-radius:999px;width:34px;height:19px;transition:background .16s}.permission-switch span:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;margin:2px;transition:transform .16s;display:block;box-shadow:0 1px 3px #0003}.permission-switch input:checked+span{background:var(--brand)}.permission-switch input:checked+span:after{transform:translate(15px)}.permission-switch input:focus-visible+span{outline-offset:2px;outline:3px solid #c92f3a29}.role-form .permission-checkbox{width:18px;height:18px;min-height:18px;accent-color:var(--brand);cursor:pointer;margin:0;padding:0}.role-form .permission-checkbox-target{vertical-align:middle;cursor:pointer;place-items:center;margin:0;display:inline-grid}.role-form .permission-checkbox:disabled{opacity:.28;cursor:not-allowed}.permission-unavailable{color:#b5bdc7;font-size:15px}.role-form-actions{z-index:3;background:#fff;border-top:1px solid #e8eaee;margin:0 -24px;padding:14px 24px;position:sticky;bottom:0}.admin-page{width:min(100%,1368px);margin:0 auto}.admin-page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px;display:flex}.admin-page-header h1{color:#10141b;letter-spacing:-.025em;margin:0 0 7px;font-size:29px}.admin-page-header p,.section-toolbar p{color:#657187;margin:0;line-height:1.5}.admin-primary-button,.secondary-button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 16px;font-weight:720;display:inline-flex}.admin-primary-button{color:#fff;background:var(--brand)}.admin-primary-button:hover:not(:disabled){background:var(--brand-dark)}.secondary-button{color:#394456;background:#fff;border-color:#d8dde4}.admin-primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:not-allowed}.role-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.role-summary-card{background:#fff;border:1px solid #e1e4e8;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:94px;padding:17px;display:grid;box-shadow:0 2px 5px #1c232d0f}.role-summary-card strong{color:#202630;font-size:14px;display:block}.role-summary-card p{color:#718095;margin:5px 0 0;font-size:12px}.users-section-heading{justify-content:space-between;align-items:center;gap:18px;margin:27px 0 14px;display:flex}.users-section-heading h2,.catalogs-section-heading h2{color:#202630;margin:0 0 4px;font-size:19px}.users-section-heading p,.catalogs-section-heading p,.catalog-card-header p{color:#718095;margin:0;font-size:13px}.roles-management-panel{background:#f8f9fa;border:1px solid #e1e4e8;border-radius:14px;margin-bottom:20px;padding:20px}.catalogs-section-heading{margin:34px 0 17px}.catalogs-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.catalog-management-card{background:#fff;border:1px solid #e1e4e8;border-radius:14px;min-width:0;overflow:hidden;box-shadow:0 2px 5px #1c232d0f}.catalog-card-header{border-bottom:1px solid #eceef1;justify-content:space-between;align-items:center;gap:15px;min-height:92px;padding:18px 20px;display:flex}.catalog-card-header h2{color:#202630;margin:0 0 5px;font-size:16px}.catalog-card-header .admin-primary-button{flex:none;min-height:38px;padding:7px 11px;font-size:12px}.catalog-table-wrap{min-height:170px}.catalog-management-card .admin-table th,.catalog-management-card .admin-table td{padding-left:12px;padding-right:12px}.filters-card{background:#fff;border:1px solid #e2e5e9;border-radius:12px;grid-template-columns:minmax(260px,1fr) 220px 190px;gap:12px;margin-bottom:18px;padding:16px;display:grid}.search-control{color:#8993a2;background:#fafbfc;border:1px solid #d8dde4;border-radius:8px;align-items:center;gap:9px;min-height:42px;padding:0 12px;display:flex}.search-control input{color:#202631;background:0 0;border:0;outline:0;width:100%}.filters-card select,.admin-form input,.admin-form select,.admin-form textarea{color:#202631;background:#fafbfc;border:1px solid #d8dde4;border-radius:8px;width:100%}.filters-card select{min-height:42px;padding:0 11px}.admin-table-card,.company-card{background:#fff;border:1px solid #e1e4e8;border-radius:14px;overflow:hidden;box-shadow:0 2px 5px #1c232d0f}.admin-table-scroll{overflow-x:auto}.contracts-table-scroll{overscroll-behavior-x:contain;min-width:0;max-width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;color:#404b5d;width:100%;font-size:13px}.admin-table th{color:#697487;text-align:left;white-space:nowrap;letter-spacing:.035em;text-transform:uppercase;background:#f7f8fa;padding:13px 16px;font-size:11px}.admin-table td{vertical-align:middle;border-top:1px solid #eceef1;padding:14px 16px}.admin-table tbody tr:hover{background:#fbfbfc}.cell-primary{color:#202630;align-items:center;gap:10px;min-width:170px;display:flex}.table-avatar,.table-icon{color:#c52c38;background:#fbecee;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.table-avatar{border-radius:50%}.status-badge{border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:750;display:inline-flex}.status-badge.active{color:#167446;background:#e8f7ef}.status-badge.inactive{color:#7a4350;background:#f3ecee}.table-actions{gap:5px;display:flex}.table-actions button{color:#6d7889;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.table-actions button:hover:not(:disabled){color:#bd2935;background:#fbecee}.table-actions button:disabled{opacity:.3;cursor:not-allowed}.table-state,.admin-card-state{color:#7c8797;text-align:center;padding:38px 24px}.section-toolbar{justify-content:space-between;align-items:flex-start;gap:22px;display:flex}.section-toolbar h2{margin:0 0 5px;font-size:18px}.compact-toolbar{margin-bottom:18px}.company-card{padding:24px}.company-card .section-toolbar{border-bottom:1px solid #eceef1;padding-bottom:22px}.company-card .form-grid{margin-top:23px}.admin-form{flex-direction:column;gap:17px;display:flex}.admin-form label{flex-direction:column;gap:7px;display:flex}.admin-form label>span{color:#445064;font-size:12px;font-weight:720}.admin-form input[aria-invalid=true],.admin-form select[aria-invalid=true],.admin-form textarea[aria-invalid=true]{border-color:#c92f3a;box-shadow:0 0 0 3px #c92f3a1a}.admin-form .field-error{color:#b4232d;margin-top:5px;font-size:11px;font-weight:650;line-height:1.35;display:block}.contract-form label:has(>input[type=number]:invalid):after{content:"Ingresa un monto no negativo con máximo 2 decimales.";color:#b4232d;font-size:11px;font-weight:650;line-height:1.35}.contract-form input[type=number]:invalid{border-color:#c92f3a;box-shadow:0 0 0 3px #c92f3a1a}.admin-form input,.admin-form select{min-height:44px;padding:10px 12px}.admin-form textarea{resize:vertical;font:inherit;padding:11px 12px}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.filters-card select:focus{border-color:var(--brand);outline:3px solid #c92f3a17}.form-grid{gap:17px;display:grid}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full-column{grid-column:1/-1}.status-checkbox{align-items:center;flex-direction:row!important}.status-checkbox input{width:17px;min-height:17px;accent-color:var(--brand)}.modal-open{overflow:hidden}.modal-backdrop{z-index:100;background:#10141b99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{background:#fff;border-radius:15px;width:min(100%,570px);max-height:min(90vh,820px);overflow-y:auto;box-shadow:0 22px 60px #0c10163d}.modal-large{width:min(100%,760px)}.modal-small{width:min(100%,440px)}.modal-header{border-bottom:1px solid #e8eaee;justify-content:space-between;gap:20px;padding:21px 24px;display:flex}.modal-header h2{color:#171c24;margin:0 0 4px;font-size:20px}.modal-header p{color:#718095;margin:0;font-size:13px}.modal-header .icon-button{color:#697588;width:34px;height:34px}.modal-header .icon-button:hover{color:#242a34;background:#f2f3f5}.modal-body{padding:24px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:5px;display:flex}.confirmation-copy{color:#4d5869;margin:0 0 22px;line-height:1.6}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px;display:grid}.detail-list>div{flex-direction:column;gap:5px;display:flex}.detail-list span{color:#798496;text-transform:uppercase;font-size:11px;font-weight:700}.detail-list strong{color:#252c36;font-size:14px}.toast{z-index:120;background:#fff;border:1px solid;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:min(100% - 40px,420px);padding:13px 15px;font-size:13px;display:grid;position:fixed;top:22px;right:22px;box-shadow:0 12px 35px #13192229}.toast-success{color:#126a42;border-color:#b9e4cd}.toast-error{color:#9d2630;border-color:#edc2c6}.toast button{color:inherit;cursor:pointer;background:0 0;border:0;padding:4px}.client-filters{grid-template-columns:minmax(280px,1fr) 210px}.client-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-form-grid .client-name-field,.client-detail .full-detail{grid-column:1/-1}.clients-page .table-state{flex-direction:column;align-items:center;gap:7px;display:flex}.clients-page .table-state strong{color:#394456}.clients-page .table-state span{font-size:12px}.quote-filters{grid-template-columns:minmax(280px,1fr) 230px 190px}.quote-table th:first-child,.quote-table td:first-child{width:38px;padding-right:4px}.quotes-readonly .quote-table button[title=Editar]{display:none}.quote-description{min-width:220px;max-width:390px}.row-expand{color:#667286;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:29px;height:29px;display:grid}.row-expand:hover{color:var(--brand);background:#fbecee}.quote-badge{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:750;display:inline-flex}.state-borrador{color:#626c7a;background:#eef0f3}.state-pendiente{color:#a95a0b;background:#fff1df}.state-enviada{color:#2762a3;background:#e9f2fc}.state-aprobada{color:#167446;background:#e7f7ee}.state-rechazada{color:#a62531;background:#fbe9eb}.table-actions .approve-action{color:#16814d}.table-actions .reject-action{color:#bf2b37}.table-actions .project-action{color:#2466ad;white-space:nowrap;width:auto;padding:0 9px;font-size:11px}.quotes-page .table-actions .approved-edit-action:disabled{color:#747f8f;opacity:.72;cursor:not-allowed;background:#f0f2f4}.quotes-page .table-actions .project-action:disabled{color:#4776aa;opacity:.82;cursor:not-allowed;background:#edf4fb;border:1px solid #d5e3f2}.expanded-row>td{background:#fafbfc;padding:0!important}.expanded-content{border-top:1px solid #e8eaee;border-bottom:1px solid #e8eaee;padding:17px 58px 19px}.expanded-head,.expanded-line{grid-template-columns:minmax(220px,2fr) .7fr .7fr 1fr 1fr;align-items:center;gap:14px;display:grid}.expanded-head{color:#7b8697;text-transform:uppercase;padding-bottom:9px;font-size:10px;font-weight:750}.expanded-line{color:#596577;border-top:1px solid #eceef1;padding:10px 0;font-size:12px}.expanded-line strong{color:#29313c}.expanded-total{text-align:right;color:#586477;border-top:1px solid #dde1e6;padding-top:13px}.expanded-total strong{color:#171d25;margin-left:10px;font-size:15px}.quote-empty{flex-direction:column;align-items:center;gap:7px;display:flex}.quote-empty strong{color:#394456}.quote-empty span{font-size:12px}.project-filters{grid-template-columns:minmax(280px,1fr) 220px}.projects-table td:nth-child(2){color:#222b37;min-width:180px;font-weight:650}.projects-table td:nth-child(4){min-width:150px}.project-progress{align-items:center;gap:9px;min-width:130px;display:flex}.project-progress>div{background:#e8ebef;border-radius:99px;width:92px;height:6px;overflow:hidden}.project-progress>div span{border-radius:inherit;background:var(--brand);height:100%;display:block}.project-progress small{color:#687488;font-size:11px}.project-state{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:750;display:inline-flex}.project-state.state-planificacion{color:#596579;background:#edf0f4}.project-state.state-en-ejecucion{color:#1662a8;background:#e6f1fc}.project-state.state-suspendido{color:#a65412;background:#fff0dc}.project-state.state-finalizado{color:#167446;background:#e8f7ef}.project-state.state-cancelado{color:#9b3340;background:#fae9ec}.table-actions .state-action{color:#7a4750;width:auto;padding:0 8px;font-size:11px}.project-form{flex-direction:column;gap:20px;display:flex}.project-form-section{border-bottom:1px solid #eceef1;padding-bottom:18px}.project-form-section:last-of-type{border-bottom:0}.project-form-section h3{color:#697487;letter-spacing:.07em;text-transform:uppercase;margin:0 0 14px;font-size:11px}.project-form-section small{color:#7a8596;margin-top:6px;font-size:11px;display:block}.readonly-state{background:#f5f6f8;border:1px solid #d8dde4;border-radius:8px;align-items:center;min-height:42px;padding:0 11px;display:flex}.state-change{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.state-change>span:first-child,.state-change label>span{color:#596579;font-size:12px;font-weight:700}.state-change label{width:100%}.state-change select{background:#fafbfc;border:1px solid #d8dde4;border-radius:8px;width:100%;min-height:42px;margin-top:7px;padding:0 10px}.back-link{color:#687488;align-items:center;gap:7px;margin-bottom:22px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.project-detail-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.project-detail-header h1{color:#10141b;margin:10px 0 6px;font-size:29px}.project-detail-header p{color:#657187;max-width:760px;margin:0;line-height:1.55}.project-detail-actions{gap:10px;display:flex}.project-detail-actions button{align-items:center;gap:7px;display:inline-flex}.project-code-row{color:var(--brand);align-items:center;gap:12px;font-size:13px;display:flex}.project-detail-card{background:#fff;border:1px solid #e1e4e8;border-radius:14px;padding:24px;box-shadow:0 2px 5px #1c232d0f}.project-detail-card h2{color:#202631;margin:0 0 22px;font-size:18px}.project-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 30px;display:grid}.project-detail-grid>div{flex-direction:column;gap:6px;display:flex}.project-detail-grid>div>span{color:#798496;text-transform:uppercase;font-size:11px;font-weight:700}.project-detail-grid strong{color:#27303c;font-size:14px}.project-contracts{grid-column:span 2}.project-contracts ul{color:#596579;margin:0;padding-left:18px;font-size:13px}.project-contracts li+li{margin-top:6px}.project-overall-progress .project-progress{margin-top:4px}.project-overall-progress{grid-column:1/-1}.project-overall-progress .project-progress{width:100%}.project-overall-progress .project-progress>div{flex:1;width:auto}.project-tabs-card{background:#fff;border:1px solid #e1e4e8;border-radius:14px;margin-top:22px;overflow:hidden;box-shadow:0 2px 5px #1c232d0f}.project-tabs{scrollbar-width:thin;border-bottom:1px solid #e7e9ed;display:flex;overflow-x:auto}.project-tabs button{color:#697487;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:17px 18px 14px;font-size:12px;font-weight:700}.project-tabs button:hover{color:#343e4d;background:#fafbfc}.project-tabs button.is-active{color:var(--brand);border-bottom-color:var(--brand)}.project-tab-content{min-height:270px;padding:24px}.project-financial-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.project-financial-grid article{background:#fff;border:1px solid #e4e7eb;border-radius:11px;align-items:center;gap:14px;padding:19px;display:flex}.project-financial-grid article>div{flex-direction:column;gap:5px;display:flex}.project-financial-grid small{color:#748094;text-transform:uppercase;font-size:11px;font-weight:700}.project-financial-grid strong{color:#202631;font-size:20px}.finance-icon{border-radius:10px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.finance-icon.budget{color:#2469bb;background:#eaf2fc}.finance-icon.spent{color:#b53a47;background:#fbecef}.finance-icon.available{color:#19704a;background:#e9f7ef}.project-journals{margin-top:26px}.project-journals h3{color:#242c37;margin:0 0 14px;font-size:16px}.journal-list{border:1px solid #e5e8ec;border-radius:11px;overflow:hidden}.journal-list article{grid-template-columns:1.1fr 2fr .6fr auto;align-items:center;gap:18px;padding:14px 16px;display:grid}.journal-list article+article{border-top:1px solid #eceef1}.journal-list article>div{flex-direction:column;gap:4px;display:flex}.journal-list span{color:#7a8596;font-size:11px}.journal-list strong{color:#2b3441;font-size:13px}.journal-state{background:#edf0f4;border-radius:999px;padding:5px 9px;font-weight:700;color:#596579!important}.project-tab-empty{color:#7a8596;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:190px;display:flex}.project-tab-empty strong{color:#394456}.project-tab-empty>span:not(.empty-state-icon){font-size:12px}.project-tab-toolbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.project-tab-toolbar h3{color:#242c37;margin:0 0 5px;font-size:17px}.project-tab-toolbar p{color:#748094;margin:0;font-size:12px}.project-tab-toolbar .admin-primary-button{flex:none;align-items:center;gap:7px;display:inline-flex}.project-materials-error{color:#9b2732}.project-materials-table{min-width:900px}.project-materials-table th:nth-last-child(-n+2),.project-materials-table td:nth-last-child(-n+2){white-space:nowrap}.project-related-tab{min-width:0}.project-related-table{min-width:760px}.project-related-table td small{color:#788597;margin-top:3px;font-size:11px;display:block}.project-tools-table,.project-logs-table{min-width:900px}.tool-situation{color:#176843;text-transform:uppercase;background:#e6f5ed;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.tool-situation.pendiente{color:#8a5a13;background:#fff0d6}.tool-situation.vencido{color:#9f2731;background:#fbecee}.project-material-observations{width:22%;max-width:260px}.project-material-observations span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.project-material-form input[readonly]{color:#5e697a;background:#f5f6f8}.project-material-reference{background:#fafbfc;border:1px solid #e2e5e9;border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:13px;display:grid}.project-material-reference div{flex-direction:column;gap:4px;min-width:0;display:flex}.project-material-reference span{color:#788597;text-transform:uppercase;font-size:10px;font-weight:750}.project-material-reference strong{overflow-wrap:anywhere;color:#333d4b;font-size:12px}.project-material-remove-note{color:#748094;margin:-7px 0 18px;font-size:12px;line-height:1.5}.project-budget-empty-actions{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.project-budget-empty-actions button{align-items:center;gap:7px;display:inline-flex}.project-budget-total{color:#626f80;border-top:1px solid #e3e7eb;justify-content:flex-end;align-items:center;gap:18px;padding:16px 18px;display:flex}.project-budget-total strong{color:#252f3c;font-size:18px}.project-material-detail-actions{flex-wrap:wrap;gap:9px;display:flex}.project-material-detail-actions button{align-items:center;gap:7px;display:inline-flex}.project-material-movement-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.project-material-movement-summary>div{background:#fafbfc;border:1px solid #e4e7eb;border-radius:9px;flex-direction:column;gap:4px;padding:12px;display:flex}.project-material-movement-summary span,.material-movement-estimate span,.material-movement-summary span{color:#788597;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:750}.project-material-movement-summary strong,.material-movement-estimate strong,.material-movement-summary strong{color:#293341;font-size:14px}.material-movements-content{gap:20px;display:grid}.material-movement-estimate{background:#fafbfc;border:1px solid #e2e5e9;border-radius:10px;flex-direction:column;gap:5px;padding:13px 15px;display:flex}.material-movement-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.material-movement-summary article{background:#fff;border:1px solid #e2e5e9;border-radius:10px;flex-direction:column;gap:5px;padding:15px;display:flex}.material-movement-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.material-movement-toolbar h3{color:#283240;margin:0;font-size:15px}.material-movement-toolbar p{color:#788597;margin:4px 0 0;font-size:12px}.material-movement-toolbar button,.movement-delete-action{align-items:center;gap:7px;display:inline-flex}.material-movements-table{table-layout:fixed;width:100%;min-width:620px}.material-movements-table th:first-child{width:118px}.material-movements-table th:nth-child(2){width:105px}.material-movements-table th:nth-child(3){width:145px}.material-movements-table th:nth-child(5){width:62px}.material-movements-table td{white-space:nowrap}.material-movements-table th:last-child,.material-movements-table td:last-child{text-align:center;padding-left:8px;padding-right:8px}.material-movements-table td:last-child .table-actions{justify-content:center}.movement-observations{min-width:0}.movement-observations span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.movement-type{border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750;display:inline-flex}.movement-type.usage{color:#176843;background:#e6f5ed}.movement-type.loss{color:#9b2732;background:#fae9eb}.movement-delete-action{color:#9b2732}.modal-flow-back{color:#596679;background:0 0;border:0;align-items:center;gap:6px;width:fit-content;padding:0;font-size:12px;font-weight:700;display:inline-flex}.modal-flow-back:hover{color:#bd2631}.detail-modal-grid dd .modal-flow-back{font-weight:700}.quote-form{gap:13px}.quote-form .form-grid{gap:12px 17px}.quote-form label>span,.quote-lines>header strong{text-transform:uppercase}.quote-form small{color:#a04b2b;font-size:11px}.quote-form textarea{min-height:68px}.quote-lines>header{justify-content:space-between;align-items:center;gap:15px;padding:1px 1px 8px;display:flex}.quote-lines>header strong{color:#445064;text-transform:uppercase;font-size:12px}.quote-lines>header button{color:var(--brand);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:4px;font-size:12px;font-weight:720;display:inline-flex}.quote-lines>header button:hover{color:var(--brand-dark)}.quote-lines-body{border:1px solid #dfe3e8;border-radius:9px;overflow:hidden}.quote-lines-body.is-empty{background:#fcfcfd;border-style:dashed}.quote-lines-empty{color:#8a94a3;place-content:center;justify-items:center;min-height:76px;font-size:12px;display:grid}.quote-line-header,.quote-line{grid-template-columns:minmax(170px,2fr) .65fr .7fr .9fr 32px;gap:9px;display:grid}.quote-line-header{color:#727e90;letter-spacing:.025em;text-transform:uppercase;background:#f3f4f6;align-items:center;padding:8px 14px;font-size:9px;font-weight:750}.quote-line{border-top:1px solid #e7e9ed;align-items:end;padding:10px 14px 12px}.quote-line label{gap:4px}.quote-line label span{display:none}.quote-line input{min-height:38px;padding:7px 9px}.quote-line input[type=number]{appearance:textfield}.quote-line input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quote-line input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.line-delete{color:#b82a35;cursor:pointer;background:#fbecee;border:0;border-radius:7px;place-items:center;width:32px;height:38px;display:grid}.quote-totals{color:#687486;background:#fafbfc;border:1px solid #e1e4e8;border-radius:9px;margin-top:10px;padding:9px 14px;font-size:12px}.quote-totals>div{justify-content:space-between;align-items:center;gap:25px;padding:5px 2px;display:flex}.quote-totals>div+div{color:#242c36;border-top:1px solid #dfe3e8;margin-top:4px;padding-top:9px;font-weight:800}.quote-totals strong{color:#1d252f;font-size:13px}.quote-totals>div+div strong{font-size:17px}.quotes-page .modal-large{width:min(100%,710px)}.quotes-page .modal-header{padding-top:17px;padding-bottom:17px}.quotes-page .modal-body{padding-top:18px;padding-bottom:18px}.contract-filter{grid-template-columns:1fr}.document-badge{color:#2762a3;background:#e9f2fc;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:750;display:inline-flex}.document-badge.oc{color:#7652a5;background:#f1eafa}.contracts-page .admin-form small{color:#a04b2b;font-size:11px}.contract-form{gap:12px}.contract-form .form-grid{gap:11px 16px}.contract-form label>span{text-transform:uppercase}.contract-form textarea{min-height:62px}.contract-form input[type=number]{appearance:textfield}.contract-form input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.contract-form input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.contracts-page .modal-large{width:min(100%,720px)}.contracts-page .modal-header{padding-top:17px;padding-bottom:17px}.contracts-page .modal-body{padding-top:18px;padding-bottom:18px}@media (width<=1100px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns,.catalogs-grid{grid-template-columns:1fr}}@media (width<=1023px){.modal-panel.modal-role{width:calc(100vw - 32px)}.permission-matrix{min-width:820px}.permission-matrix thead th:first-child,.permission-matrix tbody th{z-index:2;background:#fff;position:sticky;left:0;box-shadow:1px 0 #e6e9ed}.permission-matrix thead th:first-child{z-index:3;background:#f7f8fa}.permission-matrix tbody tr:hover th{background:#fcfcfd}}@media (width<=900px){.login-page{background-image:linear-gradient(90deg,#0d1219d1 0%,#0d1219a8 58%,#0d121970 100%),linear-gradient(#0a0f163d 0%,#0a0f1633 42%,#0a0f169e 100%),url(/assets/login-construction-bg-Du5vvmRv.png);background-position:50%,50%,66%;background-attachment:fixed;flex-direction:column;max-width:100vw;display:flex;overflow-x:clip}.login-brand-panel{grid-area:auto;width:100%;min-width:0;max-width:100%;min-height:auto;padding:34px 28px 16px}.login-brand-content,.login-hero-copy{min-width:0;max-width:100%}.login-logo-row{gap:12px;min-height:62px}.login-machinery-crop{width:72px;height:58px}.login-machinery-crop img{height:58px}.login-mark-divider{height:52px}.login-wordmark{font-size:clamp(38px,7.5vw,52px)}.login-brand-label{padding-left:12px;font-size:16px}.login-red-line{margin-top:18px}.login-hero-copy{margin-top:30px}.login-hero-copy h1{overflow-wrap:anywhere;max-width:100%;font-size:clamp(30px,4.2vw,38px)}.login-hero-copy p{overflow-wrap:anywhere;max-width:100%}.login-feature-grid{grid-area:auto;align-self:stretch;width:100%;min-width:0;max-width:100%;margin-top:0;padding:0 28px 28px}.login-feature-card{min-height:145px}.login-footer{margin-top:24px}.login-form-panel{background:#0e12186b;grid-area:auto;width:100%;min-width:0;max-width:100%;min-height:auto;padding:28px 24px 34px;position:static;inset:auto}.login-card{width:min(100%,520px)}.sidebar{box-shadow:var(--shadow);transition:transform .24s;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar-close{width:34px;height:34px;display:grid}.sidebar-backdrop{z-index:25;opacity:0;pointer-events:none;background:#14171c73;border:0;width:100%;transition:opacity .24s;position:fixed;inset:0}.sidebar-backdrop.is-visible{opacity:1;pointer-events:auto;display:block}.app-main{margin-left:0}.mobile-header{color:#fff;background:#20242a;border-bottom:1px solid #343942;align-items:center;gap:13px;min-height:68px;padding:0 20px;display:flex}.mobile-header .icon-button{width:38px;height:38px}.mobile-header>div{flex-direction:column;display:flex}.mobile-header strong{font-size:14px}.mobile-header span{color:#94a8c0;font-size:11px}.filters-card{grid-template-columns:1fr 1fr}.search-control{grid-column:1/-1}.role-summary-grid{grid-template-columns:1fr}.quote-line{grid-template-columns:1fr 1fr}.quote-line-header{display:none}.quote-line label span{display:block}.expanded-content{padding-left:22px;padding-right:22px}.modal-panel.modal-role{width:calc(100vw - 32px)}.role-permissions-header{align-items:stretch}.dashboard-project-row{grid-template-columns:minmax(180px,1fr) auto minmax(110px,.65fr)}.dashboard-project-row time{grid-column:1/-1}.projects-table th:last-child,.projects-table td:last-child{min-width:160px;position:sticky;right:0}.projects-table th:last-child{z-index:2;background:#f7f8fa;box-shadow:-1px 0 #e4e7eb}.projects-table td:last-child{z-index:1;background:#fff;box-shadow:-1px 0 #eceef1}.projects-table tbody tr:hover td:last-child{background:#fbfbfc}.projects-table td:last-child .table-actions{flex-wrap:nowrap;justify-content:flex-end}.contracts-table{min-width:1120px}.contracts-table th:last-child,.contracts-table td:last-child{min-width:164px;position:sticky;right:0}.contracts-table th:last-child{z-index:2;background:#f7f8fa;box-shadow:-1px 0 #e4e7eb}.contracts-table td:last-child{z-index:1;background:#fff;box-shadow:-1px 0 #eceef1}.contracts-table tbody tr:hover td:last-child{background:#fbfbfc}.contracts-table td:last-child .table-actions{flex-wrap:nowrap;justify-content:flex-end;gap:6px}.contracts-table td:last-child .table-actions button:not(.state-action){flex:none;width:40px;height:40px}.contracts-table td:last-child .table-actions .state-action{flex:none;min-height:40px}}@media (width<=540px){.login-brand-panel{padding:25px 20px 14px}.login-logo-row{flex-wrap:wrap;gap:6px 10px;min-height:54px}.login-machinery-crop{width:56px;height:46px}.login-machinery-crop img{height:46px}.login-mark-divider{width:3px;height:42px}.login-wordmark{font-size:clamp(34px,9vw,42px)}.login-brand-label{flex:90px;min-width:0;padding-left:10px;font-size:13px}.login-hero-copy{margin-top:25px}.login-hero-copy h1{font-size:clamp(27px,7.2vw,30px);line-height:1.14}.login-hero-copy p{margin-top:15px;font-size:15px}.login-feature-grid{grid-template-columns:1fr;gap:12px;padding:0 20px 24px}.login-feature-card{min-height:0;padding:20px}.login-footer{font-size:12px}.login-form-panel{padding:22px 20px 28px}.login-card{max-width:100%;padding:30px 22px}.login-user-icon{width:62px;height:62px;margin-bottom:24px}.login-heading{margin-bottom:32px}.login-heading h2{font-size:31px}.login-heading p{font-size:15px}.login-options-row{flex-direction:column;align-items:flex-start;gap:13px}.page-container{padding:26px 18px}.placeholder-card{min-height:300px;padding:28px 20px}.dashboard-metrics{grid-template-columns:1fr}.metric-card{min-height:145px}.intelligent-summary{padding:23px 20px}.dashboard-card>header{padding:0 20px}.dashboard-project-row{grid-template-columns:1fr auto;gap:10px 14px;padding:15px 18px}.dashboard-project-progress,.dashboard-project-row time{grid-column:1/-1}.admin-page-header,.section-toolbar{flex-direction:column}.users-section-heading,.catalog-card-header{flex-direction:column;align-items:stretch}.catalog-card-header .admin-primary-button,.admin-page-header .admin-primary-button,.section-toolbar .admin-primary-button{width:100%}.filters-card,.form-grid.two-columns,.detail-list{grid-template-columns:1fr}.project-detail-header{flex-direction:column}.project-detail-actions{flex-wrap:wrap;width:100%}.project-detail-grid{grid-template-columns:1fr}.project-contracts,.project-overall-progress{grid-column:auto}.project-financial-grid{grid-template-columns:1fr}.project-tab-content{padding:18px}.project-tab-toolbar{flex-direction:column;align-items:stretch}.project-tab-toolbar .admin-primary-button{justify-content:center;width:100%}.project-material-reference,.project-material-movement-summary,.material-movement-summary{grid-template-columns:1fr}.material-movement-toolbar{flex-direction:column;align-items:stretch}.journal-list article{grid-template-columns:1fr 1fr}.client-filters,.client-form-grid,.quote-filters,.quote-line,.expanded-head,.expanded-line{grid-template-columns:1fr}.expanded-head{display:none}.client-form-grid .client-name-field,.client-detail .full-detail,.search-control,.form-grid .full-column{grid-column:auto}.modal-backdrop{align-items:end;padding:0}.modal-panel,.modal-large,.modal-small{border-radius:15px 15px 0 0;max-height:92vh}.modal-panel.modal-role{border-radius:15px 15px 0 0;width:calc(100vw - 20px);max-height:92vh}.modal-role .modal-body{padding:18px 18px 0}.role-form-basics{grid-template-columns:1fr}.role-permissions-header{flex-direction:column;align-items:stretch;gap:12px}.role-form .permission-template{flex-basis:auto}.role-form-actions{margin-left:-18px;margin-right:-18px;padding:13px 18px}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.materials-filters{grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(150px,1fr))}.material-empty{justify-items:center;gap:.35rem;display:grid}.material-form .material-code-field input{color:#5e697a;cursor:default;background:#f5f6f8}.material-form .material-code-field small{color:#788597;font-size:11px}.material-form [aria-invalid=true]:focus{border-color:#c92f3a;outline:0;box-shadow:0 0 0 3px #c92f3a24}.material-description-cell{width:22%;max-width:260px}.material-description-text{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.detail-modal-content{gap:22px;display:grid}.detail-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:0;display:grid}.detail-modal-grid>div{min-width:0}.detail-modal-grid .detail-modal-full{grid-column:1/-1}.detail-modal-grid dt,.detail-modal-metadata dt{color:#788597;letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:750}.detail-modal-grid dd{color:#202630;overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:650}.detail-modal-section{border-top:1px solid #e8eaee;padding-top:18px}.detail-modal-section h3{color:#788597;letter-spacing:.09em;text-transform:uppercase;margin:0 0 9px;font-size:11px;font-weight:800}.detail-modal-copy{color:#3f4a5a;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.65}.detail-modal-metadata{border-top:1px solid #e8eaee;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin:0;padding-top:18px;display:grid}.detail-modal-metadata dd{color:#566274;overflow-wrap:anywhere;margin:0;font-size:13px}.detail-modal-table-wrap{width:100%;overflow-x:auto}.detail-modal-table{border-collapse:collapse;width:100%;font-size:13px}.detail-modal-table th{color:#788597;letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #dfe3e8;padding:8px 10px;font-size:10px}.detail-modal-table td{color:#3f4a5a;vertical-align:top;border-bottom:1px solid #edf0f3;padding:11px 10px}.detail-modal-table td:first-child{min-width:180px}.detail-modal-table td:not(:first-child){white-space:nowrap}.detail-modal-table small{color:#788597;white-space:normal;margin-top:5px;font-weight:400;line-height:1.45;display:block}@media (width<=900px){.materials-filters{grid-template-columns:1fr 1fr}}@media (width<=600px){.materials-filters,.detail-modal-grid,.detail-modal-metadata{grid-template-columns:1fr}.detail-modal-grid .detail-modal-full{grid-column:auto}}.purchase-filters{grid-template-columns:minmax(240px,1fr) minmax(190px,.55fr) minmax(150px,.35fr);gap:12px;display:grid}.providers-table{min-width:1100px}.provider-type-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;min-height:24px;padding:3px 9px;font-size:11px;font-weight:750;line-height:1;display:inline-flex}.provider-type-badge>span{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.provider-type-proveedor{color:#315f96;background:#eaf2fb;border-color:#cbdcf1}.provider-type-subcontratista{color:#68469c;background:#f2ecfa;border-color:#ddd0f0}.provider-type-ambos{color:#536170;background:#f0f3f6;border-color:#d5dce3}.tool-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.tool-metrics article{background:#fff;border:1px solid #e1e5ea;border-radius:13px;align-items:center;gap:13px;min-width:0;padding:17px 18px;display:flex;box-shadow:0 2px 5px #1c232d0d}.tool-metrics article>div{gap:2px;display:grid}.tool-metrics small{color:#788597;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.tool-metrics strong{color:#202630;font-size:23px;line-height:1.1}.tool-metric-icon{border-radius:10px;flex:none;place-items:center;width:39px;height:39px;display:grid}.tool-metric-icon.total{color:#315f96;background:#eaf2fb}.tool-metric-icon.available{color:#176843;background:#e6f5ed}.tool-metric-icon.assigned{color:#68469c;background:#f2ecfa}.tool-metric-icon.damaged{color:#9b2732;background:#fae9eb}.tool-metric-icon.pending{color:#a95a0b;background:#fff1df}.tools-table{table-layout:fixed;min-width:920px}.tools-table th:first-child,.tools-table td:first-child{width:11%}.tools-table th:nth-child(2),.tools-table td:nth-child(2){width:20%}.tools-table th:nth-child(3),.tools-table td:nth-child(3){width:19%}.tools-table th:nth-child(4),.tools-table td:nth-child(4),.tools-table th:nth-child(5),.tools-table td:nth-child(5){text-align:center;width:7%}.tools-table th:nth-child(6),.tools-table td:nth-child(6){text-align:center;width:13%}.tools-table th:nth-child(7),.tools-table td:nth-child(7){text-align:center;width:14%}.tools-table th:nth-child(8),.tools-table td:nth-child(8){text-align:center;width:9%}.tool-situation-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:24px;padding:4px 9px;font-size:11px;font-weight:750;line-height:1;display:inline-flex}.tool-situation-badge>span{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.tool-situation-badge.available{color:#176843;background:#e6f5ed;border-color:#c8e8d6}.tool-situation-badge.assigned{color:#63499a;background:#f2ecfa;border-color:#ddd2ef}.tool-situation-badge.damaged{color:#96313a;background:#fae9eb;border-color:#efcdd1}.tool-situation-badge.inactive,.tool-situation-badge.unavailable{color:#66717f;background:#f0f2f4;border-color:#d9dee4}.tool-row-actions{justify-content:center;gap:7px}.tool-row-actions button{flex:none}.logs-filters{grid-template-columns:minmax(260px,1.5fr) minmax(210px,1fr) minmax(150px,.5fr)}.logs-table{min-width:1020px}.logs-table td:nth-child(2){min-width:210px}.logs-table td:nth-child(2) small{color:#788597;margin-top:3px;display:block}.journal-badge{text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.journal-badge.borrador{color:#616c79;background:#edf0f3}.journal-badge.registrada{color:#176843;background:#e6f5ed}.incident-label{color:#a45b0b;align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.journal-form{gap:26px;display:grid}.logs-page .journal-form input,.logs-page .journal-form select,.logs-page .journal-form textarea{box-sizing:border-box;color:#202631;width:100%;font:inherit;background:#fafbfc;border:1px solid #d8dde4;border-radius:8px;transition:border-color .16s,box-shadow .16s,background-color .16s}.logs-page .journal-form input,.logs-page .journal-form select{min-height:48px;padding:11px 13px}.logs-page .journal-form textarea{resize:vertical;min-height:94px;padding:11px 13px}.logs-page .journal-form input:focus,.logs-page .journal-form select:focus,.logs-page .journal-form textarea:focus{border-color:var(--brand);background:#fff;outline:0;box-shadow:0 0 0 3px #c92f3a17}.logs-page .journal-form input[readonly]{color:#596476;background:#f1f3f5}.logs-page .journal-form label>span{color:#4d5a6d;letter-spacing:.045em;text-transform:uppercase;font-size:11px;font-weight:750}.journal-form-section{gap:16px;display:grid}.journal-form-section>header{border-bottom:1px solid #e2e6eb;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.journal-form-section h3{color:#536174;letter-spacing:.065em;text-transform:uppercase;margin:0;font-size:12px;font-weight:750}.journal-form-section header button{align-items:center;gap:6px;display:inline-flex}.form-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.journal-resource-fields{gap:14px;display:grid}.journal-advances{gap:12px;display:grid}.journal-advances article{background:#f7f8fa;border:1px solid #e4e7eb;border-radius:10px;padding:16px}.journal-advances article>header{color:#3f4b5c;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:13px;display:flex}.journal-advance-grid{grid-template-columns:minmax(0,1fr) 155px}.journal-advance-grid textarea{min-height:64px}.journal-custom-climate{margin-top:8px}.journal-add-advance,.journal-remove-advance{width:fit-content;color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:2px 0;font-size:12px;font-weight:750;display:inline-flex}.journal-add-advance:hover,.journal-remove-advance:hover{color:var(--brand-dark);text-decoration:underline}.journal-remove-advance{margin-top:12px}.journal-long-actividades_realizadas textarea,.journal-long-incidencias_restricciones textarea{min-height:96px}.journal-long-observaciones textarea{min-height:106px}.journal-form-actions{flex-wrap:wrap;padding-top:2px}.journal-detail{display:grid}.journal-detail>.detail-modal-section:first-child{border-top:0;padding-top:0}.journal-detail .detail-modal-section{padding-bottom:18px}.journal-general,.journal-resources{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.journal-resources{grid-template-columns:repeat(3,minmax(0,1fr))}.journal-general dt,.journal-resources dt{color:#788597;letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:800}.journal-general dd,.journal-resources dd{color:#303947;overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:650}.journal-responsible-name,.journal-responsible-role{display:block}.journal-responsible-name{font-size:13px}.journal-responsible-role{color:#788597;margin-top:3px;font-size:11px;font-weight:600}.journal-resources>div{background:#fafbfc;border:1px solid #e7eaee;border-radius:8px;padding:12px 13px}.journal-detail-advances{gap:9px;display:grid}.journal-detail-advances article{background:#f8f9fa;border:1px solid #e2e6eb;border-radius:9px;padding:14px}.journal-detail-advances article>header{color:#465366;margin-bottom:11px;font-size:12px;font-weight:800}.journal-detail-advance-grid{grid-template-columns:minmax(0,1fr) 120px;gap:13px 20px;display:grid}.journal-detail-advance-grid>div{gap:4px;display:grid}.journal-detail-advance-grid span{color:#788597;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.journal-detail-advance-grid strong{color:#303947;font-size:13px}.journal-detail-advance-grid p{color:#596779;white-space:pre-wrap;margin:0;font-size:13px}.journal-detail-advance-notes,.journal-detail-advance-description{grid-column:1/-1}.advance-status-badge{color:#616c79;text-transform:uppercase;background:#e9edf1;border-radius:999px;width:fit-content;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.advance-status-badge.en-proceso{color:#8a5a13;background:#fff0d6}.advance-status-badge.completado{color:#176843;background:#e6f5ed}.journal-detail-empty{color:#788597;margin:0;font-size:13px}.journal-incidents{border-top:1px solid #e8eaee;padding-top:18px}.journal-incidents h3{color:#788597;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.journal-incidents p{color:#596779;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.6}.journal-incidents.has-incidents{background:#fff8eb;border:1px solid #efd5aa;border-radius:9px;margin-top:18px;padding:14px}.journal-incidents.has-incidents p{color:#6f522b}.journal-incidents.no-incidents{color:#788597}.journal-incidents.has-incidents h3{color:#9a5b13}.logs-page .modal-journal{width:min(100%,760px);max-height:min(92vh,860px);overflow-x:hidden}.logs-page .modal-journal .modal-header{z-index:2;background:#fff;padding:19px 24px;position:sticky;top:0}.logs-page .modal-journal .modal-body{padding:22px 24px 24px;overflow-x:hidden}.tool-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.tool-header-actions button{align-items:center;gap:7px;display:inline-flex}.tool-overdue-note{color:#a95a0b;align-items:center;gap:7px;width:fit-content;margin:-8px 0 16px auto;font-size:12px;font-weight:700;display:flex}.tool-movement-form{gap:18px;display:grid}.movement-readonly-grid,.movement-history-grid{background:#f8fafb;border:1px solid #e2e6eb;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 20px;padding:15px;display:grid}.movement-readonly-grid>div,.movement-history-grid>div{gap:4px;min-width:0;display:grid}.movement-readonly-grid small,.movement-history-grid small{color:#788597;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.movement-readonly-grid strong,.movement-history-grid strong{color:#303947;overflow-wrap:anywhere;font-size:13px}.return-preview{color:#76500b;background:#fff4df;border-radius:8px;margin:0;padding:11px 13px;font-size:13px;font-weight:650}.return-preview.complete{color:#176843;background:#e6f5ed}.tool-history-list{gap:13px;display:grid}.tool-history-list article{background:#fff;border:1px solid #e1e5ea;border-radius:11px;padding:15px}.tool-history-list article>header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:13px;display:flex}.tool-history-list article>header>div{gap:4px;display:grid}.tool-history-list article>header span:not(.movement-badge){color:#667386;font-size:12px}.movement-history-grid{background:0 0;border:0;padding:0}.movement-history-grid .wide{border-top:1px solid #edf0f3;grid-column:1/-1;padding-top:9px}.movement-history-grid .wide strong{white-space:pre-wrap;font-weight:500}.movement-badge{text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.movement-badge.pendiente{color:#a95a0b;background:#fff1df}.movement-badge.vencido{color:#9b2732;background:#fae9eb}.movement-badge.devuelto{color:#176843;background:#e6f5ed}.purchases-table{min-width:980px}.purchase-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 9px;font-size:11px;font-weight:750;display:inline-flex}.purchase-material,.purchase-aprobada{color:#176843;background:#e6f5ed}.purchase-servicio{color:#315f96;background:#e8f1fb}.purchase-mixta{color:#68469c;background:#f0eafb}.purchase-pendiente{color:#a95a0b;background:#fff1df}.purchase-cancelada{color:#8a2b2b;background:#f9e7e7}.purchase-form{gap:18px;display:grid}.purchase-form-section{gap:13px;display:grid}.purchase-form-section>h3,.purchase-section-heading h3{color:#303947;margin:0;font-size:15px}.purchase-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.purchase-section-heading button,.purchase-detail-actions button{align-items:center;gap:7px;display:inline-flex}.purchase-lines{gap:12px;display:grid}.purchase-line{background:#fafbfc;border:1px solid #e1e5ea;border-radius:11px;padding:14px}.purchase-line>header{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.purchase-line-grid{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:10px;display:grid}.purchase-line-grid label{min-width:0}.purchase-type{grid-column:span 2}.purchase-concept{grid-column:span 4}.purchase-quantity,.purchase-price,.purchase-subtotal{grid-column:span 2}.purchase-notes{grid-column:1/-1}.purchase-total{justify-content:flex-end;align-items:center;gap:18px;padding:14px 4px 2px;display:flex}.purchase-total span{color:#687487;text-transform:uppercase;font-size:12px;font-weight:750}.purchase-total strong{color:#9e1b24;font-size:20px}.purchase-detail-table{min-width:740px}.purchase-detail-actions{flex-wrap:wrap;gap:9px;display:flex}.project-purchases-tab{gap:18px;display:grid}@media (width<=900px){.tool-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-header-actions{justify-content:flex-start;width:100%}.logs-filters{grid-template-columns:1fr 1fr}.logs-filters .search-control{grid-column:1/-1}.form-grid.three-columns,.journal-general{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-filters,.purchase-line-grid{grid-template-columns:1fr 1fr}.purchase-type,.purchase-concept,.purchase-quantity,.purchase-price,.purchase-subtotal{grid-column:auto}.purchase-concept,.purchase-notes{grid-column:1/-1}}@media (width<=620px){.roles-table-scroll{min-width:0;max-width:100%}.roles-table{min-width:720px}.roles-table th:last-child,.roles-table td:last-child{min-width:116px;position:sticky;right:0}.roles-table th:last-child{z-index:2;background:#f7f8fa;box-shadow:-1px 0 #e4e7eb}.roles-table td:last-child{z-index:1;background:#fff;box-shadow:-1px 0 #eceef1}.roles-table tbody tr:hover td:last-child{background:#fbfbfc}.roles-table td:last-child .table-actions{flex-wrap:nowrap;justify-content:flex-end;gap:8px}.roles-table td:last-child .table-actions button{flex:none;width:40px;height:40px}.role-permissions-card,.permission-matrix-wrap{min-width:0;max-width:100%}.permission-matrix-wrap{overflow:auto visible}.permission-matrix{table-layout:fixed;min-width:820px}.permission-matrix thead th:first-child,.permission-matrix tbody th{z-index:auto;box-shadow:none;position:static;left:auto}.permission-matrix thead th:first-child{background:#f7f8fa}.permission-matrix tbody th{background:0 0}.role-form .permission-switch{justify-content:center;align-items:center;width:44px;height:44px}.role-form .permission-checkbox-target{cursor:pointer;place-items:center;width:44px;height:44px;display:inline-grid}.role-form .permission-checkbox-target .permission-checkbox{width:20px;height:20px}.detail-modal-content:has(.purchase-detail-table){grid-template-columns:minmax(0,1fr)}.detail-modal-content:has(.purchase-detail-table) .detail-modal-section{min-width:0}.detail-modal-content:has(.purchase-detail-table) .admin-table-scroll{max-width:100%}.detail-modal-content:has(.purchase-detail-table) .purchase-detail-actions{flex-direction:column}.detail-modal-content:has(.purchase-detail-table) .purchase-detail-actions button{justify-content:center;width:100%}.tool-metrics{grid-template-columns:1fr}.tool-header-actions{display:grid}.tool-header-actions button{justify-content:center;width:100%}.movement-readonly-grid,.movement-history-grid{grid-template-columns:1fr}.movement-history-grid .wide{grid-column:auto}.logs-filters,.form-grid.three-columns,.journal-general,.journal-resources{grid-template-columns:1fr}.logs-filters .search-control{grid-column:auto}.journal-form-section>header{flex-direction:column;align-items:stretch}.journal-advance-grid{grid-template-columns:1fr}.journal-advance-grid .full-column{grid-column:auto}.journal-detail-advance-grid{grid-template-columns:1fr}.journal-detail-advance-notes{grid-column:auto}.purchase-filters,.purchase-line-grid{grid-template-columns:1fr}.purchase-concept,.purchase-notes{grid-column:auto}.purchase-section-heading{flex-direction:column;align-items:stretch}}.cost-filters{gap:16px;margin-bottom:20px;display:flex}.cost-filters label{color:#475569;gap:7px;min-width:260px;font-size:.84rem;font-weight:700;display:grid}.cost-filters select{color:#1e293b;background:#fff;border:1px solid #d7dee8;border-radius:9px;min-height:42px;padding:0 12px}.cost-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.cost-kpis article{background:#fff;border:1px solid #e3e8ef;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:5px 10px;padding:18px;display:grid;box-shadow:0 2px 8px #0f172a0a}.cost-kpis article svg{color:#d28b18;grid-row:1/3}.cost-kpis article span{color:#64748b;text-transform:uppercase;font-size:.78rem;font-weight:700}.cost-kpis article strong{color:#172033;font-size:1.35rem}.cost-kpis article.is-negative strong{color:#b42318}.cost-utilization{background:#edf1f5;border-radius:99px;grid-column:1/-1;height:6px;overflow:hidden}.cost-utilization span{background:#d59a33;height:100%;display:block}.cost-content{grid-template-columns:minmax(260px,.8fr) minmax(0,2fr);gap:18px;display:grid}.cost-panel{background:#fff;border:1px solid #e3e8ef;border-radius:12px;min-width:0;padding:20px}.cost-panel h2{margin:0 0 18px;font-size:1rem}.cost-category-list{gap:18px;display:grid}.cost-category-list>div>div:first-child{justify-content:space-between;gap:10px;margin-bottom:8px;font-size:.86rem;display:flex}.cost-category-bar{background:#edf1f5;border-radius:99px;height:8px;overflow:hidden}.cost-category-bar span{border-radius:inherit;background:linear-gradient(90deg,#c47c12,#e4ae4f);height:100%;display:block}.cost-empty,.cost-loading{text-align:center;color:#64748b;padding:28px 12px}.cost-table-total{border-top:1px solid #e5eaf0;justify-content:flex-end;gap:30px;padding:16px 8px 0;display:flex}.cost-table-total strong{font-size:1.05rem}.cost-form{grid-template-columns:1fr 1fr;gap:16px;display:grid}.cost-form label{gap:7px;display:grid}.cost-form textarea{resize:vertical;min-height:82px}.form-span-2{grid-column:1/-1}.cost-section-head{justify-content:space-between;align-items:center;gap:15px;display:flex}.cost-section-head h2{margin:0}.cost-section-head a{color:#a8610b;font-weight:700;text-decoration:none}.project-costs{gap:18px;display:grid}.project-costs .cost-kpis{margin-bottom:0}@media (width<=1050px){.cost-kpis{grid-template-columns:repeat(2,1fr)}.cost-content{grid-template-columns:1fr}}@media (width<=680px){.cost-filters{display:grid}.cost-filters label{min-width:0}.cost-kpis,.cost-form{grid-template-columns:1fr}.form-span-2{grid-column:auto}}.costs-page .admin-page-header,.cost-filters{margin-bottom:18px}.cost-filters label{width:min(280px,100%);min-width:0}.cost-kpis .cost-kpi-spent{background:#fff5f5;border-color:#f3d4d7}.cost-kpis .cost-kpi-spent svg,.cost-kpis .cost-kpi-spent strong{color:var(--brand-dark)}.cost-kpis .cost-kpi-available{background:#f3fbf6;border-color:#d4eadc}.cost-kpis .cost-kpi-available svg,.cost-kpis .cost-kpi-available strong{color:#246b45}.cost-kpis .cost-kpi-available.is-negative{background:#fff8ef;border-color:#f0d3b4}.cost-kpis .cost-kpi-available.is-negative svg,.cost-kpis .cost-kpi-available.is-negative strong{color:#a14f08}.cost-kpi-used.is-empty .cost-utilization span{width:0!important}.cost-category-bar span{background:linear-gradient(90deg,var(--brand),#e26a72);max-width:100%}.costs-page .cost-filters{grid-template-columns:repeat(2,minmax(0,280px));align-items:end;gap:16px 24px;display:grid}.costs-page .cost-filter-field{gap:7px;width:100%;min-width:0;display:grid}.costs-page .cost-filter-field select{width:100%;min-width:0}@media (width<=680px){.costs-page .cost-filters{grid-template-columns:minmax(0,1fr);gap:16px 0}.costs-page .cost-filter-field{width:100%}}.costs-page .table-wrapper{max-width:100%;overflow-x:auto}.cost-charts-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.cost-chart-card{flex-direction:column;min-height:365px;padding:18px;display:flex}.cost-chart-heading{justify-content:space-between;align-items:flex-start;gap:12px;min-height:43px;display:flex}.cost-chart-heading h2{color:#26313f;margin:0;font-size:.98rem;line-height:1.35}.cost-chart-heading>span{color:#687486;background:#f2f4f7;border-radius:99px;flex:none;padding:4px 8px;font-size:.68rem;font-weight:700}.cost-chart-area{width:100%;min-width:0;height:260px}.cost-chart-empty,.cost-charts-loading{color:#748092;text-align:center;place-items:center;min-height:260px;padding:24px;display:grid}.cost-charts-loading{background:#fff;border:1px solid #e3e8ef;border-radius:12px;min-height:150px;margin-bottom:18px}.cost-donut-layout{flex:1;grid-template-columns:minmax(0,1fr) minmax(105px,.65fr);align-items:center;gap:8px;display:grid}.cost-donut-total{fill:#172033;font-size:13px;font-weight:800}.cost-donut-caption{fill:#748092;font-size:9px}.cost-chart-legend{align-content:center;gap:10px;margin:0;padding:0;list-style:none;display:grid}.cost-chart-legend li{align-items:flex-start;gap:8px;min-width:0;display:flex}.cost-chart-legend i{border-radius:50%;flex:none;width:8px;height:8px;margin-top:4px}.cost-chart-legend span{gap:2px;min-width:0;display:grid}.cost-chart-legend strong{color:#364152;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;overflow:hidden}.cost-chart-legend small{color:#748092;font-size:.68rem}.cost-chart-tooltip{background:#fff;border:1px solid #dfe4ea;border-radius:8px;gap:3px;max-width:190px;padding:9px 11px;display:grid;box-shadow:0 8px 24px #141d2b1f}.cost-chart-tooltip strong{color:#26313f;font-size:.76rem}.cost-chart-tooltip span{color:#172033;font-size:.78rem;font-weight:750}.cost-chart-tooltip small{color:#687486}.cost-content-with-summary{grid-template-columns:minmax(0,2fr) minmax(230px,.65fr);align-items:stretch}.cost-budget-summary{text-align:center;flex-direction:column;align-items:center;gap:19px;display:flex}.cost-budget-summary h2{margin:4px 0 0;font-size:1.08rem}.cost-budget-eyebrow{color:#687486;letter-spacing:.055em;text-transform:uppercase;font-size:.68rem;font-weight:750}.cost-budget-ring{background:conic-gradient(var(--brand) var(--used),#edf1f5 0);border-radius:50%;place-items:center;width:142px;height:142px;display:grid;position:relative}.cost-budget-ring:before{content:"";background:#fff;border-radius:50%;width:108px;height:108px;position:absolute}.cost-budget-ring>div{z-index:1;gap:3px;display:grid}.cost-budget-ring strong{color:#172033;font-size:1.45rem}.cost-budget-ring span{color:#748092;text-transform:uppercase;font-size:.68rem;font-weight:750}.cost-budget-summary dl{gap:0;width:100%;margin:auto 0 0;display:grid}.cost-budget-summary dl div{border-top:1px solid #e7ebf0;gap:5px;padding:13px 2px;display:grid}.cost-budget-summary dt{color:#748092;font-size:.74rem}.cost-budget-summary dd{color:#246b45;margin:0;font-size:1rem;font-weight:800}.cost-budget-summary dd.is-negative{color:#b42318}@media (width<=1180px){.cost-charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-chart-card:last-child{grid-column:1/-1}.cost-content-with-summary{grid-template-columns:minmax(0,1.6fr) minmax(230px,.7fr)}}@media (width<=760px){.cost-charts-grid{grid-template-columns:minmax(0,1fr)}.cost-chart-card:last-child{grid-column:auto}.cost-content-with-summary{grid-template-columns:minmax(0,1fr)}.cost-budget-summary{min-height:310px}.cost-donut-layout{grid-template-columns:minmax(0,1.2fr) minmax(110px,.8fr)}}@media (width<=430px){.cost-chart-card{min-height:340px;padding:15px}.cost-chart-heading{min-height:50px}.cost-chart-heading>span{display:none}.cost-chart-area{height:245px}.cost-donut-layout{grid-template-columns:1fr}.cost-donut-layout .cost-chart-area{height:205px}.cost-chart-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cost-chart-legend strong{white-space:normal}}.assistant-page{height:calc(100vh - clamp(56px,8vw,108px));min-height:0!important}.assistant-form .sr-only{clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=900px){.assistant-page{height:calc(100vh - 68px - clamp(52px,8vw,108px))}}@media (width<=540px){.assistant-page{height:calc(100vh - 120px)}}.assistant-page{flex-direction:column;max-width:none;min-height:calc(100vh - clamp(56px,8vw,108px));display:flex}.assistant-header{border-bottom:1px solid #e4e7eb;justify-content:space-between;align-items:center;gap:24px;padding:0 2px 22px;display:flex}.assistant-heading{align-items:center;gap:14px;display:flex}.assistant-heading-icon{color:#fff;background:var(--brand);border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 7px 18px #c92f3a33}.assistant-heading h1{color:#151a22;letter-spacing:-.025em;margin:0 0 5px;font-size:26px}.assistant-heading p{color:#687486;margin:0;font-size:14px}.assistant-status{color:#475467;flex:none;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.assistant-status i{background:#29a463;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #e8f7ef}.assistant-workspace{background:#fff;flex-direction:column;flex:1;min-height:0;display:flex}.assistant-messages{scrollbar-color:#c9ced6 transparent;scrollbar-width:thin;flex-direction:column;flex:1;gap:22px;min-height:300px;padding:30px clamp(8px,4vw,54px);display:flex;overflow:hidden auto}.assistant-message-row{align-items:flex-start;gap:10px;width:100%;display:flex}.assistant-message-row.is-user{justify-content:flex-end}.assistant-avatar{width:30px;height:30px;color:var(--brand);background:#fdf2f3;border:1px solid #ead5d7;border-radius:9px;flex:none;place-items:center;margin-top:19px;display:grid}.assistant-avatar.is-error{color:#a25b16;background:#fff8ed;border-color:#f0d4b3}.assistant-message-content{flex-direction:column;align-items:flex-start;min-width:0;max-width:min(760px,82%);display:flex}.is-user .assistant-message-content{align-items:flex-end}.assistant-author{color:#687486;letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px 2px;font-size:11px}.assistant-bubble{color:#26313f;background:#fff;border:1px solid #e1e5ea;border-radius:4px 15px 15px;max-width:100%;padding:13px 16px;box-shadow:0 3px 10px #161f2c0e}.assistant-bubble p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;line-height:1.58}.is-user .assistant-bubble{border-color:var(--brand);color:#fff;background:#c92f3a;border-radius:15px 4px 15px 15px;box-shadow:0 4px 12px #c92f3a29}.assistant-bubble.is-error{color:#714b22;background:#fffaf2;border-color:#ecd9c1}.assistant-time,.assistant-sources,.assistant-limitation{color:#8791a0;margin:6px 3px 0;font-size:10px;line-height:1.4}.assistant-sources{color:#667487;font-weight:650}.assistant-limitation{color:#748092;border-left:2px solid #d8dde4;max-width:100%;padding-left:8px}.assistant-thinking{color:#586576;align-items:center;gap:8px;font-size:14px;display:flex}.assistant-dots{align-items:center;gap:3px;display:inline-flex}.assistant-dots i{background:#8d97a5;border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite assistant-pulse}.assistant-dots i:nth-child(2){animation-delay:.14s}.assistant-dots i:nth-child(3){animation-delay:.28s}@keyframes assistant-pulse{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.assistant-controls{background:#fff;border-top:1px solid #e7e9ed;flex:none;padding:13px clamp(8px,4vw,54px) 2px}.assistant-context{color:#667085;align-items:center;gap:7px;margin-bottom:10px;font-size:12px;display:flex}.assistant-context label{font-weight:700}.assistant-context>small{color:#a1464d}.assistant-select-wrap{align-items:center;display:inline-flex;position:relative}.assistant-select-wrap select{appearance:none;color:#485568;max-width:330px;min-height:30px;font:inherit;cursor:pointer;background:#f8f9fa;border:1px solid #dfe3e8;border-radius:7px;padding:4px 29px 4px 9px}.assistant-select-wrap svg{pointer-events:none;position:absolute;right:8px}.assistant-suggestions{scrollbar-width:none;gap:8px;padding:1px 1px 10px;display:flex;overflow-x:auto}.assistant-suggestions::-webkit-scrollbar{display:none}.assistant-suggestions button{color:#536072;min-height:33px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dfe3e8;border-radius:999px;flex:none;padding:6px 12px;font-size:12px;transition:border-color .16s,color .16s,background .16s}.assistant-suggestions button:hover:not(:disabled){color:#a92731;background:#fff7f7;border-color:#d98a90}.assistant-suggestions button:disabled{opacity:.55;cursor:not-allowed}.assistant-form{background:#fff;border:1px solid #cfd5dc;border-radius:15px;align-items:flex-end;gap:9px;padding:8px 8px 8px 15px;transition:border-color .16s,box-shadow .16s;display:flex;box-shadow:0 5px 18px #141d2b12}.assistant-form:focus-within{border-color:#c92f3a;box-shadow:0 0 0 3px #c92f3a1a,0 5px 18px #141d2b12}.assistant-form textarea{box-sizing:border-box;resize:none;color:#253040;width:100%;min-height:39px;max-height:130px;font:inherit;background:0 0;border:0;outline:0;padding:9px 0;line-height:1.45}.assistant-form textarea::placeholder{color:#99a1ad}.assistant-form button{color:#fff;cursor:pointer;background:#c92f3a;border:0;border-radius:11px;flex:none;place-items:center;width:42px;height:42px;display:grid}.assistant-form button:hover:not(:disabled){background:#ac2530}.assistant-form button:disabled{opacity:.48;cursor:not-allowed}.assistant-button-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite assistant-spin}@keyframes assistant-spin{to{transform:rotate(360deg)}}.assistant-readonly-note{color:#8a94a3;text-align:center;margin:7px 3px 0;font-size:10px}.assistant-page button:focus-visible,.assistant-page select:focus-visible{outline-offset:2px;outline:2px solid #c92f3a}@media (width<=760px){.assistant-page{min-height:calc(100vh - 96px)}.assistant-header{align-items:flex-start;padding-bottom:17px}.assistant-heading{align-items:flex-start}.assistant-heading-icon{width:39px;height:39px}.assistant-heading h1{font-size:22px}.assistant-heading p{font-size:13px}.assistant-status{margin-top:7px}.assistant-messages{padding:22px 2px}.assistant-message-content{max-width:90%}.assistant-avatar{width:27px;height:27px}.assistant-controls{padding-left:0;padding-right:0}.assistant-context{flex-wrap:wrap;align-items:flex-start}.assistant-suggestions{flex-wrap:wrap;overflow:visible}.assistant-suggestions button{white-space:normal;text-align:left}.assistant-form{border-radius:12px}}@media (width<=480px){.assistant-header{gap:12px}.assistant-heading{gap:10px}.assistant-heading p{max-width:260px}.assistant-status{font-size:0}.assistant-status i{margin:3px}.assistant-message-row{gap:7px}.assistant-avatar{margin-top:18px}.assistant-message-content{max-width:91%}.assistant-bubble{padding:11px 13px;font-size:14px}.assistant-select-wrap{max-width:calc(100vw - 110px)}.assistant-select-wrap select{max-width:100%}}
