@font-face{font-family:Gloock;src:url(/fonts/gloock-latin-400-normal.woff2)format("woff2");font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/hanken-grotesk-latin-400-normal.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/hanken-grotesk-latin-600-normal.woff2)format("woff2");font-weight:600;font-display:swap}:root{--aubergine:#3b2442;--citron:#c6d63a;--lilac:#b999d6;--violet:#6d4691;--mist:#f6f2fa;--line:#e4dbec;--muted:#6b5a70;--red:#a3243b;--green:#3d6b2f;--serif:"Gloock", Georgia, serif;--sans:"Hanken Grotesk", system-ui, sans-serif}*{box-sizing:border-box}body{background:var(--mist);color:var(--aubergine);font:16px/1.5 var(--sans);margin:0}a{color:var(--violet)}h1,h2,h3{font-family:var(--serif);margin:0 0 .75rem;font-weight:400;line-height:1.15}h1{font-size:2rem}h2{margin-top:2rem;font-size:1.45rem}h3{font-size:1.15rem}.wrap{width:min(100% - 2rem,72rem);margin:0 auto;padding:1.5rem 0 4rem}:focus-visible{outline:3px solid var(--violet);outline-offset:2px}.shell{min-height:100vh}.content .wrap{width:min(100% - 2rem,68rem)}.brand{font:1.2rem var(--serif);white-space:nowrap;color:var(--mist);align-items:center;gap:.6rem;text-decoration:none;display:flex}.brand img{width:auto;height:30px}.topbar{z-index:20;background:var(--aubergine);justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex;position:sticky;top:0}.menu-btn{color:var(--mist);cursor:pointer;background:0 0;border:1px solid #b999d680;border-radius:6px;width:42px;height:38px;font-size:1.1rem}.scrim{z-index:25;background:#140a1873;position:fixed;inset:0}.sidebar{z-index:30;background:var(--aubergine);width:15.5rem;color:var(--mist);flex-direction:column;gap:1.5rem;padding:1.25rem 1rem;transition:transform .2s;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:10px 0 30px #0000004d}.sidebar :focus-visible{outline-color:var(--citron)}.sidebar nav{gap:.15rem;display:grid}.sidebar nav a,.side-foot a{color:var(--mist);border-radius:6px;padding:.6rem .75rem;font-size:.95rem;text-decoration:none;display:block}.sidebar nav a:hover,.side-foot a:hover{background:#f6f2fa14}.sidebar nav a[aria-current]{color:var(--citron);box-shadow:inset 3px 0 var(--citron);background:#c6d63a24}.side-brand{padding:0 .5rem .25rem}.side-foot{border-top:1px solid #b999d640;gap:.15rem;margin-top:auto;padding-top:1rem;font-size:.88rem;display:grid}.side-foot a[aria-current]{color:var(--citron)}.side-foot .link{color:var(--citron);justify-self:start;margin:.4rem .75rem 0}.muted-on-dark{color:var(--lilac)}@media (width>=960px){.topbar,.scrim{display:none}.sidebar{box-shadow:none;transition:none;transform:none}.content{margin-left:15.5rem}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.banner{border-left:4px solid var(--citron);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.notices{gap:.5rem;margin-bottom:.5rem;display:grid}.notice{border-left:4px solid var(--green);background:#eaf3e2;justify-content:space-between;gap:1rem;margin:0 0 .75rem;padding:.7rem 1rem;display:flex}.notice.error{border-color:var(--red);background:#f9e6ea}.notice .link{color:var(--muted);text-decoration:none}.btn{min-height:42px;font:600 .95rem var(--sans);cursor:pointer;background:var(--aubergine);color:var(--citron);border:0;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn-citron{background:var(--citron);color:var(--aubergine)}.btn-quiet{color:var(--aubergine);box-shadow:inset 0 0 0 1.5px var(--aubergine);background:0 0}.btn-danger{color:var(--red);box-shadow:inset 0 0 0 1.5px var(--red);background:0 0}.btn-small{min-height:34px;padding:.3rem .7rem;font-size:.85rem}.link{color:var(--violet);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0;display:flex}.col{gap:.5rem;display:grid}.head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.head h1{margin:0}.card{background:#fff;border-radius:10px;margin-bottom:1rem;padding:1.25rem}.stats{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.stat{color:inherit;border-top:3px solid var(--lilac);background:#fff;border-radius:10px;padding:1rem;text-decoration:none;display:block}.stat strong{font:2rem/1 var(--serif);margin-bottom:.3rem;display:block}.stat.hot{border-top-color:var(--citron)}.split{gap:1rem;display:grid}@media (width>=960px){.split{grid-template-columns:2fr 1fr;align-items:start}}.stack{gap:1rem;display:grid}.grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));align-items:start;gap:.9rem 1rem;display:grid}fieldset{border:0;margin:0;padding:0}fieldset.card{padding:1.25rem}fieldset.card>legend{float:left;width:100%;margin-bottom:.75rem}fieldset.card>legend+*{clear:both}legend{font:1.15rem var(--serif);margin-bottom:.5rem;padding:0}.field{gap:.25rem;display:grid}.field.wide{grid-column:1/-1}.field>span{font-size:.9rem;font-weight:600}.field small,.check small{color:var(--muted);font-size:.8rem}input,select,textarea{width:100%;min-height:42px;color:var(--aubergine);font:inherit;background:#fff;border:1.5px solid #cbbfd4;border-radius:6px;padding:.45rem .6rem}input:focus,select:focus,textarea:focus{border-color:var(--violet);outline:none}input:disabled{background:var(--mist)}input[type=checkbox]{width:1.15rem;height:1.15rem;min-height:0;accent-color:var(--aubergine);flex:none}.check{cursor:pointer;align-items:start;gap:.55rem;display:flex}.check input{margin-top:.2rem}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.6rem .7rem}th{color:var(--muted);font-size:.8rem;font-weight:600}td.num,th.num{text-align:right;white-space:nowrap}.table-wrap{border-radius:10px;margin-bottom:1rem;overflow-x:auto}table.edit td{vertical-align:middle;padding:.35rem .4rem}table.edit input:not([type=checkbox]){min-height:36px}tr.row-link{cursor:pointer}tr.row-link:hover td{background:var(--mist)}.badge{background:var(--line);white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.s-requested,.s-awaiting,.s-enquiry,.s-pending{background:var(--citron)}.s-success,.s-refunded,.s-partially_refunded,.s-refund_pending{background:#dfeedd}.s-failed,.s-abandoned{background:#f3dde2}.s-confirmed,.s-booked,.s-paid{background:#d9ccec}.s-completed{background:#dfeedd}.s-cancelled,.s-no_show,.s-kept{background:#f3dde2}.tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.tabs a{color:var(--aubergine);box-shadow:inset 0 0 0 1.5px var(--line);background:#fff;border-radius:6px;padding:.35rem .8rem;font-size:.9rem;text-decoration:none}.tabs a[aria-current]{background:var(--aubergine);color:var(--citron);box-shadow:none}.muted{color:var(--muted)}.small{font-size:.85rem}.empty{color:var(--muted);background:#fff;border-radius:10px;padding:1.5rem}.gallery-admin{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1rem;display:grid}.gallery-admin .card{gap:.5rem;margin:0;padding:.75rem;display:grid}.gallery-admin img{aspect-ratio:1;object-fit:cover;background:var(--line);border-radius:6px;width:100%;height:auto}.gallery-admin .hidden-photo img{opacity:.35}.login{max-width:24rem;margin:10vh auto}.login img{width:auto;height:46px;margin-bottom:1rem}pre.log{background:var(--aubergine);max-height:24rem;color:var(--mist);white-space:pre-wrap;border-radius:8px;padding:1rem;font-size:.78rem;overflow:auto}.cert-page{background:#ddd;min-height:100vh;padding:1rem 0}.cert-page .print{position:fixed;top:1rem;right:1rem}.sheet{background:#fff;width:297mm;height:210mm;margin:0 auto;padding:8mm}.panel{background:var(--mist);height:100%;padding:4mm}.frame{border:1.5px solid var(--citron);text-align:center;align-content:center;justify-items:center;gap:2mm;height:100%;padding:10mm;display:grid}.frame img{width:auto;height:22mm}.frame .academy{letter-spacing:.2em;font-size:11pt}.frame h1{font:34pt var(--serif);margin:4mm 0 2mm}.frame .name{font:30pt var(--serif);border-bottom:1px solid var(--lilac);margin:2mm 0 4mm;padding:0 12mm 2mm}.frame p{margin:0;font-size:12pt}.frame .foot{justify-content:space-between;width:100%;margin-top:14mm;padding:0 18mm;font-size:10pt;display:flex}.frame .foot>div{text-align:center;min-width:60mm}.frame .sig{border-top:1px solid var(--aubergine);padding-top:2mm}.frame .small{color:var(--violet);font-size:9pt}.frame .site{margin-top:6mm}@page{size:A4 landscape;margin:0}@media print{body,.cert-page{background:#fff;padding:0}.sheet{margin:0}.print{display:none}}.pay-link{align-items:center;gap:.4rem;display:flex}.pay-link input{flex:1;min-width:0;font-size:.82rem}.pay-list{gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.pay-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;padding-top:.5rem;font-size:.9rem;display:flex}.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;margin-bottom:1rem;display:grid}.week a{color:var(--aubergine);background:#fff;border-radius:6px;gap:.1rem;padding:.5rem .55rem;font-size:.9rem;text-decoration:none;display:grid}.week a small{color:var(--muted);font-size:.75rem}.week a.is-today span{font-weight:600}.week a[aria-current]{background:var(--aubergine);color:var(--citron)}.week a[aria-current] small{color:var(--lilac)}.cal{--gutter:3.2rem;background:#fff;border-radius:10px;margin-bottom:.75rem;overflow-x:auto}.cal-head,.cal-body{grid-template-columns:var(--gutter) repeat(var(--cols), minmax(9.5rem, 1fr));min-width:calc(var(--gutter) + var(--cols) * 9.5rem);display:grid}.cal-head{z-index:3;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0}.cal-head strong{font:1.05rem var(--serif);padding:.6rem .75rem;font-weight:400}.cal-body{margin:.6rem 0 .9rem;position:relative}.cal-gutter{position:relative}.cal-gutter span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem;position:absolute;right:.5rem;transform:translateY(-50%)}.cal-col{border-left:1px solid var(--line);cursor:copy;position:relative}.cal-col>i{pointer-events:none;position:absolute;left:0;right:0}.cal-line{border-top:1px solid #f0eaf4;height:0}.cal-off{background:repeating-linear-gradient(135deg, var(--mist) 0 6px, #efe8f5 6px 7px)}.cal-off em{color:var(--muted);padding:.6rem;font-size:.8rem;font-style:normal;display:block}.cal-now{border-top:2px solid var(--violet);z-index:2;height:0}.cal-now:before{content:"";background:var(--violet);border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:-4px}.cal-travel{background:repeating-linear-gradient(135deg,#b999d673 0 4px,#b999d626 4px 8px);border-radius:4px;margin:0 .3rem}.cal-item{z-index:1;border-left:4px solid var(--aubergine);color:var(--aubergine);background:#ede4f5;border-radius:6px;align-content:start;gap:.05rem;padding:.3rem .5rem;font-size:.8rem;line-height:1.3;text-decoration:none;display:grid;position:absolute;left:.3rem;right:.3rem;overflow:hidden}.cal-item:hover{box-shadow:0 0 0 2px var(--lilac)}.cal-item strong{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.cal-item span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-item .tags{color:var(--violet)}.cal-item.hold{background:#fbfdea;border:1.5px dashed #8c9a1c;border-left-width:4px}.cal-item.request{border:1.5px solid var(--lilac);background:#fff;border-left-width:4px}.cal-item.done{border-left-color:var(--green);background:#eef3ea}.cal-item.course{background:var(--aubergine);color:var(--mist);border-left-color:var(--citron)}.cal-item.course span{color:var(--lilac)}.cal-key{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;display:flex}.key{vertical-align:-2px;border-radius:3px;width:.9rem;height:.9rem;display:inline-block}.key.confirmed{box-shadow:inset 3px 0 var(--aubergine);background:#ede4f5}.key.hold{outline-offset:-1.5px;background:#fbfdea;outline:1.5px dashed #8c9a1c}.key.travel{background:repeating-linear-gradient(135deg,#b999d699 0 3px,#b999d626 3px 6px)}.key.course{background:var(--aubergine)}@media (width<=640px){.week{grid-template-columns:repeat(7,4.2rem);overflow-x:auto}.head .actions input[type=date]{flex:100%}}.hours-table td{vertical-align:middle;padding:.3rem .4rem}.hours-table select,.hours-table input{width:auto;min-width:0}.chips{flex-wrap:wrap;gap:.4rem 1rem;display:flex}.cal-gap{z-index:2;border-left:4px dotted var(--lilac);pointer-events:none;opacity:.92;background:repeating-linear-gradient(90deg,#fff 0 6px,#f4eefa 6px 12px);width:45%;left:.3rem!important;right:auto!important}.key.gap{outline:1px solid var(--line);background:repeating-linear-gradient(90deg,#fff 0 3px,#e4dbec 3px 6px)}.sidebar nav a .count,.conv .count{background:var(--citron);min-width:1.4rem;color:var(--aubergine);text-align:center;border-radius:999px;margin-left:.5rem;padding:0 .4rem;font-size:.75rem;font-weight:600;display:inline-block}.inbox{gap:1rem;display:grid}.conv-list{align-content:start;gap:.35rem;display:grid}.conv{color:var(--aubergine);background:#fff;border-radius:8px;gap:.15rem;padding:.7rem .8rem;text-decoration:none;display:grid;position:relative}.conv[aria-current]{box-shadow:inset 4px 0 var(--aubergine);background:#fbf8fd}.conv-top{justify-content:space-between;gap:.5rem;display:flex}.conv-top small{color:var(--muted);white-space:nowrap}.conv-last{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:.88rem;overflow:hidden}.conv.unread .conv-last{color:var(--aubergine);font-weight:600}.conv .count{position:absolute;bottom:.7rem;right:.7rem}.thread-pane{min-width:0}.pick{text-align:center;padding:2rem 1rem}.thread{background:#fff;border-radius:10px;grid-template-rows:auto 1fr auto;height:min(75vh,46rem);display:grid;overflow:hidden}.thread-head{border-bottom:1px solid var(--line);padding:.8rem 1rem}.thread-head h2{margin:0;font-size:1.3rem}.thread-head p{margin:.1rem 0 0}.bubbles{background:var(--mist);align-content:start;gap:.5rem;padding:1rem;display:grid;overflow-y:auto}.bubble{border-radius:10px;max-width:min(80%,32rem);padding:.55rem .8rem}.bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.bubble small{opacity:.75;margin-top:.2rem;font-size:.72rem;display:block}.bubble.in{background:#fff;border-bottom-left-radius:3px;justify-self:start}.bubble.out{background:var(--aubergine);color:var(--mist);border-bottom-right-radius:3px;justify-self:end}.bubble.out.auto{color:var(--aubergine);background:#e9dff2}.sys{max-width:90%;color:var(--violet);text-align:center;justify-self:center;margin:.2rem 0;font-size:.78rem}.sys span{color:var(--muted)}.reply{border-top:1px solid var(--line);align-items:end;gap:.5rem;padding:.7rem;display:flex}.reply textarea{resize:vertical;flex:1;min-height:44px}.reply-closed{border-radius:0;margin:0}.back{display:none}@media (width>=960px){.inbox{grid-template-columns:minmax(15rem,20rem) 1fr;align-items:start}}@media (width<=959px){.inbox.has-thread .conv-list,.inbox:not(.has-thread) .thread-pane{display:none}.back{margin-bottom:.3rem;display:inline}}
