:root{--c-primary: #65b32e;--c-primary-dark: #568a3b;--c-primary-light: #eef7e5;--c-primary-text: #3a6b1a;--c-grey: #5c6062;--c-grey-light: #f0f1f1;--c-bg: #f5f7f2;--c-surface: #ffffff;--c-surface-2: #f2f4ef;--c-text: #1a1a1a;--c-text-2: #5c6062;--c-text-3: #9aa09b;--c-border: #dde5d8;--c-border-focus: #65b32e;--c-success: #568a3b;--c-success-bg: #eef7e5;--c-success-border: #b5d99a;--c-error: #cc3333;--c-error-bg: #fdf2f2;--c-error-border: #f5bcbc;--c-warning-bg: #fffbeb;--c-warning-border: #fde68a;--c-warning-text: #78450a;--radius-s: 6px;--radius-m: 10px;--radius-l: 14px;--radius-xl: 20px;--shadow-s: 0 1px 3px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.04);--shadow-m: 0 4px 12px rgba(0,0,0,.09);--shadow-l: 0 10px 32px rgba(0,0,0,.11);--transition: .15s ease;--max-w: 680px;--max-w-wide: 920px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--c-bg);color:var(--c-text);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--c-primary-text);text-decoration:none}a:hover{text-decoration:underline}img,svg{display:block}.site-header{background:var(--c-surface);border-bottom:2px solid var(--c-primary);padding:0 24px;height:62px;display:flex;align-items:center;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-s)}.site-header__inner{max-width:var(--max-w-wide);width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:baseline;gap:0;text-decoration:none;line-height:1}.logo__wordmark{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--c-text)}.logo__wordmark .logo__x{color:var(--c-primary)}.logo__tm{font-size:.55rem;font-weight:400;vertical-align:super;color:var(--c-text-2);margin-left:1px;font-style:normal}.logo__product{font-size:.7rem;font-weight:600;color:var(--c-primary);letter-spacing:.08em;text-transform:lowercase;margin-left:7px;align-self:flex-end;padding-bottom:2px;font-style:normal}.site-main{min-height:calc(100vh - 114px);padding:44px 24px}.container{max-width:var(--max-w);margin:0 auto}.container--wide{max-width:var(--max-w-wide);margin:0 auto}.site-footer{text-align:center;padding:14px 24px;font-size:.78rem;color:var(--c-text-3);border-top:1px solid var(--c-border)}.page-title{font-size:1.7rem;font-weight:700;letter-spacing:-.025em;line-height:1.2;margin-bottom:8px}.page-subtitle{color:var(--c-text-2);font-size:.975rem;margin-bottom:32px}.section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--c-text-3);margin-bottom:10px}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-l);padding:26px;box-shadow:var(--shadow-s)}.card+.card{margin-top:14px}.card__header{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--c-border)}.card__title{font-size:.9375rem;font-weight:600}.card__subtitle{font-size:.8125rem;color:var(--c-text-2);margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:var(--radius-m);font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:background var(--transition),box-shadow var(--transition),opacity var(--transition);text-decoration:none;white-space:nowrap;line-height:1;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--c-primary);color:#fff;box-shadow:0 1px 4px #65b32e4d}.btn--primary:hover:not(:disabled){background:var(--c-primary-dark);box-shadow:0 4px 14px #65b32e61;text-decoration:none}.btn--secondary{background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border)}.btn--secondary:hover:not(:disabled){background:var(--c-surface-2);text-decoration:none}.btn--ghost{background:transparent;color:var(--c-text-2);padding:8px 12px}.btn--ghost:hover:not(:disabled){background:var(--c-surface-2);color:var(--c-text);text-decoration:none}.btn--danger{background:var(--c-error-bg);color:var(--c-error);border:1px solid var(--c-error-border)}.btn--danger:hover:not(:disabled){background:#fce8e8}.btn--sm{padding:6px 12px;font-size:.8rem;border-radius:var(--radius-s)}.btn--lg{padding:13px 28px;font-size:.975rem;border-radius:var(--radius-m)}.btn--full{width:100%}.form-group{margin-bottom:18px}.form-group--inline{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:.85rem;font-weight:500;margin-bottom:5px;color:var(--c-text)}label .optional{font-weight:400;color:var(--c-text-3);font-size:.78rem;margin-left:4px}input[type=text],input[type=email],input[type=number],input[type=datetime-local],select,textarea{width:100%;padding:9px 12px;border:1px solid var(--c-border);border-radius:var(--radius-s);font-size:.9rem;font-family:inherit;color:var(--c-text);background:var(--c-surface);transition:border-color var(--transition),box-shadow var(--transition);outline:none;-webkit-appearance:none}input:focus,select:focus,textarea:focus{border-color:var(--c-border-focus);box-shadow:0 0 0 3px #65b32e24}input.error,select.error,textarea.error{border-color:var(--c-error);box-shadow:0 0 0 3px #cc33331a}textarea{resize:vertical;min-height:88px}select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%235c6062' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:18px;padding-right:36px}.field-error{font-size:.8rem;color:var(--c-error);margin-top:4px}.form-hint{font-size:.8rem;color:var(--c-text-3);margin-top:4px}.alert{padding:11px 15px;border-radius:var(--radius-m);font-size:.875rem;display:flex;align-items:flex-start;gap:10px;margin-bottom:18px}.alert--error{background:var(--c-error-bg);border:1px solid var(--c-error-border);color:var(--c-error)}.alert--success{background:var(--c-success-bg);border:1px solid var(--c-success-border);color:var(--c-success)}.alert--warning{background:var(--c-warning-bg);border:1px solid var(--c-warning-border);color:var(--c-warning-text)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em}.badge--open{background:var(--c-success-bg);color:var(--c-success);border:1px solid var(--c-success-border)}.badge--booked{background:var(--c-grey-light);color:var(--c-grey);border:1px solid #c8cacc}.badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.slot-day{margin-bottom:20px}.slot-day__label{font-size:.8125rem;font-weight:600;color:var(--c-text-2);margin-bottom:8px;text-transform:capitalize}.slot-grid{display:flex;flex-wrap:wrap;gap:8px}.slot-btn{padding:8px 16px;border:1.5px solid var(--c-border);border-radius:var(--radius-s);background:var(--c-surface);color:var(--c-text);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition);font-family:inherit}.slot-btn:hover{border-color:var(--c-primary);color:var(--c-primary-text);background:var(--c-primary-light)}.slot-btn.selected{background:var(--c-primary);border-color:var(--c-primary);color:#fff;box-shadow:0 2px 8px #65b32e59}.divider{border:none;border-top:1px solid var(--c-border);margin:22px 0}.link-row{display:flex;align-items:center;gap:8px;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-m);padding:10px 12px}.link-row__url{flex:1;font-size:.85rem;color:var(--c-text-2);font-family:Courier New,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-btn{padding:6px 14px;border-radius:var(--radius-s);font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);transition:all var(--transition);white-space:nowrap;font-family:inherit;display:inline-flex;align-items:center;gap:5px;flex-shrink:0}.copy-btn:hover{background:var(--c-surface-2)}.copy-btn.copied{background:var(--c-success-bg);border-color:var(--c-success-border);color:var(--c-success)}.detail-list{list-style:none}.detail-list li{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--c-border);font-size:.9rem}.detail-list li:last-child{border-bottom:none}.detail-list__key{min-width:140px;color:var(--c-text-2);font-size:.8rem;flex-shrink:0;padding-top:1px}.detail-list__val{font-weight:500}.hero{text-align:center;padding:72px 24px 52px}.hero__eyebrow{display:inline-flex;align-items:center;gap:6px;background:var(--c-primary-light);color:var(--c-primary-text);font-size:.78rem;font-weight:700;padding:4px 14px;border-radius:999px;margin-bottom:22px;letter-spacing:.05em;text-transform:uppercase}.hero__title{font-size:clamp(2rem,5vw,2.75rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:18px}.hero__title span{color:var(--c-primary)}.hero__subtitle{font-size:1.05rem;color:var(--c-text-2);max-width:480px;margin:0 auto 36px;line-height:1.65}.hero__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero__bar{width:52px;height:4px;background:var(--c-primary);border-radius:2px;margin:28px auto 0}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:60px auto 0;padding:0 24px;max-width:var(--max-w-wide)}.feature-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-l);padding:22px}.feature-card__icon{width:38px;height:38px;border-radius:var(--radius-m);background:var(--c-primary-light);display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:12px}.feature-card__title{font-size:.9375rem;font-weight:600;margin-bottom:6px}.feature-card__desc{font-size:.85rem;color:var(--c-text-2);line-height:1.55}.window-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;padding:14px;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-m);margin-bottom:10px}.spinner{width:30px;height:30px;border:3px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;animation:spin .65s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{display:flex;justify-content:center;padding:60px 0}.empty-state{text-align:center;padding:64px 24px}.empty-state__icon{font-size:2.8rem;margin-bottom:14px}.empty-state__title{font-size:1.2rem;font-weight:600;margin-bottom:8px}.empty-state__desc{color:var(--c-text-2);margin-bottom:22px}.auth-page{min-height:calc(100vh - 114px);display:flex;align-items:center;justify-content:center;padding:40px 24px}.auth-card{width:100%;max-width:420px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-l);padding:36px 32px;box-shadow:var(--shadow-m)}.auth-card__title{font-size:1.4rem;font-weight:700;letter-spacing:-.025em;margin-bottom:6px}.auth-card__sub{font-size:.875rem;color:var(--c-text-2);margin-bottom:28px}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;font-size:.78rem;color:var(--c-text-3)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--c-border)}.auth-footer{text-align:center;margin-top:20px;font-size:.85rem;color:var(--c-text-2)}.auth-footer a{color:var(--c-primary-text);font-weight:500}.header-user{display:flex;align-items:center;gap:10px;font-size:.85rem}.header-user__name{color:var(--c-text-2);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-wrapper{-webkit-user-select:none;user-select:none}.cal-nav{display:flex;align-items:center;gap:12px;margin-bottom:12px}.cal-nav__label{flex:1;text-align:center;font-weight:600;font-size:.9rem}.cal-loading{text-align:center;font-size:.85rem;color:var(--c-text-3);padding:8px 0}.cal-grid-outer{display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto 1fr;border:1px solid var(--c-border);border-radius:var(--radius-m);overflow:hidden;background:var(--c-surface)}.cal-time-header{grid-column:1;grid-row:1;border-right:1px solid var(--c-border);border-bottom:1px solid var(--c-border);background:var(--c-surface-2)}.cal-time-col{grid-column:1;grid-row:2;border-right:1px solid var(--c-border);background:var(--c-surface-2)}.cal-time-label{display:flex;align-items:flex-start;justify-content:flex-end;padding:2px 6px 0 0;font-size:.68rem;color:var(--c-text-3);box-sizing:border-box}.cal-day-headers{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--c-border)}.cal-day-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 2px;border-right:1px solid var(--c-border);gap:1px}.cal-day-header:last-child{border-right:none}.cal-day-header--today{background:var(--c-primary-light)}.cal-day-name{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-3)}.cal-day-num{font-size:.9rem;font-weight:700;color:var(--c-text);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.cal-day-num--today{background:var(--c-primary);color:#fff}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);position:relative;cursor:crosshair;background-image:repeating-linear-gradient(to bottom,transparent 0px,transparent 29px,var(--c-border) 29px,var(--c-border) 30px)}.cal-day-col{position:relative;border-right:1px solid var(--c-border)}.cal-day-col:last-child{border-right:none}.cal-event{position:absolute;left:2px;right:2px;background:#dbeafe;border-left:3px solid #3b82f6;border-radius:3px;padding:2px 4px;overflow:hidden;z-index:2;pointer-events:none;min-height:4px}.cal-event__title{font-size:.68rem;font-weight:500;color:#1e40af;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-selection{position:absolute;left:2px;right:2px;background:#65b32e38;border:2px solid var(--c-primary);border-radius:4px;z-index:3;display:flex;align-items:flex-start;justify-content:flex-end;padding:2px;min-height:4px}.cal-selection__remove{background:var(--c-primary);color:#fff;border:none;border-radius:3px;font-size:.6rem;cursor:pointer;padding:1px 4px;line-height:1;pointer-events:all;flex-shrink:0}.cal-holiday{position:absolute;left:0;right:0;background:#cc33331a;border-left:3px solid rgba(204,51,51,.45);pointer-events:none;z-index:1}.cal-day-header--holiday{background:#fef2f2}.cal-day-holiday-dot{width:5px;height:5px;border-radius:50%;background:var(--c-error);display:block}.cal-drag{position:absolute;left:2px;right:2px;background:#65b32e1f;border:2px dashed var(--c-primary);border-radius:4px;z-index:4;pointer-events:none;min-height:4px}.cal-summary{margin-top:14px;padding:12px 14px;background:var(--c-primary-light);border:1px solid var(--c-success-border);border-radius:var(--radius-m)}.cal-summary__item{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;padding:5px 0;border-bottom:1px solid var(--c-success-border);gap:8px}.cal-summary__item:last-child{border-bottom:none}.cal-hint{font-size:.8rem;color:var(--c-text-3);margin-top:8px;text-align:center}.cal-participant-busy{position:absolute;left:0;right:0;background:#f973162e;border-left:3px solid rgba(249,115,22,.6);pointer-events:none;z-index:1;min-height:4px}.participant-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-m);box-shadow:0 4px 16px #0000001a;z-index:50;overflow:hidden}.participant-dropdown__item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:8px 12px;border:none;background:transparent;cursor:pointer;text-align:left;border-bottom:1px solid var(--c-border);gap:2px}.participant-dropdown__item:last-child{border-bottom:none}.participant-dropdown__item:hover{background:var(--c-surface-2)}.participant-dropdown__name{font-size:.875rem;font-weight:600;color:var(--c-text)}.participant-dropdown__email{font-size:.775rem;color:var(--c-text-3)}.participant-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.participant-chip{display:inline-flex;align-items:center;gap:6px;background:var(--c-primary-light);border:1px solid var(--c-success-border);color:var(--c-text);font-size:.825rem;font-weight:500;padding:3px 8px 3px 10px;border-radius:999px}.participant-chip button{background:none;border:none;cursor:pointer;color:var(--c-text-3);font-size:.7rem;padding:0;line-height:1;display:flex;align-items:center}.participant-chip button:hover{color:var(--c-error)}@media (max-width: 600px){.site-main{padding:24px 16px}.card{padding:18px}.form-group--inline,.window-row{grid-template-columns:1fr}.hero{padding:44px 16px 32px}.features{padding:0 16px}.page-title{font-size:1.4rem}.link-row{flex-wrap:wrap}.link-row__url{width:100%}.logo__wordmark{font-size:1.25rem}}
