:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f5f7fb;font-synthesis:none;--bg: #f5f7fb;--bg-soft: #eef2ff;--surface: #fff;--surface-strong: #f8fafc;--text: #172033;--muted: #64748b;--border: #dde3ef;--primary: #0f766e;--primary-strong: #14b8a6;--shadow: 0 16px 46px rgba(21, 31, 51, .09);--critical-bg: #fef2f2;--critical-border: #fecaca;--critical-text: #991b1b;--info-bg: #eff6ff;--info-border: #bfdbfe;--info-text: #1e3a8a;--control-min-height: 48px}[data-theme=dark]{color-scheme:dark;--bg: #020617;--bg-soft: #0f172a;--surface: #172033;--surface-strong: #0f172a;--text: #f8fafc;--muted: #cbd5e1;--border: #3a4a62;--primary: #2dd4bf;--primary-strong: #14b8a6;--shadow: 0 18px 48px rgba(0, 0, 0, .42);--critical-bg: #3b1114;--critical-border: #7f1d1d;--critical-text: #fecaca;--info-bg: #102440;--info-border: #1d4ed8;--info-text: #bfdbfe}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-height:100dvh;margin:0;color:var(--text);background:radial-gradient(circle at 12% 0,rgba(15,118,110,.2),transparent 32%),linear-gradient(135deg,var(--bg),var(--bg-soft))}button,input{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:10px 14px;min-height:var(--control-min-height);color:#fff;background:#1e4ed8;cursor:pointer;font-weight:800;touch-action:manipulation;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px #0f766e2e}button:disabled{opacity:.55;cursor:not-allowed}.primary{background:linear-gradient(135deg,#0f766e,#14b8a6)}.secondary{background:#475569}.wide{width:100%;padding:14px 18px;border-radius:14px}.ghost-button,.icon-button,.link-button{color:var(--primary);background:transparent;border:1px solid var(--border)}.link-button{border:0;padding:6px 8px}.link-button:hover:not(:disabled){box-shadow:none;transform:none;text-decoration:underline}.icon-button{min-height:40px}.theme-button{width:42px;padding-inline:0;font-size:20px}.eyebrow{margin:0 0 8px;color:var(--primary);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand img{flex:0 0 auto;border-radius:12px;box-shadow:0 8px 18px #0f766e38}.brand div{display:grid;min-width:0}.brand strong{font-size:17px}.brand span{overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.portal-controls,.header-actions{display:flex;align-items:center;gap:8px}.header-session{display:grid;justify-items:end;gap:9px}.logged-in-customer{max-width:100%;overflow:hidden;color:var(--muted);font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.top-row,.portal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.alert{padding:12px 14px;border:1px solid;border-radius:12px;line-height:1.4}.alert.error{color:var(--critical-text);background:var(--critical-bg);border-color:var(--critical-border)}.alert.info{color:var(--info-text);background:var(--info-bg);border-color:var(--info-border)}.status-slot{min-height:50px}.field{display:grid;gap:8px;color:var(--text);font-size:14px;font-weight:800}.field input{width:100%;min-width:0;min-height:var(--control-min-height);padding:14px;font-size:16px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:14px}.field .code-input{font-size:22px;font-weight:800;letter-spacing:.18em}.field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #0f766e24}.field input:disabled{background:var(--surface-strong)}.login-page{width:min(100%,1120px);min-height:100dvh;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(390px,1.1fr);align-items:stretch;gap:30px;margin:0 auto;padding:24px}.login-hero,.login-card{min-height:480px;border-radius:28px}.login-hero{display:grid;align-content:space-between;padding:32px;color:#ecfeff;background:radial-gradient(circle at 100% 100%,rgba(45,212,191,.28),transparent 38%),linear-gradient(145deg,#0f766e,#0f172a);box-shadow:0 24px 70px #0f172a3d}.login-hero .brand span,.login-hero .hero-copy p{color:#ccfbf1}.login-hero .icon-button{color:#fff;border-color:#ffffff4d}.hero-copy h1{max-width:9ch;margin:0 0 16px;font-size:clamp(46px,6vw,72px);line-height:.96;letter-spacing:-.065em}.hero-copy>p:last-child{max-width:48ch;margin:0;line-height:1.6}.login-card{display:grid;align-content:center;gap:18px;padding:clamp(24px,5vw,44px);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.customer-type-selector{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--surface-strong);border:1px solid var(--border);border-radius:14px}.customer-type-selector button{color:var(--text);background:transparent;box-shadow:none}.customer-type-selector button.active{color:#fff;background:linear-gradient(135deg,#0f766e,#14b8a6)}.secondary-actions{display:flex;justify-content:space-between;gap:10px}.login-page footer,.portal-page footer{color:var(--muted);font-size:13px}.login-page footer{grid-column:1 / -1}.loading-screen,.centered-page{min-height:100dvh;display:grid;place-items:center;padding:24px}.loading-card,.message-card{width:min(440px,100%);padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow)}.loading-card h1,.message-card h1{margin:24px 0 10px;letter-spacing:-.04em}.message-card p{color:var(--muted);line-height:1.55}.loading-bar{height:8px;overflow:hidden;margin-top:22px;background:var(--surface-strong);border:1px solid var(--border);border-radius:999px}.loading-bar span{display:block;width:44%;height:100%;background:linear-gradient(90deg,#0f766e,#2dd4bf);border-radius:inherit;animation:loading 1.3s ease-in-out infinite}@keyframes loading{0%{transform:translate(-115%)}to{transform:translate(250%)}}.portal-page{width:min(100%,1120px);min-height:100dvh;display:flex;flex-direction:column;gap:20px;margin:0 auto;padding:24px}.portal-header{padding-bottom:18px;border-bottom:1px solid var(--border)}.invoice-heading{display:flex;justify-content:space-between;gap:20px;align-items:end}.invoice-heading h1{margin:0 0 6px;font-size:clamp(32px,5vw,48px);letter-spacing:-.05em}.invoice-heading p:last-child{margin:0;color:var(--muted)}.portal-status:empty{display:none}.invoice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}.invoice-card{min-width:0;display:grid;gap:18px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}.invoice-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.invoice-card-heading>div{display:grid;gap:3px;min-width:0}.invoice-card-heading span,dt{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.invoice-card-heading strong{overflow-wrap:anywhere;font-size:23px;letter-spacing:-.03em}.status-pill{flex:0 0 auto;padding:6px 10px;color:#1e3a8a;background:#dbeafe;border-radius:999px;font-size:12px;font-weight:900}.status-pill.overdue,.status-pill.cancelled{color:var(--critical-text);background:var(--critical-bg);border:1px solid var(--critical-border)}.status-pill.settled{color:#166534;background:#dcfce7}[data-theme=dark] .status-pill.settled{color:#bbf7d0;background:#14532d}.status-pill.partial,.status-pill.paidWaitingRut{color:#854d0e;background:#fef9c3}[data-theme=dark] .status-pill.partial,[data-theme=dark] .status-pill.paidWaitingRut{color:#fde68a;background:#422006}.invoice-card dl{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;border:1px solid var(--border);border-radius:14px;overflow:hidden}.invoice-card dl div{min-width:0;display:grid;gap:5px;padding:12px;background:var(--surface-strong);border-bottom:1px solid var(--border)}.invoice-card dl div:nth-child(odd){border-right:1px solid var(--border)}.invoice-card dl div:nth-last-child(-n+2){border-bottom:0}.invoice-card dd{min-width:0;margin:0;overflow-wrap:anywhere;font-weight:800;font-variant-numeric:tabular-nums}.pdf-button{position:relative;width:100%;min-height:44px;overflow:hidden}.pdf-button.loading{padding-bottom:15px}.pdf-loading-bar{position:absolute;right:12px;bottom:6px;left:12px;height:4px;overflow:hidden;background:#ffffff47;border-radius:999px}.pdf-loading-bar>span{display:block;width:44%;height:100%;background:#fff;border-radius:inherit;animation:loading 1.3s ease-in-out infinite}.empty-state{padding:42px 24px;color:var(--muted);text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:18px}.portal-page footer{margin-top:auto;padding-top:20px;border-top:1px solid var(--border)}@media(max-width:820px){.login-page{grid-template-columns:1fr;max-width:680px}.login-hero{min-height:360px}.login-card{min-height:440px}}@media(max-width:620px){.login-page,.portal-page{padding:14px}.login-hero,.login-card{border-radius:22px}.login-hero{padding:22px}.top-row,.portal-header{align-items:stretch;flex-direction:column}.portal-header .header-session{justify-items:stretch}.portal-header .logged-in-customer{white-space:normal}.portal-header .header-actions{width:100%;flex-wrap:wrap}.portal-header .header-actions>button{flex:1}.portal-header .portal-controls{flex:1 1 100%}.portal-header .portal-controls .icon-button:first-child{flex:1}.invoice-list{grid-template-columns:1fr}}@media(max-width:390px){.invoice-card dl{grid-template-columns:1fr}.invoice-card dl div,.invoice-card dl div:nth-child(odd),.invoice-card dl div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--border)}.invoice-card dl div:last-child{border-bottom:0}.secondary-actions{align-items:center;flex-direction:column}}
