@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Outfit:wght@400;500;600&display=swap";.portal-cedula{background:radial-gradient(80% 40% at 50% -10%,#5b8a682e,#0000 55%),linear-gradient(#f7f4ec 0%,#efe9dc 100%);align-content:start;justify-items:center;gap:1rem;min-height:100vh;padding:1.5rem 1.15rem 4.5rem;display:grid}.portal-cedula__logo{object-fit:contain;background:var(--color-surface);width:64px;height:64px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);border-radius:50%}.portal-cedula__sheet{gap:.9rem;width:min(640px,100%);display:grid}.portal-cedula__hero{text-align:center;padding:.5rem .25rem .25rem}.portal-cedula__hero h1{font-family:var(--font-display);letter-spacing:-.02em;word-break:break-word;margin:.15rem 0;font-size:clamp(1.55rem,5vw,2rem)}.portal-cedula__estado{border-radius:var(--radius-pill);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;background:var(--color-primary-soft);color:var(--color-primary-dark);margin-top:.55rem;padding:.2rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex}.portal-cedula__estado.is-warn{color:var(--color-warning);background:#b07a2224}.portal-cedula__estado.is-danger{color:var(--color-danger);background:#a8443a1f}.portal-cedula__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem 1.15rem}.portal-cedula__card h2{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary-dark);margin:0 0 .55rem;font-size:.78rem;font-weight:700}.portal-cedula__card p{margin:0;line-height:1.45}.portal-cedula__meta{gap:.65rem;display:grid}.portal-cedula__meta-row{grid-template-columns:7.5rem 1fr;gap:.5rem;font-size:.95rem;display:grid}.portal-cedula__meta-row dt{color:var(--color-ink-muted);font-family:var(--font-display);margin:0;font-size:.82rem}.portal-cedula__meta-row dd{margin:0}.portal-cedula__lineas{gap:.55rem;margin:.65rem 0 0;padding:0;list-style:none;display:grid}.portal-cedula__linea{border-radius:var(--radius-sm);background:var(--color-surface-2);border:1px solid #d4c8b4a6;gap:.15rem;padding:.7rem .8rem;display:grid}.portal-cedula__linea-title{font-family:var(--font-display);font-weight:600}.portal-cedula__linea-sub{color:var(--color-ink-muted);font-size:.85rem}.portal-cedula__foot{text-align:center;max-width:36rem;margin:.35rem auto 0;font-size:.82rem}.portal-cedula .site-footer{position:fixed;bottom:0;left:0;right:0}.portal-cedula__status{text-align:center;place-content:center;gap:1rem;width:min(420px,100%);min-height:50vh;display:grid}@media (width<=480px){.portal-cedula__meta-row{grid-template-columns:1fr;gap:.15rem}}.qr-comercial{--qc-ink:#14110e;--qc-ink-soft:#2a241c;--qc-sand:#e8dcc8;--qc-sand-dim:#c4b59a;--qc-amber:#c8922a;--qc-amber-bright:#e0b45a;--qc-agave:#5a7a62;--qc-agave-deep:#3d5644;--qc-copper:#a66b3c;--qc-surface:#e8dcc812;--qc-line:#e8dcc82e;--qc-font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--qc-font-body:"Outfit", "Segoe UI", sans-serif;isolation:isolate;min-height:100vh;color:var(--qc-sand);font-family:var(--qc-font-body);background:var(--qc-ink);padding:0 0 4.5rem;position:relative;overflow-x:hidden}.qr-comercial__glow{pointer-events:none;z-index:-1;background:radial-gradient(90% 55% at 50% -5%,#c8922a47 0%,#0000 55%),radial-gradient(60% 40% at 100% 35%,#5a7a6238 0%,#0000 50%),radial-gradient(50% 35% at 0 70%,#a66b3c29 0%,#0000 45%),linear-gradient(#1c1814 0%,#14110e 42%,#0f0d0b 100%);position:absolute;inset:0}.qr-comercial__glow:after{content:"";opacity:.35;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.qr-comercial__inner{width:min(720px,100%);margin:0 auto;padding:1.75rem 1.25rem 2rem}.qr-comercial__brand{align-items:center;gap:.75rem;margin-bottom:2.25rem;animation:.7s both qc-fade-up;display:flex}.qr-comercial__logo{object-fit:contain;border:1px solid var(--qc-line);background:#14110e99;border-radius:50%;width:52px;height:52px;box-shadow:0 0 0 4px #c8922a1f}.qr-comercial__brand-text{gap:.1rem;display:grid}.qr-comercial__brand-name{font-family:var(--qc-font-display);letter-spacing:.04em;color:var(--qc-sand);margin:0;font-size:1.35rem;font-weight:600;line-height:1.1}.qr-comercial__brand-sub{letter-spacing:.22em;text-transform:uppercase;color:var(--qc-sand-dim);margin:0;font-size:.7rem}.qr-comercial__hero{text-align:center;padding:.5rem 0 2.5rem;animation:.8s 80ms both qc-fade-up}.qr-comercial__kicker{letter-spacing:.28em;text-transform:uppercase;color:var(--qc-amber-bright);margin:0 0 1rem;font-size:.72rem}.qr-comercial__marca{font-family:var(--qc-font-display);letter-spacing:.02em;color:#f5ecdc;text-wrap:balance;margin:0;font-size:clamp(2.6rem,9vw,4.2rem);font-weight:600;line-height:1.05}.qr-comercial__marca-logo{object-fit:contain;filter:drop-shadow(0 8px 24px #00000059);max-width:min(220px,55vw);max-height:120px;margin:0 auto 1rem;display:block}.qr-comercial__frase{max-width:26rem;font-family:var(--qc-font-display);color:var(--qc-amber-bright);text-wrap:pretty;margin:.75rem auto 0;font-size:clamp(1.05rem,3vw,1.25rem);font-style:italic;font-weight:500;line-height:1.35}.qr-comercial__tipo{font-family:var(--qc-font-display);color:var(--qc-sand-dim);margin:.85rem 0 0;font-size:clamp(1.15rem,3.5vw,1.45rem);font-style:italic;font-weight:500}.qr-comercial__specs{flex-wrap:wrap;justify-content:center;gap:.55rem 1.1rem;margin:1.35rem 0 0;padding:0;list-style:none;display:flex}.qr-comercial__specs li{letter-spacing:.06em;text-transform:uppercase;color:var(--qc-sand);font-size:.85rem;font-weight:500;position:relative}.qr-comercial__specs li+li:before{content:"·";color:var(--qc-amber);position:absolute;left:-.7rem}.qr-comercial__intro{max-width:28rem;color:var(--qc-sand-dim);text-wrap:pretty;margin:1.5rem auto 0;font-size:.98rem;line-height:1.55}.qr-comercial__divider{color:var(--qc-sand-dim);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:1rem;margin:.5rem 0 1.75rem;font-size:.72rem;animation:.7s .16s both qc-fade-up;display:flex}.qr-comercial__divider:before,.qr-comercial__divider:after{content:"";background:linear-gradient(90deg, transparent, var(--qc-line), transparent);flex:1;height:1px}.qr-comercial__journey-title{text-align:center;font-family:var(--qc-font-display);color:#f5ecdc;margin:0 0 1.5rem;font-size:clamp(1.55rem,4vw,2rem);font-weight:600;animation:.7s .2s both qc-fade-up}.qr-comercial__journey{gap:0;padding-left:.25rem;display:grid;position:relative}.qr-comercial__journey:before{content:"";background:linear-gradient(180deg, var(--qc-amber) 0%, var(--qc-agave) 45%, var(--qc-copper) 100%);opacity:.55;width:1px;position:absolute;top:1.5rem;bottom:1.5rem;left:1.35rem}.qr-comercial__step{grid-template-columns:auto 1fr;gap:.9rem 1.1rem;padding:0 0 1.75rem;animation:.65s both qc-fade-up;display:grid;position:relative}.qr-comercial__step:first-child{animation-delay:.22s}.qr-comercial__step:nth-child(2){animation-delay:.32s}.qr-comercial__step:nth-child(3){animation-delay:.42s}.qr-comercial__step:nth-child(4){animation-delay:.52s}.qr-comercial__step:last-child{padding-bottom:.5rem}.qr-comercial__step-index{width:2.7rem;height:2.7rem;font-family:var(--qc-font-display);color:var(--qc-ink);background:linear-gradient(145deg, var(--qc-amber-bright), var(--qc-copper));z-index:1;border-radius:50%;place-items:center;font-size:.95rem;font-weight:700;display:grid;box-shadow:0 0 0 4px #c8922a26}.qr-comercial__step--empty .qr-comercial__step-index{background:var(--qc-ink-soft);color:var(--qc-sand-dim);border:1px solid var(--qc-line);box-shadow:none}.qr-comercial__step-body{min-width:0;padding-top:.2rem}.qr-comercial__step-label{letter-spacing:.22em;text-transform:uppercase;color:var(--qc-amber-bright);margin:0;font-size:.68rem}.qr-comercial__step-name{font-family:var(--qc-font-display);color:#f5ecdc;margin:.25rem 0 0;font-size:1.45rem;font-weight:600;line-height:1.15}.qr-comercial__step-detail{color:var(--qc-sand-dim);margin:.35rem 0 0;font-size:.92rem;line-height:1.45}.qr-comercial__step-meta{color:var(--qc-agave);letter-spacing:.02em;margin:.3rem 0 0;font-size:.82rem}.qr-comercial__figure{margin:1rem 0 0;padding:0}.qr-comercial__photo-frame{position:relative;box-shadow:0 18px 40px #00000073}.qr-comercial__photo-frame:before{content:"";pointer-events:none;z-index:2;border:1px solid #c8922a61;position:absolute;inset:-6px}.qr-comercial__photo-frame:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#14110e1f 0%,#0000 28%),linear-gradient(#0000 55%,#0f0d0b80 100%);position:absolute;inset:0}.qr-comercial__figure--sin-foto .qr-comercial__photo-frame:before,.qr-comercial__figure--sin-foto .qr-comercial__photo-frame:after{display:none}.qr-comercial__step-photo{aspect-ratio:4/3;object-fit:cover;object-position:center;border:1px solid var(--qc-line);background:var(--qc-ink-soft);width:100%;display:block}.qr-comercial__photo-placeholder{aspect-ratio:4/3;background:radial-gradient(circle at 30% 40%, #5a7a622e, transparent 55%), radial-gradient(circle at 70% 60%, #c8922a1f, transparent 50%), var(--qc-ink-soft);color:#c4b59a8c;width:100%;font-family:var(--qc-font-display);border:1px dashed #c4b59a59;place-items:center;font-size:1.05rem;font-style:italic;display:grid}.qr-comercial__figure-cap{letter-spacing:.16em;text-transform:uppercase;color:var(--qc-sand-dim);text-align:center;margin:.65rem 0 0;font-size:.72rem}.qr-comercial__step--con-foto .qr-comercial__step-name{font-size:clamp(1.35rem,3.5vw,1.55rem)}.qr-comercial__step-link{letter-spacing:.04em;color:var(--qc-amber-bright);border-bottom:1px solid #0000;align-items:center;gap:.4rem;margin-top:.85rem;font-size:.82rem;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s;display:inline-flex}.qr-comercial__step-link:hover{color:#f0d48a;border-bottom-color:#e0b45a8c}.qr-comercial__step-link:after{content:"→";font-size:.95em;transition:transform .2s}.qr-comercial__step-link:hover:after{transform:translate(3px)}.qr-comercial__empty{color:#c4b59a9e;background:#e8dcc80a;border:1px dashed #c4b59a47;border-radius:8px;margin:.35rem 0 0;padding:.65rem .75rem;font-size:.88rem;font-style:italic}.qr-comercial__closing{text-align:center;border-top:1px solid var(--qc-line);max-width:26rem;margin:2.25rem auto 0;padding:1.15rem 1rem;animation:.7s .55s both qc-fade-up}.qr-comercial__closing p{font-family:var(--qc-font-display);color:var(--qc-sand-dim);margin:0;font-size:1.05rem;font-style:italic;line-height:1.4}.qr-comercial__closing strong{letter-spacing:.18em;text-transform:uppercase;color:var(--qc-amber-bright);margin-top:.45rem;font-size:.72rem;font-style:normal;display:block}.qr-comercial__status{text-align:center;place-content:center;gap:1rem;min-height:60vh;padding:2rem 1rem;display:grid}.qr-comercial__status h1{font-family:var(--qc-font-display);color:#f5ecdc;margin:0;font-size:1.8rem;font-weight:600}.qr-comercial .site-footer{border-top-color:var(--qc-line);color:var(--qc-sand-dim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f0d0beb;position:fixed;bottom:0;left:0;right:0}.qr-comercial .site-footer a{color:var(--qc-amber-bright)}@media (width>=640px){.qr-comercial__inner{padding:2.5rem 1.5rem}.qr-comercial__journey:before{left:1.5rem}.qr-comercial__step{gap:1.15rem 1.4rem}.qr-comercial__step-index{width:3rem;height:3rem}.qr-comercial__step-photo,.qr-comercial__photo-placeholder{aspect-ratio:16/10}.qr-comercial__photo-frame:before{inset:-7px}}@keyframes qc-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.qr-comercial__brand,.qr-comercial__hero,.qr-comercial__divider,.qr-comercial__journey-title,.qr-comercial__step,.qr-comercial__closing{animation:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-page,.portal-page{box-sizing:border-box;place-content:center;gap:1.25rem;min-height:100vh;padding:1.5rem 1.5rem 3.5rem;display:grid}.login-hero,.portal-hero{text-align:center}.login-logo,.portal-logo{object-fit:contain;background:var(--color-surface);width:88px;height:88px;box-shadow:var(--shadow);border-radius:50%}.brand-logo{object-fit:contain;background:var(--color-surface);border-radius:50%;width:40px;height:40px}.login-hero h1,.portal-hero h1{font-family:var(--font-display);color:var(--color-ink);margin:.5rem 0 .35rem;font-size:clamp(2.2rem,6vw,3.2rem)}.login-card{gap:.9rem;width:min(420px,100%);display:grid}.login-card-title{font-family:var(--font-display);margin:0;font-size:1.2rem}.login-hero .lede{max-width:26rem;margin-inline:auto}.page-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem 1.35rem}.page{gap:var(--space-5);max-width:1200px;display:grid}.page-header h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.55rem,2.8vw,1.95rem);line-height:1.2}.page-header .muted,.page-header .lede{max-width:42rem;margin:.35rem 0 0}.muted{color:var(--color-ink-muted)}.tiny{font-size:.8rem}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-family:var(--font-display);color:var(--color-primary-dark);margin:0 0 .35rem;font-weight:600}.lede{color:var(--color-ink-muted);margin:0;font-size:1.02rem}.app-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.site-footer{border-top:1px solid var(--color-border);color:var(--color-ink-muted);text-align:center;background:#fffcf6f5;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .55rem;padding:.55rem 1rem;font-size:.78rem;line-height:1.35;display:flex}.site-footer a{color:var(--color-primary-dark);font-weight:600;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer-sep{opacity:.55}.login-page .site-footer,.portal-page .site-footer{position:fixed;bottom:0;left:0;right:0}.app-topbar{min-height:var(--topbar-h);background:linear-gradient(180deg, #22344f 0%, var(--color-ink) 100%);color:var(--color-on-ink);border-bottom:1px solid #fffcf60f;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 1.1rem;display:flex}.app-brand{align-items:center;gap:.65rem;min-width:0;display:flex}.brand-link{color:inherit;align-items:center;gap:.65rem;min-width:0;text-decoration:none;display:flex}.brand-text{gap:.05rem;min-width:0;display:grid}.brand-name{font-family:var(--font-display);letter-spacing:.04em;font-size:1.05rem;font-weight:700;line-height:1.1}.brand-tag{letter-spacing:.08em;text-transform:uppercase;opacity:.72;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.brand-logo{border:1px solid #f9f7f02e;width:40px;height:40px}.topbar-user{flex-shrink:0;align-items:center;gap:.85rem;display:flex}.user-meta{text-align:right;gap:.05rem;display:grid}.user-name{font-size:.88rem;font-family:var(--font-display);font-weight:600;line-height:1.2}.user-role{letter-spacing:.06em;text-transform:uppercase;opacity:.7;font-size:.7rem}.nav-toggle{color:inherit;cursor:pointer;border-radius:var(--radius-sm);background:#f9f7f014;border:0;place-items:center;width:2.35rem;height:2.35rem;font-size:1.15rem;display:none}.app-body{grid-template-columns:var(--nav-width) 1fr;min-height:0;display:grid}.app-nav{border-right:1px solid var(--color-border);background:#fffcf7f0;padding:.85rem .7rem 1.5rem;overflow-y:auto}.app-nav nav{gap:.85rem;display:grid}.nav-group{gap:.15rem;display:grid}.nav-group-title{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted);margin:.35rem .55rem .25rem;font-size:.68rem;font-weight:700}.nav-link{border-radius:var(--radius-sm);color:var(--color-ink);font-family:var(--font-display);padding:.55rem .75rem;font-size:.92rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:block}.nav-link:hover{background:var(--color-primary-soft);color:var(--color-primary-dark)}.nav-link.active{background:var(--color-primary-soft);color:var(--color-primary-dark);box-shadow:inset 3px 0 0 var(--color-primary);font-weight:700}.app-main{min-width:0;padding:1.35rem 1.5rem 2rem}.nav-backdrop{display:none}.home-hero{padding-bottom:.25rem}.home-lede{max-width:36rem}.home-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.9rem;display:grid}.home-tile{border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);color:inherit;box-shadow:var(--shadow-sm);gap:.4rem;padding:1.15rem 1.15rem 1.2rem;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid}.home-tile:hover{box-shadow:var(--shadow);border-color:var(--color-border-strong);transform:translateY(-2px)}.home-tile strong{font-family:var(--font-display);font-size:1.05rem}.home-tile span{color:var(--color-ink-muted);font-size:.86rem;line-height:1.35}.ui-btn{border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-display);border:0;padding:.65rem 1rem;font-weight:600;transition:filter .15s,transform .1s}.ui-btn:hover:not(:disabled){filter:brightness(.97)}.ui-btn:active:not(:disabled){transform:translateY(1px)}.ui-btn.primary{background:var(--color-primary);color:var(--color-on-primary)}.ui-btn.secondary{background:var(--color-accent);color:#fff}.ui-btn.danger{background:var(--color-danger);color:#fff}.ui-btn.ghost{color:inherit;background:0 0;border:1px solid}.ui-btn:disabled{opacity:.65;cursor:wait}.topbar-user .ui-btn.ghost{color:var(--color-on-ink);border-color:#f9f7f059;padding:.45rem .8rem;font-size:.88rem}.ui-field{gap:.35rem;min-width:0;display:grid}.ui-field-label{font-family:var(--font-display);font-size:.92rem}.ui-field input,.ui-field select,.ui-field textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-ink);box-sizing:border-box;background:#fff;width:100%;min-width:0;max-width:100%;padding:.65rem .8rem;transition:border-color .15s,box-shadow .15s}.ui-field input:hover,.ui-field select:hover,.ui-field textarea:hover{border-color:var(--color-border-strong)}.ui-field input:focus-visible,.ui-field select:focus-visible,.ui-field textarea:focus-visible{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.ui-field.has-error input{border-color:var(--color-danger)}.ui-field-password{display:block;position:relative}.ui-field-password input{box-sizing:border-box;width:100%;padding-right:4.25rem}.ui-field-password-toggle{color:var(--color-primary-dark);cursor:pointer;background:0 0;border:none;padding:.25rem .4rem;font-size:.8rem;font-weight:600;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}.ui-field-password-toggle:hover{text-decoration:underline}.ui-field-error{color:var(--color-danger);font-size:.85rem}.ui-field-hint{color:var(--color-ink-muted);font-size:.8rem}.ui-alert{border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.8rem 1rem;display:flex}.ui-alert-success{color:var(--color-success);background:#3d7a521f;border-color:#3d7a5259}.ui-alert-warning{color:var(--color-warning);background:#c48a2a24;border-color:#c48a2a66}.ui-alert-error{color:var(--color-danger);background:#a8443a1f;border-color:#a8443a59}.ui-alert-info{color:var(--color-info);background:#3a5f8a1f;border-color:#3a5f8a59}.ui-alert-close{cursor:pointer;color:inherit;background:0 0;border:0;font-size:1.2rem}.ui-modal-overlay{overscroll-behavior:contain;z-index:40;-webkit-overflow-scrolling:touch;background:#1b2b4373;justify-content:center;align-items:flex-start;padding:1rem;display:flex;position:fixed;inset:0;overflow:auto}.ui-modal{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);width:min(560px,100%);max-width:100%;box-shadow:var(--shadow);box-sizing:border-box;flex-direction:column;max-height:calc(100dvh - 2rem);margin-block:auto;display:flex;overflow:hidden}.ui-modal.ui-modal--lg{width:min(720px,100%)}.ui-modal.ui-modal--xl{width:min(1100px,100vw - 2rem);max-height:none;overflow:visible}.ui-modal.ui-modal--xl .ui-modal-body{overflow:visible}.ui-modal.ui-modal--xl .form-grid,.ui-modal.ui-modal--xl .ui-field,.ui-modal.ui-modal--xl .check-set,.ui-modal.ui-modal--xl .form-row-2,.ui-modal.ui-modal--xl .linea-block{max-width:100%}.ui-modal.ui-modal--xl select{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.ui-modal-header,.ui-modal-footer{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.ui-modal-footer{border-bottom:0;border-top:1px solid var(--color-border);flex-wrap:wrap}.ui-modal-header h2{font-size:1.15rem;font-family:var(--font-display);margin:0}.ui-modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;gap:.75rem;min-width:0;min-height:0;padding:1rem;display:grid;overflow:auto}.ui-spinner{color:var(--color-ink-muted);align-items:center;gap:.6rem;display:inline-flex}.ui-spinner-dot{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:.85rem;height:.85rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ui-empty{text-align:center;color:var(--color-ink-muted);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius);padding:2.25rem 1.25rem}.ui-empty h3{font-family:var(--font-display);color:var(--color-ink);margin:0 0 .35rem;font-size:1.1rem}.ui-empty-body{margin-top:.35rem}.ui-fatal{text-align:center;place-content:center;gap:.75rem;min-height:100vh;padding:1.5rem;display:grid}.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:auto}.ui-table{border-collapse:collapse;width:100%;font-size:.9rem}.ui-table th,.ui-table td{text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:.72rem .9rem}.ui-table th{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted);background:var(--color-surface-2);z-index:1;font-size:.78rem;font-weight:700;position:sticky;top:0}.ui-table tbody tr:hover td{background:#5b8a680d}.ui-table tbody tr:last-child td{border-bottom:0}.table-actions{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.table-actions .ui-btn{padding:.35rem .65rem;font-size:.82rem}.badge.danger{color:var(--color-danger);background:#b03a2e24}.dl-grid{gap:.75rem;display:grid}.dl-grid div{gap:.2rem;display:grid}.dl-grid dt{text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-muted);margin:0;font-size:.78rem}.dl-grid dd{margin:0;font-size:1rem}.timeline{gap:.55rem;margin:0;padding-left:1.1rem;display:grid}.timeline .tipo{min-width:7rem;color:var(--color-primary-dark);font-family:var(--font-display);font-weight:700;display:inline-block}.timeline .codigo{color:var(--color-ink-muted);margin-left:.5rem;font-size:.85rem}.filters-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.table-toolbar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.25rem;margin-bottom:.75rem;padding:.85rem 1rem;display:flex}.table-toolbar__search{flex:220px;min-width:180px;max-width:28rem}.table-pager{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem 1rem;display:flex}.table-pager__controls{align-items:center;gap:.65rem;display:inline-flex}.table-pager__controls button:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.page-header.row-between,.row-between{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.ui-field.compact{min-width:160px}.form-row-2{grid-template-columns:1fr 1fr;gap:.75rem;min-width:0;display:grid}.form-row-2>*{min-width:0}.actions-cell{align-items:center;gap:.5rem;display:flex}.text-link{font-family:var(--font-display);color:var(--color-primary-dark);font-weight:600;text-decoration:none}.text-link:hover{text-decoration:underline}.tabs{border-bottom:1px solid var(--color-border);gap:.15rem;margin-bottom:.25rem;display:flex;overflow-x:auto}.tab{cursor:pointer;font-family:var(--font-display);color:var(--color-ink-muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:.7rem 1rem;font-weight:600}.tab:hover{color:var(--color-ink)}.tab.active{color:var(--color-primary-dark);border-bottom-color:var(--color-primary)}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.detail-grid .span-2{grid-column:span 2}.detail-grid span.muted{margin-bottom:.2rem;font-size:.8rem;display:block}.stack{gap:.85rem;display:grid}.checklist{font-family:var(--font-display);gap:.35rem;margin:0;padding-left:0;font-size:.92rem;list-style:none;display:grid}.linea-block{border-top:1px dashed var(--color-border);padding-top:.5rem}.stack h2{font-family:var(--font-display);margin:0;font-size:1.15rem}@media (width<=768px){.form-row-2,.detail-grid{grid-template-columns:1fr}.detail-grid .span-2{grid-column:span 1}.page-header.row-between,.row-between{flex-direction:column;align-items:stretch;gap:.75rem}.actions-cell{flex-wrap:wrap}.tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.home-grid{grid-template-columns:1fr}.ui-table{font-size:.85rem}}@media (width<=360px){.page{padding-inline:.75rem}.login-card,.page-card{padding:.85rem}}.form-grid{gap:.85rem;width:100%;min-width:0;display:grid}.form-grid>*{min-width:0}.check-set{border:1px solid var(--color-border);border-radius:8px;gap:.45rem;min-width:0;margin:0;padding:.75rem 1rem;display:grid}.check-set>select{box-sizing:border-box;border:1px solid var(--color-border);width:100%;min-width:0;max-width:100%;color:var(--color-ink);background:#fff;border-radius:8px;padding:.7rem .8rem}.check-set legend{font-family:var(--font-display);padding:0 .35rem;font-size:.92rem}.check{align-items:center;gap:.5rem;font-size:.92rem;display:flex}.badge{font-size:.78rem;font-family:var(--font-display);border-radius:999px;padding:.15rem .5rem;font-weight:600;display:inline-block}.badge.ok{color:var(--color-success);background:#3d7a5224}.badge.warn{color:var(--color-warning);background:#c48a2a29}@media (width<=768px){.page-header.row-between{flex-direction:column}.nav-toggle{display:inline-grid}.brand-tag{display:none}.app-body{grid-template-columns:1fr}.app-nav{inset:var(--topbar-h) auto 0 0;z-index:30;width:min(300px,86vw);box-shadow:var(--shadow);transition:transform .2s;position:fixed;transform:translate(-105%)}.app-nav.open{transform:translate(0)}.nav-backdrop{inset:var(--topbar-h) 0 0 0;z-index:20;background:#1b2b4366;border:0;display:block;position:fixed}.user-meta{display:none}.app-main{padding:1rem 1rem 1.5rem}.table-toolbar{padding:.75rem}}.report-filters{align-items:flex-end;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.report-filters .ui-field{min-width:11rem}.report-filters__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.report-filters__hint{flex-basis:100%;margin:0}.kpi-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.kpi-card{gap:var(--space-1);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.kpi-card__label{font-family:var(--font-display);color:var(--color-ink-muted);font-size:.78rem}.kpi-card__value{font-family:var(--font-display);color:var(--color-primary-dark);font-size:1.6rem;font-weight:700;line-height:1.15}.kpi-card__unit{color:var(--color-ink-muted);font-size:.8rem;font-weight:500}.chart-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.chart-card h3{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:1rem}.chart-card__canvas{width:100%;min-width:0}@media (width<=768px){.report-filters .ui-field{flex:100%}.chart-grid{grid-template-columns:1fr}}:root{--color-primary:#5b8a68;--color-primary-dark:#3f6549;--color-primary-soft:#5b8a6824;--color-accent:#d67c4e;--color-accent-soft:#e8a07a;--color-ink:#1b2b43;--color-ink-muted:#4a5a6e;--color-bg:#f7f4ec;--color-bg-soft:#efe9dc;--color-surface:#fffcf7;--color-surface-2:#faf6ee;--color-wood:#b87c4c;--color-border:#d6cbb8;--color-border-strong:#c4b59e;--color-success:#3d7a52;--color-warning:#b07a22;--color-danger:#a8443a;--color-info:#3a5f8a;--color-on-primary:#f9f7f0;--color-on-ink:#f9f7f0;--font-display:"DM Sans", "Segoe UI", sans-serif;--font-body:"Source Serif 4", "Libre Baskerville", Georgia, serif;--radius:12px;--radius-sm:8px;--radius-pill:999px;--shadow:0 8px 28px #1b2b4312;--shadow-sm:0 2px 10px #1b2b430d;--focus-ring:0 0 0 3px #5b8a6859;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.75rem;--bp-sm:480px;--bp-md:768px;--bp-lg:1100px;--nav-width:240px;--topbar-h:3.5rem;font-family:var(--font-body);color:var(--color-ink);background:radial-gradient(circle at 10% 6%, #5b8a6829 0%, transparent 40%), radial-gradient(circle at 92% 0%, #d67c4e1c 0%, transparent 34%), linear-gradient(165deg, var(--color-bg) 0%, var(--color-bg-soft) 58%, #e6dfd1 100%);-webkit-font-smoothing:antialiased;min-height:100%;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}a{color:var(--color-primary-dark)}button,input,select,textarea{font:inherit}:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
