
#element-v2{--paper:#F0EFEC;--ink:#2A2A2A;--soft:#E9E8E6;--muted:#686561;--line:#B9B6B0;--red:#FF2929;position:relative;background:var(--paper);color:var(--ink);font:12px/1.65 'Martian Mono',monospace;padding:28px 32px;isolation:isolate}#element-v2 *{box-sizing:border-box;min-width:0}#element-v2 [hidden]{display:none!important}#element-v2 button,#element-v2 input,#element-v2 select{font:inherit;color:inherit}#element-v2 button,#element-v2 select{min-height:44px;border:1px solid var(--line);background:transparent;border-radius:4px;padding:10px 14px}#element-v2 button:hover{border-color:var(--ink)}#element-v2 button:disabled{opacity:.48}#element-v2 a{color:inherit;text-underline-offset:4px}#element-v2 button.primary,#element-v2 button.selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}#element-v2 button.selected:after{content:' ✓'}#element-v2 .mini{font-size:var(--type-caption);color:var(--muted)}#element-v2 .eyebrow{font-size:var(--type-caption);letter-spacing:.08em;text-transform:uppercase}#element-v2 h1,#element-v2 h2,#element-v2 h3{font-family:Inter,sans-serif;font-weight:700;letter-spacing:-.04em;margin:0}#element-v2 h1{font-size:48px;line-height:1.05}#element-v2 h2{font-size:34px;line-height:1.15}#element-v2 h3{font-size:20px;line-height:1.2}#element-v2 p{margin:10px 0 0}#element-v2 .wrap{max-width:1440px;margin:auto}#element-v2 .top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}#element-v2 .logo{width:166px;height:56px;object-fit:contain}#element-v2 nav{display:flex;gap:18px;flex-wrap:wrap}#element-v2 nav a{text-decoration:none;font-size:var(--type-caption);padding:10px 0}#element-v2 .account{display:flex;align-items:center;gap:8px}#element-v2 .account button{background:#fff;border-color:#fff;display:flex;align-items:center;gap:8px}#element-v2 .account select{background:#E0DFDD;border-color:#E0DFDD}#element-v2 .banner{aspect-ratio:1440/350;background:#262626;border-radius:6px;position:relative;display:flex;align-items:stretch;justify-content:flex-end;padding:24px;gap:24px}#element-v2 .bannerempty{flex:1;align-self:end;color:#C3C0BA;font-size:var(--type-caption);letter-spacing:.08em}#element-v2 .glass{width:25%;flex:none;background:rgba(255,255,255,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:4px;padding:20px;display:flex;flex-direction:column;gap:10px;font-size:var(--type-caption);overflow-wrap:anywhere}#element-v2 .glass h1{font-size:clamp(18px,2.1vw,28px)}#element-v2 .glass .contact{border-top:1px solid #B9B6B0;padding-top:10px}#element-v2 .section{padding-top:48px;scroll-margin-top:20px}#element-v2 .sectionhead{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}#element-v2 .sectionhead p{max-width:310px;color:var(--muted)}#element-v2 .bookinggrid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:32px}#element-v2 .servicesearch{width:100%;padding:14px;background:transparent;border:1px solid var(--line);border-radius:4px;margin-bottom:12px;font-size:16px}#element-v2 .servicerow{border-bottom:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center}#element-v2 .servicerow strong{font-weight:500}#element-v2 .servicerow .price{text-align:right;white-space:nowrap}#element-v2 .servicerow .price small{display:block;color:var(--muted)}#element-v2 .invite{padding:26px;background:var(--soft);border-radius:4px;align-self:start}#element-v2 .invite h3{font-size:28px}#element-v2 .invite button{margin-top:22px;width:100%}#element-v2 .rule{height:1px;background:var(--line);margin:24px 0}#element-v2 .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}#element-v2 .photo{background:#DEDDD9;aspect-ratio:4/3;display:flex;align-items:end;padding:18px;color:#686561;border-radius:4px;font-size:var(--type-caption)}#element-v2 .team{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}#element-v2 .person{background:var(--soft);padding:20px;border-radius:4px}#element-v2 .portrait{height:100px;display:flex;align-items:center;justify-content:center;color:#8B8781;border-bottom:1px solid var(--line);margin-bottom:18px}#element-v2 .portrait i{width:32px;height:32px}#element-v2 .person button{margin-top:18px;width:100%}#element-v2 .reviews{display:grid;grid-template-columns:180px 1fr;gap:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}#element-v2 .rating{font:700 62px/1 Inter,sans-serif;letter-spacing:-.04em}#element-v2 .review{background:var(--soft);padding:24px;border-radius:4px}#element-v2 .bottomgrid{display:grid;grid-template-columns:1fr 1fr;gap:40px}#element-v2 details{border-bottom:1px solid var(--line);padding:16px 0}#element-v2 summary{font-weight:500}#element-v2 footer{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}#element-v2 .shade{position:absolute;inset:0;background:rgba(24,24,24,.55);z-index:10;padding:24px;display:flex;justify-content:center;align-items:start}#element-v2 .dialog{background:var(--paper);width:850px;max-width:100%;border-radius:6px;padding:28px;box-shadow:0 24px 80px #0003}#element-v2 .dialogtop{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}#element-v2 .dialoglogo{width:118px;height:40px}#element-v2 .dialoglayout{display:grid;grid-template-columns:1fr 230px;gap:28px;margin-top:24px}#element-v2 .dialog h2{font-size:36px;margin-top:12px}#element-v2 .steps{display:flex;gap:5px;margin-top:16px}#element-v2 .steps span{height:3px;flex:1;background:var(--line)}#element-v2 .steps span.done{background:var(--ink)}#element-v2 .choice{display:block;width:100%;text-align:left;margin:8px 0}#element-v2 .choices{display:grid;gap:4px}#element-v2 .slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}#element-v2 .slots button{padding:10px 6px}#element-v2 .summarybox{padding:20px;background:var(--soft);border-radius:4px;align-self:start}#element-v2 dl{margin:0}#element-v2 dt{font-size:var(--type-caption);color:var(--muted);margin:18px 0 5px}#element-v2 dd{margin:0;overflow-wrap:anywhere}#element-v2 .total{display:flex;justify-content:space-between;padding-top:18px;margin-top:20px;border-top:1px solid var(--line)}#element-v2 .actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}#element-v2 .formfield{display:block;margin:14px 0}#element-v2 .formfield input{display:block;width:100%;padding:12px;background:transparent;border:1px solid #84817D;border-radius:4px;font-size:16px;margin-top:6px}#element-v2 .check{display:flex;gap:10px;align-items:center;padding:12px 0}#element-v2 input[type=checkbox]{accent-color:var(--ink);width:20px;height:20px;flex:none}#element-v2 .error{color:#AB1D1D;margin-top:12px}#element-v2 .prototype{background:var(--soft);padding:12px 16px;border-radius:4px;font-size:var(--type-caption);margin-top:18px}#element-v2 .status{padding:20px;background:var(--soft);border-radius:4px;margin:20px 0}#element-v2 .subhead{margin-top:20px}#element-v2 .quiet{background:transparent;border:0;text-decoration:underline;padding:8px 0}#element-v2 .stamp{font-size:var(--type-caption);color:var(--muted);margin-top:20px}@media(min-width:701px) and (max-width:1200px){#element-v2 .banner{aspect-ratio:auto;min-height:320px}}@media(min-width:1300px){#element-v2 .banner{min-height:350px}}@media(max-width:1000px){#element-v2 .top{flex-wrap:wrap}#element-v2 nav{order:3;flex-basis:100%;justify-content:center}#element-v2 .banner{aspect-ratio:auto;min-height:300px}#element-v2 .glass{width:25%;padding:16px;gap:8px}}@media(max-width:700px){#element-v2{padding:20px}#element-v2 .logo{width:138px;height:47px}#element-v2 .top{gap:14px}#element-v2 .account{gap:6px}#element-v2 .account button,#element-v2 .account select{padding:10px;font-size:var(--type-caption)}#element-v2 nav{gap:14px;justify-content:start}#element-v2 .banner{padding:0;display:block;background:transparent;min-height:0}#element-v2 .bannerempty{display:flex;align-items:end;background:#262626;height:180px;padding:20px;border-radius:6px 6px 0 0}#element-v2 .glass{width:100%;padding:20px;background:rgba(255,255,255,.8);border-radius:0 0 6px 6px;gap:10px}#element-v2 .glass h1{font-size:24px}#element-v2 h2{font-size:30px}#element-v2 .sectionhead{display:block}#element-v2 .bookinggrid,#element-v2 .bottomgrid,#element-v2 .dialoglayout{grid-template-columns:1fr}#element-v2 .bookinggrid{gap:20px}#element-v2 .invite{padding:20px}#element-v2 .servicerow{grid-template-columns:1fr auto;gap:12px}#element-v2 .servicerow button{grid-column:1/-1;text-align:center}#element-v2 .gallery{grid-template-columns:1fr 1fr}#element-v2 .gallery .photo:last-child{display:none}#element-v2 .team{grid-template-columns:1fr 1fr}#element-v2 .person{padding:14px}#element-v2 .reviews{grid-template-columns:1fr;gap:20px}#element-v2 .shade{padding:12px}#element-v2 .dialog{padding:20px}#element-v2 .dialog h2{font-size:30px}#element-v2 .dialoglayout{gap:20px}#element-v2 .section{padding-top:36px}#element-v2 .summarybox{order:2}}

#element-v2 .barberchoices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
#element-v2 .barbercard{padding:0;overflow:hidden;text-align:left;display:block;width:100%;border-radius:4px}
#element-v2 .barbercard.selected:after{content:none}
#element-v2 .barberphoto{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;aspect-ratio:4/3;background:#DEDDD9;color:#686561;font-size:var(--type-caption)}
#element-v2 .barberphoto img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
#element-v2 .barberphoto svg{width:28px;height:28px}
#element-v2 .barbercaption{display:flex;justify-content:space-between;align-items:center;padding:14px;gap:12px}
#element-v2 .barbercaption strong{font-weight:500}
#element-v2 .barbermarker{font-size:16px}
#element-v2 .barbercard.selected .barberphoto{box-shadow:inset 0 0 0 2px #2A2A2A}
@media(max-width:380px){#element-v2 .barberchoices{gap:8px}#element-v2 .barbercaption{padding:10px}#element-v2 .barberphoto{font-size:var(--type-caption)}}

#element-v2 .previewmode{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px;margin-bottom:28px;border-bottom:1px solid var(--line);font-size:var(--type-caption);flex-wrap:wrap}
#element-v2 .previewmode>div{display:flex;gap:8px;flex-wrap:wrap}
#element-v2 .previewmode button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
#element-v2 .ownerhead{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:28px;margin-bottom:36px;border-bottom:1px solid var(--line);flex-wrap:wrap}
#element-v2 .ownerlayout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:32px;margin-top:32px}
#element-v2 .ownerlist{margin-top:14px;display:grid;gap:8px}
#element-v2 .ownerlist button{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:12px}
#element-v2 .ownerlist .barberphoto{width:42px;min-width:42px;aspect-ratio:1;border-radius:3px;gap:0}
#element-v2 .ownerlist .barberphoto>span{display:none}
#element-v2 .ownerlist .barberphoto svg{width:20px;height:20px}
#element-v2 .ownerlist .barberphoto img{aspect-ratio:1}
#element-v2 .ownerlist strong{display:block;font-weight:500}
#element-v2 .ownerlist small{display:block;font-size:var(--type-caption)}
#element-v2 .ownerlist .selected:after{content:none}
#element-v2 .ownereditor{background:var(--soft);padding:24px;border-radius:4px}
#element-v2 .editortop{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}
#element-v2 .ownerfields{display:grid;grid-template-columns:1fr 1fr;gap:28px}
#element-v2 .ownerfields .formfield{margin-top:0}
#element-v2 .ownerfields .formfield select{display:block;width:100%;margin-top:8px;background:var(--paper)}
#element-v2 .ownerfields input[type=file]{padding:10px;background:var(--paper);font-size:var(--type-caption);max-width:100%}
#element-v2 .ownerphotobox{margin:12px 0 20px}
#element-v2 .ownerphotobox .barberphoto{width:100%;aspect-ratio:4/3}
#element-v2 .ownercardpreview{margin-top:12px;background:var(--paper);border-radius:4px;overflow:hidden}
#element-v2 .ownercardpreview .barberphoto{aspect-ratio:4/3}
#element-v2 .ownercardpreview .previewcaption{padding:14px}
#element-v2 .barberidentity{display:flex;flex-direction:column;gap:3px}
#element-v2 .barberlevel{display:block;font-size:var(--type-caption);letter-spacing:.025em;text-transform:uppercase;font-weight:400}
#element-v2 .person>.barberphoto{margin-bottom:18px}
#element-v2 .ownereditor .actions{flex-wrap:wrap}
@media(max-width:700px){#element-v2 .ownerlayout{grid-template-columns:1fr;gap:24px}#element-v2 .ownerlist{grid-template-columns:1fr 1fr}#element-v2 .ownerfields{grid-template-columns:1fr}#element-v2 .ownereditor{padding:18px}#element-v2 .ownerhead{margin-bottom:24px}#element-v2 .ownerhead .eyebrow{display:none}#element-v2 .ownereditor .actions button{width:100%}}


#element-v2 .ownersectiontabs{display:flex;gap:8px;flex-wrap:wrap}
#element-v2 .ownersectiontabs button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
#element-v2 textarea{display:block;width:100%;margin-top:8px;font:16px/1.6 'Martian Mono',monospace;color:var(--ink);background:var(--paper);border:1px solid #84817D;border-radius:4px;padding:12px;resize:vertical}
#element-v2 .serviceidentity{display:flex;align-items:start;gap:16px}
#element-v2 .servicethumb{display:flex;align-items:center;justify-content:center;flex:none;width:76px;height:76px;padding:0;overflow:hidden;background:var(--soft);border-radius:4px}
#element-v2 .servicethumb img{display:block;width:100%;height:100%;object-fit:cover}
#element-v2 .servicethumb:disabled{opacity:1;color:var(--muted)}
#element-v2 .servicetext p{margin:6px 0 0;font-size:var(--type-caption);color:var(--muted)}
#element-v2 .serviceimagepreview{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#DEDDD9;color:#686561;margin:12px 0 20px;border-radius:4px;overflow:hidden}
#element-v2 .serviceimagepreview img{width:100%;height:100%;object-fit:cover}
#element-v2 .fullservicephoto{display:block;width:100%;height:auto;max-height:900px;object-fit:contain;background:var(--soft);border-radius:4px}
#element-v2 .dialoglayout.photolayout{grid-template-columns:1fr}
@media(max-width:700px){#element-v2 .servicethumb{width:64px;height:64px}#element-v2 .serviceidentity{gap:12px}#element-v2 #ev-owner-services .ownerlist{grid-template-columns:1fr}#element-v2 #ev-owner-services .ownerlist button{font-size:var(--type-caption)}}
#element-v2 .barberlevel{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#element-v2 .barberlevel .levelcrown{width:14px;height:14px;flex:none;color:currentColor}
/* Shared ELEMENT controls: independent of the host's dark/light appearance. */
:is(#element-v2,#element-calendar){color-scheme:light}
:is(#element-v2,#element-calendar) input:is([type=date],[type=time],[type=datetime-local]){color:var(--ink);color-scheme:light}
:is(#element-v2,#element-calendar) input:is([type=date],[type=time],[type=datetime-local])::-webkit-calendar-picker-indicator{opacity:1;filter:brightness(0) saturate(100%) invert(16.47%);margin-inline-start:10px;padding:2px}
:is(#element-v2,#element-calendar) .element-select-shell{position:relative;display:inline-grid;align-items:center;vertical-align:middle;max-width:100%;min-width:0}
:is(#element-v2,#element-calendar) .element-select-shell>select{appearance:none;-webkit-appearance:none;background-image:none;box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:0!important;padding-inline-start:14px!important;padding-inline-end:48px!important;color:var(--ink);color-scheme:light}
:is(#element-v2,#element-calendar) .element-select-shell>.element-select-chevron{position:absolute;inset-inline-end:16px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none;color:var(--ink)}
:is(#element-v2,#element-calendar) .element-select-shell:has(>select:disabled){opacity:.5}
#element-v2 .formfield>.element-select-shell,#element-calendar .field>.element-select-shell{display:grid;width:100%;margin-top:6px}
#element-v2 .formfield>.element-select-shell>select,#element-calendar .field>.element-select-shell>select{display:block;background:var(--bg,var(--paper));border:1px solid #84817D;border-radius:4px;padding-top:12px;padding-bottom:12px;font-size:16px}
#element-v2 .account>.element-select-shell{width:84px}
#element-v2 .account .element-select-shell>select{padding-inline-start:10px!important;padding-inline-end:40px!important}
#element-v2 .account .element-select-shell>.element-select-chevron{inset-inline-end:16px;width:14px;height:14px}
#element-calendar .preview>.element-select-shell{min-width:165px}


/* Centre the icon against the control, independently of line-height and SVG baseline. */
:is(#element-v2,#element-calendar) .element-select-shell>.element-select-iconbox{position:absolute;inset-block:0;inset-inline-end:16px;width:16px;display:flex;align-items:center;justify-content:center;pointer-events:none;padding:0;margin:0;line-height:0}
:is(#element-v2,#element-calendar) .element-select-iconbox>.element-select-chevron{position:static!important;display:block;transform:none!important;margin:0!important;padding:0;width:16px;height:16px;flex:none;color:var(--ink)}
#element-v2 .account .element-select-iconbox>.element-select-chevron{width:14px;height:14px}



#element-calendar{--bg:#F0EFEC;--ink:#2A2A2A;--soft:#E9E8E6;--line:#B9B6B0;--muted:#686561;background:var(--bg);color:var(--ink);font:12px/1.65 'Martian Mono',monospace;padding:28px;box-sizing:border-box}#element-calendar *{box-sizing:border-box;min-width:0}#element-calendar [hidden]{display:none!important}#element-calendar button,#element-calendar select,#element-calendar input,#element-calendar textarea{font:inherit;color:inherit}#element-calendar button,#element-calendar select{min-height:44px;border:1px solid var(--line);background:transparent;border-radius:4px;padding:10px 14px}#element-calendar button.primary,#element-calendar button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}#element-calendar button:disabled{opacity:.5}#element-calendar h1,#element-calendar h2,#element-calendar h3{font-family:Inter,sans-serif;letter-spacing:-.04em;margin:0;font-weight:700}#element-calendar h1{font-size:44px;line-height:1.1}#element-calendar h2{font-size:26px;line-height:1.2}#element-calendar h3{font-size:20px;line-height:1.2}#element-calendar p{margin:10px 0 0}#element-calendar .mini{font-size:var(--type-caption);color:var(--muted)}#element-calendar .eyebrow{font-size:var(--type-caption);letter-spacing:.06em;text-transform:uppercase}#element-calendar .head{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid var(--line)}#element-calendar .head img{width:166px;height:56px}#element-calendar .preview{display:flex;gap:12px;align-items:center;flex-wrap:wrap}#element-calendar .nav{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 32px}#element-calendar .title{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}#element-calendar .notice{padding:16px;background:var(--soft);border-radius:4px;margin-bottom:24px}#element-calendar .columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}#element-calendar .columns.single{grid-template-columns:1fr}#element-calendar .lane{border-top:1px solid var(--line);padding-top:18px}#element-calendar .lane h3{margin-bottom:6px}#element-calendar .slotcard{display:block;text-align:left;width:100%;background:var(--soft);border:0;padding:16px;margin-top:12px;min-height:130px}#element-calendar .slotcard strong,#element-calendar .slotcard span{display:block}#element-calendar .slotcard .mini{margin-top:8px}#element-calendar .empty{padding:20px 0;font-size:var(--type-caption);color:var(--muted)}#element-calendar label.field{display:block;margin:12px 0}#element-calendar .field>input,#element-calendar .field>select,#element-calendar textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #84817D;border-radius:4px;background:var(--bg);font-size:16px}#element-calendar .editor{background:var(--soft);padding:24px;border-radius:4px;margin-top:28px}#element-calendar .formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}#element-calendar .actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:24px}#element-calendar .schedulehead{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}#element-calendar .week{display:grid;gap:12px}#element-calendar .day{padding:18px;background:var(--soft);border-radius:4px}#element-calendar .dayhead{display:flex;justify-content:space-between;align-items:center;gap:20px}#element-calendar .check{display:flex;gap:10px;align-items:center;min-height:44px}#element-calendar input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink)}#element-calendar .dayfields{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}#element-calendar .request{border-top:1px solid var(--line);padding:24px 0}#element-calendar .requesthead{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}#element-calendar .diff{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}#element-calendar .diff>div{padding:18px;background:var(--soft);border-radius:4px;white-space:pre-line}#element-calendar .error{color:#A51C1C}#element-calendar .toast{padding:16px;background:var(--soft);margin:20px 0;border-radius:4px}#element-calendar .footer{border-top:1px solid var(--line);padding-top:20px;margin-top:32px;font-size:var(--type-caption);color:var(--muted)}@media(max-width:800px){#element-calendar .columns{grid-template-columns:1fr 1fr}#element-calendar .dayfields{grid-template-columns:1fr 1fr}#element-calendar .formgrid{grid-template-columns:1fr 1fr}}@media(max-width:500px){#element-calendar{padding:20px}#element-calendar h1{font-size:34px}#element-calendar .columns,#element-calendar .dayfields,#element-calendar .formgrid,#element-calendar .diff{grid-template-columns:1fr}#element-calendar .editor{padding:18px}#element-calendar .actions button{width:100%}}
#element-calendar{--minute-px:1.3px}
#element-calendar .gridtoolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:16px}
#element-calendar .gridtoolbar .group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#element-calendar .gridtoolbar .field{margin:0}
#element-calendar .range{font-family:Inter,sans-serif;font-weight:700;font-size:22px;letter-spacing:-.04em;margin-bottom:16px}
#element-calendar .timegrid{display:grid;grid-template-columns:52px repeat(var(--cols),minmax(0,1fr));border-top:1px solid var(--line);margin-top:20px}
#element-calendar .timecol{border-left:1px solid var(--line)}
#element-calendar .timecolhead{height:70px;padding:12px 8px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:4px;font-size:var(--type-caption);overflow-wrap:anywhere}
#element-calendar .timecolhead strong{font-weight:500}
#element-calendar .timeaxis .axishead{height:70px;padding-top:18px;font-size:var(--type-caption);color:var(--muted)}
#element-calendar .timelinebody,#element-calendar .axisbody{height:calc(600 * var(--minute-px));position:relative}
#element-calendar .axislabel{position:absolute;left:0;color:var(--muted);font-size:var(--type-caption);line-height:1;transform:translateY(-50%);padding-right:5px}
#element-calendar .axislabel:first-child{transform:none}
#element-calendar .axislabel:last-child{transform:translateY(-100%)}
#element-calendar .emptyslot{position:absolute;left:0;width:100%;min-height:0;padding:0;border:0;border-bottom:1px solid #D4D1CB;border-radius:0;background:transparent;z-index:0}
#element-calendar .emptyslot:disabled{opacity:1}
#element-calendar .emptyslot:not(:disabled):hover,#element-calendar .emptyslot:focus-visible{background:#E3E1DC}
#element-calendar .slotplus{opacity:0;font-size:var(--type-caption)}
#element-calendar .emptyslot:not(:disabled):hover .slotplus,#element-calendar .emptyslot:focus-visible .slotplus{opacity:1}
#element-calendar .timeevent{position:absolute;left:3px;right:3px;min-height:0;border:0;border-left:3px solid var(--ink);border-radius:3px;padding:6px 7px;background:#DAD7D0;text-align:left;z-index:3;font-size:var(--type-caption);line-height:1.35;overflow:hidden;display:flex;flex-direction:column;justify-content:start}
#element-calendar .timeevent strong{font-size:var(--type-caption);font-weight:500;white-space:nowrap}
#element-calendar .timeevent span{display:block;overflow-wrap:anywhere}
#element-calendar .eventservice{color:#55514B}
#element-calendar .closedtime,#element-calendar .breaktime,#element-calendar .buffertime{position:absolute;left:0;right:0;padding:5px;font-size:var(--type-caption);color:var(--muted);background:#E2E0DA;z-index:1;overflow:hidden}
#element-calendar .breaktime{background:#D8D5CE}
#element-calendar .buffertime{background:#E8E5DE;font-size:var(--type-caption);padding:0 5px}
#element-calendar .localaxis{display:none;position:absolute;left:-48px;top:0;height:100%;width:44px}
#element-calendar #ec-mobile-days{display:none}
#element-calendar #ec-grid-hint{margin-bottom:18px}
@media(max-width:760px){#element-calendar .weekgrid{grid-template-columns:44px minmax(0,1fr)}#element-calendar .weekgrid .timecol:not(.mobile-active){display:none}#element-calendar #ec-mobile-days:not([hidden]){display:flex;gap:5px;flex-wrap:wrap;margin:16px 0}#element-calendar #ec-mobile-days button{padding:8px;font-size:var(--type-caption)}#element-calendar .weekgrid .timecolhead{font-size:var(--type-ui)}}
@media(max-width:580px){#element-calendar .day-all{display:block}#element-calendar .day-all>.timeaxis{display:none}#element-calendar .day-all .timecol{margin-left:48px;margin-bottom:28px}#element-calendar .day-all .localaxis{display:block}#element-calendar .range{font-size:20px}}
@media(pointer:coarse){#element-calendar{--minute-px:1.5px}}

#element-calendar .shortevent .eventservice{display:none}
/* Shared ELEMENT controls: independent of the host's dark/light appearance. */
:is(#element-v2,#element-calendar){color-scheme:light}
:is(#element-v2,#element-calendar) input:is([type=date],[type=time],[type=datetime-local]){color:var(--ink);color-scheme:light}
:is(#element-v2,#element-calendar) input:is([type=date],[type=time],[type=datetime-local])::-webkit-calendar-picker-indicator{opacity:1;filter:brightness(0) saturate(100%) invert(16.47%);margin-inline-start:10px;padding:2px}
:is(#element-v2,#element-calendar) .element-select-shell{position:relative;display:inline-grid;align-items:center;vertical-align:middle;max-width:100%;min-width:0}
:is(#element-v2,#element-calendar) .element-select-shell>select{appearance:none;-webkit-appearance:none;background-image:none;box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:0!important;padding-inline-start:14px!important;padding-inline-end:48px!important;color:var(--ink);color-scheme:light}
:is(#element-v2,#element-calendar) .element-select-shell>.element-select-chevron{position:absolute;inset-inline-end:16px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none;color:var(--ink)}
:is(#element-v2,#element-calendar) .element-select-shell:has(>select:disabled){opacity:.5}
#element-v2 .formfield>.element-select-shell,#element-calendar .field>.element-select-shell{display:grid;width:100%;margin-top:6px}
#element-v2 .formfield>.element-select-shell>select,#element-calendar .field>.element-select-shell>select{display:block;background:var(--bg,var(--paper));border:1px solid #84817D;border-radius:4px;padding-top:12px;padding-bottom:12px;font-size:16px}
#element-v2 .account>.element-select-shell{width:84px}
#element-v2 .account .element-select-shell>select{padding-inline-start:10px!important;padding-inline-end:40px!important}
#element-v2 .account .element-select-shell>.element-select-chevron{inset-inline-end:16px;width:14px;height:14px}
#element-calendar .preview>.element-select-shell{min-width:165px}


/* Centre the icon against the control, independently of line-height and SVG baseline. */
:is(#element-v2,#element-calendar) .element-select-shell>.element-select-iconbox{position:absolute;inset-block:0;inset-inline-end:16px;width:16px;display:flex;align-items:center;justify-content:center;pointer-events:none;padding:0;margin:0;line-height:0}
:is(#element-v2,#element-calendar) .element-select-iconbox>.element-select-chevron{position:static!important;display:block;transform:none!important;margin:0!important;padding:0;width:16px;height:16px;flex:none;color:var(--ink)}
#element-v2 .account .element-select-iconbox>.element-select-chevron{width:14px;height:14px}

