*{box-sizing:border-box}:root{--brand-soft:#a8c7aa;--brand-main:#3d8b91;--brand-soft-bg:#eef5ee;--text-main:#1f2937}body{margin:0;font-family:Arial,sans-serif;background:#ffffff;color:var(--text-main);overflow-x:hidden}.app-header{z-index:999;width:90%;height:80px;position:fixed;top:40px;left:50%;transform:translate(-50%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgb(255 255 255/84%);border-radius:99rem;box-shadow:2px 2px 8px rgb(61 139 145/22%),-1px -1px 4px rgb(168 199 170/35%)}.app-header-inner{justify-content:space-between;width:94%;height:100%;margin:0 auto}.app-brand,.app-header-inner{display:flex;align-items:center}.app-header-logo{width:240px;height:auto;object-fit:cover}.app-header-right{display:flex;align-items:center;justify-content:flex-end;width:100%}main{max-width:1024px;margin:168px auto 40px;display:grid;grid-gap:16px;gap:16px}.dashboard-panel{padding:24px;background:#fff;border-radius:12px;box-shadow:0 8px 24px rgb(61 139 145/12%)}h1{margin-top:0;margin-bottom:0}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.auth-connect{display:flex;justify-content:center}@media (max-width:640px){.app-header{border-radius:0;width:100%;height:60px;top:0;left:0;transform:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-header-inner{width:100%;height:100%;padding:0 16px}.app-header-logo{width:min(34vw,152px)}main{width:calc(100% - 24px);margin:92px auto 16px;gap:12px}.dashboard-panel{padding:18px}.title-row h1{font-size:clamp(1.05rem,5vw,1.35rem)}.title-row button{font-size:clamp(.78rem,3.2vw,.92rem);padding:8px 12px;white-space:nowrap;flex-shrink:0}.datetime-row{grid-template-columns:1fr}}button{border:0;border-radius:12px;padding:10px 16px;background:#ffffff;color:var(--brand-main);box-shadow:-16px 2px 10px rgba(255,255,255,2),3px 3px 8px rgba(0,0,0,.13),0 0 0 1px rgba(0,0,0,.04);cursor:pointer;transition:box-shadow .2s ease,transform .15s ease,color .2s ease,background-color .2s ease}button:hover:not(:disabled){box-shadow:-1px -1px 6px rgba(255,255,255,.96),3px 3px 7px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.05)}button:active:not(:disabled){transform:translateY(1px);box-shadow:inset -1px -1px 4px rgba(255,255,255,.78),inset 2px 2px 6px rgba(0,0,0,.16)}button:focus-visible{outline:2px solid var(--brand-main);outline-offset:2px}button:disabled{color:#808080;background:#f3f3f3;box-shadow:inset -2px -2px 5px rgba(255,255,255,.8),inset 2px 2px 5px rgba(0,0,0,.08);cursor:not-allowed}form{display:grid;grid-gap:12px;gap:12px}form>button[type=submit]{margin-top:24px}label{display:grid;grid-gap:6px;gap:6px}.datetime-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}input,textarea{border:1px solid rgb(61 139 145/35%);border-radius:8px;padding:8px;background:#fff}textarea{resize:vertical}.single-line-textarea{resize:none;overflow:hidden;width:50%;max-width:100%;justify-self:start}.calendar-fieldset{border:1px solid rgb(168 199 170/85%);background:var(--brand-soft-bg);border-radius:8px;padding:12px}.calendar-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px}.calendar-checkbox-label{display:flex;align-items:center;gap:8px;word-break:break-all}ul{padding-left:20px}.free-slot-list{display:flex;flex-wrap:wrap;gap:16px;padding:0;margin:0;list-style:none}.free-slot-date-list{display:grid;grid-gap:16px;gap:16px}.free-slot-date-section{display:grid;grid-gap:8px;gap:8px}.free-slot-date-heading{margin:0;font-size:16px}.free-slot-item{margin:0}.free-slot-chip{display:inline-block;padding:8px 14px;border-radius:999px;background:rgb(168 199 170/33%);color:var(--brand-main);font-size:14px;line-height:1.4;font-weight:500;white-space:nowrap}.error{color:#b91c1c}.notice{color:var(--brand-main)}.expiry-notice{color:#b91c1c}.calendar-errors{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;margin-bottom:12px}.calendar-errors p{margin:0 0 6px;color:#991b1b}.calendar-errors li{overflow-wrap:anywhere;word-break:break-word}.share-section{display:grid;grid-gap:10px;gap:10px}.share-url-box{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px}.share-expiry-input{display:grid;grid-gap:4px;gap:4px;width:-moz-fit-content;width:fit-content;font-size:14px}.share-expiry-input input{width:120px}.share-text-box textarea,.share-url-box input{width:100%;min-width:0}.share-text-box{display:grid;grid-gap:8px;gap:8px}.share-text-box button{justify-self:end}.share-copy-message{margin-top:4px;margin-bottom:0;font-size:13px}.share-text-help{margin:-2px 0 4px;font-size:13px;color:#5f6b73}.free-slot-button{cursor:pointer}.reservation-success{margin-top:14px;color:#065f46}.reservation-modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.55);padding:16px;z-index:1000}.reservation-modal{width:min(560px,100%);background:#ffffff;border:1px solid rgb(168 199 170/80%);border-radius:14px;padding:20px;box-shadow:0 18px 48px rgb(61 139 145/28%)}.reservation-modal-title{margin:0 0 10px}.reservation-target-slot{margin:0 0 14px;color:var(--brand-main)}.reservation-request-form{gap:10px}.reservation-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.reservation-completed-screen{border:1px solid rgb(168 199 170/85%);background:#ffffff;border-radius:14px;padding:20px}.reservation-completed-screen h2{margin:0 0 10px}.reservation-completed-screen p{margin:0;color:var(--brand-main)}.app-footer{width:100%;margin-top:48px;padding:56px 16px;background:#3d3d3d;color:#ffffff}.app-footer-content{max-width:1024px;margin:0 auto;text-align:center}.app-footer-brand{margin:0 0 26px;font-size:28px;font-weight:700;letter-spacing:.08em}.app-footer-brand-logo{margin:0 0 40px;display:flex;justify-content:center}.app-footer-company{margin:0 0 26px;display:grid;justify-items:center;grid-gap:8px;gap:8px}.app-footer-company-text{color:#ffffff;text-decoration:none}.app-footer-company-logo-link{display:block;padding:0}.app-footer-company-logo{width:220px;height:auto}.app-footer-company-logo-link:hover,.app-footer-company-text:hover{opacity:.7}.app-footer-copy{margin:0;font-size:13px;opacity:.9}@media (max-width:640px){.datetime-row{grid-template-columns:1fr}.app-footer{padding:44px 16px}.app-footer-brand{font-size:22px}.app-footer-brand,.app-footer-company{margin-bottom:20px}}