@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Poppins:wght@300;400;500;600;700;800&display=swap";:root{--color-primary:#205072;--color-primary-light:#329d9c;--color-accent:#56c596;--color-success:#7be495;--color-soft-bg:#cff4d2;--color-bg:#f8fafc;--color-card:#fff;--color-border:#e5e7eb;--color-text-primary:#111827;--color-text-secondary:#6b7280;--sidebar-bg-start:#205072;--sidebar-bg-end:#1a4563;--content-glow-top:#329d9c24;--content-glow-bottom:#56c5962e;--input-bg:#fff;--login-bg-main:linear-gradient(135deg, #f8fafc 0%, #eff7f8 55%, #eefcf5 100%);--login-bg-top:#329d9c2e;--login-bg-bottom:#56c59633;--text:var(--color-text-secondary);--text-h:var(--color-text-primary);--bg:var(--color-bg);--border:var(--color-border);--code-bg:var(--color-card);--accent:var(--color-accent);--accent-bg:#56c5961f;--accent-border:#56c59673;--social-bg:#329d9c1f;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--font-primary:"Inter", "Segoe UI", Roboto, sans-serif;--font-secondary:"Poppins", "Segoe UI", Roboto, sans-serif}:root[data-theme=dark]{--color-bg:#0f1724;--color-card:#162131;--color-border:#2c3c53;--color-text-primary:#e7edf5;--color-text-secondary:#a6b5c8;--sidebar-bg-start:#0b2034;--sidebar-bg-end:#0f2a43;--content-glow-top:#56c5961a;--content-glow-bottom:#329d9c24;--input-bg:#101b2a;--login-bg-main:linear-gradient(135deg, #0f1724 0%, #122031 55%, #102126 100%);--login-bg-top:#329d9c33;--login-bg-bottom:#56c5962e}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-primary);color:var(--color-text-primary);background:var(--color-bg);margin:0}.home-login-screen{--home-bg:linear-gradient(120deg, #e6f4f3 0%, #f8f4ec 44%, #f0f8f8 100%);--home-showcase-text:#153548;--home-title-text:#123f5c;--home-chip-text:#144c57;--home-chip-bg:#329d9c2e;--home-surface:#ffffffd6;--home-surface-strong:#ffffffe0;--home-surface-soft:#ffffff8f;--home-border:#2050722e;--home-border-soft:#20507224;--home-muted-text:#153548d1;--home-subtitle-text:#153548d6;--home-input-bg:#ffffffdb;--home-shadow-lg:0 30px 60px -32px #133a4e73;--home-shadow-md:0 20px 36px -24px #1d7a846b;--home-hero-shadow:0 24px 44px -28px #133a4e75;--home-icon-color:#1535489e;--home-trust-text:#19455d;--home-card-title:var(--color-primary);--home-glow-a:#3ea0aa70;--home-glow-b:#ec8f545c;background:var(--home-bg);min-height:100%;padding:24px;position:relative;overflow:hidden}:root[data-theme=dark] .home-login-screen{--home-bg:linear-gradient(125deg, #0d1726 0%, #122132 52%, #10202a 100%);--home-showcase-text:#dde8f5;--home-title-text:#e7f1fb;--home-chip-text:#b8f3dc;--home-chip-bg:#329d9c47;--home-surface:#121f2fc7;--home-surface-strong:#142335db;--home-surface-soft:#142132a8;--home-border:#77a4ce57;--home-border-soft:#77a4ce3d;--home-muted-text:#e2edf8e0;--home-subtitle-text:#dae8f7e6;--home-input-bg:#101b2af0;--home-shadow-lg:0 34px 70px -36px #000000d1;--home-shadow-md:0 22px 40px -28px #000000a3;--home-hero-shadow:0 22px 40px -28px #000000b8;--home-icon-color:#d0e0f0cc;--home-trust-text:#d8e7f6;--home-card-title:#e6f0fa;--home-glow-a:#2c7eaa6b;--home-glow-b:#38ba8a57}.home-login-screen,.home-login-screen *{transition:background-color .28s,color .28s,border-color .28s,box-shadow .28s}.home-login-atmosphere{pointer-events:none;position:absolute;inset:0}.home-glow{filter:blur(2px);opacity:.58;border-radius:999px;animation:12s ease-in-out infinite homeFloat;position:absolute}.home-glow-a{background:radial-gradient(circle, var(--home-glow-a) 0%, transparent 68%);width:440px;height:440px;top:-120px;left:-40px}.home-glow-b{background:radial-gradient(circle, var(--home-glow-b) 0%, transparent 62%);width:520px;height:520px;animation-delay:1.7s;bottom:-220px;right:-130px}.home-grid-overlay{opacity:.28;background-image:linear-gradient(#20507212 1px,#0000 1px),linear-gradient(90deg,#20507212 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0}.home-login-layout{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(340px,430px);align-items:center;gap:32px;max-width:1180px;min-height:calc(100vh - 130px);margin:0 auto;display:grid;position:relative}.home-showcase{color:var(--home-showcase-text);max-width:660px;animation:.6s ease-out both homeReveal}.home-login-card{background:var(--home-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--home-border);width:min(430px,100%);box-shadow:var(--home-shadow-lg), var(--home-shadow-md);border-radius:20px;margin-left:auto;padding:30px;animation:.7s ease-out .12s both homeReveal}.home-chip{letter-spacing:1px;font-size:11px;font-weight:700;font-family:var(--font-secondary);color:var(--home-chip-text);background:var(--home-chip-bg);border-radius:999px;margin:0 0 16px;padding:7px 11px;display:inline-block}.home-showcase h1{font-family:var(--font-secondary);letter-spacing:-.8px;margin:0;font-size:clamp(34px,4.5vw,56px);line-height:1.06}.home-subtitle{max-width:62ch;color:var(--home-subtitle-text);margin:14px 0 28px;font-size:17px;line-height:1.55}.home-hero-visual{aspect-ratio:16/9;background:var(--home-surface-soft);border:1px solid var(--home-border);width:min(520px,100%);box-shadow:var(--home-hero-shadow);border-radius:20px;margin:0 0 22px;position:relative;overflow:hidden}.home-hero-device{background:var(--home-surface-strong);border:1px solid var(--home-border-soft);border-radius:16px;grid-template-columns:130px 1fr;align-items:center;gap:18px;padding:16px 20px;display:grid;position:absolute;inset:20px 26px}.home-hero-logo{object-fit:contain;filter:drop-shadow(0 8px 18px #11456152);width:100%;height:auto;animation:4.4s ease-in-out infinite homeLogoFloat}.home-hero-bars{gap:12px;display:grid}.home-hero-bar{opacity:.84;transform-origin:0;background:linear-gradient(90deg,#205072db,#329d9cd6);border-radius:999px;height:14px;animation:2.6s ease-in-out infinite homeBarBreath}.home-hero-bar:first-child{width:88%}.home-hero-bar:nth-child(2){width:68%;animation-delay:.22s}.home-hero-bar:nth-child(3){width:78%;animation-delay:.45s}.home-hero-pulse{background:radial-gradient(circle,#4dc2a257,#0000 65%);border-radius:999px;width:190px;height:190px;animation:3.8s ease-in-out infinite homePulse;position:absolute;top:-54px;right:-38px}.home-visitor-profiles{gap:10px;margin:0 0 22px;display:grid}.home-visitor-tabs{flex-wrap:wrap;gap:8px;display:flex}.home-visitor-tab{border:1px solid var(--home-border);background:var(--home-surface-soft);color:var(--home-showcase-text);font-family:var(--font-primary);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700;transition:background-color .2s,color .2s,transform .16s}.home-visitor-tab:hover{transform:translateY(-1px)}.home-visitor-tab.is-active{color:#fff;background:linear-gradient(90deg,#205072 0%,#329d9c 100%);border-color:#0000}.home-visitor-description{border:1px solid var(--home-border-soft);background:var(--home-surface-soft);min-height:46px;color:var(--home-muted-text);border-radius:12px;margin:0;padding:11px 12px;font-size:14px;line-height:1.5}.home-showcase-points{gap:12px;max-width:520px;display:grid}.home-point{border:1px solid var(--home-border-soft);background:var(--home-surface-soft);border-radius:14px;gap:2px;padding:14px 16px;display:grid}.home-point strong{color:var(--home-title-text);font-size:16px}.home-point span{color:var(--home-muted-text);font-size:14px}.home-login-card h2{font-family:var(--font-secondary);color:var(--home-card-title);margin:0;font-size:33px}.home-form-subtitle{color:var(--color-text-secondary);margin:8px 0 18px}.home-login-trust{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.home-login-trust-item{border:1px solid var(--home-border-soft);background:var(--home-surface-soft);color:var(--home-trust-text);border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.home-login-trust-item.is-online{color:#0d6a56;background:#10b9811f;border-color:#0e746633}.home-login-trust-item.is-offline{color:#8a1b1b;background:#ef444424;border-color:#b91c1c33}.home-login-form{gap:10px;display:grid}.home-login-form label{font-size:14px;font-weight:600}.home-login-form input{width:100%;font-family:var(--font-primary);color:var(--color-text-primary);background:0 0;border:0;border-radius:8px;padding:10px 12px}.home-login-form input:focus{outline:0}.home-login-form input:-webkit-autofill{-webkit-text-fill-color:var(--color-text-primary);caret-color:var(--color-text-primary);box-shadow:0 0 0 1000px var(--home-input-bg) inset;transition:background-color 9999s ease-in-out}.home-login-form input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text-primary);caret-color:var(--color-text-primary);box-shadow:0 0 0 1000px var(--home-input-bg) inset;transition:background-color 9999s ease-in-out}.home-login-form input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text-primary);caret-color:var(--color-text-primary);box-shadow:0 0 0 1000px var(--home-input-bg) inset;transition:background-color 9999s ease-in-out}.home-login-form input:-webkit-autofill:active{-webkit-text-fill-color:var(--color-text-primary);caret-color:var(--color-text-primary);box-shadow:0 0 0 1000px var(--home-input-bg) inset;transition:background-color 9999s ease-in-out}.home-login-form input:-moz-autofill{box-shadow:0 0 0 1000px var(--home-input-bg) inset;-moz-text-fill-color:var(--color-text-primary)}.home-input-shell{border:1px solid var(--home-border);background:var(--home-input-bg);border-radius:10px;align-items:center;gap:8px;padding:0 10px;transition:border-color .2s,box-shadow .2s,transform .16s;display:flex}.home-input-shell:focus-within{border-color:#329d9cb8;transform:translateY(-1px);box-shadow:0 0 0 3px #56c59633}.home-input-shell.is-invalid{border-color:#b91c1c85}.home-input-icon{min-width:16px;color:var(--home-icon-color);font-size:13px;font-weight:700}.home-field-error{color:#9a1e1e;margin:-4px 0 0;font-size:12px;font-weight:600}.home-field-tip{color:#7a5d10;margin:-4px 0 0;font-size:12px;font-weight:600}.home-forgot-link{color:var(--color-primary-light);justify-self:start;margin-top:2px;font-size:13px;text-decoration:none}.home-forgot-link:hover{text-decoration:underline}.home-login-form button{letter-spacing:.2px;font-size:15px;font-weight:700;font-family:var(--font-primary);color:#fff;cursor:pointer;background:linear-gradient(90deg,#205072 0%,#329d9c 100%);border:0;border-radius:10px;margin-top:8px;padding:12px;transition:transform .16s}.home-login-form button:disabled{cursor:not-allowed;opacity:.7}.home-login-form button:hover{filter:brightness(1.03);transform:translateY(-1px)}.home-login-form button:disabled:hover{filter:none;transform:none}.home-login-loading{justify-content:center;align-items:center;gap:8px;display:inline-flex}.home-login-spinner{border:2px solid #ffffff61;border-top-color:#fff;border-radius:999px;width:14px;height:14px;animation:.85s linear infinite homeSpin}.home-login-feedback{border-radius:10px;margin:2px 0 0;padding:9px 11px;font-size:13px;animation:.22s homeFeedbackIn}.home-login-feedback.is-error{color:#991b1b;background:#dc26261f}.home-login-feedback.is-ok{color:#166534;background:#22c55e1f}.home-login-feedback.is-warning{color:#8a5a0d;background:#f59e0b24}.home-login-feedback-ok{color:#166534;background:#22c55e1f;border-radius:10px;margin:2px 0 0;padding:9px 11px;font-size:13px}.home-signup-hint{color:var(--color-text-secondary);margin:4px 0 0;font-size:13px}.home-signup-hint a{color:var(--color-primary-light);font-weight:600;text-decoration:none}.home-signup-hint a:hover{text-decoration:underline}.home-authenticated h1{font-family:var(--font-secondary);color:var(--color-primary);margin:0}.home-authenticated p{color:var(--color-text-secondary);margin-top:8px}@keyframes homeFloat{0%{transform:translate(0,0)scale(1)}50%{transform:translateY(-14px)scale(1.04)}to{transform:translate(0,0)scale(1)}}@keyframes homeReveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes homePulse{0%{opacity:.55;transform:scale(1)}50%{opacity:.8;transform:scale(1.08)}to{opacity:.55;transform:scale(1)}}@keyframes homeLogoFloat{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes homeBarBreath{0%{opacity:.72;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.04)}to{opacity:.72;transform:scaleX(1)}}@keyframes homeSpin{to{transform:rotate(360deg)}}@keyframes homeFeedbackIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.home-login-screen,.home-login-screen *,.home-glow,.home-hero-logo,.home-hero-bar,.home-hero-pulse,.home-login-spinner{transition:none!important;animation:none!important}}@media (width<=960px){.home-login-layout{grid-template-columns:1fr;align-items:start;gap:20px;min-height:auto;padding-top:14px;padding-bottom:8px}.home-showcase{max-width:100%}.home-showcase h1{font-size:34px}.home-hero-visual{width:100%}.home-hero-device{grid-template-columns:110px 1fr}.home-login-card{width:100%;margin-left:0}}@media (width<=600px){.home-login-screen{padding:14px}.home-login-card{border-radius:14px;padding:22px 16px 18px}.home-showcase{margin-bottom:6px;display:block}.home-subtitle{margin-bottom:12px;font-size:15px}.home-hero-visual,.home-showcase-points,.home-visitor-profiles{display:none}.home-login-card h2{font-size:26px}}.clients-page{max-width:1120px;margin:0 auto;padding:30px 20px 48px}.clients-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.clients-chip{letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c1f;border-radius:999px;margin:0 0 8px;padding:6px 12px;display:inline-block}.clients-title{font-size:30px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.clients-create-btn{font-size:14px;font-weight:700;font-family:var(--font-primary);color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);cursor:pointer;border:0;border-radius:10px;padding:12px 18px}.clients-create-form{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;margin-bottom:20px;padding:16px}.clients-modal-overlay{z-index:400;background:#0f172a8c;position:fixed;inset:0}.clients-create-form.clients-edit-modal{z-index:401;width:min(720px,95vw);max-height:90vh;margin:0;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 64px #0f172a47}.clients-modal-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:24px;line-height:1;transition:background .15s,color .15s;position:absolute;top:12px;right:14px}.clients-modal-close:hover{background:var(--color-border);color:var(--color-text-primary)}.clients-form-title{font-size:20px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 8px}.clients-form-id-preview{color:var(--color-text-secondary);margin:0 0 14px;font-size:14px}.clients-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.clients-form-section-title{letter-spacing:.6px;text-transform:uppercase;color:var(--color-text-secondary);border-top:1px solid var(--color-border);grid-column:1/-1;margin:8px 0 0;padding-top:10px;font-size:12px;font-weight:800}.clients-form-field--wide{grid-column:span 2}.clients-form-grid label{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.clients-form-grid input,.clients-form-grid select{border:1px solid var(--color-border);width:100%;font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);box-sizing:border-box;border-radius:8px;padding:10px 11px}.clients-form-grid input:focus,.clients-form-grid select:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.clients-contact-form-list{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 3%, var(--color-card));border-radius:10px;flex-direction:column;grid-column:1/-1;gap:10px;padding:12px;display:flex}.clients-contact-form-row{grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px;display:grid}.clients-contact-remove-btn,.clients-contact-add-btn{border:1px solid var(--color-border);font-size:12px;font-weight:700;font-family:var(--font-primary);color:var(--color-text-primary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 10px}.clients-contact-add-btn{align-self:flex-start}.clients-form-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.clients-secondary-btn{border:1px solid color-mix(in srgb, var(--color-primary) 32%, #fff);font-size:14px;font-weight:700;font-family:var(--font-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-soft-bg) 52%, #fff);cursor:pointer;border-radius:10px;padding:12px 16px}.clients-secondary-btn:hover{background:color-mix(in srgb, var(--color-soft-bg) 72%, #fff)}.clients-table-wrap{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.clients-grid{grid-template-columns:1fr 1.3fr 1fr 1.2fr 110px;align-items:center;gap:10px;padding:12px 14px;display:grid}.clients-grid-filters{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-card));border-bottom:1px solid var(--color-border)}.clients-grid-filters input{border:1px solid var(--color-border);width:100%;font-size:13px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;padding:9px 10px}.clients-grid-filters input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.clients-filter-actions{color:var(--color-text-secondary);text-align:center;font-size:13px}.clients-grid-head{border-bottom:1px solid var(--color-border)}.clients-grid-head strong{color:var(--color-text-primary);font-size:13px}.clients-grid-row{border-bottom:1px solid var(--color-border)}.clients-grid-row:last-of-type{border-bottom:0}.clients-grid-row span{color:var(--color-text-primary);font-size:14px}.clients-view-btn{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:700}.clients-view-btn:hover{background:#20507214}.clients-empty{color:var(--color-text-secondary);text-align:center;margin:0;padding:16px}.client-detail{border:1px solid var(--color-border);background:var(--color-card);border-radius:12px;padding:16px 18px}.clients-inline-detail{border-bottom:1px solid var(--color-border);padding:0 14px 14px}.client-detail h2{font-size:18px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 12px}.client-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.client-detail-group{border:1px solid var(--color-border);border-radius:10px;padding:10px}.client-detail-group--full{grid-column:1/-1}.client-detail-section-title{letter-spacing:.6px;text-transform:uppercase;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);margin:0 0 8px;padding-bottom:6px;font-size:11px;font-weight:800}.client-detail p{color:var(--color-text-primary);margin:0 0 8px}.client-status-badge{text-transform:capitalize;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.client-status-badge.is-activo{color:#067647;background:#0676471f}.client-status-badge.is-bloqueado{color:#b42318;background:#b423181f}.client-status-badge.is-moroso{color:#b54708;background:#b547081f}.clients-contact-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.clients-contact-item{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 4%, var(--color-card));border-radius:8px;padding:8px}.client-detail-actions{gap:10px;margin-top:12px;display:flex}@media (width<=1024px){.clients-form-grid{grid-template-columns:1fr}.clients-form-field--wide{grid-column:span 1}.clients-contact-form-row{grid-template-columns:1fr}.clients-grid{grid-template-columns:1fr;gap:8px}.clients-filter-actions{text-align:left}.client-detail-grid,.clients-contact-list{grid-template-columns:1fr}}.spinner-wrap{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:52px 0;display:flex}.spinner-orbit{width:52px;height:52px;position:relative}.spinner-orbit:before,.spinner-orbit:after{content:"";border:3px solid #0000;border-radius:50%;animation:.9s cubic-bezier(.4,0,.2,1) infinite spin;position:absolute;inset:0}.spinner-orbit:before{border-top-color:var(--color-primary,#205072);border-right-color:var(--color-primary-light,#329d9c)}.spinner-orbit:after{border:2px solid #0000;border-top-color:var(--color-accent,#56c596);animation-duration:1.6s;animation-timing-function:linear;animation-direction:reverse;inset:7px}.spinner-core{background:radial-gradient(circle at 40% 40%, color-mix(in srgb, var(--color-primary-light,#329d9c) 22%, transparent), transparent 70%);border-radius:50%;animation:1.8s ease-in-out infinite pulse;position:absolute;inset:18px}.spinner-label{letter-spacing:.02em;color:color-mix(in srgb, var(--color-primary,#205072) 55%, var(--color-text,#4a5568));font-size:.82rem;font-family:var(--font-primary,"Inter", sans-serif);margin:0;animation:.4s both fade-in}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.providers-page{max-width:1120px;margin:0 auto;padding:30px 20px 48px}.providers-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.providers-chip{letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c1f;border-radius:999px;margin:0 0 8px;padding:6px 12px;display:inline-block}.providers-title{font-size:30px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.providers-create-btn{font-size:14px;font-weight:700;font-family:var(--font-primary);color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);cursor:pointer;border:0;border-radius:10px;padding:12px 18px}.providers-create-form{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;margin-bottom:20px;padding:16px}.providers-form-title{font-size:20px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 8px}.providers-form-id-preview{color:var(--color-text-secondary);margin:0 0 14px;font-size:14px}.providers-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.providers-form-section-title{letter-spacing:.6px;text-transform:uppercase;color:var(--color-text-secondary);border-top:1px solid var(--color-border);grid-column:1/-1;margin:8px 0 0;padding-top:10px;font-size:12px;font-weight:800}.providers-form-field--wide{grid-column:span 2}.providers-form-grid label{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.providers-form-grid input,.providers-form-grid select{border:1px solid var(--color-border);width:100%;font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);box-sizing:border-box;border-radius:8px;padding:10px 11px}.providers-form-grid input:focus,.providers-form-grid select:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.providers-contact-form-list{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 3%, var(--color-card));border-radius:10px;flex-direction:column;grid-column:1/-1;gap:10px;padding:12px;display:flex}.providers-contact-form-row{grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px;display:grid}.providers-contact-remove-btn,.providers-contact-add-btn{border:1px solid var(--color-border);font-size:12px;font-weight:700;font-family:var(--font-primary);color:var(--color-text-primary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 10px}.providers-contact-add-btn{align-self:flex-start}.providers-form-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.providers-secondary-btn{border:1px solid color-mix(in srgb, var(--color-primary) 32%, #fff);font-size:14px;font-weight:700;font-family:var(--font-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-soft-bg) 52%, #fff);cursor:pointer;border-radius:10px;padding:12px 16px}.providers-secondary-btn:hover{background:color-mix(in srgb, var(--color-soft-bg) 72%, #fff)}.providers-modal-overlay{z-index:400;background:#0f172a99;position:fixed;inset:0}.providers-create-form.providers-modal{z-index:401;width:90%;max-width:820px;max-height:90vh;margin:0;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.providers-form-top{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.providers-modal-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:20px;line-height:1}.providers-modal-close:hover{background:var(--color-border);color:var(--color-text-primary)}.providers-table-wrap{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.providers-grid{grid-template-columns:1fr 1.3fr 1fr 1.2fr 110px;align-items:center;gap:10px;padding:12px 14px;display:grid}.providers-grid-filters{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-card));border-bottom:1px solid var(--color-border)}.providers-grid-filters input{border:1px solid var(--color-border);width:100%;font-size:13px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;padding:9px 10px}.providers-grid-filters input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.providers-filter-actions{color:var(--color-text-secondary);text-align:center;font-size:13px}.providers-grid-head{border-bottom:1px solid var(--color-border)}.providers-grid-head strong{color:var(--color-text-primary);font-size:13px}.providers-grid-row{border-bottom:1px solid var(--color-border)}.providers-grid-row:last-of-type{border-bottom:0}.providers-grid-row span{color:var(--color-text-primary);font-size:14px}.providers-view-btn{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:700}.providers-view-btn:hover{background:#20507214}.providers-empty{color:var(--color-text-secondary);text-align:center;margin:0;padding:16px}.provider-detail{border:1px solid var(--color-border);background:var(--color-card);border-radius:12px;padding:16px 18px}.providers-inline-detail{border-bottom:1px solid var(--color-border);padding:0 14px 14px}.provider-detail h2{font-size:18px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 12px}.provider-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.provider-detail-group{border:1px solid var(--color-border);border-radius:10px;padding:10px}.provider-detail-group--full{grid-column:1/-1}.provider-detail-section-title{letter-spacing:.6px;text-transform:uppercase;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);margin:0 0 8px;padding-bottom:6px;font-size:11px;font-weight:800}.provider-detail p{color:var(--color-text-primary);margin:0 0 8px}.provider-status-badge{text-transform:capitalize;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.provider-status-badge.is-activo{color:#067647;background:#0676471f}.provider-status-badge.is-bloqueado{color:#b42318;background:#b423181f}.provider-status-badge.is-moroso{color:#b54708;background:#b547081f}.providers-contact-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.providers-contact-item{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 4%, var(--color-card));border-radius:8px;padding:8px}.provider-detail-actions{gap:10px;margin-top:12px;display:flex}@media (width<=1024px){.providers-form-grid{grid-template-columns:1fr}.providers-form-field--wide{grid-column:span 1}.providers-contact-form-row{grid-template-columns:1fr}.providers-grid{grid-template-columns:1fr;gap:8px}.providers-filter-actions{text-align:left}.provider-detail-grid,.providers-contact-list{grid-template-columns:1fr}}.projects-page{max-width:1120px;margin:0 auto;padding:30px 20px 48px}.projects-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.projects-chip{letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c1f;border-radius:999px;margin:0 0 8px;padding:6px 12px;display:inline-block}.projects-title{font-size:30px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.projects-create-btn{font-size:14px;font-weight:700;font-family:var(--font-primary);color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);cursor:pointer;border:0;border-radius:10px;padding:12px 18px}.projects-create-form{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;margin-bottom:20px;padding:16px}.projects-form-title{font-size:20px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 8px}.projects-form-code-preview{color:var(--color-text-secondary);margin:0 0 14px;font-size:14px}.projects-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.projects-form-grid label{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.projects-form-grid input,.projects-form-grid select{border:1px solid var(--color-border);width:100%;font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;padding:10px 11px}.projects-form-grid input:focus,.projects-form-grid select:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.projects-client-field{position:relative}.projects-client-field input.is-invalid{border-color:#b42318}.projects-client-field input.is-invalid:focus{border-color:#b42318;outline:2px solid #b4231838}.projects-client-suggestions{border:1px solid var(--color-border);background:var(--color-card);border-radius:10px;max-height:180px;margin:6px 0 0;padding:8px;list-style:none;overflow:auto;box-shadow:0 12px 26px -18px #11182759}.projects-client-suggestions li+li{margin-top:4px}.projects-client-suggestions button{text-align:left;width:100%;color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 8px;font-size:13px}.projects-client-suggestions button:hover{background:#20507214}.projects-form-error{color:#b42318;margin:12px 0 0;font-size:13px;font-weight:600}.projects-form-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.projects-secondary-btn{border:1px solid color-mix(in srgb, var(--color-primary) 32%, #fff);font-size:14px;font-weight:700;font-family:var(--font-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-soft-bg) 52%, #fff);cursor:pointer;border-radius:10px;padding:12px 16px}.projects-secondary-btn:hover{background:color-mix(in srgb, var(--color-soft-bg) 72%, #fff)}.projects-modal-overlay{z-index:400;background:#0f172a99;position:fixed;inset:0}.projects-create-form.projects-modal{z-index:401;width:90%;max-width:820px;max-height:90vh;margin:0;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.projects-form-top{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.projects-modal-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:20px;line-height:1}.projects-modal-close:hover{background:var(--color-border);color:var(--color-text-primary)}.projects-table-wrap{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.projects-grid{grid-template-columns:1.1fr 1.5fr 2.2fr 110px;align-items:center;gap:10px;padding:12px 14px;display:grid}.projects-grid-filters{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-card));border-bottom:1px solid var(--color-border)}.projects-grid-filters input{border:1px solid var(--color-border);width:100%;font-size:13px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;padding:9px 10px}.projects-grid-filters input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.projects-filter-actions{color:var(--color-text-secondary);text-align:center;font-size:13px}.projects-grid-head{border-bottom:1px solid var(--color-border)}.projects-grid-head strong{color:var(--color-text-primary);font-size:13px}.projects-grid-row{border-bottom:1px solid var(--color-border)}.projects-grid-row span{color:var(--color-text-primary);font-size:14px}.projects-inline-detail{border-bottom:1px solid var(--color-border);padding:0 14px 14px}.projects-view-btn{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:700}.projects-view-btn:hover{background:#20507214}.projects-empty{color:var(--color-text-secondary);text-align:center;margin:0;padding:16px}.project-detail{border:1px solid var(--color-border);background:var(--color-card);border-radius:12px;padding:16px 18px}.project-detail h2{font-size:18px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 12px}.project-detail p{color:var(--color-text-primary);margin:0 0 8px}.project-detail-actions{gap:10px;margin-top:12px;display:flex}@media (width<=1024px){.projects-form-grid{grid-template-columns:1fr}.projects-grid{grid-template-columns:1fr;gap:8px}.projects-filter-actions{text-align:left}}.tasks-page{max-width:1120px;margin:0 auto;padding:30px 20px 48px}.tasks-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.tasks-chip{letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c1f;border-radius:999px;margin:0 0 8px;padding:6px 12px;display:inline-block}.tasks-title{font-size:30px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.tasks-create-btn{font-size:14px;font-weight:700;font-family:var(--font-primary);color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);cursor:pointer;border:0;border-radius:10px;padding:12px 18px}.tasks-create-form{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;margin-bottom:20px;padding:16px}.tasks-edit-overlay{z-index:400;background:#0f172a99;position:fixed;inset:0}.tasks-edit-form{z-index:401;width:90%;max-width:720px;max-height:90vh;margin-bottom:0;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.tasks-form-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tasks-form-header .tasks-form-title{margin:0}.tasks-edit-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:20px;line-height:1}.tasks-edit-close:hover{background:var(--color-border);color:var(--color-text-primary)}.tasks-form-title{font-size:20px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 8px}.tasks-form-id-preview{color:var(--color-text-secondary);margin:0 0 14px;font-size:14px}.tasks-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.tasks-form-grid label{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.tasks-form-grid input,.tasks-form-grid select{border:1px solid var(--color-border);width:100%;font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;padding:10px 11px}.tasks-form-grid textarea{border:1px solid var(--color-border);width:100%;font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);resize:vertical;border-radius:8px;padding:10px 11px}.tasks-form-grid input:focus,.tasks-form-grid select:focus,.tasks-form-grid textarea:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.tasks-project-field{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex;position:relative}.tasks-project-field input:disabled{opacity:.48;cursor:not-allowed;background:var(--color-border)}.tasks-project-field input.is-invalid{border-color:#b42318}.tasks-project-field input.is-invalid:focus{border-color:#b42318;outline:2px solid #b4231838}.tasks-form-field--wide{grid-column:span 2}.tasks-form-section-title{letter-spacing:.6px;text-transform:uppercase;color:var(--color-text-secondary);border-top:1px solid var(--color-border);grid-column:1/-1;margin:8px 0 0;padding-top:10px;font-size:12px;font-weight:800}.tasks-project-suggestions{z-index:200;border:1px solid var(--color-border);background:var(--color-card);border-radius:10px;max-height:210px;margin:0;padding:8px;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto;box-shadow:0 8px 24px -4px #1118272e}.tasks-project-suggestions li+li{margin-top:4px}.tasks-project-suggestions button{text-align:left;width:100%;color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 8px;font-size:13px}.tasks-project-suggestions button:hover{background:#20507214}.tasks-readonly-block{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 5%, var(--color-card));border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.tasks-readonly-label{letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-secondary);font-size:11px;font-weight:700}.tasks-readonly-value{color:var(--color-text-primary);font-size:14px;font-weight:500}.tasks-form-error{color:#b42318;margin:12px 0 0;font-size:13px;font-weight:600}.tasks-form-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.tasks-secondary-btn{border:1px solid color-mix(in srgb, var(--color-primary) 32%, #fff);font-size:14px;font-weight:700;font-family:var(--font-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-soft-bg) 52%, #fff);cursor:pointer;border-radius:10px;padding:12px 16px}.tasks-secondary-btn:hover{background:color-mix(in srgb, var(--color-soft-bg) 72%, #fff)}.tasks-table-wrap{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.tasks-grid{grid-template-columns:1.1fr 2fr 1.5fr 2fr 130px 160px;align-items:center;gap:10px;padding:12px 14px;display:grid}.tasks-grid-filters{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-card));border-bottom:1px solid var(--color-border)}.tasks-grid-filters input{border:1px solid var(--color-border);width:100%;font-size:13px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;padding:9px 10px}.tasks-grid-filters input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.tasks-filter-actions{color:var(--color-text-secondary);text-align:center;font-size:13px}.tasks-grid-head{border-bottom:1px solid var(--color-border)}.tasks-grid-head strong{color:var(--color-text-primary);font-size:13px}.tasks-grid-row{border-bottom:1px solid var(--color-border)}.tasks-grid-row span{color:var(--color-text-primary);font-size:14px}.tasks-inline-detail{border-bottom:1px solid var(--color-border);padding:0 14px 14px}.tasks-view-btn{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:700}.tasks-view-btn:hover{background:#20507214}.tasks-row-actions{flex-wrap:wrap;gap:6px;display:flex}.tasks-facturar-btn{color:#fff;cursor:pointer;background:#7c3aed;border:0;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:700}.tasks-facturar-btn:hover{background:#6d28d9}.tasks-grid-filters select{border:1px solid var(--color-border);width:100%;font-size:13px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;padding:9px 10px}.tasks-grid-filters select:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.facturar-modal{z-index:401;background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:20px;width:94%;max-width:820px;max-height:90vh;padding:24px;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.facturar-modal-header{justify-content:space-between;align-items:center;display:flex}.facturar-modal-header h2{font-size:20px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.facturar-loading{text-align:center;color:var(--color-text-secondary);padding:24px 0}.facturar-info-grid{background:color-mix(in srgb, var(--color-primary) 5%, var(--color-card));border:1px solid var(--color-border);border-radius:10px;grid-template-columns:repeat(2,1fr);gap:10px;padding:14px;display:grid}.facturar-info-grid>div{flex-direction:column;gap:2px;display:flex}.facturar-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);font-size:11px;font-weight:700}.facturar-section{flex-direction:column;gap:10px;display:flex}.facturar-section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);border-bottom:1px solid var(--color-border);margin:0;padding-bottom:6px;font-size:13px;font-weight:800}.facturar-table{border-collapse:collapse;width:100%;font-size:13px}.facturar-table th,.facturar-table td{text-align:left;border:1px solid var(--color-border);padding:6px 8px}.facturar-table th{background:var(--color-bg);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);font-size:11px;font-weight:700}.facturar-table .firma-ok{color:#16a34a;text-align:center;font-weight:700}.facturar-table .firma-no{color:#9ca3af;text-align:center}.facturar-firmas{flex-direction:column;gap:12px;display:flex}.facturar-firma-block{flex-direction:column;gap:6px;display:flex}.facturar-firma-label{color:var(--color-text-secondary);font-size:12px;font-weight:600}.facturar-firma-imgs{gap:16px;display:flex}.facturar-firma-item{flex-direction:column;align-items:center;gap:4px;display:flex}.facturar-firma-img{object-fit:contain;border:1px solid var(--color-border);background:#f9fafb;border-radius:8px;width:160px;height:70px}.facturar-inputs{flex-wrap:wrap;gap:16px;display:flex}.facturar-inputs label{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.facturar-inputs input{border:1px solid var(--color-border);font-size:14px;font-family:var(--font-primary);text-align:right;background:var(--input-bg,var(--color-bg));width:120px;color:var(--color-text-primary);border-radius:8px;padding:8px 10px}.facturar-econ-table td{border:none;border-bottom:1px solid var(--color-border);padding:6px 12px}.facturar-econ-table td:last-child{text-align:right}.facturar-econ-table .econ-subtotal td{border-top:2px solid var(--color-border);border-bottom:1px solid var(--color-border)}.facturar-econ-table .econ-total td{border-top:3px solid var(--color-primary);color:var(--color-primary);font-size:16px}.facturar-actions{border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.facturar-success{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}.facturar-success p{color:var(--color-text-primary);margin:0;font-size:14px}.tasks-empty{color:var(--color-text-secondary);text-align:center;margin:0;padding:16px}.task-detail{border:1px solid var(--color-border);background:var(--color-card);border-radius:12px;padding:16px 18px}.task-detail h2{font-size:18px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 12px}.task-detail p{color:var(--color-text-primary);margin:0 0 8px}.task-detail-actions{gap:10px;margin-top:12px;display:flex}.task-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.task-detail-group{border:1px solid var(--color-border);border-radius:10px;padding:10px}.task-detail-group--full{grid-column:1/-1}.task-detail-section-title{letter-spacing:.6px;text-transform:uppercase;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);margin:0 0 8px;padding-bottom:6px;font-size:11px;font-weight:800}.task-status-badge{text-transform:capitalize;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.task-status-badge.is-pte_planificar{color:#7f8799;background:#7f87991f}.task-status-badge.is-planificada{color:#b54708;background:#b547081f}.task-status-badge.is-en_proceso{color:#05c;background:#0055cc1f}.task-status-badge.is-parada{color:#9e5600;background:#9e56001f}.task-status-badge.is-terminada{color:#067647;background:#0676471f}.task-status-badge.is-revisada{color:#6941c6;background:#6941c61f}.task-status-badge.is-cerrada{color:#0a3622;background:#0a36221f}.task-priority-badge{text-transform:capitalize;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.task-priority-badge.is-baja{color:#067647;background:#0676471f}.task-priority-badge.is-media{color:#b54708;background:#b547081f}.task-priority-badge.is-alta{color:#b42318;background:#b423181f}.task-priority-badge.is-urgente{color:#7f0000;background:#7f00001f}@media (width<=1024px){.tasks-form-grid{grid-template-columns:1fr}.tasks-form-field--wide{grid-column:span 1}.tasks-grid{grid-template-columns:1fr;gap:8px}.tasks-filter-actions{text-align:left}.task-detail-grid{grid-template-columns:1fr}}.task-detail-tabs{border-bottom:2px solid var(--color-border);gap:4px;margin-bottom:14px;padding-bottom:0;display:flex}.task-detail-tab{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;margin-bottom:-2px;padding:7px 16px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s}.task-detail-tab:hover{color:var(--color-primary)}.task-detail-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 6%, transparent)}.th-root{padding:2px 0}.th-summary{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-card));border:1px solid var(--color-border);border-radius:10px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;display:flex}.th-summary-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);flex:1;font-size:12px;font-weight:700}.th-summary-value{color:var(--color-primary);font-size:20px;font-weight:800}.th-empty{color:var(--color-text-secondary);text-align:center;margin:16px 0;font-size:13px}.th-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.th-item{border-bottom:1px solid var(--color-border);grid-template-columns:28px 1fr;align-items:flex-start;gap:10px;padding:10px 0;display:grid}.th-item:last-child{border-bottom:none}.th-dot{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:2px;font-size:12px;display:flex}.th-body{gap:3px;display:grid}.th-header-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.th-label{color:var(--color-text-primary);font-size:13px;font-weight:700}.th-time{color:var(--color-text-secondary);white-space:nowrap;margin-left:auto;font-size:11px}.th-actor{color:var(--color-text-secondary);margin:0;font-size:11px}.th-detail{color:var(--color-text-primary);flex-wrap:wrap;align-items:center;gap:5px;margin:2px 0 0;font-size:12px;display:flex}.th-parte{gap:6px;display:grid}.th-firmas{flex-wrap:wrap;gap:8px;font-size:11px;display:flex}.th-firma-ok{color:#16a34a;font-weight:700}.th-firma-no{color:#9ca3af}.th-gps-link{color:#2563eb;border-bottom:1px dotted #93c5fd;font-size:11px;text-decoration:none}.th-gps-link:hover{color:#1d4ed8}.th-intervals-table{border-collapse:collapse;width:100%;margin-top:4px;font-size:11px}.th-intervals-table th,.th-intervals-table td{text-align:left;border:1px solid var(--color-border);padding:4px 6px}.th-intervals-table th{background:var(--color-bg);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.budgets-page{max-width:1120px;margin:0 auto;padding:30px 20px 48px}.budgets-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.budgets-chip{letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c1f;border-radius:999px;margin:0 0 8px;padding:6px 12px;display:inline-block}.budgets-title{font-size:30px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.budgets-create-btn{font-size:14px;font-weight:700;font-family:var(--font-primary);color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);cursor:pointer;border:0;border-radius:10px;padding:12px 18px}.budgets-create-form{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;margin-bottom:20px;padding:16px}.budgets-form-title{font-size:20px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 8px}.budgets-form-id-preview{color:var(--color-text-secondary);margin:0 0 14px;font-size:14px}.budgets-form-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.budgets-project-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.budgets-project-field{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex;position:relative}.budgets-project-field input,.budgets-project-field select{border:1px solid var(--color-border);width:100%;font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);box-sizing:border-box;border-radius:8px;padding:10px 11px}.budgets-project-field input:focus,.budgets-project-field select:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.budgets-project-field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-text-secondary) 50%), linear-gradient(135deg, var(--color-text-secondary) 50%, transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:36px}.budgets-project-field select:disabled{cursor:not-allowed;color:var(--color-text-secondary);background-color:color-mix(in srgb, var(--color-card) 72%, #f4f6f8)}.budgets-project-suggestions{border:1px solid var(--color-border);background:var(--color-card);border-radius:10px;max-height:180px;margin:6px 0 0;padding:8px;list-style:none;overflow:auto;box-shadow:0 12px 26px -18px #11182759}.budgets-project-suggestions li+li{margin-top:4px}.budgets-project-suggestions button{text-align:left;width:100%;color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 8px;font-size:13px}.budgets-project-suggestions button:hover{background:#20507214}.budgets-section-label{text-transform:uppercase;letter-spacing:.6px;color:var(--color-primary);margin:0 0 10px;font-size:11px;font-weight:700}.budgets-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.budgets-client-section{background:color-mix(in srgb, var(--color-primary) 4%, var(--color-card));border:1px solid var(--color-border);border-radius:10px;padding:14px 16px}.budgets-client-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.budgets-readonly-field{flex-direction:column;gap:4px;display:flex}.budgets-readonly-label{text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-secondary);font-size:11px;font-weight:600}.budgets-readonly-value{color:var(--color-text-primary);border:1px solid var(--color-border);background:var(--color-card);border-radius:8px;min-height:38px;padding:8px 10px;font-size:14px;display:block}.budgets-readonly-value--wide{max-width:100%}.budgets-empty-hint{color:var(--color-text-secondary);font-size:13px;font-style:normal}.budgets-address-section{background:color-mix(in srgb, var(--color-primary) 4%, var(--color-card));border:1px solid var(--color-border);border-radius:10px;flex-direction:column;justify-content:flex-start;padding:14px 16px;display:flex}.budgets-lines-section{margin-bottom:16px}.budgets-lines-wrap{border:1px solid var(--color-border);border-radius:10px;margin-bottom:8px;overflow:hidden}.budgets-lines-head,.budgets-lines-row{grid-template-columns:110px 1fr 65px 84px 58px 58px 84px 34px;align-items:center;gap:8px;padding:8px 10px;display:grid}.budgets-lines-head{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-card));border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:12px;font-weight:700}.budgets-lines-row{border-bottom:1px solid var(--color-border)}.budgets-lines-row:last-child{border-bottom:0}.budgets-line-input{border:1px solid var(--color-border);width:100%;font-size:13px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:7px;padding:7px 8px}.budgets-line-input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.budgets-line-input--num{text-align:right}.budgets-line-total{color:var(--color-primary);text-align:right;white-space:nowrap;font-size:13px;font-weight:700}.budgets-line-remove{color:#b42318;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 6px;font-size:14px;line-height:1}.budgets-line-remove:hover{background:#b4231814}.budgets-line-remove:disabled{color:var(--color-text-secondary);cursor:not-allowed}.budgets-add-line-btn{border:1px dashed var(--color-primary-light);width:100%;font-size:13px;font-weight:600;font-family:var(--font-primary);color:var(--color-primary-light);cursor:pointer;background:0 0;border-radius:8px;margin-bottom:10px;padding:9px 14px}.budgets-add-line-btn:hover{background:#329d9c12}.budgets-form-total{color:var(--color-primary);justify-content:flex-end;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.budgets-form-error{color:#b42318;margin:12px 0 0;font-size:13px;font-weight:600}.budgets-form-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.budgets-secondary-btn{border:1px solid color-mix(in srgb, var(--color-primary) 32%, #fff);font-size:14px;font-weight:700;font-family:var(--font-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-soft-bg) 52%, #fff);cursor:pointer;border-radius:10px;padding:12px 16px}.budgets-secondary-btn:hover{background:color-mix(in srgb, var(--color-soft-bg) 72%, #fff)}.budgets-cancel-btn{font-size:14px;font-weight:700;font-family:var(--font-primary);color:var(--color-primary-light);cursor:pointer;background:#56c5961f;border:1px solid #56c59659;border-radius:10px;padding:12px 16px}.budgets-cancel-btn:hover{background:#56c59638}.budgets-modal-overlay{z-index:400;background:#0f172a99;position:fixed;inset:0}.budgets-create-form.budgets-modal{z-index:401;width:90%;max-width:860px;max-height:90vh;margin:0;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.budgets-modal-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:20px;line-height:1}.budgets-modal-close:hover{background:var(--color-border);color:var(--color-text-primary)}.budgets-table-wrap{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.budgets-grid{grid-template-columns:1.2fr 1.2fr 2fr 1fr 220px;align-items:center;gap:10px;padding:12px 14px;display:grid}.budgets-grid-filters{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-card));border-bottom:1px solid var(--color-border)}.budgets-grid-filters input{border:1px solid var(--color-border);width:100%;font-size:13px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;padding:9px 10px}.budgets-grid-filters input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.budgets-filter-actions{color:var(--color-text-secondary);text-align:center;font-size:13px}.budgets-grid-head{border-bottom:1px solid var(--color-border)}.budgets-grid-head strong{color:var(--color-text-primary);font-size:13px}.budgets-grid-row{border-bottom:1px solid var(--color-border)}.budgets-grid-row span{color:var(--color-text-primary);font-size:14px}.budgets-inline-detail{border-bottom:1px solid var(--color-border);padding:0 14px 14px}.budgets-row-actions{justify-content:flex-end;gap:8px;display:flex}.budgets-view-btn{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:700}.budgets-view-btn:hover{background:#20507214}.budgets-empty{color:var(--color-text-secondary);text-align:center;margin:0;padding:16px}.budget-detail{border:1px solid var(--color-border);background:var(--color-card);border-radius:12px;padding:16px 18px}.budget-detail h2{font-size:18px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 12px}.budget-detail-meta{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:14px;display:grid}.budget-detail-meta-group{background:color-mix(in srgb, var(--color-primary) 4%, var(--color-card));border:1px solid var(--color-border);border-radius:8px;padding:12px 14px}.budget-detail-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--color-primary);margin:0 0 8px;font-size:11px;font-weight:700}.budget-detail-meta-group p,.budget-detail-address p{color:var(--color-text-primary);margin:0 0 6px;font-size:14px}.budget-detail-address{background:color-mix(in srgb, var(--color-primary) 4%, var(--color-card));border:1px solid var(--color-border);border-radius:8px;margin-bottom:14px;padding:12px 14px}.budget-detail-lines{margin-bottom:14px}.budget-detail-lines-table{border-collapse:collapse;border:1px solid var(--color-border);border-radius:10px;width:100%;margin-bottom:10px;overflow:hidden}.budget-detail-lines-table th{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-card));color:var(--color-text-primary);text-align:left;border-bottom:1px solid var(--color-border);padding:8px 10px;font-size:12px;font-weight:700}.budget-detail-lines-table td{color:var(--color-text-primary);border-bottom:1px solid var(--color-border);vertical-align:middle;padding:7px 10px;font-size:13px}.budget-detail-lines-table tr:last-child td{border-bottom:0}.budget-detail-total{color:var(--color-primary);text-align:right;margin:0;font-size:15px;font-weight:700}.budget-detail-actions{gap:10px;display:flex}@media (width<=1024px){.budgets-project-row,.budgets-summary-grid,.budgets-client-grid{grid-template-columns:1fr}.budgets-grid{grid-template-columns:1fr;gap:8px}.budgets-filter-actions{text-align:left}.budget-detail-meta{grid-template-columns:1fr}.budgets-lines-head,.budgets-lines-row{grid-template-columns:90px 1fr 55px 72px 50px 50px 72px 32px}}.pdf-preview-overlay{z-index:400;background:#0f172a99;justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.pdf-preview-modal{background:var(--color-card);border-radius:16px;width:100%;max-width:860px;margin:auto;overflow:hidden;box-shadow:0 24px 64px #0f172a47}.pdf-preview-header{border-bottom:1px solid var(--color-border);background:var(--color-card);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.pdf-preview-header-info h3{color:var(--color-primary);margin:0 0 2px;font-size:15px}.pdf-preview-header-info p{color:var(--color-text-secondary);margin:0;font-size:12px}.pdf-preview-header-actions{flex-shrink:0;gap:8px;display:flex}.pdf-preview-body{background:linear-gradient(#2050720a,#329d9c0a);max-height:calc(90vh - 80px);padding:20px;overflow-y:auto}.pdf-doc-paper{background:#fff;border:1px solid #0f172a0f;border-radius:8px;max-width:720px;margin:0 auto;padding:22px;box-shadow:0 8px 24px #0f172a1a}.pdf-doc-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.pdf-doc-block{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-primary);border-radius:8px;grid-column:span 6;padding:10px 12px;font-size:12px}.pdf-doc-block.half-left{grid-column:1/span 3}.pdf-doc-block.half-right{grid-column:4/span 3}.pdf-doc-block.full{grid-column:1/-1}.pdf-doc-right-col{flex-direction:column;grid-column:4/span 3;gap:10px;display:flex}.pdf-doc-kicker{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:7px;font-size:10px;font-weight:800;display:block}.pdf-doc-block--logo{box-sizing:border-box;background:color-mix(in srgb, var(--color-primary) 4%, #fff);justify-content:center;align-items:center;height:56px;padding:5px 8px;display:flex;overflow:hidden}.pdf-doc-logo-img{object-fit:contain;width:auto;max-width:100%;height:100%;display:block}.pdf-doc-logo-placeholder{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);color:#fff;width:40px;height:40px;font-size:18px;font-weight:800;font-family:var(--font-secondary);border-radius:10px;justify-content:center;align-items:center;display:flex}.pdf-doc-block--cabecera{text-align:right;background:color-mix(in srgb, var(--color-primary) 4%, #fff)}.pdf-doc-block--cabecera strong{font-size:18px;font-family:var(--font-secondary);color:var(--color-primary);margin-bottom:4px;display:block}.pdf-doc-block--cabecera span{color:var(--color-text-secondary);font-size:12px;display:block}.pdf-doc-info-body{flex-direction:column;gap:3px;display:flex}.pdf-doc-info-body p{color:var(--color-text-primary);margin:0;font-size:12px}.pdf-doc-table{border:1px solid var(--color-border);border-radius:8px;margin-top:4px;overflow:hidden}.pdf-doc-table-head,.pdf-doc-table-row{grid-template-columns:54px minmax(0,1fr) 38px 62px 34px 40px 68px;gap:6px;padding:6px 8px;display:grid}.pdf-doc-table-head{background:color-mix(in srgb, var(--color-primary) 8%, #fff);color:var(--color-primary);font-size:11px;font-weight:700}.pdf-doc-table-row{border-top:1px solid var(--color-border);color:var(--color-text-primary);font-size:11px}.pdf-doc-totals{flex-direction:column;gap:0;display:flex}.pdf-doc-totals-row{border-radius:6px;justify-content:space-between;gap:8px;padding:6px 4px;font-size:12px;display:flex}.pdf-doc-totals-row span{color:var(--color-text-secondary)}.pdf-doc-totals-row strong{color:var(--color-primary)}.pdf-doc-totals-row.is-total{background:color-mix(in srgb, var(--color-primary) 8%, #fff);border-radius:8px;margin-top:4px;padding:7px 8px;font-weight:700}.pdf-doc-totals-row.is-total span{color:var(--color-primary)}.pdf-doc-block-header{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.pdf-doc-block-header .pdf-doc-kicker{margin-bottom:0}.pdf-doc-block-remove-btn{border:1px solid var(--color-border);width:20px;height:20px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;transition:background-color .15s,border-color .15s,color .15s;display:flex}.pdf-doc-block-remove-btn:hover{color:#b42318;background:#b4231814;border-color:#b423184d}.pdf-doc-block-removed{border:1px dashed var(--color-border);color:var(--color-text-secondary);background:0 0;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}.pdf-doc-block-removed.half-left{grid-column:1/span 3}.pdf-doc-block-removed.full{grid-column:1/-1}.pdf-doc-block-restore-btn{color:var(--color-primary);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-primary);background:0 0;border:none;padding:0;text-decoration:underline}.pdf-doc-block-restore-btn:hover{opacity:.75}.pdf-doc-block-heading{color:var(--color-primary);font-size:13px;font-weight:700;font-family:var(--font-secondary);margin:0 0 5px}.pdf-doc-block-text{color:var(--color-text-primary);white-space:pre-wrap;margin:0;font-size:12px;line-height:1.6}.pdf-doc-block-text em{color:var(--color-text-secondary);font-style:italic}.pdf-doc-title-input{border:none;border-bottom:1px solid var(--color-border);width:100%;font-size:13px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);box-sizing:border-box;background:0 0;outline:none;margin-bottom:8px;padding:2px 0 4px;display:block}.pdf-doc-title-input:focus{border-bottom-color:var(--color-accent)}.pdf-doc-block--editable{background:color-mix(in srgb, var(--color-accent) 5%, #fff);border-color:color-mix(in srgb, var(--color-accent) 28%, var(--color-border))}.pdf-doc-block--editable textarea{resize:vertical;width:100%;font-size:12px;font-family:var(--font-primary);color:var(--color-text-primary);white-space:pre-wrap;box-sizing:border-box;background:0 0;border:none;outline:none;min-height:64px;padding:0;line-height:1.6}@media (width<=640px){.pdf-preview-header{flex-direction:column;align-items:flex-start}.pdf-doc-block.half-left,.pdf-doc-block.half-right,.pdf-doc-right-col{grid-column:1/-1}.pdf-doc-table-head,.pdf-doc-table-row{grid-template-columns:1fr}}.pdf-email-step{border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 4%, var(--color-card));padding:14px 20px}.pdf-email-step-info{color:var(--color-text-primary);margin:0 0 10px;font-size:13px;font-weight:600}.pdf-email-step-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pdf-email-input{border:1px solid var(--color-border);min-width:200px;font-size:14px;font-family:var(--font-primary);background:var(--color-card);color:var(--color-text-primary);border-radius:8px;flex:1;padding:10px 12px}.pdf-email-input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.pdf-email-step-error{color:#b42318;margin:8px 0 0;font-size:13px;font-weight:600}.budgets-line-autocomplete-wrap{width:100%;min-width:0;position:relative}.budgets-line-autocomplete-wrap .budgets-line-input{width:100%}.budgets-autocomplete-dropdown{background:var(--color-card);border:1px solid var(--color-border);border-radius:8px;max-height:280px;overflow-y:auto;box-shadow:0 6px 20px #0000002e}.budgets-autocomplete-item{text-align:left;cursor:pointer;border:0;border-bottom:1px solid var(--color-border);background:0 0;flex-direction:column;gap:2px;width:100%;padding:8px 10px;display:flex}.budgets-autocomplete-item:last-child{border-bottom:0}.budgets-autocomplete-item:hover{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-card))}.budgets-autocomplete-ref{letter-spacing:.4px;color:var(--color-primary);font-size:11px;font-weight:700;font-family:var(--font-secondary)}.budgets-autocomplete-desc{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.materials-page{max-width:1180px;margin:0 auto;padding:30px 20px 48px}.materials-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.materials-chip{letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c1f;border-radius:999px;margin:0 0 8px;padding:6px 12px;display:inline-block}.materials-title{font-size:30px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.materials-create-btn{font-size:14px;font-weight:700;font-family:var(--font-primary);color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);cursor:pointer;border:0;border-radius:10px;padding:12px 18px}.materials-create-form{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;margin-bottom:20px;padding:18px}.materials-form-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.materials-form-title{font-size:20px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.materials-form-id-preview{color:var(--color-text-secondary);margin:0;font-size:14px}.materials-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.materials-form-field--wide{grid-column:span 2}.materials-form-grid label,.materials-form-field--wide{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.materials-form-grid input{border:1px solid var(--color-border);width:100%;font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;padding:10px 11px}.materials-form-grid input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.materials-form-calculated{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 4%, var(--color-card));border-radius:10px;align-items:center;gap:14px;margin-bottom:16px;padding:14px 16px;display:flex}.materials-calculated-item{flex-direction:column;gap:4px;display:flex}.materials-calculated-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);font-size:11px;font-weight:700}.materials-calculated-value{color:var(--color-primary);font-size:18px;font-weight:700;font-family:var(--font-secondary)}.materials-calculated-value--pvp{color:var(--color-accent)}.materials-calculated-value--neg{color:#dc2626}.materials-calculated-sep{color:var(--color-border);-webkit-user-select:none;user-select:none;font-size:22px}.materials-form-actions{justify-content:flex-end;gap:10px;display:flex}.materials-secondary-btn{border:1px solid color-mix(in srgb, var(--color-primary) 32%, #fff);font-size:14px;font-weight:700;font-family:var(--font-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-soft-bg) 52%, #fff);cursor:pointer;border-radius:10px;padding:12px 16px}.materials-secondary-btn:hover{background:color-mix(in srgb, var(--color-soft-bg) 72%, #fff)}.materials-cancel-btn{font-size:14px;font-weight:700;font-family:var(--font-primary);color:var(--color-primary-light);cursor:pointer;background:#56c5961f;border:1px solid #56c59659;border-radius:10px;padding:12px 16px}.materials-cancel-btn:hover{background:#56c59638}.materials-modal-overlay{z-index:400;background:#0f172a99;position:fixed;inset:0}.materials-create-form.materials-modal{z-index:401;width:90%;max-width:820px;max-height:90vh;margin:0;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.materials-modal-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:20px;line-height:1}.materials-modal-close:hover{background:var(--color-border);color:var(--color-text-primary)}.materials-table-wrap{background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.materials-grid{grid-template-columns:130px 2fr 1.4fr 90px 100px 110px;align-items:center;gap:10px;padding:12px 14px;display:grid}.materials-grid-filters{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-card));border-bottom:1px solid var(--color-border)}.materials-grid-filters input{border:1px solid var(--color-border);width:100%;font-size:13px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;padding:9px 10px}.materials-grid-filters input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.materials-filter-label{color:var(--color-text-secondary);text-align:center;font-size:13px}.materials-grid-head{border-bottom:1px solid var(--color-border)}.materials-grid-head strong{color:var(--color-text-primary);font-size:13px}.materials-grid-row{border-bottom:1px solid var(--color-border)}.materials-grid-row span{color:var(--color-text-primary);font-size:14px}.materials-id-chip{letter-spacing:.4px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);white-space:nowrap;background:#20507214;border-radius:6px;padding:3px 8px;display:inline-block}.materials-view-btn{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:700}.materials-view-btn:hover{background:#20507214}.materials-inline-detail{border-bottom:1px solid var(--color-border);padding:0 14px 14px}.materials-empty{color:var(--color-text-secondary);text-align:center;margin:0;padding:16px}.material-detail{border:1px solid var(--color-border);background:var(--color-card);border-radius:12px;padding:16px 18px}.material-detail h2{font-size:18px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 14px}.material-detail-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px;display:grid}.material-detail-group{background:color-mix(in srgb, var(--color-primary) 4%, var(--color-card));border:1px solid var(--color-border);border-radius:8px;padding:12px 14px}.material-detail-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--color-primary);margin:0 0 8px;font-size:11px;font-weight:700}.material-detail-group p{color:var(--color-text-primary);margin:0 0 6px;font-size:14px}.material-detail-group p:last-child{margin:0}.material-detail-actions{gap:10px;display:flex}@media (width<=1024px){.materials-form-grid{grid-template-columns:repeat(2,1fr)}.materials-form-field--wide{grid-column:span 2}.materials-grid{grid-template-columns:1fr;gap:8px}.materials-filter-label{text-align:left}.material-detail-grid{grid-template-columns:1fr}}@media (width<=640px){.materials-form-grid{grid-template-columns:1fr}.materials-form-field--wide{grid-column:span 1}}.rec-page{max-width:1180px;margin:0 auto;padding:30px 20px 48px}.rec-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.rec-chip{letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c1f;border-radius:999px;margin:0 0 8px;padding:6px 12px;display:inline-block}.rec-title{font-size:30px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.rec-create-btn{font-size:14px;font-weight:700;font-family:var(--font-primary);color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);cursor:pointer;border:0;border-radius:10px;padding:12px 18px}.rec-create-form{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;margin-bottom:20px;padding:18px}.rec-form-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.rec-form-title{font-size:20px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.rec-form-id-preview{color:var(--color-text-secondary);margin:0;font-size:14px}.rec-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.rec-form-grid label{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.rec-form-grid input,.rec-form-grid select{border:1px solid var(--color-border);width:100%;font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);box-sizing:border-box;border-radius:8px;padding:10px 11px}.rec-form-grid input:focus,.rec-form-grid select:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.rec-password-input-wrap{align-items:center;gap:8px;display:flex}.rec-password-input-wrap input{flex:1}.rec-password-toggle-btn{border:1px solid var(--color-border);font-size:12px;font-weight:700;font-family:var(--font-primary);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:9px 11px}.rec-form-antiguedad{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 4%, var(--color-card));border-radius:10px;align-items:center;gap:14px;margin-bottom:16px;padding:14px 16px;display:flex}.rec-calculated-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);font-size:11px;font-weight:700}.rec-calculated-value{color:var(--color-primary);font-size:18px;font-weight:700;font-family:var(--font-secondary)}.rec-form-actions{flex-wrap:wrap;gap:10px;display:flex}.rec-table-wrapper{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;margin-bottom:24px;overflow-x:auto}.rec-table{border-collapse:collapse;width:100%;font-size:14px}.rec-table thead tr:first-child th{background:var(--color-card);padding:10px 14px 4px}.rec-table-head-labels th{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);text-align:left;padding:4px 14px 10px;font-size:11px;font-weight:700}.rec-table tbody tr{border-bottom:1px solid var(--color-border);transition:background .15s}.rec-table tbody tr:last-child{border-bottom:0}.rec-table tbody tr:hover{background:color-mix(in srgb, var(--color-primary) 4%, transparent)}.rec-row-selected{background:color-mix(in srgb, var(--color-primary) 8%, transparent)!important}.rec-table td{color:var(--color-text-primary);vertical-align:middle;padding:12px 14px}.rec-id-cell{font-family:var(--font-secondary);white-space:nowrap;font-weight:700;color:var(--color-primary)!important}.rec-table-empty{text-align:center;color:var(--color-text-secondary);padding:32px 14px}.rec-filter-input{border:1px solid var(--color-border);width:100%;font-size:13px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);box-sizing:border-box;border-radius:8px;padding:7px 10px}.rec-filter-input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.rec-view-btn{font-size:13px;font-weight:600;font-family:var(--font-primary);color:#fff;background:var(--color-primary);cursor:pointer;white-space:nowrap;border:0;border-radius:8px;padding:7px 14px}.rec-danger-btn,.rec-success-btn{font-size:13px;font-weight:600;font-family:var(--font-primary);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:8px;padding:7px 14px}.rec-danger-btn{background:#b42318}.rec-success-btn{background:#067647}.rec-actions-inline{flex-wrap:wrap;gap:8px;display:flex}.rec-secondary-btn{border:1px solid var(--color-border);font-size:13px;font-weight:600;font-family:var(--font-primary);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:7px 14px}.rec-modal-overlay{z-index:400;background:#0f172a99;position:fixed;inset:0}.rec-create-form.rec-modal{z-index:401;width:90%;max-width:820px;max-height:90vh;margin:0;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.rec-modal-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:20px;line-height:1}.rec-modal-close:hover{background:var(--color-border);color:var(--color-text-primary)}.rec-detail{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;margin-top:24px;padding:20px}.rec-detail h2{font-size:20px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 18px}.rec-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px;display:grid}.rec-detail-group{flex-direction:column;gap:8px;display:flex}.rec-detail-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);margin:0 0 6px;padding-bottom:6px;font-size:11px;font-weight:700}.rec-detail-group p{color:var(--color-text-primary);margin:0;font-size:14px}.rec-antiguedad-badge{color:var(--color-primary);font-size:13px;font-weight:700;font-family:var(--font-secondary);background:#329d9c1f;border-radius:999px;padding:3px 10px;display:inline-block}.rec-status-badge{font-size:13px;font-weight:700;font-family:var(--font-secondary);border-radius:999px;padding:3px 10px;display:inline-block}.rec-status-badge.is-active{color:#067647;background:#06764726}.rec-status-badge.is-baja{color:#b42318;background:#b4231826}.rec-detail-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=900px){.rec-form-grid{grid-template-columns:1fr 1fr}.rec-detail-grid{grid-template-columns:1fr}}@media (width<=600px){.rec-form-grid{grid-template-columns:1fr}.rec-header{flex-direction:column;align-items:flex-start}}.planif-page{max-width:1240px;margin:0 auto;padding:30px 20px 48px}.planif-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.planif-chip{letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:#113f67;background:#113f671f;border-radius:999px;margin:0 0 8px;padding:6px 12px;display:inline-block}.planif-title{font-size:30px;font-family:var(--font-secondary);color:#113f67;margin:0}.planif-error,.planif-ok{border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:13px;font-weight:600}.planif-error{color:#b42318;background:#b4231814}.planif-ok{color:#067647;background:#06764717}.planif-tabs{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 5%, var(--color-card));border-radius:14px;grid-auto-flow:column;gap:8px;margin-bottom:16px;padding:6px;display:inline-grid}.planif-tabs button{font-weight:700;font-family:var(--font-primary);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 14px}.planif-tabs button.is-active{color:#fff;background:linear-gradient(90deg,#113f67 0%,#34699a 100%)}.planif-resources-grid,.planif-tasks-grid{grid-template-columns:1.55fr 1fr;gap:14px;display:grid}.planif-card{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;padding:14px}.planif-card h3{color:var(--color-primary);font-size:18px;font-family:var(--font-secondary);margin:0}.planif-muted{color:var(--color-text-secondary);margin:6px 0 12px;font-size:13px}.planif-resource-selectors{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.planif-resource-pill{border:1px solid var(--color-border);color:var(--color-text-primary);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:13px;display:inline-flex}.planif-calendar-toolbar{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.planif-view-modes{border:1px solid var(--color-border);border-radius:10px;display:inline-flex;overflow:hidden}.planif-view-modes button{color:var(--color-text-secondary);cursor:pointer;background:#fff;border:0;padding:8px 11px;font-weight:700}.planif-view-modes button.is-active{color:#fff;background:#113f67}.planif-calendar-nav{align-items:center;gap:10px;display:inline-flex}.planif-calendar-nav button{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:8px;width:34px;height:34px}.planif-calendar-nav strong{color:var(--color-text-primary);text-transform:capitalize;font-size:14px}.planif-calendar-list h4{margin:0 0 10px}.planif-calendar-list ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.planif-calendar-list li{border:1px solid var(--color-border);border-radius:10px;gap:3px;padding:10px;display:grid}.planif-calendar-list li strong{color:#113f67}.planif-calendar-list li span,.planif-calendar-list li small{color:var(--color-text-secondary)}.planif-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.planif-weekdays span{text-transform:uppercase;color:var(--color-text-secondary);font-size:11px;font-weight:700}.planif-days-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.planif-day-card{border:1px solid var(--color-border);background:#fff;border-radius:10px;min-height:110px;padding:8px;transition:border-color .15s,box-shadow .15s,background .15s}.planif-day-card.is-muted{opacity:.54}.planif-day-card.is-drop-target{background:#34699a0f;border-color:#34699a;box-shadow:0 0 0 2px #34699a33}.planif-day-card header{justify-content:space-between;margin-bottom:6px;display:flex}.planif-day-card header strong{color:#113f67}.planif-day-card ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.planif-day-card li{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;cursor:grab;-webkit-user-select:none;user-select:none;font-size:12px;overflow:hidden}.planif-day-card li:active{cursor:grabbing}.planif-day-card li.is-being-dragged{opacity:.45}.planif-calendar-year{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.planif-month-box{border:1px solid var(--color-border);text-align:center;background:#fff;border-radius:10px;padding:10px}.planif-month-box p{text-transform:uppercase;color:var(--color-text-secondary);margin:0;font-size:12px}.planif-month-box strong{color:#113f67;font-size:30px;font-family:var(--font-secondary);margin-top:8px;display:block}.planif-month-box span{color:var(--color-text-secondary);font-size:12px}.planif-label{color:var(--color-text-primary);flex-direction:column;gap:6px;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.planif-label input,.planif-label select,.planif-search,.planif-hours-row input[type=time]{border:1px solid var(--color-border);width:100%;font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);box-sizing:border-box;border-radius:8px;padding:9px 10px}.planif-hours-table{gap:8px;display:grid}.planif-hours-row{grid-template-columns:1.4fr 1fr 1fr;align-items:center;gap:8px;display:grid}.planif-hours-row label{color:var(--color-text-primary);align-items:center;gap:8px;font-size:13px;display:inline-flex}.planif-actions{margin-top:12px}.planif-primary{color:#fff;cursor:pointer;background:linear-gradient(90deg,#113f67 0%,#34699a 100%);border:0;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:700}.planif-primary:disabled{opacity:.45;cursor:not-allowed}.planif-task-list{gap:8px;margin-top:10px;display:grid}.planif-task-item{border:1px solid var(--color-border);border-radius:10px;gap:8px;padding:10px;display:grid}.planif-task-item h4{color:#113f67;margin:0}.planif-task-item p{color:var(--color-text-primary);margin:4px 0}.planif-task-item small{color:var(--color-text-secondary)}.planif-empty{color:var(--color-text-secondary);margin:0;font-size:13px}@media (width<=1120px){.planif-resources-grid,.planif-tasks-grid{grid-template-columns:1fr}.planif-calendar-year{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.planif-days-grid,.planif-weekdays{grid-template-columns:repeat(2,minmax(0,1fr))}.planif-hours-row{grid-template-columns:1fr}.planif-calendar-year{grid-template-columns:repeat(2,minmax(0,1fr))}}.fi-page .budgets-table-wrap{overflow-x:auto}.fi-page .budgets-grid{grid-template-columns:1.2fr 1.5fr 1fr .9fr 110px minmax(240px,auto);min-width:760px}.fi-page .budgets-row-actions{flex-wrap:wrap;gap:6px}.fi-estado-badge{white-space:nowrap;border-style:solid;border-width:1px;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.fi-estado-borrador{color:#854d0e;background:#fef9c3;border-color:#fde047}.fi-estado-enviada{color:#15803d;background:#dcfce7;border-color:#86efac}.fi-estado-pagada{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.fi-estado-vencida{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.fi-aprobar-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#059669;border:none;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;transition:background .15s}.fi-aprobar-btn:hover{background:#047857}.fi-edit-overlay{z-index:400;background:#0f172a99;position:fixed;inset:0}.fi-edit-form{z-index:401;border-radius:14px;width:90%;max-width:820px;max-height:90vh;margin-bottom:0;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.fi-form-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.fi-form-header .budgets-form-title{margin:0}.fi-edit-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:20px;line-height:1}.fi-edit-close:hover{background:var(--color-border);color:var(--color-text-primary)}@media (width<=900px){.fi-page .budgets-grid{min-width:unset;grid-template-columns:1fr}}.invoice-page{gap:18px;width:min(1180px,100%);margin:0 auto;display:grid}.invoice-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.invoice-chip{color:#44627a;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.invoice-title{color:#0f2f43;margin:6px 0 0;font-size:clamp(1.6rem,2.6vw,2.2rem)}.invoice-create-btn,.invoice-secondary-btn,.invoice-primary-btn{cursor:pointer;border:0;border-radius:10px;font-weight:700}.invoice-create-btn{color:#fff;background:linear-gradient(135deg,#0f8d8f,#1b5f98);padding:10px 16px}.invoice-primary-btn{color:#fff;background:#0f2f43;padding:10px 16px}.invoice-primary-btn:disabled{opacity:.6;cursor:not-allowed}.invoice-secondary-btn{color:#0f2f43;background:#dce8ef;padding:10px 16px}.invoice-search{background:#fff;border:1px solid #d0dce5;border-radius:12px;padding:12px 14px}.invoice-search input{color:#17384c;background:0 0;border:0;outline:0;width:100%;font-size:.98rem}.invoice-form{background:#fff;border:1px solid #d0dce5;border-radius:14px;gap:14px;padding:14px;display:grid}.invoice-form h2{color:#0f2f43;margin:0;font-size:1.1rem}.invoice-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.invoice-form-grid label,.invoice-full-width label{color:#3f5a6c;gap:6px;font-size:.86rem;font-weight:700;display:grid}.invoice-form-grid input,.invoice-form-grid select,.invoice-full-width input,.invoice-full-width textarea,.invoice-file-input{color:#17384c;background:#fcfeff;border:1px solid #c5d3de;border-radius:9px;padding:10px 11px;font-size:.95rem}.invoice-full-width textarea{resize:vertical;min-height:90px}.invoice-full-width{gap:12px;display:grid}.invoice-form-actions{flex-wrap:wrap;gap:10px;display:flex}.invoice-table-wrap{background:#fff;border:1px solid #d0dce5;border-radius:14px;overflow:hidden}.invoice-table{border-collapse:collapse;width:100%}.invoice-table th,.invoice-table td{text-align:left;border-bottom:1px solid #e6eef4;padding:12px 14px}.invoice-table th{text-transform:uppercase;letter-spacing:.05em;color:#5a7385;background:#f3f8fb;font-size:.84rem}.invoice-table td{color:#1e3d51;font-size:.95rem}.invoice-empty{color:#51697a;margin:0}.invoice-jobs{border:1px solid #dce8ef;border-radius:10px;gap:8px;max-height:180px;padding:10px;display:grid;overflow:auto}.invoice-job-item{color:#1e3d51;align-items:center;gap:8px;font-size:.9rem;display:flex}.invoice-upload-box{background:#f8fcff;border:1px dashed #89a7bc;border-radius:10px;gap:10px;padding:12px;display:grid}.invoice-upload-note{color:#526b7c;margin:0;font-size:.84rem}.invoice-archivo-link{color:#1b5f98;font-size:.88rem;font-weight:600;text-decoration:none}.invoice-archivo-link:hover{text-decoration:underline}.invoice-delete-btn{color:#b72222;cursor:pointer;background:#fce8e8;border:0;border-radius:7px;padding:5px 10px;font-size:.82rem;font-weight:700}.invoice-delete-btn:hover{background:#f5c0c0}.invoice-validate-btn{color:#1a6b55;cursor:pointer;background:#e0f5f0;border:0;border-radius:7px;margin-right:6px;padding:5px 10px;font-size:.82rem;font-weight:700}.invoice-validate-btn:hover{background:#b8ead9}.invoice-actions-cell{white-space:nowrap}.invoice-badge{border-radius:20px;padding:3px 10px;font-size:.74rem;font-weight:700;display:inline-block}.invoice-badge--pending{color:#856404;background:#fff3cd}.invoice-badge--ok{color:#155724;background:#d4edda}.invoice-row--pending td{background:#fffdf2}.invoice-uploader{color:#44627a;font-size:.82rem}.invoice-uploader em{color:#8fa5b2;font-style:normal}.invoice-uploader-date{color:#8fa5b2;font-size:.78rem;font-style:normal;display:block}.invoice-actions-cell{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.invoice-action-btn{color:#1b5f98;cursor:pointer;white-space:nowrap;background:#f0f6fb;border:1px solid #b4ccd8;border-radius:6px;padding:4px 10px;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s}.invoice-action-btn:hover{background:#daeaf6;border-color:#7aaecf}.invoice-action-btn--img{color:#276a2e;background:#f0fbf0;border-color:#b2d4a2}.invoice-action-btn--img:hover{background:#d6f0d0;border-color:#6db860}.invoice-modal-overlay{z-index:400;background:#0f1e2d8c;justify-content:center;align-items:flex-start;padding:32px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.invoice-modal{background:#fff;border-radius:16px;width:100%;max-width:640px;margin:auto;overflow:hidden;box-shadow:0 20px 60px #0f1e2d38}.invoice-modal--preview{max-width:860px}.invoice-modal--edit{flex-direction:column;max-width:760px;max-height:92vh;display:flex}.invoice-modal--edit .invoice-modal-body{flex:1;overflow-y:auto}.invoice-modal-header{background:#f3f8fb;border-bottom:1px solid #dce8ef;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.invoice-modal-header h2{color:#1e3d51;margin:0;font-size:1.05rem}.invoice-modal-close{cursor:pointer;color:#5a7385;background:0 0;border:none;border-radius:6px;padding:2px 7px;font-size:22px;line-height:1;transition:background .15s}.invoice-modal-close:hover{color:#1e3d51;background:#dce8ef}.invoice-modal-body{gap:16px;padding:20px;display:grid}.invoice-detail-grid{grid-template-columns:1fr 1fr;gap:10px 20px;display:grid}.invoice-detail-field{flex-direction:column;gap:2px;display:flex}.invoice-detail-label{text-transform:uppercase;letter-spacing:.04em;color:#5a7385;font-size:.75rem;font-weight:700}.invoice-detail-value{color:#1e3d51;font-size:.95rem}.invoice-detail-value em{color:#8fa5b2;font-size:.85rem;font-style:normal}.invoice-detail-amounts{border:1px solid #dce8ef;border-radius:10px;overflow:hidden}.invoice-detail-amount-row{color:#1e3d51;border-bottom:1px solid #eef4f8;justify-content:space-between;align-items:center;padding:9px 14px;font-size:.95rem;display:flex}.invoice-detail-amount-row:last-child{border-bottom:none}.invoice-detail-amount-row--total{color:#fff;background:#1b5f98}.invoice-detail-amount-row--total strong{font-size:1.05rem}.invoice-detail-section{flex-direction:column;gap:4px;display:flex}.invoice-detail-text{color:#1e3d51;white-space:pre-wrap;margin:0;font-size:.9rem;line-height:1.5}.invoice-preview-body{place-items:center;min-height:200px;padding:12px}.invoice-preview-img{object-fit:contain;border-radius:8px;max-width:100%;max-height:75vh;margin:0 auto;display:block}.invoice-preview-pdf{border:none;border-radius:8px;width:100%;height:75vh}.invoice-observations{color:#7a6a44;white-space:nowrap;text-overflow:ellipsis;max-width:200px;margin:3px 0 0;font-size:.78rem;font-style:italic;overflow:hidden}@media (width<=860px){.invoice-form-grid{grid-template-columns:1fr}.invoice-table-wrap{overflow-x:auto}.invoice-table{min-width:640px}}.dashboard-page{max-width:1100px;margin:0 auto;padding:30px 20px 56px}.dashboard-header{margin-bottom:36px}.dashboard-chip{letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c1f;border-radius:999px;margin:0 0 10px;padding:6px 12px;display:inline-block}.dashboard-title{font-size:32px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 8px}.dashboard-subtitle{color:var(--color-text-secondary);margin:0;font-size:15px}.dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.dashboard-card{border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;text-align:left;border-radius:18px;flex-direction:column;align-items:flex-start;gap:14px;padding:28px 24px 22px;transition:box-shadow .2s,border-color .2s,transform .15s;display:flex}.dashboard-card:hover{border-color:var(--color-primary-light);transform:translateY(-3px);box-shadow:0 10px 30px -12px #20507247,0 4px 10px -6px #329d9c4d}.dashboard-card-icon{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.dashboard-card-icon svg{width:26px;height:26px}.dashboard-card-label{font-size:20px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.dashboard-card-description{color:var(--color-text-secondary);flex:1;margin:0;font-size:14px;line-height:1.5}.dashboard-card-cta{font-size:13px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary-light);letter-spacing:.2px}@media (width<=900px){.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.dashboard-cards{grid-template-columns:1fr}.dashboard-title{font-size:26px}}.empresa-page{max-width:1000px;margin:0 auto;padding:30px 20px 56px}.empresa-header{margin-bottom:32px}.empresa-chip{letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c1f;border-radius:999px;margin:0 0 10px;padding:6px 12px;display:inline-block}.empresa-title{font-size:32px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 8px}.empresa-subtitle{color:var(--color-text-secondary);margin:0;font-size:15px}.empresa-view{flex-direction:column;gap:28px;display:flex}.empresa-identity{border:1px solid var(--color-border);background:var(--color-card);border-radius:18px;align-items:center;gap:24px;padding:28px;display:flex;box-shadow:0 6px 22px -10px #2050722e}.empresa-logo-wrap{flex-shrink:0}.empresa-logo-img{object-fit:contain;border:1px solid var(--color-border);background:var(--color-bg);border-radius:16px;width:90px;height:90px}.empresa-logo-placeholder{width:90px;height:90px}.empresa-logo-placeholder svg{border-radius:16px;width:90px;height:90px}.empresa-logo-placeholder--sm,.empresa-logo-placeholder--sm svg{width:68px;height:68px}.empresa-identity-text{flex-direction:column;gap:8px;display:flex}.empresa-nombre{font-size:26px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.empresa-nombre--empty{color:var(--color-text-secondary);font-style:italic;font-weight:400}.empresa-cif-badge{font-size:13px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#2050721a;border-radius:999px;align-self:flex-start;margin:0;padding:4px 12px;display:inline-block}.empresa-data-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.empresa-data-card{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;flex-direction:column;gap:10px;padding:22px 20px 18px;transition:box-shadow .2s;display:flex}.empresa-data-card:hover{box-shadow:0 6px 18px -8px #20507233}.empresa-data-card-title{text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);margin:0;padding-bottom:8px;font-size:11px;font-weight:700}.empresa-data-card p{color:var(--color-text-primary);margin:0;font-size:14px;line-height:1.5}.empresa-data-empty{font-style:italic;color:var(--color-text-secondary)!important}.empresa-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.empresa-list li{color:var(--color-text-primary);background:color-mix(in srgb, var(--color-primary) 5%, var(--color-bg));border-radius:8px;padding:6px 10px;font-size:14px}.empresa-list--mono li{letter-spacing:.4px;font-family:Courier New,monospace;font-size:13px}.empresa-actions{gap:12px;display:flex}.empresa-edit-btn{font-size:14px;font-weight:700;font-family:var(--font-primary);color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);cursor:pointer;border:0;border-radius:10px;padding:12px 22px;transition:filter .15s}.empresa-edit-btn:hover{filter:brightness(1.06)}.empresa-cancel-btn{border:1px solid var(--color-border);font-size:14px;font-weight:600;font-family:var(--font-primary);color:var(--color-text-primary);cursor:pointer;background:0 0;border-radius:10px;padding:12px 22px}.empresa-form{border:1px solid var(--color-border);background:var(--color-card);border-radius:18px;flex-direction:column;gap:24px;padding:28px;display:flex}.empresa-form-title{font-size:22px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.empresa-form-logo-row{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 3%, var(--color-card));border-radius:12px;align-items:center;gap:20px;padding:16px;display:flex}.empresa-form-logo-preview img{object-fit:contain;border:1px solid var(--color-border);border-radius:12px;width:68px;height:68px}.empresa-form-logo-label{color:var(--color-text-primary);margin:0 0 8px;font-size:13px;font-weight:600}.empresa-upload-btn{border:1px solid var(--color-primary);font-size:13px;font-weight:600;font-family:var(--font-primary);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 14px}.empresa-file-hidden{display:none}.empresa-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.empresa-form-field--wide{grid-column:span 2}.empresa-form-grid label,.empresa-form-field--wide{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.empresa-form-grid input{border:1px solid var(--color-border);width:100%;font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);box-sizing:border-box;border-radius:8px;padding:10px 11px}.empresa-form-grid input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.empresa-form-list-section{flex-direction:column;gap:10px;display:flex}.empresa-form-list-title{color:var(--color-text-primary);border-bottom:1px solid var(--color-border);margin:0;padding-bottom:6px;font-size:13px;font-weight:700}.empresa-form-list-row{align-items:center;gap:10px;display:flex}.empresa-form-list-row input{border:1px solid var(--color-border);font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;flex:1;padding:10px 11px}.empresa-form-list-row input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.empresa-list-remove-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;padding:8px 12px;font-size:13px;font-weight:700;line-height:1}.empresa-list-remove-btn:hover{color:#b42318;border-color:#b42318}.empresa-list-add-btn{border:1px dashed var(--color-primary-light);font-size:13px;font-weight:600;font-family:var(--font-primary);color:var(--color-primary-light);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;padding:8px 14px}.empresa-list-add-btn:hover{background:#329d9c14}.empresa-form-actions{flex-wrap:wrap;gap:12px;display:flex}@media (width<=900px){.empresa-data-grid,.empresa-form-grid{grid-template-columns:1fr 1fr}.empresa-form-field--wide{grid-column:span 2}}@media (width<=600px){.empresa-data-grid,.empresa-form-grid{grid-template-columns:1fr}.empresa-form-field--wide{grid-column:span 1}.empresa-identity{flex-direction:column;align-items:flex-start}}.config-page{max-width:1120px;margin:0 auto;padding:30px 20px 48px}.config-header{margin-bottom:22px}.config-chip{letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c1f;border-radius:999px;margin:0 0 8px;padding:6px 12px;display:inline-block}.config-title{font-size:30px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.config-subtitle{color:var(--color-text-secondary);margin:8px 0 0;font-size:15px}.config-tabs{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.config-tab{border:1px solid var(--color-border);font-size:14px;font-weight:700;font-family:var(--font-secondary);color:var(--color-text-secondary);background:color-mix(in srgb, var(--color-card) 88%, var(--color-bg));cursor:pointer;border-bottom:0;border-radius:14px 14px 0 0;padding:12px 18px;transition:transform .15s,color .15s,border-color .15s;transform:translateY(6px)}.config-tab.is-active{color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 18%, var(--color-border));background:var(--color-card);transform:translateY(0)}.config-panel{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.config-panel-main{flex-direction:column;gap:18px;display:flex}.config-section,.config-side-card{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;padding:24px}.config-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.config-section-kicker,.config-side-kicker{text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-secondary);margin:0 0 6px;font-size:11px;font-weight:700}.config-section h2,.config-side-card h3{font-size:22px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.config-section-copy,.config-side-card p{color:var(--color-text-secondary);margin:0;line-height:1.6}.config-preview-card{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-card));border:1px solid var(--color-border);text-align:right;border-radius:12px;min-width:120px;padding:12px 14px}.config-preview-card span{text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-secondary);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.config-preview-card strong{font-size:22px;font-family:var(--font-secondary);color:var(--color-primary)}.config-input-row{gap:10px;margin:18px 0 16px;display:flex}.config-input-row input{border:1px solid var(--color-border);font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;flex:1;padding:10px 11px}.config-input-row input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.config-primary-btn{font-size:14px;font-weight:700;font-family:var(--font-primary);color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);cursor:pointer;white-space:nowrap;border:0;border-radius:10px;padding:11px 16px}.config-primary-btn:disabled{opacity:.65;cursor:not-allowed}.config-chip-list{flex-wrap:wrap;gap:10px;display:flex}.config-chip-item{color:var(--color-primary);font-size:13px;font-weight:700;font-family:var(--font-secondary);background:#329d9c1f;border-radius:999px;align-items:center;gap:8px;padding:8px 10px 8px 14px;display:inline-flex}.config-chip-item--role{background:#2050721a}.config-chip-item button{width:24px;height:24px;color:var(--color-primary);font:inherit;cursor:pointer;appearance:none;background:#ffffffd1;border:1px solid #20507224;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:800;line-height:1;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.config-chip-item button:hover{color:#b42318;background:#b4231814;border-color:#b4231852;transform:translateY(-1px)}.config-chip-item button:disabled{opacity:.55;cursor:not-allowed;transform:none}.config-budget-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.config-budget-template-card{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 3%, var(--color-card));border-radius:12px;padding:14px}.config-budget-template-card--preview{margin-top:12px}.config-budget-sheet-shell{border:1px solid var(--color-border);background:linear-gradient(#2050720d,#329d9c0f);border-radius:14px;margin-top:12px;padding:18px}.config-budget-sheet-paper{background:#fff;border:1px solid #0f172a14;border-radius:8px;max-width:760px;margin:0 auto;padding:22px;box-shadow:0 16px 36px #0f172a14}.config-budget-sheet-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding-bottom:14px;display:flex}.config-budget-sheet-head strong{font-size:24px;font-family:var(--font-secondary);color:var(--color-primary);display:block}.config-budget-sheet-meta{text-align:right;color:var(--color-text-secondary);flex-direction:column;gap:4px;font-size:13px;display:flex}.config-budget-sheet-body{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.config-budget-preview-block{border:1px solid var(--color-border);background:#fff;border-radius:10px;grid-column:span 6;padding:12px;transition:transform .15s,box-shadow .15s,border-color .15s,background-color .15s}.config-budget-preview-block.is-size-half{grid-column:span 3}.config-budget-preview-block.is-size-third{grid-column:span 2}.config-budget-preview-block.is-size-half.is-align-left{grid-column:1/span 3}.config-budget-preview-block.is-size-half.is-align-right{grid-column:4/span 3}.config-budget-preview-block.is-size-third.is-align-left{grid-column:1/span 2}.config-budget-preview-block.is-size-third.is-align-right{grid-column:5/span 2}.config-budget-preview-block.is-dragging{opacity:.72;transform:rotate(1deg)}.config-budget-preview-block.is-drag-over{border-color:color-mix(in srgb, var(--color-primary) 40%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 3%, #fff);box-shadow:0 0 0 2px #329d9c1f}.config-budget-preview-block.is-drag-over-before{box-shadow:inset 0 4px 0 color-mix(in srgb, var(--color-primary) 70%, #fff), 0 0 0 2px #329d9c1f}.config-budget-preview-block.is-drag-over-after{box-shadow:inset 0 -4px 0 color-mix(in srgb, var(--color-primary) 70%, #fff), 0 0 0 2px #329d9c1f}.config-budget-preview-block-inner{padding:2px}.config-budget-preview-block--hero{background:color-mix(in srgb, var(--color-primary) 4%, #fff)}.config-budget-preview-block--logo{background:0 0}.config-budget-preview-block:has(.config-budget-preview-block--logo){background:0 0;border-color:#0000}.config-budget-preview-block--meta{background:0 0;border-color:#0000}.config-budget-preview-block--notes p{color:var(--color-text-primary);white-space:pre-wrap;margin:0;line-height:1.6}.config-budget-preview-kicker{letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:8px;font-size:11px;font-weight:800;display:inline-block}.config-budget-preview-brand{align-items:center;gap:14px;display:flex}.config-budget-preview-logo-panel{width:100%;display:block}.config-budget-preview-doc-meta{flex-direction:column;justify-content:center;gap:4px;min-height:100%;display:flex}.config-budget-preview-doc-meta strong{font-size:18px;font-family:var(--font-secondary);color:var(--color-primary);display:block}.config-budget-preview-doc-meta span{color:var(--color-text-secondary);font-size:12px;font-weight:600;display:block}.config-budget-preview-toolbar{border-bottom:1px dashed var(--color-border);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.config-budget-preview-toolbar-main{align-items:flex-start;gap:10px;display:flex}.config-budget-preview-toolbar-main strong{color:var(--color-primary);margin-bottom:4px;display:block}.config-budget-preview-toolbar-main span{color:var(--color-text-secondary);font-size:12px;display:block}.config-budget-drag-handle{border:1px dashed var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);cursor:grab;border-radius:10px;padding:8px 10px;font-size:14px;line-height:1}.config-budget-size-selector,.config-budget-alignment-selector{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.config-budget-size-pill{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.config-budget-size-pill.is-active{color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);border-color:#0000}.config-budget-helper-copy{color:var(--color-text-secondary);margin:0;line-height:1.6}.config-budget-preview-logo{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);color:#fff;width:48px;height:48px;font-size:22px;font-weight:800;font-family:var(--font-secondary);border-radius:12px;place-items:center;display:grid}.config-budget-preview-logo--large{border-radius:10px;width:100%;height:56px;font-size:28px}.config-budget-preview-brand strong,.config-budget-preview-grid strong,.config-budget-preview-totals strong{color:var(--color-primary);display:block}.config-budget-preview-brand p,.config-budget-preview-grid span,.config-budget-preview-table-head span,.config-budget-preview-table-row span,.config-budget-preview-totals span{color:var(--color-text-secondary);margin:0}.config-budget-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.config-budget-preview-grid-item--full{grid-column:1/-1}.config-budget-preview-col{flex-direction:column;gap:5px;display:flex}.config-budget-preview-col>div{align-items:baseline;gap:6px;display:flex}.config-budget-preview-col>div span{min-width:72px;color:var(--color-text-secondary);flex-shrink:0;font-size:11px}.config-budget-preview-col>div strong{color:var(--color-primary);font-size:12px}.config-budget-preview-table{border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.config-budget-preview-table-head,.config-budget-preview-table-row{grid-template-columns:54px minmax(0,1fr) 38px 62px 34px 40px 68px;gap:8px;padding:8px 10px;display:grid}.config-budget-preview-table-head{background:color-mix(in srgb, var(--color-primary) 8%, #fff);font-size:11px;font-weight:700}.config-budget-preview-table-row{border-top:1px solid var(--color-border);font-size:11px}.config-budget-preview-totals{gap:8px;display:grid}.config-budget-preview-totals>div{background:color-mix(in srgb, var(--color-primary) 3%, #fff);border-radius:10px;justify-content:space-between;gap:16px;padding:10px 12px;display:flex}.config-budget-preview-totals .is-total{background:color-mix(in srgb, var(--color-primary) 8%, #fff)}.config-budget-template-title{letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 10px;font-size:12px;font-weight:800}.config-budget-switch{color:var(--color-text-primary);align-items:center;gap:8px;font-size:14px;display:flex}.config-budget-switch+.config-budget-switch{margin-top:8px}.config-budget-field{flex-direction:column;gap:6px;display:flex}.config-budget-field+.config-budget-field{margin-top:10px}.config-budget-field span{color:var(--color-text-primary);font-size:13px;font-weight:600}.config-budget-field input,.config-budget-field textarea{border:1px solid var(--color-border);width:100%;font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);box-sizing:border-box;border-radius:8px;padding:10px 11px}.config-budget-field input:focus,.config-budget-field textarea:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.config-role-selector{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.config-role-pill{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-primary);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.config-role-pill.is-active{color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);border-color:#0000}.config-role-pill:disabled{opacity:.65;cursor:not-allowed}.config-permissions-card{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;margin-top:20px;padding:20px}.config-permissions-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;display:flex}.config-permissions-hint{text-align:right;max-width:260px;font-size:13px}.config-permissions-table-wrap{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;overflow-x:auto}.config-permissions-grid{gap:10px;min-width:720px;padding:12px;display:grid}.config-permissions-row{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;grid-template-columns:minmax(140px,1.2fr) repeat(4,minmax(78px,.7fr));align-items:center;gap:10px;padding:12px 14px;display:grid}.config-permissions-row--head{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-card));border-color:color-mix(in srgb, var(--color-primary) 24%, var(--color-border));color:var(--color-primary);font-size:13px;font-weight:700}.config-permissions-row strong{color:var(--color-text-primary);font-size:14px}.config-permission-check{color:var(--color-text-primary);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.config-permission-check input{width:16px;height:16px;accent-color:var(--color-primary-light)}.config-side-card{position:sticky;top:24px}.config-side-list{color:var(--color-text-primary);margin:14px 0 0;padding-left:18px}.config-side-list li+li{margin-top:8px}.config-status{background:#56c5961f;border-radius:10px;padding:10px 12px;font-weight:600;color:var(--color-primary)!important;margin-top:16px!important}@media (width<=900px){.config-panel{grid-template-columns:1fr}.config-side-card{position:static}}@media (width<=640px){.config-input-row{flex-direction:column}.config-budget-template-grid,.config-budget-sheet-head,.config-budget-preview-grid,.config-budget-preview-table-head,.config-budget-preview-table-row,.config-budget-sheet-body{grid-template-columns:1fr}.config-budget-preview-block,.config-budget-preview-block.is-size-half,.config-budget-preview-block.is-size-third,.config-budget-preview-block.is-size-half.is-align-left,.config-budget-preview-block.is-size-half.is-align-right,.config-budget-preview-block.is-size-third.is-align-left,.config-budget-preview-block.is-size-third.is-align-right{grid-column:span 1}.config-budget-sheet-head{display:grid}.config-budget-sheet-meta{text-align:left}.config-budget-preview-toolbar{flex-direction:column}.config-budget-size-selector,.config-budget-alignment-selector{justify-content:flex-start}.config-section-head,.config-permissions-head{flex-direction:column;align-items:flex-start}.config-permissions-hint{text-align:left;max-width:none}}.config-toggle-list{flex-direction:column;gap:12px;display:flex}.config-toggle-row{background:#f7f9fb;border:1px solid #dde5ec;border-radius:10px;justify-content:space-between;align-items:center;gap:24px;padding:16px 20px;display:flex}.config-toggle-info{flex-direction:column;gap:4px;display:flex}.config-toggle-label{color:#0f2f43;font-size:.95rem;font-weight:700}.config-toggle-desc{color:#6a8899;font-size:.83rem}.config-toggle-switch{color:#44627a;cursor:pointer;background:#e9f2f9;border:1.5px solid #c0d5e5;border-radius:20px;flex-shrink:0;padding:6px 18px;font-size:.82rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.config-toggle-switch.is-on{color:#fff;background:#205072;border-color:#205072}.config-prefix-format{flex-direction:column;gap:8px;margin-top:4px;display:flex}.config-prefix-check{color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.9rem;display:flex}.config-prefix-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.config-prefix-check--disabled{opacity:.45;cursor:not-allowed}.config-prefix-check--disabled input[type=checkbox]{cursor:not-allowed}.planes-page{max-width:1100px;margin:0 auto;padding:32px 20px 48px}.planes-header{text-align:center;margin-bottom:40px}.planes-chip{letter-spacing:.7px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c21;border-radius:999px;margin:0 0 12px;padding:5px 12px;display:inline-block}.planes-title{font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 10px;font-size:36px}.planes-subtitle{color:var(--color-text-secondary);margin:0}.planes-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:24px;display:grid}.plan-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:18px;flex-direction:column;gap:20px;height:100%;padding:28px 24px 24px;transition:box-shadow .22s,border-color .22s,transform .22s;display:flex;position:relative}.plan-card:hover{box-shadow:var(--shadow);z-index:2;transform:scale(1.04)}.plan-card.is-featured{border-color:var(--color-primary-light);box-shadow:0 0 0 2px var(--color-primary-light), 0 20px 40px -20px #329d9c59}.plan-badge{white-space:nowrap;font-size:12px;font-weight:700;font-family:var(--font-secondary);background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);color:#fff;border-radius:999px;padding:5px 14px;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.plan-card-top{flex-direction:column;gap:4px;display:flex}.plan-nombre{font-family:var(--font-secondary);color:var(--color-text-primary);margin:0;font-size:22px}.plan-tagline{color:var(--color-text-secondary);margin:0;font-size:13px}.plan-precio{align-items:baseline;gap:4px;margin-top:14px;display:flex}.plan-precio-cantidad{font-family:var(--font-secondary);color:var(--color-primary);font-size:30px;font-weight:700}.plan-precio-periodo{color:var(--color-text-secondary);font-size:14px}.plan-features{flex-direction:column;flex:1;gap:10px;margin:0;padding:0;list-style:none;display:flex}.plan-feature-item{color:var(--color-text-primary);align-items:center;gap:10px;font-size:14px;display:flex}.plan-feature-icon{background:var(--color-soft-bg);width:20px;height:20px;color:var(--color-primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.plan-subscribe-button{width:100%;font-family:var(--font-primary);cursor:pointer;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);color:#fff;border:0;border-radius:10px;padding:11px 12px;font-size:14px;font-weight:700;transition:filter .2s,transform .15s}.plan-subscribe-button:hover{filter:brightness(1.04)}.plan-subscribe-button:active{transform:translateY(1px)}.plan-subscribe-button:disabled{opacity:.75;cursor:not-allowed}@media (width<=900px){.planes-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}.planes-title{font-size:28px}}.planes-subscribe-form{background:var(--color-card);border:1px solid var(--color-border);border-radius:18px;margin-top:30px;padding:22px}.planes-subscribe-form h2{font-family:var(--font-secondary);color:var(--color-primary);margin:0}.planes-form-subtitle{color:var(--color-text-secondary);margin:8px 0 18px}.planes-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.planes-form-grid label{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.planes-form-grid input{border:1px solid var(--color-border);width:100%;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:10px;padding:10px 11px}.planes-form-grid input:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.planes-form-field--wide{grid-column:span 2}.planes-form-feedback{border-radius:10px;margin:14px 0 0;padding:10px 12px;font-size:14px}.planes-form-feedback.is-error{color:#991b1b;background:#dc26261f}.planes-form-feedback.is-success{color:#166534;background:#22c55e24}.planes-form-submit{font-size:14px;font-weight:700;font-family:var(--font-primary);color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);cursor:pointer;border:0;border-radius:10px;margin-top:14px;padding:12px 16px}.planes-form-submit:disabled{opacity:.72;cursor:not-allowed}@media (width<=900px){.planes-subscribe-form{margin-top:24px;padding:16px}.planes-form-grid{grid-template-columns:1fr}.planes-form-field--wide{grid-column:span 1}}.subscription-page{place-items:start center;min-height:100%;padding:32px 20px 48px;display:grid}.subscription-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:22px;width:min(860px,100%);padding:30px;box-shadow:0 22px 40px -28px #20507273,0 18px 32px -30px #329d9c66}.subscription-card__intro{margin-bottom:24px}.subscription-chip{letter-spacing:.8px;font-size:11px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c24;border-radius:999px;margin:0 0 14px;padding:6px 10px;display:inline-block}.subscription-card h1{font-family:var(--font-secondary);color:var(--color-primary);margin:0;font-size:34px}.subscription-subtitle{max-width:62ch;color:var(--color-text-secondary);margin:10px 0 0}.subscription-form{gap:16px;display:grid}.subscription-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.subscription-grid label{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.subscription-grid input,.subscription-grid select{border:1px solid var(--color-border);width:100%;font-family:var(--font-primary);color:var(--color-text-primary);background:var(--input-bg,var(--color-bg));border-radius:10px;padding:11px 12px;font-size:14px}.subscription-grid input:focus,.subscription-grid select:focus{border-color:var(--color-accent);outline:2px solid #56c59673}.subscription-field--wide{grid-column:span 2}.subscription-feedback{border-radius:10px;margin:0;padding:10px 12px;font-size:14px}.subscription-feedback.is-error{color:#991b1b;background:#dc26261f}.subscription-feedback.is-success{color:#166534;background:#22c55e24}.subscription-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.subscription-actions button{font-size:14px;font-weight:700;font-family:var(--font-primary);color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);cursor:pointer;border:0;border-radius:10px;padding:12px 18px}.subscription-actions button:disabled{opacity:.75;cursor:not-allowed}.subscription-back-link{color:var(--color-primary-light);font-weight:600;text-decoration:none}.subscription-back-link:hover{text-decoration:underline}@media (width<=720px){.subscription-card{border-radius:16px;padding:22px 16px}.subscription-card h1{font-size:28px}.subscription-grid{grid-template-columns:1fr}.subscription-field--wide{grid-column:span 1}}.demo-page{max-width:560px;margin:0 auto;padding:32px 20px 48px}.demo-chip{letter-spacing:.7px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c21;border-radius:999px;margin:0 0 12px;padding:5px 12px;display:inline-block}.demo-title{font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 8px;font-size:32px}.demo-subtitle{color:var(--color-text-secondary);margin:0 0 28px}.demo-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:18px;padding:28px;box-shadow:0 16px 32px -20px #20507238}.demo-card-title{font-family:var(--font-secondary);color:var(--color-text-primary);margin:0 0 6px;font-size:18px}.demo-card-desc{color:var(--color-text-secondary);margin:0 0 22px;font-size:14px}.demo-form{flex-direction:column;gap:14px;display:flex}.demo-form-row{flex-direction:column;gap:6px;display:flex}.demo-form-row label{color:var(--color-text-primary);font-size:13px;font-weight:600}.demo-form-row input,.demo-form-row select{border:1px solid var(--color-border);font-family:var(--font-primary);color:var(--color-text-primary);background:var(--input-bg,var(--color-bg));border-radius:10px;padding:10px 12px;font-size:14px}.demo-form-row input:focus,.demo-form-row select:focus{border-color:var(--color-accent);outline:2px solid #56c59673}.demo-submit{font-family:var(--font-primary);color:#fff;background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);cursor:pointer;border:0;border-radius:10px;margin-top:6px;padding:12px;font-size:14px;font-weight:700;transition:filter .2s}.demo-submit:hover{filter:brightness(1.05)}@media (width<=600px){.demo-card{border-radius:14px;padding:20px 16px}.demo-title{font-size:26px}}.recover-screen{background:radial-gradient(circle at 15% 20%, var(--login-bg-top), transparent 28%), radial-gradient(circle at 85% 80%, var(--login-bg-bottom), transparent 30%), var(--login-bg-main);place-items:center;min-height:100%;padding:20px;display:grid}.recover-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:18px;width:min(460px,100%);padding:28px;box-shadow:0 22px 38px -26px #2050727a,0 14px 20px -18px #329d9c73}.recover-chip{letter-spacing:.8px;font-size:11px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c24;border-radius:999px;margin:0 0 14px;padding:6px 10px;display:inline-block}.recover-card h1{font-family:var(--font-secondary);color:var(--color-primary);margin:0;font-size:30px}.recover-subtitle{color:var(--color-text-secondary);margin:8px 0 18px}.recover-form{gap:10px;display:grid}.recover-form label{font-size:14px;font-weight:600}.recover-form input{border:1px solid var(--color-border);width:100%;font-family:var(--font-primary);color:var(--color-text-primary);background:var(--input-bg);border-radius:10px;padding:10px 12px}.recover-form input:focus{border-color:var(--color-accent);outline:2px solid #56c59673}.recover-form button{font-weight:700;font-family:var(--font-primary);color:#fff;cursor:pointer;background:linear-gradient(90deg,#205072 0%,#329d9c 100%);border:0;border-radius:10px;margin-top:8px;padding:11px 12px}.recover-form button:disabled{opacity:.75;cursor:not-allowed}.recover-feedback{border-radius:10px;margin:0;padding:10px 12px;font-size:14px}.recover-feedback--error{color:#991b1b;background:#dc26261a}.recover-feedback--ok{color:#166534;background:#22c55e1f}.recover-back-link{color:var(--color-primary-light);margin-top:14px;font-weight:600;text-decoration:none;display:inline-block}.recover-back-link:hover{text-decoration:underline}@media (width<=600px){.recover-card{border-radius:14px;padding:22px 16px}.recover-card h1{font-size:26px}}.reset-screen{background:radial-gradient(circle at 15% 20%, var(--login-bg-top), transparent 28%), radial-gradient(circle at 85% 80%, var(--login-bg-bottom), transparent 30%), var(--login-bg-main);place-items:center;min-height:100%;padding:20px;display:grid}.reset-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:18px;width:min(460px,100%);padding:28px;box-shadow:0 22px 38px -26px #2050727a,0 14px 20px -18px #329d9c73}.reset-chip{letter-spacing:.8px;font-size:11px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c24;border-radius:999px;margin:0 0 14px;padding:6px 10px;display:inline-block}.reset-card h1{font-family:var(--font-secondary);color:var(--color-primary);margin:0;font-size:30px}.reset-subtitle{color:var(--color-text-secondary);margin:8px 0 18px}.reset-form{gap:10px;display:grid}.reset-form label{font-size:14px;font-weight:600}.reset-form input{border:1px solid var(--color-border);width:100%;font-family:var(--font-primary);color:var(--color-text-primary);background:var(--input-bg);border-radius:10px;padding:10px 12px}.reset-form input:focus{border-color:var(--color-accent);outline:2px solid #56c59673}.reset-form button{font-weight:700;font-family:var(--font-primary);color:#fff;cursor:pointer;background:linear-gradient(90deg,#205072 0%,#329d9c 100%);border:0;border-radius:10px;margin-top:8px;padding:11px 12px}.reset-form button:disabled{opacity:.75;cursor:not-allowed}.reset-help{color:var(--color-text-secondary);margin:0;font-size:13px}.reset-feedback{border-radius:10px;margin:0;padding:10px 12px;font-size:14px}.reset-feedback--error{color:#991b1b;background:#dc26261a}.reset-feedback--ok{color:#166534;background:#22c55e1f}.reset-back-link{color:var(--color-primary-light);margin-top:14px;font-weight:600;text-decoration:none;display:inline-block}.reset-back-link:hover{text-decoration:underline}@media (width<=600px){.reset-card{border-radius:14px;padding:22px 16px}.reset-card h1{font-size:26px}}.tp-page{flex-direction:column;gap:24px;max-width:860px;margin:0 auto;padding:28px 20px 56px;display:flex}.tp-loading{text-align:center;color:var(--color-text-secondary);padding:60px 20px;font-size:15px}.tp-header-card{background:linear-gradient(135deg, var(--color-primary) 0%, #329d9c 100%);color:#fff;border-radius:16px;align-items:flex-start;gap:18px;padding:20px 22px;display:flex}.tp-avatar{width:54px;height:54px;font-family:var(--font-secondary);color:#fff;background:#ffffff2e;border:2px solid #fff6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.tp-header-info{flex:1;min-width:0}.tp-header-name{font-size:18px;font-family:var(--font-secondary);color:#fff;margin:0 0 2px;font-weight:700}.tp-header-role{color:#ffffffc7;margin:0 0 6px;font-size:13px}.tp-header-meta{color:#ffffffa6;flex-wrap:wrap;gap:10px;margin:0;font-size:12px;display:flex}.tp-stats{flex-shrink:0;gap:12px;display:flex}.tp-stat{background:#ffffff21;border-radius:10px;flex-direction:column;align-items:center;min-width:70px;padding:10px 16px;display:flex}.tp-stat strong{font-size:22px;font-family:var(--font-secondary);color:#fff;font-weight:700;line-height:1}.tp-stat span{color:#ffffffb8;margin-top:3px;font-size:11px}.tp-stat--active{background:#56c59647}.tp-stat--active strong{color:#7be495}.tp-section{flex-direction:column;gap:12px;display:flex}.tp-section-title{font-size:16px;font-family:var(--font-secondary);color:var(--color-primary);margin:0;font-weight:700}.tp-section-title--active{color:#329d9c}.tp-section-header{justify-content:space-between;align-items:center;display:flex}.tp-subsection-title{letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-secondary);margin:0;font-size:13px;font-weight:800}.tp-empty{border:1px dashed var(--color-border);color:var(--color-text-secondary);text-align:center;border-radius:10px;margin:0;padding:14px 16px;font-size:14px}.tp-inventory-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.tp-inventory-item{border:1px solid var(--color-border);background:var(--color-card);border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.tp-inv-name{color:var(--color-text-primary);font-size:13px}.tp-inv-qty{color:var(--color-primary);white-space:nowrap;font-size:13px;font-weight:700}.tp-inv-qty em{color:var(--color-text-secondary);margin-left:2px;font-style:normal;font-weight:400}.tp-tasks-list{flex-direction:column;gap:8px;display:flex}.tp-tarea-card{border:1px solid var(--color-border);background:var(--color-card);border-radius:12px;align-items:center;gap:16px;padding:14px 16px;transition:border-color .2s;display:flex}.tp-tarea-card.is-active{background:color-mix(in srgb, #329d9c 5%, var(--color-card));border-color:#329d9c66}.tp-tarea-card:hover{border-color:var(--color-primary-light)}.tp-tarea-card-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tp-tarea-meta-row{align-items:center;gap:8px;display:flex}.tp-tarea-ref{font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);letter-spacing:.4px}.tp-prioridad{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.tp-prioridad-baja{color:#067647;background:#0676471a}.tp-prioridad-media{color:#b54708;background:#b547081a}.tp-prioridad-alta{color:#b42318;background:#b423181a}.tp-prioridad-urgente{color:#7f0000;background:#7f00001a}.tp-tarea-desc{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;overflow:hidden}.tp-tarea-info-row{color:var(--color-text-secondary);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.tp-back-bar{align-items:center;gap:12px;display:flex}.tp-back-btn{color:var(--color-primary);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:14px;font-weight:600}.tp-back-btn:hover{text-decoration:underline}.tp-task-ref-chip{color:var(--color-primary);font-size:12px;font-weight:700;font-family:var(--font-secondary);background:#2050721a;border-radius:999px;padding:4px 10px;display:inline-block}.tp-task-detail{flex-direction:column;gap:20px;display:flex}.tp-task-detail-header{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.tp-task-detail-titles{flex:1;min-width:0}.tp-task-title{font-size:18px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 6px}.tp-task-subtitle{color:var(--color-text-secondary);flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.tp-estado-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.tp-estado-pte_planificar{color:#7f8799;background:#7f87991f}.tp-estado-planificada{color:#b54708;background:#b547081f}.tp-estado-parada{color:#9e5600;background:#9e56001f}.tp-estado-en_proceso{color:#05c;background:#0055cc1f}.tp-obs-block{border-left:3px solid var(--color-accent);background:color-mix(in srgb, var(--color-accent) 6%, var(--color-card));border-radius:0 8px 8px 0;padding:12px 14px}.tp-obs-label{letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 4px;font-size:11px;font-weight:700}.tp-obs-text{color:var(--color-text-primary);margin:0;font-size:14px}.tp-jornada-card{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;flex-direction:column;align-items:center;gap:12px;padding:20px 22px;display:flex}.tp-jornada-top{justify-content:space-between;align-items:center;width:100%;display:flex}.tp-jornada-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:13px;font-weight:700}.tp-jornada-date{color:var(--color-text-secondary);font-size:13px}.tp-jornada-timer{font-size:42px;font-family:var(--font-secondary);letter-spacing:2px;color:var(--color-primary);font-variant-numeric:tabular-nums;font-weight:700}.tp-jornada-status{color:var(--color-text-secondary);background:var(--color-soft-bg,#2050720f);border-radius:999px;padding:4px 14px;font-size:13px;font-weight:600}.tp-jornada-status.is-active{color:#067647;background:#0676471a}.tp-jornada-status.is-paused{color:#b54708;background:#b547081a}.tp-jornada-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tp-jornadas-list{border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.tp-jornada-row{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex}.tp-jornada-row:last-of-type{border-bottom:0}.tp-jr-date{color:var(--color-text-secondary);white-space:nowrap;font-weight:600}.tp-jr-horas{color:var(--color-primary);white-space:nowrap;font-weight:700}.tp-jr-desc{color:var(--color-text-primary);flex:1}.tp-jr-conf{color:#067647;white-space:nowrap;font-size:11px;font-weight:700}.tp-jornada-total{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-card));color:var(--color-text-secondary);padding:10px 14px;font-size:13px}.tp-jornada-total strong{color:var(--color-primary)}.tp-add-mat-form{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 4%, var(--color-card));border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px 14px;display:flex}.tp-add-mat-form select{border:1px solid var(--color-border);min-width:200px;font-size:13px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;flex:1;padding:9px 10px}.tp-add-mat-qty{flex-direction:column;gap:4px;display:flex}.tp-add-mat-qty label{text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-secondary);font-size:11px;font-weight:700}.tp-add-mat-qty input{border:1px solid var(--color-border);width:80px;font-size:13px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);border-radius:8px;padding:9px 10px}.tp-mat-list{flex-direction:column;gap:6px;display:flex}.tp-mat-row{border:1px solid var(--color-border);background:var(--color-card);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.tp-mat-name{color:var(--color-text-primary);flex:1;font-size:14px}.tp-mat-qty{color:var(--color-primary);white-space:nowrap;font-size:13px;font-weight:600}.tp-mat-remove{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 6px;font-size:18px;line-height:1}.tp-mat-remove:hover{color:#b42318;background:#b4231814}.tp-close-task-bar{border-top:1px solid var(--color-border);justify-content:flex-end;padding-top:8px;display:flex}.tp-btn{font-size:14px;font-weight:700;font-family:var(--font-primary);cursor:pointer;white-space:nowrap;border:0;border-radius:10px;justify-content:center;align-items:center;padding:11px 18px;transition:opacity .18s,filter .18s;display:inline-flex}.tp-btn:disabled{opacity:.45;cursor:not-allowed}.tp-btn--start{background:linear-gradient(90deg, var(--color-primary), #329d9c);color:#fff}.tp-btn--pause{color:#b54708;background:#b547081f;border:1px solid #b5470840}.tp-btn--resume{color:#05c;background:#0055cc1a;border:1px solid #0055cc40}.tp-btn--end{color:var(--color-primary);background:#2050721a;border:1px solid #20507240}.tp-btn--open{background:var(--color-primary);color:#fff;border-radius:8px;flex-shrink:0;padding:9px 16px;font-size:13px}.tp-btn--sm{background:var(--color-primary);color:#fff;border-radius:8px;padding:9px 14px;font-size:13px}.tp-btn--primary{background:linear-gradient(90deg, var(--color-primary), #329d9c);color:#fff}.tp-btn--ghost{color:var(--color-primary);background:0 0;border:1px solid #2050724d}.tp-btn--close,.tp-btn--danger{color:#fff;background:#b42318}.tp-btn--lg{padding:13px 28px;font-size:15px}.tp-btn:hover:not(:disabled){filter:brightness(1.08)}.tp-btn-link{color:var(--color-primary-light,#329d9c);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:4px 0;font-size:13px;font-weight:600;text-decoration:underline}.tp-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:900;background:#1118278c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tp-modal{background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:480px;padding:28px;display:flex;box-shadow:0 24px 48px -12px #1118274d}.tp-modal-title{font-size:18px;font-family:var(--font-secondary);color:var(--color-primary);margin:0}.tp-modal-subtitle{color:var(--color-text-secondary);margin:0;font-size:14px}.tp-modal-field{color:var(--color-text-primary);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.tp-modal-input,.tp-modal-textarea{border:1px solid var(--color-border);font-size:14px;font-family:var(--font-primary);background:var(--input-bg,var(--color-bg));color:var(--color-text-primary);box-sizing:border-box;border-radius:8px;width:100%;padding:10px 11px}.tp-modal-textarea{resize:vertical;min-height:80px}.tp-modal-input:focus,.tp-modal-textarea:focus{border-color:var(--color-accent);outline:2px solid #56c59659}.tp-modal-actions{justify-content:flex-end;gap:10px;display:flex}.tp-confirm-popup{background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:420px;padding:28px;display:flex;box-shadow:0 24px 48px -12px #11182759}.tp-confirm-popup h3{font-size:17px;font-family:var(--font-secondary);color:#b42318;margin:0}.tp-confirm-popup p{color:var(--color-text-primary);margin:0;font-size:14px;line-height:1.5}.tp-conformidades{flex-direction:column;gap:12px;display:flex}.tp-conformidad-check{cursor:pointer;border:1px solid var(--color-border);background:var(--color-card);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;transition:border-color .2s;display:flex}.tp-conformidad-check:has(input:checked){background:color-mix(in srgb, #56c596 6%, var(--color-card));border-color:#56c59680}.tp-conformidad-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0;margin-top:1px}.tp-conformidad-check span{color:var(--color-text-primary);font-size:13px;line-height:1.5}.tp-cierre-wrap{flex-direction:column;gap:20px;display:flex}.tp-cierre-header{background:#b423180a;border:1px solid #b4231833;border-radius:12px;padding:16px 18px}.tp-cierre-title{font-size:20px;font-family:var(--font-secondary);color:#b42318;margin:0 0 4px}.tp-cierre-subtitle{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.tp-cierre-section{border:1px solid var(--color-border);background:var(--color-card);border-radius:12px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.tp-cierre-section-title{letter-spacing:.6px;text-transform:uppercase;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);margin:0;padding-bottom:8px;font-size:12px;font-weight:800}.tp-cierre-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.tp-cierre-field{flex-direction:column;gap:4px;display:flex}.tp-cierre-field label{letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-secondary);font-size:11px;font-weight:700}.tp-cierre-field p{color:var(--color-text-primary);margin:0;font-size:14px;font-weight:500}.tp-cierre-field--full{grid-column:1/-1}.tp-cierre-mat-list{flex-direction:column;gap:6px;display:flex}.tp-cierre-mat-row{border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.tp-cierre-mat-row span:last-child{color:var(--color-primary);font-weight:600}.tp-checklist{flex-direction:column;gap:8px;display:flex}.tp-checklist-item{border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;transition:border-color .2s,background .2s;display:flex}.tp-checklist-item.is-checked{background:color-mix(in srgb, #56c596 7%, var(--color-bg));border-color:#56c59673}.tp-checklist-item input[type=checkbox]{width:17px;height:17px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0;margin-top:1px}.tp-checklist-item span{color:var(--color-text-primary);font-size:13px;line-height:1.5}.tp-checklist-item.is-checked span{color:var(--color-text-secondary);-webkit-text-decoration:line-through #56c59699;text-decoration:line-through #56c59699}.tp-cierre-actions{flex-direction:column;align-items:flex-end;gap:10px;padding-top:8px;display:flex}.tp-cierre-hint{color:var(--color-text-secondary);text-align:right;max-width:380px;margin:0;font-size:12px;line-height:1.5}@media (width<=680px){.tp-header-card{flex-direction:column;align-items:flex-start}.tp-stats{width:100%}.tp-stat{flex:1}.tp-cierre-grid{grid-template-columns:1fr}.tp-cierre-field--full{grid-column:1}.tp-inventory-grid{grid-template-columns:1fr}.tp-jornada-timer{font-size:32px}.tp-task-detail-header,.tp-add-mat-form{flex-direction:column}.tp-add-mat-qty input{width:100%}}.tp-modal--sig{max-width:580px}.tp-sig-steps{align-items:center;gap:0;margin-bottom:20px;display:flex}.tp-sig-step{color:var(--color-text-secondary);flex:1;align-items:center;gap:6px;font-size:12px;display:flex;position:relative}.tp-sig-step:not(:last-child):after{content:"";background:var(--color-border);flex:1;height:2px;margin:0 6px}.tp-sig-step.is-active .tp-sig-step-num{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.tp-sig-step.is-active .tp-sig-step-label{color:var(--color-primary);font-weight:700}.tp-sig-step.is-done .tp-sig-step-num{background:var(--color-success,#067647);color:#fff;border-color:var(--color-success,#067647);font-size:12px}.tp-sig-step-num{border:2px solid var(--color-border);width:24px;height:24px;color:var(--color-text-secondary);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.tp-sig-step-label{white-space:nowrap;font-size:11px}.tp-sig-canvas-actions{justify-content:flex-end;margin-top:6px;margin-bottom:4px;display:flex}.tp-jr-firmas{gap:4px;margin-left:auto;display:flex}.tp-jr-firma-badge{white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.tp-jr-firma-badge--t{color:#329d9c;background:#329d9c1f}.tp-jr-firma-badge--c{color:#067647;background:#0676471f}.tp-panel-title-bar{border-bottom:2px solid #e8f0f5;padding-bottom:4px}.tp-panel-main-title{color:#0f2f43;letter-spacing:-.02em;margin:0;font-size:clamp(1.3rem,2vw,1.6rem);font-weight:800}.tp-section--actions{background:#f5fafe;border:1px solid #d0e8f5;border-radius:14px;padding:18px 20px}.tp-quick-actions{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.tp-quick-action-btn{cursor:pointer;background:#fff;border:1.5px solid #b8d8ee;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;min-width:180px;padding:16px 20px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.tp-quick-action-btn:hover{background:#f0f7ff;border-color:#205072;box-shadow:0 2px 12px #2050721a}.tp-qa-icon{font-size:1.6rem;line-height:1}.tp-qa-label{color:#205072;font-size:.95rem;font-weight:700}.tp-qa-desc{color:#6a8899;font-size:.78rem}.tp-modal--sf{max-width:520px}.tp-sf-photo-area{margin:12px 0}.tp-sf-upload-btn{cursor:pointer;color:#205072;background:#f5fafe;border:2px dashed #92c0e0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;padding:32px 20px;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s;display:flex}.tp-sf-upload-btn:hover{background:#e8f3fb;border-color:#205072}.tp-sf-camera-icon{font-size:2.2rem}.tp-sf-preview{flex-direction:column;align-items:center;gap:10px;display:flex}.tp-sf-preview-img{object-fit:contain;border:1px solid #d0e5f5;border-radius:10px;width:100%;max-height:240px}.tp-sf-retake{align-self:flex-start}.tp-sf-warn{color:#7a5c00;background:#fff8e1;border-left:3px solid #f59e0b;border-radius:8px;margin:6px 0;padding:10px 14px;font-size:.84rem}.tp-sf-error{color:#b72222;margin:6px 0;font-size:.85rem}.tp-sf-success{text-align:center;color:#1a6b55;flex-direction:column;align-items:center;gap:18px;padding:20px 0;font-size:1rem;font-weight:600;display:flex}.tp-section--agenda{gap:0}.tp-section-title--agenda{margin-bottom:14px}.tp-agenda-day{border:1px solid var(--color-border,#e5e7eb);border-radius:14px;margin-bottom:16px;overflow:hidden}.tp-agenda-day.is-today{border-color:#329d9c;box-shadow:0 0 0 2px #329d9c1f}.tp-agenda-day-header{background:color-mix(in srgb, var(--color-primary,#205072) 6%, var(--color-card,#fff));border-bottom:1px solid var(--color-border,#e5e7eb);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.tp-agenda-day.is-today .tp-agenda-day-header{background:linear-gradient(90deg,#329d9c26 0%,#329d9c0d 100%);border-bottom-color:#329d9c4d}.tp-agenda-day-label{font-size:14px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary,#205072)}.tp-agenda-day.is-today .tp-agenda-day-label{color:#329d9c}.tp-agenda-day-count{color:var(--color-text-secondary,#6b7280);font-size:12px;font-weight:500}.tp-agenda-items{flex-direction:column;display:flex}.tp-agenda-item{background:var(--color-card,#fff);border:0;border-bottom:1px solid var(--color-border,#e5e7eb);text-align:left;cursor:pointer;align-items:center;gap:14px;width:100%;padding:13px 16px;transition:background .15s;display:flex}.tp-agenda-item:last-child{border-bottom:0}.tp-agenda-item:hover{background:color-mix(in srgb, var(--color-primary,#205072) 4%, var(--color-card,#fff))}.tp-agenda-item--urgente{border-left:3px solid #dc2626}.tp-agenda-item--alta{border-left:3px solid #f59e0b}.tp-agenda-item--media{border-left:3px solid #3b82f6}.tp-agenda-item--baja{border-left:3px solid #d1d5db}.tp-agenda-time{width:48px;font-size:13px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary,#205072);text-align:center;background:color-mix(in srgb, var(--color-primary,#205072) 8%, var(--color-card,#fff));border-radius:8px;flex-shrink:0;padding:5px 4px}.tp-agenda-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.tp-agenda-title{color:var(--color-text-primary,#111827);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:600;overflow:hidden}.tp-agenda-client,.tp-agenda-address{color:var(--color-text-secondary,#6b7280);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;overflow:hidden}.tp-agenda-meta{align-items:center;gap:6px;margin-top:2px;display:flex}.tp-agenda-hours{color:var(--color-text-secondary,#6b7280);font-size:11px;font-weight:500}.tp-agenda-arrow{color:var(--color-border,#d1d5db);flex-shrink:0;font-size:18px;line-height:1}.estudios-hub{max-width:1100px;margin:0 auto;padding:2rem}.estudios-hub h1{color:var(--text-primary,#1a1a2e);margin-bottom:.4rem;font-size:1.6rem;font-weight:700}.estudios-hub .page-subtitle{color:var(--text-secondary,#6b7280);margin-bottom:2rem;font-size:.95rem}.estudios-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.estudio-card{cursor:pointer;color:inherit;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:1rem;padding:1.75rem;text-decoration:none;transition:box-shadow .18s,transform .18s,border-color .18s;display:flex}.estudio-card:hover{border-color:#56c596;transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.estudio-card-icon{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.6rem;display:flex}.estudio-card-title{color:#1a1a2e;font-size:1.1rem;font-weight:700}.estudio-card-desc{color:#6b7280;font-size:.875rem;line-height:1.5}.estudios-page{max-width:1200px;margin:0 auto;padding:1.5rem 2rem}.estudios-header{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.estudios-header h1{color:#1a1a2e;flex:1;font-size:1.5rem;font-weight:700}.estudios-back-btn{cursor:pointer;color:#374151;background:0 0;border:1px solid #e5e7eb;border-radius:8px;padding:.45rem .9rem;font-size:.85rem;transition:background .15s}.estudios-back-btn:hover{background:#f3f4f6}.estudios-create-btn{color:#fff;cursor:pointer;background:#56c596;border:none;border-radius:8px;padding:.55rem 1.2rem;font-size:.875rem;font-weight:600;transition:background .15s}.estudios-create-btn:hover{background:#3daf7f}.estudios-filters{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem;margin-bottom:1rem;display:grid}.estudios-filters input,.estudios-filters select{color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:8px;outline:none;padding:.45rem .75rem;font-size:.85rem;transition:border-color .15s}.estudios-filters input:focus,.estudios-filters select:focus{border-color:#56c596}.estudios-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.estudios-table{border-collapse:collapse;width:100%;font-size:.875rem}.estudios-table thead tr{background:#f9fafb;border-bottom:1px solid #e5e7eb}.estudios-table th{text-align:left;color:#374151;white-space:nowrap;padding:.8rem 1rem;font-weight:600}.estudios-table td{color:#374151;vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.estudios-table tbody tr:last-child td{border-bottom:none}.estudios-table tbody tr:hover td{background:#f9fafb}.estado-badge{border-radius:20px;padding:.25rem .65rem;font-size:.78rem;font-weight:600;display:inline-block}.estado-en_proceso{color:#92400e;background:#fef3c7}.estado-enviado{color:#1e3a8a;background:#dbeafe}.estado-aceptado{color:#065f46;background:#d1fae5}.estado-rechazado{color:#991b1b;background:#fee2e2}.action-btn{cursor:pointer;color:#374151;background:0 0;border:none;border-radius:6px;padding:.3rem .4rem;font-size:1rem;transition:background .15s}.action-btn:hover{background:#f3f4f6}.action-btn.del:hover{color:#dc2626;background:#fee2e2}.estudios-empty{text-align:center;color:#9ca3af;padding:3rem;font-size:.95rem}.modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:flex-start;padding:1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-box{background:#fff;border-radius:16px;width:100%;max-width:860px;margin:auto;padding:2rem;box-shadow:0 20px 60px #0003}.modal-box h2{color:#1a1a2e;border-bottom:1px solid #f3f4f6;margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.3rem;font-weight:700}.modal-section-title{text-transform:uppercase;letter-spacing:.06em;color:#56c596;border-bottom:1px solid #f0fdf4;margin:1.5rem 0 .75rem;padding-bottom:.35rem;font-size:.8rem;font-weight:700}.form-grid{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.form-grid.cols-1{grid-template-columns:1fr}.form-full{grid-column:1/-1}.form-group{flex-direction:column;gap:.3rem;display:flex}.form-group label{color:#374151;font-size:.8rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:8px;outline:none;padding:.55rem .75rem;font-size:.875rem;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#56c596}.form-group input[readonly],.form-group input.auto{color:#6b7280;background:#f9fafb}.form-group textarea{resize:vertical;min-height:80px}.pvgis-btn{color:#065f46;cursor:pointer;background:#f0fdf4;border:1px solid #56c596;border-radius:8px;margin-top:.75rem;padding:.55rem 1rem;font-size:.85rem;font-weight:600;transition:background .15s}.pvgis-btn:hover{background:#dcfce7}.pvgis-btn:disabled{opacity:.6;cursor:not-allowed}.pvgis-status{color:#6b7280;margin-top:.4rem;font-size:.8rem}.checkbox-group{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.checkbox-group input[type=checkbox]{accent-color:#56c596;width:16px;height:16px}.modal-actions{border-top:1px solid #f3f4f6;justify-content:flex-end;gap:.75rem;margin-top:2rem;padding-top:1rem;display:flex}.btn-cancel{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;padding:.6rem 1.4rem;font-size:.875rem;font-weight:600}.btn-cancel:hover{background:#e5e7eb}.btn-save{color:#fff;cursor:pointer;background:#56c596;border:none;border-radius:8px;padding:.6rem 1.6rem;font-size:.875rem;font-weight:600;transition:background .15s}.btn-save:hover{background:#3daf7f}.btn-save:disabled{opacity:.6;cursor:not-allowed}.estudio-detail-modal .form-group input,.estudio-detail-modal .form-group select,.estudio-detail-modal .form-group textarea{cursor:default;background:#f9fafb}@media (width<=640px){.form-grid,.form-grid.cols-3{grid-template-columns:1fr}.modal-box{padding:1.25rem}.estudios-page{padding:1rem}}.legal-page{max-width:820px;margin:0 auto;padding:32px 20px 64px}.legal-chip{letter-spacing:.5px;font-size:12px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);background:#329d9c1f;border-radius:999px;margin:0 0 10px;padding:5px 12px;display:inline-block}.legal-title{font-size:28px;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 8px;line-height:1.2}.legal-updated{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);margin:0 0 32px;padding-bottom:24px;font-size:13px}.legal-intro{color:var(--color-text-primary);border-left:3px solid var(--color-primary-light,#329d9c);background:color-mix(in srgb, #329d9c 5%, var(--color-card));border-radius:0 8px 8px 0;margin:0 0 32px;padding:16px 20px;font-size:15px;line-height:1.7}.legal-section{margin-bottom:32px}.legal-section h2{font-size:17px;font-family:var(--font-secondary);color:var(--color-primary);border-bottom:1px solid var(--color-border);margin:0 0 12px;padding-bottom:8px}.legal-section h3{color:var(--color-text-primary);margin:16px 0 8px;font-size:14px;font-weight:700}.legal-section p{color:var(--color-text-primary);margin:0 0 10px;font-size:14px;line-height:1.7}.legal-section p:last-child{margin-bottom:0}.legal-section ul,.legal-section ol{margin:0 0 10px;padding-left:22px}.legal-section li{color:var(--color-text-primary);margin-bottom:4px;font-size:14px;line-height:1.7}.legal-section strong{color:var(--color-text-primary);font-weight:700}.legal-contact-box{border:1px solid var(--color-border);background:var(--color-card);border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:12px;padding:16px;display:grid}.legal-contact-item{flex-direction:column;gap:2px;display:flex}.legal-contact-item span:first-child{letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-secondary);font-size:11px;font-weight:700}.legal-contact-item span:last-child{color:var(--color-text-primary);font-size:14px;font-weight:500}.legal-rights-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:12px;display:grid}.legal-right-card{border:1px solid var(--color-border);background:var(--color-card);border-radius:10px;padding:12px 14px}.legal-right-card strong{color:var(--color-primary);margin-bottom:4px;font-size:13px;font-weight:700;display:block}.legal-right-card span{color:var(--color-text-secondary);font-size:12px;line-height:1.5}.legal-cookies-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:13px}.legal-cookies-table th{text-align:left;background:color-mix(in srgb, var(--color-primary) 8%, var(--color-card));color:var(--color-primary);border-bottom:1px solid var(--color-border);padding:10px 12px;font-weight:700}.legal-cookies-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);vertical-align:top;padding:9px 12px}.legal-cookies-table tr:last-child td{border-bottom:0}.legal-cookies-table tr:nth-child(2n) td{background:color-mix(in srgb, var(--color-primary) 3%, var(--color-card))}.legal-highlight{background:color-mix(in srgb, #cff4d2 40%, var(--color-card));border-left:3px solid #56c596;border-radius:0 8px 8px 0;margin:12px 0;padding:14px 16px}.legal-highlight p{color:var(--color-text-primary);margin:0;font-size:13px;line-height:1.6}.legal-placeholder{color:#b54708;font-size:12px;font-style:italic}@media (width<=600px){.legal-title{font-size:22px}.legal-rights-grid,.legal-contact-box{grid-template-columns:1fr}.legal-cookies-table{display:block;overflow-x:auto}}.navbar{justify-content:space-between;align-items:center;gap:16px;height:100%;padding:0 24px;transition:color .28s;display:flex}.navbar-search{border:1px solid var(--color-border);background:var(--color-bg);border-radius:999px;align-items:center;gap:10px;width:min(560px,100%);padding:10px 14px;transition:border-color .28s,background-color .28s;display:flex}.navbar-search-icon{font-size:14px}.navbar-search input{width:100%;font-family:var(--font-primary);color:var(--color-text-primary);background:0 0;border:0;outline:0;transition:color .28s}.navbar-search-placeholder{flex:1;min-width:120px}.navbar-user{align-items:center;gap:10px;min-width:max-content;display:flex}.navbar-right{align-items:center;gap:12px;display:flex}.navbar-guest-actions{align-items:center;gap:8px;display:flex}.navbar-user-actions{align-items:center;gap:10px;display:flex}.navbar-user-meta{flex-direction:column;align-items:flex-start;gap:2px;display:inline-flex}.navbar-greeting{border:1px solid color-mix(in srgb, var(--color-primary-light) 22%, var(--color-border));background:color-mix(in srgb, var(--color-card) 88%, var(--color-primary-light));color:var(--color-primary);font-family:var(--font-primary);white-space:nowrap;border-radius:999px;align-items:center;padding:8px 12px;font-size:13px;font-weight:600;transition:border-color .28s,background-color .28s,color .28s;display:inline-flex}.navbar-guest-link{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-text-primary);height:36px;font-family:var(--font-primary);cursor:pointer;border-radius:999px;align-items:center;padding:0 12px;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .28s,background-color .28s,color .28s;display:inline-flex}.navbar-guest-link.is-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.navbar-logout-button{background:0 0}.theme-toggle{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-text-primary);height:40px;font-family:var(--font-primary);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-weight:600;transition:background-color .28s,border-color .28s,color .28s,transform .15s;display:inline-flex}.theme-toggle:hover{border-color:var(--color-primary-light);background:color-mix(in srgb, var(--color-card) 82%, var(--color-primary-light))}.theme-toggle:active{transform:translateY(1px)}.theme-toggle-label{font-size:13px}.navbar-avatar{object-fit:cover;border:2px solid var(--color-primary-light);border-radius:50%;width:42px;height:42px}.navbar-user-info{text-align:left}.navbar-user-name{color:var(--color-text-primary);margin:0;font-weight:600;transition:color .28s}.navbar-user-role{color:var(--color-text-secondary);letter-spacing:.2px;margin:0;padding-left:12px;font-size:12px;font-weight:700;transition:color .28s}@media (prefers-reduced-motion:reduce){.navbar,.navbar-search,.navbar-search input,.navbar-greeting,.navbar-guest-link,.theme-toggle,.navbar-user-name,.navbar-user-role{transition:none!important}}@media (width<=640px){.navbar{gap:10px;padding:0 12px}.theme-toggle{justify-content:center;width:40px;padding:0}.theme-toggle-label{display:none}.navbar-guest-actions{gap:6px}.navbar-guest-link{padding:0 10px;font-size:12px}.navbar-user-role,.navbar-user-meta,.navbar-greeting{display:none}}.sidebar{color:#f7fbff;flex-direction:column;height:100%;padding:20px 16px;transition:color .28s;display:flex}.sidebar-branding{color:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:12px;margin-bottom:26px;margin-left:-6px;padding:4px 6px;text-decoration:none;transition:background-color .28s,color .28s;display:flex}.sidebar-branding:hover{background:#ffffff14}.sidebar-logo{flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.sidebar-title{font-family:var(--font-secondary);letter-spacing:-.5px;margin:0;font-size:15px;font-weight:800}.sidebar-subtitle{opacity:.85;margin:2px 0 0;font-size:12px}.sidebar-menu{flex-direction:column;gap:8px;display:flex}.sidebar-item{text-align:left;width:100%;color:inherit;font-family:var(--font-primary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:10px 12px;font-size:14px;text-decoration:none;transition:background-color .28s,border-color .28s,color .28s;display:block}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar-branding,.sidebar-item{transition:none!important}}.sidebar-item:hover{background:#ffffff14;border-color:#ffffff2e}.sidebar-item.is-active{background:#56c5962e;border-color:#56c5968c}@media (width<=900px){.sidebar{padding:14px}.sidebar-menu{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.footer-content{height:100%;color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:10px;padding:0 24px;font-size:13px;transition:color .28s;display:flex}.footer-brand{font-family:var(--font-secondary);letter-spacing:-.3px;color:var(--color-primary);font-size:14px;font-weight:700;transition:color .28s}.footer-legal-nav{align-items:center;gap:16px;display:flex}.footer-legal-nav a{color:var(--color-text-secondary);font-size:12px;text-decoration:none;transition:color .18s}.footer-legal-nav a:hover{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}@media (prefers-reduced-motion:reduce){.footer-content{transition:none!important}}@media (width<=640px){.footer-content{padding:0 12px;font-size:12px}}.cookie-banner{background:var(--color-card);border:1px solid var(--color-border);z-index:800;border-radius:16px;width:calc(100% - 48px);max-width:860px;padding:20px 22px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 16px 48px -12px #11182747,0 0 0 1px #20507214}.cookie-banner-main{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.cookie-banner-text{flex:1;min-width:220px}.cookie-banner-title{font-size:14px;font-weight:700;font-family:var(--font-secondary);color:var(--color-primary);margin:0 0 4px}.cookie-banner-desc{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.cookie-banner-link{color:var(--color-primary-light,#329d9c);text-underline-offset:2px;text-decoration:underline}.cookie-banner-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.cookie-banner-config{flex-direction:column;gap:14px;display:flex}.cookie-config-item{border:1px solid var(--color-border);background:var(--color-bg);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 14px;display:flex}.cookie-config-info{flex-direction:column;flex:1;gap:3px;display:flex}.cookie-config-info strong{color:var(--color-text-primary);font-size:13px;font-weight:700}.cookie-config-info span{color:var(--color-text-secondary);font-size:12px;line-height:1.5}.cookie-config-always{color:#067647;white-space:nowrap;background:#0676471a;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600}.cookie-toggle{cursor:pointer;flex-shrink:0;width:40px;height:22px;display:inline-block;position:relative}.cookie-toggle input{opacity:0;width:0;height:0;position:absolute}.cookie-toggle-slider{background:var(--color-border);border-radius:999px;transition:background .2s;position:absolute;inset:0}.cookie-toggle-slider:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0000002e}.cookie-toggle input:checked+.cookie-toggle-slider{background:#329d9c}.cookie-toggle input:checked+.cookie-toggle-slider:before{transform:translate(18px)}.cookie-btn{font-size:13px;font-weight:700;font-family:var(--font-primary);cursor:pointer;white-space:nowrap;border:0;border-radius:8px;padding:9px 16px;transition:opacity .18s}.cookie-btn--accept{background:linear-gradient(90deg, var(--color-primary), #329d9c);color:#fff}.cookie-btn--essential{color:var(--color-primary);background:0 0;border:1px solid #2050724d}.cookie-btn--config{color:var(--color-text-secondary);border:1px solid var(--color-border);background:0 0}.cookie-btn:hover{opacity:.85}@media (width<=600px){.cookie-banner{width:auto;bottom:16px;left:16px;right:16px;transform:none}.cookie-banner-main{flex-direction:column;align-items:flex-start}.cookie-banner-actions{justify-content:flex-start;width:100%}}.app-frame{background:var(--color-bg);height:100vh;color:var(--color-text-primary);grid-template-columns:280px 1fr;transition:background-color .28s,color .28s;display:grid;overflow:hidden}.logout-toast{z-index:1200;color:#14532d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(135deg,#dcfce7f2 0%,#bbf7d0eb 100%);border:1px solid #22c55e59;border-radius:12px;flex-direction:column;gap:4px;min-width:260px;max-width:min(420px,100vw - 32px);padding:12px 14px;display:flex;position:fixed;top:18px;right:20px;box-shadow:0 14px 32px -20px #1665348c,0 8px 18px -16px #16653473}.logout-toast strong{font-size:14px;font-family:var(--font-secondary)}.logout-toast span{color:#166534;font-size:13px}.app-sidebar{border-right:1px solid var(--color-border);background:linear-gradient(180deg, var(--sidebar-bg-start) 0%, var(--sidebar-bg-end) 100%);height:100vh;transition:border-color .28s,background .28s;overflow-y:auto}.app-main-shell{grid-template-rows:78px 1fr 60px;height:100vh;display:grid;overflow:hidden}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-card);transition:border-color .28s,background-color .28s}.app-content{scrollbar-gutter:stable;background:radial-gradient(circle at top right, var(--content-glow-top), transparent 35%), radial-gradient(circle at bottom left, var(--content-glow-bottom), transparent 30%), var(--color-bg);padding:24px;transition:background .28s;overflow-y:auto}.app-footer{border-top:1px solid var(--color-border);background:var(--color-card);transition:border-color .28s,background-color .28s}@media (prefers-reduced-motion:reduce){.app-frame,.app-sidebar,.app-header,.app-content,.app-footer{transition:none!important}}@media (width<=900px){.app-frame{grid-template-columns:1fr;height:auto;overflow:visible}.logout-toast{max-width:none;top:10px;left:12px;right:12px}.app-sidebar{border-right:0;border-bottom:1px solid var(--color-border);height:auto;overflow-y:visible}.app-main-shell{grid-template-rows:72px 1fr 56px;height:auto;overflow:visible}.app-content{padding:16px;overflow-y:visible}}
