.pat,.pat-modal{
  --pat-accent:#b51f2a;
  --pat-ink:#19212a;
  --pat-muted:#69727d;
  --pat-line:#e2e6ea;
  --pat-line-strong:#d4d9de;
  --pat-soft:#f5f6f7;
  --pat-green:#18794e;
  --pat-green-soft:#edf8f2;
  --pat-amber:#b7791f;
  --pat-amber-soft:#fff8e8;
  --pat-blue:#526273;
  color:var(--pat-ink);
  font-family:inherit
}
.pat{
  max-width:1160px;
  margin:34px auto 60px
}
.pat *{box-sizing:border-box}
.pat .pat-card[hidden],.pat .pat-month[hidden],.pat .pat__monthnav a[hidden],.pat .pat__filter-empty[hidden]{display:none!important}
.pat svg{display:block}
.pat__hero{position:relative;overflow:hidden;padding:44px 48px;border:1px solid var(--pat-line);border-radius:20px;background:linear-gradient(135deg,#fff 0%,#fbfbfb 66%,#f0f1f3 100%);box-shadow:0 1px 1px rgba(23,30,38,.02)}
.pat__hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-98px;top:-92px;background:color-mix(in srgb,var(--pat-accent) 11%,transparent);pointer-events:none}
.pat__hero:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;right:74px;top:75px;background:var(--pat-accent);opacity:.85}
.pat__eyebrow,.pat-modal__eyebrow,.pat__section-kicker{display:block;font-size:12px;line-height:1.2;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--pat-accent);margin-bottom:10px}
.pat__hero h2{position:relative;z-index:1;font-size:clamp(31px,4vw,47px);line-height:1.07;letter-spacing:-.038em;margin:0 0 16px;max-width:810px}
.pat__intro{position:relative;z-index:1;max-width:820px;color:#4d5661;font-size:17px;line-height:1.66}
.pat__intro p{margin:0}
.pat__facts{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:28px;padding-top:22px;border-top:1px solid var(--pat-line);font-size:14px;font-weight:650}
.pat__facts span{display:flex;align-items:center;gap:8px}
.pat__facts svg{width:19px;height:19px;fill:var(--pat-accent);flex:0 0 auto}

.pat__summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 34px}
.pat-stat{position:relative;appearance:none;display:grid!important;grid-template-columns:12px auto 1fr auto;align-items:baseline!important;column-gap:10px;width:100%;padding:17px 20px!important;border:1px solid var(--pat-line)!important;border-radius:13px!important;background:#fff!important;color:var(--pat-ink)!important;font:inherit!important;text-align:left!important;cursor:pointer;overflow:hidden;box-shadow:none!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.pat-stat:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:transparent}.pat-stat:hover{transform:translateY(-1px);border-color:#cbd2d8!important;box-shadow:0 8px 22px rgba(25,31,38,.06)!important}.pat-stat[aria-pressed="true"]{border-color:color-mix(in srgb,var(--pat-accent) 44%,var(--pat-line))!important;background:color-mix(in srgb,var(--pat-accent) 3%,#fff)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--pat-accent) 9%,transparent)!important}.pat-stat b{font-size:18px;font-weight:700;color:#9aa1a9;align-self:center;transition:transform .16s ease,color .16s ease}.pat-stat:hover b,.pat-stat[aria-pressed="true"] b{color:var(--pat-accent);transform:translateX(2px)}
.pat-stat i{width:9px;height:9px;border-radius:50%;align-self:center}
.pat-stat--free i{background:var(--pat-green)}
.pat-stat--pending i{background:var(--pat-amber)}
.pat-stat--confirmed i{background:#6b7480}
.pat-stat--free[aria-pressed="true"]{border-color:color-mix(in srgb,var(--pat-green) 45%,var(--pat-line))!important;background:var(--pat-green-soft)!important}.pat-stat--pending[aria-pressed="true"]{border-color:color-mix(in srgb,var(--pat-amber) 45%,var(--pat-line))!important;background:var(--pat-amber-soft)!important}.pat-stat--confirmed[aria-pressed="true"]{border-color:#c7cdd3!important;background:#f4f5f6!important}.pat-stat--free[aria-pressed="true"] b{color:var(--pat-green)}.pat-stat--pending[aria-pressed="true"] b{color:var(--pat-amber)}.pat-stat--confirmed[aria-pressed="true"] b{color:#65707b}
.pat-stat strong{font-size:27px;letter-spacing:-.04em}
.pat-stat span{color:var(--pat-muted);font-size:14px}

.pat__toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.pat__toolbar h3{font-size:25px;letter-spacing:-.025em;margin:0 0 4px}
.pat__toolbar p{margin:0;color:var(--pat-muted)}
.pat__section-kicker{margin-bottom:5px;font-size:10px}
.pat__filter-state{display:flex;align-items:center;gap:10px;color:#59616b;font-size:13px;font-weight:650}.pat__filter-state:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pat-accent);opacity:.75}.pat__filter-state button{appearance:none;border:0!important;background:transparent!important;color:var(--pat-accent)!important;font:inherit!important;font-size:12px!important;font-weight:750!important;padding:0!important;cursor:pointer;box-shadow:none!important}.pat__filter-state button:hover{text-decoration:underline}.pat__filter-empty{margin:4px 0 26px;padding:24px;border:1px dashed var(--pat-line-strong);border-radius:13px;background:#fafafa;text-align:center;color:var(--pat-muted)}.pat__filter-empty strong{display:block;color:var(--pat-ink);font-size:16px;margin-bottom:4px}.pat__filter-empty span{font-size:13px}

.pat__monthnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 19px}
.pat__monthnav a{display:inline-flex;align-items:center;gap:9px;text-decoration:none!important;color:var(--pat-ink)!important;background:#fff;border:1px solid var(--pat-line);border-radius:999px;padding:9px 12px;font-size:13px;font-weight:750;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.pat__monthnav a span{color:var(--pat-muted);font-weight:550;font-size:12px}
.pat__monthnav a:hover{border-color:color-mix(in srgb,var(--pat-accent) 45%,var(--pat-line));box-shadow:0 5px 16px rgba(27,34,43,.06);transform:translateY(-1px)}
.pat-month{scroll-margin-top:30px;margin:0 0 28px}
.pat-month__head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 11px;padding:0 2px}
.pat-month__head h4{font-size:18px;letter-spacing:-.015em;margin:0;font-weight:800}
.pat-month__head span{color:var(--pat-muted);font-size:12px;font-weight:650}

.pat__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pat-card{position:relative;display:grid;grid-template-columns:86px 1fr auto;align-items:stretch;min-height:112px;border:1px solid var(--pat-line);border-radius:14px;background:#fff;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.pat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;z-index:1}
.pat-card--free{cursor:pointer}
.pat-card--free:before{background:var(--pat-green);opacity:.72}
.pat-card--free:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(25,31,38,.09);border-color:#cbd2d8}
.pat-card--free:focus-visible{outline:3px solid color-mix(in srgb,var(--pat-accent) 25%,transparent);outline-offset:3px;border-color:var(--pat-accent)}
.pat-card--pending{background:linear-gradient(90deg,var(--pat-amber-soft) 0,#fff 29%)}
.pat-card--pending:before{background:var(--pat-amber);opacity:.75}
.pat-card--confirmed{background:linear-gradient(90deg,#f5f6f7 0,#fff 29%)}
.pat-card--confirmed:before{background:#7b848e;opacity:.65}
.pat-card--blocked{background:#f7f7f8;opacity:.82}
.pat-card__date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--pat-soft);border-right:1px solid var(--pat-line);text-transform:uppercase;font-size:11px;line-height:1.2;color:#626a74}
.pat-card__date strong{font-size:31px;line-height:1;color:var(--pat-ink);margin:4px 0 3px;letter-spacing:-.045em}
.pat-card__dow{font-weight:800}
.pat-card__body{display:flex;flex-direction:column;justify-content:center;padding:16px 18px;min-width:0}
.pat-card__status{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.09em;color:var(--pat-green);margin-bottom:5px}
.pat-card--pending .pat-card__status{color:var(--pat-amber)}
.pat-card--confirmed .pat-card__status,.pat-card--blocked .pat-card__status{color:#737c87}
.pat-card__title{font-weight:750;font-size:16px;letter-spacing:-.01em}
.pat-card__org{margin-top:5px;color:var(--pat-muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pat-card__time{margin-top:5px;font-size:13px;font-weight:700;line-height:1.35;color:#555e68;font-variant-numeric:tabular-nums}
.pat-card__action{display:flex;align-items:center;justify-content:center;padding:14px 14px 14px 0}
.pat-book,.pat-submit{appearance:none;border:0!important;border-radius:9px!important;background:var(--pat-accent)!important;color:#fff!important;font:inherit!important;font-weight:750!important;cursor:pointer;box-shadow:none!important;text-decoration:none!important;transition:filter .16s ease,transform .16s ease,box-shadow .16s ease}
.pat-book{display:flex;align-items:center;gap:9px;padding:11px 14px!important;font-size:13px!important;white-space:nowrap}
.pat-book span{font-size:17px;line-height:1;transition:transform .16s ease}
.pat-card--free:hover .pat-book span{transform:translateX(2px)}
.pat-book:hover,.pat-submit:hover{filter:brightness(.94)}
.pat-card__stateicon{display:grid!important;place-items:center;width:31px;height:31px;border-radius:50%;background:#f1f3f4;color:#707983;font-size:15px;font-weight:800}
.pat-card--pending .pat-card__stateicon{background:#fff4d8;color:var(--pat-amber)}
.pat-card--confirmed .pat-card__stateicon{background:#edf0f2;color:#64707b}

.pat__notice{display:flex;gap:13px;align-items:flex-start;margin-top:23px;padding:18px 20px;border:1px solid var(--pat-line);border-left:4px solid var(--pat-accent);background:#f7f7f8;border-radius:0 11px 11px 0}
.pat__notice-icon{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:color-mix(in srgb,var(--pat-accent) 11%,#fff);color:var(--pat-accent);font-weight:850;font-size:13px}
.pat__notice strong{display:block;margin:1px 0 5px}
.pat__notice p{margin:0;color:#59616b;line-height:1.55;font-size:14px}

.pat-lock{overflow:hidden}
.pat-modal[hidden]{display:none}
.pat-modal{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:24px 18px;opacity:0;transition:opacity .18s ease;isolation:isolate}
.pat-modal.is-open{opacity:1}
.pat-modal__backdrop{position:absolute;inset:0;background:rgba(18,22,27,.66);backdrop-filter:blur(4px)}
.pat-modal__dialog{position:relative;width:min(740px,100%);max-height:calc(100dvh - 48px);overflow:auto;border:1px solid rgba(255,255,255,.5);border-radius:18px;background:#fff;box-shadow:0 32px 100px rgba(0,0,0,.29);padding:31px 32px 32px;scrollbar-width:thin;scrollbar-color:#b8bec5 transparent}
.pat-modal__dialog:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--pat-accent)}
.pat-modal__close{position:absolute;z-index:30;right:18px;top:18px;margin:0;width:38px;height:38px;display:grid!important;place-items:center;border:0!important;border-radius:50%!important;background:#f1f2f4!important;color:#343b44!important;font-size:25px!important;line-height:1!important;cursor:pointer;box-shadow:none!important;padding:0!important}
.pat-modal__close:hover{background:color-mix(in srgb,var(--pat-accent) 10%,#f1f2f4)!important;color:var(--pat-accent)!important}
.pat-modal__head{padding-right:54px;margin-bottom:23px}
.pat-modal__head h3{font-size:29px;line-height:1.12;letter-spacing:-.028em;margin:0 0 12px}
.pat-modal__date{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:9px;background:color-mix(in srgb,var(--pat-accent) 5%,#fff);border:1px solid color-mix(in srgb,var(--pat-accent) 22%,var(--pat-line));color:#505965;font-size:14px;font-weight:700}
.pat-modal__date svg{width:17px;height:17px;fill:var(--pat-accent)}
.pat-modal__date p{margin:0!important}
.pat-modal form{display:grid;grid-template-columns:1fr 1fr;gap:15px 16px;clear:both}
.pat-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.pat-field--wide{grid-column:1/-1}
.pat-field label{font-size:13px;font-weight:750}
.pat-field label em{color:var(--pat-accent);font-style:normal}
.pat-field input,.pat-field textarea{width:100%;border:1px solid #ccd2d8!important;border-radius:9px!important;padding:11px 12px!important;background:#fff!important;color:#20252b!important;font:inherit!important;box-shadow:none!important;min-height:45px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.pat-field input:hover,.pat-field textarea:hover{border-color:#b9c0c7!important}
.pat-field input:focus,.pat-field textarea:focus{border-color:var(--pat-accent)!important;outline:0!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--pat-accent) 12%,transparent)!important}
.pat-field input::placeholder,.pat-field textarea::placeholder{color:#a0a7af;opacity:1}
.pat-field textarea{resize:vertical;min-height:96px}

.pat-opening{gap:10px}
.pat-opening__label{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.pat-opening__label>label{position:relative;padding-left:12px}.pat-opening__label>label:before{content:"";position:absolute;left:0;top:.34em;width:4px;height:1.05em;border-radius:3px;background:var(--pat-accent)}.pat-opening__label span{color:var(--pat-accent);font-size:11px;font-weight:700}
.pat-opening__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px}
.pat-opening__item{min-width:0;display:flex;flex-direction:column;gap:6px}
.pat-opening__sub{margin:0!important;color:#555f69!important;font-size:11px!important;font-weight:800!important;letter-spacing:.07em;text-transform:uppercase}
.pat-time{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;height:52px;min-height:52px;border:1px solid #ccd2d8;border-radius:10px;background:#fff;cursor:text;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.pat-time:hover{border-color:#b9c0c7;background:#fff}.pat-time:focus-within,.pat-time.is-open{border-color:var(--pat-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--pat-accent) 11%,transparent)}
.pat-time input{display:block;width:100%!important;height:50px!important;min-height:50px!important;margin:0!important;border:0!important;border-radius:10px 0 0 10px!important;padding:0 12px!important;background:transparent!important;box-shadow:none!important;cursor:text;font-size:15px!important;line-height:50px!important;color:#20252b!important}
.pat-time input:hover,.pat-time input:focus{border:0!important;box-shadow:none!important;outline:0!important}.pat-time input::placeholder{color:#9ca4ad!important;opacity:1}
.pat-time__trigger{position:static;width:32px;height:32px;display:grid;place-items:center;justify-self:center;border:0!important;border-radius:50%!important;background:#f3f4f5!important;color:#68727d!important;cursor:pointer;box-shadow:none!important;padding:0!important;margin:0!important;transition:background .15s ease,color .15s ease,transform .15s ease}.pat-time__trigger:hover{background:color-mix(in srgb,var(--pat-accent) 8%,#f3f4f5)!important;color:var(--pat-accent)!important}.pat-time.is-open .pat-time__trigger{background:color-mix(in srgb,var(--pat-accent) 10%,#fff)!important;color:var(--pat-accent)!important}.pat-time__trigger svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pat-time__panel{position:absolute;z-index:80;left:0;width:100%;top:calc(100% + 8px);border:1px solid var(--pat-line-strong);border-radius:11px;background:#fff;box-shadow:0 18px 42px rgba(20,27,35,.15);overflow:hidden;transform-origin:top center}.pat-time.opens-up .pat-time__panel{top:auto;bottom:calc(100% + 8px);transform-origin:bottom center}.pat-time__panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:39px;padding:9px 11px;border-bottom:1px solid var(--pat-line);background:#fafafa}.pat-time__panel-head strong{font-size:11px;letter-spacing:.01em}.pat-time__panel-head span{color:var(--pat-muted);font-size:9px;font-weight:650;white-space:nowrap}.pat-time__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:9px}.pat-time__option{appearance:none;min-width:0;border:1px solid #e2e5e8!important;border-radius:7px!important;background:#fff!important;color:#2b333c!important;font:inherit!important;font-size:11px!important;font-weight:750!important;line-height:1!important;padding:8px 3px!important;cursor:pointer;box-shadow:none!important}.pat-time__option:hover{border-color:color-mix(in srgb,var(--pat-accent) 46%,#dfe3e7)!important;background:color-mix(in srgb,var(--pat-accent) 5%,#fff)!important;color:var(--pat-accent)!important}.pat-time__option.is-selected{border-color:var(--pat-accent)!important;background:var(--pat-accent)!important;color:#fff!important}.pat-time__footer{display:flex;justify-content:flex-end;align-items:center;min-height:36px;padding:6px 10px;border-top:1px solid var(--pat-line);background:#fafafa}.pat-time__clear{appearance:none;border:0!important;background:transparent!important;color:#626b75!important;font:inherit!important;font-size:10px!important;font-weight:700!important;cursor:pointer;box-shadow:none!important;padding:4px!important}.pat-time__clear:hover{color:var(--pat-accent)!important}

.pat-check{padding-top:1px}
.pat-check label{display:flex;align-items:flex-start;gap:10px;font-weight:450;line-height:1.5;color:#4d5560}
.pat-check input{appearance:auto!important;width:18px!important;height:18px!important;min-height:18px!important;margin:2px 0 0!important;flex:0 0 auto;accent-color:var(--pat-accent)}
.pat-check a{color:var(--pat-accent)!important;font-weight:750;text-decoration:none!important}
.pat-check a:hover{text-decoration:underline!important}
.pat-submit{grid-column:1/-1;width:100%;display:flex!important;visibility:visible!important;align-items:center;justify-content:space-between;padding:14px 17px!important;font-size:15px!important;min-height:50px;background:var(--pat-accent)!important;color:#fff!important}
.pat-submit i{font-size:20px;font-style:normal;line-height:1}
.pat-submit:disabled{opacity:.58;cursor:wait}
.pat-book:focus-visible,.pat-submit:focus-visible,.pat-modal__close:focus-visible,.pat-time__trigger:focus-visible,.pat-time__option:focus-visible{outline:3px solid color-mix(in srgb,var(--pat-accent) 28%,transparent)!important;outline-offset:2px}
.pat-form-message{grid-column:1/-1;display:none;border-radius:9px;padding:12px 14px;font-size:14px;line-height:1.5}
.pat-form-message.is-error,.pat-form-message.is-success{display:block}
.pat-form-message.is-error{background:#fff1f1;color:#912727;border:1px solid #f0c5c5}
.pat-form-message.is-success{background:#edf8f2;color:#145c3a;border:1px solid #bce2cb}
.pat-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:820px){
  .pat{margin:20px auto 40px}
  .pat__hero{padding:31px 25px}
  .pat__summary{grid-template-columns:1fr}
  .pat__toolbar{align-items:flex-start;flex-direction:column}
  .pat__grid{grid-template-columns:1fr}
  .pat-modal{padding:10px}
  .pat-modal__dialog{padding:27px 20px 22px;border-radius:15px}
  .pat-modal__close{right:14px;top:14px}
  .pat-modal form{grid-template-columns:1fr}
  .pat-field--wide{grid-column:auto}
  .pat-time__panel,.pat-time.opens-up .pat-time__panel{position:fixed;left:18px;right:18px;width:auto;top:auto;bottom:18px;max-width:none;border-radius:15px;z-index:100}
  .pat-time__grid{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:520px){
  .pat__hero h2{font-size:31px}
  .pat__intro{font-size:15px}
  .pat-card{grid-template-columns:72px 1fr;min-height:106px}
  .pat-card__action{grid-column:1/-1;padding:0 12px 12px 84px;justify-content:flex-start}
  .pat-card:not(.pat-card--free) .pat-card__action{display:none}
  .pat-book{width:100%;justify-content:space-between}
  .pat__facts{flex-direction:column;gap:11px}
  .pat__summary{gap:8px}
  .pat__filter-state{width:100%;justify-content:space-between}
  .pat-opening__label{align-items:flex-start;flex-direction:column;gap:3px}
  .pat-opening__row{grid-template-columns:1fr;gap:12px}
  .pat-stat{padding:14px 16px!important}
  .pat__monthnav{display:grid;grid-template-columns:1fr 1fr}
  .pat__monthnav a{justify-content:center}
  .pat-month__head{align-items:flex-end}
  .pat-month__head h4{font-size:17px}
  .pat-time__grid{grid-template-columns:repeat(4,1fr)}
}
