:root{--color-navy:#171717;--color-slate:#626262;--color-border:#e5e5de;--color-surface:#fafaf7;--color-white:#fff;--color-yellow:#ff0;--color-error-bg:#fef2f2;--color-error-border:#fca5a5;--color-error-text:#b91c1c;--color-success-bg:#ecfdf5;--color-success-border:#a7f3d0;--color-success-text:#047857;color:var(--color-navy);-webkit-font-smoothing:antialiased;background-color:#f4f4f0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{flex-direction:column;min-height:100vh;display:flex}.portal-container{width:100%;max-width:680px;margin:0 auto;padding:16px}.portal-header{background-color:var(--color-navy);color:var(--color-white);border-bottom:3px solid var(--color-yellow);padding:20px 16px}.header-content{align-items:center;gap:14px;max-width:680px;margin:0 auto;display:flex}.header-logo{object-fit:contain;background-color:#ff0;border-radius:8px;width:44px;height:44px;padding:4px}.header-titles h1{letter-spacing:-.02em;font-size:1.15rem;font-weight:800}.header-titles p{color:#a3a3a3;margin-top:2px;font-size:.8rem}.stepper{background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;justify-content:space-between;align-items:center;margin:20px 0;padding:12px 18px;display:flex}.step-item{color:var(--color-slate);align-items:center;gap:8px;font-size:.8rem;font-weight:600;display:flex}.step-item.active{color:var(--color-navy)}.step-item.completed{color:var(--color-success-text)}.step-num{background:#f0f0ed;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;display:flex}.step-item.active .step-num{background:var(--color-navy);color:var(--color-white)}.step-item.completed .step-num{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border)}.card{background:var(--color-white);border:1px solid var(--color-border);border-radius:14px;padding:24px;box-shadow:0 2px 8px #0000000a}.card-title{color:var(--color-navy);margin-bottom:6px;font-size:1.1rem;font-weight:700}.card-subtitle{color:var(--color-slate);margin-bottom:20px;font-size:.85rem;line-height:1.4}.form-group{margin-bottom:16px}.form-group label{color:var(--color-navy);margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.form-control{border:1.5px solid var(--color-border);background-color:var(--color-white);width:100%;color:var(--color-navy);border-radius:8px;outline:none;padding:12px 14px;font-size:.95rem;transition:border-color .15s}.form-control:focus{border-color:var(--color-navy)}.form-control.has-error{border-color:var(--color-error-border);background-color:var(--color-error-bg)}.error-text{color:var(--color-error-text);margin-top:4px;font-size:.75rem;font-weight:500}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 18px;font-size:.95rem;font-weight:700;transition:all .15s;display:inline-flex}.btn-primary{background:var(--color-navy);color:var(--color-white)}.btn-primary:hover:not(:disabled){background:#333}.btn-outline{color:var(--color-navy);border:1.5px solid var(--color-border);background:0 0}.btn-outline:hover:not(:disabled){background:#f4f4f0}.btn:disabled{opacity:.55;cursor:not-allowed}.alert{border-radius:8px;margin-bottom:16px;padding:12px 14px;font-size:.85rem;line-height:1.4}.alert-error{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text)}.alert-success{background-color:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text)}.ticket-preview{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:10px;margin:16px 0;padding:16px}.ticket-row{color:var(--color-slate);justify-content:space-between;padding:5px 0;font-size:.85rem;display:flex}.ticket-row.total{border-top:1px solid var(--color-border);color:var(--color-navy);margin-top:8px;padding-top:10px;font-size:1rem;font-weight:800}.portal-footer{text-align:center;color:var(--color-slate);border-top:1px solid var(--color-border);margin-top:auto;padding:24px 16px;font-size:.75rem}
