/* Gighs (aim-artists-platform) – mobile first.
 * 0.4.9: ALL colours and the font are design tokens. The defaults below are the only colour literals;
 * the admin page "Design" (option aim_design) overrides them via an inline :root block. :where() keeps
 * these defaults at specificity 0 so the admin values always win. */
:where(:root){--aim-verified:#1a8cd8;--aim-accent:#14213d;--aim-accent-2:#c9a227;--aim-ink:#1b1f2a;--aim-muted:#5f6675;--aim-line:#e2e0da;--aim-bg:#ffffff;--aim-soft:#f7f5f0;--aim-on-accent:#ffffff;--aim-free:#2e7d55;--aim-option:#d4a017;--aim-booked:#b3261e;--aim-tick-read:#53bdeb;/* 0.4.46 read receipts *//* 0.4.21 chat dark mode */--aim-dk-bg:#161a22;--aim-dk-soft:#1d222c;--aim-dk-ink:#e9ebf0;--aim-dk-muted:#aab1bf;--aim-dk-line:#363d4b;--aim-dk-read:#10131a;--aim-dk-in:#262c38;--aim-dk-in-ink:#eceef3;--aim-dk-in-line:#353c4a;--aim-dk-mine:#3a5a92;--aim-dk-on:#ffffff;--aim-dk-field:#1f2430;--aim-dk-field-line:#6b7486;--aim-dk-bar:#181c25;--aim-dk-ring:#e2bf4a;--aim-dk-day:#2a303c;--aim-dk-link:#9cc0ff;--aim-dk-btn:#232937;--aim-dk-btn-line:#454d5e;--aim-dk-mine-hover:#4a6ca8;--aim-dk-danger:#4a1f1d;--aim-dk-danger-line:#7a2f2b;--aim-dk-danger-ink:#ffd9d6;--aim-dk-err:#3a1a19;
	--aim-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--aim-r:10px;
	--aim-free-bg:color-mix(in srgb,var(--aim-free) 12%,var(--aim-bg));--aim-free-ink:color-mix(in srgb,var(--aim-free) 60%,var(--aim-ink));
	--aim-option-bg:color-mix(in srgb,var(--aim-option) 25%,var(--aim-bg));--aim-option-ink:color-mix(in srgb,var(--aim-option) 40%,var(--aim-ink));
	--aim-booked-bg:color-mix(in srgb,var(--aim-booked) 12%,var(--aim-bg));--aim-booked-line:color-mix(in srgb,var(--aim-booked) 30%,var(--aim-bg));--aim-booked-ink:color-mix(in srgb,var(--aim-booked) 70%,var(--aim-ink));
	--aim-shadow:color-mix(in srgb,var(--aim-ink) 5%,transparent);--aim-overlay:color-mix(in srgb,var(--aim-ink) 55%,transparent)}
.aim-brand .aim-logo{display:inline-flex;align-items:center;text-decoration:none!important}
.aim-wordmark{white-space:nowrap;text-transform:uppercase;font-family:var(--aim-font);font-weight:700;letter-spacing:.18em;color:var(--aim-accent);font-size:1.35rem;line-height:1}
.aim-wordmark::after{content:"";display:inline-block;width:.35em;height:.35em;margin-left:.15em;border-radius:50%;background:var(--aim-accent-2);vertical-align:.1em}
.aim-logo__img{max-height:44px;width:auto;display:block}
.aim{
	color:var(--aim-ink);font-family:var(--aim-font);font-size:1rem;line-height:1.5;max-width:960px;margin-inline:auto;box-sizing:border-box}
.aim *,.aim *::before,.aim *::after{box-sizing:border-box}
.aim-narrow{max-width:480px}
.aim-card{background:var(--aim-bg);border:1px solid var(--aim-line);border-radius:var(--aim-r);padding:1.25rem;margin-block:1rem;box-shadow:0 1px 2px var(--aim-shadow)}
.aim-h{font-size:1.6rem;margin:0 0 .25rem;font-weight:600;letter-spacing:-.01em}
.aim-h3{font-size:1.1rem;margin:1.5rem 0 .5rem;font-weight:600}
.aim-muted{color:var(--aim-muted);font-size:.92em}
.aim-small{font-size:.9rem;margin-top:1rem}
.aim-lead{font-size:1.1rem;color:var(--aim-muted);margin:.25rem 0}
.aim-form{display:flex;flex-direction:column;gap:.9rem}
.aim-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:500}
.aim-form input[type=text],.aim-form input[type=email],.aim-form input[type=password],.aim-form input[type=url],.aim-form input[type=date],.aim-form input[type=search],.aim-form input[type=file],.aim-form select,.aim-form textarea{
	width:100%;font:inherit;font-weight:400;padding:.6rem .7rem;border:1px solid var(--aim-line);border-radius:8px;background:var(--aim-bg);color:inherit;min-height:44px}
.aim-form textarea{min-height:8rem;resize:vertical}
.aim-form input:focus,.aim-form select:focus,.aim-form textarea:focus{outline:2px solid var(--aim-accent-2);outline-offset:1px;border-color:transparent}
.aim-form label.aim-check{flex-direction:row;align-items:flex-start;gap:.6rem;font-weight:400}
.aim-check input{margin-top:.25rem;width:1.1rem;height:1.1rem;accent-color:var(--aim-accent)}
.aim-req{color:var(--aim-booked)}
.aim-hp{position:absolute!important;left:-9999px}
.aim-switch{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}
.aim-switch legend{font-weight:600;margin-bottom:.4rem}
.aim-switch label{flex-direction:row!important;align-items:center;gap:.5rem;border:1px solid var(--aim-line);border-radius:8px;padding:.6rem .8rem;cursor:pointer;font-weight:400}
.aim-switch label:has(input:checked){border-color:var(--aim-accent);background:var(--aim-soft)}
.aim-fieldset{border:1px solid var(--aim-line);border-radius:8px;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.6rem}
.aim-grid2,.aim-grid3{display:grid;gap:.9rem;grid-template-columns:1fr}
.aim-form__foot{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}
.aim-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.55rem 1.1rem;border-radius:999px;border:1px solid var(--aim-line);background:var(--aim-bg);color:var(--aim-ink)!important;text-decoration:none!important;font:inherit;font-size:.95rem;cursor:pointer;transition:background .15s,border-color .15s}
.aim-btn:hover{border-color:var(--aim-accent-2)}
.aim-btn--primary{background:var(--aim-accent);border-color:var(--aim-accent);color:var(--aim-on-accent)!important}
.aim-btn--primary:hover{background:var(--aim-accent-2)}
.aim-btn--danger{color:var(--aim-booked)!important;border-color:var(--aim-booked-line)}
.aim-btn--ghost{border-color:transparent;background:transparent}
.aim-btn--sm{min-height:34px;padding:.3rem .75rem;font-size:.85rem}
.aim-notice{padding:.75rem 1rem;border-radius:8px;margin:.75rem 0;background:var(--aim-soft);border-left:4px solid var(--aim-accent-2)}
.aim-notice--success{border-color:var(--aim-free);background:var(--aim-free-bg)}
.aim-notice--error{border-color:var(--aim-booked);background:var(--aim-booked-bg)}
.aim-private{background:var(--aim-soft);padding:.6rem .8rem;border-radius:8px;font-size:.92rem}
.aim-badge{display:inline-block;font-size:.75rem;padding:.15rem .55rem;border-radius:999px;background:var(--aim-accent);color:var(--aim-on-accent)}
.aim-badge--soft{background:var(--aim-soft);color:var(--aim-muted);border:1px solid var(--aim-line)}
.aim-hr{border:0;border-top:1px solid var(--aim-line);margin:1.5rem 0}
/* dashboard */
.aim-dash__head{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}
.aim-dash__actions{display:flex;flex-wrap:wrap;gap:.5rem}
/* 0.4.26: section menus never scroll sideways – all items visible. Phones: grid of large tiles (2 cols, 3 from 480px); from 768px: wrapping pill menu. Order/items unchanged (markup untouched). */
.aim-tabs{display:flex;flex-wrap:wrap;gap:.4rem;overflow:visible;margin:0 0 1rem;padding:0;border:0}
.aim-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:44px;padding:.45rem 1rem;border:1px solid var(--aim-line);border-radius:999px;background:var(--aim-bg);color:var(--aim-ink)!important;text-decoration:none!important;font-size:.95rem;line-height:1.25;text-align:center;white-space:normal;overflow-wrap:break-word;hyphens:manual;transition:background .15s,border-color .15s}
.aim-tab:hover{border-color:var(--aim-accent)}
.aim-tab:focus-visible{outline:2px solid var(--aim-accent);outline-offset:2px}
.aim-tab.is-active{background:var(--aim-accent);border-color:var(--aim-accent);color:var(--aim-on-accent)!important;font-weight:600}
@media (max-width:767px){.aim-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.aim-tab{min-height:52px;padding:.5rem .35rem;border-radius:12px;background:var(--aim-soft);font-size:.9rem}.aim-tab.is-active{background:var(--aim-accent)}}
@media (min-width:480px) and (max-width:767px){.aim-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.aim-repeater{display:flex;flex-direction:column;gap:.75rem}
.aim-row{display:grid;grid-template-columns:1fr;gap:.5rem;padding:.8rem;border:1px solid var(--aim-line);border-radius:8px;background:var(--aim-soft);position:relative}
.aim-row [data-aim-remove]{position:absolute;top:.3rem;right:.3rem}
.aim-gallery{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.aim-gallery li{display:flex;flex-direction:column;gap:.4rem}
.aim-gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;display:block}
.aim-gallery__tools{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
/* calendar */
.aim-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;font-size:.9rem;margin:.5rem 0}
.aim-dot{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;flex:none}
.aim-dot--free{background:var(--aim-free)}.aim-dot--option{background:var(--aim-option)}.aim-dot--booked{background:var(--aim-booked)}
.aim-cal{display:grid;grid-template-columns:1fr;gap:1rem;margin:1rem 0}
.aim-cal__nav{display:flex;justify-content:space-between;align-items:center;grid-column:1/-1}
.aim-cal__month h4{margin:0 0 .4rem;font-size:1rem;text-align:center;font-weight:600}
.aim-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.aim-cal__wd{font-size:.75rem;text-align:center;color:var(--aim-muted);padding:.2rem 0}
.aim-cal__day{aspect-ratio:1;border:0;border-radius:6px;font:inherit;font-size:.9rem;cursor:pointer;background:var(--aim-free-bg);color:var(--aim-free-ink);padding:0}
.aim-cal__day--option{background:var(--aim-option-bg);color:var(--aim-option-ink)}
.aim-cal__day--booked{background:var(--aim-booked-bg);color:var(--aim-booked-ink)}
.aim-cal__day.is-sel{outline:2px solid var(--aim-accent);outline-offset:-2px;font-weight:700}
.aim-cal__day.is-today{text-decoration:underline}
.aim-cal__day:disabled{visibility:hidden}
.aim-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.aim-list__item{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.6rem .8rem;border:1px solid var(--aim-line);border-radius:8px}
/* search results */
.aim-results{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.aim-result{display:grid;grid-template-columns:56px 1fr;gap:.8rem;align-items:center;padding:.75rem;border:1px solid var(--aim-line);border-left:5px solid var(--aim-line);border-radius:8px;background:var(--aim-bg)}
.aim-result--free{border-left-color:var(--aim-free)}.aim-result--option{border-left-color:var(--aim-option)}.aim-result--booked{border-left-color:var(--aim-booked);opacity:.8}
.aim-result__img img,.aim-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--aim-soft);color:var(--aim-accent);font-weight:600;font-size:1.3rem}
.aim-result__body{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.aim-status{grid-column:1/-1;justify-self:start;font-size:.8rem;font-weight:600;padding:.2rem .7rem;border-radius:999px;color:var(--aim-on-accent)}
.aim-status--free{background:var(--aim-free)}.aim-status--option{background:var(--aim-option);color:var(--aim-option-ink)}.aim-status--booked{background:var(--aim-booked)}
/* directory + profile */
.aim-directory{list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.aim-dcard{display:flex;flex-direction:column;gap:.3rem;text-decoration:none!important;color:inherit!important}
.aim-dcard img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--aim-r)}
.aim-avatar--lg{width:100%;height:auto;aspect-ratio:3/4;border-radius:var(--aim-r);font-size:3rem}
.aim-profile__head{display:flex;flex-direction:column;gap:1rem;margin:1rem 0}
.aim-profile__photo{width:100%;max-width:340px;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 50%;border-radius:var(--aim-r)}
.aim-table{width:100%;border-collapse:collapse;font-size:.95rem}
.aim-table th,.aim-table td{text-align:left;padding:.5rem .4rem;border-bottom:1px solid var(--aim-line);vertical-align:top}
.aim-table th{font-weight:600;color:var(--aim-muted);font-size:.85rem}
.aim-timeline{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.aim-timeline li{display:flex;flex-direction:column;border-left:2px solid var(--aim-line);padding-left:.8rem}
@media (min-width:640px){
	.aim-grid2{grid-template-columns:1fr 1fr}.aim-grid3{grid-template-columns:repeat(3,1fr)}
	.aim-row{grid-template-columns:repeat(4,1fr);padding-right:2.6rem;align-items:end}
	.aim-row--hist{grid-template-columns:2fr 1.5fr 1fr 1fr 1fr auto}
	.aim-gallery{grid-template-columns:repeat(4,1fr)}
	.aim-cal{grid-template-columns:1fr 1fr}
	.aim-dash__head{flex-direction:row;justify-content:space-between;align-items:flex-end}
	.aim-result{grid-template-columns:56px 1fr auto}.aim-status{grid-column:auto;justify-self:end}
	.aim-directory{grid-template-columns:repeat(3,1fr)}
	.aim-profile__head{flex-direction:row;align-items:flex-end}.aim-profile__photo{width:280px}
	.aim-card{padding:1.75rem}
}
.aim-li{display:inline-flex;align-items:center;gap:.35rem}
/* Phase 2: agencies & fans */
.aim-inline{display:inline-block;margin:0}
.aim-actions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:flex-start;margin-left:auto}
.aim-consent{align-items:flex-start}
.aim-quote{margin:.4rem 0;padding:.4rem .8rem;border-left:3px solid var(--aim-line);color:var(--aim-muted);font-style:italic}
.aim-inline-form{margin-top:.5rem}
.aim-log td{vertical-align:top;font-size:.9rem}
.aim-dl{display:grid;grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0}
.aim-dl dt{font-weight:600}.aim-dl dd{margin:0}
.aim-agency-box,.aim-fan-box{margin:1rem 0}
.aim-copy{width:100%;font-family:monospace;font-size:.85rem}
@media (max-width:600px){.aim-actions{margin-left:0;width:100%}.aim-log{display:block;overflow-x:auto}}
.aim-list__item:not(:has(> .aim-dot)){grid-template-columns:1fr auto}
.aim [hidden]{display:none!important}
/* 0.3.0: agencies, rights, inbox */
.aim-count{display:inline-block;min-width:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--aim-booked);color:var(--aim-on-accent);font-size:.75rem;font-weight:700;line-height:1.25rem;text-align:center;vertical-align:middle}
.aim-bell{display:inline-flex;align-items:center;gap:.2rem;text-decoration:none;font-size:1.15rem;margin-right:.4rem}
.aim-req.is-new{border-left:4px solid var(--aim-accent);padding-left:.6rem}
/* 0.4.74: bell dropdown + short highlight of the target */
.aim-bellwrap{position:relative;display:inline-block}
.aim-bell-dd{position:absolute;right:0;top:100%;z-index:50;width:min(22rem,90vw);max-height:70vh;overflow:auto;margin-top:.3rem;padding:.6rem .75rem;background:var(--aim-card,#fff);color:inherit;border:1px solid var(--aim-line,#d0d0d0);border-radius:.6rem;box-shadow:0 8px 24px rgba(0,0,0,.18);font-size:.95rem}
.aim-bell-dd__head{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.4rem}
.aim-bell-dd__all{margin-left:auto}
.aim-bell-dd__list{list-style:none;margin:0;padding:0}
.aim-bell-dd__item a{display:block;padding:.4rem .3rem;border-top:1px solid var(--aim-line,#e4e4e4);text-decoration:none;color:inherit}
.aim-bell-dd__item a:hover,.aim-bell-dd__item a:focus-visible{background:rgba(127,127,127,.12)}
.aim-bell-dd__item.is-new a{border-left:4px solid var(--aim-accent);padding-left:.5rem}
.aim-bell-dd__foot{display:block;margin-top:.4rem;text-align:center}
@keyframes aim-flash{0%,60%{box-shadow:0 0 0 3px var(--aim-accent);background:rgba(255,200,0,.18)}100%{box-shadow:0 0 0 0 transparent}}
.aim-flash{animation:aim-flash 3.5s ease-out 1;scroll-margin-top:5rem}
@media (prefers-reduced-motion:reduce){.aim-flash{animation:none;box-shadow:0 0 0 3px var(--aim-accent)}}
@media (max-width:600px){.aim-bell-dd{position:fixed;left:.5rem;right:.5rem;top:4rem;width:auto}}
.aim-perms__table td,.aim-perms__table th{text-align:center}.aim-perms__table th[scope=row]{text-align:left}
.aim-perms__table input{width:1.1rem;height:1.1rem;accent-color:var(--aim-accent)}
.aim-table-wrap{overflow-x:auto}.aim-artist-list th a{color:inherit;text-decoration:none}
.aim-filter{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;margin-bottom:1rem}.aim-filter label{flex:1 1 12rem}
.aim-logo{max-width:160px;height:auto;object-fit:contain}.aim-logo--lg{max-width:220px}
.aim-checks{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.aim-row--contact{grid-template-columns:repeat(4,1fr) auto}
@media (max-width:640px){.aim-row--contact{grid-template-columns:1fr}}
.aim-roster{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.aim-roster__head{display:flex;gap:.7rem;align-items:center;text-decoration:none;color:inherit}.aim-roster__head img{width:64px;height:64px;object-fit:cover;border-radius:50%}
.aim-cal--mini{font-size:.75rem}
.aim-represented{font-weight:600}
.aim-contacts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}

/* 0.4.0 – documents requests, engagements, events */
.aim-expired{color:var(--aim-booked);font-weight:600}
.aim-docreq-items .aim-checks,.aim-docreq-decide .aim-checks{display:flex;flex-wrap:wrap;gap:.25rem 1rem}
.aim-docreq-decide{margin-top:.5rem}
.aim-access-log{margin-top:.4rem}
.aim-num{text-align:right;white-space:nowrap}
.aim-eng-table tfoot th{border-top:2px solid currentColor}
.aim-eng-calc{grid-column:1/-1;margin:.25rem 0}
.aim-event--pending .aim-event__st{background:var(--aim-option);color:var(--aim-option-ink)}
.aim-event__artists{margin:.3rem 0;padding-left:1rem}
.aim-ev-new>summary,.aim-docreq-new>summary,.aim-eng-new>summary{display:inline-block;cursor:pointer;margin-bottom:1rem;list-style:none}
.aim-docreq-btn{margin-left:.25rem}
.aim-me{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;overflow:visible;margin-left:1rem;background:var(--aim-accent);color:var(--aim-on-accent);text-decoration:none;flex:0 0 auto}
.aim-me__img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.aim-me__ini{font-weight:700}
.aim-me .aim-count{position:absolute;top:-4px;right:-6px}
.aim-video-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.aim-video-grid iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:8px}
.aim-pd__row{display:grid;grid-template-columns:1fr 180px;gap:.75rem;align-items:end}
@media (max-width:600px){.aim-pd__row{grid-template-columns:1fr}}
.aim-row--video,.aim-row--disc,.aim-row--evartist{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap}
.aim-row--video label,.aim-row--disc label,.aim-row--evartist label{flex:1 1 160px}
.aim-filterbar{display:flex;gap:.4rem;flex-wrap:wrap}
.aim-entry-img{max-width:120px;height:auto;border-radius:6px;margin-top:.3rem}
.aim-home-dates ul{padding-left:0;list-style:none}

/* 0.4.1 social links */
.aim-social{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0}
.aim-social__btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--aim-soft);color:var(--aim-ink);text-decoration:none;transition:background .15s}
.aim-social__btn:hover,.aim-social__btn:focus-visible{background:var(--aim-accent);color:var(--aim-on-accent)}

/* 0.4.4 avatar framing */
.aim-avatar-box__row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.aim-avatar-box__prev{width:96px;height:96px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--aim-soft);flex:none}
.aim-avatar-box__prev.is-square{border-radius:12px}
.aim-avatar-box__prev img{width:100%;height:100%;object-fit:cover}
.aim-avatar-box__up{cursor:pointer}
.aim-avatar-box__msg{display:block;flex-basis:100%;margin-top:.35rem}.aim-avatar-box__msg:empty{display:none}
.aim-avatar-box .is-err{color:var(--aim-booked-ink);font-weight:600}.aim-avatar-box .aim-crop__foot{flex-wrap:wrap} /* 0.4.18: upload/framing errors */
.aim-crop{margin-top:1rem}
.aim-crop__stage{position:relative;width:min(280px,80vw);aspect-ratio:1;overflow:hidden;background:var(--aim-ink);touch-action:none;cursor:grab;user-select:none;border-radius:8px}
.aim-crop__stage:active{cursor:grabbing}
.aim-crop__stage img{position:absolute;max-width:none;pointer-events:none}
.aim-crop__mask{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 999px var(--aim-overlay);outline:2px solid var(--aim-on-accent);outline-offset:-2px;pointer-events:none}
.aim-crop__stage.is-square .aim-crop__mask{border-radius:12px}
.aim-crop__zoom{display:flex;gap:.5rem;align-items:center;max-width:280px;margin-top:.5rem}
.aim-crop__zoom input{flex:1}
img.aim-framed.aim-profile__photo,img.aim-framed.aim-me__img{object-fit:cover;aspect-ratio:1}
.aim-crop__foot{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}
.aim-crop__save{background:var(--aim-accent);border-color:var(--aim-accent);color:var(--aim-on-accent)!important}

/* 0.4.5 chat */
.aim-chat{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:1.25rem}
@media (max-width:700px){.aim-chat{grid-template-columns:1fr}}
.aim-chat__convs{list-style:none;margin:0;padding:0}
.aim-chat__convs a{display:flex;gap:.5rem;align-items:center;padding:.5rem;border-radius:8px;text-decoration:none}
.aim-chat__convs li.is-active a,.aim-chat__convs a:hover{background:var(--aim-shadow)}
.aim-chat__av{width:32px;height:32px;border-radius:50%;object-fit:cover}
.aim-chat__head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}
.aim-chat__msgs{list-style:none;margin:0;padding:.5rem;max-height:55vh;min-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;background:var(--aim-shadow);border-radius:8px}
.aim-msg{max-width:80%;align-self:flex-start;background:var(--aim-bg);border:1px solid var(--aim-line);border-radius:12px;padding:.4rem .7rem}
.aim-msg--mine{align-self:flex-end;background:var(--aim-accent);color:var(--aim-on-accent);border-color:var(--aim-accent)}
.aim-msg time{display:block;font-size:.7rem;opacity:.7}
.aim-chat__intro{font-style:italic;font-size:.85rem}
.aim-chat__send{display:flex;gap:.5rem;margin-top:.5rem}
.aim-chat__send textarea{flex:1}
.aim-chat__report{display:inline-block}
.aim-directory li > .aim-chat-btn{margin-top:.4rem;align-self:flex-start}.aim-chat__new{margin-bottom:1rem}.aim-chat__new summary{list-style:none;cursor:pointer}
.aim-push{margin:1rem 0;padding:.5rem .75rem;border:1px solid var(--aim-line);border-radius:8px}.aim-push summary{cursor:pointer;font-weight:600}
/* 0.4.8 event details */
.aim-ev-details{margin:.4rem 0;font-size:.92em}.aim-ev-sub{display:block;color:var(--aim-muted)}
.aim-ev-dl{display:grid;grid-template-columns:max-content 1fr;gap:.15rem .8rem;margin:.4rem 0}.aim-ev-dl dt{color:var(--aim-muted)}.aim-ev-dl dd{margin:0}
.aim-ev-state--cancelled{background:var(--aim-booked);color:var(--aim-on-accent)}.aim-ev-state--soldout{background:var(--aim-option-ink);color:var(--aim-on-accent)}
.aim-ev-details--cancelled .aim-ev-dl{text-decoration:line-through;opacity:.7}.aim-ev-poster{max-width:240px;height:auto;border-radius:6px;margin-top:.4rem}
.aim-fieldset{border:1px solid var(--aim-line);border-radius:8px;padding:.6rem .8rem;margin:.6rem 0}

/* 0.4.9 onboarding checklist, danger zone, pilot */
.aim-onboard{border:1px solid var(--aim-accent-2);background:var(--aim-soft);border-radius:var(--aim-r);padding:.9rem 1rem;margin:0 0 1rem}
.aim-onboard__head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;justify-content:space-between}
.aim-onboard progress{width:100%;height:6px;accent-color:var(--aim-accent-2);margin:.5rem 0}
.aim-onboard__list{margin:.25rem 0 0;padding-left:1.3rem;display:flex;flex-direction:column;gap:.35rem}
.aim-onboard__list li.is-done{color:var(--aim-muted);text-decoration:line-through}
.aim-onboard__list li.is-done::marker{content:"✓  ";color:var(--aim-free)}
.aim-danger-zone{margin:1rem 0;padding:.6rem .8rem;border:1px solid var(--aim-booked-line);border-radius:8px}
.aim-danger-zone summary{cursor:pointer;color:var(--aim-booked);font-weight:600}
.aim-lang{display:flex;justify-content:flex-end;gap:.6rem;font-size:.85rem;margin:0 0 .25rem}

/* 0.4.10 */
.aim-cal__day--hidden{background:var(--aim-line);color:var(--aim-muted)}
.aim-dot--hidden{background:var(--aim-muted)}
.aim-cal--profile{max-width:420px}
.aim-rep-houses{font-size:.9em}
.aim-result__houses{display:block}
.aim-end-rep{display:inline-block;margin-top:.3rem}.aim-end-rep summary{list-style:none;cursor:pointer}.aim-end-rep__form{margin-top:.5rem;max-width:22rem}
.aim-casting-list .aim-dcard img{aspect-ratio:1/1}.aim-cast-excerpt{color:inherit;opacity:.85;line-height:1.4}
@media (max-width:480px){.aim-casting-list{grid-template-columns:1fr}}

/* 0.4.13: per-house rows in the repertoire form */
.aim-rep-houses[data-aim-houses]{grid-column:1/-1;display:flex;flex-direction:column;gap:.4rem;flex:1 1 100%;min-width:0}
.aim-hrows{display:flex;flex-direction:column;gap:.4rem}
.aim-hrow{display:flex;gap:.4rem;align-items:center}
.aim-form .aim-hrow input.aim-hrow__name{flex:1 1 auto;min-width:0}
.aim-form .aim-hrow input.aim-hrow__year{flex:0 0 4.3rem;width:4.3rem;min-width:0;padding-left:.5rem;padding-right:.5rem}
.aim-hrow__x{flex:0 0 auto;min-width:2.2rem;min-height:2.5rem;padding:0 .3rem}
.aim-hadd{align-self:flex-start}
.aim-chip--house{display:inline-block;margin:.1rem .2rem .1rem 0;padding:.1rem .5rem;border:1px solid var(--aim-line);border-radius:999px;font-size:.85em;white-space:nowrap}
/* 0.4.14 Anfrage senden + agency events */
.aim-btn--lg{padding:.8em 1.4em;font-size:1.05em;font-weight:600}
.aim-request-cta{margin:1em 0}
@media (max-width:600px){.aim-request-cta .aim-btn{display:block;width:100%;text-align:center}}
.aim-directory li .aim-request-btn{margin-top:.4em}
.aim-agency-events__list .aim-ev--option{border-left:3px solid var(--aim-option)}
.aim-agency-events__list .aim-ev--booked{border-left:3px solid var(--aim-booked)}
.aim-ev-filter{margin-bottom:.6em}
/* 0.4.16 polish: resend confirmation, password reset page, empty states */
.aim-resend{margin-top:1rem;border-top:1px solid var(--aim-line);padding-top:.75rem}
.aim-resend>summary{cursor:pointer;color:var(--aim-accent);font-size:.92em;font-weight:600;list-style:none}
.aim-resend>summary::-webkit-details-marker{display:none}
.aim-resend>summary::before{content:"✉ ";}
.aim-resend[open]>summary{margin-bottom:.5rem}
.aim-resend__form .aim-btn{width:100%}
.aim-pw .aim-h2{margin-top:0}
.aim-pw .aim-btn--primary{width:100%}
.aim-empty{text-align:center;padding:1.5rem 1rem;margin:.75rem 0;border:1px dashed var(--aim-line);border-radius:12px;background:var(--aim-soft)}
.aim-empty__icon{width:56px;height:56px;margin:0 auto .5rem;border-radius:50%;background:var(--aim-bg);border:1px solid var(--aim-line);display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1}
.aim-empty>.aim-muted,.aim-empty>.aim-notice{margin:.25rem 0;font-weight:600;color:var(--aim-ink);background:none;border:0;padding:0}
.aim-empty__hint{margin:.25rem auto .5rem;max-width:36em}
.aim-empty .aim-btn{margin-top:.25rem}

/* 0.4.17 pilot agreement: keep checkbox size next to long labels, prompt spacing */
.aim-agreement-check input,.aim-privacy-check input{flex:0 0 auto}
.aim-agreement-prompt .aim-agreement-decline{margin-top:1rem}
.aim-agreement-prompt .aim-agreement-decline form{margin-top:.75rem}
/* 0.4.17 click-to-load YouTube placeholder (no request to YouTube/Google before the click) – design tokens only */
.aim-yt__frame{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,var(--aim-ink),color-mix(in srgb,var(--aim-ink) 78%,var(--aim-bg)))}
.aim-yt__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.aim-yt__play{all:unset;box-sizing:border-box;cursor:pointer;position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1rem;color:var(--aim-booked);text-align:center}
.aim-yt__play path{fill:var(--aim-on-accent)}
.aim-yt__play:hover svg,.aim-yt__play:focus-visible svg{transform:scale(1.08)}
.aim-yt__play:focus-visible{outline:3px solid var(--aim-accent-2);outline-offset:-3px}
.aim-yt__play svg{transition:transform .15s}
.aim-yt__label{color:var(--aim-on-accent);font-weight:600;line-height:1.3;max-width:90%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.aim-yt__note{margin:.4rem 0 0;color:var(--aim-muted)}
.aim-yt .aim-yt__link{display:inline-block;margin-top:.15rem}

/* 0.4.19 staff members working in the owner's dashboard */
.aim-staff-acting{margin:.25rem 0 .75rem}
.aim-staff-acting .aim-private{margin:0 0 .25rem}
.aim-staff-acting__rights summary{cursor:pointer}
.aim-staff-acting .aim-staff-rights{margin:.35rem 0 0;padding-left:1.1rem}
fieldset.aim-staff-ro{border:0;margin:0;padding:0;min-width:0}
fieldset.aim-staff-ro[disabled] .aim-btn,fieldset.aim-staff-ro[disabled] button{opacity:.55;cursor:not-allowed}

/* 0.4.20: calendar entry edit form */
.aim-cal-edit{scroll-margin-top:80px}

/* 0.4.21: chat modernised – distinct composer, bubbles, day separators, dark mode, iPhone (no auto-zoom, send button always visible).
 * Chat tokens: derived from the design tokens (admin "Design" stays the source); dark mode overrides them inside .aim-chat only. */
.aim-chat{--aim-chat-read:color-mix(in srgb,var(--aim-ink) 4%,var(--aim-soft));--aim-chat-in:var(--aim-bg);--aim-chat-in-ink:var(--aim-ink);--aim-chat-in-line:color-mix(in srgb,var(--aim-ink) 12%,var(--aim-bg));
	--aim-chat-mine:var(--aim-accent);--aim-chat-mine-ink:var(--aim-on-accent);--aim-chat-field:var(--aim-bg);--aim-chat-field-ink:var(--aim-ink);--aim-chat-field-line:color-mix(in srgb,var(--aim-ink) 45%,var(--aim-bg));
	--aim-chat-bar:color-mix(in srgb,var(--aim-accent) 7%,var(--aim-bg));--aim-chat-ring:var(--aim-accent-2);--aim-chat-day:color-mix(in srgb,var(--aim-ink) 8%,var(--aim-bg));
	color:var(--aim-ink);grid-template-areas:"bar bar" "list main";align-items:start}
.aim-chat__bar{grid-area:bar;display:flex;justify-content:flex-end;min-height:0}
.aim-chat__bar:not(:has(:not([hidden]))){display:none}
.aim-chat__list{grid-area:list;min-width:0}.aim-chat__main{grid-area:main;min-width:0}
@media (max-width:700px){.aim-chat{grid-template-areas:"bar" "list" "main"}}
.aim-chat__theme{font:inherit;font-size:.85rem;padding:.3rem .8rem;min-height:36px;border-radius:999px;border:1px solid var(--aim-line);background:var(--aim-bg);color:var(--aim-ink);cursor:pointer}
.aim-chat__theme::before{content:"◐ "}
.aim-chat__convs a{color:inherit;min-height:48px}
.aim-chat__convs a>span:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}
.aim-chat__convs a .aim-count{margin-left:auto;flex:0 0 auto}
.aim-chat__convs li.has-unread a>span:first-of-type{font-weight:700}
.aim-chat__head{padding:.25rem 0 .5rem;border-bottom:1px solid var(--aim-line)}
.aim-chat .aim-chat__msgs{background:var(--aim-chat-read);border:1px solid var(--aim-line);border-radius:12px 12px 0 0;padding:.75rem;gap:.35rem;max-height:min(60vh,640px);min-height:240px;overscroll-behavior:contain;scroll-behavior:smooth}
.aim-chat .aim-msg{position:relative;max-width:min(80%,34rem);background:var(--aim-chat-in);color:var(--aim-chat-in-ink);border:1px solid var(--aim-chat-in-line);border-radius:16px 16px 16px 4px;padding:.45rem .75rem .3rem;overflow-wrap:anywhere;box-shadow:0 1px 1px var(--aim-shadow)}
.aim-chat .aim-msg--mine{background:var(--aim-chat-mine);color:var(--aim-chat-mine-ink);border-color:var(--aim-chat-mine);border-radius:16px 16px 4px 16px}
.aim-msg__body{display:block;white-space:normal}
.aim-msg__meta{display:flex;justify-content:flex-end;align-items:center;gap:.35rem;margin-top:.1rem;font-size:.72rem;line-height:1.2;opacity:.8}
.aim-chat .aim-msg time{display:inline;font-size:inherit;opacity:1;font-variant-numeric:tabular-nums}
.aim-msg__del{font:inherit;font-size:.8rem;line-height:1;background:none;border:0;padding:.2rem .25rem;margin:-.2rem -.3rem -.2rem 0;color:inherit;cursor:pointer;opacity:.55;border-radius:6px;min-width:28px;min-height:28px}
.aim-chat:not(.aim-chat--js) .aim-msg__del{display:none} /* delete needs JS (confirm + AJAX) */
.aim-msg__del:hover,.aim-msg__del:focus-visible{opacity:1;background:color-mix(in srgb,currentColor 15%,transparent)}
@media (hover:hover){.aim-msg__del{opacity:0}.aim-msg:hover .aim-msg__del,.aim-msg__del:focus-visible{opacity:.8}}
.aim-msg.is-deleted{background:transparent;color:var(--aim-muted);border:1px dashed var(--aim-line);box-shadow:none}
.aim-msg.is-deleted.aim-msg--mine{color:var(--aim-muted)}
.aim-msg__gone{font-style:italic}.aim-msg__gone::before{content:"⊘ "}
.aim-msg__img{display:block;margin:.1rem 0 .3rem;line-height:0}
.aim-msg__img img{display:block;max-width:min(240px,100%);height:auto;max-height:320px;width:auto;border-radius:10px;object-fit:cover;background:color-mix(in srgb,currentColor 10%,transparent)}
.aim-msg__file{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.45rem .7rem;margin:.1rem 0 .3rem;border-radius:10px;background:color-mix(in srgb,currentColor 12%,transparent);color:inherit!important;text-decoration:none!important;font-weight:600}
.aim-msg__file .aim-msg__fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.aim-msg__file small{font-weight:400;opacity:.8;white-space:nowrap}
.aim-chat__day{align-self:center;margin:.6rem 0 .2rem}
.aim-chat__day span{display:inline-block;padding:.15rem .75rem;border-radius:999px;background:var(--aim-chat-day);color:var(--aim-ink);font-size:.78rem;font-weight:600;box-shadow:0 1px 2px var(--aim-shadow)}
.aim-chat__typing{min-height:1.4em;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:.2rem .75rem;font-size:.85rem;font-style:italic;color:var(--aim-muted);background:var(--aim-chat-read);border-inline:1px solid var(--aim-line)}
.aim-chat__typing:empty{min-height:.5rem;padding:0}
.aim-chat__typing:not(:empty)::before{content:"✎ "}
.aim-chat__err{margin:0;border-radius:0}
/* composer: its own bar, different background, 2px border, accent focus ring, sticky at the bottom */
.aim-chat .aim-chat__send{position:sticky;bottom:0;z-index:2;display:flex;align-items:flex-end;gap:.5rem;margin:0;padding:.6rem;padding-bottom:max(.6rem,env(safe-area-inset-bottom));background:var(--aim-chat-bar);border:2px solid var(--aim-chat-field-line);border-top-width:2px;border-radius:0 0 12px 12px}
.aim-chat .aim-chat__send textarea{flex:1 1 auto;min-width:0;min-height:48px;max-height:9.5rem;resize:none;font:inherit;font-size:16px;line-height:1.4;padding:.7rem .85rem;background:var(--aim-chat-field);color:var(--aim-chat-field-ink);border:2px solid var(--aim-chat-field-line);border-radius:14px;box-shadow:inset 0 1px 2px var(--aim-shadow)}
.aim-chat .aim-chat__send textarea::placeholder{color:var(--aim-muted);opacity:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aim-chat .aim-chat__send textarea:focus{outline:3px solid var(--aim-chat-ring);outline-offset:1px;border-color:var(--aim-accent)}
.aim-chat__sendbtn{flex:0 0 auto;min-height:48px;min-width:48px;padding:.55rem 1rem}
.aim-chat__sendicon{font-size:1.05rem;line-height:1}
.aim-chat__attach{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:2px solid var(--aim-chat-field-line);background:var(--aim-chat-field);color:var(--aim-ink);cursor:pointer;font-size:1.25rem}
.aim-chat__attach[hidden]{display:none}
.aim-chat__attach:focus-within{outline:3px solid var(--aim-chat-ring);outline-offset:1px}
.aim-chat__attach input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.aim-chat__send.is-busy .aim-chat__attach{opacity:.5;pointer-events:none}
.aim-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:700px){
	.aim-chat .aim-chat__msgs{max-height:none;height:max(240px,calc(var(--aim-vvh,100dvh) - 210px))}
	.aim-chat__sendtxt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
	.aim-chat__sendbtn{padding:.5rem;width:44px;min-width:44px;min-height:44px;border-radius:50%}
	.aim-chat .aim-chat__send{gap:.35rem;padding-left:.45rem;padding-right:.45rem}
	.aim-chat__attach{width:44px;height:44px}
	.aim-chat .aim-chat__send textarea{padding-left:.65rem;padding-right:.5rem;min-height:44px}
	.aim-chat .aim-msg{max-width:86%}
	.aim-chat__main{scroll-margin-top:.5rem}
}
/* dark mode: automatic via prefers-color-scheme (also without JS), or chosen with the toggle (stored in localStorage) */
@media (prefers-color-scheme:dark){.aim-chat:not(.aim-chat--light):not(.aim-chat--js){--aim-bg:var(--aim-dk-bg);--aim-soft:var(--aim-dk-soft);--aim-ink:var(--aim-dk-ink);--aim-muted:var(--aim-dk-muted);--aim-line:var(--aim-dk-line);--aim-shadow:rgba(0,0,0,.35);
	--aim-chat-read:var(--aim-dk-read);--aim-chat-in:var(--aim-dk-in);--aim-chat-in-ink:var(--aim-dk-in-ink);--aim-chat-in-line:var(--aim-dk-in-line);--aim-chat-mine:var(--aim-dk-mine);--aim-chat-mine-ink:var(--aim-dk-on);--aim-chat-field:var(--aim-dk-field);--aim-chat-field-ink:var(--aim-dk-in-ink);--aim-chat-field-line:var(--aim-dk-field-line);--aim-chat-bar:var(--aim-dk-bar);--aim-chat-ring:var(--aim-dk-ring);--aim-chat-day:var(--aim-dk-day);
	background:var(--aim-bg);color:var(--aim-ink);padding:.75rem;border-radius:12px;color-scheme:dark}}
.aim-chat.aim-chat--dark{--aim-bg:var(--aim-dk-bg);--aim-soft:var(--aim-dk-soft);--aim-ink:var(--aim-dk-ink);--aim-muted:var(--aim-dk-muted);--aim-line:var(--aim-dk-line);--aim-shadow:rgba(0,0,0,.35);
	--aim-chat-read:var(--aim-dk-read);--aim-chat-in:var(--aim-dk-in);--aim-chat-in-ink:var(--aim-dk-in-ink);--aim-chat-in-line:var(--aim-dk-in-line);--aim-chat-mine:var(--aim-dk-mine);--aim-chat-mine-ink:var(--aim-dk-on);--aim-chat-field:var(--aim-dk-field);--aim-chat-field-ink:var(--aim-dk-in-ink);--aim-chat-field-line:var(--aim-dk-field-line);--aim-chat-bar:var(--aim-dk-bar);--aim-chat-ring:var(--aim-dk-ring);--aim-chat-day:var(--aim-dk-day);
	background:var(--aim-bg);color:var(--aim-ink);padding:.75rem;border-radius:12px;color-scheme:dark}
.aim-card:has(>.aim-chat.aim-chat--dark){background:var(--aim-dk-bg);border-color:var(--aim-dk-line)}
.aim-chat--dark a:not(.aim-btn){color:var(--aim-dk-link)}
.aim-chat--dark .aim-chat__convs a,.aim-chat--dark .aim-msg a{color:inherit}
.aim-chat--dark .aim-btn{background:var(--aim-dk-btn);color:var(--aim-ink)!important;border-color:var(--aim-dk-btn-line)}
.aim-chat--dark .aim-btn--primary{background:var(--aim-dk-mine);border-color:var(--aim-dk-mine);color:var(--aim-dk-on)!important}
.aim-chat--dark .aim-btn--primary:hover{background:var(--aim-dk-mine-hover)}
.aim-chat--dark .aim-btn--danger{background:var(--aim-dk-danger);border-color:var(--aim-dk-danger-line);color:var(--aim-dk-danger-ink)!important}
.aim-chat--dark .aim-form input,.aim-chat--dark .aim-form textarea,.aim-chat--dark .aim-form select{background:var(--aim-dk-field);color:var(--aim-ink);border-color:var(--aim-dk-field-line)}
.aim-chat--dark .aim-notice{background:var(--aim-dk-field);color:var(--aim-ink)}
.aim-chat--dark .aim-notice--error{background:var(--aim-dk-err);color:var(--aim-dk-danger-ink)}
.aim-chat--dark .aim-badge--soft{background:var(--aim-dk-day);color:var(--aim-ink)}
.aim-chat--dark .aim-quote{color:var(--aim-ink)}
/* iPhone: form fields below 16px make iOS Safari zoom in on focus. Never disable zoom – make the text 16px instead. */
@media (max-width:1024px),(pointer:coarse){
	.aim input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),.aim select,.aim textarea,
	.aim-form input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),.aim-form select,.aim-form textarea,
	.aim-chat input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),.aim-chat textarea{font-size:16px}
}
/* 0.4.21 scope extension: agency calendar entries, addresses, team page, fan calendar, document request log, 2FA */
.aim-badge--warn{background:var(--aim-booked-bg,color-mix(in srgb,var(--aim-booked) 14%,var(--aim-bg)));color:color-mix(in srgb,var(--aim-booked) 75%,var(--aim-ink));border:1px solid color-mix(in srgb,var(--aim-booked) 35%,var(--aim-bg))}
.aim-hint{font-size:.85rem;color:var(--aim-muted);background:var(--aim-soft);border-left:3px solid var(--aim-accent-2);padding:.5rem .75rem;border-radius:6px;margin:.5rem 0}
#aim-agcal{border:1px solid color-mix(in srgb,var(--aim-accent-2) 45%,var(--aim-bg));background:color-mix(in srgb,var(--aim-accent-2) 8%,var(--aim-bg));border-radius:var(--aim-r);padding:1rem;margin-block:1rem}
#aim-agcal .aim-list__item{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}
.aim-addresses{list-style:none;margin:.25rem 0;padding:0;display:grid;gap:.4rem}
.aim-addr{line-height:1.4}
.aim-addr.is-main{font-weight:600}
.aim-addr-main{grid-column:1/-1}
.aim-staff-perms summary{cursor:pointer;color:var(--aim-accent);font-size:.9rem;padding:.25rem 0}
.aim-staff-perms[open] summary{margin-bottom:.4rem}
.aim-staff-contact{font-size:.9rem;color:var(--aim-muted);overflow-wrap:anywhere}
.aim-staff-invite{border-top:1px solid var(--aim-line);padding-top:1rem;margin-top:1.25rem}
.aim-staff-invites{list-style:none;padding:0}
.aim-ev-nocreate{color:var(--aim-muted)}
.aim-fancal__nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}
.aim-fancal__nav .aim-h3{margin:0;text-align:center;flex:1}
.aim-fancal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;font-size:.8rem}
.aim-fancal__wd{text-align:center;font-weight:600;color:var(--aim-muted);padding:.2rem 0}
.aim-fancal__day{min-height:3.2rem;border:1px solid var(--aim-line);border-radius:6px;padding:.15rem;background:var(--aim-bg);overflow:hidden;display:flex;flex-direction:column;gap:2px}
.aim-fancal__day.is-empty{border-color:transparent;background:transparent}
.aim-fancal__day.has-ev{background:var(--aim-soft)}
.aim-fancal__day.is-today{outline:2px solid var(--aim-accent-2);outline-offset:-2px}
.aim-fancal__n{font-size:.75rem;color:var(--aim-muted)}
.aim-fancal__ev{display:block;font-size:.7rem;line-height:1.2;background:var(--aim-accent);color:var(--aim-on-accent);border-radius:4px;padding:1px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.aim-fancal__more{font-size:.7rem;color:var(--aim-muted)}
.aim-fancal__list{margin-top:1rem}
.aim-fancal__detail .aim-dl{margin:.75rem 0}
.aim-docreq-history{list-style:none;padding:0;margin:.4rem 0;font-size:.85rem;color:var(--aim-muted)}
.aim-docreq-history li{padding:.1rem 0}
.aim-docreq-left{background:var(--aim-free-bg);color:var(--aim-free-ink);border:1px solid color-mix(in srgb,var(--aim-free) 30%,var(--aim-bg))}
.aim-docreq-gone{background:var(--aim-soft);color:var(--aim-muted);border:1px solid var(--aim-line)}
.aim-2fa-code{font-size:1.5rem;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;max-width:12rem}
.aim-2fa-resend{margin-top:.75rem}
@media (min-width:48rem){.aim-fancal__day{min-height:4.5rem}.aim-fancal__ev{font-size:.75rem}}
/* 0.4.21 (J): profile-not-public reminder */
.aim-notice--warning{background:color-mix(in srgb,var(--aim-option) 16%,var(--aim-bg));border:1px solid color-mix(in srgb,var(--aim-option) 55%,var(--aim-bg));color:var(--aim-ink)}
.aim-pubrem{background:color-mix(in srgb,var(--aim-option) 16%,var(--aim-bg));border:1px solid color-mix(in srgb,var(--aim-option) 55%,var(--aim-bg));border-left:5px solid var(--aim-option);color:var(--aim-ink);border-radius:var(--aim-r);padding:1rem 1.1rem;margin:1rem 0}
.aim-pubrem p{margin:.2rem 0 .6rem}
.aim-pubrem .aim-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
ul.aim-staff-contact{list-style:none;padding-left:0;margin:.4rem 0}
.aim-list__item:has(> .aim-agcal-flag){display:flex;flex-wrap:wrap;gap:.5rem}.aim-list__item:has(> .aim-agcal-flag) > div:first-of-type{flex:1 1 12rem;min-width:0}.aim-agcal-flag .aim-btn{white-space:normal}
.aim-cal-entry > div{min-width:0;overflow-wrap:anywhere}.aim-cal-entry .aim-badge{white-space:normal}
/* 0.4.23 engagements: money, payments, sharing, comments; invisible staff; trusted persons; premium note */
.aim-eng-sec{border-top:1px solid var(--aim-line);padding:.75rem 0;display:grid;gap:.4rem}
.aim-eng-sec>strong{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.aim-eng-sec textarea{width:100%;min-height:4.5rem}
.aim-eng-checks{display:grid;gap:.35rem}
.aim-eng-checkview{list-style:none;padding:0;margin:0;display:grid;gap:.25rem}
.aim-eng-sum td,.aim-eng-total th{font-weight:700;border-top:1px solid var(--aim-line)}
.aim-eng-row--cancelled td{opacity:.6;text-decoration:line-through}
.aim-eng-row--request td:first-child{font-style:italic}
.aim-eng-pay.is-overdue td,.aim-table tr.is-overdue td{background:color-mix(in srgb,var(--aim-booked) 8%,var(--aim-bg))}
.aim-eng-paysum{margin:.5rem 0}
.aim-eng-payform,.aim-eng-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}
.aim-eng-view{border:1px solid var(--aim-line);border-radius:var(--aim-r);padding:.75rem 1rem;margin:.5rem 0;background:var(--aim-bg)}
.aim-eng-view h4{margin:0 0 .4rem}
.aim-eng-thread{list-style:none;padding:0;margin:.5rem 0;display:grid;gap:.5rem}
.aim-eng-msg{padding:.5rem .75rem;border-radius:var(--aim-r);background:var(--aim-soft);max-width:44rem;overflow-wrap:anywhere}
.aim-eng-msg--artist{justify-self:end;background:color-mix(in srgb,var(--aim-accent-2) 14%,var(--aim-bg))}
.aim-premium-note{color:var(--aim-muted);border-left:3px solid var(--aim-accent-2);padding-left:.5rem}
.aim-staff-hidden{background:var(--aim-soft);color:var(--aim-muted);border:1px dashed var(--aim-line)}
.aim-staff-hidden-form{display:inline-flex;align-items:center;gap:.35rem}
.aim-trusted-acting{border-left:4px solid var(--aim-accent-2)}
@media (max-width:600px){.aim-eng-payform>*,.aim-eng-bar>*{flex:1 1 100%}.aim-eng-msg{max-width:100%}}
/* 0.4.23 (M): many houses per repertoire role – compact rows, scrollable list, add button always visible; public "and X more" */
.aim-rep-houses.is-many .aim-hrows{max-height:19rem;overflow-y:auto;padding-right:.25rem;gap:.25rem;overscroll-behavior:contain}
.aim-rep-houses.is-many .aim-hrow input{padding-top:.3rem;padding-bottom:.3rem}
.aim-rep-houses.is-many .aim-hrow__x{min-height:2.1rem}
.aim-hadd{align-self:flex-start}
.aim-houses .aim-chip--house{margin:0 .2rem .2rem 0}
.aim-houses-more{background:none;border:0;padding:0;color:var(--aim-accent);text-decoration:underline;cursor:pointer;font:inherit;white-space:nowrap}
/* 0.4.24: chat – delete button clearly visible and easy to tap on touch devices (iPhone); photo lightbox */
@media (hover:none),(pointer:coarse){.aim-msg__del{opacity:.85;font-size:.95rem;min-width:36px;min-height:36px;margin:-.35rem -.4rem -.35rem 0}}
.aim-lightbox{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 3.5rem) calc(env(safe-area-inset-right,0px) + .75rem) calc(env(safe-area-inset-bottom,0px) + 1rem) calc(env(safe-area-inset-left,0px) + .75rem);background:rgba(8,10,14,.92);box-sizing:border-box;overscroll-behavior:contain;touch-action:pinch-zoom}
.aim-lightbox__img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 6px 30px rgba(0,0,0,.5)}
.aim-lightbox__close{position:fixed;top:calc(env(safe-area-inset-top,0px) + .6rem);right:calc(env(safe-area-inset-right,0px) + .6rem);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.14);color:white;font-size:1.9rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.aim-lightbox__close:hover,.aim-lightbox__close:focus-visible{background:rgba(255,255,255,.28);outline:2px solid white;outline-offset:2px}
html.aim-lb-open,html.aim-lb-open body{overflow:hidden}
/* 0.4.24: public "Upcoming performances" as compact cards (also used in the artist's calendar list); single-month calendar */
.aim-gigs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.aim-gig{display:grid;grid-template-columns:4.75rem minmax(0,1fr);gap:.85rem;align-items:start;padding:.7rem .8rem;border:1px solid var(--aim-line);border-radius:12px;background:var(--aim-bg)}
.aim-gig[hidden]{display:none}
.aim-gig__date{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.45rem .25rem;border-radius:10px;background:var(--aim-soft);line-height:1.15}
.aim-gig__date time{display:flex;flex-direction:column;align-items:center}
.aim-gig__day{font-size:1.45rem;font-weight:700;color:var(--aim-accent);font-variant-numeric:tabular-nums;white-space:nowrap}
.aim-gig__date.is-range .aim-gig__day{font-size:1.1rem}
.aim-gig__mon{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--aim-muted);white-space:nowrap}
.aim-gig__sub{font-size:.72rem;color:var(--aim-muted);white-space:nowrap}
.aim-gig__time{margin-top:.25rem;font-size:.75rem;font-weight:600;color:var(--aim-ink);font-variant-numeric:tabular-nums}
.aim-gig__body{min-width:0;overflow-wrap:anywhere;display:flex;flex-direction:column;align-items:flex-start;gap:.12rem}
.aim-gig__title{line-height:1.3}
.aim-gig__work{font-weight:700;font-size:1.02rem}
.aim-gig__comp{color:var(--aim-muted);font-size:.92rem}
.aim-gig__role{font-size:.92rem}
.aim-gig__place{font-size:.88rem;color:var(--aim-muted)}
.aim-gig__pill{display:inline-block;flex:0 0 auto;align-self:flex-start;width:auto;font-size:.7rem;line-height:1.4;padding:.05rem .55rem;border-radius:999px;border:1px solid var(--aim-line);background:var(--aim-soft);color:var(--aim-muted);white-space:nowrap;vertical-align:middle}
.aim-gig__body > .aim-gig__pill{margin-top:.3rem}
.aim-gig__extra{font-size:.88rem;margin-top:.2rem}
.aim-gig__extra .aim-entry-img{display:block;margin-top:.3rem;border-radius:8px}
.aim-gig__body--dash{margin-top:.3rem}
@media (max-width:380px){.aim-gig{grid-template-columns:4.1rem minmax(0,1fr);gap:.65rem;padding:.6rem}.aim-gig__day{font-size:1.25rem}}
.aim-cal__nav--one{justify-content:center;gap:.6rem}
.aim-cal__title{margin:0;min-width:9.5em;text-align:center;font-size:1rem;font-weight:600}
.aim-cal--profile{max-width:none;grid-template-columns:minmax(0,1fr)!important;gap:.6rem}
.aim-cal--profile .aim-cal__grid{gap:4px}
.aim-cal--profile .aim-cal__day{aspect-ratio:auto;height:clamp(2.2rem,8vw,2.6rem);font-size:.92rem}
.aim-profile-avail .aim-legend{gap:.35rem .5rem;font-size:.82rem}
.aim-profile-avail .aim-legend .aim-li{padding:.15rem .55rem;border:1px solid var(--aim-line);border-radius:999px;background:var(--aim-soft)}
/* 0.4.24: calendar entry list – text column keeps its width (on iPhone the buttons used to squeeze it to one letter per line) */
.aim-list__item.aim-cal-entry{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.45rem .7rem}
.aim-cal-entry > .aim-dot{flex:0 0 auto;margin-top:.45rem}
.aim-cal-entry > div:first-of-type{flex:1 1 15rem;min-width:0}
.aim-cal-entry > form,.aim-cal-entry > .aim-inline,.aim-cal-entry > .aim-agcal-flag{flex:0 0 auto;margin:0}
.aim-cal-entry > form:last-child{margin-left:auto}
@media (max-width:600px){.aim-cal-entry > div:first-of-type{flex-basis:calc(100% - 2.2rem)}.aim-cal-entry > form:last-child{margin-left:0}}
/* 0.4.24 (F): own measurement sheet */
.aim-meas-ways{font-weight:600}
.aim-meas-sheet{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--aim-line)}
.aim-meas-sheet__cur{padding:.7rem .9rem;margin:.5rem 0 .8rem;overflow-wrap:anywhere}
.aim-meas-sheet__link{font-weight:600}
/* 0.4.24 (G): year overview – month title opens 12 mini months */
.aim-cal__ylink{font:inherit;font-weight:600;color:inherit;background:none;border:0;padding:.25rem .5rem;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}
.aim-cal__ylink:hover,.aim-cal__ylink:focus-visible{background:var(--aim-soft);outline:none}
.aim-cal__ylink:focus-visible{box-shadow:0 0 0 2px var(--aim-accent)}
.aim-cal__caret{font-size:.7em;color:var(--aim-muted)}
.aim-cal__month h4 .aim-cal__ylink{font-size:1rem}
.aim-cal__nav .aim-cal__today{margin-left:.2rem}
.aim-cal.aim-cal--yearview{grid-template-columns:minmax(0,1fr)!important}
.aim-cal__nav--year{flex-wrap:wrap}
.aim-cal__year{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem .55rem}
@media (min-width:40rem){.aim-cal__year{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem .9rem}}
.aim-cal__mini{display:flex;flex-direction:column;justify-content:flex-start;align-self:start;width:100%;min-width:0;text-align:left;font:inherit;color:inherit;background:none;border:1px solid transparent;border-radius:10px;padding:.35rem;cursor:pointer}
.aim-cal__mini:hover,.aim-cal__mini:focus-visible{border-color:var(--aim-line);background:var(--aim-soft);outline:none}
.aim-cal__mini:focus-visible{box-shadow:0 0 0 2px var(--aim-accent)}
.aim-cal__mini-h{display:block;font-size:.82rem;font-weight:700;margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aim-cal__mini.is-now .aim-cal__mini-h{color:var(--aim-booked)}
.aim-cal__mini-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px}
.aim-cal__md{display:block;aspect-ratio:1;border-radius:3px;font-size:clamp(.45rem,1.9vw,.62rem);line-height:1;display:flex;align-items:center;justify-content:center;background:var(--aim-free-bg);color:var(--aim-free-ink);font-variant-numeric:tabular-nums}
.aim-cal__md.is-pad{background:none}
.aim-cal__md--option{background:var(--aim-option-bg);color:var(--aim-option-ink)}
.aim-cal__md--booked{background:var(--aim-booked-bg);color:var(--aim-booked-ink)}
.aim-cal__md.is-today{outline:1.5px solid var(--aim-accent);outline-offset:-1px;font-weight:700}
.aim-cal__md--hidden{background:var(--aim-line);color:var(--aim-muted)}
.aim-cal--mini .aim-cal__year{grid-template-columns:repeat(3,minmax(0,1fr))}
.aim-table-wrap+.aim-filter{margin-top:1rem} /* 0.4.25: filter below the artist list */
/* 0.4.26: phones – data tables with action buttons become stacked cards (all buttons visible, no sideways scrolling). Same markup, same order; labels come from the column headers (data-label, set by aim.js). */
@media (max-width:767px){
.aim-table-wrap:has(> .aim-artist-list,> .aim-eng-table,> .aim-eng-paytable){overflow-x:visible}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable),:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) :is(thead,tbody,tfoot,tr,td,tfoot th){display:block;width:auto}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) thead tr{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .6rem}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) thead th{display:none;border:0;padding:0}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) thead th:has(a){display:block}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) thead th a{display:inline-flex;align-items:center;min-height:36px;padding:.3rem .75rem;border:1px solid var(--aim-line);border-radius:999px;font-size:.85rem}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) thead th[aria-sort=ascending] a,:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) thead th[aria-sort=descending] a{border-color:var(--aim-accent);color:var(--aim-accent)}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) :is(tbody,tfoot) tr{margin:0 0 .75rem;padding:.55rem .8rem;border:1px solid var(--aim-line);border-radius:12px;background:var(--aim-bg)}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) tfoot tr{background:var(--aim-soft)}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) tr.is-overdue{background:color-mix(in srgb,var(--aim-booked) 8%,var(--aim-bg))}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) :is(td,tfoot th){display:flow-root;padding:.3rem 0 .3rem 7.2rem;border:0;text-align:left;overflow-wrap:anywhere;background:none!important}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) :is(td,tfoot th)::before{content:attr(data-label);float:left;width:6.6rem;margin:.1rem 0 0 -7.2rem;color:var(--aim-muted);font-size:.8rem;font-weight:600;line-height:1.3}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) :is(td,tfoot th):not([data-label]),:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) :is(td,tfoot th)[data-label=""]{display:block;padding-left:0}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) :is(td,tfoot th):not([data-label])::before,:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) :is(td,tfoot th)[data-label=""]::before{content:none}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) :is(td,tfoot th)[data-label=""]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem;padding-top:.6rem;border-top:1px solid var(--aim-line)}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) :is(td,tfoot th)[data-label=""] .aim-end-rep{margin:0}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) :is(td,tfoot th)[data-label=""] .aim-end-rep[open]{flex:1 1 100%}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) :is(td,tfoot th)[data-label=""] .aim-end-rep__form{max-width:none}
:is(.aim-artist-list,.aim-eng-table,.aim-eng-paytable) :is(td,tfoot th):first-child{font-size:1rem}
.aim-eng-paytable .aim-eng-paystatus{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.aim-eng-paytable .aim-eng-paystatus select{flex:1 1 8rem;min-width:0}
}
/* 0.4.26: the engagement list (9 columns) does not fit tablets either – cards up to 1023px */
@media (min-width:768px) and (max-width:1023px){
.aim-table-wrap:has(> .aim-eng-table){overflow-x:visible}
.aim-eng-table,.aim-eng-table :is(thead,tbody,tfoot,tr,td,tfoot th){display:block;width:auto}
.aim-eng-table thead tr{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .6rem}
.aim-eng-table thead th{display:none;border:0;padding:0}
.aim-eng-table thead th:has(a){display:block}
.aim-eng-table thead th a{display:inline-flex;align-items:center;min-height:36px;padding:.3rem .75rem;border:1px solid var(--aim-line);border-radius:999px;font-size:.85rem}
.aim-eng-table thead th[aria-sort=ascending] a,.aim-eng-table thead th[aria-sort=descending] a{border-color:var(--aim-accent);color:var(--aim-accent)}
.aim-eng-table :is(tbody,tfoot) tr{margin:0 0 .75rem;padding:.55rem .8rem;border:1px solid var(--aim-line);border-radius:12px;background:var(--aim-bg)}
.aim-eng-table tfoot tr{background:var(--aim-soft)}
.aim-eng-table tr.is-overdue{background:color-mix(in srgb,var(--aim-booked) 8%,var(--aim-bg))}
.aim-eng-table :is(td,tfoot th){display:flow-root;padding:.3rem 0 .3rem 7.2rem;border:0;text-align:left;overflow-wrap:anywhere;background:none!important}
.aim-eng-table :is(td,tfoot th)::before{content:attr(data-label);float:left;width:6.6rem;margin:.1rem 0 0 -7.2rem;color:var(--aim-muted);font-size:.8rem;font-weight:600;line-height:1.3}
.aim-eng-table :is(td,tfoot th):not([data-label]),.aim-eng-table :is(td,tfoot th)[data-label=""]{display:block;padding-left:0}
.aim-eng-table :is(td,tfoot th):not([data-label])::before,.aim-eng-table :is(td,tfoot th)[data-label=""]::before{content:none}
.aim-eng-table :is(td,tfoot th)[data-label=""]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem;padding-top:.6rem;border-top:1px solid var(--aim-line)}
.aim-eng-table :is(td,tfoot th)[data-label=""] .aim-end-rep{margin:0}
.aim-eng-table :is(td,tfoot th)[data-label=""] .aim-end-rep[open]{flex:1 1 100%}
.aim-eng-table :is(td,tfoot th)[data-label=""] .aim-end-rep__form{max-width:none}
.aim-eng-table :is(td,tfoot th):first-child{font-size:1rem}
}

/* 0.4.27: artist directory preview cards (/kuenstler/). Visual only – same markup, info and links.
 * Bug fix: square-framed photos carry width/height="600"; without height:auto the attribute won over aspect-ratio and
 * the photos rendered e.g. 157×600 px (long and narrow). Applies to every .aim-dcard (artists, casting list, organizers).
 * v2 (owner: "beide noch zu groß", chose variant A): 3 columns on phones, 4 from 640px, 6 from 1024px. */
.aim-dcard img,.aim-dcard .aim-avatar{height:auto}
/* Compact portrait cards (variant A), photo 1:1 (0.4.55), centre crop */
.aim-directory:not(.aim-agencies,.aim-organizers,.aim-casting-list){grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.aim-directory:not(.aim-agencies,.aim-organizers,.aim-casting-list) > li{display:flex;flex-direction:column;min-width:0;background:var(--aim-bg);border:1px solid var(--aim-line);border-radius:10px;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}
.aim-directory:not(.aim-agencies,.aim-organizers,.aim-casting-list) > li:hover{box-shadow:0 6px 18px rgba(20,33,61,.12);transform:translateY(-2px)}
.aim-directory:not(.aim-agencies,.aim-organizers,.aim-casting-list) .aim-dcard{gap:0;padding-bottom:.45rem}
.aim-directory:not(.aim-agencies,.aim-organizers,.aim-casting-list) .aim-dcard :is(img,.aim-avatar--lg){display:flex;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 50%;border-radius:0;margin:0 0 .4rem;font-size:1.6rem}
.aim-directory:not(.aim-agencies,.aim-organizers,.aim-casting-list) .aim-dcard img.aim-framed{object-position:50% 50%}
.aim-directory:not(.aim-agencies,.aim-organizers,.aim-casting-list) .aim-dcard strong{padding:0 .45rem;font-size:.8rem;font-weight:600;line-height:1.2;overflow-wrap:anywhere}
.aim-directory:not(.aim-agencies,.aim-organizers,.aim-casting-list) .aim-dcard .aim-muted{padding:0 .45rem;margin-top:.15rem;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.25}
.aim-directory:not(.aim-agencies,.aim-organizers,.aim-casting-list) > li > :is(.aim-request-btn,.aim-chat-btn){margin:auto .45rem .45rem;align-self:stretch;justify-content:center;text-align:center;font-size:.66rem;line-height:1.2;padding:.35em .4em;min-height:0}
@media (min-width:640px){.aim-directory:not(.aim-agencies,.aim-organizers,.aim-casting-list){grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}}
@media (min-width:1024px){.aim-directory:not(.aim-agencies,.aim-organizers,.aim-casting-list){grid-template-columns:repeat(6,minmax(0,1fr))}}
/* 0.4.29: calendar entry form as overlay (button at the top; <details> fallback without JS) */
.aim-cal-modal{margin:.25rem 0 1rem}
.aim-cal-modal>summary{list-style:none;display:inline-flex;align-items:center;cursor:pointer;min-height:44px}
.aim-cal-modal>summary::-webkit-details-marker{display:none}
.aim-cal-modal__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.aim-cal-modal__head .aim-h3{margin:0}
.aim-cal-modal__close{display:none}
.aim-cal-modal:not(.is-modal)[open] .aim-cal-modal__panel{margin-top:.75rem}
.aim-cal-modal.is-modal .aim-cal-modal__close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:44px;min-height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:inherit;font-size:1.9rem;line-height:1;cursor:pointer}
.aim-cal-modal.is-modal .aim-cal-modal__close:hover,.aim-cal-modal.is-modal .aim-cal-modal__close:focus-visible{background:rgba(20,33,61,.08)}
.aim-cal-modal.is-modal[open]::before{content:"";position:fixed;inset:0;z-index:99998;background:rgba(20,33,61,.55)}
.aim-cal-modal.is-modal[open] .aim-cal-modal__panel{position:fixed;z-index:99999;left:50%;top:50%;transform:translate(-50%,-50%);box-sizing:border-box;width:min(720px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:var(--aim-bg);color:var(--aim-ink);border-radius:14px;box-shadow:0 20px 60px rgba(20,33,61,.35);padding:0 1.25rem 1.25rem}
.aim-cal-modal.is-modal[open] .aim-cal-modal__head{position:sticky;top:0;z-index:2;background:var(--aim-bg);padding:.6rem 0;margin-bottom:.25rem;border-bottom:1px solid var(--aim-line)}
.aim-cal-modal.is-modal .aim-cal-modal__panel :is(input,select,textarea){max-width:100%;box-sizing:border-box}
.aim-cal-modal.is-modal .aim-cal-modal__panel:focus{outline:none}
html.aim-modal-open{overflow:hidden}
@media (max-width:599px){.aim-cal-modal.is-modal[open] .aim-cal-modal__panel{left:0;top:0;transform:none;width:100%;height:100%;height:100dvh;max-height:none;border-radius:0;padding:0 1rem 1.5rem}}
/* 0.4.30: upcoming lists – "10 weitere anzeigen" / "Alle anzeigen" */
.aim-page-ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:.75rem 0 0}
.aim-page-ctrl .aim-btn{min-height:44px;display:inline-flex;align-items:center}
.aim-page-status{flex-basis:100%}
[data-aim-page-list] li:focus{outline:2px solid var(--aim-accent);outline-offset:2px}
/* 0.4.32 agency page: one merged upcoming list (cards with red booked edge) + artist filter */
.aim-list__item[hidden],.aim-page-ctrl[hidden]{display:none}
.aim-agency-dates .aim-ev-filter{margin:0 0 .75rem}
.aim-agency-dates .aim-ev-filter label{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap;font-size:.92rem;max-width:100%}
.aim-agency-dates .aim-ev-filter select{min-height:44px;min-width:0;width:auto;max-width:100%;flex:1 1 12rem;padding:.4rem .6rem;border:1px solid var(--aim-line);border-radius:8px;background:var(--aim-bg);color:var(--aim-ink);font-size:1rem}
@media (min-width:700px){.aim-agency-dates .aim-ev-filter label{display:inline-flex}.aim-agency-dates .aim-ev-filter select{flex:0 0 18rem}}
.aim-agency-dates__list .aim-list__item{grid-template-columns:1fr}
.aim-anchor{display:block;position:relative;top:-1px;height:0;overflow:hidden}
/* 0.4.33: upload progress (all upload forms, avatar, chat attachments) */
.aim-up{margin:.6rem 0;padding:.6rem .75rem;border:1px solid var(--aim-line);border-radius:10px;background:var(--aim-soft);font-size:.95rem}
.aim-up__row{display:flex;align-items:center;gap:.55rem;font-weight:600;color:var(--aim-ink)}
.aim-up__spin{flex:0 0 auto;width:1.05rem;height:1.05rem;border-radius:50%;border:2.5px solid color-mix(in srgb,var(--aim-accent) 22%,transparent);border-top-color:var(--aim-accent);animation:aim-up-spin .8s linear infinite}
.aim-up__bar{margin-top:.5rem;height:.55rem;border-radius:999px;background:color-mix(in srgb,var(--aim-accent) 12%,var(--aim-bg));overflow:hidden}
.aim-up__fill{display:block;height:100%;width:0;border-radius:inherit;background:var(--aim-accent);transition:width .2s ease}
.aim-up.is-prep .aim-up__fill{width:35%!important;animation:aim-up-indet 1.1s ease-in-out infinite}
.aim-up.is-done{border-color:color-mix(in srgb,var(--aim-free) 45%,var(--aim-bg));background:color-mix(in srgb,var(--aim-free) 10%,var(--aim-bg))}
.aim-up.is-done .aim-up__row{color:var(--aim-free)}.aim-up.is-done .aim-up__fill{background:var(--aim-free)}
.aim-up.is-done .aim-up__spin,.aim-up.is-err .aim-up__spin{display:none}
.aim-up.is-err{border-color:var(--aim-booked-line);background:var(--aim-booked-bg)}
.aim-up.is-err .aim-up__row{color:var(--aim-booked-ink);font-weight:600}
.aim-up__files{list-style:none;margin:.5rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.5rem}
.aim-up__file{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.aim-up__thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--aim-soft);border:1px solid var(--aim-line);font-weight:700;font-size:.8rem;color:var(--aim-muted)}
.aim-up__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.aim-up__name{font-size:.75rem;color:var(--aim-muted);overflow-wrap:anywhere;line-height:1.25}
.aim-up__note{color:var(--aim-ink)}
.aim-up__file.is-busy .aim-up__thumb::after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--aim-bg) 55%,transparent)}
.aim-up__file.is-busy .aim-up__thumb::before{content:"";position:absolute;z-index:1;width:1.6rem;height:1.6rem;border-radius:50%;border:3px solid color-mix(in srgb,var(--aim-accent) 25%,transparent);border-top-color:var(--aim-accent);animation:aim-up-spin .8s linear infinite}
.aim-up__file.is-done .aim-up__thumb::before{content:"✓";position:absolute;right:.3rem;bottom:.3rem;z-index:1;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--aim-free);color:var(--aim-on-accent);font-size:.85rem;display:flex;align-items:center;justify-content:center}
.aim-up__file.is-err .aim-up__thumb{border-color:var(--aim-booked)}
.aim-up__file.is-err .aim-up__thumb::before{content:"!";position:absolute;right:.3rem;bottom:.3rem;z-index:1;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--aim-booked);color:var(--aim-on-accent);font-size:.85rem;display:flex;align-items:center;justify-content:center}
form.is-uploading button[disabled]{opacity:.6;cursor:progress}
.aim-avatar-box__up.is-disabled{opacity:.55;pointer-events:none}
.aim-up--chat{margin:.4rem .5rem}
@keyframes aim-up-spin{to{transform:rotate(360deg)}}
@keyframes aim-up-indet{0%{transform:translateX(-100%)}100%{transform:translateX(290%)}}
@media (prefers-reduced-motion:reduce){.aim-up__spin,.aim-up__file.is-busy .aim-up__thumb::before{animation-duration:2.4s}.aim-up.is-prep .aim-up__fill{animation:none}}
/* 0.4.33: press photos (full-resolution downloads) */
.aim-press{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--aim-line)}
.aim-press__list,.aim-press__queue{list-style:none;margin:.75rem 0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.aim-press__item,.aim-press__qi{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.75rem;align-items:start;padding:.6rem;border:1px solid var(--aim-line);border-radius:12px;background:var(--aim-bg)}
.aim-press__thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--aim-soft);font-weight:700;font-size:.8rem;color:var(--aim-muted)}
.aim-press__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.aim-press__meta{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0}
.aim-press__name{font-weight:600;overflow-wrap:anywhere;line-height:1.3}
.aim-press__meta .aim-up{align-self:stretch;margin:.2rem 0 0}
.aim-press__dl{min-height:44px;display:inline-flex;align-items:center}
.aim-press__del{margin:0}
.aim-press__all .aim-btn{min-height:44px;display:inline-flex;align-items:center}
.aim-press__vis .aim-check{display:flex;gap:.5rem;align-items:flex-start;margin:.35rem 0}
.aim-press__qi.is-done{border-color:color-mix(in srgb,var(--aim-free) 45%,var(--aim-bg))}
.aim-press__qi.is-err{border-color:var(--aim-booked-line)}
/* 0.4.33: busy action buttons + confirmation toast (fixed at the top, visible on phones without scrolling) */
.aim-btn.is-busy,button.is-busy{cursor:progress;opacity:.85;display:inline-flex;align-items:center;gap:.45rem}
.aim-btn__spin{width:1em;height:1em;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;flex:none;animation:aim-up-spin .7s linear infinite}
.aim-toasts{position:fixed;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top,0px) + .75rem);z-index:100000;width:min(92vw,30rem);display:flex;flex-direction:column;gap:.5rem;pointer-events:none}
.aim-toast{pointer-events:none;display:flex;align-items:flex-start;gap:.6rem;padding:.75rem .85rem .75rem 1rem;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.22);font:600 1rem/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--aim-on-accent);opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s}
.aim-toast.is-in{opacity:1;transform:none}
.aim-toast--success{background:var(--aim-free)}
.aim-toast--error{background:var(--aim-booked)}
.aim-toast__txt{flex:1;min-width:0;overflow-wrap:anywhere}
.aim-toast__x{pointer-events:auto;flex:none;background:transparent;border:0;color:inherit;font-size:1.05rem;line-height:1;min-width:32px;min-height:32px;margin:-.35rem -.3rem -.35rem 0;cursor:pointer;border-radius:8px}
.aim-toast__x:focus-visible{outline:2px solid var(--aim-on-accent)}
@media (prefers-reduced-motion:reduce){.aim-toast{transition:none}.aim-btn__spin{animation-duration:2s}}
/* 0.4.34 fan dashboard: separate cards "Search artists" (Search tab) and "Edit profile" (Account tab) */
.aim-fan-box{border:1px solid var(--aim-line);border-radius:var(--aim-r);padding:1rem;margin:1rem 0;background:var(--aim-bg)}
.aim-fan-box>.aim-h3:first-child{margin-top:0}
.aim-fan-results,.aim-fan-box{scroll-margin-top:5rem}
.aim-fan-results:focus{outline:none}
.aim-fan-editlink{margin:.25rem 0 0}
/* 0.4.35: organizer "Meine Veranstaltungen" cards on phones – full width, stacked: title, status pill, date · venue · city,
   artists, organizer line, then the buttons (Bearbeiten + Löschen side by side; "Als Veranstalter freigeben" on its own row). Desktop unchanged. */
@media (max-width:600px){
	.aim-events > .aim-list__item.aim-event{display:flex;flex-direction:column;align-items:stretch;gap:.7rem}
	.aim-events > .aim-event > div:first-child{min-width:0;width:100%;overflow-wrap:anywhere}
	.aim-events > .aim-event > div:first-child > strong:first-child{display:block;font-size:1.05rem;line-height:1.3;margin-bottom:.3rem}
	.aim-events > .aim-event .aim-event__st{display:inline-block;max-width:100%;white-space:normal;border-radius:1rem;line-height:1.35;padding:.15rem .6rem;margin-bottom:.35rem;overflow-wrap:normal}
	.aim-events > .aim-event > .aim-actions{width:100%;margin-left:0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
	.aim-events > .aim-event > .aim-actions > .aim-ev-editlink{order:1}
	.aim-events > .aim-event > .aim-actions > .aim-ev-delform{order:2}
	.aim-events > .aim-event > .aim-actions > form.aim-inline:not(.aim-ev-delform){order:3;flex-basis:100%}
	.aim-events > .aim-event > .aim-actions > form.aim-inline:not(.aim-ev-delform) .aim-btn{width:100%;white-space:normal}
	.aim-events > .aim-event > div:first-child > .aim-muted{display:block;font-size:.9rem;line-height:1.4}
	.aim-events > .aim-event .aim-ev-delete{border-color:var(--aim-booked);color:var(--aim-booked)!important;background:transparent}
}
/* 0.4.36: artist sort control („Sortieren: Standard · Name · Fach“) – small, unobtrusive, one line also on phones */
.aim-sortctl{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:.15rem .4rem;margin:.25rem 0 .5rem;font-size:.78rem;line-height:1.4;color:var(--aim-muted)}
.aim-sortctl__l{text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}
.aim-sortctl__sep{opacity:.5}
.aim-sortctl__o{color:var(--aim-muted)!important;text-decoration:none!important;padding:.2rem .1rem;border-bottom:1px solid transparent;min-height:24px}
.aim-sortctl__o:hover,.aim-sortctl__o:focus-visible{color:var(--aim-accent)!important;border-bottom-color:var(--aim-line)}
.aim-sortctl__o.is-active{color:var(--aim-accent)!important;font-weight:600;border-bottom-color:var(--aim-accent-2)}
.aim-sortctl+.aim-directory,.aim-sortctl+.aim-roster{margin-top:0}
/* 0.4.36: agency backend "Reihenfolge" */
.aim-order{margin:1rem 0;padding:.75rem 1rem}.aim-order .aim-order__modes{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.aim-order>summary{cursor:pointer}
.aim-order__modes{margin:.5rem 0}
.aim-order__list{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.aim-order__item{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border:1px solid var(--aim-line);border-radius:8px;background:var(--aim-bg)}
.aim-order__item.is-drag{box-shadow:0 6px 18px rgba(20,33,61,.18);border-color:var(--aim-accent-2)}
.aim-order__grip{cursor:grab;touch-action:none;user-select:none;color:var(--aim-muted);padding:.4rem .1rem;letter-spacing:-.3em;width:1.1rem;flex:none;overflow:hidden}
.aim-form .aim-order__n,.aim-order .aim-order__n{width:2.7rem!important;min-width:0;flex:none;padding:.3rem .3rem;margin:0;text-align:center}
.aim-order__name{flex:1;min-width:0;overflow-wrap:break-word;line-height:1.25}.aim-order__name .aim-muted{display:block}
.aim-order__btns{display:flex;gap:.2rem;flex:none}.aim-order__btns .aim-btn{min-width:36px;min-height:36px;padding:0 .4rem;justify-content:center}
@media (max-width:480px){.aim-order{padding:.6rem .5rem;margin-left:-.25rem;margin-right:-.25rem}.aim-order__item{gap:.35rem;padding:.3rem .35rem}.aim-order__btns{flex-direction:column}.aim-order__btns .aim-btn{min-height:32px}}
/* 0.4.36: agency "Künstlerliste" – compact rows, "Mehr ▾" expands in place (details/summary); compact sort pills in one scrollable row */
.aim-alist__sort{display:flex;align-items:center;gap:.35rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 0 .5rem;padding:.1rem 0 .2rem;white-space:nowrap}
.aim-alist__sort::-webkit-scrollbar{display:none}
.aim-alist__sort .aim-sortctl__l{flex:none;color:var(--aim-muted)}
.aim-alist__pill{flex:none;display:inline-flex;align-items:center;min-height:30px;padding:.15rem .6rem;border:1px solid var(--aim-line);border-radius:999px;font-size:.78rem;color:var(--aim-ink)!important;text-decoration:none!important;background:var(--aim-bg)}
.aim-alist__pill.is-active{border-color:var(--aim-accent);color:var(--aim-accent)!important;font-weight:600}
.aim-alist{list-style:none;margin:0 0 1rem;padding:0;border:1px solid var(--aim-line);border-radius:10px;overflow:hidden;background:var(--aim-bg)}
.aim-alist__item+.aim-alist__item{border-top:1px solid var(--aim-line)}
.aim-alist__sum{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;min-height:44px;cursor:pointer;list-style:none}
.aim-alist__sum::-webkit-details-marker{display:none}
.aim-alist__sum:hover{background:var(--aim-soft)}
.aim-alist__sum:focus-visible{outline:2px solid var(--aim-accent-2);outline-offset:-2px}
.aim-alist__who{flex:1;min-width:0;line-height:1.25;overflow-wrap:anywhere}
.aim-alist__who strong{font-weight:600}
.aim-alist__fach{flex:none;max-width:38%;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--aim-muted);text-align:right;overflow-wrap:anywhere}
.aim-alist__more{flex:none;font-size:.75rem;color:var(--aim-muted);white-space:nowrap}
.aim-alist__row[open]>.aim-alist__sum{background:var(--aim-soft)}
.aim-alist__row[open]>.aim-alist__sum .aim-alist__more{color:var(--aim-accent)}
.aim-alist__dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .9rem;margin:0;padding:.55rem .75rem .2rem}
.aim-alist__dl dt{font-size:.72rem;color:var(--aim-muted);font-weight:600}
.aim-alist__dl dd{margin:0}
.aim-alist__dl>div:last-child{grid-column:1/-1}
.aim-alist__acts{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .75rem .7rem}
.aim-alist__acts .aim-btn{min-height:44px;display:inline-flex;align-items:center}.aim-alist__acts .aim-end-rep{margin:0}.aim-alist__acts .aim-end-rep[open]{flex:1 1 100%}
.aim-alist__empty{padding:.7rem .75rem;color:var(--aim-muted)}
@media (min-width:768px){.aim-alist__dl{grid-template-columns:repeat(4,minmax(0,1fr))}.aim-alist__dl>div:last-child{grid-column:auto}.aim-alist__fach{max-width:none;min-width:9rem;text-align:left}}
/* 0.4.37 dossier selection form */
.aim-dossier__bulk{display:flex;flex-wrap:wrap;gap:.5rem;margin:.25rem 0 1rem}
.aim-dossier .aim-fieldset{display:grid;grid-template-columns:1fr;gap:.35rem .75rem}
@media (min-width:700px){.aim-dossier .aim-fieldset{grid-template-columns:1fr 1fr}}
.aim-dossier .aim-fieldset legend{grid-column:1/-1}
.aim-dossier label.aim-check{padding:.45rem .1rem;min-height:44px;align-items:center;word-break:break-word}
.aim-dossier .aim-check input{margin-top:0;flex:0 0 auto}
.aim-dossier__hint{color:var(--aim-booked-ink);background:var(--aim-booked-bg);border-left:3px solid var(--aim-booked);padding:.4rem .6rem;margin:.25rem 0}
.aim-dossier .aim-form__foot{display:flex;flex-wrap:wrap;gap:.5rem}
.aim-dossier .aim-btn.is-busy{opacity:.75}
@media (max-width:480px){.aim-dossier .aim-form__foot .aim-btn{flex:1 1 100%;text-align:center}}

/* 0.4.38: the page loader (.aim-boot) is styled by the inline critical CSS (AIM_Boot::css) */
/* 0.4.38 calendar: private "on request", engagement period span, detail view, iOS date fields */
.aim-dot--ask{background:repeating-linear-gradient(135deg,var(--aim-option) 0 3px,var(--aim-bg) 3px 5px);box-shadow:inset 0 0 0 1px var(--aim-option)}
.aim-cal__day--ask,.aim-cal__md--ask{background:repeating-linear-gradient(135deg,var(--aim-option-bg) 0 5px,var(--aim-bg) 5px 9px);color:var(--aim-option-ink);box-shadow:inset 0 0 0 1px var(--aim-option)}
.aim-cal__day.is-period{box-shadow:inset 0 -3px 0 var(--aim-accent);border-radius:0}
.aim-cal__day.is-pstart{border-top-left-radius:6px;border-bottom-left-radius:6px}
.aim-cal__day.is-pend{border-top-right-radius:6px;border-bottom-right-radius:6px}
.aim-cal-view>summary{display:none}
.aim-cal-view__dl{display:grid;grid-template-columns:minmax(7rem,38%) 1fr;gap:.35rem .75rem;margin:.5rem 0 1rem}
.aim-cal-view__dl dt{color:var(--aim-muted);font-size:.9rem}
.aim-cal-view__dl dd{margin:0;overflow-wrap:anywhere}
.aim-cal-view__in a{display:block;text-decoration:none;color:inherit;padding:.2rem 0}
.aim-cal-entry__open{color:inherit;text-decoration:none}
.aim-cal-entry__open:hover strong,.aim-cal-entry__open:focus-visible strong{text-decoration:underline}
.aim-avail-switch label{display:flex;align-items:center;gap:.45rem}
.aim-grid3>*,.aim-grid2>*{min-width:0}
.aim input[type=date],.aim input[type=time]{width:100%;max-width:100%;min-width:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;display:block;min-height:2.75rem}
.aim input[type=date]::-webkit-date-and-time-value,.aim input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0}
@media (max-width:420px){.aim-cal-view__dl{grid-template-columns:1fr}.aim-cal-view__dl dt{margin-top:.35rem}}
/* 0.4.38 chat: always visible "⋯" on own messages + action sheet (long-press / tap) */
.aim-msg__more{font:inherit;font-size:1.05rem;font-weight:700;line-height:1;background:color-mix(in srgb,currentColor 12%,transparent);border:0;padding:0 .35rem;margin:-.25rem -.3rem -.25rem .1rem;color:inherit;cursor:pointer;border-radius:999px;min-width:32px;min-height:28px;letter-spacing:.05em}
.aim-chat:not(.aim-chat--js) .aim-msg__more{display:none}
@media (pointer:coarse){.aim-msg__more{min-width:40px;min-height:34px}}
.aim-msg.is-picked{outline:2px solid var(--aim-accent-2);outline-offset:2px}
.aim-msg--mine{-webkit-touch-callout:none}
.aim-sheet{position:fixed;inset:0;z-index:100003;background:rgba(0,0,0,.35);display:flex;align-items:flex-end;justify-content:center}
.aim-sheet__panel{width:min(100%,28rem);padding:.6rem .75rem calc(env(safe-area-inset-bottom,0px) + .75rem);display:flex;flex-direction:column;gap:.5rem}
.aim-sheet__btn{font:inherit;font-size:1.05rem;font-weight:600;min-height:52px;border:0;border-radius:14px;background:var(--aim-bg);color:var(--aim-accent);cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.18)}
.aim-sheet__btn--danger{color:var(--aim-booked)}
.aim-sheet__q{margin:0;padding:.85rem 1rem;border-radius:14px;background:var(--aim-bg);color:var(--aim-text,inherit);font-size:.95rem;line-height:1.4;box-shadow:0 4px 18px rgba(0,0,0,.18)}
/* 0.4.38: back button (top left, 44px tap target) */
.aim-back{display:inline-flex;align-items:center;gap:.3rem;min-height:44px;min-width:44px;padding:0 .9rem 0 .6rem;margin:0 0 .6rem;border-radius:999px;border:1px solid var(--aim-line);background:var(--aim-bg);color:var(--aim-accent);font-weight:600;font-size:1rem;text-decoration:none;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.aim-back .aim-back__arrow{font-size:1.5rem;line-height:1;margin-top:-.15em}
.aim-back:hover,.aim-back:focus-visible{border-color:var(--aim-accent-2);text-decoration:none}
body>.aim-back{position:relative;margin:.5rem .75rem}
/* 0.4.38: searched period banner on the profile calendar */
.aim-sought{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .6rem;padding:.7rem .8rem;margin:0 0 .75rem;border-radius:12px;border:1px solid var(--aim-accent-2);background:color-mix(in srgb,var(--aim-accent-2) 12%,var(--aim-bg))}
.aim-sought>span:nth-child(2){flex:1 1 12rem;min-width:0}
.aim-sought__x{font:inherit;font-size:1.3rem;line-height:1;min-width:44px;min-height:44px;border:0;background:none;color:inherit;cursor:pointer;margin:-.5rem -.5rem -.5rem 0}
.aim-sought__req{flex:1 1 100%;min-height:44px;justify-content:center;text-align:center}
.aim-sought-modal:not([open])>.aim-cal-modal__panel{display:none}
.aim-cal.has-sought:not(.is-sought-off) .aim-cal__day.is-sel{outline:2px solid var(--aim-accent-2);outline-offset:-2px;font-weight:700}
/* 0.4.38 header order: profile · language · menu (burger far right) */
.aim-me{margin-left:0;margin-right:.6rem;order:0}
.wp-block-navigation .aim-langsw{order:-1;margin-right:.5rem}
.wp-block-navigation__responsive-container-open{order:1}
/* 0.4.38: search results in the compact aim-alist rows */
.aim-results--compact{padding:0}
.aim-results--compact .aim-result{display:block;padding:0}
.aim-chip{flex:none;font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;white-space:nowrap;border:1px solid transparent}
.aim-chip--free{background:color-mix(in srgb,var(--aim-free) 18%,transparent);color:var(--aim-ink)}
.aim-chip--partly{background:color-mix(in srgb,var(--aim-option) 25%,transparent);color:var(--aim-ink)}
.aim-chip--booked{background:color-mix(in srgb,var(--aim-booked) 20%,transparent);color:var(--aim-ink)}
.aim-chip--ask{background:repeating-linear-gradient(135deg,var(--aim-soft) 0 4px,transparent 4px 8px);border-color:var(--aim-line);color:var(--aim-ink)}
.aim-result__x{display:flex;gap:.75rem;padding:.5rem .75rem .8rem;align-items:flex-start}
.aim-result__x .aim-result__img img,.aim-result__x .aim-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover}
.aim-result__x .aim-result__body{display:flex;flex-direction:column;gap:.3rem;min-width:0;flex:1}
.aim-result__x .aim-result__btns{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem}
@media (max-width:480px){.aim-results--compact .aim-alist__fach{display:none}}
/* 0.4.53: "Abmelden" – small ghost pill with a fine door-arrow line icon (mask, takes the text colour). Header menu item (.aim-nav-logout) and in-page links (.aim-logout) share it. */
.aim-logout,.wp-block-navigation .aim-nav-logout a,.wp-block-navigation .aim-nav-logout .wp-block-navigation-item__content{display:inline-flex;align-items:center;gap:.4rem;box-sizing:border-box;min-height:36px;padding:.25rem .8rem;border:1px solid var(--aim-line);border-radius:999px;background:transparent;color:var(--aim-muted)!important;font-size:.85rem!important;font-weight:500;line-height:1.2;text-decoration:none!important;cursor:pointer;transition:border-color .15s,color .15s}
.aim-logout::before,.wp-block-navigation .aim-nav-logout a::before,.wp-block-navigation .aim-nav-logout .wp-block-navigation-item__content::before{content:"";flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4H6a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h4M15 8l4 4-4 4M19 12H9'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4H6a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h4M15 8l4 4-4 4M19 12H9'/%3E%3C/svg%3E") center/contain no-repeat}
.aim-logout:hover,.aim-logout:focus-visible,.wp-block-navigation .aim-nav-logout a:hover,.wp-block-navigation .aim-nav-logout a:focus-visible{border-color:var(--aim-accent-2);color:var(--aim-ink)!important}
.aim-logout:focus-visible,.wp-block-navigation .aim-nav-logout a:focus-visible{outline:2px solid var(--aim-accent-2);outline-offset:2px}
.wp-block-navigation .aim-nav-logout{margin-top:.4rem}
@media (max-width:599px),(pointer:coarse){.aim-logout,.wp-block-navigation .aim-nav-logout a,.wp-block-navigation .aim-nav-logout .wp-block-navigation-item__content{min-height:44px;padding:.3rem 1rem}}
@media (min-width:600px){.wp-block-navigation:not(.is-menu-open) .aim-nav-logout{margin:0 0 0 .3rem}}
.wp-block-navigation__responsive-container.is-menu-open .aim-nav-logout a,.wp-block-navigation__responsive-container.is-menu-open .aim-nav-logout .wp-block-navigation-item__content{padding:.3rem 1rem!important;min-height:44px;width:auto}
/* 0.4.38: conversation "⋯" */
.aim-chat__convs li[data-conv]{position:relative;display:flex;align-items:center}
.aim-chat__convs li[data-conv]>a{flex:1;min-width:0}
.aim-chat__cmore{flex:none;font:inherit;font-size:1.1rem;font-weight:700;min-width:44px;min-height:44px;border:0;background:none;color:var(--aim-muted);cursor:pointer;border-radius:999px}
.aim-chat__cmore:hover,.aim-chat__cmore:focus-visible{background:var(--aim-soft);color:var(--aim-ink)}
.aim-chat__convs li[data-conv]{-webkit-touch-callout:none}
/* 0.4.38: shared day panel */
.aim-day{background:var(--aim-bg);border-radius:16px 16px 0 0;box-shadow:0 -6px 24px rgba(0,0,0,.18);max-height:75vh;overflow:auto;gap:.6rem}
.aim-day__head{display:flex;align-items:center;justify-content:space-between;font-size:1.1rem}
.aim-day__x{font:inherit;font-size:1.4rem;min-width:44px;min-height:44px;border:0;background:none;cursor:pointer;color:inherit}
.aim-day__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}
.aim-day__item{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .7rem;border:1px solid var(--aim-line);border-radius:12px;color:inherit;text-decoration:none;min-height:44px}
a.aim-day__item:hover{border-color:var(--aim-accent-2)}
.aim-day__item .aim-dot{margin-top:.35rem;flex:none}
.aim-day__txt{flex:1;min-width:0}
.aim-day__none{margin:.2rem 0}
.aim-day__add{min-height:44px}
.aim-fancal__day[data-date]{cursor:pointer}
/* 0.4.38: artist page – next/last performances near the top, bio collapsed to ~3 lines */
.aim-top-dates{display:grid;grid-template-columns:1fr;gap:0 1.25rem}
@media (min-width:782px){.aim-top-dates{grid-template-columns:1fr 1fr}}
.aim-top-dates__col .aim-gigs{margin:0}
.aim-bio__txt.is-clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.aim-bio__txt.is-clamped p{margin:0 0 .4em}
.aim-bio__more{font:inherit;background:none;border:0;padding:.4rem 0;min-height:44px;color:var(--aim-accent);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
/* 0.4.38/0.4.55: compact artist header (square photo, centre crop) – small photo beside the name on phones, moderate on desktop */
.aim-profile .aim-profile__head{flex-direction:row;align-items:flex-start;gap:.9rem;margin:.5rem 0 1rem}
.aim-profile__photolink{flex:none;display:block;border-radius:var(--aim-r);overflow:hidden;line-height:0}
.aim-profile .aim-profile__photo{width:132px;max-width:none;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 50%;border-radius:var(--aim-r);display:block}
.aim-profile .aim-profile__head>div{min-width:0;flex:1}
.aim-profile .aim-profile__head .aim-h{font-size:clamp(1.35rem,5.5vw,2rem);margin:.1rem 0 .2rem;overflow-wrap:anywhere}
.aim-profile .aim-profile__head .aim-lead{margin:0 0 .35rem;font-size:1rem}
.aim-profile .aim-profile__head p{margin:.2rem 0}
@media (min-width:782px){.aim-profile .aim-profile__head{align-items:flex-end;gap:1.5rem}.aim-profile .aim-profile__photo{width:min(320px,30vw)}}
.aim-zoombox{position:fixed;inset:0;z-index:100002;background:rgba(8,10,14,.92);display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 3rem) .75rem 1rem}
.aim-zoombox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}
.aim-zoombox button{position:absolute;top:calc(env(safe-area-inset-top,0px) + .5rem);right:.5rem;min-width:44px;min-height:44px;font-size:1.6rem;border:0;border-radius:999px;background:rgba(255,255,255,.15);color:var(--aim-bg);cursor:pointer}
/* 0.4.38: while a modal / sheet is open the back button floats above it (it closes the modal first) */
html.aim-modal-open .aim-back,body:has(.aim-sheet) .aim-back,body:has(.aim-cal-modal[open]) .aim-back{position:fixed;top:calc(env(safe-area-inset-top,0px) + .5rem);left:.5rem;z-index:100004;margin:0;box-shadow:0 2px 10px rgba(0,0,0,.2)}
@media (max-width:599px){body:has(.aim-back) .aim-cal-modal.is-modal[open] .aim-cal-modal__head{padding-left:6.75rem;min-height:44px}} /* 0.4.39: the fixed back button no longer covers the modal title */
.is-layout-flex>.aim-me{margin-right:.625rem} /* 0.4.39: header avatar ↔ language pill gap (WP block gap reset had set it to 0) */
/* 0.4.40: compact search hits – first dates, rest expandable; calendar button in the row */
.aim-perf-more>summary{cursor:pointer;color:var(--aim-accent);font-weight:600;font-size:.9rem;min-height:44px;display:flex;align-items:center;list-style:none}
.aim-perf-more>summary::-webkit-details-marker{display:none}
.aim-perf-more>summary::after{content:" ▾";margin-left:.3rem}.aim-perf-more[open]>summary::after{content:" ▴"}
.aim-perf-more[open]>summary .aim-perf-more__show,.aim-perf-more:not([open])>summary .aim-perf-more__less{display:none}
.aim-perf-more>.aim-perf{margin-top:0}
.aim-alist__sum .aim-calbtn{flex:none;min-height:36px;white-space:nowrap}
/* 0.4.41: performance marker on calendar days + legend chip */
.aim-cal__day.has-perf{position:relative;overflow:hidden}
.aim-cal__perf{position:absolute;top:0;right:0;width:12px;height:12px;background:linear-gradient(225deg,var(--aim-accent) 50%,transparent 50%);border-top-right-radius:inherit;pointer-events:none}
.aim-dot--perf{background:linear-gradient(225deg,var(--aim-accent) 50%,transparent 50%)!important;width:10px;height:10px;border-radius:0 3px 0 0;box-shadow:inset 0 0 0 1px transparent}
/* 0.4.43: delete for me / select mode */
.aim-chat__back,.aim-chat__hmore{display:none}
.aim-chat__selbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem .6rem;background:var(--aim-chat-bar);border:2px solid var(--aim-chat-field-line);border-radius:0 0 12px 12px}
.aim-chat__selbar[hidden]{display:none}
.aim-chat__selcount{flex:1;font-weight:600}
.aim-chat.is-selecting .aim-chat__send,.aim-chat.is-selecting .aim-chat__typing{display:none}
.aim-chat.is-selecting .aim-msg{cursor:pointer;-webkit-user-select:none;user-select:none}
.aim-chat.is-selecting .aim-msg__more{visibility:hidden}
.aim-chat.is-selecting .aim-msg::before{content:"";position:absolute;top:50%;width:22px;height:22px;margin-top:-11px;border:2px solid var(--aim-muted);border-radius:50%;background:var(--aim-bg);left:-30px}
.aim-chat.is-selecting .aim-msg--mine::before{left:auto;right:calc(100% + 8px)}
.aim-chat.is-selecting .aim-msg:not(.aim-msg--mine){margin-left:34px}
.aim-chat.is-selecting .aim-msg.is-sel::before{background:var(--aim-accent);border-color:var(--aim-accent);box-shadow:inset 0 0 0 3px var(--aim-bg)}
.aim-chat.is-selecting .aim-msg.is-sel{outline:3px solid var(--aim-chat-ring);outline-offset:1px}
/* 0.4.43: phone – an open conversation is shown full-screen (WhatsApp-like); desktop unchanged */
@media (max-width:700px){
	.aim-chat--fs .aim-chat__main{position:fixed;inset:0;z-index:100001;display:flex;flex-direction:column;height:var(--aim-vvh,100dvh);background:var(--aim-bg);padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) 0 env(safe-area-inset-left,0px);margin:0}
	@supports (height:100dvh){.aim-chat--fs .aim-chat__main{height:var(--aim-vvh,100dvh)}}
	.aim-chat--fs .aim-chat__head{position:relative;flex:0 0 auto;flex-wrap:nowrap;margin:0;padding:.4rem .5rem;background:var(--aim-chat-bar);border-bottom:1px solid var(--aim-line)}
	.aim-chat--fs .aim-chat__head>strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem}
	.aim-chat--fs .aim-chat__back{display:inline-flex;align-items:center;gap:.2rem;min-height:44px;padding:0 .6rem 0 .3rem;font-weight:600;color:var(--aim-accent);text-decoration:none;flex:0 0 auto}
	.aim-chat--fs .aim-chat__back .aim-chat__back-arrow{font-size:1.6rem;line-height:1}
	.aim-chat--fs .aim-chat__back .aim-chat__back-label{white-space:nowrap}
	.aim-chat--fs .aim-chat__back:hover,.aim-chat--fs .aim-chat__back:focus-visible{text-decoration:none}
	.aim-chat--fs .aim-chat__back:hover .aim-chat__back-label,.aim-chat--fs .aim-chat__back:focus-visible .aim-chat__back-label{text-decoration:underline;text-underline-offset:.15em} /* 0.4.65 */
	.aim-chat--fs .aim-chat__hmore{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font:inherit;font-size:1.3rem;font-weight:700;border:0;border-radius:999px;background:transparent;color:var(--aim-ink);cursor:pointer;flex:0 0 auto}
	.aim-chat--fs .aim-chat__head>.aim-actions{display:none}
	.aim-chat--fs .aim-chat__head.is-menu>.aim-actions{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;position:absolute;top:100%;right:.5rem;z-index:5;min-width:14rem;max-width:calc(100vw - 1rem);padding:.6rem;background:var(--aim-bg);border:1px solid var(--aim-line);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
	.aim-chat--fs .aim-chat__head.is-menu>.aim-actions .aim-btn,.aim-chat--fs .aim-chat__head.is-menu>.aim-actions form,.aim-chat--fs .aim-chat__head.is-menu>.aim-actions summary{width:100%;min-height:44px}
	.aim-chat--fs .aim-chat__main>.aim-notice,.aim-chat--fs .aim-chat__main>.aim-actions{margin:.75rem}
	.aim-chat--fs .aim-chat__msgs{flex:1 1 auto;height:auto!important;min-height:0!important;max-height:none!important;border-radius:0!important;border-inline:0!important;overflow-y:auto;-webkit-overflow-scrolling:touch}
	.aim-chat--fs .aim-chat__send,.aim-chat--fs .aim-chat__selbar{flex:0 0 auto;position:static!important;border-radius:0!important;border-inline:0!important;padding-bottom:max(.6rem,env(safe-area-inset-bottom))!important}
	html.aim-chat-fs,html.aim-chat-fs body{overflow:hidden;overscroll-behavior:none}
	html.aim-chat-fs .aim-back{display:none!important}
}
/* 0.4.44: iPhone keyboard – page locked behind the full-screen chat, overlay follows the visual viewport (JS), nothing behind visible */
@media (max-width:700px){
	html.aim-chat-fs-lock,html.aim-chat-fs-lock body{overflow:hidden!important;overscroll-behavior:none;height:100%}
	html.aim-chat-fs-lock .aim-chat--fs>.aim-chat__list,html.aim-chat-fs-lock .aim-chat--fs>.aim-chat__bar{display:none!important}
	.aim-chat--fs .aim-chat__main{overscroll-behavior:contain;overflow:hidden;will-change:top,height}
	.aim-chat--fs .aim-chat__msgs{overscroll-behavior:contain;touch-action:pan-y}
	.aim-chat--fs .aim-chat__send textarea{font-size:16px!important}
}
/* 0.4.46 team calendars */
.aim-teamcal__sw{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1rem}
.aim-teamcal__chip{display:inline-flex;align-items:center;min-height:44px;padding:.35rem .85rem;border:1px solid var(--aim-line);border-radius:999px;background:var(--aim-bg);color:var(--aim-ink);text-decoration:none;font-size:.9rem}
.aim-teamcal__chip.is-active{background:var(--aim-accent);border-color:var(--aim-accent);color:var(--aim-on-accent)}
.aim-teamcal ul.aim-teamcal__list{list-style:none;margin:0 0 1rem;padding:0}
.aim-teamcal__list li{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:baseline;padding:.6rem .75rem;border:1px solid var(--aim-line);border-radius:var(--aim-r);margin-bottom:.4rem;background:var(--aim-bg)}
.aim-teamcal__list li.is-busy{background:var(--aim-soft);color:var(--aim-muted);font-style:italic}
.aim-teamcal__title{font-weight:600}
.aim-teamcal__visf,.aim-teamcal__people{border:0;padding:0;margin:.5rem 0}
.aim-teamcal__people label,.aim-teamcal__visf label{min-height:44px;display:flex;align-items:center;gap:.4rem}
.aim-teamcal__as{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem;margin:.25rem 0}
.aim-teamcal__as select{font-size:16px;max-width:100%}
.aim-chat .aim-chat__send{flex-wrap:wrap}
.aim-chat__as{order:-1;flex:0 0 100%;min-width:0}
.aim-chat__as .aim-teamcal__as{margin:0;flex-wrap:nowrap;white-space:nowrap;color:var(--aim-chat-field-ink,inherit);font-size:.8rem}
.aim-chat__as select{flex:1 1 auto;min-width:0;min-height:36px;padding:.2rem .5rem;font-size:16px;background:var(--aim-chat-field,var(--aim-bg));color:var(--aim-chat-field-ink,var(--aim-ink));border:1px solid var(--aim-chat-field-line,var(--aim-line));border-radius:8px;text-overflow:ellipsis}
.aim-msg__by{font-weight:600;opacity:.9}
/* 0.4.46 read receipts */
.aim-tick{display:inline-block;letter-spacing:-.32em;padding-right:.32em;font-size:.78rem;line-height:1;color:currentColor;opacity:.75}
.aim-tick--read{color:var(--aim-tick-read);opacity:1}
.aim-chat__rcpthint{display:block;margin:.1rem 0 .4rem}

/* 0.4.47 personal calendar reminders */
.aim-remind{margin:.6rem 0;display:flex;flex-direction:column;gap:.4rem}
.aim-remind select,.aim-remind input[type=datetime-local]{width:100%;min-height:44px;font-size:16px}
.aim-remind .aim-remind__at,.aim-form .aim-remind .aim-remind__at{display:none}
.aim-remind:has(option[value="custom"]:checked) .aim-remind__at,.aim-form .aim-remind:has(option[value="custom"]:checked) .aim-remind__at{display:block}
.aim-remind-box{margin:.35rem 0}
.aim-remind-box>summary{list-style:none;cursor:pointer}
.aim-remind-box>summary::-webkit-details-marker{display:none}
.aim-remind-box[open]>form{margin-top:.4rem;padding:.6rem;border-radius:12px;background:var(--aim-soft)}
.aim-remind-mailpref{margin-top:.5rem}
/* 0.4.47: team calendar month grid (reuses .aim-cal__*) */
.aim-tcm{margin:.5rem 0 1rem}
.aim-tcm__legend{gap:.35rem .45rem}
.aim-tcm__lg{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--aim-ink)}
.aim-tcm__bar0{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin:.5rem 0}
.aim-tcm__bar0 .aim-legend{margin:0}
.aim-tcm__pbtn{min-height:44px}
.aim-tcm__picker{border:1px solid var(--aim-line);border-radius:var(--aim-r);background:var(--aim-bg);padding:.5rem .75rem;margin:0 0 .75rem}
@media (min-width:48rem){.aim-tcm__picker:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:1rem}}
.aim-tcm__grp{border:0;margin:0 0 .5rem;padding:0;min-width:0}
.aim-tcm__gh{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;font-weight:700;padding:.25rem 0;border-bottom:1px solid var(--aim-line);margin-bottom:.25rem}
.aim-tcm__ga{display:inline-flex;gap:.2rem;font-weight:400}
.aim-tcm__opt{display:flex;align-items:center;gap:.5rem;min-height:44px;cursor:pointer}
.aim-tcm__opt input{width:1.15rem;height:1.15rem;margin:0;flex:none}
.aim-tcm__ol{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aim-tcm__err{color:var(--aim-booked)}
.aim-tcm__perfkey{display:inline-block;width:12px;height:12px;background:linear-gradient(225deg,var(--aim-accent) 50%,transparent 50%);border:1px solid var(--aim-line);border-radius:2px}
.aim-cal__day.aim-tcm__day.has-perf{position:relative;overflow:hidden}
.aim-tcm__sw{display:inline-block;flex:none;width:.8rem;height:.8rem;border-radius:3px}
.aim-tcm__grid{gap:3px}
.aim-cal__day.aim-tcm__day{aspect-ratio:auto;min-height:clamp(2.6rem,11vw,3.4rem);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:.25rem 2px;background:var(--aim-soft);color:var(--aim-ink)}
.aim-tcm__n{line-height:1.2}
.aim-tcm__bars{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;margin-top:auto;width:100%}
.aim-tcm__bar{display:block;width:calc(50% - 1px);max-width:1.1rem;height:5px;border-radius:2px}
.aim-tcm__bar.is-busy{opacity:.55;background-image:repeating-linear-gradient(135deg,transparent 0 2px,rgba(255,255,255,.7) 2px 4px)!important}
.aim-tcm__daybox{margin-top:.6rem}
.aim-tcm__dh{margin:.3rem 0;font-size:1rem}
.aim-tcm ul.aim-tcm__dl{list-style:none;margin:0;padding:0}
.aim-tcm__di{display:flex;gap:.5rem;align-items:flex-start;padding:.2rem .4rem .2rem .6rem;border:1px solid var(--aim-line);border-radius:var(--aim-r);margin-bottom:.35rem;background:var(--aim-bg)}
.aim-tcm__di .aim-tcm__sw{margin-top:.3rem}
.aim-tcm__di.is-busy .aim-tcm__what{font-style:italic;color:var(--aim-muted)}

/* 0.4.48 daily overview + fee overview */
.aim-digest{margin:.8rem 0}
.aim-digest__card{padding:.8rem 1rem;margin:.4rem 0}
.aim-digest__card.is-new{border-left:4px solid var(--aim-accent)}
.aim-digest__g{margin:.5rem 0 .2rem}
.aim-digest__l{margin:0 0 .4rem 1.1rem;padding:0}
.aim-digest__set{margin:.6rem 0}
.aim-digest__set summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.aim-digest-pref{display:flex;flex-direction:column;gap:.6rem;max-width:28rem}
.aim-digest-pref input[type=time]{min-height:44px;font-size:16px}
.aim-fees__filter .aim-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.aim-fees__table .aim-num{text-align:right;white-space:nowrap}
.aim-fees__st{display:inline-block;padding:.1rem .5rem;border-radius:1rem;background:#eee}
.aim-fees__st--paid{background:#d9f2dd}.aim-fees__st--invoiced{background:#fff1c9}
.aim-fees__sum td{border-top:2px solid #999}
@media (max-width:640px){.aim-fees__filter .aim-grid3{grid-template-columns:1fr}.aim-fees__table{font-size:.85rem}}

/* 0.4.49: "‹ Zurück" = plain small text link (no frame / background); the tap area stays ≥ 2.5rem high through invisible padding. Relative units → follows the iOS text size. */
.aim-back{border:0;background:transparent;border-radius:0;box-shadow:none;min-height:2.5rem;min-width:2.5rem;padding:.55rem .75rem .55rem .15rem;margin:0 0 .15rem;font-size:.875rem;font-weight:500;gap:.1rem}
.aim-back .aim-back__arrow{font-size:1.35rem;margin-top:-.1em}
.aim-back:hover,.aim-back:focus-visible{border:0;text-decoration:none}
.aim-back .aim-back__label{line-height:1.25;white-space:nowrap}
.aim-back:hover .aim-back__label,.aim-back:focus-visible .aim-back__label{text-decoration:underline;text-underline-offset:.15em} /* 0.4.65: underline only the text, one line, never the arrow */
body>.aim-back{margin:.35rem .75rem 0}
/* while a modal / sheet is open the back button still floats above it – there it keeps its pill so it stays readable on top of the content */
html.aim-modal-open .aim-back,body:has(.aim-sheet) .aim-back,body:has(.aim-cal-modal[open]) .aim-back{border:1px solid var(--aim-line);background:var(--aim-bg);border-radius:999px;box-shadow:0 2px 10px rgba(0,0,0,.2);min-height:2.75rem;padding:0 .9rem 0 .6rem}
/* 0.4.49: phone section menu = 3 columns of smaller tiles (all .aim-tabs menus: agency, artist, casting, house, fan, staff); desktop pills unchanged */
@media (max-width:767px){
	.aim-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
	.aim-tab{min-height:2.75rem;padding:.35rem .15rem;border-radius:.625rem;font-size:.82rem;line-height:1.2;overflow-wrap:break-word;word-break:normal;hyphens:auto;-webkit-hyphens:auto}
	.aim-tab.is-active{font-weight:600}
	/* header row (bell, Künstler suchen, Abmelden …) – same compact sizing */
	.aim-dash__actions{gap:.4rem}
	.aim-dash__actions .aim-btn{min-height:2.5rem;padding:.3rem .9rem;font-size:.875rem}
	.aim-dash__actions .aim-bell{font-size:1.05rem;margin-right:.2rem}
}
@media (max-width:359px){.aim-tab{font-size:.74rem;padding:.35rem .1rem;overflow-wrap:anywhere}.aim-dash__actions .aim-btn{padding:.3rem .7rem}}

/* 0.4.49: "Kommende Veranstaltungen" (start page) – compact rows, <details> accordion for the rest. Desktop: one line (date · artist · place); phones: artist + chevron, date · place below. */
.aim-ev--c{padding:0}
.aim-ev--c .aim-ev__d{margin:0}
.aim-ev--c .aim-ev__sum{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr) minmax(0,max-content) 1.25rem;align-items:center;gap:.15rem .75rem;min-height:2.75rem;padding:.4rem .75rem;cursor:pointer;list-style:none;font-size:.95rem;line-height:1.3}
.aim-ev--c .aim-ev__sum::-webkit-details-marker{display:none}
.aim-ev--c .aim-ev__sum::after{content:"";grid-column:4;grid-row:1;justify-self:end;width:.5rem;height:.5rem;margin-right:.25rem;border-right:2px solid var(--aim-muted);border-bottom:2px solid var(--aim-muted);transform:rotate(-45deg);transition:transform .15s}
.aim-ev--c .aim-ev__d[open]>.aim-ev__sum::after{transform:rotate(45deg)}
.aim-ev--c .aim-ev__sum:focus-visible{outline:2px solid var(--aim-accent);outline-offset:-2px;border-radius:8px}
.aim-ev--c .aim-ev__date{grid-column:1;font-size:.88em;white-space:nowrap}
.aim-ev--c .aim-ev__who{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aim-ev--c .aim-ev__place{grid-column:3;min-width:0;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--aim-muted);font-size:.9em}
.aim-ev--c .aim-ev__more{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;padding:0 .75rem .65rem;font-size:.92rem;overflow-wrap:anywhere}
.aim-ev--c .aim-ev__what{flex:1 1 100%}
.aim-ev--c .aim-ev__where{flex:1 1 100%}
@media (max-width:599px){
	.aim-ev--c .aim-ev__sum{grid-template-columns:minmax(0,1fr) 1.25rem;row-gap:.05rem}
	.aim-ev--c .aim-ev__who{grid-column:1;grid-row:1}
	.aim-ev--c .aim-ev__sum::after{grid-column:2;grid-row:1 / span 2}
	.aim-ev--c .aim-ev__date{grid-column:1;grid-row:2;white-space:normal;font-size:.8rem}
	.aim-ev--c .aim-ev__place{grid-column:1;grid-row:3;max-width:none;font-size:.8rem}
}

/* 0.4.51: installed app (html.aim-standalone: iOS home-screen app / display-mode standalone, no browser bar): "‹ Zurück" is a fixed pill at the top left – visible while scrolling, ≥ 44 px, safe-area aware; the page gets a top reserve so no content is covered.
   Not shown on the app start view (dashboard home). Normal browser tabs keep the plain 0.4.49 link. Chat full screen keeps its own back arrow. */
html.aim-standalone .aim-back{position:fixed;top:calc(env(safe-area-inset-top,0px) + .4rem);left:calc(env(safe-area-inset-left,0px) + .5rem);z-index:99980;box-sizing:border-box;margin:0;min-height:44px;min-width:44px;padding:0 .95rem 0 .65rem;gap:.15rem;font-size:.95rem;font-weight:600;line-height:1;border:1px solid var(--aim-line);border-radius:999px;background:var(--aim-bg);box-shadow:0 1px 6px rgba(0,0,0,.14);-webkit-tap-highlight-color:transparent}
html.aim-standalone .aim-back .aim-back__arrow{font-size:1.6rem;margin-top:-.12em}
html.aim-standalone .aim-back:hover .aim-back__label,html.aim-standalone .aim-back:focus-visible .aim-back__label{text-decoration:none} /* 0.4.65: the standalone pill keeps its border highlight, no underline */
html.aim-standalone .aim-back:hover,html.aim-standalone .aim-back:focus-visible{border:1px solid var(--aim-accent-2);text-decoration:none}
html.aim-standalone .aim-back:active{background:var(--aim-line)}
html.aim-standalone .aim-back[data-aim-start]{display:none}
html.aim-standalone body:has(.aim-back:not([data-aim-start])){padding-top:calc(env(safe-area-inset-top,0px) + 3.1rem)}
html.aim-standalone.aim-chat-fs body{padding-top:0}
html.aim-standalone.aim-modal-open .aim-back,html.aim-standalone body:has(.aim-sheet) .aim-back,html.aim-standalone body:has(.aim-cal-modal[open]) .aim-back{z-index:100004;box-shadow:0 2px 10px rgba(0,0,0,.2)}
html.aim-standalone.aim-chat-fs .aim-back{display:none!important}

/* 0.4.53 welcome text (start page / app start view, logged out): slogan, intro, four cards. Tokens only. */
.aim-welcome{padding:.5rem 0 0;overflow-wrap:anywhere}
.aim-welcome__tagline{margin:0 0 .75rem;font-size:clamp(2rem,7.5vw,3.1rem);line-height:1.1;font-weight:700;letter-spacing:-.02em;color:var(--aim-accent)}
.aim-welcome__tagline::after{content:"";display:block;width:3.2rem;height:4px;margin-top:.8rem;border-radius:2px;background:var(--aim-accent-2)}
.aim-welcome__lead{margin:0 0 1.25rem;font-size:1.1rem;line-height:1.6;max-width:46rem}
.aim-welcome__cta{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.25rem}
.aim-welcome__grid{display:grid;grid-template-columns:1fr;gap:1rem}
.aim-welcome__card{position:relative;margin:0;padding:1.6rem 1.5rem 1.5rem;border-radius:14px;overflow:hidden;background:var(--aim-accent);color:var(--aim-on-accent);border:1px solid color-mix(in srgb,var(--aim-accent-2) 55%,var(--aim-accent))}
.aim-welcome__card::after{content:"";position:absolute;left:1.5rem;top:0;width:3rem;height:4px;border-radius:0 0 3px 3px;background:var(--aim-accent-2)}
.aim-welcome__ic{display:block;margin:0 0 .6rem;color:var(--aim-accent-2)}
.aim-welcome__card p{margin:0;line-height:1.55;color:color-mix(in srgb,var(--aim-on-accent) 90%,var(--aim-accent))}
.aim-welcome__h{margin:0 0 .45rem;font-size:1.12rem;line-height:1.3;font-weight:600;color:var(--aim-on-accent)}
@media (min-width:760px){.aim-welcome__grid{grid-template-columns:1fr 1fr;gap:1.25rem}}

/* 0.4.54: compact agency start view + "fold" buttons (native <details>: the area opens only after a click; content/forms stay in the DOM).
   Two columns on desktop (events left, linked artists right); phones stay one column. Colours only via tokens. */
.aim-fold{margin:.4rem 0}
.aim-fold>summary{list-style:none;cursor:pointer}
.aim-fold>summary::-webkit-details-marker{display:none}
.aim-fold__btn::after{content:"";width:.45rem;height:.45rem;margin:-.2rem 0 0 .2rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.aim-fold[open]>.aim-fold__btn::after{transform:rotate(225deg);margin-top:.15rem}
.aim-fold[open]>.aim-fold__btn{background:var(--aim-soft)}
.aim-fold>summary:focus-visible{outline:2px solid var(--aim-accent);outline-offset:2px}
.aim-fold__body{margin-top:.6rem;padding:.75rem;border:1px solid var(--aim-line);border-radius:var(--aim-r)}
.aim-folds{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start;margin:.5rem 0 1rem}
.aim-folds>.aim-fold{margin:0}
.aim-folds>.aim-fold[open]{flex:1 1 100%}
.aim-form--folds:not(:has(details.aim-fold[open])) .aim-form__foot{display:none}
.aim-ag-home{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem 1.5rem}
.aim-ag-home .aim-section{margin:0 0 .5rem}
.aim-ag-home .aim-h3{margin:.25rem 0 .4rem;font-size:1.05rem}
.aim-ag-home .aim-agency-events{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem .75rem}
.aim-ag-home .aim-agency-events>.aim-agency-events__list,.aim-ag-home .aim-agency-events>p{flex:1 1 100%;margin:.25rem 0}
.aim-ag-home .aim-ev-filter{margin:0}
.aim-ag-home .aim-ev-filter select{min-height:2rem;padding:.1rem .4rem;font-size:.85rem}
.aim-ag-home .aim-agency-events__list{padding:0}
.aim-ag-home .aim-ev--c .aim-ev__sum{min-height:2.25rem;padding:.2rem .6rem;gap:.1rem .6rem;font-size:.9rem}
.aim-ag-home .aim-ev--c.aim-list__item{padding:0}
.aim-ag-home .aim-ev--c .aim-ev__more{padding:0 .6rem .45rem}
.aim-ag-home .aim-ev--c .aim-ev__place{max-width:none;grid-column:3}
.aim-ag-home .aim-ev-more{min-height:1.9rem;padding:.15rem .7rem;font-size:.8rem}
.aim-ag-home__main .aim-agency-events-link{margin:.25rem 0 0}
.aim-ag-home__side.aim-section{padding:.6rem .75rem;border:1px solid var(--aim-line);border-radius:var(--aim-r);background:var(--aim-soft)}
.aim-ag-artists p{margin:.1rem 0}
.aim-agchips{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}
.aim-agchip{display:inline-block;padding:.15rem .6rem;border:1px solid var(--aim-line);border-radius:999px;background:var(--aim-bg);color:var(--aim-ink)!important;font-size:.82rem;line-height:1.4;text-decoration:none!important}
.aim-agchip:hover{border-color:var(--aim-accent)}
.aim-agchip--more{background:transparent;color:var(--aim-muted)!important}
@media (min-width:860px){
	.aim-ag-home{grid-template-columns:minmax(0,1fr) 15rem;align-items:start}
	.aim-ag-home .aim-ev--c .aim-ev__sum{grid-template-columns:minmax(0,max-content) minmax(0,max-content) minmax(0,1fr) 1.25rem}
	.aim-ag-home .aim-ev--c .aim-ev__who{max-width:11rem}
	.aim-ag-home .aim-ev--c .aim-ev__place{grid-column:3}
}
@media (max-width:599px){
	.aim-agchip{padding:.4rem .8rem;font-size:.88rem}
	.aim-ag-home .aim-ev--c .aim-ev__sum{grid-template-columns:max-content minmax(0,1fr) 1.25rem;padding:.3rem .6rem;row-gap:0}
	.aim-ag-home .aim-ev--c .aim-ev__who{grid-column:1 / 3;grid-row:1}
	.aim-ag-home .aim-ev--c .aim-ev__date{grid-column:1;grid-row:2;white-space:nowrap}
	.aim-ag-home .aim-ev--c .aim-ev__place{grid-column:2;grid-row:2;font-size:.8rem}
	.aim-ag-home .aim-ev--c .aim-ev__sum::after{grid-column:3;grid-row:1 / span 2}
}
/* Document requests: list = name + date, the rest behind "Details" */
.aim-docreq__d{width:100%}
.aim-docreq__sum{display:flex;align-items:baseline;gap:.6rem;min-height:2.25rem;cursor:pointer;list-style:none}
.aim-docreq__sum::-webkit-details-marker{display:none}
.aim-docreq__sum:focus-visible{outline:2px solid var(--aim-accent);outline-offset:2px;border-radius:8px}
.aim-docreq__btn{margin-left:auto;min-height:2rem;pointer-events:none;align-self:center}
.aim-docreq__d[open]>.aim-docreq__sum .aim-docreq__btn{background:var(--aim-soft)}
.aim-docreq__body{padding:.4rem 0 .2rem}
/* message settings + team invitation: small, less prominent */
.aim-chat__settings{margin:.6rem 0 0}
.aim-chat__settings>.aim-fold__btn{min-height:1.9rem;padding:.15rem .6rem;border-color:transparent;background:transparent;color:var(--aim-muted)!important;font-size:.8rem}
.aim-chat__settings[open]>.aim-fold__btn{background:var(--aim-soft)}
.aim-chat__settings .aim-fold__body{margin-top:.3rem;padding:.5rem .6rem;font-size:.85rem}
.aim-chat__settings .aim-push{margin:.3rem 0;padding:0;border:0}
.aim-staff__fold .aim-staff-invite{border-top:0;margin-top:0;padding-top:0}
.aim-docreq.aim-list__item{display:block;padding:.3rem .8rem}

/* 0.4.56: compact day list + generic expand button (calendar day list, "Heute" card) */
.aim-vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.aim-exp{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;background:none;color:var(--aim-muted);cursor:pointer;border-radius:var(--aim-r);position:relative}
.aim-exp::before{content:"";width:.5rem;height:.5rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .15s}
.aim-exp[aria-expanded=true]::before{transform:rotate(225deg) translate(-2px,-2px)}
.aim-exp:hover{background:var(--aim-soft);color:var(--aim-ink)}
.aim-exp:focus-visible{outline:2px solid var(--aim-accent);outline-offset:-2px}
.aim-exp__body[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.aim-exp::before{transition:none}}
.aim-tcm__main{flex:1;min-width:0}
.aim-tcm__row{display:flex;align-items:center;gap:.4rem;min-height:44px}
.aim-tcm__txt{flex:1;min-width:0;overflow-wrap:anywhere}
.aim-tcm__what{color:var(--aim-ink)}
.aim-tcm__det{display:flex;flex-direction:column;gap:.1rem;padding:0 0 .5rem;font-size:.9rem}
.aim-tcm__di .aim-tcm__sw{margin-top:1rem}
.aim-heute{margin:.8rem 0;padding:.6rem .8rem;border:1px solid var(--aim-line);border-left:4px solid var(--aim-accent);border-radius:var(--aim-r);background:var(--aim-bg)}
.aim-heute__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.aim-heute__head .aim-h3{margin:0}
.aim-heute .aim-heute__sub{margin:.1rem 0 .2rem}
.aim-heute ul.aim-heute__l{list-style:none;margin:0;padding:0}
.aim-heute__i{border-top:1px solid var(--aim-line)}
.aim-heute__i:first-child{border-top:0}
.aim-heute__row{display:flex;align-items:center;gap:.4rem;min-height:44px}
.aim-heute__txt{flex:1;min-width:0;overflow-wrap:anywhere}
.aim-heute__det{display:flex;flex-direction:column;gap:.1rem;padding:0 0 .5rem;font-size:.9rem}
.aim-heute__g{margin:.2rem 0 0}
.aim-heute__g>summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.aim-heute__g ul{margin:0 0 .4rem 1.1rem;padding:0}
.aim-heute__x{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.2rem}
.aim-heute__dis{margin:0}

/* 0.4.57: public profile headers (agency, house, artist, casting, fan) – no more squeezed right column.
   Phone: image/logo on the left; only a small part stays right of it (agency + house: the social icons; artist, casting, fan: name and short line);
   everything else (tags, addresses, contact, website, buttons, language link) sits BELOW, full width. Desktop/tablet stay in two columns. */
.aim-profile .aim-profile__head p,.aim-profile .aim-profile__head li,.aim-profile .aim-profile__head a,.aim-profile .aim-profile__head dd{overflow-wrap:anywhere;word-break:normal}
.aim-profile .aim-profile__head .aim-addresses{margin:.25rem 0}
.aim-profile .aim-avatar-img{display:block;flex:none;width:96px;height:96px;aspect-ratio:1/1;border-radius:50%;object-fit:cover}
.aim-profile.aim-agency-page .aim-profile__head .aim-logo,.aim-profile.aim-organizer-page .aim-profile__head .aim-logo{flex:none;width:auto;height:auto;max-width:min(220px,40vw);max-height:140px;object-fit:contain}
@media (min-width:782px){
	.aim-profile.aim-agency-page .aim-profile__head,.aim-profile.aim-organizer-page .aim-profile__head{align-items:flex-start}
	.aim-profile .aim-avatar-img{width:120px;height:120px}
}
@media (max-width:599px){
	.aim-profile .aim-profile__head{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.9rem;row-gap:.35rem;align-items:start}
	.aim-profile .aim-profile__head>div{display:contents}
	.aim-profile .aim-profile__head>div>*{grid-column:1/-1;min-width:0;max-width:100%;margin-top:0;margin-bottom:0}
	.aim-profile .aim-profile__head>div>a,.aim-profile .aim-profile__head>div>.aim-btn{justify-self:start}
	.aim-profile .aim-profile__head>div>.aim-h{margin:0}
	/* image / logo: left column */
	.aim-profile .aim-profile__head>:not(div){grid-column:1;grid-row:1/span 3;align-self:start}
	.aim-profile.aim-agency-page .aim-profile__head>:not(div),.aim-profile.aim-organizer-page .aim-profile__head>:not(div){grid-row:1;max-width:min(200px,44vw)}
	.aim-profile.aim-agency-page .aim-profile__head .aim-logo,.aim-profile.aim-organizer-page .aim-profile__head .aim-logo{max-width:min(200px,44vw)}
	/* artist, casting, fan: name and the short line (type · city / badge) stay right of the image */
	.aim-profile .aim-profile__head>div>.aim-h,.aim-profile .aim-profile__head>div>.aim-lead,.aim-profile .aim-profile__head>div>.aim-badge{grid-column:2}
	.aim-profile .aim-profile__head>div>.aim-h{grid-row:1}
	.aim-profile .aim-profile__head>div>.aim-badge{justify-self:start}
	/* agency + house: social icons right of the logo, name below it */
	.aim-profile.aim-agency-page .aim-profile__head>div>:is(.aim-h,.aim-lead),.aim-profile.aim-organizer-page .aim-profile__head>div>:is(.aim-h,.aim-lead){grid-column:1/-1}
	.aim-profile.aim-agency-page .aim-profile__head>:not(div)~div>.aim-h,.aim-profile.aim-organizer-page .aim-profile__head>:not(div)~div>.aim-h{grid-row:2}
	.aim-profile.aim-agency-page .aim-profile__head>:not(div)~div>.aim-social,.aim-profile.aim-organizer-page .aim-profile__head>:not(div)~div>.aim-social{grid-column:2;grid-row:1;justify-content:flex-end;align-self:start;margin:0}
	.aim-profile .aim-profile__head>div>.aim-social{margin:0}
}

/* 0.4.58: "Vorwort der Entwickler" – collapsed by default behind one button (native <details>), directly under the welcome intro text, above the cards. Open: calm box with light background, fine gold line, italic signature. Tokens only. */
.aim-welcome__foreword{position:relative;margin:0 0 1.25rem;border:1px solid var(--aim-line);border-radius:14px;background:var(--aim-soft);color:var(--aim-ink);overflow-wrap:anywhere}
.aim-welcome__foreword::before{content:"";position:absolute;left:1.25rem;top:0;width:3rem;height:3px;border-radius:0 0 3px 3px;background:var(--aim-accent-2)}
.aim-welcome__fh{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:48px;padding:.6rem 1.25rem;border-radius:14px;cursor:pointer;list-style:none;font-size:1.05rem;line-height:1.3;font-weight:600;color:var(--aim-accent)}
.aim-welcome__fh::-webkit-details-marker{display:none}
.aim-welcome__fh:hover{background:color-mix(in srgb,var(--aim-accent-2) 10%,var(--aim-soft))}
.aim-welcome__fh:focus-visible{outline:2px solid var(--aim-accent);outline-offset:2px}
.aim-welcome__chev{flex:none;width:.6rem;height:.6rem;margin:-.2rem .2rem 0 0;border-right:2px solid var(--aim-accent-2);border-bottom:2px solid var(--aim-accent-2);transform:rotate(45deg);transition:transform .15s}
.aim-welcome__foreword[open]>.aim-welcome__fh .aim-welcome__chev{margin-top:.25rem;transform:rotate(-135deg)}
.aim-welcome__foreword[open]>.aim-welcome__fh{padding-bottom:.4rem}
.aim-welcome__fb{padding:.4rem 1.25rem 1.25rem}
.aim-welcome__fb p{margin:0 0 .8rem;max-width:46rem;font-size:1rem;line-height:1.65}
.aim-welcome__fb .aim-welcome__sign{margin:1rem 0 0;font-size:.92rem;font-style:italic;color:var(--aim-muted)}
@media (prefers-reduced-motion:reduce){.aim-welcome__chev{transition:none}}
@media (min-width:760px){.aim-welcome__fh{padding-left:1.75rem;padding-right:1.75rem}.aim-welcome__fb{padding:.4rem 1.75rem 1.5rem}.aim-welcome__foreword::before{left:1.75rem}}

/* 0.4.59: rights table (Bereich | ansehen | hinzufügen/bearbeiten | löschen) fits the card width on phones (<=600px, incl. 360/390): fixed layout, three narrow
   tick columns, header cells and section names may wrap, larger tick targets. Desktop is unchanged. The consent item of the artist's "Agenturen" tab stacks (rights table full width, buttons below). */
@media (max-width:600px){
.aim-list__item.aim-consent{grid-template-columns:minmax(0,1fr);padding-left:.5rem;padding-right:.5rem}.aim-list__item.aim-consent>div{min-width:0}
.aim-perms__table{table-layout:fixed;width:100%;max-width:100%}
.aim-perms__table th,.aim-perms__table td{padding:.5rem .15rem;overflow-wrap:anywhere;hyphens:auto;-webkit-hyphens:auto}
.aim-perms__table th:first-child,.aim-perms__table th[scope=row]{padding-left:.3rem;padding-right:.3rem;font-size:.8rem}
.aim-perms__table thead th{font-size:.68rem;line-height:1.2;vertical-align:bottom}
.aim-perms__table thead th:nth-child(2),.aim-perms__table thead th:nth-child(4){width:3.2rem}
.aim-perms__table thead th:nth-child(3){width:4.2rem}
.aim-perms__table td{vertical-align:middle}
.aim-perms__table input[type=checkbox]{width:1.5rem;height:1.5rem;margin:0}
}

/* 0.4.60: calendar import (.ics) – button (fold), upload, preview list, result */
.aim-ics{margin:.5rem 0 1rem}
.aim-ics__facts{margin:.25rem 0 .75rem;padding-left:1.1rem}
.aim-ics__facts li{margin:.25rem 0}
.aim-ics__up input[type=file]{max-width:100%;min-height:44px;padding:.5rem}
.aim-ics__sum{margin:.25rem 0;font-weight:600}
.aim-ics__filter{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:flex-end;margin:.5rem 0 .75rem}
.aim-ics__filter label{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;font-weight:600}
.aim-ics__filter input[type=date]{min-height:40px;max-width:100%}
.aim-ics__bulk{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.25rem 0 .5rem}
.aim-ics__list{list-style:none;margin:0 0 .75rem;padding:0;max-height:26rem;overflow:auto;border:1px solid var(--aim-line);border-radius:var(--aim-r)}
.aim-ics__item{padding:.5rem .65rem;border-bottom:1px solid var(--aim-line)}
.aim-ics__item:last-child{border-bottom:0}
.aim-ics__item .aim-check{width:100%;overflow-wrap:anywhere}
.aim-ics__item input[type=checkbox]{flex:0 0 auto;width:1.5rem;height:1.5rem;margin-top:.1rem}
.aim-ics__badge{display:inline-block;margin-left:.25rem;padding:.05rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--aim-soft);color:var(--aim-ink)}
.aim-ics__badge.is-upd{background:var(--aim-accent);color:var(--aim-on-accent)}
.aim-ics__cancel{margin:.5rem 0 0}
.aim-ics__res{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;list-style:none;margin:.25rem 0 .5rem;padding:0}
.aim-ics__res strong{font-size:1.25rem}
@media (max-width:600px){.aim-ics__list{max-height:22rem}.aim-ics__filter label{flex:1 1 40%}.aim-ics__filter input[type=date]{width:100%}}

/* 0.4.61: calendar subscription link (.ics feed) next to "Import" */
.aim-icsrow{display:flex;flex-wrap:wrap;gap:.25rem .5rem;align-items:flex-start;margin:.5rem 0 1rem}
.aim-icsrow>.aim-ics{margin:0;max-width:100%}
.aim-icsrow>.aim-ics:has(details[open]){flex:1 1 100%}
.aim-feed .aim-fold{margin:0}
.aim-feed__lbl{display:block;margin:.25rem 0;font-size:.85rem;font-weight:600}
.aim-feed__url{display:flex;flex-wrap:wrap;gap:.5rem;align-items:stretch;margin:0 0 .5rem}
.aim-feed__url input{flex:1 1 14rem;min-width:0;min-height:44px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}
.aim-feed__url .aim-btn{flex:0 0 auto;min-height:44px}
.aim-feed__warn{margin:.75rem 0}
.aim-feed__warn .aim-ics__facts{margin:.35rem 0 0}
.aim-feed__mode .aim-fieldset{margin:.5rem 0;padding:.5rem .75rem;border:1px solid var(--aim-line);border-radius:var(--aim-r)}
.aim-feed__mode .aim-fieldset legend{padding:0 .35rem;font-size:.85rem;font-weight:600}
.aim-feed__acts{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0}
.aim-feed__acts form{margin:0}
.aim-feed__acts .aim-btn{min-height:44px}
.aim-feed__last{margin:.5rem 0;font-size:.85rem}
@media (max-width:600px){.aim-feed__url .aim-btn{flex:1 1 100%}.aim-feed__acts .aim-btn{width:100%}.aim-feed__acts form{flex:1 1 100%}}
@media (max-width:600px){.aim-icsrow .aim-fold>summary,.aim-feed .aim-btn,.aim-feed .aim-btn--sm{min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.aim-feed__mode .aim-btn{min-height:44px}}
.aim-ics__guide{margin:.4rem 0}.aim-ics__guide>.aim-fold__body{padding:.5rem 0 0}.aim-ics__guide ol{margin:.25rem 0 .6rem}

/* 0.4.62 authenticity check mark (blue, artists and agencies only; display only, no ranking) */
.aim-vbadge{display:inline;margin-left:.25em;color:var(--aim-verified);line-height:1;position:relative;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.aim-vbadge svg{display:inline-block;vertical-align:-.25em;width:max(1.1em,18px);height:max(1.1em,18px)}
.aim-vbadge--head{margin-left:.3em}
.aim-vbadge--head svg{vertical-align:middle;width:max(1.1em,22px);height:max(1.1em,22px)}
.aim-vbadge__btn{appearance:none;-webkit-appearance:none;border:0;background:none;padding:0;color:inherit;font:inherit;line-height:1;cursor:pointer;display:inline-flex;vertical-align:-.45em;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-11px -11px -11px -11px;border-radius:50%;outline:none;-webkit-tap-highlight-color:transparent}
.aim-vbadge__btn:focus-visible svg{outline:2px solid var(--aim-verified);outline-offset:2px;border-radius:50%}
.aim-vbadge__tip{display:block;position:absolute;left:0;top:calc(100% + 6px);z-index:30;width:min(18rem,calc(100vw - 2.5rem));padding:.6rem .75rem;border-radius:8px;background:var(--aim-bg);color:var(--aim-ink);border:1px solid var(--aim-verified);box-shadow:0 4px 14px color-mix(in srgb,var(--aim-ink) 25%,transparent);white-space:normal;font-size:.9rem;font-weight:400;line-height:1.4;text-align:left}
.aim-vbadge__tip[hidden]{display:none}
.aim-verify__dots{display:flex;gap:.5rem;margin:.4rem 0 .6rem}
.aim-verify__dots span{width:1.1rem;height:1.1rem;border-radius:50%;border:2px solid var(--aim-verified);background:transparent}
.aim-verify__dots span.is-on{background:var(--aim-verified)}
.aim-verify__search{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;margin:.5rem 0}
.aim-verify__search label{flex:1 1 14rem}
.aim-verify__form{margin-top:.5rem}
.aim-verify__remind{margin:.75rem 0 0}.aim-verify__remind .aim-small{display:block;margin-top:.4rem}
@media (max-width:600px){.aim-verify .aim-btn,.aim-verify-inbox .aim-btn,.aim-verify-inbox select,.aim-verify__search input{min-height:44px;box-sizing:border-box}.aim-verify-inbox .aim-check input{min-width:24px;min-height:24px}.aim-verify-inbox .aim-check{min-height:44px;display:flex;align-items:center;gap:.5rem}}
/* 0.4.63 account states and offers (no payment connection; only visible with a state or an offer) */
.aim-plan,.aim-offer,.aim-offers-acct{border:1px solid var(--aim-line);background:var(--aim-soft);color:var(--aim-ink);border-radius:var(--aim-r);padding:.9rem 1rem;margin:0 0 1rem}
.aim-plan--readonly,.aim-plan--delete_notice{border-color:var(--aim-option)}
.aim-plan p,.aim-offer p,.aim-offers-acct p{margin:.4rem 0}
.aim-plan__choose{margin-top:.6rem}
.aim-plan__photos{display:flex;flex-wrap:wrap;gap:.6rem}
.aim-plan__ph{display:flex;align-items:center;gap:.3rem}
.aim-plan__ph img{width:64px;height:64px;object-fit:cover;border-radius:6px}
.aim-offer__terms{margin:.4rem 0 .8rem;padding-left:1.2rem}
.aim-offers-acct__log{margin-top:.5rem}
.aim-ro-scope--on form:not(:has(input[name="aim_lang_set"],input[name="aim_2fa_set"],input[name="aim_dossier_pdf"],input[name="aim_offer_answer"],input[name="aim_rep_follow"],input[name="aim_delete_account"])):not([action*="admin-post"]) :is(button,input[type=submit]){opacity:.5;pointer-events:none}
/* 0.4.64 plan and payment (Stripe test mode; only visible after the administrator switches it on) */
.aim-billing{border:1px solid var(--aim-line);background:var(--aim-soft);color:var(--aim-ink);border-radius:var(--aim-r);padding:.9rem 1rem;margin:0 0 1rem}
.aim-billing p{margin:.4rem 0}
.aim-billing__actions form{display:inline-block;margin:0 .4rem .4rem 0}
.aim-billing__plans{list-style:none;margin:.6rem 0;padding:0;display:grid;gap:.7rem}
.aim-billing__plan{border:1px solid var(--aim-line);border-radius:var(--aim-r);padding:.7rem .9rem;background:var(--aim-bg)}
.aim-billing__sum{width:100%;border-collapse:collapse;margin:.5rem 0}
.aim-billing__sum th,.aim-billing__sum td{text-align:left;vertical-align:top;padding:.35rem .5rem;border-bottom:1px solid var(--aim-line)}
.aim-billing__sum th{width:30%;font-weight:600}
.aim-billing .aim-btn{min-height:44px;box-sizing:border-box}
.aim-ro-scope--on .aim-billing form:not(#aim-x) :is(button,input[type=submit]){opacity:1;pointer-events:auto}
/* 0.4.65 document viewer page, "Powered by GIGHS" note, rights table select buttons */
.aim-docview{max-width:980px;margin:0 auto}
.aim-docview__box{border:1px solid var(--aim-line);background:var(--aim-bg);color:var(--aim-ink);border-radius:var(--aim-r);padding:.9rem 1rem}
.aim-docview__meta{margin:.2rem 0 .8rem;overflow-wrap:anywhere}
.aim-docview__file{margin:.6rem 0}
.aim-docview__pdf{display:block;width:100%;height:min(78vh,900px);min-height:420px;border:1px solid var(--aim-line);border-radius:var(--aim-r);background:var(--aim-soft)}
.aim-docview__pdf p{padding:1rem;margin:0}
.aim-docview__img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:var(--aim-r)}
.aim-docview__actions{margin:.8rem 0 0}
.aim-docview .aim-btn{min-height:44px;box-sizing:border-box}
@media (max-width:600px){.aim-docview__box{padding:.7rem .7rem}.aim-docview__pdf{height:70vh;min-height:360px}.aim-docview__actions .aim-btn{display:flex;justify-content:center;width:100%}}
.aim-powered{margin:2rem 0 1rem;padding:0 1rem;text-align:center;font-size:.78rem;line-height:1.4;color:var(--aim-muted);clear:both}
.aim-powered a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;opacity:.85}
.aim-powered a:hover,.aim-powered a:focus{opacity:1}
.aim-perms__bulk{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0}
.aim-perms__bulk[hidden]{display:none}
.aim-perms__bulk .aim-btn{min-height:36px}
.aim-ro-scope--on .aim-perms__bulk{display:none}
@media (max-width:600px){.aim-perms__bulk .aim-btn{min-height:44px;flex:1 1 40%}}

#aim-ws-calendar,#aim-ws-repertoire{scroll-margin-top:1rem}

/* 0.4.75 (local): label/value lists and tables – long e-mail addresses and URLs wrap inside the card (mobile 320–430px).
   Pure additive: the value column may shrink (minmax(0,1fr)) and break anywhere; desktop layout unchanged because nothing overflows there. */
.aim-dl{grid-template-columns:minmax(0,max-content) minmax(0,1fr)}
.aim-ev-dl{grid-template-columns:minmax(0,max-content) minmax(0,1fr)}
.aim-cal-view__dl{grid-template-columns:minmax(7rem,38%) minmax(0,1fr)}
.aim-dl :is(dt,dd),.aim-ev-dl :is(dt,dd),.aim-alist__dl :is(dt,dd),.aim-cal-view__dl :is(dt,dd){min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.aim-dl a,.aim-ev-dl a,.aim-alist__dl a,.aim-cal-view__dl a,.aim-table td a:not(.aim-btn),.aim-billing__sum td a:not(.aim-btn),.aim-list__item>div a:not(.aim-btn){overflow-wrap:anywhere;word-break:break-word}
.aim-billing__sum td,.aim-list__item>div{min-width:0;overflow-wrap:anywhere}
.aim-rights-view__fields :is(th,td){overflow-wrap:anywhere}
/* 0.4.75 (local): phones – narrower label column (long labels such as „Sozialversicherungsnummer“ wrap), the value column keeps room for IBAN / e-mail / URL (also wrapping). Personal data, documents, document requests. */
@media (max-width:480px){
	.aim-dl,.aim-ev-dl{grid-template-columns:minmax(0,40%) minmax(0,1fr);column-gap:.75rem}
	.aim-dl dt,.aim-ev-dl dt{hyphens:auto;-webkit-hyphens:auto}
}
.aim-docreq__sum,.aim-docreq__body{min-width:0;overflow-wrap:anywhere}
/* 0.4.75 (local): phones – section tabs (agency "acting for artist", artist, house, casting, fan, staff dashboards): FOUR per row, compact (≥40px), long labels wrap inside the tile (hyphenation, never overflow). Menus with fewer than 4 tabs (e.g. search modes) are not touched. */
@media (max-width:767px){
	.aim-tabs:has(> .aim-tab:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}
	.aim-tabs:has(> .aim-tab:nth-child(4)) .aim-tab{min-height:2.5rem;padding:.25rem .15rem;border-radius:.5rem;font-size:.72rem;line-height:1.15;gap:.2rem;min-width:0;overflow-wrap:anywhere;word-break:normal;hyphens:auto;-webkit-hyphens:auto}
	.aim-tabs:has(> .aim-tab:nth-child(4)) .aim-tab.is-active{font-weight:600}
}
@media (max-width:359px){.aim-tabs:has(> .aim-tab:nth-child(4)) .aim-tab{font-size:.66rem;padding:.25rem .1rem}}
/* 0.4.75 (local): section start below fixed headers / the standalone "Zurück" pill (#anchors, scrollIntoView) */
.aim .aim-tabs,.aim .aim-tabs + .aim-card,.aim .aim-tabs + .aim-notice{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 4rem)}

/* 0.4.75 dossier: in-page result panel (PDF is not navigated to – always a visible way back) */
.aim-dossier__done{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1rem 0 0;padding:.75rem;border:1px solid var(--aim-line);border-radius:.75rem;background:var(--aim-bg)}
.aim-dossier__done>p{flex:1 0 100%;margin:0;min-width:0;overflow-wrap:anywhere}
@media (max-width:480px){.aim-dossier__done .aim-btn{flex:1 1 100%;text-align:center}}
/* 0.4.76 (local): personal data / contact / bank …: every field and its "Visible to" select form ONE row-card – label left, small visibility select right on the label line (lock / eye / globe + colour hint by the current value), input below. Markup order and names unchanged; display:contents only lifts the label's span/input into the row grid. */
.aim-pd__row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"lab vis" "inp inp";gap:.35rem .6rem;align-items:center;padding:.6rem .75rem;border:1px solid var(--aim-line);border-inline-start:4px solid var(--aim-line);border-radius:10px;background:var(--aim-soft);min-width:0}
.aim-pd .aim-pd__row + .aim-pd__row{margin-top:.15rem}
.aim-pd__row[data-vis=private]{border-inline-start-color:var(--aim-muted)}
.aim-pd__row[data-vis=agent]{border-inline-start-color:var(--aim-accent)}
.aim-pd__row[data-vis=public]{border-inline-start-color:var(--aim-accent-2)}
.aim-pd__row > label:not(.aim-pd__vis){display:contents}
.aim-pd__row .aim-pd__lab{grid-area:lab;min-width:0;overflow-wrap:anywhere;font-size:.9rem;font-weight:600}
.aim-pd__row > label:not(.aim-pd__vis) > :is(input,select,textarea){grid-area:inp;min-width:0;width:100%;background:var(--aim-bg)}
.aim-pd__row .aim-pd__vis{grid-area:vis;display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;font-weight:500;font-size:.75rem;color:var(--aim-muted);margin:0}
.aim-pd__row .aim-pd__vis::before{content:"\1F512";font-size:.95rem;line-height:1;flex:none}
.aim-pd__row[data-vis=agent] .aim-pd__vis{color:var(--aim-accent)}
.aim-pd__row[data-vis=agent] .aim-pd__vis::before{content:"\1F441"}
.aim-pd__row[data-vis=public] .aim-pd__vis{color:var(--aim-accent)}
.aim-pd__row[data-vis=public] .aim-pd__vis::before{content:"\1F310"}
.aim-pd__row .aim-pd__vl{white-space:nowrap}
.aim-pd__row .aim-pd__vis select{width:auto;max-width:9.5rem;min-height:2.25rem;padding:.2rem 1.6rem .2rem .5rem;border-radius:999px;font-size:.85rem;font-weight:600;color:var(--aim-ink);background-color:var(--aim-bg)}
.aim-pd__row[data-vis=agent] .aim-pd__vis select{border-color:var(--aim-accent)}
@media (max-width:1024px),(pointer:coarse){.aim-pd__row .aim-pd__vis select{font-size:16px}} /* iOS: ≥16px, otherwise Safari zooms on focus */
@media (max-width:480px){ /* too narrow for label + select on one line: stacked but attached – the select is the footer of the same card (dashed divider, indented, small) */
	.aim-pd__row{grid-template-columns:minmax(0,1fr);grid-template-areas:"lab" "inp" "vis";padding:.55rem .6rem;gap:.35rem}
	.aim-pd__row .aim-pd__vis{justify-self:stretch;padding-top:.4rem;margin-top:.1rem;border-top:1px dashed var(--aim-line)}
	.aim-pd__row .aim-pd__vl{flex:0 0 auto}
	.aim-pd__row .aim-pd__vis select{flex:1 1 0;min-width:0;max-width:11rem;margin-inline-start:auto}
}
@media (max-width:430px){ /* no room for the words next to a translated option („La mia agenzia“): icon + select only; the select's aria-label names the field */
	.aim-pd__row .aim-pd__vl{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
	.aim-pd__row .aim-pd__vis select{margin-inline-start:0}
}
.aim-pd__row input[type=tel]{font:inherit;font-weight:400;min-height:44px;border:1px solid var(--aim-line);border-radius:8px;padding:.6rem .7rem;color:inherit}

/* 0.4.77 (local): start page hero – the page's own button group (core/buttons, e.g. "Mein Bereich" / "Anmelden" + "Künstler finden") is centred horizontally instead of sitting at the left edge of its column (very wide viewports such as Apple Vision Pro Safari). Layout only: wraps, keeps the gap; below 768px nothing changes (phone look as before). Scoped to the front page (body.home); an explicit left alignment chosen in the editor is overridden here on purpose (owner request). */
@media (min-width:768px){
body.home .wp-block-buttons,body.home .wp-block-buttons.is-content-justification-left,body.home .wp-block-buttons.is-layout-flex{justify-content:center;flex-wrap:wrap;gap:.6rem;text-align:center;margin-inline:auto}
body.home .wp-block-buttons>.wp-block-button{margin:0}
}
/* 0.4.77 (local): footer link "My data" (logged-in users only) */
.aim-mydata{margin:1rem 0;padding:0 1rem;text-align:center;font-size:.78rem;line-height:1.4;color:var(--aim-muted);clear:both}
.aim-mydata a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;opacity:.85}
.aim-mydata a:hover,.aim-mydata a:focus{opacity:1}

/* 0.4.77 (local): link values in label/value tables (aim_link_html). E-mail on ONE line with an ellipsis (full address in the title), website shows the host only; other values keep the overflow-wrap fix. */
.aim-dl dd .aim-link--mail,.aim-ev-dl dd .aim-link--mail,.aim-alist__dl dd .aim-link--mail,.aim-cal-view__dl dd .aim-link--mail{display:block;max-width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal}
.aim-dl dd .aim-link--url,.aim-dl dd .aim-link--tel{overflow-wrap:anywhere;word-break:normal}
/* 0.4.77 – answered representation requests behind a toggle (one label visible per state) */
.aim-req-done{margin:.6rem 0}
.aim-req-done__hide,.aim-req-done[open] .aim-req-done__show{display:none}
.aim-req-done[open] .aim-req-done__hide{display:inline}
/* 0.4.77 – casting managers: status line + switch "Public profile: visible / invisible" */
.aim-castvis{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin:.6rem 0 1rem;padding:.7rem .9rem;border:1px solid var(--aim-line);border-left:4px solid var(--aim-line);border-radius:var(--aim-r);background:var(--aim-soft)}
.aim-castvis.is-on{border-left-color:var(--aim-accent-2)}
.aim-castvis__status{margin:0;flex:1 1 12rem;font-size:1.05rem}
.aim-castvis__form{margin:0}
.aim-castvis__expl,.aim-castvis>.aim-small{flex:1 1 100%;margin:0}
.aim-tgl{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;padding:.2rem .3rem;border:0;background:transparent;color:var(--aim-ink);font:inherit;font-weight:600;cursor:pointer}
.aim-tgl__track{position:relative;display:inline-block;width:3rem;height:1.7rem;flex:none;border-radius:999px;background:var(--aim-muted);transition:background .15s}
.aim-tgl__thumb{position:absolute;top:.2rem;left:.2rem;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--aim-on-accent);transition:transform .15s}
.aim-tgl[aria-checked="true"] .aim-tgl__track{background:var(--aim-accent)}
.aim-tgl[aria-checked="true"] .aim-tgl__thumb{transform:translateX(1.3rem)}
.aim-tgl:focus-visible{outline:2px solid var(--aim-accent-2);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.aim-tgl__track,.aim-tgl__thumb{transition:none}}
/* 0.4.77 – fan calendar: performances AND own appointments in one grid, filter ticks, "New appointment" button */
.aim-fancal__filter{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.4rem 0 .6rem;padding:0;border:0}
.aim-fancal__fopt{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;font-size:.95rem;cursor:pointer}
.aim-fancal__fopt input{width:1.15rem;height:1.15rem;margin:0}
.aim-fancal__fsw{display:inline-block;width:.9rem;height:.9rem;border-radius:3px;flex:none}
.aim-fancal__fsw--ev{background:var(--aim-accent)}
.aim-fancal__fsw--my{background:var(--aim-bg);border:2px solid var(--aim-accent)}
.aim-fancal__ev[hidden],.aim-fancal__my[hidden],.aim-fancal__more[hidden]{display:none}
.aim-fancal__my{display:flex;align-items:center;gap:2px;min-width:0;font-size:.7rem;line-height:1.2;background:var(--aim-bg);color:var(--aim-ink);border:1px solid var(--aim-accent);border-radius:4px;padding:0 3px;text-decoration:none;white-space:nowrap;overflow:hidden}
.aim-fancal__pt{flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--aim-accent-2)}
.aim-fancal__lock{flex:none;color:var(--aim-muted)}
.aim-fancal__t{min-width:0;overflow:hidden;text-overflow:ellipsis}
.aim-fancal__my:focus-visible,.aim-fancal__ev:focus-visible{outline:2px solid var(--aim-accent-2);outline-offset:1px}
.aim-fancal__myh{margin-top:1.5rem}
@media (min-width:48rem){.aim-fancal__my{font-size:.75rem}}
/* 0.4.77 – public person pages (fan / casting): the page heading carries the name for screen readers and the tab title; the article shows it visibly */
body.aim-person-page .wp-block-post-title,body.aim-person-page .entry-title,body.aim-person-page .page-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* 0.4.77 – list of the opera fans with a public page (?fans=1): search + simple rows, tokens only */
.aim-fanlist__search{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.6rem 0 1rem}
.aim-fanlist__search input[type=search]{flex:1 1 12rem;min-height:44px;min-width:0;padding:.4rem .7rem;border:1px solid var(--aim-line);border-radius:var(--aim-r);background:var(--aim-bg);color:var(--aim-ink)}
.aim-fanlist__reset{min-height:44px;display:inline-flex;align-items:center}
.aim-fanlist__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.5rem}
@media (min-width:700px){.aim-fanlist__list{grid-template-columns:1fr 1fr}}
.aim-fanlist__item a{display:flex;align-items:center;gap:.8rem;min-height:56px;padding:.5rem .7rem;border:1px solid var(--aim-line);border-radius:var(--aim-r);background:var(--aim-soft);color:inherit;text-decoration:none}
.aim-fanlist__item a:hover,.aim-fanlist__item a:focus-visible{border-color:var(--aim-accent)}
.aim-fanlist__img,.aim-fanlist__ph{flex:none;width:48px;height:48px;border-radius:50%;object-fit:cover}
.aim-fanlist__ph{display:inline-flex;align-items:center;justify-content:center;background:var(--aim-accent);color:var(--aim-on-accent);font-weight:700}
.aim-fanlist__txt{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.aim-fanlist__pager{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:1rem 0}
/* 0.4.78 – team calendar: Day / Week / Month / Year (switch + navigation sit BELOW the calendar picker / legend) */
.aim-tcm__tools{display:flex;flex-direction:column;gap:.5rem;margin:.25rem 0 .6rem}
.aim-tcm__seg{display:flex;width:100%;border:1px solid var(--aim-line);border-radius:var(--aim-r);background:var(--aim-soft);padding:2px;gap:2px}
.aim-tcm__segb{flex:1 1 0;min-height:44px;border:0;border-radius:calc(var(--aim-r) - 2px);background:transparent;color:var(--aim-ink);font:inherit;font-weight:600;cursor:pointer;padding:.25rem .5rem}
.aim-tcm__segb.is-on{background:var(--aim-accent);color:var(--aim-on-accent)}
.aim-tcm__segb:focus-visible,.aim-tcm__dlink:focus-visible,.aim-tcm__ymb:focus-visible,.aim-tcm__yd:focus-visible{outline:2px solid var(--aim-accent-2);outline-offset:2px}
.aim-tcm__nav{flex-wrap:wrap}
.aim-tcm__nav .aim-btn{min-height:44px;min-width:44px}
.aim-tcm__title{flex:1 1 8rem;min-width:0;max-width:100%;overflow-wrap:anywhere}
.aim-tcm__title:focus{outline:none}
.aim-tcm__title:focus-visible{outline:2px solid var(--aim-accent-2);outline-offset:2px}
@media (min-width:48rem){.aim-tcm__tools{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.aim-tcm__seg{width:auto;min-width:22rem}.aim-tcm__nav{flex:1 1 auto;min-width:18rem;max-width:34rem}}
/* week: a list of days on phones, as many 14rem columns as the container holds on wide screens (the dashboard column is max 960px, so never squeezed into 7 narrow columns) */
.aim-tcm__week{display:grid;grid-template-columns:1fr;gap:.5rem}
.aim-tcm__wday{border:1px solid var(--aim-line);border-radius:var(--aim-r);padding:.25rem .5rem .1rem;background:var(--aim-bg);min-width:0}
.aim-tcm__wday.is-today{border-color:var(--aim-accent-2);box-shadow:inset 0 0 0 1px var(--aim-accent-2)}
.aim-tcm__wday.is-sel .aim-tcm__dlink{text-decoration:underline}
.aim-tcm__wday .aim-tcm__dh{margin:.1rem 0 .3rem}
.aim-tcm__dlink,.aim-tcm__ymb{background:transparent;border:0;padding:.25rem 0;min-height:44px;font:inherit;font-weight:700;color:var(--aim-accent);cursor:pointer;text-align:left}
.aim-tcm__wday ul.aim-tcm__dl{list-style:none;margin:0;padding:0}
.aim-tcm__time{display:inline-block;font-variant-numeric:tabular-nums;color:var(--aim-muted);font-size:.85rem}
@media (min-width:48rem){.aim-tcm__week{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));align-items:start}.aim-tcm__wday .aim-tcm__di{flex-wrap:wrap}}
/* year: 12 mini months */
.aim-tcm__year{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem .6rem}
@media (min-width:36rem){.aim-tcm__year{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:64rem){.aim-tcm__year{grid-template-columns:repeat(4,minmax(0,1fr))}}
.aim-tcm__ym{min-width:0;border:1px solid var(--aim-line);border-radius:var(--aim-r);padding:.25rem .4rem .4rem;background:var(--aim-bg)}
.aim-tcm__ym.is-now{border-color:var(--aim-accent-2)}
.aim-tcm__yh{margin:0}
.aim-tcm__yg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;text-align:center}
.aim-tcm__yw{font-size:.65rem;color:var(--aim-muted);line-height:1.6}
.aim-tcm__yd{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:1.9rem;padding:1px 0;border:0;border-radius:4px;background:transparent;color:var(--aim-ink);font:inherit;font-size:.72rem;cursor:pointer}
.aim-tcm__yd.is-today{background:var(--aim-accent);color:var(--aim-on-accent);font-weight:700}
.aim-tcm__yd.is-sel:not(.is-today){outline:1px solid var(--aim-accent)}
.aim-tcm__yn{line-height:1.3}
.aim-tcm__dots{display:flex;gap:1px;justify-content:center;min-height:5px}
.aim-tcm__dot{display:block;width:5px;height:5px;border-radius:50%}
.aim-tcm__dot.is-busy{opacity:.55}
@media (min-width:64rem){.aim-tcm__yd{min-height:2.2rem;font-size:.8rem}.aim-tcm__dot{width:6px;height:6px}}
.aim-tcm__daybox--day{margin-top:.2rem}
.aim-tcm__yd.is-today .aim-tcm__dot{box-shadow:0 0 0 1px var(--aim-on-accent)}
.aim-tcm__wday .aim-tcm__txt{overflow-wrap:break-word}
