/* Customer portal (portal.css since v1.71, was renew.css; v1.21). The look comes from the order form's own stylesheet
   (../style.css, loaded first); this file only adds what the portal needs. */
.panel{min-height:0}
.hero{padding:42px 0 10px}
.muted{color:#607286;font-size:13px;line-height:1.6}
.err{color:#b42318;font-size:13px;font-weight:700;margin:10px 0 0}
.errors{background:#fff7f7;border:2px solid #c62828;color:#b42318;border-radius:12px;padding:14px 18px;margin:18px 0;font-weight:700;font-size:14px}
.errors ul{margin:6px 0 0;padding-left:20px;font-weight:600}.errors li{margin:3px 0}
.notes{white-space:pre-wrap;line-height:1.65;padding:18px 22px;border:1px solid #d6e0ea;background:#fafcff;border-radius:12px;margin:0 0 18px}
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}
.actions .primary,.actions .secondary{margin:0}
.link-btn{background:none;border:1px solid #ffffff66;color:#fff;border-radius:8px;padding:8px 14px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.link-btn:hover{background:#ffffff1a}
input[readonly]{background:#f1f5f9;color:#526479}
.three{display:grid;grid-template-columns:2fr 1fr 1fr;gap:15px}
button.danger{border:0;border-radius:9px;padding:14px 20px;font:inherit;font-weight:750;cursor:pointer;background:#fbeaea;color:#b42318}
.small{padding:8px 13px!important;font-size:13px!important}
.danger:disabled,.secondary:disabled,.primary:disabled{opacity:.45;cursor:not-allowed}
/* Update page: contact cards */
.edit-card{border:1px solid #d6e0ea;border-radius:12px;padding:18px 20px;margin:14px 0;background:#fff}
.edit-card.is-primary{border:2px solid #000051;padding:17px 19px;background:#f0f7ff}
.edit-card.removed{opacity:.65;background:#f6f7f9}
.edit-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:4px}
.edit-card-head h4{margin:0;font-size:16px}
.edit-card-head .option{margin:0;padding-top:9px;padding-bottom:9px;font-weight:700}
.reminder{padding:12px 15px;border-left:4px solid #000051;background:#f0f5ff;border-radius:5px;line-height:1.5;margin:5px 0 17px}
.subbox{padding:14px 16px;border:1px solid #d8e0ea;border-radius:8px;background:#f8fafc;margin:16px 0 0}
details.addr-more summary{cursor:pointer;font-weight:700;font-size:14px;color:#000051;margin:12px 0}
/* Windows */
.modal-back{position:fixed;inset:0;background:#00002a88;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}
.modal{background:#fff;border-radius:16px;max-width:500px;width:100%;padding:26px;box-shadow:0 20px 50px #0004}
.modal h3{margin:0 0 10px;font-size:20px}
.modal p{line-height:1.6;margin:8px 0}
.code-input{font-size:24px!important;letter-spacing:.3em;text-align:center;max-width:220px}
.done{text-align:center;padding:40px 26px}
.done .mark{width:56px;height:56px;border-radius:50%;background:#e3f3ea;color:#168447;display:inline-flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;margin-bottom:12px}
.done p{line-height:1.6;max-width:560px;margin:10px auto}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
@media(max-width:700px){.three{grid-template-columns:1fr}}
.legal-box>.review-contact:first-child{margin-top:0;padding-top:0;border-top:0}
.rn-group{margin-top:12px;padding-top:12px;border-top:1px solid #dce5ed}
#summary{margin-top:14px}
.rn-ok{display:flex;gap:10px;align-items:center;background:#e9f7ee;border:1px solid #9fd5b3;color:#14633d;font-weight:700;border-radius:12px;padding:14px 18px;margin:0 0 6px;line-height:1.5}
.rn-note{background:#fff8e6;border:1px solid #f0dca8;color:#5c4400;font-weight:700;border-radius:12px;padding:14px 18px;margin:0 0 6px;line-height:1.5}
/* v1.73.1: navigation across the top after sign-in (the portal's own buttons) */
.portal-tabs{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;margin:6px 0 24px}   /* v1.73.9 (owner): ONE line, never two; a phone slides sideways */
.portal-tabs button{margin:0;flex:0 0 auto;white-space:nowrap;padding:8px 13px;font-size:13.5px;border-radius:8px}   /* v1.73.9: smaller */
.portal-tabs button[data-tab=home]{padding:7px 10px;line-height:0}   /* v1.73.7: the house */
.portal-tabs button[data-tab=home] svg{width:17px;height:17px}
/* v1.73.10 (owner): every portal button the same size as the tabs (page buttons + pop-ups; the order form keeps its own) */
#app button.primary,#app button.secondary,#app button.danger,.modal button.primary,.modal button.secondary{padding:8px 13px;font-size:13.5px;border-radius:8px}
