:root{
  --smart1-blue:#0075be;
  --smart1-light-blue:#4599d4;
  --smart1-web-blue:#0075d2;
  --smart1-gray:#706f6f;
  --smart1-pink:#f72485;
  --smart1-brochure-pink:#e5007d;
  --surface:#ffffff;
  --surface-soft:#f5f8fb;
  --ink:#19212b;
  --muted:#6b7280;
  --border:#e5e7eb;
  --shadow:0 20px 50px rgba(15,23,42,.10);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--surface-soft);color:var(--ink);line-height:1.5}
a{color:var(--smart1-blue);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%}.brand-logo{height:46px;width:auto}.brand-logo.big{height:70px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.78rem 1.05rem;border-radius:14px;border:0;font-weight:700;cursor:pointer;text-decoration:none;background:var(--smart1-blue);color:#fff;box-shadow:0 8px 20px rgba(0,117,190,.25)}.btn:hover{background:#0065a4;text-decoration:none}.btn.secondary{background:#edf5fb;color:var(--smart1-blue);box-shadow:none}.btn.danger{background:var(--smart1-pink)}.btn.ghost{background:#fff;color:var(--smart1-gray);box-shadow:none;border:1px solid var(--border)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:1.2rem}.card.compact{padding:.85rem}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.form p{display:flex;flex-direction:column;margin:.8rem 0}.form label{font-weight:700;margin-bottom:.3rem}.form input,.form textarea,.form select{width:100%;border:1px solid var(--border);border-radius:12px;padding:.75rem .85rem;background:#fff;color:var(--ink);font:inherit}.form .errorlist{color:var(--smart1-pink);margin:.2rem 0;padding-left:1rem}.helptext{font-size:.86rem;color:var(--muted)}
.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--border);background:#fff}table{width:100%;border-collapse:collapse}th,td{padding:.8rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--smart1-gray);background:#f9fbfd}tr:last-child td{border-bottom:0}.badge{display:inline-flex;padding:.25rem .55rem;border-radius:999px;background:#e7f3fb;color:var(--smart1-blue);font-weight:700;font-size:.82rem}.badge.warn{background:#fff3e8;color:#b45309}.badge.ok{background:#e8f8ef;color:#047857}.badge.danger{background:#fde8f1;color:var(--smart1-pink)}
.messages{display:grid;gap:.5rem;margin:1rem 0}.message{padding:.75rem .9rem;border-radius:14px;border:1px solid var(--border);background:#fff}.message.success{border-color:#a7f3d0;background:#ecfdf5}.message.warning{border-color:#fed7aa;background:#fff7ed}.message.error{border-color:#fecdd3;background:#fff1f2}
.public-shell{min-height:100vh;background:radial-gradient(circle at top right,rgba(69,153,212,.25),transparent 32rem),linear-gradient(135deg,#fff,#f2f8fd 65%,#fff)}.public-header{display:flex;align-items:center;justify-content:space-between;max-width:1160px;margin:0 auto;padding:1rem 1.25rem}.public-main{max-width:1160px;margin:0 auto;padding:1rem 1.25rem 4rem}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:3rem 0}.hero h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.02;margin:.4rem 0;background:linear-gradient(135deg,var(--smart1-blue),var(--smart1-pink));-webkit-background-clip:text;background-clip:text;color:transparent}.lead{font-size:1.18rem;color:#4b5563;max-width:58ch}.meeting-card{display:flex;flex-direction:column;gap:.75rem;min-height:210px}.avatar{width:62px;height:62px;border-radius:18px;object-fit:cover;background:#eaf4fb}.slot-list{display:flex;flex-wrap:wrap;gap:.55rem}.slot-pill{position:relative}.slot-pill input{position:absolute;opacity:0;pointer-events:none}.slot-pill span{display:inline-flex;padding:.65rem .8rem;border-radius:999px;border:1px solid var(--border);background:#fff;cursor:pointer;font-weight:700}.slot-pill input:checked + span{background:var(--smart1-blue);color:#fff;border-color:var(--smart1-blue)}
.app-root{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.app-sidebar{background:#071827;color:#d5e6f4;padding:1rem;position:sticky;top:0;height:100vh;overflow:auto}.app-sidebar .brand{display:flex;align-items:center;gap:.8rem;margin-bottom:1.5rem}.app-sidebar .brand img{background:#fff;border-radius:14px;padding:.35rem}.menu-title{font-size:.72rem;text-transform:uppercase;color:#84a5bd;letter-spacing:.08em;margin:1.4rem .65rem .5rem}.menu a{display:flex;align-items:center;padding:.72rem .8rem;border-radius:14px;color:#d5e6f4;text-decoration:none;margin:.2rem 0}.menu a:hover,.menu a.active{background:rgba(255,255,255,.10);color:#fff}.app-main{min-width:0}.app-topbar{height:72px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 1.4rem;position:sticky;top:0;z-index:10}.app-content{padding:1.4rem;max-width:1400px}.stat{padding:1rem;border-radius:20px;background:#fff;border:1px solid var(--border)}.stat strong{display:block;font-size:2rem;color:var(--smart1-blue)}
@media (max-width:900px){.grid.two,.grid.three,.grid.four,.hero{grid-template-columns:1fr}.app-root{display:block}.app-sidebar{position:relative;height:auto}.app-topbar{position:relative}.public-header{flex-wrap:wrap}.card{border-radius:18px}.btn{width:100%}.table-wrap{font-size:.92rem}}


/* smart1Booking interaction helpers */
.actions,.inline-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.inline-actions form{margin:0}.muted{color:var(--muted)}
.day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;margin:1rem 0}.day-card{display:flex;flex-direction:column;align-items:center;gap:.15rem;border:1px solid var(--border);border-radius:16px;padding:.75rem .45rem;background:#fff;color:var(--ink);text-decoration:none;min-height:86px}.day-card:hover{text-decoration:none;transform:translateY(-1px)}.day-card.available{border-color:rgba(0,117,190,.35);background:#edf7fd;color:var(--smart1-blue);box-shadow:0 8px 18px rgba(0,117,190,.12)}.day-card.unavailable{opacity:.45;background:#f8fafc;color:var(--muted);pointer-events:none}.day-card.selected{outline:3px solid rgba(247,36,133,.25);border-color:var(--smart1-pink)}.day-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.day-card strong{font-size:1.15rem}.day-card small{text-align:center;font-size:.75rem}.booking-request-card{margin-top:1rem}.request-note{background:#f9fbfd;border:1px solid var(--border);border-radius:14px;padding:.75rem;color:#4b5563}.compact-date-form{margin-top:1rem}
@media (max-width:700px){.day-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.day-card{min-height:78px}.booking-hero{gap:1rem}.actions,.inline-actions{display:grid}.inline-actions .btn{width:100%}}


/* Public booking UX refinements */
.public-brand{display:inline-flex;align-items:center}
.language-switch{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.78);border:1px solid var(--border);border-radius:999px;padding:.25rem;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.language-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.42rem .58rem;border-radius:999px;color:var(--muted);font-weight:800;font-size:.82rem;text-decoration:none}
.language-chip:hover,.language-chip.active{background:#fff;color:var(--smart1-blue);text-decoration:none;box-shadow:0 4px 12px rgba(0,117,190,.10)}
.language-code{font-size:.72rem;letter-spacing:.06em}
.public-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);gap:1.4rem;align-items:stretch;padding:2.2rem 0 1.4rem}
.public-hero.compact h1{display:inline-block;font-size:clamp(2rem,4vw,4.2rem);line-height:1.12;margin:.4rem 0;padding-bottom:.08em;background:linear-gradient(135deg,var(--smart1-blue),var(--smart1-pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.process-card{align-self:center}.clean-steps{margin:0;padding-left:1.2rem}.clean-steps li{margin:.45rem 0;font-weight:750}
.booking-start{margin-top:1.3rem}.section-heading{max-width:760px;margin-bottom:1rem}.section-heading h2{margin:.25rem 0 .35rem;font-size:clamp(1.45rem,2.5vw,2.2rem)}.section-heading p{margin:0;color:var(--muted)}
.step-kicker{display:inline-flex;align-items:center;color:var(--smart1-pink);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.meeting-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.meeting-type-card{display:flex;min-height:205px;flex-direction:column;gap:.7rem;border:1px solid var(--border);background:rgba(255,255,255,.88);border-radius:24px;padding:1.1rem;color:var(--ink);text-decoration:none;box-shadow:0 14px 38px rgba(15,23,42,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.meeting-type-card:hover{transform:translateY(-2px);text-decoration:none;border-color:rgba(0,117,190,.35);box-shadow:0 18px 46px rgba(0,117,190,.14)}
.meeting-type-card.selected{border-color:var(--smart1-pink);background:linear-gradient(135deg,#fff,#fff5fa);box-shadow:0 20px 52px rgba(247,36,133,.18)}
.meeting-type-card strong{font-size:1.25rem;color:var(--smart1-blue)}.meeting-type-card small{color:var(--muted);line-height:1.45}.meeting-type-card em{margin-top:auto;color:var(--smart1-gray);font-style:normal;font-weight:800}
.targets-section{padding-top:.3rem}.public-target-card{min-height:260px}.target-card-header{display:flex;align-items:center;gap:1rem}.target-card-header h3{margin:.1rem 0;font-size:1.22rem}.target-card-header p{margin:0;color:var(--muted)}.target-kind{font-size:.72rem;font-weight:900;color:var(--smart1-pink);letter-spacing:.08em;text-transform:uppercase}.avatar-initials{display:grid;place-items:center;color:var(--smart1-blue);font-weight:900;font-size:1.35rem}
.empty-state,.choose-meeting-hint{color:var(--muted)}.choose-meeting-hint{margin-top:1.2rem}.empty-state h3,.choose-meeting-hint strong{color:var(--ink)}

.booking-page{display:grid;gap:1.15rem;padding-bottom:2rem}
.booking-intro{padding:1.5rem 1.6rem;background:linear-gradient(135deg,#fff,#f5fbff)}
.booking-intro h1{font-size:clamp(2rem,4vw,3.8rem);line-height:1.02;margin:.45rem 0;background:linear-gradient(135deg,var(--smart1-blue),var(--smart1-pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.booking-summary{max-width:72ch}.text-popover-button{display:inline-flex;align-items:center;border:0;background:transparent;color:var(--smart1-blue);font:inherit;font-weight:900;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.18em;cursor:pointer;padding:0 .1rem}.text-popover-button:hover{color:var(--smart1-pink)}
.target-highlight{display:inline-flex;padding:.08rem .35rem;border-radius:.55rem;background:#eaf6fd;color:var(--smart1-blue);font-weight:950}
.smart-dialog{width:min(560px,calc(100vw - 2rem));border:0;border-radius:24px;padding:1.4rem;box-shadow:0 30px 80px rgba(15,23,42,.25)}.smart-dialog::backdrop{background:rgba(7,24,39,.38);backdrop-filter:blur(2px)}.dialog-close-form{position:absolute;right:.75rem;top:.65rem}.dialog-close{width:2.1rem;height:2.1rem;border:0;border-radius:999px;background:#edf5fb;color:var(--smart1-blue);font-size:1.3rem;cursor:pointer}
.booking-calendar-card{padding:1.35rem 1.45rem;border-color:rgba(0,117,190,.16);box-shadow:0 24px 62px rgba(0,117,190,.13)}
.day-grid.calendar-first{grid-template-columns:repeat(7,minmax(0,1fr));gap:.65rem}
.calendar-first .day-card{min-height:112px;justify-content:center;border-radius:20px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.calendar-first .day-card strong{font-size:1.38rem}.calendar-first .day-card small{font-weight:800}
.day-card.available{background:linear-gradient(180deg,#f0f9ff,#fff);border-color:rgba(0,117,190,.34);color:var(--smart1-blue)}
.day-card.available:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,117,190,.18)}
.day-card.selected{outline:0;border-color:var(--smart1-pink);background:linear-gradient(135deg,var(--smart1-blue),var(--smart1-light-blue));color:#fff;box-shadow:0 18px 45px rgba(0,117,190,.26),0 0 0 4px rgba(247,36,133,.22)}
.day-card.selected small,.day-card.selected span,.day-card.selected strong{color:#fff}.day-card.selected::after{content:"✓";display:grid;place-items:center;width:1.45rem;height:1.45rem;margin-top:.25rem;border-radius:999px;background:rgba(255,255,255,.22);font-weight:900}
.calendar-hint{margin:1rem 0 0;border:1px dashed rgba(0,117,190,.35);background:#f2f9fe;color:var(--smart1-blue);border-radius:16px;padding:.9rem 1rem;font-weight:750}
.selected-date-header{border-bottom:1px solid var(--border);padding-bottom:1rem;margin-bottom:1rem}.selected-date-header h2{margin:.25rem 0;font-size:clamp(1.35rem,2.5vw,2rem)}.selected-date-header h2 strong{color:var(--smart1-blue)}.selected-date-header p{margin:0;color:var(--muted)}
.form-step{margin:1rem 0 1.15rem}.form-step h3{margin:.2rem 0}.prominent-slots{gap:.7rem}.prominent-slots .slot-pill span{min-width:118px;justify-content:center;padding:.85rem 1rem;border-radius:16px;box-shadow:0 8px 20px rgba(15,23,42,.06)}.prominent-slots .slot-pill input:focus-visible + span{outline:3px solid rgba(69,153,212,.35);outline-offset:3px}.prominent-slots .slot-pill input:checked + span{background:linear-gradient(135deg,var(--smart1-blue),var(--smart1-light-blue));border-color:var(--smart1-blue);box-shadow:0 14px 30px rgba(0,117,190,.25)}
.privacy-remark{font-size:.86rem;color:var(--muted);margin-top:.65rem}.privacy-remark a{font-weight:800}.submit-row{margin-top:1rem}

@media (max-width:1050px){
  .meeting-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .day-grid.calendar-first{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:700px){
  .public-hero{grid-template-columns:1fr;padding:1rem 0}
  .meeting-type-grid{grid-template-columns:1fr}
  .day-grid.calendar-first{grid-template-columns:repeat(3,minmax(0,1fr))}
  .calendar-first .day-card{min-height:92px}
  .booking-intro,.booking-calendar-card{padding:1rem}
  .language-switch{margin-left:auto}
  .language-code{display:none}
}

.success-card{max-width:760px;margin:3rem auto;text-align:center}.success-card .lead{margin:auto}

.code-block{white-space:pre-wrap;background:#0b1220;color:#e5eefb;border-radius:16px;padding:1rem;overflow:auto;max-height:360px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem}.badge.warning{background:#fff3cd;color:#8a5a00}.message.warning{border-color:#ffe08a;background:#fff8df;color:#5c4200}
.compact-list{margin:.75rem 0 0 1.1rem;padding:0}.compact-list li{margin:.25rem 0;color:var(--muted)}



/* Public booking async and cross-browser refinements */
.message.info{border-color:#bde3fb;background:#f2f9fe;color:#075985}
.language-flag{position:relative;display:inline-block;width:1.28rem;height:.86rem;border-radius:.18rem;overflow:hidden;box-shadow:0 0 0 1px rgba(15,23,42,.12);flex:0 0 auto}
.language-flag-de{background:linear-gradient(to bottom,#111 0 33.33%,#dd0000 33.33% 66.66%,#ffce00 66.66% 100%)}
.language-flag-en{background:
  linear-gradient(to right,transparent 0 42%,#fff 42% 58%,transparent 58% 100%),
  linear-gradient(to bottom,transparent 0 36%,#fff 36% 64%,transparent 64% 100%),
  #012169}
.language-flag-en::before{content:"";position:absolute;inset:0;background:
  linear-gradient(to right,transparent 0 46%,#c8102e 46% 54%,transparent 54% 100%),
  linear-gradient(to bottom,transparent 0 42%,#c8102e 42% 58%,transparent 58% 100%)}
.booking-request-card{scroll-margin-top:1rem}
.booking-request-card.is-hidden{display:none}
.booking-panel-loading{display:grid;gap:.45rem;place-items:center;text-align:center;min-height:170px;color:var(--smart1-blue)}
.booking-panel-loading[hidden],.booking-request-content[hidden],.empty-state[hidden],.calendar-hint[hidden]{display:none!important}
.loading-spinner{width:2rem;height:2rem;border-radius:999px;border:3px solid rgba(0,117,190,.18);border-top-color:var(--smart1-blue);animation:smart1-spin .75s linear infinite}
.button-spinner{width:1.05rem;height:1.05rem;border-width:2px;border-top-color:#fff;border-color:rgba(255,255,255,.35);border-top-color:#fff}
@keyframes smart1-spin{to{transform:rotate(360deg)}}
.day-card.is-loading{pointer-events:none;position:relative}
.day-card.is-loading::before{content:"";position:absolute;inset:.5rem;border-radius:16px;background:rgba(255,255,255,.38)}
.day-card.is-loading::after{content:"";width:1.35rem;height:1.35rem;border-radius:999px;border:3px solid rgba(255,255,255,.45);border-top-color:#fff;position:absolute;left:50%;top:50%;margin-left:-.675rem;margin-top:-.675rem;animation:smart1-spin .75s linear infinite}
.submit-request-button{width:100%;min-height:3.25rem}
.submit-request-button[disabled],.submit-request-button.is-processing{cursor:wait;opacity:.86}
.privacy-remark{display:block;line-height:1.55}
.privacy-remark a{white-space:nowrap}
.booking-request-form[aria-busy="true"] input,.booking-request-form[aria-busy="true"] textarea,.booking-request-form[aria-busy="true"] select{opacity:.85}
.selected-date-header{scroll-margin-top:1rem}
.slot-list.prominent-slots:empty::before{content:attr(data-empty-label);color:var(--muted)}
.table-wrap.mature-table table td,.table-wrap.mature-table table th{vertical-align:middle}
.card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}
.card-head h2{margin:.1rem 0 .25rem}
.card-head p{margin:0}

@media (max-width:900px){
  .public-header{align-items:center}
  .brand-logo{height:38px}
  .booking-page{gap:.85rem}
  .booking-intro h1{font-size:clamp(2rem,10vw,3rem)}
  .booking-summary{font-size:1rem}
  .day-grid.calendar-first{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
  .calendar-first .day-card{min-height:88px;border-radius:16px;padding:.62rem .35rem}
  .calendar-first .day-card strong{font-size:1.12rem}
  .calendar-first .day-card small{font-size:.68rem}
  .booking-calendar-card,.booking-request-card{padding:1rem}
  .grid.two{grid-template-columns:1fr}
  .prominent-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .prominent-slots .slot-pill span{width:100%;min-width:0}
  .selected-date-header h2{font-size:1.25rem}
  .card-head{display:grid}
}

@media (max-width:480px){
  .public-main{padding:.65rem .65rem 2.5rem}
  .public-header{padding:.75rem .65rem}
  .language-chip{padding:.36rem .46rem}
  .language-flag{width:1.1rem;height:.76rem}
  .day-grid.calendar-first{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prominent-slots{grid-template-columns:1fr}
  .request-note,.privacy-remark{font-size:.94rem}
}


/* Backend calendar-sync: weekly blocker/slot calendar */
.sync-timing-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
  margin:.2rem 0 1rem;
}
.sync-timing-card{
  min-width:0;
  padding:.9rem 1rem;
  border:1px solid #deebf5;
  border-radius:16px;
  background:linear-gradient(135deg,#f8fbff 0%,#fff 100%);
}
.sync-timing-label{
  color:#667085;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.sync-timing-value{
  margin-top:.25rem;
  color:#0b1f35;
  font-size:1.12rem;
  font-weight:800;
  line-height:1.3;
}
.sync-timing-meta{
  display:flex;
  align-items:center;
  gap:.55rem;
  flex-wrap:wrap;
  margin-top:.55rem;
  color:#667085;
}
.sync-timing-meta small{font-size:.8rem}
.sync-calendar-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:end;
  margin-bottom:1rem;
}
.sync-calendar-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.sync-legend{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0;color:#5c6f86;font-size:.9rem}
.sync-legend span{display:inline-flex;align-items:center;gap:.4rem}
.legend-dot{width:.85rem;height:.85rem;border-radius:999px;display:inline-block}
.legend-dot.slot{background:#d9fbe7;border:1px solid #6bd99a}
.legend-dot.blocker{background:#ffe4e8;border:1px solid #ff9eb0}
.legend-dot.tentative{background:#fff3cd;border:1px solid #ffd45a}
.legend-dot.free{background:#edf2f7;border:1px solid #cbd5e1}
.week-calendar{
  display:grid;
  grid-template-columns:repeat(7,minmax(180px,1fr));
  gap:.75rem;
  overflow-x:auto;
  padding-bottom:.35rem;
}
.week-calendar-day{
  background:#f7fbff;
  border:1px solid #deebf5;
  border-radius:20px;
  min-height:360px;
  padding:.75rem;
}
.week-calendar-day header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:.65rem;
  margin-bottom:.65rem;
  border-bottom:1px solid #deebf5;
  color:#0b1f35;
}
.week-calendar-day header strong{text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;color:#0075be}
.week-calendar-day header span{font-weight:800;font-size:1.05rem}
.week-calendar-items{display:grid;gap:.55rem}
.calendar-item{
  border-radius:14px;
  padding:.62rem .68rem;
  background:#fff;
  border:1px solid #dde8f2;
  box-shadow:0 8px 20px rgba(11,31,53,.04);
}
.calendar-item.slot{background:#ecfff4;border-color:#9ce7ba}
.calendar-item.external-blocker{background:#fff0f3;border-color:#ffbfd0}
.calendar-item.external-blocker.tentative{background:#fff8df;border-color:#ffdc73}
.calendar-item.internal-blocker{background:#eef5ff;border-color:#a9d4ff}
.calendar-item.external-free{background:#f8fafc;border-color:#e2e8f0;opacity:.82}
.calendar-item-time{font-weight:800;color:#0b1f35;font-size:.92rem}
.calendar-item-title{font-weight:700;margin-top:.15rem}
.calendar-item-subtitle{font-size:.78rem;color:#706f6f;margin-top:.1rem}
.calendar-empty{font-size:.9rem;color:#8a98a8;margin:.25rem 0}

/* Meeting type assignment matrix */
.assignment-matrix-form{display:grid;gap:1rem}
.matrix-toolbar{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.assignment-matrix-wrap{
  overflow:auto;
  border:1px solid #deebf5;
  border-radius:20px;
  background:#fff;
}
.assignment-matrix{width:100%;border-collapse:separate;border-spacing:0;min-width:900px}
.assignment-matrix th,.assignment-matrix td{
  border-bottom:1px solid #eef3f8;
  border-right:1px solid #eef3f8;
  padding:.75rem;
  text-align:center;
  vertical-align:middle;
}
.assignment-matrix thead th{
  background:#f3f8fd;
  position:sticky;
  top:0;
  z-index:2;
}
.assignment-matrix .sticky-target{
  position:sticky;
  left:0;
  z-index:3;
  background:#f9fcff;
  text-align:left;
  min-width:260px;
}
.assignment-matrix thead .sticky-target{z-index:4;background:#f3f8fd}
.matrix-type-head{display:grid;gap:.25rem;justify-items:center}
.matrix-type-head span{font-weight:800;color:#0b1f35}
.matrix-type-head small{font-size:.78rem;color:#706f6f}
.matrix-target{display:grid;gap:.15rem}
.matrix-target span{font-size:.82rem;color:#706f6f}
.matrix-row-actions{margin-top:.5rem;display:flex;gap:.35rem;flex-wrap:wrap}
.matrix-mini-action{
  border:1px solid #dce8f2;
  background:#eef7ff;
  color:#0075be;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
  padding:.25rem .48rem;
  cursor:pointer;
}
.matrix-checkbox{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.matrix-checkbox input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
}
.matrix-checkbox span{
  width:2.15rem;
  height:2.15rem;
  border-radius:12px;
  border:2px solid #cfe2f2;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:.16s ease;
}
.matrix-checkbox span:after{
  content:"";
  width:.72rem;
  height:.42rem;
  border-left:3px solid #fff;
  border-bottom:3px solid #fff;
  transform:rotate(-45deg) translate(1px,-1px);
  opacity:0;
}
.matrix-checkbox input:checked + span{
  background:#0075be;
  border-color:#0075be;
  box-shadow:0 8px 20px rgba(0,117,190,.2);
}
.matrix-checkbox input:checked + span:after{opacity:1}
.assignment-matrix td.is-active{background:#f0f8ff}
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

@media (max-width: 900px){
  .sync-timing-grid{grid-template-columns:1fr}
  .sync-calendar-toolbar{grid-template-columns:1fr}
  .sync-calendar-actions{justify-content:flex-start}
  .week-calendar{grid-template-columns:repeat(7,minmax(210px,1fr))}
  .week-calendar-day{min-height:260px}
  .matrix-toolbar{justify-content:flex-start}
}


.badge.muted{background:#f1f5f9;color:#64748b}


.additional-customers{
  margin:.35rem 0 1rem;
}
.additional-customer-help{
  color:#706f6f;
  font-size:.92rem;
  margin:.35rem 0 .75rem;
}
.additional-customer-help[hidden]{display:none!important}
.additional-customer-row{
  margin:.4rem 0;
}
.additional-customer-row[hidden]{display:none!important}
.btn.small{padding:.55rem .85rem;font-size:.9rem}
.customer-contact-list{
  display:flex;
  flex-direction:column;
  gap:.25rem;
}
.customer-contact-list .contact-name{font-weight:700}
.customer-contact-list .contact-email{color:#706f6f;font-size:.92rem}
.customer-contact-list .contact-role{color:#0075be;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.customer-contact-chip{
  display:inline-flex;
  flex-direction:column;
  gap:.05rem;
  border-radius:12px;
  background:#f1f8fd;
  padding:.45rem .65rem;
  margin:.15rem .25rem .15rem 0;
}


