/* Afspraken's composition on the supplied tij.gr semantic foundation/native bridge. */
:root{--font-ij:"Google Sans Flex",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--text-sm-ij:1rem;--control-height-ij:2.75rem;--radius-ij:.55rem;--content-max-ij:72rem}
html{color-scheme:var(--color-scheme-ij);scrollbar-gutter:stable}
body{margin:0;background:var(--surface-ij);font-size:1rem;line-height:1.5}
a{color:inherit;text-underline-offset:.2em}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{font-weight:500}button:disabled{cursor:not-allowed}a.button,button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.75rem;flex-shrink:0}
a.button{border:1px solid var(--border-control-ij);border-radius:var(--radius-ij);padding:.45rem .8rem;text-decoration:none}
body.ij-native .primary{background:var(--action-ij);border-color:var(--action-ij);color:var(--on-action-ij)}body.ij-native .primary:hover{opacity:.88;background:var(--action-ij)}
body.ij-native .quiet{border-color:transparent;background:transparent}body.ij-native .danger{color:var(--danger-ij)}body.ij-native .small{font-size:.9375rem;min-height:2.75rem}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.2;letter-spacing:-.035em;font-weight:600;margin-bottom:.6rem}h2{font-size:1.25rem;font-weight:600;letter-spacing:-.015em}h3{font-weight:600}p{margin-bottom:1rem}.muted{color:var(--text-muted-ij)}.caption{font-size:.9375rem;color:var(--text-muted-ij)}
.topbar{min-height:5rem;max-width:var(--content-max-ij);margin:auto;padding:1rem 2rem;display:flex;align-items:center;gap:1.5rem}.brand{font-size:1.2rem;font-weight:650;letter-spacing:-.035em;text-decoration:none}.business-name{color:var(--text-muted-ij);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22rem}.top-actions{margin-left:auto;display:flex;gap:.5rem;align-items:center}.topline{border-bottom:1px solid var(--border-ij)}
.shell{max-width:var(--content-max-ij);margin:auto;padding:2.5rem 2rem 5rem;display:grid;grid-template-columns:12.5rem minmax(0,1fr);gap:3rem}.side{display:flex;flex-direction:column;gap:.3rem;align-self:start;position:sticky;top:1.5rem}.side a{display:flex;gap:.8rem;align-items:center;min-height:2.9rem;padding:.5rem .8rem;border-radius:var(--radius-ij);text-decoration:none;font-weight:500}.side a[aria-current=page]{background:var(--surface-muted-ij)}.side a:hover{background:var(--surface-muted-ij)}.side .nav-settings{margin-top:1.4rem}.side .nav-foot{margin-top:2rem;font-size:.9375rem;color:var(--text-muted-ij)}
main{min-width:0}#main:focus{outline:none}.page-head{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.page-head p{margin:0}.toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1.4rem}.segmented{display:inline-flex;border-bottom:1px solid var(--border-ij);gap:1rem}.segmented button{border:0;background:transparent!important;border-radius:0;padding:.6rem 0;min-width:4rem;color:var(--text-muted-ij)}.segmented button[aria-pressed=true]{color:var(--text-ij);box-shadow:inset 0 -2px var(--text-ij)}.section{margin-bottom:2.75rem}.divider{border-top:1px solid var(--border-ij);padding-top:2rem;margin-top:2rem}
.list{border-top:1px solid var(--border-ij)}.booking-row{padding:1.3rem 0;border-bottom:1px solid var(--border-ij);display:grid;grid-template-columns:6rem minmax(0,1fr) auto;gap:1.25rem;align-items:start}.when{font-variant-numeric:tabular-nums}.when strong{font-size:1.2rem;font-weight:550}.when span{display:block;font-size:.9375rem;color:var(--text-muted-ij)}.booking-main strong{font-weight:600;font-size:1.0625rem}.booking-main p{margin:.15rem 0;color:var(--text-muted-ij);overflow-wrap:anywhere}.booking-main .mail-state{font-size:.9375rem;margin-top:.4rem}.row-actions{display:flex;gap:.3rem;align-items:center}.row-actions button{white-space:nowrap}.date-heading{font-size:1.0625rem;font-weight:600;padding:1.7rem 0 .5rem;margin:0}.empty{padding:3rem 0;max-width:33rem}.empty h2{margin-bottom:.4rem}.empty p{color:var(--text-muted-ij)}.setup-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.type-row{padding:1.3rem 0;display:flex;gap:1rem;justify-content:space-between;border-bottom:1px solid var(--border-ij)}.type-row p{margin:.25rem 0 0;color:var(--text-muted-ij)}.type-row strong{font-size:1.0625rem}.tag{display:inline-block;font-size:.9375rem;border:1px solid var(--border-ij);padding:.12rem .5rem;border-radius:2rem;margin-left:.5rem}.stack{display:grid;gap:1.1rem}label{display:block;font-weight:500}label>input,label>select,label>textarea{margin-top:.4rem}input,textarea{min-width:0}textarea{resize:vertical;min-height:6rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.full{grid-column:1/-1}.checkline{display:flex;gap:.75rem;align-items:center;min-height:2.75rem}.checkline input{width:1.15rem;height:1.15rem;margin:0}.form-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.5rem;align-items:center;flex-wrap:wrap}.form-actions .caption{margin-right:auto}.form-error{padding:.8rem 1rem;border-left:3px solid var(--danger-ij);background:var(--danger-subtle-ij);color:var(--danger-ij);margin:1rem 0;overflow-wrap:anywhere}.form-error:focus{outline:2px solid var(--focus-ij);outline-offset:2px}[aria-invalid=true]{border-color:var(--danger-ij)!important}.notice{padding:1rem 1.1rem;background:var(--surface-muted-ij);border-radius:var(--radius-ij)}.notice p:last-child{margin-bottom:0}.inline-link{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;overflow-wrap:anywhere}.inline-link code{font:inherit;overflow-wrap:anywhere;min-width:0}.weekly-row{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--border-ij)}.weekday-name{padding-top:.55rem;font-weight:550}.intervals{display:grid;gap:.65rem}.interval{display:flex;gap:.6rem;align-items:center}.interval input[type=time]{width:8.2rem}.interval .remove{min-width:2.75rem;padding:.4rem}.add-interval{justify-self:start;color:var(--text-muted-ij)}details{margin-top:1rem}details>summary{font-weight:500}details>div{padding:.8rem 0}.exception-row{display:flex;gap:1rem;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-ij);padding:1rem 0}.exception-row p{margin:0}.exception-row .caption{margin-top:.2rem}
dialog{width:min(42rem,calc(100% - 2rem));max-height:90dvh;overflow:auto;padding:1.75rem;border:1px solid var(--border-ij);border-radius:.9rem;background:var(--surface-ij);color:var(--text-ij);box-shadow:var(--shadow-overlay-ij)}dialog::backdrop{background:var(--scrim-ij)}.dialog-head{display:flex;align-items:center;gap:1rem;justify-content:space-between;margin-bottom:1.3rem}.dialog-head h2{margin:0;font-size:1.5rem}.dialog-head button{padding:.4rem;min-width:2.75rem}.dialog-body>p{color:var(--text-muted-ij)}#feedback{position:fixed;bottom:1.25rem;left:50%;transform:translateX(-50%);width:max-content;max-width:min(36rem,calc(100vw - 2rem));padding:.85rem 1.2rem;background:var(--action-ij);color:var(--on-action-ij);border-radius:var(--radius-ij);box-shadow:var(--shadow-ij);z-index:200;overflow-wrap:anywhere}
.auth{max-width:27rem;margin:4rem auto 6rem;padding:0 1.25rem}.auth .brand{display:inline-block;margin-bottom:2rem}.auth h1{margin-bottom:1.6rem}.auth .switch{margin-top:1.5rem}.auth form>.primary{width:100%;margin-top:.4rem}.auth-footer{display:flex;justify-content:space-between;gap:1rem;margin-top:1.1rem}.auth-footer button{padding:0;justify-content:start}.public-wrap{max-width:55rem;margin:auto;padding:2.25rem 1.5rem 5rem}.public-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:3rem;gap:1rem}.public-top .brand{font-size:1.15rem;max-width:75%;overflow-wrap:anywhere}.product-label{font-size:.9375rem;color:var(--text-muted-ij)}.public-title{margin-bottom:2rem}.public-title p{color:var(--text-muted-ij);margin:.6rem 0 0}.type-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.75rem;margin-bottom:2.4rem}.type-choices button{padding:1.1rem;text-align:left;align-items:start;justify-content:start;flex-direction:column;gap:.25rem;border-color:var(--border-ij)}.type-choices button[aria-pressed=true]{border-color:var(--text-ij);box-shadow:inset 0 0 0 1px var(--text-ij)}.type-choices .name{font-weight:600;font-size:1.0625rem}.type-choices .description{font-size:.9375rem;color:var(--text-muted-ij);font-weight:400;margin-top:.25rem}.booking-columns{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:2.5rem}.public-contact{border-left:1px solid var(--border-ij);padding-left:2rem}.public-contact h2{margin-bottom:1.25rem}.public-contact .primary{width:100%;margin-top:.5rem}.selected-summary{padding:1rem 0 1.5rem;margin:0}.date-tools{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.date-tools input{max-width:11rem}.date-tools .date-nav{display:flex;gap:.4rem}.date-nav button{min-width:2.75rem}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;margin-bottom:1.4rem}.days button{min-height:4.4rem;padding:.5rem .15rem;display:flex;flex-direction:column;gap:.1rem;border-color:transparent}.days button span{font-size:.875rem;color:var(--text-muted-ij);font-weight:400}.days button strong{font-size:1.125rem;font-weight:500}.days button[aria-pressed=true]{background:var(--action-ij);color:var(--on-action-ij)}.days button[aria-pressed=true] span{color:inherit}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.3rem,1fr));gap:.6rem}.slots button{font-variant-numeric:tabular-nums;min-height:2.9rem;border-color:var(--border-ij);padding:.55rem .35rem}.slots button[aria-pressed=true]{background:var(--action-ij);color:var(--on-action-ij);border-color:var(--action-ij)}.timezone{font-size:.9375rem;color:var(--text-muted-ij);margin-top:1rem}.slot-message{color:var(--text-muted-ij);padding:.7rem 0 1.5rem}.confirmation{max-width:36rem;margin:2rem auto}.confirmation .summary{border-top:1px solid var(--border-ij);border-bottom:1px solid var(--border-ij);padding:1.5rem 0;margin:1.7rem 0}.confirmation .summary h2{margin-bottom:.4rem}.confirmation .summary p{margin:.2rem 0}.confirmation .actions{display:flex;gap:.6rem;flex-wrap:wrap}.manage-email{overflow-wrap:anywhere}.mail-body{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;max-height:55vh;overflow:auto}.mail-row{display:flex;gap:1rem;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-ij);padding:1rem 0}.mail-row p{margin:.1rem 0;overflow-wrap:anywhere}.site-key{font-family:var(--font-mono-ij);font-size:.9375rem;overflow-wrap:anywhere;user-select:all}
.skip{position:absolute;top:-5rem;left:1rem;z-index:500;padding:.8rem;background:var(--surface-ij)}.skip:focus{top:.5rem}.icon{display:inline-flex;width:1.25rem;height:1.25rem;vertical-align:middle;flex-shrink:0}.icon svg{width:100%;height:100%}.loading{padding:2rem 0;color:var(--text-muted-ij)}[aria-busy=true]{cursor:progress}noscript{display:block;padding:2rem}
@media(max-width:1000px){.shell{grid-template-columns:11rem minmax(0,1fr);gap:1.7rem;padding:2rem 1.5rem}.topbar{padding:1rem 1.5rem}.booking-row{grid-template-columns:5rem minmax(0,1fr)}.row-actions{grid-column:2}.booking-columns{grid-template-columns:1fr;gap:2rem}.public-contact{padding:2rem 0 0;border-left:0;border-top:1px solid var(--border-ij);max-width:30rem}}
@media(max-width:700px){.topbar{min-height:4.5rem;padding:1rem}.business-name{display:none}.top-actions .button{font-size:.9375rem;padding:.45rem .6rem}.shell{display:block;padding:0 1rem 3rem}.side{position:static;flex-direction:row;flex-wrap:wrap;gap:.3rem;padding:1rem 0 1.5rem}.side a{font-size:.9375rem;min-height:2.6rem;padding:.5rem .7rem;gap:.5rem}.side a .icon{display:none}.side .nav-settings{margin:0}.side .nav-foot{display:none}.page-head{margin-bottom:1.5rem}.page-head h1{font-size:1.75rem}.weekly-row{grid-template-columns:1fr;gap:.3rem}.weekday-name{padding-top:0}.interval input[type=time]{flex:1;width:6.5rem;max-width:9rem}.form-grid{grid-template-columns:1fr}.public-wrap{padding:1.5rem 1rem 3rem}.public-top{margin-bottom:2rem}.public-title{margin-bottom:1.5rem}.type-choices{grid-template-columns:1fr}.type-choices button{padding:.9rem 1rem}.confirmation{margin:1rem 0}.form-actions{justify-content:start}.form-actions .primary{order:0}.booking-row{gap:.8rem}.booking-main strong{font-size:1rem}dialog{padding:1.2rem}.type-row{align-items:start}.mail-row{align-items:start;flex-wrap:wrap}.days{gap:.15rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

body.ij-native button[data-theme-choice][aria-pressed=true]{background:var(--action-ij);color:var(--on-action-ij);border-color:var(--action-ij)}

@media(max-width:700px){.interval{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:.35rem}.interval input[type=time]{width:100%;max-width:none;min-width:0}.interval .remove{width:2.75rem}}

/* Native single selects: visual caret only; options and events remain native. */
.select-control{position:relative;display:block;width:100%;min-width:0;margin-top:.4rem}
.ij-native .select-control select{display:block;min-width:0;max-width:100%;min-height:2.75rem;appearance:none;-webkit-appearance:none;padding-right:38px;overflow:hidden;text-overflow:ellipsis}
.select-control .select-caret{position:absolute;width:16px;height:16px;right:11px;top:50%;transform:translateY(-50%) rotate(90deg);pointer-events:none;color:var(--text-muted-ij)}
.select-control select:disabled + .select-caret{opacity:.55}

/* Native fallback remains available when the shared service is absent. */
html[data-focus-intent] .ij-native :is(a,button,input,textarea,select,summary,[tabindex]):focus-visible:not([data-keyboard-focus]){outline:none}
html[data-focus-intent=keyboard] .ij-native [data-keyboard-focus]:focus{outline:2px solid var(--focus-ij);outline-offset:2px}

/* Native temporal subcontrols retain host focus-within when host :focus is false. */
html[data-focus-intent=keyboard] .ij-native input:is([type=date],[type=time],[type=month],[type=week],[type=datetime-local])[data-keyboard-focus]:focus-within{outline:2px solid var(--focus-ij);outline-offset:2px}
@media(forced-colors:active){html[data-focus-intent=keyboard] .ij-native input:is([type=date],[type=time],[type=month],[type=week],[type=datetime-local])[data-keyboard-focus]:focus-within{outline-color:Highlight}}

/* Business context and personal account stay separate inside the native header. */
.context-controls{display:flex;align-items:center;gap:.5rem;min-width:0}
.context-control{position:relative;min-width:0}
.context-control>summary{list-style:none;display:flex;align-items:center;gap:.5rem;cursor:pointer;border:1px solid var(--border-ij);border-radius:.45rem;padding:.55rem .7rem;min-height:2.5rem;color:var(--text-ij);background:var(--surface-ij);font:inherit}
.context-control>summary::-webkit-details-marker{display:none}
.context-control>summary::after{content:'⌄';flex:none;font-size:1rem;color:var(--text-muted-ij)}
.context-control>summary .context-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:18rem}
.context-menu{position:absolute;inset-inline-end:0;top:calc(100% + .4rem);min-width:14rem;max-width:min(23rem,calc(100vw - 2rem));padding:.5rem;border:1px solid var(--border-ij);border-radius:.6rem;background:var(--surface-ij);color:var(--text-ij);box-shadow:var(--shadow-overlay-ij);z-index:80;display:grid;gap:.3rem}
.context-menu a,.context-menu button{display:block;text-align:start;width:100%;padding:.6rem .7rem;white-space:normal;overflow-wrap:anywhere;font:inherit;color:inherit}
.context-menu a{text-decoration:none;border-radius:.35rem}
.context-menu a:hover{background:var(--surface-muted-ij)}
.context-person{margin:0;padding:.45rem .7rem .6rem;overflow-wrap:anywhere;color:var(--text-muted-ij);font-size:.875rem;border-bottom:1px solid var(--border-ij)}
.context-menu form{margin:0}.context-discard{width:min(29rem,calc(100vw - 2rem));padding:1.5rem;color:var(--text-ij);background:var(--surface-ij);border:1px solid var(--border-ij);border-radius:.7rem;box-shadow:var(--shadow-overlay-ij)}
.context-discard h2{margin-top:0}.context-discard p{line-height:1.6;overflow-wrap:anywhere}.context-discard::backdrop{background:var(--scrim-ij)}
.context-discard-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}
@media(max-width:45rem){.context-controls{max-width:100%;flex:1;justify-content:flex-end}.context-control.business-context{flex:1;max-width:100%}.context-control>summary .context-label{max-width:calc(100vw - 13rem)}.context-control>summary{font-size:.875rem}.context-menu{min-width:min(16rem,calc(100vw - 2rem))}}

.topbar>.context-controls{margin-left:auto}.topbar .top-actions{margin-left:0}@media(max-width:45rem){.topbar{flex-wrap:wrap;gap:.65rem}.topbar>.context-controls{order:3;flex-basis:100%;margin-left:0;justify-content:space-between}.context-control.business-context{max-width:calc(100% - 6.5rem)}}

@media(max-width:45rem){.business-context>.context-menu{inset-inline-start:0;inset-inline-end:auto}}
