/* Robbie's form helper (ab-forms-v306.js). The card's frame, progress line, step motion and footer come from the Plan
   my day card (ab-plan-v306.css, .abp-*); these are the form parts: fields, choices, the review and the downloads. */
.abf-card{--abf-blue:var(--abp-blue,#205CC5);--abf-line:var(--abp-line,#E2E7DF);--abf-ink:var(--abp-ink,#19241F);--abf-ink2:var(--abp-ink2,#59645D);--abf-ink3:var(--abp-ink3,#66716A)}
.abf-card [hidden]{display:none!important}
/* p18z23 (Romik, 30 Oct 2026: "give the form wizard the elevated visual treatment"): a light blue frame and top band,
   Robbie with his clipboard in the head beside the form's name */
#robbieWidget .abf-card.abp-card{border-color:#CFE0FA;background:linear-gradient(180deg,#EDF4FF 0%,#F7FAFF 90px,#FFFFFF 170px);box-shadow:0 1px 2px rgba(25,36,31,.05),0 18px 40px -20px rgba(32,92,197,.5)}
#robbieWidget .abf-head{align-items:center;gap:12px;margin:-2px 0 12px}
#robbieWidget .abf-face{flex:0 0 auto;width:56px;height:56px;object-fit:contain;margin:-6px -2px -6px -6px}
#robbieWidget .abf-headt{display:flex;flex-direction:column;gap:2px;min-width:0}
#robbieWidget .abf-head .abp-count{flex:0 0 auto;white-space:nowrap}
/* p18z27: the step count sits under the form's name, so Larger view has the right side, zoomed or not */
#robbieWidget .abf-headt{flex:1 1 auto}
#robbieWidget .abf-headt .abp-count{margin:2px 0 0;font-size:12px}
#robbieWidget .abf-head .abf-title{margin:0;font-size:14.5px;font-weight:650;line-height:1.3;color:var(--abf-ink)}
#robbieWidget .abf-card .abp-seg{height:5px}
/* p18z23 (Romik: "elevate the form builders visuals and transition between one step to the next"): the step's parts
   glide in one after another from the side the step comes from; Robbie hops; round marks for one choice answers */
#robbieWidget .abf-in .abf-a{animation:abfIn .46s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--k,0) * 40ms + 40ms)}
@keyframes abfIn{from{opacity:0;transform:translate3d(var(--dx,26px),10px,0)}}
#robbieWidget .abf-face.abf-hop{animation:abfHop .6s cubic-bezier(.3,1.6,.5,1)}
@keyframes abfHop{0%{transform:none}35%{transform:translate3d(0,-7px,0) rotate(-6deg)}70%{transform:translate3d(0,1px,0) rotate(2deg)}100%{transform:none}}
#robbieWidget .abf-card .abp-next{display:inline-flex;align-items:center;gap:8px}
#robbieWidget .abf-card .abp-next svg{transition:transform .18s ease}
#robbieWidget .abf-card .abp-next:hover svg{transform:translateX(3px)}
#robbieWidget .abf-dot{border-radius:50%}
#robbieWidget .abf-choice.is-on .abf-dot{background:var(--abf-blue);border-color:var(--abf-blue);box-shadow:inset 0 0 0 3px #fff}
#robbieWidget .abf-choice{transition:border-color .15s ease,background-color .15s ease,transform .12s ease}
#robbieWidget .abf-choice:active{transform:scale(.985)}
#robbieWidget .abf-card input:focus,#robbieWidget .abf-card textarea:focus{background:#FBFDFF}
@media (prefers-reduced-motion:reduce){#robbieWidget .abf-in .abf-a,#robbieWidget .abf-face.abf-hop{animation:none!important}}
#robbieWidget .abf-card .abp-next{border-radius:12px!important}
.abf-title{margin:-4px 0 10px;font-size:13px;font-weight:600;color:var(--abf-ink2)}
.abf-step{padding-bottom:4px}
.abf-meta{margin:8px 0 0;font-size:12.5px;line-height:1.45;color:var(--abf-ink3)}
.abf-meta a,.abf-status a,.abf-then a{color:var(--abf-blue);text-decoration:underline;text-underline-offset:2px}
.abf-pre{color:var(--abf-blue);font-weight:600}
.abf-privacy{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#F2F7F2;color:#2F5D3A;font-size:13px;line-height:1.4}
.abf-privacy svg{flex:0 0 auto;margin-top:1px}
.abf-notice{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#FFF4E0;color:#6B3F00;font-size:13.5px;font-weight:600;line-height:1.4}
.abf-fields{display:grid;gap:12px;margin:12px 0 0}
.abf-field{display:grid;gap:5px;min-width:0;margin:0;padding:0;border:0}
.abf-label{font-size:14px;font-weight:650;line-height:1.3;color:var(--abf-ink);padding:0}
.abf-opt{font-weight:500;color:var(--abf-ink3);font-size:12.5px}
.abf-help{font-size:12.5px;line-height:1.4;color:var(--abf-ink3)}
.abf-card input[type=text],.abf-card input[type=email],.abf-card input[type=tel],.abf-card input[type=number],.abf-card input[type=time],.abf-card textarea{
  width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1.5px solid var(--abf-line);border-radius:12px;background:#fff;color:var(--abf-ink);font:inherit;font-size:16px;line-height:1.35;appearance:none;-webkit-appearance:none}
.abf-card textarea{min-height:96px;resize:vertical}
.abf-card input:focus,.abf-card textarea:focus{outline:none;border-color:var(--abf-blue);box-shadow:0 0 0 3px rgba(32,92,197,.18)}
.abf-opts{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
/* the buttons also carry #robbieWidget .abf-card: the Plan card's reset (#robbieWidget .abp-card button{font:inherit;color:inherit})
   would otherwise win and draw dark text on the blue button */
.abf-choice,#robbieWidget .abf-card .abf-choice{display:flex;width:100%;align-items:center;gap:8px;min-height:44px;padding:9px 12px;border:1.5px solid var(--abf-line);border-radius:8px;background:#fff;color:var(--abf-ink);font-size:14px;font-weight:600;line-height:1.25;text-align:left;cursor:pointer}
.abf-choice:hover,#robbieWidget .abf-card .abf-choice:hover{border-color:#C8D5EC}
.abf-choice.is-on,#robbieWidget .abf-card .abf-choice.is-on{border-color:var(--abf-blue);background:#EDF3FE;color:#173F8A}
.abf-choice:focus-visible,.abf-act:focus-visible,.abf-change:focus-visible,.abf-open:focus-visible{outline:3px solid rgba(32,92,197,.45);outline-offset:2px}
.abf-tick{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border:1.5px solid #C2CCC4;border-radius:5px;color:transparent;flex:0 0 auto}
.abf-choice.is-on .abf-tick{border-color:var(--abf-blue);background:var(--abf-blue);color:#fff}
.abf-check{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:600}
.abf-rv{margin:12px 0 0;padding:12px 14px;border:1px solid var(--abf-line);border-radius:14px;background:#fff}
.abf-rv-h{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--abf-ink)}
.abf-change,#robbieWidget .abf-card .abf-change{border:0;background:none;color:var(--abf-blue);font-size:13px;font-weight:650;cursor:pointer;padding:6px 2px;min-height:32px}
.abf-rv dl{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin:8px 0 0}
.abf-rv dt{font-size:12px;color:var(--abf-ink3);margin-top:6px}
.abf-rv dd{margin:0;font-size:14px;color:var(--abf-ink);overflow-wrap:anywhere}
.abf-need{margin:8px 0 0;font-size:13px;color:#9A3412;font-weight:600}
.abf-acts{display:grid;gap:8px;margin:16px 0 0}
.abf-act,#robbieWidget .abf-card .abf-act{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 14px;border:1.5px solid var(--abf-blue);border-radius:12px;background:#fff;color:var(--abf-blue);font-size:15px;font-weight:650;text-decoration:none;cursor:pointer}
.abf-act.is-main,#robbieWidget .abf-card .abf-act.is-main{background:var(--abf-blue);color:#fff}
.abf-act:disabled{opacity:.6;cursor:progress}
.abf-status{margin:10px 0 0;font-size:13.5px;line-height:1.45;color:var(--abf-ink2)}
.abf-then{margin:14px 0 0;border:1px solid var(--abf-line);border-radius:12px;background:#fff}
#robbieWidget .abf-then summary{display:flex;align-items:center;min-height:44px;padding:8px 14px;font-size:13.5px;font-weight:650;color:var(--abf-ink);cursor:pointer;list-style:none}
#robbieWidget .abf-then summary::-webkit-details-marker{display:none}
#robbieWidget .abf-then summary::after{content:"";width:8px;height:8px;margin-left:auto;border:solid var(--abf-ink3);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease}
#robbieWidget .abf-then[open] summary::after{transform:rotate(225deg) translate(-2px,-2px)}
#robbieWidget .abf-then ol{margin:0;padding:0 14px 12px 34px;font-size:13.5px;line-height:1.5;color:var(--abf-ink2)}
#robbieWidget .abf-then li{font-size:13.5px;line-height:1.5}
/* p18z23 (Romik, 30 Oct 2026: "after the forms are fillout out, lets make sure the user is guided on where they need to
   email it and how they should email it"): How to send it, numbered steps with the address, subject and message ready to
   copy or to open in the visitor's email app */
#robbieWidget .abf-send{position:relative;margin:16px 0 0;padding:16px;border:1.5px solid #CFE0FA;border-radius:16px;background:linear-gradient(180deg,#F3F8FF 0%,#FFFFFF 120px);box-shadow:0 10px 24px -16px rgba(32,92,197,.45)}
#robbieWidget .abf-send-h{display:flex;gap:12px;align-items:flex-start}
#robbieWidget .abf-send-i{display:inline-flex;flex:0 0 auto;width:40px;height:40px;align-items:center;justify-content:center;border-radius:12px;background:var(--abf-blue);color:#fff}
#robbieWidget .abf-send h4{margin:0;font-size:16px;font-weight:700;line-height:1.3;color:var(--abf-ink)}
#robbieWidget .abf-send-h p{margin:3px 0 0;font-size:13.5px;line-height:1.45;color:var(--abf-ink2)}
#robbieWidget .abf-sol{list-style:none;margin:16px 0 0;padding:0;counter-reset:abfs}
#robbieWidget .abf-sst{position:relative;margin:0;padding:0 0 18px 40px;counter-increment:abfs}
#robbieWidget .abf-sst::before{content:counter(abfs);position:absolute;left:0;top:-4px;display:flex;width:28px;height:28px;align-items:center;justify-content:center;box-sizing:border-box;border:1.5px solid var(--abf-blue);border-radius:50%;background:#fff;color:var(--abf-blue);font-size:13px;font-weight:700}
#robbieWidget .abf-sst::after{content:"";position:absolute;left:13.5px;top:31px;bottom:3px;width:1.5px;border-radius:1px;background:#D3E1F8}
#robbieWidget .abf-sst:last-child{padding-bottom:0}
#robbieWidget .abf-sst:last-child::after{display:none}
#robbieWidget .abf-sst.is-done::before{content:"\2713";background:var(--abf-blue);color:#fff}
#robbieWidget .abf-sst h5{margin:3px 0 4px;font-size:14.5px;font-weight:700;line-height:1.3;color:var(--abf-ink)}
#robbieWidget .abf-sst p,#robbieWidget .abf-sst li{margin:6px 0 0;font-size:13.5px;line-height:1.45;color:var(--abf-ink2)}
#robbieWidget .abf-sst ul{margin:0;padding:0 0 0 18px}
#robbieWidget .abf-sst a:not(.abf-act){color:var(--abf-blue);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
#robbieWidget .abf-sst .abf-quiet{font-size:12.5px;color:var(--abf-ink3)}
#robbieWidget .abf-sst .abf-late{color:#9A3412;font-weight:600}
#robbieWidget .abf-sst ul.abf-need-list{padding:0;list-style:none}
#robbieWidget .abf-need-list li{margin:2px 0 0}
#robbieWidget .abf-card .abf-need-list label{display:flex;gap:10px;align-items:flex-start;min-height:32px;margin:0;padding:4px 0;font-size:13.5px;font-weight:400;line-height:1.45;color:var(--abf-ink2);cursor:pointer}
#robbieWidget .abf-need-list input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:var(--abf-blue);cursor:pointer}
#robbieWidget .abf-need-list input:checked+span{color:var(--abf-ink3);text-decoration:line-through;text-decoration-color:rgba(89,100,93,.45)}
#robbieWidget .abf-mailbox,#robbieWidget .abf-addr{margin:10px 0 0;border:1px solid var(--abf-line);border-radius:12px;background:#fff;overflow:hidden}
#robbieWidget .abf-mrow{padding:8px 12px 10px;border-top:1px solid #EEF1EC}
#robbieWidget .abf-mrow:first-child{border-top:0}
#robbieWidget .abf-mk{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:650;letter-spacing:.02em;color:var(--abf-ink3)}
#robbieWidget .abf-mv{margin-top:1px;font-size:14px;line-height:1.4;color:var(--abf-ink);overflow-wrap:break-word}
#robbieWidget .abf-addr{padding:8px 12px 10px}
#robbieWidget .abf-addr address{font-style:normal;font-size:14px;line-height:1.45;color:var(--abf-ink)}
#robbieWidget .abf-card .abf-copy{flex:0 0 auto;min-height:32px;padding:5px 12px;border:1.5px solid #C9D7EE;border-radius:10px;background:#fff;color:var(--abf-blue);font-size:12.5px;font-weight:650;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
#robbieWidget .abf-card .abf-copy:hover{background:#EDF3FE}
#robbieWidget .abf-card .abf-copy.is-ok{border-color:#2F7D4A;background:#EEF7F0;color:#2F5D3A}
#robbieWidget .abf-card .abf-copy:focus-visible,#robbieWidget .abf-then summary:focus-visible{outline:3px solid rgba(32,92,197,.45);outline-offset:2px}
/* the email: Robbie's message or the visitor's own, then the ways to send it (p18z23; Romik: "give it the option for a
   prefilled template or write the email yourself, attached the pdf automatically", "we need gmail and others") */
#robbieWidget .abf-mmodes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 0}
#robbieWidget .abf-card .abf-mmode{justify-content:center;min-height:44px;font-size:13.5px}
#robbieWidget .abf-card .abf-min,#robbieWidget .abf-card .abf-mtext{display:block;width:100%;box-sizing:border-box;margin:4px 0 0;padding:8px 12px;border:1.5px solid var(--abf-line);border-radius:12px!important;background:#fff;color:var(--abf-ink);font:inherit;font-size:16px;line-height:1.4}
#robbieWidget .abf-card .abf-mtext{min-height:120px;resize:vertical;font-size:15px}
#robbieWidget .abf-card .abf-share{display:flex;width:100%;min-height:58px;margin:14px 0 0;gap:12px;justify-content:flex-start;text-align:left}
#robbieWidget .abf-share>span{display:flex;flex-direction:column;gap:2px;line-height:1.25}
#robbieWidget .abf-card .abf-share svg{flex:0 0 auto;width:20px;height:20px}
#robbieWidget .abf-card .abf-share>span{font-size:15px;font-weight:700}
#robbieWidget .abf-card .abf-share small{display:block;font-size:12.5px!important;font-weight:500;line-height:1.35;opacity:.92}
#robbieWidget .abf-card .abf-share.is-wait{opacity:.65;cursor:progress}
#robbieWidget .abf-or{margin:14px 0 0!important;font-size:12px!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--abf-ink3)!important}
#robbieWidget .abf-vias{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:8px 0 0}
#robbieWidget .abf-card a.abf-via{display:flex;align-items:center;gap:8px;min-height:46px;padding:10px 14px;border:1.5px solid #C9D7EE;border-radius:var(--robbie-radius,30px);background:#fff;color:var(--abf-ink);font-size:14px;font-weight:650;line-height:1.2;text-decoration:none;transition:border-color .15s ease,background-color .15s ease,transform .12s ease}
#robbieWidget .abf-card a.abf-via svg{flex:0 0 auto;color:var(--abf-blue)}
#robbieWidget .abf-card a.abf-via:hover{border-color:var(--abf-blue);background:#F3F8FF}
#robbieWidget .abf-card a.abf-via:active{transform:scale(.985)}
#robbieWidget .abf-card a.abf-via:focus-visible{outline:3px solid rgba(32,92,197,.45);outline-offset:2px}
#robbieWidget .abf-sst .abf-signnote{padding:8px 10px;border-radius:10px;background:#FFF7E8;color:#6B3F00!important}
#robbieWidget .abf-send-h .abf-snote{margin-top:8px;padding:8px 10px;border-radius:10px;background:#FFF7E8;color:#6B3F00}
#robbieWidget .abf-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* a control that takes the keyboard's focus stops above the Back and Next bar, not under it */
#robbieWidget .abf-card :is(a,button,input,textarea,summary){scroll-margin:16px 0 104px}
@media (pointer:coarse){#robbieWidget .abf-card .abf-copy{min-height:40px;padding:8px 14px}}
#robbieWidget .abf-card .abf-mk label{margin:0;padding:0;font-size:12px;font-weight:650;letter-spacing:.02em;line-height:1.3;color:var(--abf-ink3)}
#robbieWidget .abf-card a.abf-via span{overflow-wrap:normal;word-break:normal}
@media (max-width:420px){#robbieWidget .abf-vias{grid-template-columns:1fr}}
.abf-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 2px}
.abf-row-lab{font-size:12.5px;font-weight:650;color:#59645D}
.abf-open{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 12px;border:1.5px solid #205CC5;border-radius:8px;background:#fff;color:#205CC5;font:600 13px/1.2 inherit;font-family:inherit;cursor:pointer;vertical-align:middle}
.abf-open:hover{background:#EDF3FE}
/* p18z23 (Romik, 30 Oct 2026: "lets elevate the date pickers too"): a date question is a field with a calendar icon and
   the day in words; a month calendar opens under it, in the card, in the Plan my day calendar's look (ab-plan-v306.css
   .abp-cal*): today ringed, the chosen day in blue, days that cannot be picked faint, a new month gliding in from the
   side it comes from */
#robbieWidget .abf-card .abf-time,#robbieWidget .abf-card .abf-date{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1.5px solid var(--abf-line);border-radius:var(--robbie-radius,30px)!important;background:#fff;color:var(--abf-ink3);font-size:16px;font-weight:500;line-height:1.35;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}
#robbieWidget .abf-card .abf-time>svg,#robbieWidget .abf-card .abf-date>svg{flex:0 0 auto;color:var(--abf-blue)}
#robbieWidget .abf-date-v{flex:1 1 auto;min-width:0}
#robbieWidget .abf-card .abf-time.is-set,#robbieWidget .abf-card .abf-date.is-set{color:var(--abf-ink);font-weight:600}
#robbieWidget .abf-date-c{display:flex;color:var(--abf-ink3);transition:transform .25s ease}
#robbieWidget .abf-card .abf-time:hover,#robbieWidget .abf-card .abf-date:hover{border-color:#C8D5EC}
#robbieWidget .abf-card .abf-time.is-open,#robbieWidget .abf-card .abf-date.is-open{border-color:var(--abf-blue);background:#FBFDFF;box-shadow:0 0 0 3px rgba(32,92,197,.18)}
#robbieWidget .abf-time.is-open .abf-date-c,#robbieWidget .abf-date.is-open .abf-date-c{transform:rotate(180deg)}
/* the questions beside an open calendar keep their size (a grid row grows to the calendar's height) */
#robbieWidget .abf-datef,#robbieWidget .abf-fields:has(.abf-calw:not([hidden]))>.abf-field{align-content:start}
#robbieWidget .abf-fields:has(.abf-calw:not([hidden]),.abf-tpw:not([hidden])){align-items:start}
#robbieWidget .abf-calw{margin-top:-5px}
#robbieWidget .abf-cal{max-width:400px;margin:8px 0 2px;padding:0 0 4px;border:1px solid color-mix(in srgb,var(--tone) 22%,#fff);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 18px 36px -22px color-mix(in srgb,var(--tone) 70%,transparent)}
#robbieWidget .abf-cal-h{display:flex;align-items:center;gap:6px;margin:0 0 6px;padding:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--tone) 88%,#000) 0%,var(--tone) 55%,color-mix(in srgb,var(--tone) 72%,#fff) 100%);color:#fff}
#robbieWidget .abf-cal-t{flex:1;text-align:center;font-size:16px;font-weight:700;letter-spacing:.01em;color:#fff}
#robbieWidget .abf-card .abf-cal-nav{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:0;border:0;border-radius:50%!important;background:rgba(255,255,255,.2);color:#fff;cursor:pointer;transition:background-color .15s ease}
#robbieWidget .abf-card .abf-cal-nav:not(.is-off):hover{background:rgba(255,255,255,.32)}
#robbieWidget .abf-card .abf-cal-nav.is-off{cursor:default}
#robbieWidget .abf-card .abf-cal-nav.is-off svg{opacity:.4}
#robbieWidget .abf-cal-r{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
#robbieWidget .abf-cal-g{padding:0 8px}
#robbieWidget .abf-cal-wk{padding:0 0 4px;text-align:center;font-size:11.5px;font-weight:700;color:var(--abf-ink3)}
#robbieWidget .abf-cal-wk .is-wkend{color:color-mix(in srgb,var(--tone) 75%,#fff)}
/* six weeks of room, so the buttons under the calendar stay put from month to month */
#robbieWidget .abf-cal-b{display:grid;align-content:start;gap:2px;min-height:250px}
#robbieWidget .abf-cal-d{position:relative;display:flex;align-items:center;justify-content:center;justify-self:center;width:min(100%,44px);height:40px;border-radius:50%;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--abf-ink);cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease,color .15s ease}
@media (hover:hover){#robbieWidget .abf-cal-d:not(.is-off):not(.is-on):hover{background:color-mix(in srgb,var(--tone) 12%,#fff)}}
#robbieWidget .abf-cal-d.is-wkend:not(.is-off):not(.is-on){color:color-mix(in srgb,var(--tone) 70%,#000)}
#robbieWidget .abf-cal-d.is-band{border-radius:12px;background:color-mix(in srgb,var(--tone) 13%,#fff);color:color-mix(in srgb,var(--tone) 80%,#000)}
#robbieWidget .abf-cal-d.is-anchor:not(.is-on){background:color-mix(in srgb,var(--tone) 16%,#fff);box-shadow:inset 0 0 0 2px var(--tone);color:color-mix(in srgb,var(--tone) 82%,#000)}
#robbieWidget .abf-cal-d.is-today{box-shadow:inset 0 0 0 1.5px var(--tone);color:color-mix(in srgb,var(--tone) 82%,#000)}
#robbieWidget .abf-cal-d.is-today::after{content:"";position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--tone)}
#robbieWidget .abf-cal-d.is-off{color:#C3CAD4;cursor:default}
#robbieWidget .abf-cal-d.is-on{background:linear-gradient(160deg,color-mix(in srgb,var(--tone) 80%,#fff),var(--tone));color:#fff;box-shadow:0 8px 16px -8px color-mix(in srgb,var(--tone) 90%,transparent)}
#robbieWidget .abf-cal-d.is-on::after{background:#fff}
#robbieWidget .abf-cal-d.is-on.is-off{background:#9DB5E2}
#robbieWidget .abf-cal-d:focus{outline:none}
#robbieWidget .abf-cal-d:focus-visible,#robbieWidget .abf-card .abf-date:focus-visible,#robbieWidget .abf-card .abf-time:focus-visible,#robbieWidget .abf-card .abf-tp-b:focus-visible,#robbieWidget .abf-card .abf-cal-nav:focus-visible,#robbieWidget .abf-card .abf-cal-x:focus-visible{outline:3px solid rgba(32,92,197,.45);outline-offset:2px}
#robbieWidget .abf-cal-f{display:flex;justify-content:space-between;margin:4px 6px 0;padding-top:4px;border-top:1px solid #EEF1EC}
#robbieWidget .abf-card .abf-cal-x{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;border:0;border-radius:var(--robbie-radius,30px)!important;background:none;color:color-mix(in srgb,var(--tone) 85%,#000);font-size:14px;font-weight:700;cursor:pointer}
#robbieWidget .abf-card .abf-cal-x:not(:disabled):hover{background:color-mix(in srgb,var(--tone) 10%,#fff)}
#robbieWidget .abf-card .abf-cal-x:disabled{color:var(--abf-ink3);opacity:.5;cursor:default}
#robbieWidget .abf-cal.is-next .abf-cal-b,#robbieWidget .abf-cal.is-next .abf-cal-t{animation:abfMon .32s cubic-bezier(.2,.8,.2,1) backwards;--dx:18px}
#robbieWidget .abf-cal.is-prev .abf-cal-b,#robbieWidget .abf-cal.is-prev .abf-cal-t{animation:abfMon .32s cubic-bezier(.2,.8,.2,1) backwards;--dx:-18px}
@keyframes abfMon{from{opacity:0;transform:translate3d(var(--dx),0,0)}}
/* two questions to a row only where a calendar still has room for 40 px days; in a narrower Robbie window a date
   question takes the whole row */
@container (max-width:650px){#robbieWidget .abf-fields>.abf-datef{grid-column:1/-1}}
/* a phone narrower than about 385 px: the calendar takes 10 px of the card's side padding on each side and keeps less
   of its own, so its days stay 40 px wide (36.6 px at 360 px before) */
@container (max-width:315px){#robbieWidget .abf-calw{margin-left:-10px;margin-right:-10px}#robbieWidget .abf-cal-g{padding-left:4px;padding-right:4px}}
/* p18z24 (Romik, 30 Oct 2026: "polish and elevate the steps process ... give it same visual treatment as the rest of the
   site, add color, icons if necessary, i want it to look user friendly and easy to use"): the site's tinted icon tiles
   (the hue of each step, as the chips in ab-robbie-ui.css), each question on its own card, an icon for its kind */
#robbieWidget .abf-card{--tone:#205CC5}
#robbieWidget .abf-tile{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--tone) 13%,#fff);color:color-mix(in srgb,var(--tone) 80%,#000);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone) 18%,#fff)}
#robbieWidget .abf-sh{display:flex;align-items:center;gap:12px;margin:2px 0 0}
#robbieWidget .abf-sh .abp-q{margin:0}
#robbieWidget .abf-card .abp-seg.is-now:after{background:var(--tone)}
#robbieWidget .abf-fields>.abf-field{padding:12px 14px 14px;border:1px solid var(--abf-line);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(25,36,31,.04);transition:border-color .18s ease,box-shadow .18s ease}
#robbieWidget .abf-fields>.abf-field:focus-within{border-color:color-mix(in srgb,var(--tone) 40%,#fff);box-shadow:0 8px 22px -14px color-mix(in srgb,var(--tone) 55%,transparent)}
#robbieWidget .abf-fields>fieldset.abf-field{min-inline-size:0}
#robbieWidget .abf-fields>fieldset.abf-field>legend{float:left;width:100%;margin:0 0 6px;padding:0}
#robbieWidget .abf-fields>fieldset.abf-field>legend+*{clear:both}
#robbieWidget .abf-label{display:flex;align-items:flex-start;gap:8px}
#robbieWidget .abf-ki{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:24px;height:24px;margin:-2px 0 0;border-radius:50%;background:color-mix(in srgb,var(--tone) 11%,#fff);color:color-mix(in srgb,var(--tone) 78%,#000)}
#robbieWidget .abf-help{display:flex;align-items:flex-start;gap:6px;margin:0 0 2px}
#robbieWidget .abf-help>svg{flex:0 0 auto;margin-top:1px;color:color-mix(in srgb,var(--tone) 70%,#fff)}
#robbieWidget .abf-opt{font-weight:500}
/* yes and no side by side, with a check and a cross */
#robbieWidget .abf-group.is-yn .abf-opts{grid-template-columns:1fr 1fr}
#robbieWidget .abf-card .abf-choice[data-yn] .abf-yni{border-radius:50%;color:#94A09A}
#robbieWidget .abf-card .abf-choice[data-yn="yes"].is-on{border-color:#3F7E1E;background:#EEF6E8;color:#2B5A13}
#robbieWidget .abf-card .abf-choice[data-yn="yes"].is-on .abf-yni{border-color:#3F7E1E;background:#3F7E1E;color:#fff}
#robbieWidget .abf-card .abf-choice[data-yn="no"].is-on{border-color:#7A8580;background:#F2F4F2;color:#3B4540}
#robbieWidget .abf-card .abf-choice[data-yn="no"].is-on .abf-yni{border-color:#5E6964;background:#5E6964;color:#fff}
/* the first step: two facts and the steps ahead, each with its tile */
#robbieWidget .abf-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 0}
#robbieWidget .abf-fact{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--abf-line);border-radius:14px;background:#fff;font-size:12.5px;line-height:1.35;color:var(--abf-ink3)}
#robbieWidget .abf-fact b{display:block;font-size:13.5px;color:var(--abf-ink)}
#robbieWidget .abf-fact .abf-tile,#robbieWidget .abf-steps .abf-tile{width:34px;height:34px}
#robbieWidget .abf-ahead{margin:14px 0 6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--abf-ink3)}
#robbieWidget .abf-steps{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0;padding:0;list-style:none;counter-reset:abfst}
#robbieWidget .abf-steps li{display:flex;align-items:center;gap:10px;min-height:36px;margin:0;font-size:13.5px;font-weight:600;line-height:1.3;color:var(--abf-ink)}
@media (max-width:520px){#robbieWidget .abf-facts,#robbieWidget .abf-steps{grid-template-columns:1fr}}
/* on a phone the calendar takes the question card's side padding, so its days stay 40 px or wider */
@media (max-width:520px){#robbieWidget .abf-fields>.abf-datef .abf-calw{margin-left:-10px;margin-right:-10px}#robbieWidget .abf-cal-r{gap:1px}}
/* the review: each step's tile, a check when it is complete, amber when something is still needed */
#robbieWidget .abf-rv-h{justify-content:flex-start}
#robbieWidget .abf-rv-h .abf-tile{width:32px;height:32px}
#robbieWidget .abf-rv-t{flex:1 1 auto;display:inline-flex;align-items:center;gap:6px;min-width:0}
#robbieWidget .abf-rv-ok{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:50%;background:#3F7E1E;color:#fff}
#robbieWidget .abf-rv.is-need{border-color:#F3C98B;background:#FFFBF3}
#robbieWidget .abf-rv.is-done{border-color:#D6E6CC}
/* p18z24 (Romik, 30 Oct 2026: "elevate the time picker too"): the time picker, in the calendar's look */
#robbieWidget .abf-tpw{margin-top:-5px;scroll-margin-bottom:104px}
#robbieWidget .abf-tp{max-width:400px;margin:8px 0 2px;padding:0 0 4px;border:1px solid color-mix(in srgb,var(--tone) 22%,#fff);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 18px 36px -22px color-mix(in srgb,var(--tone) 70%,transparent)}
#robbieWidget .abf-tp-top{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 14px;background:linear-gradient(135deg,color-mix(in srgb,var(--tone) 88%,#000) 0%,var(--tone) 55%,color-mix(in srgb,var(--tone) 72%,#fff) 100%);color:#fff}
#robbieWidget .abf-tp-now{flex:1 1 auto;font-size:22px;font-weight:750;letter-spacing:.01em;font-variant-numeric:tabular-nums}
#robbieWidget .abf-tp-ap{display:inline-flex;padding:3px;border-radius:var(--robbie-radius,30px);background:rgba(255,255,255,.2)}
#robbieWidget .abf-card .abf-tp-ap .abf-tp-b{min-width:48px;min-height:36px;padding:6px 10px;border:0;background:none;color:#fff;font-size:13.5px}
#robbieWidget .abf-card .abf-tp-ap .abf-tp-b.is-on{background:#fff;color:color-mix(in srgb,var(--tone) 85%,#000);box-shadow:0 2px 6px rgba(0,0,0,.15)}
#robbieWidget .abf-tp-k{margin:10px 12px 6px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--abf-ink3)}
#robbieWidget .abf-tp-g{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:0 10px}
#robbieWidget .abf-card .abf-tp-b{min-height:40px;padding:6px 0;border:1px solid var(--abf-line);border-radius:12px!important;background:#fff;color:var(--abf-ink);font-size:15px;font-weight:650;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
@media (hover:hover){#robbieWidget .abf-card .abf-tp-g .abf-tp-b:not(.is-on):hover{border-color:color-mix(in srgb,var(--tone) 40%,#fff);background:color-mix(in srgb,var(--tone) 10%,#fff)}}
#robbieWidget .abf-card .abf-tp-g .abf-tp-b.is-on{border-color:transparent;background:linear-gradient(160deg,color-mix(in srgb,var(--tone) 80%,#fff),var(--tone));color:#fff;box-shadow:0 8px 16px -8px color-mix(in srgb,var(--tone) 90%,transparent)}
#robbieWidget .abf-tp .abf-cal-f{margin-top:10px}
#robbieWidget .abf-card .abf-cal-x.is-done{background:color-mix(in srgb,var(--tone) 12%,#fff)}
@media (max-width:520px){#robbieWidget .abf-fields>.abf-timef .abf-tpw{margin-left:-10px;margin-right:-10px}}
@media (prefers-reduced-motion:reduce){#robbieWidget .abf-tp-b{transition:none}}
/* after the independent review of p18z24: the bands and the chosen days and times dark enough for white text (WCAG AA,
   every hue), white focus rings on the bands, AM and PM 40 px tall, the review's Change never squeezed, the icons in the
   date and time buttons in the step's hue, the training checkbox a real box (it was a 4 px sliver) */
#robbieWidget .abf-cal-h,#robbieWidget .abf-tp-top{background:linear-gradient(135deg,color-mix(in srgb,var(--tone) 78%,#000),var(--tone))}
#robbieWidget .abf-tp-ap{background:rgba(0,0,0,.2)}
#robbieWidget .abf-card .abf-cal-nav{background:rgba(0,0,0,.16)}
#robbieWidget .abf-card .abf-cal-nav:not(.is-off):hover{background:rgba(0,0,0,.26)}
#robbieWidget .abf-cal-d.is-on,#robbieWidget .abf-card .abf-tp-g .abf-tp-b.is-on{background:linear-gradient(160deg,var(--tone),color-mix(in srgb,var(--tone) 80%,#000))}
#robbieWidget .abf-cal-wk .is-wkend{color:color-mix(in srgb,var(--tone) 70%,#000)}
#robbieWidget .abf-card .abf-cal-h :focus-visible,#robbieWidget .abf-card .abf-tp-top :focus-visible{outline:3px solid #fff;outline-offset:2px}
#robbieWidget .abf-card .abf-tp-ap .abf-tp-b{min-height:40px}
#robbieWidget .abf-tp-now.is-empty{font-size:17px;font-weight:700}
#robbieWidget .abf-card .abf-change{flex:0 0 auto;white-space:nowrap}
@media (pointer:coarse){#robbieWidget .abf-card .abf-change{min-height:40px;padding:8px 4px}}
#robbieWidget .abf-card .abf-date>svg,#robbieWidget .abf-card .abf-time>svg{color:color-mix(in srgb,var(--tone) 82%,#000)}
#robbieWidget .abf-card .abf-check input{flex:0 0 auto;width:20px;height:20px;margin:0;accent-color:var(--abf-blue)}
#robbieWidget .abf-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* p18z25 (Romik, 30 Oct 2026: "the back and next button need an elevated treatment and shouldnt float on top of the
   form"): the buttons sit in the card's own footer, after the last question, not over the questions; Next names the step
   it leads to. And the soft check he chose: a needed answer left empty is shown in amber when Next is tapped */
#robbieWidget .abf-card .abp-foot{position:static;margin:18px -16px -14px;padding:14px 16px 16px;gap:12px;border-top:1px solid #DCE6F7;border-radius:0 0 24px 24px;background:linear-gradient(180deg,#F6F9FF 0%,#EDF3FD 100%);animation:none}
#robbieWidget .abf-card .abp-back{min-height:48px;padding:10px 18px 10px 12px;border:1.5px solid #C9D7EE!important;border-radius:var(--robbie-radius,30px)!important;background:#fff!important;color:var(--abf-ink)!important;font-size:15px;font-weight:650;box-shadow:0 1px 2px rgba(25,36,31,.05)}
#robbieWidget .abf-card .abp-back:hover{border-color:var(--abf-blue)!important;background:#F3F8FF!important}
#robbieWidget .abf-card .abp-next{min-height:48px;padding:8px 18px 8px 22px;border-radius:var(--robbie-radius,30px)!important;background:linear-gradient(180deg,#2B6AD6,#1B50AD);box-shadow:0 10px 22px -12px rgba(32,92,197,.9);text-align:left}
#robbieWidget .abf-card .abp-next:hover{background:linear-gradient(180deg,#2F71E0,#1A4AA0)}
#robbieWidget .abf-nx{display:flex;flex-direction:column;gap:1px;line-height:1.2}
#robbieWidget .abf-card .abf-nx>span{font-size:15.5px!important;font-weight:750!important}
#robbieWidget .abf-card .abf-nx small{max-width:210px;overflow:hidden;font-size:12px!important;font-weight:500!important;white-space:nowrap;text-overflow:ellipsis;opacity:.88}
#robbieWidget .abf-card .abp-next.is-skip{background:#fff;color:#8A4B08!important;border:1.5px solid #E9A23B;box-shadow:none}
@media (max-width:420px){#robbieWidget .abf-nx small{max-width:150px}}
#robbieWidget .abf-fields>.abf-field.is-need{border-color:#E9A23B;background:#FFFBF3;box-shadow:0 0 0 3px rgba(233,162,59,.16)}
#robbieWidget .abf-needmsg{display:flex;align-items:center;gap:6px;margin:0 0 4px;font-size:12.5px;font-weight:650;color:#8A4B08}
#robbieWidget .abf-needmsg svg{flex:0 0 auto}
#robbieWidget .abf-need{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
#robbieWidget .abf-card .abf-needgo{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:4px 10px;border:1px solid #F3C98B;border-radius:var(--robbie-radius,30px)!important;background:#fff;color:#8A4B08;font-size:13px;font-weight:650;text-align:left;cursor:pointer}
#robbieWidget .abf-card .abf-needgo:hover{background:#FFF4E0}
#robbieWidget .abf-card .abf-needgo:focus-visible{outline:3px solid rgba(233,162,59,.5);outline-offset:2px}
@media (pointer:coarse){#robbieWidget .abf-card .abf-needgo{min-height:40px}}
#robbieWidget .abf-blanks{display:flex;align-items:flex-start;gap:8px;font-weight:550}
#robbieWidget .abf-blanks svg{flex:0 0 auto;margin-top:1px}
@media (min-width:700px){.abf-opts{grid-template-columns:1fr 1fr}.abf-fields{grid-template-columns:1fr 1fr}.abf-fields>.abf-group,.abf-fields>.abf-field:has(textarea){grid-column:1/-1}.abf-acts{grid-template-columns:1fr 1fr}.abf-acts .is-main{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.abf-card *{transition:none!important;animation:none!important}}
/* p18z23 (Romik, 30 Oct 2026: "elevate and organize this section, and make the form helper more visible and maybe a cute
   robbie helper image"): the form helper card under a Robbie answer, with Robbie holding a clipboard (media/robbie-forms-*,
   made with Higgsfield from the mascot). */
body.abx #robbieWidget .abf-hcard,.abf-hcard{display:flex;align-items:center;gap:14px;margin:18px 0 6px;padding:14px 16px;border:1px solid #CFE0FA;border-radius:18px;background:linear-gradient(135deg,#F5F9FF 0%,#EAF2FE 100%);box-shadow:0 1px 2px rgba(25,36,31,.04),0 10px 24px rgba(32,92,197,.10)}
.abf-hart{flex:0 0 auto;width:88px;height:88px;object-fit:contain}
.abf-hbody{flex:1 1 auto;min-width:0}
.abf-hkick{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#205CC5}
.abf-htitle{margin:2px 0 0;font-size:16.5px;font-weight:700;line-height:1.3;color:#19241F}
.abf-hsub{margin:4px 0 10px;font-size:13.5px;line-height:1.45;color:#59645D}
.abf-hbtns{display:flex;flex-wrap:wrap;gap:8px}
body.abx #robbieWidget .abf-hcard .abf-hbtn,.abf-hcard .abf-hbtn,body.abx #robbieWidget .abf-planv .abf-hbtn,.abf-planv .abf-hbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:9px 14px;border:1.5px solid #205CC5;border-radius:12px;background:#fff;color:#205CC5;font-family:inherit;font-size:14px;font-weight:650;line-height:1.25;text-align:left;cursor:pointer;box-shadow:none}
body.abx #robbieWidget .abf-hcard .abf-hbtn.is-main,.abf-hcard .abf-hbtn.is-main,body.abx #robbieWidget .abf-planv .abf-hbtn.is-main,.abf-planv .abf-hbtn.is-main{background:#205CC5;color:#fff}
body.abx #robbieWidget .abf-hcard .abf-hbtn:hover,body.abx #robbieWidget .abf-planv .abf-hbtn:hover{background:#EDF3FE}
body.abx #robbieWidget .abf-hcard .abf-hbtn.is-main:hover,body.abx #robbieWidget .abf-planv .abf-hbtn.is-main:hover{background:#1A4FA8}
@media (max-width:520px){.abf-hcard{align-items:flex-start;padding:14px}.abf-hart{width:64px;height:64px}.abf-hbtns{flex-direction:column}.abf-hbtn{width:100%;justify-content:center}}
@media print{.abf-open,.abf-row,.abf-hcard,.abf-copy,.abf-share,.abf-vias,.abf-mmodes{display:none!important}}
/* p18z27 (Romik, 31 Oct 2026: the form helper "expand into a new window so it's easier to see everything to fill out",
   his choice "Larger view in page"): Larger view in the card's head; the card moves into a layer over the whole Robbie
   window (maximized on a computer), Back to chat and the text size at the top, the card at a comfortable width. */
#robbieWidget .abf-head .abf-bigb{all:unset;box-sizing:border-box;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;min-width:40px;padding:0 13px 0 11px;margin-left:2px;
  border-radius:999px!important;border:1px solid #CFDCEE;background:#fff;color:#174A9E;font:650 12.5px/1 var(--abx-font,Inter,system-ui,sans-serif);white-space:nowrap;cursor:pointer;
  box-shadow:0 1px 2px rgba(16,28,48,.05);transition:background-color .15s,border-color .15s,box-shadow .15s}
#robbieWidget .abf-head .abf-bigb svg{flex:0 0 auto}
#robbieWidget .abf-head .abf-bigb:hover{background:#EAF1FC;border-color:#205CC5;box-shadow:0 6px 14px -8px rgba(32,92,197,.45)}
#robbieWidget .abf-head .abf-bigb:focus-visible{outline:3px solid #205CC5;outline-offset:2px}
@container (max-width:520px){#robbieWidget .abf-head .abf-bigb{padding:0}#robbieWidget .abf-head .abf-bigb span{display:none}}
@container (max-width:300px){#robbieWidget .abf-head{gap:8px}#robbieWidget .abf-face{width:40px;height:40px;margin:-4px -2px -4px -4px}}
#robbieWidget .abf-big .abf-head .abf-bigb{display:none}
#robbieWidget .abf-big{position:absolute;inset:0;z-index:60;display:flex;flex-direction:column;border-radius:inherit;overflow:hidden;background:linear-gradient(180deg,#F2F7FE 0%,#FFFFFF 280px)}
#robbieWidget .abf-big.is-in{animation:abfBigIn .3s cubic-bezier(.22,1,.36,1) both}
@keyframes abfBigIn{from{opacity:0;transform:translate3d(0,12px,0) scale(.985)}to{opacity:1;transform:none}}
#robbieWidget .abf-big-top{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #E1E8F3;background:rgba(255,255,255,.94)}
#robbieWidget .abf-big-back{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px 0 12px;border-radius:999px!important;border:1px solid #CFDCEE;background:#fff;color:#174A9E;
  font:650 14px/1 var(--abx-font,Inter,system-ui,sans-serif);cursor:pointer;box-shadow:0 1px 2px rgba(16,28,48,.05);transition:background-color .15s,border-color .15s}
#robbieWidget .abf-big-back:hover{background:#EAF1FC;border-color:#205CC5}
#robbieWidget .abf-big-back:focus-visible{outline:3px solid #205CC5;outline-offset:2px}
#robbieWidget .abf-big-z{display:flex;align-items:center}
#robbieWidget .abf-big-scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:22px 18px 32px;-webkit-overflow-scrolling:touch}
#robbieWidget .abf-big-scroll>.abf-card{max-width:1480px;margin:0 auto}
/* p18z30 (Romik, 31 Oct 2026: "expand the items horizontally so it all comes into view"): in the larger view the card
   uses up to 1480 px (860 before) and its pieces take the width, as they do in a maximized chat: short questions side by side (as many as fit at 340 px
   or more, so a calendar keeps 40 px days), yes or no questions in one of those places, the choices of a list in as many
   columns as fit at 230 px, the first step's facts and steps, the review and the plan's parts in columns. No :has() here:
   it made every change in the card recheck these rules (style work doubled on a slow phone) */
:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-fields{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-fields>.abf-group{grid-column:1/-1}
:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-fields>.abf-group.is-yn,:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-fields>.abf-datef{grid-column:auto}
:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-opts{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-group.is-yn .abf-opts{grid-template-columns:1fr 1fr}
:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-facts,:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-steps{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-rvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));column-gap:12px;align-items:start}
:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-rvs>*{grid-column:1/-1}
:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-rvs>.abf-rv{grid-column:auto}
:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-planv{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));column-gap:12px;align-items:start}
:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-planv>*{grid-column:1/-1}
:is(#robbieWidget .abf-big,#robbieWidget.is-max #chat) .abf-planv>.abf-pl{grid-column:auto}
#robbieWidget .abf-bigph{display:flex;align-items:center;gap:9px;margin:6px 0;padding:12px 15px;border:1px dashed #BFD3F5;border-radius:16px;background:#F4F8FE;color:#174A9E;font:600 13.5px/1.4 var(--abx-font,Inter,system-ui,sans-serif)}
#robbieWidget .abf-bigph svg{flex:0 0 auto}
@media (max-width:960px){
  #robbieWidget .abf-big-top{padding:max(10px,env(safe-area-inset-top)) 12px 10px}
  #robbieWidget .abf-big-scroll{padding:12px 10px calc(24px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){#robbieWidget .abf-big.is-in{animation:none}}
@media print{#robbieWidget .abf-big{display:none!important}}
/* p18z28: the food and drinks planner's plan (planHTML in ab-forms-v306.js): a card per office in its own hue, numbered
   steps with the official page after each, the dates counted back from the event day, the forms that fit */
#robbieWidget .abf-planv .abf-pl{margin:12px 0 0;padding:14px 16px 12px;border:1px solid color-mix(in srgb,var(--tone,#205CC5) 22%,#E3E9F2);border-radius:18px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--tone,#205CC5) 6%,#fff) 0%,#fff 70%)}
#robbieWidget .abf-planv .abf-pl-h{display:flex;align-items:center;gap:10px;margin:0 0 8px}
#robbieWidget .abf-planv .abf-pl-h>span{display:flex;flex-direction:column;gap:1px;min-width:0}
#robbieWidget .abf-planv .abf-pl-h b{font:700 15px/1.25 var(--abx-font,Inter,system-ui,sans-serif);color:var(--abf-ink,#19241F)}
#robbieWidget .abf-planv .abf-pl-h small{font:600 11.5px/1.3 var(--abx-font,Inter,system-ui,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--tone,#205CC5) 80%,#19241F)}
#robbieWidget .abf-planv .abf-pl-list{margin:0;padding:0 0 0 22px;display:flex;flex-direction:column;gap:8px}
#robbieWidget .abf-planv .abf-pl-list>li{font:400 14px/1.5 var(--abx-font,Inter,system-ui,sans-serif);color:var(--abf-ink,#19241F);padding-left:2px}
#robbieWidget .abf-planv .abf-pl-list>li::marker{color:color-mix(in srgb,var(--tone,#205CC5) 85%,#19241F);font-weight:700}
#robbieWidget .abf-planv .abf-pl-list a{color:#174A9E;font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
#robbieWidget .abf-planv .abf-pl-dates .abf-pl-list{list-style:none;padding:0;gap:0}
#robbieWidget .abf-planv .abf-pl-dates .abf-pl-list>li{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:9px 0 9px 14px;border-top:1px solid #EDF1F6;position:relative}
#robbieWidget .abf-planv .abf-pl-dates .abf-pl-list>li:first-child{border-top:0}
#robbieWidget .abf-planv .abf-pl-dates .abf-pl-list>li::before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;border-radius:50%;background:var(--tone,#A15C00)}
#robbieWidget .abf-planv .abf-pl-dates b{font:700 13.5px/1.35 var(--abx-font,Inter,system-ui,sans-serif);color:var(--abf-ink,#19241F)}
#robbieWidget .abf-planv .abf-pl-dates small{font:400 12.5px/1.4 var(--abx-font,Inter,system-ui,sans-serif);color:#59645D}
#robbieWidget .abf-planv .abf-pl-dates em{font:700 11px/1.3 var(--abx-font,Inter,system-ui,sans-serif);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:#59645D}
#robbieWidget .abf-planv .abf-pl-dates li.is-open em{color:#1D6B2F}
#robbieWidget .abf-planv .abf-pl-dates li.is-passed{opacity:.75}
#robbieWidget .abf-planv .abf-pl-dates li.is-passed::before{background:#9AA39D}
#robbieWidget .abf-planv .abf-pl-go{margin:14px 0 0}
#robbieWidget .abf-planv .abf-blanks{flex-wrap:wrap}
#robbieWidget .abf-planv .abf-pl-h .abf-tile{width:36px;height:36px}
