:root{--brand:#0e5fd8;--brand-dark:#0a48a3;--ink:#17212f;--muted:#5b6b7f;--line:#dbe2ea;--bg:#f4f6f9;--card:#fff;--ok:#157347;--warn:#b45309;--err:#b42318;--radius:10px}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}body:has(.public-form-embed-shell){background:0 0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 .5rem;font-size:1.5rem}h2{margin:1.5rem 0 .5rem;font-size:1.15rem}h3{margin:1rem 0 .35rem;font-size:1rem}.container{max-width:980px;margin:0 auto;padding:24px 16px 64px}.container.narrow{max-width:640px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:20px;overflow-x:auto}.muted{color:var(--muted);font-size:.9rem}.small{font-size:.82rem}.right{text-align:right}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}label{margin:12px 0 4px;font-size:.9rem;font-weight:600;display:block}label .req{color:var(--err)}input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],input[type=password],input[type=url],select,textarea{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:6px;padding:8px 10px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--brand) 35%, transparent);border-color:var(--brand)}textarea{resize:vertical;min-height:90px}.btn{border:1px solid var(--brand);background:var(--brand);color:#fff;font:inherit;cursor:pointer;border-radius:6px;padding:9px 18px;font-weight:600;display:inline-block}.btn:hover{background:var(--brand-dark);text-decoration:none}.btn.secondary{color:var(--brand);background:#fff}.btn.danger{color:var(--err);border-color:var(--err);background:#fff}.btn.small{padding:4px 10px;font-size:.85rem;font-weight:500}.btn:disabled{opacity:.5;cursor:not-allowed}table.grid{border-collapse:collapse;width:100%}table.grid th,table.grid td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}table.grid th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.8rem}.badge{color:var(--muted);background:#e8edf4;border-radius:999px;padding:2px 9px;font-size:.75rem;font-weight:700;display:inline-block}.badge.ok{color:var(--ok);background:#d9f0e4}.badge.warn{color:var(--warn);background:#fdeed7}.badge.err{color:var(--err);background:#fbdedb}.badge.info{color:var(--brand-dark);background:#dbe8fb}.alert{border-radius:8px;margin:12px 0;padding:12px 14px;font-size:.92rem}.alert.ok{color:var(--ok);background:#d9f0e4}.alert.err{color:var(--err);background:#fbdedb}.alert.info{color:var(--brand-dark);background:#dbe8fb}.topnav{background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:12px 16px;display:flex}.topnav .brand{color:var(--ink);font-weight:800}.topnav a{color:var(--muted);font-size:.92rem;font-weight:600}.topnav a:hover{color:var(--brand);text-decoration:none}.topnav .spacer{flex:1}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.row>*{flex:1;min-width:140px}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.public-form-actions{justify-content:center}.public-form-submit{background:#54b847;border-color:#54b847;min-width:180px}.public-form-submit:hover{background:#469f3e;border-color:#469f3e}.public-form-submit:focus-visible{outline-offset:2px;outline:2px solid #54b84759}.public-form-multiselect{width:100%;position:relative}.public-form-multiselect summary{border:1px solid var(--line);width:100%;min-height:39px;color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;list-style:none;display:flex}.public-form-multiselect summary::-webkit-details-marker{display:none}.public-form-multiselect summary:after{content:"▾";color:var(--muted)}.public-form-multiselect[open] summary:after{content:"▴"}.public-form-multiselect summary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.public-form-multiselect summary:focus-visible{outline:2px solid color-mix(in srgb, var(--brand) 35%, transparent);border-color:var(--brand)}.public-form-multiselect-options{z-index:20;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;max-height:240px;margin-top:4px;padding:8px;position:absolute;overflow:auto;box-shadow:0 14px 30px #0f172a29}.public-form-multiselect-options label{align-items:center;gap:8px;margin:0;padding:6px 4px;font-weight:400;display:flex}.public-form-multiselect-options input[type=checkbox]{width:auto;margin:0}.public-form-required-sentinel{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.public-form-embed-shell{color:#1f2933;background:0 0;min-height:100%;padding:0;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.45}.public-form-embed-shell form{background:0 0;margin:0;padding:0}.public-form-embed-shell label{color:#1f2933;margin:0 0 6px;font-size:13px;font-weight:400;line-height:1.3}.public-form-embed-shell label .req{color:#e1241a}.public-form-embed-shell input[type=text],.public-form-embed-shell input[type=email],.public-form-embed-shell input[type=tel],.public-form-embed-shell input[type=date],.public-form-embed-shell input[type=number],.public-form-embed-shell input[type=password],.public-form-embed-shell input[type=url],.public-form-embed-shell select,.public-form-embed-shell textarea{color:#1f2933;min-height:39px;font:inherit;background:#f7fafc;border:1px solid #cbd8e3;border-radius:3px;padding:8px 10px;box-shadow:inset 0 1px 1px #00000005}.public-form-embed-shell input:focus,.public-form-embed-shell select:focus,.public-form-embed-shell textarea:focus{outline-offset:0;border-color:#54b847;outline:1px solid #54b847}.public-form-embed-shell textarea{min-height:66px}.public-form-embed-shell .actions{justify-content:flex-start;margin-top:20px}.public-form-embed-shell .public-form-submit{color:#fff;background:#54b847;border-color:#54b847;border-radius:3px;min-width:0;padding:9px 24px;font-size:12px;font-weight:700}.public-form-embed-shell .public-form-submit:hover{background:#469f3e;border-color:#469f3e}.totals{max-width:320px;margin-left:auto}.totals .line{justify-content:space-between;padding:4px 0;display:flex}.totals .line.total{border-top:2px solid var(--ink);margin-top:6px;padding-top:8px;font-size:1.05rem;font-weight:800}.invoice-not-found-shell{place-items:center;min-height:100dvh;padding:32px 16px;display:grid}.invoice-not-found-card{border:1px solid var(--line);background:var(--card);text-align:center;border-radius:16px;width:min(100%,620px);padding:32px;box-shadow:0 10px 30px #0f172a14}.invoice-not-found-logo{width:220px;max-width:72vw;height:auto;margin:0 auto 20px;display:block}.invoice-not-found-eyebrow{color:#54b847;text-transform:uppercase;margin:0 0 8px;font-size:.82rem;font-weight:800}.invoice-not-found-card h1{text-wrap:balance;margin-bottom:12px}.invoice-not-found-copy{max-width:480px;color:var(--muted);text-wrap:pretty;margin:0 auto 22px}.invoice-not-found-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 16px;display:flex}.invoice-not-found-primary{background:#54b847;border-color:#54b847}.invoice-not-found-primary:hover{background:#469f3e;border-color:#469f3e}@media print{.topnav,.no-print{display:none!important}body{background:#fff}.card{border:none;padding:0}}.meeting-public-page{color:#334155;background:#f3f5f7;min-height:100vh;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.meeting-scheduler-shell{background:#fff;grid-template-columns:minmax(360px,1fr) minmax(420px,1fr);width:min(1080px,100vw - 32px);min-height:720px;margin:0 auto;display:grid;box-shadow:0 8px 30px #0f172a24}.meeting-public-page-embed{background:0 0;min-height:auto}.meeting-public-page-embed .meeting-scheduler-shell{width:100%;min-height:680px;box-shadow:none}.meeting-loading-card{place-items:center;min-height:360px;padding:32px;font-weight:700;display:grid}.meeting-calendar-panel{color:#fff;text-align:center;background:#54b847;padding:34px 28px 40px}.meeting-logo-orb{background:#fff;border-radius:999px;place-items:center;width:92px;height:92px;margin:0 auto 18px;display:grid;box-shadow:0 8px 18px #0e27101f}.meeting-logo-orb img{width:72px;height:auto}.meeting-calendar-panel h1{color:#fff;letter-spacing:-.03em;max-width:500px;margin:0 auto 16px;font-size:clamp(26px,3.5vw,32px);font-weight:500;line-height:1.16}.meeting-month-nav{color:#fff;justify-content:center;align-items:center;gap:18px;margin:8px 0 28px;display:flex}.meeting-month-nav strong{min-width:190px;font-size:28px;line-height:1}.meeting-month-nav button{color:#fffc;cursor:pointer;background:#ffffff1f;border:0;border-radius:999px;width:34px;height:34px;font-size:28px;line-height:1}.meeting-month-nav button:hover,.meeting-month-nav button:focus-visible{color:#fff;background:#ffffff38}.meeting-calendar-weekdays,.meeting-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:18px 12px;max-width:540px;margin:0 auto;display:grid}.meeting-calendar-weekdays{margin-bottom:22px}.meeting-calendar-weekdays span{color:#fff;text-transform:uppercase;font-size:18px;font-weight:800}.meeting-calendar-grid button{color:#ffffff61;width:48px;height:48px;font:inherit;background:0 0;border:0;border-radius:999px;justify-self:center;place-items:center;font-size:18px;font-weight:600;display:grid}.meeting-calendar-grid button.has-slots{color:#fff;cursor:pointer}.meeting-calendar-grid button.has-slots:hover{background:#ffffff29}.meeting-calendar-grid button.selected{color:#54b847;background:#fff;box-shadow:0 10px 18px #0e27101f}.meeting-calendar-grid button:disabled{cursor:not-allowed}.meeting-calendar-grid button.muted:not(.has-slots){opacity:.45}.meeting-details-panel{background:#fff;min-width:0;padding:18px 40px 28px}.meeting-detail-block{margin:0 0 28px}.meeting-detail-block h2,.meeting-booking-form h2{color:#334155;margin:0 0 8px;font-size:21px;font-weight:800;line-height:1.2}.meeting-detail-block p{color:#475569;margin:0;font-size:20px}.meeting-location-line{align-items:center;gap:12px;display:flex}.meeting-location-line span{color:#334155;font-size:14px}.meeting-duration-segmented{background:#fff;border:1px solid #cbd5e1;border-radius:3px;display:inline-flex;overflow:hidden}.meeting-duration-segmented button{color:#475569;min-width:152px;font:inherit;cursor:pointer;background:#fff;border:0;border-right:1px solid #cbd5e1;padding:11px 24px}.meeting-duration-segmented button:last-child{border-right:0}.meeting-duration-segmented button.selected{color:#334155;background:#cbd5e1}.meeting-time-block p{margin-bottom:16px;font-size:21px}.meeting-timezone-select{color:#008dae;justify-content:space-between;align-items:center;margin:0 0 18px;padding:0 16px;font-size:18px;font-weight:800;display:flex}.meeting-time-list{scrollbar-color:#777 transparent;gap:10px;max-height:360px;padding:0 10px 0 5px;display:grid;overflow:auto}.meeting-time-list button{color:#54b847;width:100%;min-height:64px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:5px;font-size:22px}.meeting-time-list button:hover,.meeting-time-list button.selected{background:#f0fbed;border-color:#54b847}.meeting-empty-times{color:#64748b;font-size:15px!important}.meeting-booking-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;gap:12px;padding:16px;display:grid}.meeting-booking-form-compact{margin-top:8px}.meeting-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.meeting-booking-form label{color:#475569;text-transform:uppercase;gap:6px;margin:0;font-size:11px;font-weight:800;display:grid}.meeting-booking-form input{width:100%;font:inherit;color:#17212f;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:9px 10px}.meeting-booking-form button[type=submit]{color:#0e2710;cursor:pointer;background:#54b847;border:1px solid #54b847;border-radius:8px;padding:12px 14px;font-weight:800}.meeting-booking-form button:disabled{opacity:.45;cursor:not-allowed}.meeting-message{color:#36772c;margin:0;font-weight:700}@media (max-width:900px){.meeting-public-page{background:#fff}.meeting-scheduler-shell{width:100%;box-shadow:none;grid-template-columns:1fr}.meeting-calendar-panel{padding:28px 14px 32px}.meeting-details-panel{padding:24px 18px 32px}.meeting-calendar-weekdays,.meeting-calendar-grid{gap:10px 4px}.meeting-calendar-grid button{width:42px;height:42px}.meeting-duration-segmented{width:100%}.meeting-duration-segmented button{flex:1;min-width:0}.meeting-form-grid{grid-template-columns:1fr}}
