@font-face{font-family:Frutiger LT Std;src:url(/assets/fonts/FrutigerLTStd-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Frutiger LT Std;src:url(/assets/fonts/FrutigerLTStd-Roman.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Frutiger LT Std;src:url(/assets/fonts/FrutigerLTStd-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Frutiger LT Std;src:url(/assets/fonts/FrutigerLTStd-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}html,body{max-width:100vw;width:100%;overflow-x:clip;touch-action:pan-y;overscroll-behavior-x:none}app-root,app-root>*{display:block;max-width:100vw;overflow-x:clip}img,video,table{max-width:100%}:root{--background: #F7F7F6;--surface: #FFFFFF;--surface-2: #F1F0EE;--surface-3: #E8E6E2;--foreground: #18181B;--muted-foreground: #71717A;--subtle-foreground: #A1A1AA;--border: #E4E2DD;--border-strong: #C9C5BD;--accent: #D4A14A;--accent-soft: rgba(212, 161, 74, .12);--accent-line: rgba(212, 161, 74, .4);--success: #1E8E5A;--warning: #C28411;--danger: #B33A3A;--info: #3B5BA9;--font-sans: "Frutiger LT Std", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;--fs-xs: 11px;--fs-sm: 13px;--fs-base: 15px;--fs-md: 17px;--fs-lg: 22px;--fs-xl: 30px;--fs-2xl: 44px;--tracking-mono: .08em;--tracking-tight: -.02em;--bg: var(--background);--surface-alt: var(--surface-2);--input: var(--surface);--input-border: var(--border);--fg: var(--foreground);--fg-alt: var(--muted-foreground);--primary: var(--foreground);--primary-fg: var(--surface);--primary-hover: #2A2A2E;--accent-fg: var(--foreground);--accent-muted: var(--accent-soft);--accent-hover: #BC8E3F;--pos: var(--success);--neg: var(--danger);--warn: var(--warning);--info: var(--info)}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-base);color:var(--foreground);background:var(--background);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--foreground);color:var(--surface)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:var(--foreground)!important;-webkit-box-shadow:0 0 0 1000px var(--surface) inset!important;box-shadow:0 0 0 1000px var(--surface) inset!important;caret-color:var(--foreground);transition:background-color 9999s ease-in-out 0s}.tw-mono,.tw-eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--muted-foreground)}.tw-eyebrow .num{color:var(--foreground);font-weight:500}.tw-eyebrow .dash{color:var(--accent);margin:0 .5em}.tw-section-num{display:flex;align-items:baseline;gap:16px;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--muted-foreground);margin-bottom:24px}.tw-section-num .num{color:var(--foreground);font-weight:500}.tw-section-num .rule{flex:1;height:1px;background:var(--border)}.tw-display{font-family:var(--font-sans);font-size:var(--fs-2xl);line-height:1.05;letter-spacing:var(--tracking-tight);font-weight:400}.tw-display strong{font-weight:700}.tw-display .light{color:var(--muted-foreground);font-weight:300}.tw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:500;border:0;border-radius:0;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.tw-btn-primary{background:var(--foreground);color:var(--surface)}.tw-btn-primary:hover{background:#2a2a2e}.tw-btn-accent{background:var(--accent);color:var(--foreground)}.tw-btn-accent:hover{background:#bc8e3f}.tw-btn-ghost{background:transparent;color:var(--foreground);border:1px solid var(--border)}.tw-btn-ghost:hover{border-color:var(--border-strong)}.tw-link{color:var(--foreground);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px}.tw-link:hover{text-decoration-thickness:2px}.tw-input{width:100%;height:44px;padding:0 14px;background:var(--surface);border:1px solid var(--border);border-radius:0;font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--foreground);transition:border-color .12s ease}.tw-input:focus{outline:none;border-color:var(--foreground)}@media (hover: none) and (pointer: coarse){input,select,textarea,.tw-input{font-size:16px!important}}.tw-label{display:block;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--muted-foreground);margin-bottom:8px}.tw-card{background:var(--surface);border:1px solid var(--border);border-radius:2px}.tw-tag{display:inline-flex;align-items:center;height:22px;padding:0 10px;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase;border-radius:999px;background:var(--surface-2);color:var(--foreground);border:1px solid var(--border)}.tw-tag-accent{background:var(--accent-soft);color:var(--foreground);border-color:var(--accent-line)}.tw-tag-success{background:#1e8e5a1a;color:var(--success);border-color:#1e8e5a40}.tw-tag-warning{background:#c284111a;color:var(--warning);border-color:#c2841140}.tw-tag-danger{background:#b33a3a1a;color:var(--danger);border-color:#b33a3a40}.tw-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.tw-table thead th{text-align:left;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--muted-foreground);font-weight:500;padding:10px 16px;background:var(--surface-2);border-bottom:1px solid var(--border)}.tw-table tbody td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.tw-table tbody tr:hover td{background:var(--surface-2)}.tw-table .num{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.tw-spec{display:flex;flex-direction:column}.tw-spec-row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px dotted var(--border-strong)}.tw-spec-row .k{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--muted-foreground)}.tw-spec-row .v{font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--foreground)}.tw-kpi-num{font-family:var(--font-sans);font-size:var(--fs-xl);font-weight:300;line-height:1;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.tw-kpi-num .accent{color:var(--accent)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.label-mini{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.text-amber-100,.text-amber-200,.text-amber-300,.text-amber-400,.text-yellow-100,.text-yellow-200,.text-yellow-300,.text-yellow-400{color:#92400e}.text-orange-100,.text-orange-200,.text-orange-300,.text-orange-400{color:#9a3412}.text-red-100,.text-red-200,.text-red-300,.text-red-400,.text-red-500{color:var(--danger)}.text-green-100,.text-green-200,.text-green-300,.text-green-400,.text-green-500,.text-emerald-300,.text-emerald-400{color:var(--success)}.text-blue-100,.text-blue-200,.text-blue-300,.text-blue-400,.text-sky-400{color:var(--info)}.bg-amber-900\/10,.bg-amber-900\/20,.bg-amber-900\/30,.bg-yellow-900\/10,.bg-yellow-900\/20,.bg-yellow-900\/30{background-color:#fef3c7}.bg-orange-900\/10,.bg-orange-900\/20,.bg-orange-900\/30{background-color:#ffedd5}.bg-red-900\/10,.bg-red-900\/20,.bg-red-900\/30,.bg-red-900\/40{background-color:#fee2e2}.bg-green-900\/10,.bg-green-900\/20,.bg-green-900\/30,.bg-green-900\/40{background-color:#dcfce7}.bg-blue-900\/10,.bg-blue-900\/20,.bg-blue-900\/30,.bg-blue-900\/40{background-color:#dbeafe}.border-amber-500\/40,.border-yellow-500\/40{border-color:#f59e0b}.border-red-500\/40{border-color:var(--danger)}.border-green-500\/40{border-color:var(--success)}.border-blue-500\/40{border-color:var(--info)}.tw-logo-invert{filter:invert(1) hue-rotate(180deg) brightness(.92)}[class*=bg-green-50],[class*=bg-green-100]{color:var(--success)}[class*=bg-red-50],[class*=bg-red-100]{color:var(--danger)}[class*=bg-amber-50],[class*=bg-amber-100],[class*=bg-yellow-50],[class*=bg-yellow-100]{color:#92400e}[class*=bg-blue-50],[class*=bg-blue-100]{color:var(--info)}input,select,textarea{color:var(--foreground);background-color:var(--surface);border-color:var(--border)}input::placeholder,textarea::placeholder{color:var(--subtle-foreground)}.text-foreground-alt,[style*="color:var(--fg-alt)"],[style*="color: var(--fg-alt)"]{color:var(--muted-foreground)!important}.txt-ok{color:var(--success, #1E8E5A)}.txt-bad{color:var(--danger, #B33A3A)}.txt-warn{color:var(--warning, #C28411)}.txt-info{color:var(--info, #3B5BA9)}.txt-accent{color:var(--accent-hover, #BC8E3F)}.bg-ok{background:#1e8e5a1a;color:var(--success, #1E8E5A);border-color:#1e8e5a4d}.bg-bad{background:#b33a3a1a;color:var(--danger, #B33A3A);border-color:#b33a3a4d}.bg-warn{background:#c284111a;color:var(--warning, #C28411);border-color:#c284114d}.bg-info{background:#3b5ba91a;color:var(--info, #3B5BA9);border-color:#3b5ba94d}.bg-accent{background:var(--accent-soft, rgba(212,161,74,.12));color:var(--foreground, #18181B);border-color:var(--accent-line, rgba(212,161,74,.4))}.pago-status,.status-badge,.pago-total{font-variant-numeric:tabular-nums}.greeting-card,.info-card,.info-section,.section,.project-header-card,.cert-group,.modal,.card,.greeting-area{background:var(--surface);border-color:var(--border);color:var(--foreground)}.greeting-title,.project-title-row h2,.section-title,.info-title,.snap-name,.pago-name,.doc-name,.tx-detail-value,.modal-header h3{color:var(--foreground)!important}.greeting-kicker,.greeting-subtitle,.info-list li,.project-meta,.snap-date,.pago-recibo,.pago-fecha,.doc-meta,.tx-detail-label,.tx-detail-section-title,.tx-detail-inst-date,.tx-detail-comp-row,.empty-section,.info-note,.snap-total,.modal-header p,.brand-sub,.user-name{color:var(--muted-foreground)!important}
