.apc-form{position:relative;max-width:640px}
.apc-form>label{display:block;font-weight:600;margin:16px 0 8px}
.apc-form>input:not([type=hidden]),.apc-form>textarea,.apc-form>select{display:block;width:100%;padding:12px;border:1px solid #cad5df;background:#fefefe;color:#0e0f3c;border-radius:0;font:inherit}
.apc-form>button{margin-top:24px}
.apc-form .apc-honey{position:absolute;left:-10000px;top:0;width:1px;height:1px;overflow:hidden}
.apc-form .apc-status{margin-top:16px;font-size:14px;overflow-wrap:anywhere}
.apc-form .apc-status:empty{display:none}

.apc-calendar{width:100%;max-width:680px;min-width:0;box-sizing:border-box}
.apc-calendar .demo-panel-head{margin-bottom:24px;gap:16px}
.apc-calendar .demo-panel-head h3{font-size:clamp(24px,2.5vw,32px);line-height:1.2;margin:8px 0 0}
.apc-calendar button,.apc-calendar select{font:inherit;border-radius:0;color:var(--ink,#0e0f3c)}
.apc-calendar button:focus-visible,.apc-calendar select:focus-visible{outline:3px solid #58748a;outline-offset:3px}
.apc-calendar .reset-button{flex:none}
.apc-calendar-service{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #cad5df;padding-bottom:20px}
.apc-calendar-service .field-label{margin:0;font-size:13px}
.apc-calendar-service select{padding:10px 28px 10px 12px;min-height:44px;background:#f3f6f9;border:1px solid #cad5df;font-size:13px;max-width:50%}
.apc-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 12px}
.apc-calendar-heading .field-label{font-size:13px;margin:0}
.apc-calendar-navigation{display:flex;align-items:center;gap:8px;font-size:11px;white-space:nowrap}
.apc-calendar-navigation button{height:44px;width:36px;background:transparent;border:1px solid #cad5df;cursor:pointer;font-size:18px}
.apc-calendar-navigation button:disabled{opacity:.35;cursor:default}
.apc-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.apc-calendar-days button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:85px;padding:8px 2px;border:1px solid #cad5df;background:#f4f7fa;cursor:pointer;line-height:1.2}
.apc-calendar-days span{font-size:9px}
.apc-calendar-days strong{font-family:var(--display,sans-serif);font-size:24px;line-height:1.2;margin:5px 0}
.apc-calendar-days button[aria-pressed=true]{background:#0e0f3c;color:#fff;border-color:#0e0f3c}
.apc-calendar-periods{display:flex;border-bottom:1px solid #cad5df;margin:22px 0 16px}
.apc-calendar-periods button{flex:1;min-height:44px;padding:8px 4px;background:transparent;border:0;border-bottom:3px solid transparent;font-size:12px;cursor:pointer}
.apc-calendar-periods button[aria-pressed=true]{border-bottom-color:#0e0f3c;font-weight:700;background:#edf2f6}
.apc-calendar-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.apc-calendar-times button{min-height:44px;padding:8px 3px;border:1px solid #8fa5b6;background:#fff;font-size:12px;cursor:pointer}
.apc-calendar-times button[aria-pressed=true]{background:#0e0f3c;color:#fff;border-color:#0e0f3c}
.apc-calendar-times button:disabled{background:#f0f2f5;border-color:#e0e5e9;color:#768391;text-decoration:line-through;cursor:default;opacity:1}
.apc-calendar-empty{font-size:12px;line-height:1.5;margin:12px 0;color:#405567}
.apc-calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:10px;color:#405567;margin:14px 0 20px}
.apc-calendar-legend span{display:flex;align-items:center;gap:5px}
.apc-calendar-legend span:last-child{margin-left:auto}
.apc-calendar-legend i{display:block;width:7px;height:7px;border:1px solid #8fa5b6;background:white}
.apc-calendar-legend span:nth-child(2) i{background:#e0e5e9;border-color:#e0e5e9}
.apc-calendar-selection{border-top:1px solid #cad5df;padding:18px 0;display:flex;flex-direction:column;gap:6px;min-height:98px}
.apc-calendar-selection .field-label{font-size:11px;color:#405567;margin:0}
.apc-calendar-selection strong{font-size:16px;line-height:1.4}
.apc-calendar-selection>span:last-child{font-size:11px;color:#405567;line-height:1.5}
.apc-calendar .apc-calendar-preview{width:100%;min-height:56px;text-align:left;font-size:14px;color:var(--paper,#fefefe)}
.apc-calendar-preview:disabled{opacity:.45;cursor:default}
.apc-calendar .demo-disclosure{font-size:10px;line-height:1.6;margin:14px 0 0;text-align:center;color:#405567}
.apc-calendar .demo-status{font-size:12px;line-height:1.6;margin:14px 0 0;overflow-wrap:anywhere}
.apc-calendar .demo-status:empty{display:none}
@media(max-width:560px){.apc-calendar{padding:22px 16px}.apc-calendar .demo-panel-head{margin-bottom:18px}.apc-calendar .reset-button{min-width:54px;padding:8px}.apc-calendar-heading{align-items:flex-start;flex-direction:column;gap:8px}.apc-calendar-navigation{width:100%;justify-content:space-between}.apc-calendar-navigation button{width:44px}.apc-calendar-days{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px;gap:8px}.apc-calendar-days button{flex:0 0 65px;scroll-snap-align:start}.apc-calendar-times{grid-template-columns:repeat(3,minmax(0,1fr))}.apc-calendar-selection strong{font-size:14px}}
