/* rebuut: additions on top of site.css (marketing) and portal.css (account). */

/* notices */
.notice{margin:0 0 18px}
.notice.error{background:#f8e8e4;color:#8d4a3b}
.notice.success{background:#e9f3d9;color:#4e6a2b}
.p-content>.notice{margin:0 0 22px}

/* statuses added to the prototype set */
.p-status.requested{background:#eef1f9;color:#7c92b9}
.p-status.declined{background:#f3ecec;color:#a4766f}

/* header */
.announcement a{margin-left:15px;text-decoration:underline;text-underline-offset:3px}
.header-actions .text-button{display:inline-flex;align-items:center;white-space:nowrap}

/* footer */
.footer-entity{font-size:10px}
.footer-entity a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.footer-bottom a{color:inherit}

/* forms */
.field textarea{padding:13px;border:1px solid #d6ddca;border-radius:7px;background:white;color:#2d3825;width:100%;outline:none;font:inherit;resize:vertical;min-height:120px}
.field textarea:focus{border-color:#779b45;box-shadow:0 0 0 3px #d6e9b6}
.field small{font-weight:400;color:#8a937e}
.form-grid-3{grid-template-columns:1.4fr .7fr .9fr}
.form-right{display:flex;justify-content:flex-end;margin:-8px 0 6px}
.check-row a{text-decoration:underline;text-underline-offset:2px}
.check-row.consent-row{background:#f1f4ea;border:1px solid #e1e6d6;border-radius:8px;padding:12px 14px;margin:14px 0 6px}
.check-row input[type=checkbox]{width:16px;height:16px;flex-shrink:0}
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.button.full{display:flex}
.button svg{width:16px;height:16px}
.button.full.dark svg,.button.dark svg{color:#c5ef75}

/* quote wizard */
.wizard-steps{display:flex;gap:6px;margin:20px 0 28px}
.wizard-steps i{height:3px;flex:1;background:#e0e5d7}
.wizard-steps i.active{background:#94b75c}
.quote-attribution{font-size:9px;color:#8a937e;line-height:1.7;margin-top:14px}
.quote-attribution a{text-decoration:underline;text-underline-offset:2px}
.quote-actions{display:grid;gap:10px;margin-top:20px}
.quote-value small{display:block;font:500 11px/1.4 'DM Sans',sans-serif;letter-spacing:0;color:#778668;margin-top:4px}
.estimate-box strong{display:block;font-size:13px;margin-bottom:4px}
#modal-content .button+.button{margin-top:0}
.modal-list{font-size:12px;line-height:1.9;color:#6f7f60;padding-left:20px;margin:0 0 10px}
.modal-list li{margin:6px 0}
.modal-list strong{color:#39472c;font-weight:550}
#modal-content h3{font-size:15px;color:#39472c;margin:18px 0 7px}
#modal-content h3:first-of-type{margin-top:0}
.modal-note{background:#edf0e5;border-radius:7px;font-size:10px;line-height:1.8;padding:12px;color:#78836c;margin:15px 0 0}

/* notifications modal */
.notif-list{display:grid;gap:10px;margin-top:5px}
.notif-list a{display:flex;align-items:flex-start;gap:12px;border:1px solid #e1e6d9;border-radius:10px;padding:14px;background:white}
.notif-list a:hover{border-color:#b9c9a3}
.notif-list strong{display:block;font-size:12px;font-weight:550}
.notif-list p{font-size:10px;color:#7f8d6b;line-height:1.6;margin-top:3px}
.notif-list small{margin-left:auto;font-size:9px;color:#95a088;white-space:nowrap}
.notif-empty{font-size:12px;color:#8a937e;text-align:center;padding:30px 0}

/* auth pages */
body.page-auth{min-height:100vh;display:flex;flex-direction:column}
.auth-top{display:flex;align-items:center;justify-content:space-between;max-width:1400px;width:100%;margin:auto;padding:28px 5% 0}
.auth-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 5% 60px}
.auth-card{background:white;border:1px solid #e1e6da;border-radius:18px;padding:40px;width:100%;max-width:520px;box-shadow:0 25px 70px #18210c12}
.auth-card .field:last-of-type{margin-bottom:10px}
.auth-foot{font-size:10px;color:#8a937e;margin-top:28px;text-align:center}
.auth-foot a{text-decoration:underline;text-underline-offset:2px}

/* document pages: about, contact, legal */
.doc-page{max-width:820px;margin:auto;padding:30px 5% 80px}
.doc-header{display:block;height:auto;max-width:none;padding:20px 0 30px;border-bottom:1px solid var(--line);margin-bottom:30px}
.doc-header .logo{display:inline-flex}
.doc-header h1{font-size:clamp(36px,4.5vw,56px);letter-spacing:-2.5px;margin:18px 0 12px}
.doc-intro{font-size:13px;line-height:1.8;color:#73766d;max-width:640px}
.doc-body{font-size:13px;line-height:1.9;color:#5f665a}
.doc-body h2{font-size:22px;letter-spacing:-.8px;margin:38px 0 10px;color:var(--ink)}
.doc-body h3{font-size:15px;margin:22px 0 6px;color:#39472c}
.doc-body p{margin:0 0 14px}
.doc-body ul{padding-left:22px;margin:0 0 16px}
.doc-body li{margin:6px 0}
.doc-body a{text-decoration:underline;text-underline-offset:3px}
.doc-body a.button{text-decoration:none}
.doc-toc{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:11px;margin-bottom:28px}
.doc-toc a{color:#66833a;text-decoration:none;border-bottom:1px solid #c9d8b3}
.doc-highlight{background:#e9f0de;border-radius:12px;padding:18px 22px;margin:20px 0}
.doc-highlight p{margin:0;color:#3d4a2f;font-weight:500}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:start}
.contact-details{list-style:none;padding:0;margin:0;display:grid;gap:20px}
.contact-details li{display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.7}
.contact-details svg{width:18px;height:18px;flex-shrink:0;color:#7b8b68;margin-top:3px}
.contact-details small{display:block;font-size:9px;letter-spacing:1.3px;text-transform:uppercase;color:#8a937e;margin-bottom:2px}
.contact-card{background:white;border:1px solid #e1e6da;border-radius:14px;padding:28px}
.contact-card .notice{margin-bottom:16px}
.contact-card .p-small-note{margin-top:12px}

/* portal additions */
.p-back-link{display:inline-block;font-size:11px;color:#7b8670;margin-bottom:18px}
.p-ship-form{border-top:1px solid #e3e8d9;margin:6px 30px 0;padding-top:24px}
.p-detail-main>.p-demo-banner{margin-top:0}
.p-ship-form h3{font-size:17px;letter-spacing:-.5px;margin-bottom:6px}
.p-ship-form .field{font-size:11px}
.p-ship-form .field select{appearance:auto}
.p-inline-form{display:inline}
.p-inline-form .p-decline{margin-top:14px}
.p-note{background:#f6f3ea;border:1px solid #ece4cf;border-radius:8px;padding:12px 14px;margin-top:16px;font-size:11px;line-height:1.7;color:#7a6a45}
.p-note strong{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}
.p-payout-form{margin-top:18px}
.p-stats a{color:inherit;display:inline-flex;align-items:center;gap:4px}
.p-stats a svg{width:11px;height:11px}
.p-activities a{color:inherit}
.p-activities .p-empty{padding:30px 10px}
.p-help-faq .p-demo-banner{display:block;margin-top:24px}
.p-help-faq .p-demo-banner svg{vertical-align:-2px;margin-right:6px}
.p-help-faq .p-demo-banner a{text-decoration:underline;text-underline-offset:2px}
.p-settings-card .p-small-note{margin-top:10px}
.p-settings-card .check-row.consent-row{margin:0 0 14px}
.p-settings-card form .button{margin-top:6px}
.p-detail-main .p-demo-banner{display:flex;align-items:center;gap:8px;justify-content:flex-start}
.p-detail-main .p-demo-banner a{text-decoration:underline;text-underline-offset:2px;margin-left:4px}
.p-toggle-row input{position:absolute;opacity:0;width:0;height:0}
.p-toggle-row{position:relative}

/* ops */
.ops-page{max-width:1200px}
.ops-page .doc-header .logo{margin-bottom:24px}
.ops-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 16px;background:white;border:1px solid #e1e6da;border-radius:12px;padding:22px 22px 10px;margin-bottom:28px}
.ops-form .field:nth-child(5){grid-column:1/-1}
.ops-form .button{grid-column:1/-1;justify-self:start;margin-bottom:12px}
.ops-table-wrap{overflow-x:auto;background:white;border:1px solid #e1e6da;border-radius:12px}
.ops-table{width:100%;border-collapse:collapse;font-size:11px}
.ops-table th,.ops-table td{text-align:left;padding:12px 14px;border-bottom:1px solid #eef0e8;vertical-align:top}
.ops-table th{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#8a937e;font-weight:600}
.ops-table small{color:#8a937e}

@media(max-width:760px){
  .contact-grid{grid-template-columns:1fr;gap:28px}
  .form-grid-3{grid-template-columns:1fr}
  .auth-card{padding:30px 22px}
  .auth-top{padding-top:20px}
  .doc-header h1{letter-spacing:-1.8px}
  .ops-form{grid-template-columns:1fr}
  .p-ship-form{margin:0 20px}
}

/* Inline SVG icon in glyph slots (benefit strip, steps). */
.icon-truck{display:inline-flex;align-items:center}
.icon-truck svg{width:1em;height:1em;stroke-width:1.6}
.benefit-strip .icon-truck{height:24px}
.benefit-strip .icon-truck svg{width:22px;height:22px}
.step-number .icon-truck{height:30px}
.step-number .icon-truck svg{width:26px;height:26px}
