/* Customer portal and public forms */
[hidden]{display:none!important}
.portal-home{max-width:1000px!important;margin:30px auto!important;padding:30px!important;background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important}
.portal-heading{text-align:center;border:0;padding:8px 0 25px}.portal-eyebrow{color:#00769d;font-size:11px;font-weight:750;letter-spacing:1.4px}.portal-heading h1{font-size:34px;margin:12px 0 8px}.portal-heading p{color:#5b7486;margin:0;font-size:15px}
.portal-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:6px 0 30px}.portal-action{display:flex;flex-direction:column;align-items:flex-start;gap:15px;position:relative;text-decoration:none;background:#fff;border:1px solid #d4e3ed;border-radius:17px;padding:23px;color:#17465f;font-size:16px;font-weight:700;box-shadow:0 7px 24px #123f5c08;transition:transform .18s,box-shadow .18s,border-color .18s}.portal-action:first-child{background:linear-gradient(135deg,#00769d,#0a5b83);color:white;border-color:#00769d}.portal-action:hover{transform:translateY(-3px);border-color:#00769d;box-shadow:0 12px 25px #006f981a}.portal-action-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:#eaf5fb;border-radius:14px;color:#00769d}.portal-action:first-child .portal-action-icon{background:white}.portal-action-icon img{width:38px;height:38px;object-fit:contain}.portal-action-icon svg{width:29px;height:29px}.portal-action-arrow{position:absolute;right:22px;top:28px;font-size:25px;font-weight:400;opacity:.7}
.portal-lookup{background:white;border:1px solid #d5e4ed;border-radius:18px;padding:26px;box-shadow:0 5px 25px #17415b08}.portal-section-title{display:flex;gap:15px;align-items:center;margin-bottom:20px}.portal-section-title h2{font-size:22px;margin:0 0 5px}.portal-section-title p{font-size:14px;color:#60798b;margin:0;line-height:1.5}.portal-step{display:flex;align-items:center;justify-content:center;font-size:27px;border-radius:12px;color:#00769d;background:#eef7fc;width:48px;height:48px;flex-shrink:0}.portal-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}.portal-search-form label{font-size:13px;font-weight:650;color:#305971}.portal-search-form input{margin:8px 0 0!important;min-height:49px;background:#fbfdff}.portal-search-form button{min-height:49px;padding:12px 24px;white-space:nowrap;font-size:14px}.portal-home #result{background:white;border:1px solid #d5e4ed;border-radius:16px;margin-top:20px;padding:24px;line-height:1.7}.portal-contact{margin:28px 0 0!important;padding:22px;color:#5a7586;font-size:14px;background:#f0f7fb;border-radius:15px}.portal-contact a{box-shadow:0 3px 10px #123b5210}
body.customer-facing input:not([type=checkbox]),body.customer-facing select,body.customer-facing textarea{min-height:47px;background:#fbfdff;padding:12px 14px!important;font-size:15px!important}body.customer-facing input[type=checkbox]{width:18px;height:18px;accent-color:#00769d;flex-shrink:0;margin-top:3px}body.customer-facing label{line-height:1.5}body.customer-facing textarea{line-height:1.65}body.customer-facing .card{padding:26px;border-radius:17px!important}body.customer-facing main:not(.portal-home){max-width:900px}body.customer-facing #call-details h2,body.customer-facing .service h3{margin-top:0}body.customer-facing .hint,body.customer-facing small{line-height:1.6}body.customer-facing dialog::backdrop{background:#12374d80;backdrop-filter:blur(3px)}
@media(max-width:700px){.portal-home{margin:15px auto!important;padding:18px!important}.portal-actions{gap:10px}.portal-action{padding:16px;font-size:14px;gap:12px}.portal-action-icon{width:43px;height:43px}.portal-action-arrow{display:none}.portal-heading h1{font-size:28px}.portal-lookup{padding:20px}.portal-search-form{grid-template-columns:1fr}.portal-search-form button{width:100%}.portal-section-title h2{font-size:20px}body.customer-facing .card{padding:20px}}
@media(max-width:450px){.portal-actions{grid-template-columns:1fr}.portal-action{flex-direction:row;align-items:center}.portal-action-arrow{display:block;position:static;margin-left:auto}.portal-action-icon{flex-shrink:0}.portal-section-title{align-items:flex-start}.portal-section-title p{font-size:13px}}

/* Service cards must not inherit dashboard tile gradients. */
body.customer-facing #catalog .service{background:#f5faff!important;color:#17364a!important;border:1px solid #c8dce9!important;box-shadow:none!important;overflow:visible!important;cursor:default}body.customer-facing #catalog .service:after{display:none!important}body.customer-facing #catalog .service.selected{background:#eaf6ff!important;border:2px solid #2683b4!important}body.customer-facing #catalog .service .select-label,body.customer-facing #catalog .service .name{color:#17465f!important}body.customer-facing #catalog .service .description,body.customer-facing #catalog .service label{color:#254d63!important}body.customer-facing #catalog .service .consent{background:#fff7db;border:1px solid #ead8a1;color:#294958!important}body.customer-facing #catalog .service .service-explanation h3{color:#164f70!important}body.customer-facing #catalog .service input[type=checkbox]{accent-color:#00769d}

#budget-confirm{box-sizing:border-box;width:min(540px,calc(100vw - 30px))!important;max-width:540px!important;max-height:90vh;overflow-y:auto}#budget-confirm h2{font-size:23px;line-height:1.35}#budget-confirm-success{text-align:center}.budget-success-icon{display:grid;place-items:center;width:62px;height:62px;margin:16px auto;background:#e4f5eb;color:#15734d;border-radius:50%;font-size:34px;font-weight:700}.budget-success-reference{font-weight:700;color:#174b67;background:#edf7fc;padding:12px;border-radius:9px;overflow-wrap:anywhere}.budget-success-help{font-size:13px;color:#5e798b}.budget-final-actions{display:grid;gap:12px;margin-top:22px}.budget-final-actions a{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;min-height:49px;padding:13px 16px;text-decoration:none;text-align:center;border-radius:10px;font-size:14px;line-height:1.5;font-weight:650;white-space:normal;overflow-wrap:anywhere}.budget-whatsapp-action{background:#14734e;color:white!important}.budget-document-action{background:#eaf5fc;border:1px solid #bad6e7;color:#126180!important}#confirm-cancel{margin-top:5px}#budget-confirm-success p{line-height:1.7}
