/* R35 C8: scoped insurance presentation shared by Passport and the isolated harness.
   renderPresentation() owns state visibility; this stylesheet owns geometry. */
@font-face{font-family:"BUGGY Insurance Courier";font-style:normal;font-weight:400;font-display:swap;src:url("./insurance-courier-prime-regular.ttf") format("truetype")}
@font-face{font-family:"BUGGY Insurance Courier";font-style:normal;font-weight:700;font-display:swap;src:url("./insurance-courier-prime-bold.ttf") format("truetype")}
@font-face{font-family:"BUGGY Insurance Marker";font-style:normal;font-weight:400;font-display:swap;src:url("./insurance-permanent-marker.ttf") format("truetype")}
body.buggy-insurance-v235-open{overflow:hidden!important;overscroll-behavior:none}
.buggy-insurance-v235{
  --navy:#06264d;--amber:#ffbd39;--paper:#fffdf8;--line:#cbd3d9;
  position:fixed!important;inset:0!important;z-index:2147483000!important;
  display:grid!important;place-items:center!important;width:100vw!important;
  height:100dvh!important;min-height:100vh!important;margin:0!important;
  padding:clamp(10px,3vw,28px)!important;overflow:hidden!important;
  background:rgba(6,38,77,.82)!important;backdrop-filter:blur(5px);
  color:var(--navy)!important;isolation:isolate;opacity:1!important;filter:none!important;
  font:400 16px/1.5 "BUGGY Insurance Courier","Courier New",monospace!important;
}
.buggy-insurance-v235,.buggy-insurance-v235 *,.buggy-insurance-v235 *::before,.buggy-insurance-v235 *::after{box-sizing:border-box!important}
.buggy-insurance-v235__sheet{
  position:relative!important;z-index:1!important;width:min(100%,540px)!important;
  max-height:calc(100dvh - clamp(20px,6vw,56px))!important;margin:0!important;
  padding:clamp(18px,4vw,30px)!important;overflow-x:hidden!important;overflow-y:auto!important;
  overscroll-behavior:contain;scrollbar-color:var(--amber) transparent;
  color:var(--navy)!important;background:var(--paper)!important;
  border:2px solid var(--amber)!important;border-radius:28px!important;
  box-shadow:0 24px 64px #0005!important;isolation:isolate;opacity:1!important;filter:none!important;
}
.buggy-insurance-v235__header{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;gap:12px!important;align-items:start!important;margin:0 0 18px!important}
.buggy-insurance-v235__waypoint{display:block!important;margin:0 0 8px!important;font:700 12px/1.3 "BUGGY Insurance Courier","Courier New",monospace!important;letter-spacing:.06em}
.buggy-insurance-v235 h2,.buggy-insurance-v235 h3,.buggy-insurance-v235 button,.buggy-insurance-v235__file-trigger{font-family:"BUGGY Insurance Marker","Comic Sans MS",cursive!important;color:var(--navy)!important}
.buggy-insurance-v235 h2{margin:0!important;font-size:clamp(27px,7vw,34px)!important;line-height:1.12!important;font-weight:400!important}
.buggy-insurance-v235 h3{margin:0 0 10px!important;font-size:24px!important;line-height:1.2!important;font-weight:400!important}
.buggy-insurance-v235 p{margin:0 0 14px!important;font:400 16px/1.5 "BUGGY Insurance Courier","Courier New",monospace!important;color:var(--navy)!important;overflow-wrap:anywhere}
.buggy-insurance-v235__steps{display:flex!important;list-style:none!important;gap:8px!important;padding:0!important;margin:0 0 18px!important}
.buggy-insurance-v235__steps li{flex:1;padding:7px 0!important;color:#526172!important;border-bottom:3px solid #dfe3e5!important;font:700 12px/1.3 "BUGGY Insurance Courier","Courier New",monospace!important}
.buggy-insurance-v235__steps [aria-current="step"]{border-color:var(--amber)!important;color:var(--navy)!important}
.buggy-insurance-v235__close{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:50%!important;box-shadow:none!important;font:700 28px/1 "Courier New",monospace!important;cursor:pointer!important}
.buggy-insurance-v235 button:focus-visible,.buggy-insurance-v235 select:focus-visible,.buggy-insurance-v235 input:focus-visible,.buggy-insurance-v235 summary:focus-visible,.buggy-insurance-v235__file-trigger:focus-within{outline:3px solid #06264d!important;outline-offset:3px!important}
.buggy-insurance-v235__notice{margin:0 0 16px!important;padding:12px!important;border-left:4px solid var(--amber)!important;background:#fff1cf!important;border-radius:8px!important;font:700 15px/1.45 "BUGGY Insurance Courier","Courier New",monospace!important}
.buggy-insurance-v235__notice[data-tone="error"]{color:#8a0c2a!important;background:#fff0f3!important;border-color:#ac1236!important}
.buggy-insurance-v235__notice[data-tone="success"]{color:#104e30!important;background:#e9f6ee!important;border-color:#17643c!important}
.buggy-insurance-v235__control{padding:14px!important;margin:0 0 18px!important;border:1px solid var(--amber)!important;border-radius:14px!important;background:var(--paper)!important}
.buggy-insurance-v235__control p{font-size:14px!important}
.buggy-insurance-v235__view{margin:0!important;padding:0!important;border:0!important}
.buggy-insurance-v235__field{display:grid!important;gap:6px!important;margin:0 0 14px!important}
.buggy-insurance-v235__field>span{font-size:13px!important;font-weight:700!important}
.buggy-insurance-v235 select{width:100%!important;min-width:0!important;min-height:50px!important;padding:10px!important;background:var(--paper)!important;color:var(--navy)!important;border:1px solid #9eabb5!important;border-radius:14px!important;font:400 16px/1.4 "BUGGY Insurance Courier","Courier New",monospace!important}
.buggy-insurance-v235__file-actions{display:grid!important;grid-template-columns:1.1fr 1fr!important;gap:10px!important;margin:0 0 10px!important}
.buggy-insurance-v235__file-trigger,.buggy-insurance-v235__submit,.buggy-insurance-v235__secondary{position:relative!important;display:grid!important;place-items:center!important;width:100%!important;min-height:50px!important;margin:0!important;padding:12px!important;background:var(--amber)!important;border:1px solid #dd9700!important;border-radius:15px!important;box-shadow:0 3px 0 #06264d14!important;font-size:16px!important;font-weight:400!important;line-height:1.25!important;text-align:center!important;text-decoration:none!important;cursor:pointer!important}
.buggy-insurance-v235__file-trigger:not(.buggy-insurance-v235__file-trigger--primary),.buggy-insurance-v235__secondary{background:var(--paper)!important;border-color:#98a8b5!important;box-shadow:none!important}
/* Native controls remain keyboard/touch operable, instead of fake upload buttons. */
.buggy-insurance-v235__file-trigger input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;opacity:0!important;cursor:pointer!important}
.buggy-insurance-v235 button:disabled,.buggy-insurance-v235 select:disabled{cursor:not-allowed!important;opacity:.52!important;box-shadow:none!important}
.buggy-insurance-v235__file-trigger:has(input:disabled){opacity:.52!important;cursor:not-allowed!important}
.buggy-insurance-v235 .buggy-insurance-v235__file-help{font-size:13px!important;color:#526172!important}
.buggy-insurance-v235 .buggy-insurance-v235__coverage-note{font-size:14px!important}
.buggy-insurance-v235__selected{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:4px 10px!important;margin:12px 0!important;padding:12px!important;border:1px solid #aac1d6!important;background:#edf4fb!important;border-radius:12px!important}
.buggy-insurance-v235__selected>span{grid-column:1/-1!important;font-size:12px!important}
.buggy-insurance-v235__selected strong{overflow-wrap:anywhere!important;font-size:14px!important}
.buggy-insurance-v235__selected button{min-height:44px!important;padding:8px!important;background:transparent!important;border:1px solid #98a8b5!important;border-radius:10px!important;font-size:13px!important;cursor:pointer!important}
.buggy-insurance-v235__disclosure{margin:16px 0!important;padding:14px 0 0!important;border-top:1px solid var(--line)!important}
.buggy-insurance-v235__disclosure>p{margin-bottom:2px!important;font-size:14px!important}
.buggy-insurance-v235__more{margin:0!important;border:0!important}
.buggy-insurance-v235__more>summary{display:list-item;min-height:44px!important;padding:11px 0!important;color:var(--navy)!important;font:700 14px/1.5 "BUGGY Insurance Courier","Courier New",monospace!important;cursor:pointer!important}
.buggy-insurance-v235__more p{font-size:14px!important}
.buggy-insurance-v235__attestation{display:grid!important;grid-template-columns:26px minmax(0,1fr)!important;align-items:start!important;gap:10px!important;margin:14px 0!important;padding:14px!important;background:#fff1cf!important;border:1px solid #d5bb75!important;border-radius:14px!important;font:400 15px/1.5 "BUGGY Insurance Courier","Courier New",monospace!important;cursor:pointer!important}
.buggy-insurance-v235__attestation input{width:26px!important;height:26px!important;margin:0!important;accent-color:var(--navy)!important}
.buggy-insurance-v235 .buggy-insurance-v235__finish-note{margin:14px 0 0!important;font-size:13px!important;color:#526172!important}
.buggy-insurance-v235__routes{margin:6px 0!important}
.buggy-insurance-v235__routes button,.buggy-insurance-v235__back{min-height:44px!important;padding:8px 0!important;background:transparent!important;border:0!important;box-shadow:none!important;font-size:14px!important;text-decoration:underline!important;text-underline-offset:4px!important;cursor:pointer!important}
.buggy-insurance-v235__route-label{display:none!important}
.buggy-insurance-v235 .buggy-insurance-v235__request-copy{padding:14px!important;border-left:4px solid var(--amber)!important;background:#fff1cf!important;border-radius:10px!important}
.buggy-insurance-v235__request-copy strong{display:block!important;margin:0 0 8px!important;font-size:13px!important}
.buggy-insurance-v235__result{padding:12px 0 18px!important;text-align:left!important}
.buggy-insurance-v235__result-mark{display:grid!important;place-items:center!important;width:48px!important;height:48px!important;margin:0 0 14px!important;border-radius:50%!important;background:#fff1cf!important;font:bold 28px/1 "Courier New",monospace!important}
.buggy-insurance-v235__result[data-tone="success"] .buggy-insurance-v235__result-mark{color:#fff!important;background:#17643c!important}
.buggy-insurance-v235__result[data-tone="error"] .buggy-insurance-v235__result-mark{color:#fff!important;background:#ac1236!important}
.buggy-insurance-v235[data-review="true"] .buggy-insurance-v235__result-mark{display:none!important}
.buggy-insurance-v235__result-actions{display:grid!important;gap:10px!important;margin:16px 0!important}
.buggy-insurance-v235__summary{padding:0!important;margin:0 0 16px!important}
.buggy-insurance-v235__summary>header{margin:0 0 10px!important}
.buggy-insurance-v235__summary h3{font-size:18px!important}
.buggy-insurance-v235__summary>header small{display:none!important}
.buggy-insurance-v235__summary dl{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 16px!important;margin:0 0 12px!important}
.buggy-insurance-v235__summary dl>div{min-width:0!important;padding:10px 0!important;border-bottom:1px solid var(--line)!important}
.buggy-insurance-v235__summary dt{margin:0 0 4px!important;font-size:12px!important;color:#526172!important}
.buggy-insurance-v235__summary dd{margin:0!important;font-size:16px!important;font-weight:700!important;overflow-wrap:anywhere!important}
.buggy-insurance-v235__summary dl[hidden]{display:none!important}
.buggy-insurance-v235[data-card=true] .buggy-insurance-v235__policy-fact{grid-column:1/-1!important}
.buggy-insurance-v235[data-card=true][data-review=true] #buggyInsuranceResultV235{display:none!important}
.buggy-insurance-v235[data-card=true] .buggy-insurance-v235__summary h3{font-size:24px!important}
.buggy-insurance-v235__card-facts{border-top:1px solid var(--line)!important;margin:0 0 18px!important}
.buggy-insurance-v235__card-facts>summary{padding:10px 0!important;min-height:44px!important;font-size:13px!important;cursor:pointer}
.buggy-insurance-v235__card-facts ul{list-style:none!important;padding:0!important;margin:12px 0 16px!important;font-size:13px!important}
.buggy-insurance-v235__card-facts li{margin:7px 0!important;line-height:1.45!important}
.buggy-insurance-v235__card-facts li>span{font-family:Arial,sans-serif!important;color:#387650!important}
.buggy-insurance-v235__card-facts li>span[data-mark=unreadable]{color:#805900!important}
.buggy-insurance-v235__card-facts p{font-size:13px!important;line-height:1.5!important;margin-bottom:12px!important}
.buggy-insurance-v235__printed-statement{white-space:normal!important}
.buggy-insurance-v235[data-card=true] #buggyInsuranceSummaryNoteV235{font-size:12px!important}
.buggy-insurance-v235__policy-review{border:1px solid #ffbe32;border-radius:16px;padding:16px;margin:12px 0;background:#fff8df}
.buggy-insurance-v235__policy-review[hidden],.buggy-insurance-v235__policy-review [hidden]{display:none!important}
.buggy-insurance-v235__policy-review[data-required=false]{border:0;background:transparent;padding:0;margin:12px 0}
.buggy-insurance-v235__policy-review[data-required=false]:has(#buggyInsurancePolicyEditorV236[hidden])>h3,
.buggy-insurance-v235__policy-review[data-required=false]:has(#buggyInsurancePolicyEditorV236[hidden])>p{display:none!important}
.buggy-insurance-v235__policy-review label:not(.buggy-insurance-v235__policy-ack){display:block;margin:16px 0 8px;font-weight:700;font-size:12px}
.buggy-insurance-v235__policy-review input[type=text]{box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:10px;border:2px solid #a87500;border-radius:10px;background:#fff;color:#062344;font:700 17px/1.4 monospace}
.buggy-insurance-v235__policy-review input:focus-visible{outline:3px solid #062344;outline-offset:3px}
.buggy-insurance-v235__policy-review p{font-size:13px;line-height:1.5}
.buggy-insurance-v235__policy-source{overflow:auto;background:#fff;border-radius:8px;margin-bottom:10px}
.buggy-insurance-v235__policy-source canvas,.buggy-insurance-v235__policy-source img{display:block;width:100%;height:auto}
.buggy-insurance-v235__policy-source img{max-height:360px;object-fit:contain}
.buggy-insurance-v235__policy-review a{display:inline-block;min-height:32px;color:#062344;text-decoration:underline;font-size:13px}
.buggy-insurance-v235__policy-ack{display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-size:13px;line-height:1.5}
.buggy-insurance-v235__policy-ack input{flex:0 0 22px;width:22px;height:22px;margin:0;accent-color:#062344}
.buggy-insurance-v235__policy-basis{display:block;margin-top:4px;font:12px/1.4 monospace;color:#3b715a}
.buggy-insurance-v235[data-policy-review=true] .buggy-insurance-v235__summary>dl,.buggy-insurance-v235[data-policy-review=true] #buggyInsuranceSummaryNoteV235{display:none!important}
.buggy-insurance-v235__summary-confirm>div{display:grid!important;gap:10px!important}
.buggy-insurance-v235__requirements{margin:0 0 18px!important}
.buggy-insurance-v235__requirements h3{font-size:20px!important}
.buggy-insurance-v235__requirements ul{padding:0!important;margin:0!important;list-style:none!important}
.buggy-insurance-v235__requirements li{display:flex!important;justify-content:space-between!important;gap:14px!important;padding:10px 0!important;border-bottom:1px solid var(--line)!important;font-size:15px!important}
.buggy-insurance-v235__requirements li[data-state="current"] strong{color:#17643c!important}
.buggy-insurance-v235__requirements li[data-state="needed"] strong{color:#805900!important}
.buggy-insurance-v235__rule{margin:0!important;padding:10px 0!important}
.buggy-insurance-v235__rule span{display:none!important}
.buggy-insurance-v235__rule strong{font-size:14px!important}
.buggy-insurance-v235__rule p{margin:6px 0!important;font-size:13px!important}
/* Rip stays with this dialog, above the inert Passport underneath. Transparent
   character, same art as the rental guide; optional answers never cover inputs. */
.buggy-insurance-v235__rip{position:sticky!important;bottom:0!important;z-index:3;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:8px!important;margin:10px 0 0!important;padding:0!important;pointer-events:none;background:transparent!important}
.buggy-insurance-v235__rip-toggle{display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important;width:102px!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;cursor:pointer;pointer-events:auto}
.buggy-insurance-v235__rip-toggle img{display:block!important;width:96px!important;height:62px!important;object-fit:contain!important;object-position:bottom!important;filter:drop-shadow(0 2px 2px #06264d20)}
.buggy-insurance-v235__rip-toggle>span{display:block!important;padding:7px 12px!important;border:1px solid #dd9700!important;border-radius:18px!important;background:var(--amber)!important;font-size:14px!important;line-height:1.3!important;white-space:nowrap}
.buggy-insurance-v235__rip-panel{width:100%!important;max-height:min(48dvh,380px)!important;overflow:auto!important;overscroll-behavior:contain;pointer-events:auto;padding:14px!important;background:var(--paper)!important;border:2px solid var(--amber)!important;border-radius:19px 19px 5px 19px!important;box-shadow:0 8px 24px #06264d24!important}
.buggy-insurance-v235__rip-panel>header{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;margin:0 0 5px!important}
.buggy-insurance-v235__rip-panel h3{margin:0!important;font-size:21px!important}
.buggy-insurance-v235__rip-panel>header button{width:44px!important;min-height:44px!important;background:transparent!important;border:1px solid var(--line)!important;border-radius:50%!important;font:24px/1 "BUGGY Insurance Courier",monospace!important;cursor:pointer}
.buggy-insurance-v235__rip-panel details+details{border-top:1px solid var(--line)!important}
.buggy-insurance-v235__rip-panel summary{min-height:44px!important;padding:10px 0!important;font:700 14px/1.4 "BUGGY Insurance Courier",monospace!important;cursor:pointer}
.buggy-insurance-v235__rip-panel p{font-size:14px!important;line-height:1.5!important;margin:0 0 12px!important}
/* Hidden wins against this presentation and host theme styles. */
.buggy-insurance-v235[hidden],.buggy-insurance-v235 [hidden]{display:none!important}
@media(max-width:360px){
  .buggy-insurance-v235__file-actions{grid-template-columns:1fr!important}
  .buggy-insurance-v235__summary dl{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){.buggy-insurance-v235 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
