:root{
  --bg:#eef0f4;
  --surface:#ffffff;
  --surface-2:#f6f7fb;
  --surface-3:#eef1f7;
  --ink:#12142b;
  --ink-soft:#565b73;
  --ink-faint:#9297aa;
  --line:#e1e4ec;
  --line-strong:#c9cedb;
  --accent:#2d5bff;
  --accent-soft:#e8edff;
  --accent-ink:#1a3ac2;
  --success:#12b76a;
  --warning:#f0a202;
  --danger:#f04438;
  --radius:14px;
  --radius-sm:10px;
  --shadow:0 1px 2px rgba(18,20,43,.04),0 10px 30px -18px rgba(18,20,43,.22);
  --shadow-lift:0 2px 8px rgba(18,20,43,.06),0 18px 42px -22px rgba(18,20,43,.28);
  --ease:cubic-bezier(.2,.8,.2,1);
  --ai-panel-width:640px;
  --drawer-panel-width:460px;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
::selection{background:var(--accent-soft)}
.hidden{display:none!important}
.mono{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}

.auth-screen{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:linear-gradient(135deg,#f5f6fa 0%,#eef0f5 100%);
}
.auth-panel{
  width:min(980px,100%);
  min-height:580px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) 430px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 24px 70px -42px rgba(18,20,43,.42);
}
.auth-brand{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:44px;
  border-right:1px solid var(--line);
  background:
    linear-gradient(145deg,rgba(255,255,255,.72),rgba(239,241,247,.92)),
    #eef0f4;
}
.auth-logo{width:210px;height:auto;display:block;filter:grayscale(1) contrast(1.35)}
.auth-copy{margin:auto 0}
.auth-copy > span{
  color:#6b4bff;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.auth-copy h1{
  margin:8px 0 12px;
  color:var(--ink);
  font-size:36px;
  line-height:1.08;
  font-weight:780;
}
.auth-copy p{
  margin:0;
  max-width:340px;
  color:var(--ink-soft);
  font-size:14px;
  line-height:1.55;
}
.auth-ai-card{
  display:flex;
  align-items:center;
  gap:12px;
  max-width:380px;
  margin-top:26px;
  padding:13px;
  border:1px solid rgba(107,75,255,.18);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  box-shadow:0 14px 34px -28px rgba(18,20,43,.38);
}
.auth-ai-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(107,75,255,.20);
  border-radius:12px;
  background:#f3efff;
  color:#6b4bff;
  font-size:21px;
  font-weight:850;
}
.auth-ai-card strong{
  display:block;
  color:var(--ink);
  font-size:13px;
  line-height:1.2;
}

.booking-public-body{
  min-height:100vh;
  background:
    radial-gradient(circle at top left,rgba(45,91,255,.10),transparent 34%),
    linear-gradient(135deg,#f7f8fb 0%,#eef0f4 100%);
}
.public-booking-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:28px;
}
.public-booking-icons{
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
}
.public-booking-icon{
  flex:0 0 auto;
  width:22px;
  height:22px;
  display:inline-grid;
  place-items:center;
  color:#071f3d;
}
.public-booking-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.public-booking-card{
  width:min(1040px,100%);
  min-height:620px;
  display:grid;
  grid-template-columns:minmax(280px,.92fr) minmax(0,1.18fr);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 26px 80px -46px rgba(18,20,43,.45);
}
.public-booking-info{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:26px;
  padding:42px;
  border-right:1px solid var(--line);
  background:linear-gradient(145deg,rgba(255,255,255,.80),rgba(242,244,249,.96));
}
.public-booking-logo{width:190px;height:auto;filter:grayscale(1) contrast(1.25)}
.public-booking-kicker{
  display:block;
  margin-bottom:10px;
  color:var(--accent);
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
}
.public-booking-info h1{
  margin:0 0 14px;
  color:var(--ink);
  font-size:34px;
  line-height:1.08;
  font-weight:800;
}
.public-booking-info p{
  margin:0;
  max-width:390px;
  color:var(--ink-soft);
  font-size:14px;
  line-height:1.65;
}
.public-booking-meta{
  display:grid;
  gap:12px;
  margin:0;
}
.public-booking-meta div{
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.72);
}
.public-booking-meta dt{
  margin:0 0 4px;
  color:var(--ink-faint);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.public-booking-meta dd{
  margin:0;
  color:var(--ink);
  font-size:13px;
  font-weight:750;
}
.public-booking-picker{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:42px;
}
.public-booking-controls{
  display:grid;
  grid-template-columns:180px minmax(220px,1fr);
  gap:14px;
}
.public-booking-controls label{
  display:grid;
  gap:8px;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:760;
}
.public-booking-controls input,
.public-booking-controls select{
  width:100%;
  min-height:44px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  outline:none;
}
.public-booking-controls input:focus,
.public-booking-controls select:focus{
  border-color:rgba(45,91,255,.55);
  box-shadow:0 0 0 4px rgba(45,91,255,.10);
}
.public-booking-status{
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.45;
}
.public-booking-status[data-tone="error"]{
  border-color:rgba(240,68,56,.18);
  background:rgba(240,68,56,.08);
  color:#b42318;
}
.public-booking-status[data-tone="empty"]{
  border-color:rgba(240,162,2,.20);
  background:rgba(240,162,2,.10);
  color:#8a5b00;
}
.public-booking-slots{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.public-booking-slot{
  min-height:64px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
  padding:13px 15px;
  border:1px solid rgba(45,91,255,.22);
  border-radius:12px;
  background:#fff;
  color:var(--accent-ink);
  text-align:left;
  box-shadow:0 10px 22px -22px rgba(45,91,255,.42);
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.public-booking-slot:hover{border-color:rgba(45,91,255,.45);background:var(--accent-soft)}
.public-booking-slot.is-selected{
  border-color:rgba(45,91,255,.70);
  background:rgba(45,91,255,.08);
  box-shadow:0 16px 30px -24px rgba(45,91,255,.60);
  transform:translateY(-1px);
}
.public-booking-slot:focus-visible{outline:3px solid rgba(45,91,255,.18);outline-offset:2px}
.public-booking-slot span{
  color:var(--accent-ink);
  font-size:16px;
  font-weight:850;
}
.public-booking-slot small{
  color:var(--ink-faint);
  font-size:11.5px;
  line-height:1.35;
}
.public-booking-form-panel{
  display:grid;
  gap:16px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(180deg,#fff,rgba(247,248,251,.86));
}
.public-booking-selected{
  display:grid;
  gap:6px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.public-booking-selected strong{
  color:var(--ink);
  font-size:15px;
  line-height:1.35;
}
.public-booking-selected span{
  color:var(--ink-faint);
  font-size:12px;
  line-height:1.45;
}
.public-booking-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.public-booking-form label{
  display:grid;
  gap:8px;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:760;
}
.public-booking-form label > span{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.public-booking-form label em{
  color:#d92d20;
  font-style:normal;
  font-weight:850;
}
.public-booking-form label.full,
.public-booking-actions.full{
  grid-column:1/-1;
}
.public-booking-form input,
.public-booking-form textarea{
  width:100%;
  min-height:44px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  outline:none;
  font:inherit;
}
.public-booking-form textarea{
  min-height:88px;
  padding:12px 13px;
  resize:vertical;
}
.public-booking-form input:focus,
.public-booking-form textarea:focus{
  border-color:rgba(45,91,255,.55);
  box-shadow:0 0 0 4px rgba(45,91,255,.10);
}
.public-booking-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.public-booking-actions .btn{
  min-height:42px;
}
.public-booking-actions .btn:disabled{
  opacity:.65;
  cursor:wait;
}
.public-booking-success{
  display:grid;
  gap:8px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:var(--ink-soft);
  box-shadow:0 16px 42px -36px rgba(18,20,43,.45);
}
.public-booking-success strong{
  color:var(--ink);
  font-size:22px;
  line-height:1.2;
}
.public-booking-success span{
  color:var(--accent-ink);
  font-size:14px;
  font-weight:800;
  line-height:1.45;
}
.public-booking-success p{
  margin:0;
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.45;
}
.public-booking-card{
  width:min(1180px,100%);
  min-height:0;
  grid-template-columns:minmax(300px,340px) minmax(0,1fr);
  border-radius:12px;
  box-shadow:0 24px 70px -50px rgba(18,20,43,.52);
  transition:width .18s ease,grid-template-columns .18s ease;
}
.public-booking-page[data-step="select"]:not(.has-selected-date) .public-booking-card{
  width:min(940px,100%);
  grid-template-columns:minmax(300px,340px) minmax(0,1fr);
}
.public-booking-page[data-step="select"].has-selected-date .public-booking-card{
  width:min(1180px,100%);
}
.public-booking-info{
  justify-content:flex-start;
  gap:22px;
  padding:30px;
  background:#fff;
}
.public-booking-page[data-step="select"] .public-booking-info{
  padding:0;
}
.public-booking-event-info,
.public-booking-summary-panel{
  display:grid;
  gap:22px;
  animation:public-booking-reveal .18s ease;
}
.public-booking-page[data-step="select"] .public-booking-event-info{
  grid-template-rows:auto 1fr;
  gap:0;
}
.public-booking-summary-panel{
  gap:16px;
}
.public-booking-page[data-step="details"] .public-booking-card{
  width:min(900px,100%);
  grid-template-columns:minmax(280px,320px) minmax(0,1fr);
}
.public-booking-page[data-step="details"] .public-booking-info{
  padding:0;
}
.public-booking-page[data-step="details"] .public-booking-summary-panel{
  position:relative;
  min-height:100%;
  gap:0;
  display:flex;
  flex-direction:column;
  padding-bottom:28px;
}
.public-booking-page[data-step="details"] .public-booking-summary-panel > .public-booking-logo{
  width:112px;
  align-self:center;
  margin:58px 0 18px;
}
.public-booking-summary-person{
  display:grid;
  gap:8px;
  padding:18px 24px 0;
  border-top:1px solid var(--line);
}
.public-booking-summary-person strong{
  color:#737373;
  font-size:15px;
  line-height:1.15;
  font-weight:800;
}
.public-booking-page[data-step="details"] .public-booking-summary-panel h1,
.public-booking-page[data-step="details"] .public-booking-summary-panel .public-booking-meta{
  margin-inline:24px;
}
.public-booking-page[data-step="details"] .public-booking-summary-panel h1{
  margin-top:4px;
  font-size:23px;
  line-height:1.08;
}
.public-booking-page[data-step="details"] .public-booking-summary-panel .public-booking-meta{
  margin-top:4px;
  gap:7px;
  margin-bottom:0;
}
.public-booking-page[data-step="details"] .public-booking-summary-panel .public-booking-meta div:nth-child(4){
  display:none;
}
.public-booking-page[data-step="details"] .public-booking-summary-person .public-booking-host-photo{
  width:56px;
  height:56px;
}
.public-booking-page[data-step="details"] .public-booking-meta div{
  gap:8px;
}
.public-booking-page[data-step="details"] .public-booking-meta span{
  width:18px;
}
.public-booking-page[data-step="details"] .public-booking-meta strong{
  font-size:12px;
  line-height:1.25;
}
.public-booking-page[data-step="details"] .public-booking-picker{
  padding:30px 34px;
}
.public-booking-page[data-step="details"] .public-booking-form-panel{
  max-width:380px;
}
.public-booking-back{
  width:40px;
  height:40px;
  display:inline-grid;
  place-items:center;
  position:absolute;
  top:18px;
  left:20px;
  z-index:2;
  margin:0;
  padding:0;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--accent-ink);
  font:inherit;
  font-size:0;
  font-weight:800;
  box-shadow:0 12px 28px -24px rgba(12,31,61,.45);
}
.public-booking-back::before{
  content:"←";
  font-size:28px;
  line-height:1;
}
.public-booking-back:hover{
  border-color:rgba(45,91,255,.38);
  background:#f7faff;
}
.public-booking-page[data-step="confirmed"] .public-booking-back{
  display:none;
}
.public-booking-page[data-step="confirmed"] .public-booking-card{
  width:min(1280px,100%);
  min-height:min(760px,calc(100vh - 56px));
  display:block;
}
.public-booking-page[data-step="confirmed"] .public-booking-info{
  display:none;
}
.public-booking-page[data-step="confirmed"] .public-booking-picker{
  min-height:min(760px,calc(100vh - 56px));
  display:grid;
  place-items:start center;
  padding:58px 32px 40px;
}
.public-booking-logo{
  width:116px;
}
.public-booking-page[data-step="select"] .public-booking-event-info > .public-booking-logo{
  width:150px;
  justify-self:center;
  margin:36px 0 28px;
}
.public-booking-page[data-step="select"] .public-booking-copy,
.public-booking-page[data-step="select"] .public-booking-meta{
  margin:0 32px;
}
.public-booking-page[data-step="select"] .public-booking-copy{
  padding-top:28px;
  border-top:1px solid var(--line);
}
.public-booking-host-photo{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:999px;
}
.public-booking-host-name{
  display:block;
  margin-top:2px;
  color:#737373;
  font-size:17px;
  line-height:1.2;
  font-weight:800;
}
.public-booking-page[data-step="select"] .public-booking-meta{
  margin-top:24px;
}
.public-booking-copy{
  display:grid;
  gap:10px;
}
.public-booking-info h1{
  margin:0;
  font-size:28px;
  line-height:1.14;
}
.public-booking-page[data-step="select"] .public-booking-info h1{
  color:#071f3d;
  font-size:29px;
  line-height:1.12;
  font-weight:850;
}
.public-booking-info p{
  font-size:13px;
  line-height:1.55;
}
.public-booking-meta{
  gap:10px;
}
.public-booking-meta div{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.public-booking-meta span{
  flex:0 0 auto;
  width:22px;
  color:var(--ink);
  line-height:1;
}
.public-booking-meta strong{
  color:var(--ink);
  font-size:13px;
  font-weight:750;
  line-height:1.4;
}
.public-booking-picker{
  gap:14px;
  padding:30px;
  background:#fff;
}
.public-booking-page[data-step="select"] .public-booking-picker{
  padding:42px 36px;
}
.public-booking-select-head h2{
  margin:0 0 44px;
  color:#071f3d;
  font-size:25px;
  line-height:1.2;
  font-weight:850;
}
.public-booking-scheduler{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(210px,240px);
  gap:14px;
  align-items:start;
}
.public-booking-page:not(.has-selected-date) .public-booking-scheduler{
  grid-template-columns:minmax(0,520px);
  justify-content:center;
}
.public-booking-page:not(.has-selected-date) .public-booking-times{
  display:none;
}
.public-booking-page.has-selected-date .public-booking-select-head h2{
  margin-bottom:24px;
}
.public-booking-page.has-selected-date .public-booking-scheduler{
  grid-template-columns:minmax(280px,1fr) minmax(210px,240px);
  gap:14px;
}
.public-booking-calendar-head{
  gap:34px;
}
.public-booking-weekdays,
.public-booking-calendar-grid{
  gap:5px 4px;
}
.public-booking-day{
  width:38px;
  height:38px;
  font-size:16px;
}
.public-booking-page.has-selected-date .public-booking-timezone{
  margin-top:22px;
}
.public-booking-calendar,
.public-booking-times{
  min-width:0;
  display:grid;
  gap:10px;
}
.public-booking-calendar-head,
.public-booking-times-head{
  min-height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:54px;
}
.public-booking-calendar-head strong,
.public-booking-times-head span{
  color:#071f3d;
  font-size:18px;
  font-weight:800;
}
.public-booking-month-btn{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:999px;
  background:#fff;
  color:var(--accent);
  font-size:30px;
  line-height:1;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.public-booking-month-btn:hover:not(:disabled){
  border-color:rgba(45,91,255,.35);
  background:var(--accent-soft);
  color:var(--accent-ink);
}
.public-booking-month-btn:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.public-booking-weekdays,
.public-booking-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:5px 4px;
}
.public-booking-weekdays span{
  display:grid;
  place-items:center;
  height:28px;
  color:#55708d;
  font-size:13px;
  font-weight:800;
}
.public-booking-day{
  aspect-ratio:1;
  width:38px;
  height:38px;
  justify-self:center;
  display:grid;
  place-items:center;
  border:1px solid transparent;
  border-radius:999px;
  background:#fff;
  color:#7a7f86;
  font-size:16px;
  font-weight:760;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.public-booking-day:hover:not(:disabled){
  border-color:rgba(45,91,255,.28);
  background:var(--accent-soft);
  color:var(--accent-ink);
  transform:translateY(-1px);
}
.public-booking-day.has-slots{
  background:rgba(45,91,255,.08);
  color:#006bff;
}
.public-booking-day.is-selected{
  border-color:#006bff;
  background:#006bff;
  color:#fff;
}
.public-booking-day.is-today:not(.is-selected){
  border-color:rgba(45,91,255,.32);
}
.public-booking-day:disabled{
  color:rgba(98,106,124,.38);
  cursor:not-allowed;
}
.public-booking-day.is-outside{
  visibility:hidden;
}
.public-booking-day.is-loading span{
  opacity:.45;
}
.public-booking-timezone{
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:8px;
  max-width:100%;
  margin-top:34px;
  color:#071f3d;
  font-size:14px;
  font-weight:850;
  position:relative;
}
.public-booking-timezone::before{
  display:none;
}
.public-booking-timezone-label{
  color:#071f3d;
  font-size:13px;
  font-weight:850;
}
.public-booking-timezone-picker{
  position:relative;
  width:min(100%,360px);
}
.public-booking-timezone-button{
  width:100%;
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 13px;
  border:0;
  border-radius:999px;
  background:#f1f4f8;
  color:#183557;
  font-size:14px;
  font-weight:650;
  text-align:left;
  transition:background .18s ease,box-shadow .18s ease,color .18s ease;
}
.public-booking-timezone-button .public-booking-icon{
  width:18px;
  height:18px;
}
.public-booking-timezone-button:hover,
.public-booking-timezone-button[aria-expanded="true"]{
  background:#e6edf6;
}
.public-booking-timezone-button:focus-visible{
  outline:0;
  box-shadow:0 0 0 3px rgba(0,107,255,.24);
}
.public-booking-timezone-button-text{
  min-width:0;
  flex:1 1 auto;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.public-booking-timezone-caret{
  width:16px;
  height:16px;
  display:grid;
  place-items:center;
  color:#071f3d;
  font-size:13px;
  line-height:1;
  transform:translateY(-1px);
}
.public-booking-timezone-menu{
  position:absolute;
  left:0;
  bottom:calc(100% + 10px);
  z-index:40;
  width:min(560px,calc(100vw - 48px));
  overflow:hidden;
  border:1px solid rgba(0,107,255,.38);
  border-radius:10px;
  background:#fff;
  box-shadow:0 16px 40px rgba(7,31,61,.18);
  animation:public-booking-reveal .16s ease;
}
.public-booking-timezone-search{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-bottom:1px solid rgba(85,112,141,.16);
  color:#55708d;
  font-size:22px;
}
.public-booking-timezone-search .public-booking-icon{
  width:22px;
  height:22px;
  color:#55708d;
}
.public-booking-timezone-search input{
  width:100%;
  min-height:42px;
  border:0;
  background:transparent;
  color:#071f3d;
  font-size:18px;
  font-weight:500;
}
.public-booking-timezone-search input:focus{
  outline:0;
}
.public-booking-timezone-menu-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 24px 8px;
}
.public-booking-timezone-menu-head strong{
  color:#071f3d;
  font-size:13px;
  font-weight:850;
  text-transform:uppercase;
}
.public-booking-time-format-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  color:#183557;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  user-select:none;
}
.public-booking-time-format-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.public-booking-time-format-toggle i{
  position:relative;
  width:42px;
  height:22px;
  border-radius:999px;
  background:#dce5f1;
  box-shadow:inset 0 0 0 1px rgba(85,112,141,.18);
  transition:background .18s ease,box-shadow .18s ease;
}
.public-booking-time-format-toggle i::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 2px 8px rgba(7,31,61,.22);
  transition:transform .18s ease;
}
.public-booking-time-format-toggle input:checked + i{
  background:#071f3d;
  box-shadow:inset 0 0 0 1px rgba(7,31,61,.28);
}
.public-booking-time-format-toggle input:checked + i::after{
  transform:translateX(20px);
}
.public-booking-time-format-toggle input:focus-visible + i{
  box-shadow:0 0 0 3px rgba(7,31,61,.16),inset 0 0 0 1px rgba(7,31,61,.28);
}
.public-booking-timezone-list{
  max-height:360px;
  overflow:auto;
  padding:6px 0 12px;
}
.public-booking-timezone-group{
  padding:12px 24px 7px;
  color:#071f3d;
  font-size:14px;
  font-weight:850;
  letter-spacing:0;
}
.public-booking-timezone-option{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:11px 24px;
  border:0;
  background:#fff;
  color:#071f3d;
  text-align:left;
  transition:background .16s ease,color .16s ease;
}
.public-booking-timezone-option:hover{
  background:#f3f7ff;
}
.public-booking-timezone-option.is-selected{
  background:#006bff;
  color:#fff;
}
.public-booking-timezone-option span{
  min-width:0;
  display:grid;
  gap:3px;
}
.public-booking-timezone-option strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:15px;
  font-weight:650;
}
.public-booking-timezone-option small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:inherit;
  font-size:11px;
  opacity:.62;
}
.public-booking-timezone-option em{
  flex:0 0 auto;
  color:inherit;
  font-size:15px;
  font-style:normal;
  font-weight:650;
}
.public-booking-timezone-empty{
  padding:24px;
  color:#55708d;
  font-size:14px;
  font-weight:650;
}
.public-booking-status{
  padding:10px 12px;
  border-radius:8px;
  font-size:12.5px;
}
.public-booking-slots{
  max-height:392px;
  display:flex;
  flex-direction:column;
  gap:8px;
  overflow:auto;
  padding-right:3px;
  animation:public-booking-reveal .18s ease;
}
.public-booking-slot{
  min-height:42px;
  align-items:center;
  flex-direction:row;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border-radius:8px;
  box-shadow:none;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.public-booking-slot span{
  font-size:13.5px;
}
.public-booking-slot small{
  max-width:112px;
  text-align:right;
  font-size:10px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.public-booking-form-panel{
  padding:16px;
  border-radius:10px;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .18s ease,transform .18s ease;
}
.public-booking-step{
  animation:public-booking-reveal .18s ease;
}
.public-booking-form-panel.is-visible{
  opacity:1;
  transform:translateY(0);
}
.public-booking-step-head{
  display:grid;
  gap:4px;
}
.public-booking-step-head span{
  color:var(--accent);
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
}
.public-booking-step-head h2{
  margin:0;
  color:var(--ink);
  font-size:24px;
  line-height:1.2;
}
.public-booking-page[data-step="details"] .public-booking-form-panel{
  gap:14px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.public-booking-page[data-step="details"] .public-booking-form{
  grid-template-columns:1fr;
  gap:13px;
}
.public-booking-page[data-step="details"] .public-booking-form label{
  color:#0b2340;
  font-size:12px;
  font-weight:650;
}
.public-booking-page[data-step="details"] .public-booking-form input,
.public-booking-page[data-step="details"] .public-booking-form textarea{
  min-height:38px;
  border-color:#b9cde5;
  border-radius:8px;
}
.public-booking-page[data-step="details"] .public-booking-form textarea{
  min-height:68px;
}
.public-booking-form-status{
  padding:10px 12px;
  border-radius:8px;
  background:#fff1f1;
  color:#b42318;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.public-booking-form-status[data-tone="info"]{
  background:#eef4ff;
  color:#1d4ed8;
}
.public-booking-page[data-step="details"] .public-booking-actions{
  justify-content:flex-start;
}
.public-booking-page[data-step="details"] #bookingBackBtn{
  display:none;
}
.public-booking-page[data-step="details"] #bookingSubmitBtn{
  min-height:44px;
  padding-inline:22px;
  border-radius:999px;
  font-size:15px;
}
.public-booking-slot-confirm{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px;
  border:1px solid rgba(45,91,255,.18);
  border-radius:8px;
  background:var(--accent-soft);
  color:var(--accent-ink);
  font-size:13px;
  font-weight:800;
  animation:public-booking-reveal .18s ease;
}
.public-booking-slot-confirm span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.public-booking-next-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:8px;
}
.public-booking-success{
  width:min(560px,100%);
  justify-items:center;
  align-content:start;
  gap:24px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#183557;
  text-align:center;
}
.public-booking-success-photo{
  width:76px;
  height:76px;
  object-fit:cover;
  border-radius:999px;
}
.public-booking-success-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.public-booking-success-title span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#087443;
  color:#fff;
  font-size:18px;
  font-weight:900;
}
.public-booking-success-title svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.public-booking-success-title strong{
  color:#071f3d;
  font-size:30px;
  line-height:1.15;
  font-weight:850;
}
.public-booking-success p{
  margin:0;
  color:#183557;
  font-size:17px;
  line-height:1.5;
}
.public-booking-confirm-card{
  width:100%;
  display:grid;
  gap:18px;
  margin-top:16px;
  padding:30px 32px;
  border:1px solid rgba(85,112,141,.45);
  border-radius:10px;
  background:#fff;
  text-align:left;
}
.public-booking-confirm-card h2{
  margin:0;
  color:#071f3d;
  font-size:28px;
  line-height:1.2;
  font-weight:850;
}
.public-booking-confirm-list{
  display:grid;
  gap:14px;
}
.public-booking-confirm-list div{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.public-booking-confirm-list span{
  flex:0 0 auto;
  width:24px;
  color:#071f3d;
  line-height:1.2;
}
.public-booking-confirm-list strong{
  min-width:0;
  color:#071f3d;
  font-size:17px;
  line-height:1.35;
  font-weight:800;
}
@keyframes public-booking-reveal{
  from{opacity:0;transform:translateY(4px)}
  to{opacity:1;transform:translateY(0)}
}
.auth-ai-card small{
  display:block;
  margin-top:4px;
  color:var(--ink-soft);
  font-size:11.5px;
  line-height:1.35;
}
.auth-brand > small{
  color:var(--ink-faint);
  font-size:11px;
  font-weight:650;
}
.auth-card{
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:44px;
  background:#fff;
}
.auth-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:4px;
  margin-bottom:26px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:8px;
}
.auth-tab{
  height:38px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--ink-soft);
  font-size:13px;
  font-weight:700;
  transition:background .18s var(--ease),color .18s var(--ease),transform .18s var(--ease);
}
.auth-tab:hover{color:var(--ink)}
.auth-tab.active{background:var(--ink);color:#fff}
.auth-form{display:grid;gap:15px}
.auth-form-head{margin-bottom:4px}
.auth-form-head h2{
  margin:0 0 6px;
  color:var(--ink);
  font-size:22px;
  line-height:1.2;
}
.auth-form-head p{
  margin:0;
  color:var(--ink-soft);
  font-size:12.5px;
  line-height:1.5;
}
.auth-form > label:not(.check-row){
  color:var(--ink-soft);
  font-size:12px;
  text-transform:none;
  letter-spacing:0;
}
.auth-form input{
  min-height:44px;
  border-radius:8px;
}
.auth-form .btn-wide{
  min-height:44px;
  margin-top:2px;
}
.auth-status-box{
  padding:11px 12px;
  border-radius:10px;
  font-size:12px;
  font-weight:760;
  line-height:1.45;
}
.auth-status-box.error{
  border:1px solid rgba(240,68,56,.22);
  background:rgba(240,68,56,.08);
  color:#b42318;
}
.auth-status-box.info{
  border:1px solid rgba(107,75,255,.20);
  background:#f5f2ff;
  color:#5940d6;
}
label{
  display:grid;
  gap:7px;
  color:var(--ink-soft);
  font-size:11.5px;
  font-weight:760;
  text-transform:uppercase;
  letter-spacing:.03em;
}
input,select,textarea{
  width:100%;
  min-height:38px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
  color:var(--ink);
  padding:9px 12px;
  outline:none;
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);
}
textarea{resize:vertical;line-height:1.45}
input:focus,select:focus,textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(45,91,255,.10);
}
input:disabled,select:disabled,textarea:disabled{
  background:var(--surface-2);
  color:var(--ink-faint);
  cursor:not-allowed;
}
.stage-select-field{
  color:color-mix(in srgb,var(--selected-stage-color) 58%,var(--ink-soft));
}
.stage-select-wrap{
  position:relative;
  display:block;
}
.stage-select-wrap select{
  min-height:46px;
  padding-left:42px;
  border-color:color-mix(in srgb,var(--selected-stage-color) 52%,var(--line));
  background:
    linear-gradient(90deg,var(--selected-stage-soft),rgba(255,255,255,0) 62%),
    #fff;
  color:var(--ink);
  font-weight:780;
  box-shadow:inset 4px 0 0 var(--selected-stage-color),0 0 0 4px var(--selected-stage-soft);
}
.stage-select-wrap select:focus{
  border-color:var(--selected-stage-color);
  box-shadow:inset 4px 0 0 var(--selected-stage-color),0 0 0 4px var(--selected-stage-soft);
}
.stage-select-dot{
  position:absolute;
  left:17px;
  top:50%;
  z-index:1;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--selected-stage-color);
  box-shadow:0 0 0 5px var(--selected-stage-soft);
  transform:translateY(-50%);
  pointer-events:none;
}
.priority-select-field{
  --priority-color:#f59e0b;
  --priority-soft:rgba(245,158,11,.10);
}
.priority-select-field.priority-low{--priority-color:#12b76a;--priority-soft:rgba(18,183,106,.10)}
.priority-select-field.priority-medium{--priority-color:#f59e0b;--priority-soft:rgba(245,158,11,.10)}
.priority-select-field.priority-high{--priority-color:#f97316;--priority-soft:rgba(249,115,22,.10)}
.priority-select-field.priority-urgent{--priority-color:#f04438;--priority-soft:rgba(240,68,56,.10)}
.priority-select-wrap{
  position:relative;
  display:block;
}
.priority-select-wrap select{
  min-height:46px;
  padding-left:40px;
  border-color:color-mix(in srgb,var(--priority-color) 45%,var(--line));
  background:var(--priority-soft);
  color:var(--ink);
  font-weight:780;
  box-shadow:inset 3px 0 0 var(--priority-color);
}
.priority-select-wrap select:focus{
  border-color:var(--priority-color);
  box-shadow:inset 3px 0 0 var(--priority-color),0 0 0 4px var(--priority-soft);
}
.form-note{
  margin:-8px 0 2px;
  color:var(--ink-muted);
  font-size:12px;
  font-weight:700;
}
.priority-select-dot{
  position:absolute;
  left:16px;
  top:50%;
  z-index:1;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--priority-color);
  box-shadow:0 0 0 4px var(--priority-soft);
  transform:translateY(-50%);
  pointer-events:none;
}
.check-row{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:28px;
  color:var(--ink-soft);
  font-size:13px;
  font-weight:650;
  text-transform:none;
  letter-spacing:0;
}
.check-row input{width:15px;height:15px;min-height:auto;accent-color:var(--ink)}
.pending-box{
  margin-top:14px;
  padding:12px;
  border:1px solid #fae1a6;
  border-radius:var(--radius-sm);
  background:#fff8e6;
  color:#8a5b00;
  display:grid;
  gap:3px;
  font-size:13px;
}

.btn{
  height:38px;
  border:0;
  border-radius:var(--radius-sm);
  padding:0 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--ink);
  font-size:13.5px;
  font-weight:740;
  white-space:nowrap;
  transition:transform .16s var(--ease),background .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease);
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0) scale(.99)}
.btn-primary{background:var(--ink);color:#fff;box-shadow:0 8px 18px -14px rgba(18,20,43,.65)}
.btn-primary:hover{background:#26283f;box-shadow:0 12px 26px -16px rgba(18,20,43,.72)}
.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--line-strong);background:#fbfcff}
.btn-ai{
  position:relative;
  overflow:hidden;
  height:38px;
  min-width:auto;
  padding:0 13px;
  border:1px solid rgba(18,20,43,.08);
  border-radius:10px;
  background:rgba(255,255,255,.9);
  color:var(--ink);
  font-size:13px;
  box-shadow:0 1px 2px rgba(18,20,43,.04),0 10px 24px -22px rgba(107,75,255,.85);
}
.btn-ai::before{
  content:"";
  position:absolute;
  inset:-80% -35%;
  background:linear-gradient(110deg,transparent 34%,rgba(169,140,255,.30) 48%,transparent 62%);
  transform:translateX(-45%);
  transition:transform .55s var(--ease);
}
.btn-ai:hover::before{transform:translateX(45%)}
.btn-ai:hover{
  border-color:rgba(107,75,255,.28);
  background:#fff;
}
.btn-ai span,.btn-ai{isolation:isolate}
.ai-spark{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:#f3f0ff;
  color:#6b4bff;
  font-size:13px;
  box-shadow:inset 0 0 0 1px rgba(107,75,255,.20);
}
.btn-danger{
  background:#feeceb;
  border:1px solid #fdd2cf;
  color:#b42318;
}
.btn-danger:hover{
  background:#fddbd8;
  border-color:#fbb8b2;
}
.btn-wide{width:100%}
.link-button{
  min-height:32px;
  border:0;
  background:transparent;
  color:var(--accent-ink);
  font-size:13px;
  font-weight:740;
}

.app-shell{
  display:block;
  min-height:100vh;
  max-width:1320px;
  margin:0 auto;
  padding:0 28px 58px;
  background:var(--bg);
  transition:width .24s var(--ease),margin .24s var(--ease),padding .24s var(--ease);
}
body.ai-docked .app-shell{
  width:calc(100vw - var(--ai-panel-width));
  max-width:1320px;
  margin-left:auto;
  margin-right:var(--ai-panel-width);
}
body.drawer-docked .app-shell{
  width:calc(100vw - var(--drawer-panel-width));
  max-width:1320px;
  margin-left:auto;
  margin-right:var(--drawer-panel-width);
}
body.ai-docked.drawer-docked .app-shell{
  width:calc(100vw - var(--ai-panel-width) - var(--drawer-panel-width));
  margin-right:calc(var(--ai-panel-width) + var(--drawer-panel-width));
}
.sidebar{
  position:sticky;
  top:0;
  z-index:30;
  height:auto;
  display:flex;
  align-items:center;
  gap:22px;
  padding:20px 0 16px;
  background:rgba(238,240,244,.92);
  border:0;
  backdrop-filter:blur(18px);
}
.brand-block{
  min-width:max-content;
  height:40px;
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  padding:0;
  background:transparent;
  border-radius:10px;
  cursor:pointer;
  transition:opacity .16s var(--ease),transform .16s var(--ease),box-shadow .16s var(--ease);
}
.brand-block:hover{opacity:.78;transform:translateY(-1px)}
.brand-block:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(45,91,255,.12)}
.brand-block img{width:156px;height:auto;display:block}
.brand-block span{
  display:inline-flex;
  align-items:center;
  height:22px;
  padding:0 8px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--ink-faint);
  font-size:11px;
  font-weight:700;
}
.side-nav{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  gap:4px;
  max-width:100%;
  overflow:auto;
  padding:4px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  scrollbar-width:none;
  box-shadow:0 1px 2px rgba(18,20,43,.03);
}
.nav-minimal .side-nav{
  flex:0 1 auto;
}
.nav-single .side-nav{
  padding:3px;
}
.side-nav::-webkit-scrollbar{display:none}
.side-nav button{
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:0;
  border-radius:9px;
  padding:0 14px;
  background:transparent;
  color:var(--ink-soft);
  font-size:13px;
  font-weight:740;
  white-space:nowrap;
  transition:background .16s var(--ease),color .16s var(--ease),transform .16s var(--ease);
}
.side-nav button:hover{background:var(--surface-2);color:var(--ink)}
.side-nav button.active{background:var(--ink);color:#fff}
.side-nav button.has-mail-unread::after{
  content:attr(data-mail-unread);
  min-width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 5px;
  border-radius:999px;
  background:#f04438;
  color:#fff;
  font-size:10px;
  font-weight:900;
  line-height:1;
}
.side-nav button.active.has-mail-unread::after{
  background:#fff;
  color:#f04438;
}
.sidebar-foot{
  flex:0 0 auto;
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:8px;
}
.sidebar-foot .btn-wide{
  width:auto;
  height:38px;
  padding:0 14px;
}
.user-menu-wrap{
  position:relative;
  display:flex;
  align-items:center;
}
.user-menu-btn{
  width:38px;
  height:38px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#777;
  display:grid;
  place-items:center;
  transition:background .16s var(--ease),transform .16s var(--ease);
}
.user-menu-btn:hover{
  background:rgba(255,255,255,.72);
  transform:translateY(-1px);
}
.user-icon{
  position:relative;
  width:22px;
  height:22px;
  display:block;
}
.user-icon::before,
.user-icon::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  background:#777;
}
.user-icon::before{
  top:2px;
  width:11px;
  height:11px;
  border-radius:50%;
}
.user-icon::after{
  bottom:1px;
  width:20px;
  height:9px;
  border-radius:999px 999px 4px 4px;
}
.user-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:70;
  width:176px;
  display:none;
  padding:8px 0;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 44px -24px rgba(18,20,43,.34),0 2px 6px rgba(18,20,43,.08);
}
.user-menu.show{display:block}
.user-menu button{
  width:100%;
  min-height:44px;
  border:0;
  background:transparent;
  padding:0 18px;
  color:var(--ink);
  font-size:15px;
  font-weight:520;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.user-menu button:hover{background:var(--surface-2)}
.user-menu button.danger{color:#d01818}
.user-menu-separator{
  height:1px;
  margin:8px 0;
  background:var(--line);
}
.main{min-width:0;padding:0 0 48px}
.topbar{
  position:sticky;
  top:76px;
  z-index:24;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 18px;
  padding:10px 0 12px;
  border-bottom:1px solid rgba(214,219,229,.72);
  background:rgba(238,240,244,.92);
  backdrop-filter:blur(18px);
}
.eyebrow{
  color:var(--ink-faint);
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.topbar h1{
  margin:4px 0 0;
  color:var(--ink);
  font-size:23px;
  line-height:1.15;
  font-weight:760;
}
.topbar-actions{display:flex;align-items:center;gap:8px}
.topbar-actions .btn{
  height:32px;
  min-width:auto;
  padding:0 10px;
  border-radius:8px;
  font-size:12px;
  font-weight:760;
}
.topbar-actions .btn-ghost{
  color:var(--ink-soft);
  background:rgba(255,255,255,.72);
}
.topbar-actions .btn-primary{
  height:34px;
  padding:0 12px;
  font-size:12.5px;
}
.no-page-actions .topbar-actions{display:none}
.view{display:grid;gap:16px}
.inbox-overlay{
  position:fixed;
  inset:0;
  z-index:70;
  background:rgba(16,24,40,.22);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.inbox-overlay.show{
  opacity:1;
  pointer-events:auto;
}
.inbox-panel{
  position:fixed;
  top:0;
  right:0;
  z-index:71;
  width:min(760px,100vw);
  height:100vh;
  display:grid;
  grid-template-rows:auto 1fr;
  background:#f7f8fb;
  border-left:1px solid var(--line);
  box-shadow:-24px 0 48px rgba(16,24,40,.18);
  transform:translateX(104%);
  transition:transform .22s ease;
}
.inbox-panel.show{
  transform:translateX(0);
}
.inbox-panel-head{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.inbox-panel-head h2{
  margin:3px 0 0;
  color:var(--ink);
  font-size:22px;
}
.inbox-panel-body{
  min-height:0;
  overflow:auto;
  padding:14px;
  display:grid;
  align-content:start;
  gap:12px;
}
.mail-account-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
}
.mail-account-strip strong{
  display:block;
  color:var(--ink);
  font-size:13px;
  line-height:1.25;
}
.mail-account-strip span{
  display:block;
  margin-top:3px;
  color:var(--ink-soft);
  font-size:12px;
  line-height:1.35;
}
.mail-account-strip.is-connected{
  border-color:#cfd8ff;
  background:#f5f7ff;
}
.mail-account-strip.needs-setup{
  border-color:#f6d989;
  background:#fffaf0;
}
.mail-page{
  display:grid;
  gap:14px;
}
.mail-page-body{
  display:grid;
  gap:14px;
}
.inbox-toolbar{
  position:sticky;
  top:0;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(180px,1fr) 130px 140px auto auto;
  gap:8px;
  align-items:center;
  padding:10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.inbox-toolbar input,
.inbox-toolbar select{
  height:34px;
  border:1px solid var(--line);
  border-radius:8px;
  padding:0 10px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:12px;
}
.mail-folder-tabs{
  display:flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  width:max-content;
  max-width:100%;
  overflow:auto;
}
.mail-folder-tabs button{
  height:34px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--ink-soft);
  padding:0 10px;
  font:inherit;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
}
.mail-folder-tabs button:hover{
  background:var(--panel);
  color:var(--ink);
}
.mail-folder-tabs button.active{
  background:var(--ink);
  color:#fff;
}
.mail-folder-tabs .ui-icon{
  width:15px;
  height:15px;
}
.mail-folder-tabs strong{
  min-width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#eef2f7;
  color:var(--ink-soft);
  padding:0 5px;
  font-size:11px;
  line-height:1;
}
.mail-folder-tabs button.active strong{
  background:rgba(255,255,255,.18);
  color:#fff;
}
.inbox-list{
  display:grid;
  gap:8px;
}
.inbox-row{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  cursor:pointer;
}
.inbox-row:hover{
  border-color:#cfd6e6;
  box-shadow:0 8px 22px rgba(15,23,42,.05);
}
.inbox-row.is-failed{
  border-color:#fecaca;
  background:#fffafa;
}
.inbox-row-mark{
  height:26px;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
}
.inbox-row-mark.inbound{
  color:#05603a;
  background:#d1fadf;
}
.inbox-row-mark.outbound{
  color:#1d4ed8;
  background:#dbeafe;
}
.inbox-row-main{
  min-width:0;
  display:grid;
  gap:6px;
}
.inbox-row-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.inbox-row-head strong{
  min-width:0;
  color:var(--ink);
  font-size:13.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.inbox-row-head time{
  flex:none;
  color:var(--ink-faint);
  font-size:11px;
}
.inbox-row-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.inbox-row-meta span{
  padding:3px 7px;
  border-radius:999px;
  background:var(--surface-2);
  color:var(--ink-soft);
  font-size:11px;
}
.inbox-row p{
  margin:0;
  color:var(--ink-soft);
  font-size:12.5px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.inbox-row-actions{
  display:flex;
  justify-content:flex-end;
}
.email-detail-overlay{
  position:fixed;
  inset:0;
  z-index:88;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(15,23,42,.34);
}
.email-detail-panel{
  width:min(1120px,calc(100vw - 56px));
  max-height:calc(100vh - 56px);
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 28px 90px rgba(15,23,42,.28);
  overflow:hidden;
}
.email-reader-toolbar{
  flex:0 0 auto;
  z-index:3;
  min-height:54px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.email-reader-toolbar>div{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.email-detail-head{
  flex:0 0 auto;
  padding:18px 20px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.email-detail-kicker{
  display:block;
  color:var(--ink-faint);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.email-detail-head h3{
  margin:4px 0 0;
  color:var(--ink);
  font-size:24px;
  line-height:1.25;
}
.email-detail-head-meta{
  flex:0 0 auto;
  display:grid;
  justify-items:end;
  align-content:start;
  gap:4px;
  color:var(--ink-faint);
  font-size:12px;
  font-weight:700;
  text-align:right;
}
.email-detail-head-meta strong{
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--ink-soft);
  font-size:12px;
}
.email-reader-card{
  flex:0 0 auto;
  margin:0 20px;
  padding:14px 0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:start;
  border-bottom:1px solid var(--line);
}
.email-reader-avatar{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#dbeafe;
  color:#2563eb;
  font-size:12px;
  font-weight:900;
}
.email-detail-panel.is-inbound .email-reader-avatar{
  background:#dcfce7;
  color:#15803d;
}
.email-reader-lines{
  display:grid;
  gap:7px;
}
.email-reader-lines div{
  min-width:0;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:8px;
  align-items:baseline;
}
.email-reader-lines span{
  color:var(--ink-faint);
  font-size:10.5px;
  font-weight:800;
  text-transform:uppercase;
}
.email-reader-lines strong{
  min-width:0;
  color:var(--ink);
  font-size:13.5px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.email-detail-error{
  margin:12px 16px 0;
  padding:10px 12px;
  border:1px solid #fecaca;
  border-radius:8px;
  background:#fffafa;
  color:#991b1b;
  font-size:12px;
  font-weight:700;
}
.email-link-panel{
  flex:0 0 auto;
  margin:12px 20px 0;
  padding:12px;
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(320px,1.6fr);
  gap:12px;
  align-items:start;
  border:1px solid #fde68a;
  border-radius:9px;
  background:#fffbeb;
}
.email-link-panel-copy{
  display:grid;
  gap:3px;
}
.email-link-panel-copy strong{
  color:var(--ink);
  font-size:13px;
}
.email-link-panel-copy span{
  color:var(--ink-soft);
  font-size:12px;
  line-height:1.35;
}
.email-link-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:start;
}
.email-link-search{
  display:grid;
  gap:7px;
}
.email-link-search input{
  width:100%;
  min-height:42px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  font-size:13px;
  font-weight:650;
}
.email-link-search input:focus{
  border-color:var(--accent);
  outline:3px solid #e8ebff;
}
.email-link-results.is-static{
  position:static;
  display:grid;
  max-height:188px;
  box-shadow:none;
  background:#fff;
}
.email-detail-frame{
  flex:1 1 auto;
  width:100%;
  min-height:460px;
  border:0;
  display:block;
  background:#fff;
}
.mail-account-actions,
.mail-compose-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.mail-compose{
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.mail-compose-head{
  min-height:52px;
  padding:9px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  background:var(--surface-2);
}
.mail-compose-head strong{
  color:var(--ink);
  font-size:15px;
}
.mail-compose-grid{
  padding:14px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.mail-compose-grid .full{
  grid-column:1/-1;
}
.mail-compose-grid label{
  display:grid;
  gap:6px;
  color:var(--ink-soft);
  font-size:11px;
  font-weight:750;
  text-transform:uppercase;
}
.mail-compose-grid input,
.mail-compose-grid select,
.mail-compose-grid textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:13px;
  font-weight:500;
  text-transform:none;
}
.mail-compose-grid input,
.mail-compose-grid select{
  min-height:40px;
  padding:0 10px;
}
.mail-compose-grid textarea{
  min-height:220px;
  padding:10px;
  resize:vertical;
  line-height:1.55;
}
.rich-email-editor{
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  overflow:hidden;
  text-transform:none;
}
.rich-email-toolbar{
  min-height:42px;
  padding:6px 8px;
  display:flex;
  align-items:center;
  gap:4px;
  border-bottom:1px solid var(--line);
  background:var(--surface-2);
}
.rich-email-toolbar span{
  width:1px;
  height:22px;
  margin:0 4px;
  background:var(--line);
}
.rich-email-toolbar button{
  min-width:32px;
  height:30px;
  padding:0 8px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--ink-soft);
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.rich-email-toolbar button:hover{
  background:#fff;
  color:var(--ink);
}
.rich-email-body{
  min-height:260px;
  padding:14px;
  color:var(--ink);
  font-size:14px;
  font-weight:500;
  line-height:1.55;
  outline:0;
  white-space:normal;
  text-transform:none;
}
.rich-email-body:empty::before{
  content:attr(data-placeholder);
  color:var(--ink-faint);
}
.rich-email-body blockquote{
  margin:10px 0;
  padding-left:12px;
  border-left:3px solid var(--line);
  color:var(--ink-soft);
}
.rich-email-body ul,
.rich-email-body ol{
  margin:8px 0;
  padding-left:22px;
}
.relation-picker,
.mail-lead-picker{
  position:relative;
}
.relation-results,
.mail-lead-results{
  position:absolute;
  left:0;
  right:0;
  top:64px;
  z-index:50;
  display:none;
  gap:6px;
  max-height:260px;
  overflow:auto;
  padding:6px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.12);
}
.relation-picker:focus-within .relation-results,
.mail-lead-picker:focus-within .mail-lead-results{
  display:grid;
}
.relation-result,
.mail-lead-result{
  width:100%;
  min-height:50px;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  display:grid;
  gap:3px;
  text-align:left;
  cursor:pointer;
}
.relation-result:hover,
.mail-lead-result:hover{
  border-color:var(--accent);
  background:#f8f7ff;
}
.relation-result strong,
.mail-lead-result strong{
  color:var(--ink);
  font-size:13px;
}
.relation-result span,
.relation-selected,
.relation-empty,
.mail-lead-result span,
.mail-lead-selected,
.mail-lead-empty{
  color:var(--ink-soft);
  font-size:12px;
  font-weight:600;
  text-transform:none;
}
.relation-selected,
.mail-lead-selected{
  min-height:18px;
}
.relation-empty,
.mail-lead-empty{
  padding:10px;
  border:0;
  border-radius:6px;
  background:var(--surface-2);
}
.relation-clear{
  justify-self:flex-start;
}
.mail-compose-actions{
  justify-content:flex-end;
  padding:0 14px 14px;
}
.mail-compose-overlay{
  position:fixed;
  inset:0;
  z-index:90;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding:24px;
  background:rgba(15,23,42,.28);
}
.mail-compose-modal{
  width:min(680px,calc(100vw - 48px));
  max-height:calc(100vh - 48px);
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 28px 80px rgba(15,23,42,.26);
  overflow:hidden;
}
.mail-compose-modal.is-expanded{
  width:min(1180px,calc(100vw - 48px));
  height:calc(100vh - 48px);
}
.mail-compose-modal-head{
  min-height:46px;
  padding:8px 12px 8px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#f3f6fb;
  border-bottom:1px solid var(--line);
}
.mail-compose-modal-head strong{
  color:var(--ink);
  font-size:14px;
  font-weight:800;
}
.mail-compose-modal-head>div{
  display:flex;
  align-items:center;
  gap:4px;
}
.mail-compose-zoom-btn{
  width:auto;
  min-width:58px;
  padding:0 12px;
  font-size:12px;
}
.mail-compose-modal-body{
  flex:1;
  min-height:0;
  padding:0 14px 8px;
  display:flex;
  flex-direction:column;
  gap:0;
  overflow:auto;
}
.mail-compose-modal-body label{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--ink-faint);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.mail-compose-modal-body label>span,
.mail-compose-modal-body .relation-picker>span{
  width:58px;
  flex:0 0 58px;
}
.mail-compose-modal-body input,
.mail-compose-modal-body select{
  width:100%;
  min-height:36px;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font:inherit;
  font-size:14px;
  font-weight:600;
  text-transform:none;
  outline:0;
}
.mail-compose-meta{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,.42fr);
  gap:12px;
  border-bottom:1px solid var(--line);
}
.mail-compose-meta label{
  min-height:48px;
}
.mail-bulk-recipients{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--ink-soft);
}
.mail-bulk-recipients .ui-icon{width:16px;height:16px}
.mail-bulk-recipients span{font-size:11px;font-weight:800;text-transform:uppercase}
.mail-bulk-recipients strong{margin-left:auto;color:var(--ink);font-size:12px}
.mail-compose-meta select,
.mail-compose-meta input{
  border-bottom:0;
}
.mail-compose-meta .mail-lead-picker{
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  column-gap:12px;
  align-items:center;
}
.mail-compose-meta .mail-lead-picker>span{
  grid-column:1;
}
.mail-compose-meta .mail-lead-picker>input[type="hidden"]{
  display:none;
}
.mail-compose-meta .mail-lead-picker>input[type="search"]{
  grid-column:2;
  min-width:0;
}
.mail-compose-meta .mail-lead-selected{
  grid-column:3;
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:800;
  text-transform:none;
}
.mail-compose-meta .mail-lead-results{
  position:absolute;
  top:44px;
  left:70px;
  right:0;
  z-index:4;
}
.mail-address-row{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--line);
}
.mail-address-row label{
  flex:1;
}
.mail-address-row input{
  border-bottom:0;
}
.mail-address-toggles{
  display:flex;
  align-items:center;
  gap:4px;
}
.mail-address-toggles button{
  min-height:28px;
  padding:0 6px;
  border:0;
  background:transparent;
  color:var(--ink-soft);
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.mail-address-toggles button:hover{
  color:var(--ink);
}
.mail-address-toggles button.is-hidden{
  display:none;
}
.mail-address-extra{
  min-height:42px;
  display:none!important;
  border-bottom:1px solid var(--line);
}
.mail-address-extra.is-visible{
  display:flex!important;
}
.mail-address-extra input{
  border-bottom:0;
}
.mail-subject-row{
  min-height:44px;
  border-bottom:1px solid var(--line);
}
.mail-subject-row input{
  border-bottom:0;
}
.mail-compose-editor{
  min-height:0;
  padding-top:8px;
  display:flex;
  flex-direction:column;
}
.mail-compose-modal-body .rich-email-editor{
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
}
.mail-compose-modal-body .rich-email-toolbar{
  min-height:34px;
  padding:4px 6px;
  gap:2px;
}
.mail-compose-modal-body .rich-email-toolbar button{
  min-height:28px;
  padding:0 8px;
  font-size:12px;
}
.mail-compose-modal-body .rich-email-toolbar span{
  height:24px;
  margin:0 2px;
}
.mail-compose-modal-body .rich-email-body{
  min-height:180px;
  padding:12px;
}
.mail-compose-modal.is-expanded .rich-email-body{
  min-height:calc(100vh - 360px);
}
.mail-compose-next-action{
  min-height:42px;
  border-bottom:1px solid var(--line);
}
.mail-compose-next-action input{
  min-height:36px;
  border-bottom:0;
}
.mail-compose-modal-actions{
  min-height:56px;
  padding:8px 16px 12px;
  display:flex;
  align-items:center;
  gap:8px;
  border-top:1px solid var(--line);
  background:#fff;
}
.email-attach-btn{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:background .16s var(--ease),border-color .16s var(--ease);
}
.email-attach-btn:hover{
  background:var(--surface-2);
  border-color:var(--line-strong);
}
.email-attach-btn input{
  display:none;
}
.email-attachment-list{
  display:grid;
  gap:8px;
}
.email-compose-panel>.email-attachment-list{
  margin:0 14px 18px;
}
.email-attachment-list.is-empty{
  display:none;
}
.email-attachment-list.is-saved{
  padding:0 16px 12px;
}
.email-attachment-chip{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8fafc;
}
.email-attachment-chip.is-image{
  align-items:start;
  padding:10px;
}
.email-attachment-icon{
  min-width:34px;
  padding:5px 6px;
  border-radius:7px;
  background:#eef2ff;
  color:#3554d1;
  font-size:10px;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
}
.email-attachment-preview{
  width:74px;
  height:54px;
  display:block;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
}
.email-attachment-preview img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.email-attachment-chip div{
  min-width:0;
  display:grid;
  gap:2px;
}
.email-attachment-chip strong,
.email-attachment-chip small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.email-attachment-chip strong{
  color:var(--ink);
  font-size:12.5px;
}
.email-attachment-chip strong a{
  color:inherit;
  text-decoration:none;
}
.email-attachment-chip strong a:hover{
  text-decoration:underline;
}
.email-attachment-chip small{
  color:var(--ink-faint);
  font-size:11px;
}
.email-attachment-chip .icon-btn{
  width:28px;
  height:28px;
}
.template-library-modal{
  width:min(980px, calc(100vw - 44px));
  max-height:calc(100vh - 72px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 24px 70px rgba(15,23,42,.22);
}
.template-library-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid var(--line);
  background:#f8fafc;
}
.template-library-head strong{
  display:block;
  color:var(--ink);
  font-size:18px;
}
.template-library-head span{
  color:var(--ink-faint);
  font-size:12.5px;
}
.template-library-grid{
  min-height:0;
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
}
.template-library-list{
  min-height:0;
  display:grid;
  align-content:start;
  gap:14px;
  overflow:auto;
  padding:14px;
  border-right:1px solid var(--line);
  background:#fbfcff;
}
.template-list-section{
  display:grid;
  gap:8px;
}
.template-list-section>strong{
  color:var(--ink-faint);
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.template-list-section button,
.template-list-section article{
  width:100%;
  display:grid;
  gap:3px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  text-align:left;
}
.template-list-section button{
  cursor:pointer;
}
.template-list-section button.active{
  border-color:var(--accent);
  background:var(--accent-soft);
}
.template-list-section span{
  overflow:hidden;
  font-size:13px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.template-list-section small,
.template-list-section p{
  margin:0;
  color:var(--ink-faint);
  font-size:11.5px;
}
.template-editor-form{
  min-width:0;
  display:grid;
  grid-template-columns:1.5fr 110px 160px;
  gap:12px;
  align-content:start;
  overflow:auto;
  padding:16px;
}
.template-editor-form .full{
  grid-column:1/-1;
}
.template-editor-form textarea{
  min-height:220px;
  resize:vertical;
}
.template-editor-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.mail-filter-bar{
  display:flex;
  gap:8px;
  align-items:center;
}
.mail-filter-bar input{
  flex:1;
  min-width:0;
}
.mail-filter-bar select{
  width:clamp(132px,12vw,190px);
  min-width:132px;
}
.mail-filter-bar .work-table-actions{
  margin-left:auto;
}
.mail-trash-filter{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.mail-trash-filter.active{
  border-color:var(--line-strong);
  background:#eef2f7;
  color:var(--ink);
}
.mail-table-wrap{
  position:relative;
  min-height:390px;
  overflow:auto;
}
.mail-table-wrap.is-loading::before{
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  left:0;
  width:32%;
  height:3px;
  background:var(--accent);
  animation:mail-loading-bar 1s ease-in-out infinite alternate;
}
@keyframes mail-loading-bar{
  from{transform:translateX(0)}
  to{transform:translateX(210%)}
}
.mail-table-wrap.is-loading .mail-table-row{
  opacity:.72;
}
.mail-table-skeleton td{
  height:56px;
}
.mail-table-skeleton span,
.mail-table-skeleton small{
  display:block;
  height:10px;
  border-radius:4px;
  background:#edf0f5;
}
.mail-table-skeleton td:nth-child(2) span{width:68%}
.mail-table-skeleton td:nth-child(2) small{width:88%;margin-top:7px}
.mail-table-skeleton td:not(:nth-child(2)) span{width:72%}
.mail-table{
  min-width:1100px;
}
.mail-table th:nth-child(2){width:29%}
.mail-table th:nth-child(3){width:18%}
.mail-table th:nth-child(4){width:14%}
.mail-table th:nth-child(5){width:8%}
.mail-table th:nth-child(6){width:9%}
.mail-table th:nth-child(7){width:13%}
.mail-table th:nth-child(8),
.mail-table td:nth-child(8){
  width:128px;
  min-width:128px;
  max-width:128px;
}
.mail-table th:nth-child(2),
.mail-table td:nth-child(2){
  text-align:left;
}
.mail-table th:nth-child(2) .sort-head{
  justify-content:flex-start;
}
.mail-table th:nth-child(2) .sort-head span{
  margin-left:auto;
}
.mail-table-row.is-selected td,
.mail-table-row.is-bulk-selected td{
  background:var(--accent-soft);
}
.mail-table-row td:nth-child(2){
  position:relative;
}
.mail-table-row.is-unread td{
  background:#f8fbff;
}
.mail-table-row.is-unread td:nth-child(2)::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:4px;
  background:#ff4d4f;
}
.mail-table-row.is-unread td:nth-child(2){
  padding-left:18px;
}
.mail-table-row.is-unread .table-link,
.mail-table-row.is-unread .subtext{
  color:var(--ink);
  font-weight:900;
}
.mail-row-actions{
  display:flex;
  gap:4px;
  justify-content:flex-end;
}
.mail-row-actions .btn{
  height:28px;
  padding:0 6px;
  border-radius:7px;
  font-size:11.5px;
}
.mail-row-actions .mail-icon-action{
  width:28px;
  min-width:28px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.mail-row-actions .mail-delete-row-btn{
  color:#b42318;
}
.mail-row-actions .mail-delete-row-btn:hover{
  background:#fffafa;
  border-color:#fecaca;
  color:#991b1b;
}
.mail-subject-cell{
  min-width:0;
  display:grid;
  gap:3px;
  justify-items:start;
  text-align:left;
}
.mail-subject-cell .table-link{
  display:inline-flex;
  align-items:center;
  width:100%;
  max-width:100%;
  overflow:hidden;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ui-icon{
  width:16px;
  height:16px;
  display:inline-block;
  flex:0 0 auto;
}
.mail-attachment-indicator{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  margin-left:8px;
  vertical-align:-2px;
}
.mail-paperclip-icon{
  width:15px;
  height:15px;
  color:var(--ink-faint);
  stroke:currentColor;
}
.mail-table-row.is-failed td{
  background:#fffafa;
}
.mail-subject-cell .subtext{
  width:100%;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:left;
  white-space:nowrap;
}
.mail-status-pill{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  background:var(--surface-2);
  color:var(--ink-soft);
  font-size:11px;
  font-weight:780;
  text-transform:capitalize;
}
.mail-status-pill.status-sent,
.mail-status-pill.status-received{
  background:#ecfdf3;
  color:#05603a;
}
.mail-status-pill.status-failed{
  background:#fef3f2;
  color:#b42318;
}
.work-pager{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.work-pager-range{
  margin-right:auto;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:760;
}
.work-pager label{
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--ink-faint);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.work-pager select{
  width:auto;
  min-width:72px;
  min-height:30px;
  padding:4px 8px;
  border-radius:7px;
  font-size:12px;
}
.work-pager-actions{
  display:flex;
  align-items:center;
  gap:6px;
}
.work-pager-actions span{
  min-width:54px;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:760;
  text-align:center;
}
.icon-btn:disabled{
  opacity:.42;
  cursor:not-allowed;
}
.dashboard-page{display:grid;gap:14px}
.dashboard-work-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:14px;
  align-items:stretch;
}
.dashboard-left-col,
.dashboard-rail{
  min-width:0;
}
.dashboard-left-col{
  display:grid;
  gap:14px;
}
.dashboard-pipeline-panel{overflow:hidden}
.kpi-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.card,.kpi,.panel,.table-wrap{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.kpi{
  min-height:78px;
  padding:12px 13px;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);
}
.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:#d6dae5}
.kpi span{
  display:block;
  color:var(--ink-faint);
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.kpi strong{
  display:block;
  margin-top:6px;
  color:var(--ink);
  font-size:19px;
  line-height:1.1;
  font-weight:780;
}
.kpi small{display:block;margin-top:5px;color:var(--ink-faint);font-size:11.5px}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}
.dashboard-rail{
  min-width:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:14px;
}
.dashboard-rail:has(.dashboard-mail-panel){
  grid-template-rows:auto auto minmax(0,1fr);
}
.dashboard-rail > .panel,
.dashboard-rail > section{
  min-width:0;
  max-width:100%;
}
.dashboard-recent-panel{
  overflow:hidden;
}
.dashboard-recent-panel .table-wrap{
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow-x:auto;
}
.dashboard-rail .panel{
  padding:14px;
}
.dashboard-tasks{
  min-height:0;
  display:flex;
  flex-direction:column;
}
.dashboard-mail-panel{
  display:grid;
  gap:10px;
}
.dashboard-mail-list{
  display:grid;
  gap:8px;
}
.dashboard-mail-item{
  width:100%;
  display:grid;
  gap:4px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-left:4px solid #f04438;
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.dashboard-mail-item:hover{
  border-color:#cfd8ff;
  border-left-color:#d92d20;
  background:#fbfcff;
}
.dashboard-mail-item span,
.dashboard-mail-item small{
  overflow:hidden;
  color:var(--ink-faint);
  font-size:11.5px;
  font-weight:750;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dashboard-mail-item strong{
  overflow:hidden;
  font-size:13px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dashboard-tasks .task-list{
  flex:1;
  align-content:start;
}
.dashboard-task-list{
  max-height:560px;
  overflow-y:auto;
  padding-right:3px;
  scrollbar-width:thin;
  scrollbar-color:#cfd5e2 transparent;
}
.dashboard-task-list::-webkit-scrollbar{width:6px}
.dashboard-task-list::-webkit-scrollbar-track{background:transparent}
.dashboard-task-list::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:#cfd5e2;
}
.dashboard-task-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--line);
  color:var(--ink-soft);
  font-size:11.5px;
  font-weight:760;
}
.dashboard-task-footer span{
  color:#6b4bff;
  font-weight:850;
}
.today-panel .panel-head{
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.today-panel{
  align-self:stretch;
}
.dashboard-rail .metric-row{
  min-height:38px;
  padding:7px 0;
  font-size:12.5px;
}
.dashboard-rail .task-card{
  align-items:flex-start;
  flex-direction:column;
  gap:6px;
  padding:9px 10px 9px 13px;
}
.dashboard-rail .dashboard-task-card{
  display:block;
  overflow:visible;
  padding:10px 10px 10px 13px;
}
.dashboard-task-card .task-card-main{
  gap:7px;
}
.dashboard-task-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:8px;
}
.dashboard-task-top strong{
  display:-webkit-box;
  color:var(--ink);
  font-size:12.8px;
  line-height:1.22;
  font-weight:820;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.dashboard-task-badges{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
}
.dashboard-task-card .task-priority-badge,
.dashboard-task-card .task-type-pill,
.dashboard-task-card .task-followup-badge,
.dashboard-task-card .task-due,
.dashboard-task-card .status-blocked{
  min-height:22px;
  padding:3px 8px;
  font-size:10.5px;
  line-height:1;
}
.dashboard-task-card .task-card-meta{
  align-items:center;
  gap:4px 9px;
  min-width:0;
  color:var(--ink-soft);
  font-size:11.3px;
  line-height:1.25;
}
.dashboard-task-card .task-card-meta > span,
.dashboard-task-card .task-lead-link{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dashboard-task-complete{
  min-height:30px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  font-size:11.2px;
  font-weight:820;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(18,20,43,.03);
  white-space:nowrap;
}
.dashboard-task-complete:hover{
  border-color:#cfd5e2;
  background:var(--surface-2);
}
.dashboard-rail .task-card .row-actions{
  width:100%;
  justify-content:flex-end;
  margin-top:2px;
}
.dashboard-rail .task-quick-workflow{
  display:none;
}
.dashboard-rail .task-card-title{
  gap:5px;
}
.dashboard-rail .task-card-title strong{
  font-size:12.5px;
  line-height:1.25;
}
.dashboard-rail .task-card .badge{
  min-height:20px;
  padding:3px 8px;
  font-size:10.5px;
}
.dashboard-rail .task-card-meta{
  gap:3px 8px;
  font-size:10.8px;
  line-height:1.25;
}
.dashboard-rail .task-description{
  display:none;
}
.dashboard-rail .row-actions .btn{
  min-height:30px;
  padding:0 10px;
  font-size:11.5px;
}
.panel{padding:18px 20px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.panel-title{font-size:16px;font-weight:760;color:var(--ink)}
.panel-logo{width:118px;height:auto;display:block}
.metric-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:42px;
  padding:9px 0;
  border-bottom:1px solid var(--line);
  color:var(--ink-soft);
}
.metric-row:last-child{border-bottom:0}
.metric-row strong{color:var(--ink);font-weight:760}
.metric-row-action{
  width:100%;
  border-top:0;
  border-left:0;
  border-right:0;
  background:transparent;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:color .16s ease,background-color .16s ease;
}
.metric-row-action:hover{
  color:var(--ink);
  background:#f7f8fc;
}
.metric-row-action:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.funnel{
  display:grid;
  gap:4px;
  padding:2px 0;
}
.funnel-row{
  display:grid;
  grid-template-columns:minmax(106px,132px) minmax(0,1fr) minmax(108px,132px);
  align-items:center;
  gap:8px;
  min-height:27px;
  padding:2px 0;
  border-radius:8px;
  opacity:0;
  animation:funnel-row-in .46s var(--ease) forwards;
  animation-delay:calc(var(--funnel-index,0) * 42ms);
  transition:background .16s var(--ease);
}
.funnel-row:hover{background:var(--surface-2)}
.funnel-label{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.funnel-label::before{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--funnel-color);
  box-shadow:0 0 0 4px var(--funnel-soft,rgba(45,91,255,.1));
  animation:funnel-dot-pulse 2.8s ease-in-out infinite;
  animation-delay:calc(var(--funnel-index,0) * 95ms);
}
.funnel-label span{
  display:block;
  color:var(--ink-soft);
  font-size:11.8px;
  font-weight:760;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.funnel-label small{
  display:none;
  margin-top:0;
  color:var(--ink-faint);
  font-size:11px;
}
.funnel-segment{
  position:relative;
  height:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:var(--funnel-width);
  justify-self:center;
  min-width:0;
  max-width:100%;
  filter:none;
  transition:width .28s var(--ease),transform .18s var(--ease);
}
.funnel-row:hover .funnel-segment{transform:translateY(-1px)}
.funnel-fill{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:6px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--funnel-color) 72%,#fff),var(--funnel-color));
  opacity:calc(var(--funnel-alpha) + .08);
  clip-path:polygon(2.5% 0,97.5% 0,100% 100%,0 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
  transform-origin:center;
  animation:funnel-segment-in .58s var(--ease) both;
  animation-delay:calc(90ms + var(--funnel-index,0) * 44ms);
}
.funnel-fill::before{
  content:"";
  position:absolute;
  inset:-35% auto -35% -32%;
  width:28%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-18deg);
  animation:funnel-shimmer 3.8s ease-in-out infinite;
  animation-delay:calc(.9s + var(--funnel-index,0) * 90ms);
}
.funnel-fill::after{
  content:"";
  position:absolute;
  inset:0;
  width:calc(var(--count-weight) * 100%);
  background:rgba(255,255,255,.12);
}
.funnel-segment strong{
  position:relative;
  z-index:1;
  color:#fff;
  font-size:10.5px;
  font-weight:800;
  text-shadow:0 1px 5px rgba(18,20,43,.22);
}
.funnel-meta{
  color:var(--ink-soft);
  font-size:10.2px;
  font-weight:800;
  text-align:right;
  white-space:nowrap;
}
@keyframes funnel-row-in{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes funnel-segment-in{
  from{transform:scaleX(.72);filter:saturate(.9) brightness(.96)}
  to{transform:scaleX(1);filter:saturate(1) brightness(1)}
}
@keyframes funnel-shimmer{
  0%,42%{left:-34%;opacity:0}
  54%{opacity:1}
  76%,100%{left:108%;opacity:0}
}
@keyframes funnel-dot-pulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 4px var(--funnel-soft,rgba(45,91,255,.1))}
  50%{transform:scale(1.08);box-shadow:0 0 0 5px var(--funnel-soft,rgba(45,91,255,.14))}
}

.toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.toolbar .search{flex:1;min-width:260px}
.toolbar select{width:auto;min-width:150px;color:var(--ink-soft)}
.work-filter-bar{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(132px,180px) minmax(132px,180px) minmax(180px,260px) auto auto;
  gap:10px;
  align-items:center;
}
.work-filter-bar .search,
.work-filter-bar select{
  min-width:0;
  width:100%;
}
.work-filter-bar .check-row{
  min-height:40px;
  margin:0;
  white-space:nowrap;
}
.work-table-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}
.work-table-actions .btn{
  height:30px;
  padding:0 9px;
  border-radius:7px;
  color:var(--ink-soft);
  font-size:11.5px;
  font-weight:780;
}
.bulk-actions-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  margin:0 0 10px;
  padding:7px 10px 7px 13px;
  border:1px solid rgba(45,91,255,.22);
  border-radius:10px;
  background:rgba(45,91,255,.055);
}
.bulk-actions-toolbar>strong{
  color:var(--ink);
  font-size:13px;
  white-space:nowrap;
}
.bulk-actions-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}
.bulk-actions-controls select{
  width:auto;
  min-width:146px;
  min-height:32px;
  padding-block:4px;
}
.bulk-actions-controls .btn{
  min-height:32px;
  gap:6px;
}
.bulk-actions-controls .ui-icon{width:15px;height:15px}
.work-table .bulk-select-cell{
  width:42px;
  min-width:42px;
  padding-inline:10px;
  text-align:center;
}
.work-table .bulk-select-cell input{
  width:16px;
  height:16px;
  margin:0;
  accent-color:var(--ink);
  cursor:pointer;
}
.work-table tbody tr.is-selected{background:rgba(18,20,43,.045)}

.table-wrap{overflow:hidden}
table{width:100%;min-width:920px;border-collapse:collapse}
th{
  position:sticky;
  top:0;
  z-index:1;
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  background:var(--surface-2);
  color:var(--ink-faint);
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-align:left;
  text-transform:uppercase;
}
.sort-head{
  width:100%;
  min-height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border:0;
  padding:0;
  background:transparent;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  text-align:left;
  text-transform:inherit;
}
.sort-head span{
  min-width:12px;
  color:var(--ink);
  font-size:12px;
  line-height:1;
  text-align:right;
}
.sort-head:hover{color:var(--ink)}
td{
  padding:13px 14px;
  border-bottom:1px solid var(--line);
  color:var(--ink-soft);
  font-size:13px;
  vertical-align:middle;
}
tbody tr{cursor:pointer;transition:background .12s var(--ease)}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:var(--surface-2)}
.company-name{color:var(--ink);font-weight:740}
.subtext{margin-top:3px;color:var(--ink-faint);font-size:12px}
.work-table-wrap{
  overflow:auto;
}
.work-table{
  min-width:1040px;
  table-layout:fixed;
}
.work-table th,
.work-table td{
  padding:10px 12px;
}
.work-table tbody tr{
  cursor:pointer;
}
.work-table .sort-head{
  min-height:22px;
}
.work-table .sort-head span{
  color:var(--ink);
  font-size:13px;
}
.work-table .company-name,
.work-table .table-link{
  font-size:12.8px;
  line-height:1.2;
}
.work-table .subtext{
  font-size:11.3px;
  line-height:1.3;
}
.leads-table:not(.has-bulk-selection) th:nth-child(1){width:16%}
.leads-table:not(.has-bulk-selection) th:nth-child(2){width:12%}
.leads-table:not(.has-bulk-selection) th:nth-child(3){width:10%}
.leads-table:not(.has-bulk-selection) th:nth-child(4){width:15%}
.leads-table:not(.has-bulk-selection) th:nth-child(5){width:10%}
.leads-table:not(.has-bulk-selection) th:nth-child(6){width:12%}
.leads-table:not(.has-bulk-selection) th:nth-child(7){width:11%}
.leads-table:not(.has-bulk-selection) th:nth-child(8){width:12%}
.leads-table.has-bulk-selection th:nth-child(2){width:16%}
.leads-table.has-bulk-selection th:nth-child(3){width:12%}
.leads-table.has-bulk-selection th:nth-child(4){width:10%}
.leads-table.has-bulk-selection th:nth-child(5){width:15%}
.leads-table.has-bulk-selection th:nth-child(6){width:10%}
.leads-table.has-bulk-selection th:nth-child(7){width:12%}
.leads-table.has-bulk-selection th:nth-child(8){width:11%}
.leads-table.has-bulk-selection th:nth-child(9){width:12%}
.leads-table th.lead-actions-head{
  width:48px;
  padding-inline:6px;
}
.leads-table td.lead-actions-cell{
  width:48px;
  padding:6px;
  text-align:center;
}
.lead-delete-btn{
  width:30px;
  height:30px;
  margin:auto;
  border-color:transparent;
  background:transparent;
  color:var(--ink-faint);
}
.lead-delete-btn:hover,
.lead-delete-btn:focus-visible{
  border-color:rgba(240,68,56,.22);
  background:rgba(240,68,56,.08);
  color:#b42318;
}
.lead-delete-btn .ui-icon{
  width:15px;
  height:15px;
}
.leads-table .badge{
  min-height:22px;
  padding:3px 8px;
  font-size:10.8px;
}
.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  color:#fff;
  font-size:11.5px;
  font-weight:760;
  white-space:nowrap;
}
.badge.light{background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--line)}
.badge.status-active{background:rgba(18,183,106,.12);color:#067647;border:1px solid rgba(18,183,106,.18)}
.badge.status-pending{background:rgba(240,162,2,.14);color:#9a6700;border:1px solid rgba(240,162,2,.20)}
.badge.status-blocked{background:rgba(240,68,56,.12);color:#b42318;border:1px solid rgba(240,68,56,.18)}
.badge.status-rejected{background:var(--surface-3);color:var(--ink-soft);border:1px solid var(--line)}
.dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.row-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.row-actions .btn{
  height:30px;
  padding:0 10px;
  font-size:12px;
}
.empty{padding:58px 20px;text-align:center;color:var(--ink-soft)}
.empty img{width:130px;height:auto;margin-bottom:12px;opacity:.18}
.empty h2{margin:0 0 6px;color:var(--ink);font-size:18px}
.empty p{margin:0 auto;max-width:360px;line-height:1.55}

.pipeline-filter-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  color:var(--ink-soft);
}
.pipeline-filter-notice>div{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.pipeline-filter-notice .ui-icon{width:16px;height:16px;color:var(--accent)}
.pipeline-filter-notice span{font-size:13px;font-weight:700}
.pipeline-filter-notice strong{
  padding-left:8px;
  border-left:1px solid var(--line);
  color:var(--ink);
  font-size:12px;
  white-space:nowrap;
}
.pipeline{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:260px;
  gap:12px;
  overflow:auto;
  padding-bottom:12px;
}
.stage-manager{padding:16px}
.stage-manager.is-collapsed{padding:13px 16px}
.stage-manager-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.stage-manager.is-collapsed .stage-manager-head{align-items:center;margin-bottom:0}
.stage-manager-head > div{min-width:0}
.stage-manager-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}
.stage-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:10px;
}
.stage-settings-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:72px;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--stage-color) 22%,var(--line));
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(18,20,43,.03);
}
.stage-settings-main{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}
.stage-color-dot{
  width:12px;
  height:12px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--stage-color);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--stage-color) 13%,#fff);
}
.stage-settings-card strong{
  display:block;
  color:var(--ink);
  font-size:13px;
  font-weight:780;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.stage-settings-card small{
  display:block;
  margin-top:3px;
  color:var(--ink-faint);
  font-size:11.5px;
}
.lane{
  position:relative;
  min-width:0;
  min-height:360px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(180deg,var(--stage-softer),rgba(255,255,255,.42) 120px),var(--surface-2);
  box-shadow:inset 0 3px 0 var(--stage-color),0 1px 2px rgba(18,20,43,.03);
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);
}
.lane:hover{
  border-color:color-mix(in srgb,var(--stage-color) 36%,var(--line));
  box-shadow:inset 0 3px 0 var(--stage-color),0 8px 28px -22px var(--stage-color);
}
.lane-head{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
  color:var(--ink);
  font-size:13px;
  font-weight:760;
}
.lane-head-copy{
  min-width:0;
  display:grid;
  gap:4px;
}
.lane-head-top,
.lane-head-meta{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.lane-head-top{
  justify-content:flex-start;
}
.lane-head-meta{
  justify-content:flex-start;
}
.lane-head-top span:first-child{
  min-width:0;
  flex:1 1 auto;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.lane-head small{
  color:var(--ink-faint);
  font-size:11px;
  font-weight:700;
}
.lane-sum{
  flex:0 0 auto;
  width:max-content;
  padding:3px 9px;
  border:1px solid color-mix(in srgb,var(--stage-color) 26%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--stage-softer) 70%,#fff);
  color:var(--stage-color);
  font-size:10.5px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.01em;
}
.lane-count{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  border:1px solid color-mix(in srgb,var(--stage-color) 26%,var(--line));
  border-radius:999px;
  background:#fff;
  color:var(--stage-color);
  font-size:12px;
  font-weight:800;
}
.lane-list{display:grid;align-content:start;gap:10px;min-width:0;min-height:456px}
.lead-card{
  position:relative;
  min-width:0;
  max-width:100%;
  padding:13px 13px 13px 15px;
  border:1px solid color-mix(in srgb,var(--stage-color) 18%,var(--line));
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(18,20,43,.04);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);
}
.lead-card::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:0 999px 999px 0;
  background:var(--stage-color);
}
.lead-card:hover{
  transform:translateY(-2px);
  box-shadow:0 2px 10px rgba(18,20,43,.06),0 18px 42px -24px var(--stage-color);
  border-color:color-mix(in srgb,var(--stage-color) 42%,var(--line));
}
.lead-card-head{
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  margin-bottom:7px;
}
.lead-card strong{
  display:block;
  min-width:0;
  color:var(--ink);
  font-weight:760;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.stage-chip{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:3px 7px;
  border-radius:999px;
  background:var(--stage-color);
  color:#fff;
  font-size:10.5px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 6px 14px -10px var(--stage-color);
}
.lead-meta{
  display:grid;
  gap:5px;
  min-width:0;
  color:var(--ink-soft);
  font-size:12px;
}
.lead-meta span{
  min-width:0;
  overflow-wrap:anywhere;
}
.lead-meta .mono{color:var(--ink);font-weight:760}

.plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.plans-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:22px;
  align-items:center;
}
.plans-hero h2{
  margin:4px 0 8px;
  font-size:22px;
  line-height:1.16;
  font-weight:780;
}
.plans-hero p{
  max-width:680px;
  margin:0;
  color:var(--ink-soft);
  line-height:1.62;
}
.plans-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.summary-card{
  min-height:104px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
}
.summary-card span{
  display:block;
  color:var(--ink-faint);
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.summary-card strong{
  display:block;
  margin-top:8px;
  color:var(--ink);
  font-size:20px;
  font-weight:780;
}
.summary-card small{
  display:block;
  margin-top:4px;
  color:var(--ink-soft);
  line-height:1.35;
}
.plans-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.section-sub{margin-top:4px;color:var(--ink-faint);font-size:12.5px}
.plan-card{padding:18px;border-top:4px solid var(--accent)}
.plan-kicker{
  margin-bottom:4px;
  color:var(--ink-faint);
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.plan-price{margin:8px 0;color:var(--ink);font-size:30px;line-height:1;font-weight:780}
.plan-price span{font-size:13px;color:var(--ink-faint)}
.plan-prepaid{
  display:inline-flex;
  margin-bottom:12px;
  padding:4px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--ink-soft);
  font-size:12px;
  font-weight:740;
}
.plan-description{margin:0;color:var(--ink-soft);line-height:1.5}
.plan-limits{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:12px 0;
}
.plan-limits span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent-ink);
  font-size:11.5px;
  font-weight:760;
}
.plan-features{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:7px;color:var(--ink-soft);font-size:13px}
.plan-features li::before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--accent)}
.plan-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.plan-drawer{width:var(--drawer-panel-width)}
.ai-shell{
  display:grid;
  gap:16px;
}
.ai-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:22px;
  align-items:center;
}
.ai-hero h2{
  margin:4px 0 8px;
  font-size:22px;
  line-height:1.16;
  font-weight:780;
}
.ai-hero p{
  max-width:720px;
  margin:0;
  color:var(--ink-soft);
  line-height:1.62;
}
.ai-status-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.ai-chat-panel{
  min-height:calc(100vh - 170px);
  display:flex;
  flex-direction:column;
  padding:0;
  overflow:hidden;
}
.ai-chat-head{
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.ai-chat-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.ai-status-pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--ink-soft);
  font-size:11.5px;
  font-weight:780;
}
.ai-quick-prompts{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
  justify-content:center;
}
.ai-quick-prompts .btn{
  min-height:32px;
  height:auto;
  max-width:100%;
  padding:7px 11px;
  font-size:12px;
  line-height:1.25;
  text-align:left;
  white-space:normal;
}
.ai-chat-log{
  flex:1;
  min-height:360px;
  max-height:none;
  overflow:auto;
  display:grid;
  align-content:start;
  gap:10px;
  padding:18px;
  border:0;
  border-radius:0;
  background:var(--surface-2);
}
.ai-empty{
  align-self:center;
  justify-self:center;
  max-width:520px;
  color:var(--ink-faint);
  font-size:13px;
  line-height:1.55;
  text-align:center;
}
.ai-empty strong{
  display:block;
  color:var(--ink);
  font-size:18px;
  margin-bottom:6px;
}
.ai-empty span{display:block}
.ai-message{
  max-width:min(760px,92%);
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(18,20,43,.03);
}
.ai-message.user{
  justify-self:end;
  border-color:rgba(45,91,255,.22);
  background:var(--accent-soft);
}
.ai-message.assistant{
  justify-self:start;
}
.ai-message-role{
  margin-bottom:5px;
  color:var(--ink-faint);
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ai-message-body{
  color:var(--ink);
  font-size:13px;
  line-height:1.55;
  white-space:pre-wrap;
}
.ai-message-body p{
  margin:0 0 10px;
}
.ai-message-body p:last-child{
  margin-bottom:0;
}
.ai-message-body ul,
.ai-message-body ol{
  margin:7px 0 11px;
  padding-left:20px;
  white-space:normal;
}
.ai-message-body li{
  margin:4px 0;
  padding-left:2px;
}
.ai-message-body h4{
  margin:12px 0 6px;
  font-size:13px;
}
.ai-message-body strong{
  font-weight:780;
}
.ai-message-body code{
  padding:1px 4px;
  border:1px solid var(--line);
  border-radius:4px;
  background:var(--surface-2);
  font-family:"IBM Plex Mono",ui-monospace,monospace;
  font-size:11.5px;
}
.ai-internal-links{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:11px;
}
.ai-internal-links button{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  border:1px solid rgba(107,75,255,.22);
  border-radius:7px;
  background:#faf9ff;
  color:#5940d6;
  font:inherit;
  font-size:11.5px;
  font-weight:750;
  cursor:pointer;
  transition:background .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease);
}
.ai-internal-links button:hover{
  border-color:rgba(107,75,255,.42);
  background:#f2efff;
  transform:translateY(-1px);
}
.ai-internal-links button:active{transform:translateY(0)}
.ai-internal-links button span{font-size:12px}
.ai-feedback-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.ai-feedback-actions button{
  min-height:28px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--ink-soft);
  padding:0 10px;
  font-size:11.5px;
  font-weight:820;
  transition:background .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease),transform .16s var(--ease);
}
.ai-feedback-actions button:hover{
  transform:translateY(-1px);
  border-color:rgba(107,75,255,.28);
  color:#5940d6;
}
.ai-feedback-actions button.active{
  border-color:rgba(107,75,255,.24);
  background:#f2efff;
  color:#5940d6;
}
.ai-feedback-actions span{
  color:var(--ink-faint);
  font-size:11.5px;
  font-weight:760;
}
.ai-message-meta{
  margin-top:8px;
  color:var(--ink-faint);
  font-size:11.5px;
  font-weight:700;
}
.ai-generating{
  position:relative;
  width:min(300px,88%);
  min-height:68px;
  display:flex;
  align-items:center;
  gap:12px;
  overflow:hidden;
  padding:12px 14px;
  border:1px solid rgba(107,75,255,.22);
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 30px -24px rgba(107,75,255,.9);
}
.ai-generating::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  box-shadow:inset 0 0 22px rgba(107,75,255,.08);
  animation:ai-magic-glow 1.8s ease-in-out infinite;
  pointer-events:none;
}
.ai-generating-spark{
  position:relative;
  width:40px;
  height:40px;
  flex:0 0 40px;
  color:#6b4bff;
}
.ai-generating-spark span{
  position:absolute;
  line-height:1;
  animation:ai-magic-spark 1.5s ease-in-out infinite;
}
.ai-generating-spark span:nth-child(1){left:13px;top:10px;font-size:18px}
.ai-generating-spark span:nth-child(2){left:3px;top:24px;font-size:9px;animation-delay:.35s}
.ai-generating-spark span:nth-child(3){right:2px;top:2px;font-size:11px;animation-delay:.7s}
.ai-generating > div:nth-child(2){
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--ink);
  font-size:13px;
}
.ai-generating-dots{
  display:inline-flex;
  gap:3px;
}
.ai-generating-dots i{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#8f77ff;
  animation:ai-magic-dot 1.1s ease-in-out infinite;
}
.ai-generating-dots i:nth-child(2){animation-delay:.16s}
.ai-generating-dots i:nth-child(3){animation-delay:.32s}
.ai-generating-light{
  position:absolute;
  left:-35%;
  bottom:0;
  width:35%;
  height:2px;
  background:linear-gradient(90deg,transparent,#9b86ff,#6b4bff,transparent);
  animation:ai-magic-line 1.35s ease-in-out infinite;
}
@keyframes ai-magic-glow{
  0%,100%{opacity:.45}
  50%{opacity:1}
}
@keyframes ai-magic-spark{
  0%,100%{opacity:.35;transform:translateY(2px) scale(.78) rotate(0)}
  50%{opacity:1;transform:translateY(-2px) scale(1.08) rotate(14deg)}
}
@keyframes ai-magic-dot{
  0%,60%,100%{opacity:.3;transform:translateY(0)}
  30%{opacity:1;transform:translateY(-3px)}
}
@keyframes ai-magic-line{
  0%{left:-35%;opacity:0}
  25%{opacity:1}
  100%{left:100%;opacity:0}
}
.ai-chat-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  margin:0;
  padding:14px;
  border-top:1px solid var(--line);
  background:#fff;
}
.ai-chat-form textarea{
  min-height:48px;
  max-height:140px;
  resize:vertical;
}
.ai-chat-form .btn{
  height:auto;
  min-height:48px;
  align-self:stretch;
}
.settings-grid{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:16px;
  align-items:start;
}
.settings-page{
  display:grid;
  gap:14px;
}
.booking-settings-page{
  display:grid;
  gap:14px;
}
.booking-module-page,
.booking-module-content,
.bookings-list-view{
  display:grid;
  gap:14px;
}
.booking-module-toolbar{
  justify-content:flex-start;
}
.booking-module-tabs{
  width:auto;
}
.booking-settings-panel{
  min-height:520px;
}
.booking-settings-layout{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:16px;
  align-items:start;
}
.booking-settings-sidebar{
  min-width:0;
}
.booking-settings-list{
  display:grid;
  gap:8px;
}
.booking-settings-row{
  width:100%;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:var(--ink);
  text-align:left;
}
.booking-settings-row.active{
  border-color:rgba(45,91,255,.42);
  background:var(--accent-soft);
}
.booking-settings-row span{
  min-width:0;
  display:grid;
  gap:4px;
}
.booking-settings-row strong,
.booking-settings-row small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.booking-settings-row small{
  color:var(--ink-faint);
  font-size:12px;
}
.booking-settings-row em{
  flex:0 0 auto;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-style:normal;
  font-weight:800;
}
.booking-settings-row em.status-active{background:rgba(18,183,106,.10);color:#067647}
.booking-settings-row em.status-blocked{background:rgba(240,68,56,.10);color:#b42318}
.booking-settings-editor{
  display:grid;
  gap:18px;
  min-width:0;
}
.booking-active-check{
  align-self:end;
  min-height:42px;
}
.booking-public-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.booking-public-link span{
  min-width:0;
  overflow:hidden;
  color:var(--ink-soft);
  font-family:var(--mono);
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.booking-settings-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.booking-settings-section{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.booking-settings-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.booking-radio-group{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.booking-radio-group-wide{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.booking-radio-option{
  min-width:0;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--ink-soft);
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.booking-radio-option:has(input:checked){
  border-color:rgba(45,91,255,.42);
  background:var(--accent-soft);
  color:var(--accent-ink);
}
.booking-radio-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.booking-radio-option span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.booking-option-url{
  display:grid;
  gap:6px;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:760;
}
.booking-integration-status{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:760;
}
.booking-integration-status div{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.booking-integration-status em{
  flex:0 0 auto;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(18,183,106,.10);
  color:#067647;
  font-size:11px;
  font-style:normal;
  font-weight:850;
}
.booking-integration-status span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.booking-availability-panel{
  display:grid;
  gap:12px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.section-head-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.booking-availability{
  display:grid;
  gap:8px;
}
.booking-availability-row{
  display:grid;
  grid-template-columns:minmax(150px,1fr) 150px 150px;
  gap:10px;
  align-items:end;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.booking-availability-row label:not(.check-row){
  display:grid;
  gap:6px;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:760;
}
.booking-availability-row input[type="time"]{
  min-height:38px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--ink);
}
.muted-block{
  display:block;
  margin-top:3px;
  color:var(--ink-faint);
  font-size:11.5px;
}
.booking-status-select{
  min-height:34px;
  padding:0 30px 0 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:12px;
  font-weight:760;
}
.booking-status-select.status-scheduled{border-color:rgba(45,91,255,.22);color:var(--accent-ink)}
.booking-status-select.status-completed{border-color:rgba(18,183,106,.22);color:#067647}
.booking-status-select.status-cancelled{border-color:rgba(240,68,56,.22);color:#b42318}
.booking-status-select.status-no_show{border-color:rgba(240,162,2,.25);color:#8a5b00}
.settings-tabs{
  display:flex;
  width:max-content;
  max-width:100%;
  gap:4px;
  padding:4px;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.settings-tabs button{
  min-height:36px;
  padding:0 14px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--ink-soft);
  font:inherit;
  font-size:13px;
  font-weight:750;
  white-space:nowrap;
  cursor:pointer;
}
.settings-tabs button:hover{
  color:var(--ink);
  background:var(--surface-2);
}
.settings-tabs button:focus-visible{
  outline:2px solid rgba(45,91,255,.45);
  outline-offset:2px;
}
.settings-tabs button.active{
  color:#fff;
  background:var(--ink);
}
.settings-tab-content{
  min-width:0;
}
.sales-plan-form{
  margin-bottom:16px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.sales-plan-table table{min-width:1040px}
.sales-target-panel{margin:0}
.target-progress-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px 14px;
}
.target-progress-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:5px 9px;
  align-items:center;
}
.target-progress-item > div:first-child{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.target-progress-item strong{color:var(--ink);font-size:12.5px}
.target-progress-item span,.target-progress-item small{color:var(--ink-soft);font-size:11.5px}
.target-progress-track{
  height:6px;
  overflow:hidden;
  border-radius:4px;
  background:#eceef4;
}
.target-progress-track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#6b4bff;
  transition:width .3s var(--ease);
}
.sales-plan-empty-state{
  min-height:82px;
  display:grid;
  align-content:center;
  gap:7px;
  padding:16px;
  border:1px dashed #d9deea;
  border-radius:10px;
  background:#fafbfe;
}
.sales-plan-empty-state strong{
  color:var(--ink);
  font-size:14px;
}
.sales-plan-empty-state span{
  max-width:620px;
  color:var(--ink-soft);
  font-size:12.5px;
  line-height:1.45;
}
.settings-copy h2{
  margin:4px 0 8px;
  font-size:22px;
  line-height:1.16;
  font-weight:780;
}
.settings-copy p{
  margin:0;
  color:var(--ink-soft);
  line-height:1.62;
}
.ai-admin-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.ai-settings-form{
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
}
.ai-enable-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:64px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.ai-enable-row > div{
  display:grid;
  gap:3px;
}
.ai-enable-row > div strong{
  color:var(--ink);
  font-size:14px;
}
.ai-enable-row > div span{
  color:var(--ink-soft);
  font-size:12px;
}
.switch-control{
  display:flex;
  align-items:center;
  gap:9px;
  cursor:pointer;
}
.switch-control input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.switch-track{
  position:relative;
  width:42px;
  height:24px;
  border-radius:12px;
  background:#c9ced9;
  box-shadow:inset 0 0 0 1px rgba(18,20,43,.08);
  transition:background .18s var(--ease),box-shadow .18s var(--ease);
}
.switch-track span{
  position:absolute;
  top:3px;
  left:3px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(18,20,43,.24);
  transition:transform .18s var(--ease);
}
.switch-control input:checked + .switch-track{
  background:#6b4bff;
  box-shadow:0 0 0 3px rgba(107,75,255,.12);
}
.switch-control input:checked + .switch-track span{
  transform:translateX(18px);
}
.switch-control input:focus-visible + .switch-track{
  outline:2px solid #6b4bff;
  outline-offset:2px;
}
.switch-control > strong{
  min-width:22px;
  color:var(--ink);
  font-size:12px;
}
.preset-toolbar{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:12px;
}
.preset-toolbar select{
  max-width:280px;
}
.permission-preset-form{
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
}
.permission-matrix{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.permission-matrix strong{
  grid-column:1/-1;
  color:var(--ink);
  font-size:13px;
}
.ai-log-head{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.ai-log-table{
  box-shadow:none;
}
.ai-log-table table{
  min-width:820px;
}
.ai-log-actions{
  display:flex;
  gap:6px;
}
.ai-answer-row td{
  padding:0 14px 14px;
  background:var(--surface-2);
}
.ai-answer-preview{
  max-width:820px;
  padding:14px;
  border:1px solid rgba(107,75,255,.18);
  border-radius:10px;
  background:#fff;
  box-shadow:inset 3px 0 0 #6b4bff;
}
.ai-answer-preview > strong{
  display:block;
  margin-bottom:8px;
  color:#6b4bff;
  font-size:12px;
}
.ai-knowledge-table table{
  min-width:1120px;
}
.ai-knowledge-table td{
  vertical-align:top;
}
.knowledge-answer{
  max-width:440px;
  color:var(--ink-soft);
  line-height:1.5;
  white-space:normal;
}
.btn-compact{
  height:30px;
  padding:0 10px;
  font-size:12px;
}
.muted{
  color:var(--ink-faint);
  font-size:12px;
}
.empty-cell{
  padding:22px;
  color:var(--ink-faint);
  text-align:center;
}
.permission-list{
  display:grid;
  gap:8px;
}
.permission-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 92px 92px;
  gap:10px;
  align-items:center;
  min-height:58px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
}
.permission-row strong{
  display:block;
  color:var(--ink);
  font-size:13px;
}
.permission-row small{
  display:block;
  margin-top:3px;
  color:var(--ink-faint);
  font-size:11.5px;
}
.toggle-row{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:760;
  text-transform:none;
  letter-spacing:0;
}
.toggle-row input{
  width:15px;
  height:15px;
  min-height:auto;
  accent-color:var(--ink);
}
.ai-context-preview{
  max-height:520px;
  overflow:auto;
  margin:0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#0f1222;
  color:#eef1ff;
  font-size:12px;
  line-height:1.5;
  white-space:pre-wrap;
}
.danger-zone{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:6px;
  padding:12px;
  border:1px solid #fdd2cf;
  border-radius:var(--radius-sm);
  background:#fff7f6;
}
.danger-zone strong{
  display:block;
  color:#b42318;
  font-size:13px;
}
.danger-zone span{
  display:block;
  margin-top:3px;
  color:#912018;
  font-size:12px;
  line-height:1.4;
}
.user-action-panel{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--surface-2);
}

.overlay{
  position:fixed;
  inset:0;
  z-index:40;
  background:rgba(18,20,43,.35);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s var(--ease);
}
.overlay.show{opacity:1;pointer-events:auto}
body.ai-docked .overlay{
  right:var(--ai-panel-width);
}
body.drawer-docked .overlay{
  right:var(--drawer-panel-width);
  background:rgba(18,20,43,.18);
}
body.ai-docked.drawer-docked .overlay{
  right:calc(var(--ai-panel-width) + var(--drawer-panel-width));
}
.confirm-overlay{
  position:fixed;
  inset:0;
  z-index:95;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(18,20,43,.42);
  opacity:0;
  pointer-events:none;
  transition:opacity .16s var(--ease);
}
.confirm-overlay.show{
  opacity:1;
  pointer-events:auto;
}
.confirm-dialog{
  width:min(420px,100%);
  display:grid;
  gap:18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 24px 80px -36px rgba(18,20,43,.42);
  padding:20px;
}
.confirm-dialog.bulk-update-dialog{
  width:min(620px,100%);
}
.bulk-update-grid{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(220px,1.2fr);
  gap:14px;
}
.bulk-update-grid label{
  display:grid;
  gap:7px;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.bulk-update-grid .confirm-dialog-field{
  min-height:48px;
  text-transform:none;
  letter-spacing:0;
}
.confirm-dialog-copy{
  display:grid;
  gap:8px;
}
.confirm-dialog-copy strong{
  color:var(--ink);
  font-size:18px;
  font-weight:900;
  line-height:1.2;
}
.confirm-dialog-copy span{
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.45;
  white-space:pre-line;
}
.confirm-dialog-field{
  width:100%;
  min-height:46px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  line-height:1.45;
  padding:11px 12px;
  resize:vertical;
}
.confirm-dialog-field:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(74,108,255,.14);
  outline:0;
}
.confirm-dialog-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.ai-overlay{
  position:fixed;
  inset:0;
  z-index:44;
  background:rgba(18,20,43,.18);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s var(--ease);
}
.ai-overlay.show{opacity:1;pointer-events:auto}
.ai-assistant-panel{
  position:fixed;
  top:0;
  right:0;
  z-index:45;
  width:min(640px,100vw);
  height:100vh;
  display:flex;
  flex-direction:column;
  background:#fff;
  border-left:1px solid var(--line);
  box-shadow:-18px 0 55px rgba(18,20,43,.16);
  transform:translateX(100%);
  transition:transform .28s var(--ease);
}
body.ai-docked .ai-assistant-panel{
  box-shadow:-10px 0 36px -24px rgba(18,20,43,.35);
}
.ai-assistant-panel.show{transform:translateX(0)}
.ai-assistant-panel.is-resizing{transition:none}
.ai-resizing{
  cursor:col-resize;
  user-select:none;
}
.ai-resize-handle{
  position:absolute;
  left:-9px;
  top:0;
  width:18px;
  height:100%;
  cursor:col-resize;
  z-index:2;
}
.ai-resize-handle::before{
  content:"Drag to resize";
  position:absolute;
  left:-118px;
  top:86px;
  min-width:98px;
  padding:5px 8px;
  border:1px solid rgba(139,92,246,.22);
  border-radius:999px;
  background:#fff;
  color:#6b4bff;
  font-size:11px;
  font-weight:820;
  opacity:0;
  pointer-events:none;
  box-shadow:0 12px 28px -22px rgba(18,20,43,.35);
  transform:translateX(6px);
  transition:opacity .16s var(--ease),transform .16s var(--ease);
}
.ai-resize-handle::after{
  content:"";
  position:absolute;
  left:4px;
  top:82px;
  width:7px;
  height:64px;
  border-radius:999px;
  background:rgba(139,92,246,.22);
  box-shadow:inset 0 0 0 1px rgba(139,92,246,.20);
  transition:background .16s var(--ease),box-shadow .16s var(--ease),transform .16s var(--ease);
}
.ai-resize-handle:hover::before{
  opacity:1;
  transform:translateX(0);
}
.ai-assistant-panel.is-resizing::before{
  content:attr(data-width);
  position:absolute;
  left:-78px;
  top:158px;
  z-index:3;
  padding:5px 9px;
  border-radius:999px;
  background:#6b4bff;
  color:#fff;
  font-size:11px;
  font-weight:860;
  box-shadow:0 12px 24px -16px rgba(107,75,255,.85);
}
.ai-resize-handle:hover::after,
.ai-assistant-panel.is-resizing .ai-resize-handle::after{
  background:#8b5cf6;
  box-shadow:0 0 0 5px rgba(139,92,246,.12);
  transform:scaleX(1.18);
}
.ai-panel-head{
  min-height:76px;
  display:grid;
  grid-template-columns:1fr 1fr;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.ai-panel-tabs{
  display:flex;
  align-items:center;
  gap:22px;
  padding:0 24px;
  border-right:1px solid var(--line);
}
.ai-panel-tabs button{
  border:0;
  background:transparent;
  color:var(--ink);
  font-size:17px;
  font-weight:760;
}
.ai-panel-tabs button span{
  display:inline-block;
  margin-right:8px;
  color:#6b4bff;
  text-shadow:0 0 12px rgba(107,75,255,.38);
}
.ai-panel-title{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  color:var(--ink);
  font-size:18px;
  font-weight:760;
}
.ai-new-chat-btn{
  min-width:0;
  height:54px;
  flex:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:background .16s var(--ease),border-color .16s var(--ease),transform .16s var(--ease);
}
.ai-new-chat-btn:hover{
  border-color:var(--line);
  background:var(--surface-2);
}
.ai-new-chat-btn:active{
  transform:scale(.985);
}
.ai-new-chat-btn:focus-visible{
  outline:2px solid #6b4bff;
  outline-offset:1px;
}
.ai-new-chat-btn strong{
  color:#6b4bff;
  font-size:22px;
  line-height:1;
}
.ai-panel-title .icon-btn{
  border:0;
  font-size:20px;
  flex:0 0 auto;
}
.ai-panel-body{
  flex:1;
  min-height:0;
}
.ai-cloud-body{
  position:relative;
  height:100%;
  display:flex;
  flex-direction:column;
  background:linear-gradient(180deg,#f5f6f9 0%,#eef0f4 100%);
}
.ai-history-strip{
  flex:0 0 auto;
  padding:7px 18px 6px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.ai-history-head{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:5px;
  padding:0;
  text-align:left;
}
.ai-history-head strong{
  color:var(--ink);
  font-size:12px;
}
.ai-history-head span{
  color:var(--ink-faint);
  font-size:10.5px;
  font-weight:600;
}
.ai-history-list{
  display:flex;
  gap:7px;
  overflow:auto;
  padding-bottom:2px;
  scrollbar-width:none;
}
.ai-history-list::-webkit-scrollbar{display:none}
.ai-history-list button{
  width:calc((100% - 14px)/3);
  min-width:142px;
  min-height:44px;
  flex:0 0 calc((100% - 14px)/3);
  display:grid;
  align-content:center;
  gap:2px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  padding:6px 9px;
  color:var(--ink);
  text-align:left;
  box-shadow:0 1px 2px rgba(18,20,43,.03);
  transition:border-color .16s var(--ease),box-shadow .16s var(--ease),transform .16s var(--ease);
}
.ai-history-list button:hover{
  transform:translateY(-1px);
  border-color:rgba(107,75,255,.24);
  box-shadow:0 12px 28px -24px rgba(18,20,43,.38);
}
.ai-history-list button.active{
  border-color:rgba(107,75,255,.34);
  background:#f6f3ff;
}
.ai-history-list strong{
  overflow:hidden;
  color:var(--ink);
  font-size:11px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ai-history-list span{
  overflow:hidden;
  color:var(--ink-faint);
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ai-usage-meter{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  padding:0 20px 10px;
  border-bottom:0;
  background:#fff;
}
.ai-usage-item{
  display:grid;
  gap:3px;
  min-width:0;
  padding:6px 8px 7px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface-2);
}
.ai-usage-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.ai-usage-head span{
  overflow:hidden;
  color:var(--ink-soft);
  font-size:9.5px;
  font-weight:800;
  text-transform:uppercase;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ai-usage-head strong{
  color:var(--ink);
  font-size:10.5px;
  font-weight:820;
  white-space:nowrap;
}
.ai-usage-track{
  height:3px;
  overflow:hidden;
  border-radius:999px;
  background:#e4e7ef;
}
.ai-usage-track span{
  display:block;
  height:100%;
  min-width:4px;
  border-radius:inherit;
  background:linear-gradient(90deg,#a98cff,#6b4bff);
  transition:width .28s var(--ease);
}
.ai-usage-item small{
  overflow:hidden;
  color:var(--ink-faint);
  font-size:9.5px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ai-attachments{
  display:grid;
  gap:6px;
  padding:4px 12px 8px;
}
.ai-attachment-preview{
  min-width:0;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 24px;
  align-items:center;
  gap:9px;
  padding:8px 9px;
  border:1px solid rgba(107,75,255,.20);
  border-radius:10px;
  background:linear-gradient(180deg,#fff,#fbfaff);
  box-shadow:0 8px 18px -18px rgba(107,75,255,.38);
}
.ai-file-icon{
  width:34px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(107,75,255,.18);
  border-radius:8px;
  background:#f4f0ff;
  color:#5b3fe3;
  font-size:9.5px;
  font-weight:900;
}
.ai-file-meta{
  min-width:0;
  display:grid;
  gap:2px;
}
.ai-file-meta strong{
  overflow:hidden;
  color:var(--ink);
  font-size:12px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ai-file-meta span{
  overflow:hidden;
  color:var(--ink-faint);
  font-size:11px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ai-attachment-preview button{
  width:24px;
  height:24px;
  border:1px solid rgba(107,75,255,.16);
  border-radius:50%;
  background:#fff;
  color:#5940d6;
  font-size:14px;
  line-height:1;
  cursor:pointer;
}
.ai-attachment-preview button:hover{
  background:#f4f0ff;
}
.ai-attachment-error{
  border-color:rgba(240,68,56,.24);
  background:#fff7f6;
  box-shadow:none;
}
.ai-attachment-error .ai-file-icon{
  border-color:rgba(240,68,56,.22);
  background:#fff0ee;
  color:#c92f25;
}
.ai-attachment-error .ai-file-meta span{
  color:#b13a32;
}
.ai-attachment-success{
  border-color:rgba(18,183,106,.22);
  background:#f6fffb;
}
.ai-attachment-success .ai-file-icon{
  border-color:rgba(18,183,106,.22);
  background:#ecfff6;
  color:#087a45;
}
.ai-status-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:12px 22px 0;
}
.ai-status-strip span{
  min-height:25px;
  display:inline-flex;
  align-items:center;
  padding:3px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--ink-soft);
  font-size:11.5px;
  font-weight:760;
}
.ai-chat-scroll{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:12px 24px 10px;
}
.ai-cloud-mark{
  position:relative;
  width:104px;
  height:52px;
  margin:0 auto 8px;
}
.ai-cloud-mark span{
  position:absolute;
  display:block;
  border-radius:999px;
  background:linear-gradient(135deg,#f7f4ff 0%,#a98cff 54%,#6b4bff 100%);
  box-shadow:0 18px 34px -20px rgba(91,71,214,.78),inset -12px -12px 30px rgba(72,50,185,.24);
  will-change:transform,filter;
}
.ai-cloud-mark span:nth-child(1){
  width:32px;
  height:32px;
  left:8px;
  bottom:6px;
  animation:ai-orbit-left 4.8s ease-in-out infinite;
}
.ai-cloud-mark span:nth-child(2){
  width:44px;
  height:44px;
  left:31px;
  bottom:4px;
  background:linear-gradient(135deg,#fbf9ff 0%,#d9ceff 45%,#8f77ff 100%);
  animation:ai-float-small 5.4s ease-in-out .35s infinite;
}
.ai-cloud-mark span:nth-child(3){
  width:58px;
  height:58px;
  right:14px;
  bottom:0;
  animation:ai-cloud-breathe 4.2s ease-in-out infinite;
}
.ai-cloud-mark span:nth-child(4){
  width:34px;
  height:34px;
  right:0;
  bottom:5px;
  background:linear-gradient(135deg,#f3f0ff 0%,#9b86ff 58%,#4d37d8 100%);
  animation:ai-orbit-right 5s ease-in-out .7s infinite;
}
.ai-cloud-mark:hover span{
  animation-duration:3.2s;
}
@keyframes ai-orbit-left{
  0%,100%{transform:translate3d(0,0,0) rotate(0)}
  50%{transform:translate3d(-3px,-5px,0) rotate(-4deg)}
}
@keyframes ai-float-small{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(2px,-4px,0)}
}
@keyframes ai-cloud-breathe{
  0%,100%{transform:translate3d(0,0,0) scale(1);filter:brightness(1)}
  50%{transform:translate3d(0,-3px,0) scale(1.035);filter:brightness(1.06)}
}
@keyframes ai-orbit-right{
  0%,100%{transform:translate3d(0,0,0) rotate(0)}
  50%{transform:translate3d(4px,-4px,0) rotate(4deg)}
}
@media (prefers-reduced-motion:reduce){
  .ai-cloud-mark span,
  .ai-generating::before,
  .ai-generating-spark span,
  .ai-generating-dots i,
  .ai-generating-light,
  .funnel-row,
  .funnel-fill,
  .funnel-fill::before,
  .funnel-label::before{animation:none}
  .funnel-row{opacity:1}
}
.ai-empty{
  display:grid;
  justify-items:center;
  align-content:center;
  width:100%;
  max-width:1000px;
  min-height:100%;
  padding:0;
}
.ai-empty strong{
  color:var(--ink);
  font-size:16px;
  line-height:1.2;
}
.ai-empty > span{
  margin-top:3px;
  color:#7a7d86;
  font-size:13px;
}
.ai-task-command-hint{
  width:min(460px,100%);
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  padding:7px 9px;
  border:1px solid #d8def0;
  border-radius:10px;
  background:#f8faff;
}
.ai-task-command-hint > span{
  flex:0 0 auto;
  margin:0;
  color:#5b3fe3;
  font-size:10.5px;
  font-weight:850;
  text-transform:uppercase;
}
.ai-task-command-hint button{
  min-width:0;
  border:0;
  background:transparent;
  color:var(--ink-soft);
  padding:0;
  overflow:hidden;
  font:inherit;
  font-size:12px;
  font-weight:700;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer;
}
.ai-task-command-hint button:hover{
  color:#5b3fe3;
}
.ai-quick-actions{
  width:100%;
  margin-top:14px;
  text-align:left;
}
.ai-quick-actions h3{
  display:flex;
  align-items:center;
  gap:5px;
  margin:0 0 8px;
  color:var(--ink);
  font-size:12px;
  font-weight:600;
}
.ai-quick-actions h3 span{margin:0}
.ai-quick-prompts{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:0;
}
.ai-suggestion{
  width:100%;
  min-width:0;
  height:106px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:0;
  overflow:hidden;
  border:1px solid #e3e0ec;
  border-radius:15px;
  padding:10px 11px;
  background:#fcfbff;
  color:var(--ink);
  text-align:left;
  box-shadow:0 1px 2px rgba(38,25,85,.03);
  cursor:pointer;
  transition:transform .19s var(--ease),border-color .19s var(--ease),box-shadow .19s var(--ease);
}
.ai-suggestion:hover{
  transform:translateY(-2px);
  border-color:#cbbdf8;
  box-shadow:0 10px 24px -16px rgba(90,60,190,.45);
}
.ai-suggestion-icon{
  width:25px;
  height:25px;
  display:grid!important;
  place-items:center;
  flex:0 0 auto;
  margin:0 0 7px!important;
  border-radius:8px;
  background:#f0ebff;
  color:#7455ed!important;
  transition:transform .19s var(--ease);
}
.ai-suggestion:hover .ai-suggestion-icon{transform:scale(1.05)}
.ai-suggestion-icon .ai-action-svg{
  width:14px;
  height:14px;
}
.ai-suggestion strong{
  display:block;
  width:100%;
  margin:0 0 3px;
  color:var(--ink);
  font-size:12px;
  line-height:1.25;
  white-space:normal;
}
.ai-suggestion .ai-suggestion-description{
  display:block;
  width:100%;
  min-width:0;
  margin:0;
  overflow:hidden;
  color:#777382;
  font-size:10.5px;
  line-height:1.3;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  white-space:normal;
}
@media (max-width:820px){
  .ai-quick-prompts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .ai-quick-prompts{grid-template-columns:1fr}
  .ai-history-list button{
    width:calc((100% - 7px)/2);
    flex-basis:calc((100% - 7px)/2);
  }
}
@media (prefers-reduced-motion:reduce){
  .ai-suggestion,
  .ai-suggestion-icon{transition:none}
}
.ai-privacy-note{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin:0 20px 8px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:#70737c;
  font-size:12.5px;
  line-height:1.4;
  box-shadow:0 8px 24px -22px rgba(18,20,43,.35);
}
.ai-privacy-note button{
  border:0;
  background:transparent;
  color:#8b8f9a;
  font-size:18px;
}
.ai-composer{
  margin:0 20px 6px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 24px -24px rgba(18,20,43,.38);
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);
}
.ai-composer:focus-within{
  border-color:#8f77ff;
  box-shadow:0 0 0 3px rgba(107,75,255,.10),0 14px 30px -26px rgba(107,75,255,.40);
}
.ai-composer textarea{
  min-height:44px;
  border:0;
  box-shadow:none;
  resize:none;
  padding:13px 18px 4px;
  font-size:14px;
  caret-color:#6b4bff;
}
.ai-composer textarea:focus{box-shadow:none;border:0}
.ai-composer.invalid{
  animation:ai-composer-shake .34s var(--ease);
  border-color:#8b5cf6;
  box-shadow:0 0 0 4px rgba(139,92,246,.12);
}
.ai-composer-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:5px 12px 10px;
}
.ai-attach-btn{
  position:relative;
  width:auto;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--ink-soft);
  padding:0 10px;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
  cursor:pointer;
  transition:border-color .16s var(--ease),color .16s var(--ease),background .16s var(--ease);
  overflow:hidden;
}
.ai-attach-btn:hover{
  border-color:rgba(107,75,255,.28);
  background:#faf9ff;
  color:#5940d6;
}
.ai-attach-btn input{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}
.ai-attach-btn span{
  color:#6b4bff;
  font-size:14px;
  line-height:1;
}
.ai-send-btn{
  position:relative;
  margin-left:auto;
  width:32px;
  height:32px;
  border:0;
  border-radius:50%;
  background:#7657f6;
  color:#fff;
  font-size:18px;
  font-weight:900;
  box-shadow:0 8px 18px -10px rgba(107,75,255,.9);
  transition:transform .16s var(--ease),background .16s var(--ease),box-shadow .16s var(--ease);
}
.ai-send-btn:hover{
  transform:translateY(-2px);
  background:#6546eb;
  box-shadow:0 10px 24px -10px rgba(107,75,255,.95),0 0 0 5px rgba(107,75,255,.10);
}
.ai-send-btn:active{transform:scale(.90)}
.ai-send-btn:disabled{cursor:wait;transform:none;opacity:.82}
.ai-send-loader{
  width:14px;
  height:14px;
  display:block;
  margin:auto;
  border:2px solid rgba(255,255,255,.38);
  border-top-color:#fff;
  border-radius:50%;
  animation:ai-send-spin .7s linear infinite;
}
@keyframes ai-send-spin{to{transform:rotate(360deg)}}
@keyframes ai-composer-shake{
  0%,100%{transform:translateX(0)}
  30%{transform:translateX(-4px)}
  60%{transform:translateX(4px)}
}
.ai-chat-log{
  display:grid;
  gap:12px;
  align-content:start;
}
.ai-message{
  max-width:min(440px,92%);
}
.ai-technical-context{
  margin:0 24px 18px;
  color:var(--ink-soft);
  font-size:12px;
}
.ai-technical-context pre{
  max-height:220px;
  overflow:auto;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#101322;
  color:#eef1ff;
  white-space:pre-wrap;
}
.drawer{
  position:fixed;
  top:0;
  right:0;
  z-index:41;
  width:var(--drawer-panel-width);
  max-width:94vw;
  height:100vh;
  display:flex;
  flex-direction:column;
  background:#fff;
  box-shadow:-12px 0 40px rgba(18,20,43,.18);
  transform:translateX(100%);
  transition:transform .24s var(--ease);
}
body.ai-docked .drawer{
  right:var(--ai-panel-width);
}
body.drawer-docked .drawer{
  max-width:none;
}
.drawer.show{transform:translateX(0)}
.drawer-head{
  padding:20px 22px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.drawer h2{margin:3px 0 0;color:var(--ink);font-size:16px;font-weight:760}
.icon-btn{
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
  color:var(--ink-faint);
  font-weight:800;
  transition:background .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease);
}
.icon-btn:hover{background:var(--surface-2);color:var(--ink);border-color:var(--line-strong)}
.drawer-tabs{
  display:flex;
  gap:4px;
  padding:10px 14px;
  border-bottom:1px solid var(--line);
  overflow:auto;
}
.drawer-tabs button{
  height:32px;
  border:0;
  border-radius:9px;
  padding:0 10px;
  background:transparent;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:760;
  white-space:nowrap;
  transition:background .16s var(--ease),color .16s var(--ease);
}
.drawer-tabs button:hover{background:var(--surface-2);color:var(--ink)}
.drawer-tabs button.active{background:var(--ink);color:#fff}
.drawer-body{flex:1;overflow:auto;padding:18px 22px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid .full{grid-column:1/-1}
.profile-section{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.profile-section + .profile-section{margin-top:2px}
.profile-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.profile-section-head strong{
  color:var(--ink);
  font-size:14px;
  line-height:1.2;
}
.profile-section-head span{
  max-width:260px;
  color:var(--ink-faint);
  font-size:11.5px;
  line-height:1.35;
  text-align:right;
}
.profile-section-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.profile-photo-field{
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f8f9fc;
}
.profile-photo-preview{
  width:58px;
  height:58px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font-size:20px;
  font-weight:850;
}
.profile-photo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.profile-photo-field strong,
.profile-photo-field span{
  display:block;
}
.profile-photo-field strong{
  color:var(--ink);
  font-size:13px;
}
.profile-photo-field span{
  margin-top:4px;
  color:var(--ink-faint);
  font-size:11.5px;
  line-height:1.35;
}
.profile-photo-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
}
.profile-photo-actions input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.profile-toggle{
  align-self:end;
  min-height:38px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8f9fc;
  color:var(--ink);
  font-size:12px;
  letter-spacing:0;
  text-transform:none;
}
.profile-inline-actions{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.btn:disabled,
.icon-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
  filter:saturate(.55);
}
.telegram-connection-card{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
}
.telegram-connection-card.is-connected{
  border-color:rgba(18,183,106,.28);
  background:rgba(18,183,106,.06);
}
.telegram-connection-card > div:first-child{
  min-width:0;
  display:grid;
  gap:3px;
}
.telegram-connection-card strong{
  color:var(--ink);
  font-size:13px;
}
.telegram-connection-card span{
  color:var(--ink-soft);
  font-size:11.5px;
  line-height:1.35;
}
.mail-advanced-settings{
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
}
.mail-advanced-settings summary{
  padding:11px 12px;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:760;
  cursor:pointer;
}
.mail-advanced-settings[open] summary{
  border-bottom:1px solid var(--line);
}
.mail-advanced-settings .email-provider-grid{
  margin:12px;
}
.mail-advanced-settings .profile-section-grid{
  padding:0 12px 12px;
}
.task-starter-panel{
  display:grid;
  grid-template-columns:minmax(150px,190px) minmax(0,1fr);
  align-items:end;
  gap:12px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8f9fc;
}
.task-starter-control{
  display:grid;
  gap:5px;
}
.task-starter-control > span{
  color:var(--ink);
  font-size:11px;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
}
.task-starter-control select{
  min-height:38px;
  padding-top:7px;
  padding-bottom:7px;
  background-color:#fff;
  font-size:12px;
}
.task-starter-panel p{
  align-self:center;
  margin:0;
  color:var(--ink-faint);
  font-size:11px;
  line-height:1.4;
}
@media (max-width:640px){
  .task-starter-panel{grid-template-columns:1fr}
}
.task-activity-panel{
  display:grid;
  gap:12px;
  margin-top:6px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.task-activity-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.task-activity-head>div{
  display:grid;
  gap:3px;
}
.task-activity-head strong{
  color:var(--ink);
  font-size:14px;
}
.task-activity-head span{
  color:var(--ink-faint);
  font-size:12px;
}
.task-comment-compose{
  display:grid;
  gap:8px;
}
.task-comment-compose textarea{
  min-height:70px;
  text-transform:none;
}
.task-comment-compose .btn{
  justify-self:end;
}
.task-activity-feed{
  display:grid;
  max-height:340px;
  overflow:auto;
  border-top:1px solid var(--line);
}
.task-activity-item{
  position:relative;
  display:grid;
  gap:5px;
  padding:12px 4px 12px 20px;
  border-bottom:1px solid var(--line);
}
.task-activity-item:last-child{border-bottom:0}
.task-activity-mark{
  position:absolute;
  top:17px;
  left:3px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--ink-faint);
  box-shadow:0 0 0 4px var(--surface-2);
}
.task-activity-item.is-comment .task-activity-mark{
  background:#7c3aed;
  box-shadow:0 0 0 4px rgba(124,58,237,.10);
}
.task-activity-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.task-activity-meta strong{
  color:var(--ink);
  font-size:12px;
}
.task-activity-meta time{
  color:var(--ink-faint);
  font-size:11px;
}
.task-activity-item p{
  margin:0;
  color:var(--ink-soft);
  font-size:12.5px;
  line-height:1.5;
  white-space:pre-wrap;
}
.lead-activity-section{
  display:grid;
  gap:18px;
}
.activity-form{
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.panel-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.email-provider-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:14px 0 16px;
}
.email-provider-grid button{
  min-height:86px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  text-align:left;
  cursor:pointer;
  display:grid;
  align-content:start;
  gap:6px;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.email-provider-grid button:hover{
  border-color:var(--line-strong);
  background:#fbfcff;
}
.email-provider-grid button.active{
  border-color:var(--brand);
  background:#f7f9ff;
  box-shadow:0 0 0 2px rgba(45,91,255,.08);
}
.email-provider-grid strong{
  color:var(--ink);
  font-size:13px;
}
.email-provider-grid span{
  color:var(--ink-faint);
  font-size:11.5px;
  line-height:1.45;
}
.settings-form-section{
  display:grid;
  gap:3px;
  padding:12px 0 2px;
  border-top:1px solid var(--line);
}
.settings-form-section:first-child{
  border-top:0;
  padding-top:0;
}
.settings-form-section strong{
  color:var(--ink);
  font-size:13px;
}
.settings-form-section span{
  color:var(--ink-faint);
  font-size:12px;
}
.lead-activity-list{
  display:grid;
  gap:9px;
}
.lead-activity-item{
  position:relative;
  display:grid;
  gap:7px;
  padding:12px 13px 12px 16px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.lead-activity-item::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--activity-accent);
}
.lead-activity-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.lead-activity-head strong{
  color:var(--ink);
  font-size:13px;
}
.lead-activity-head span{
  color:var(--ink-faint);
  font-size:10.5px;
  text-align:right;
}
.lead-activity-item p{
  margin:0;
  color:var(--ink-soft);
  font-size:12.5px;
  line-height:1.5;
  white-space:pre-wrap;
}
.email-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);
  gap:14px;
  align-items:start;
}
.email-compose-panel,
.email-side-panel{
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.email-compose-panel{
  display:grid;
  overflow:visible;
}
.email-compose-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:12px;
  padding:12px;
  border-bottom:1px solid var(--line);
  background:var(--surface-2);
}
.email-compose-toolbar label{
  flex:1;
  max-width:320px;
}
.email-compose-toolbar .email-attach-btn{
  flex:0 0 auto;
  max-width:none;
}
.email-address-block{
  display:grid;
  gap:0;
  padding:0 14px;
}
.email-address-block>div,
.email-address-block label,
.email-next-action{
  min-height:42px;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
  gap:10px;
  border-bottom:1px solid var(--line);
}
.email-address-block span,
.email-next-action span{
  color:var(--ink-faint);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.email-address-block strong{
  min-width:0;
  overflow-wrap:anywhere;
  color:var(--ink);
  font-size:13px;
}
.email-address-block input,
.email-next-action input,
.email-subject-input,
.email-body-input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:inherit;
}
.email-subject-input{
  min-height:50px;
  padding:0 14px;
  border-bottom:1px solid var(--line);
  font-size:18px;
  font-weight:700;
}
.email-body-input{
  min-height:300px;
  padding:16px 14px;
  resize:vertical;
  line-height:1.55;
}
.email-next-action{
  min-height:54px;
  margin:14px 14px 22px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 1px 0 rgba(18,20,43,.02);
}
.email-next-action:focus-within{
  border-color:#c7d2fe;
  box-shadow:0 0 0 4px #eef2ff;
}
.email-side-panel{
  display:grid;
  gap:0;
}
.email-side-panel section{
  padding:12px;
  border-bottom:1px solid var(--line);
}
.email-side-panel section:last-child{
  border-bottom:0;
}
.email-side-title{
  margin-bottom:9px;
  color:var(--ink);
  font-size:12px;
  font-weight:800;
}
.email-context-list{
  margin:0;
  display:grid;
  gap:8px;
}
.email-context-list div{
  display:grid;
  gap:2px;
}
.email-context-list dt{
  color:var(--ink-faint);
  font-size:10.5px;
  text-transform:uppercase;
  font-weight:700;
}
.email-context-list dd{
  margin:0;
  color:var(--ink-soft);
  font-size:12.5px;
  line-height:1.35;
}
.email-history-list{
  display:grid;
  gap:8px;
}
.email-history-item{
  display:grid;
  gap:5px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.email-history-item.is-failed{
  border-color:#fecaca;
  background:#fffafa;
}
.email-history-item div{
  display:grid;
  gap:2px;
}
.email-history-item strong{
  color:var(--ink);
  font-size:12.5px;
}
.email-history-item span{
  color:var(--ink-faint);
  font-size:10.5px;
  line-height:1.35;
}
.email-history-item p{
  margin:0;
  color:var(--ink-soft);
  font-size:12px;
  line-height:1.45;
  max-height:70px;
  overflow:hidden;
}
.compact-empty{
  padding:12px;
}
.email-template-list{
  display:grid;
  gap:12px;
}
.email-template-card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.email-template-head{
  display:grid;
  grid-template-columns:minmax(180px,1fr) 110px auto;
  gap:12px;
  align-items:end;
}
.email-template-card textarea{
  min-height:150px;
}
@media (max-width:1200px){
  .drawer .email-workspace{
    grid-template-columns:1fr;
  }
  .email-detail-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .email-reader-toolbar>div{
    justify-content:flex-start;
  }
  .email-detail-head-meta{
    justify-items:start;
    text-align:left;
  }
}
@media (max-width:720px){
  .email-detail-overlay{
    padding:0;
    align-items:stretch;
  }
  .email-detail-panel{
    width:100vw;
    max-height:100vh;
    border:0;
    border-radius:0;
  }
  .email-reader-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .email-reader-lines div{
    grid-template-columns:1fr;
    gap:2px;
  }
  .email-link-panel,
  .email-link-controls{
    grid-template-columns:1fr;
  }
  .email-detail-frame{
    min-height:360px;
  }
  .mail-compose-overlay{
    padding:0;
    align-items:stretch;
  }
  .mail-compose-modal,
  .mail-compose-modal.is-expanded{
    width:100vw;
    height:100vh;
    max-height:100vh;
    border-radius:0;
    border:0;
  }
  .mail-compose-grid{
    grid-template-columns:1fr;
  }
  .mail-compose-grid .full{
    grid-column:auto;
  }
  .email-provider-grid{
    grid-template-columns:1fr;
  }
  .email-workspace{
    grid-template-columns:1fr;
  }
  .email-compose-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .email-compose-toolbar label{
    max-width:none;
  }
  .email-address-block>div,
  .email-address-block label{
    grid-template-columns:1fr;
    gap:4px;
    padding:8px 0;
  }
  .email-next-action{
    grid-template-columns:1fr;
    gap:4px;
    min-height:64px;
    padding:10px 12px;
  }
  .email-template-head{
    grid-template-columns:1fr;
  }
}
.unitix-date-popover{
  position:absolute;
  z-index:80;
  width:286px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:var(--shadow-lift);
}
.unitix-date-head{
  display:grid;
  grid-template-columns:32px 1fr 32px;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
}
.unitix-date-head strong{
  color:var(--ink);
  font-size:13px;
  text-align:center;
}
.unitix-date-head button,
.unitix-date-actions button{
  min-height:30px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
  color:var(--ink-soft);
  font-weight:750;
}
.unitix-date-head button:hover,
.unitix-date-actions button:hover{
  border-color:var(--accent);
  color:var(--accent-ink);
}
.unitix-date-week,
.unitix-date-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px;
}
.unitix-date-week{
  margin-bottom:5px;
}
.unitix-date-week span{
  color:var(--ink-faint);
  font-size:10px;
  font-weight:800;
  text-align:center;
}
.unitix-date-grid button{
  width:100%;
  aspect-ratio:1;
  border:1px solid transparent;
  border-radius:8px;
  background:#fff;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:750;
}
.unitix-date-grid button:hover{
  border-color:var(--line-strong);
  background:var(--surface-2);
}
.unitix-date-grid button.today{
  color:var(--accent-ink);
  background:var(--accent-soft);
}
.unitix-date-grid button.selected{
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
}
.unitix-time-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  color:var(--ink-soft);
  font-size:12px;
  font-weight:800;
}
.unitix-time-row input{
  width:118px;
  height:34px;
  border:1px solid var(--line);
  border-radius:8px;
  padding:0 9px;
  color:var(--ink);
}
.unitix-date-actions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(70px,1fr));
  gap:7px;
  margin-top:10px;
}
.unitix-date-actions [data-date-picker-apply]{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}
.task-layout{
  display:grid;
  gap:16px;
}
.task-form{
  margin-bottom:16px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
}
.task-attachments-panel{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.task-attachment-input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.task-attachment-upload{
  flex:0 0 auto;
  cursor:pointer;
}
.task-attachment-list{
  display:grid;
  gap:7px;
}
.task-attachment-item{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--surface-2);
}
.task-attachment-item > a{
  min-width:0;
  flex:1;
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--ink);
  text-decoration:none;
}
.task-pending-file{
  min-width:0;
  flex:1;
  display:flex;
  align-items:center;
  gap:9px;
}
.task-pending-file > span:last-child{
  min-width:0;
  display:grid;
  gap:2px;
}
.task-attachment-item > a > span:last-child{
  min-width:0;
  display:grid;
  gap:2px;
}
.task-attachment-item strong{
  overflow:hidden;
  color:var(--ink);
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.task-attachment-item small{
  color:var(--ink-faint);
  font-size:10.5px;
}
.task-file-icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid #ddd5ff;
  border-radius:7px;
  background:#f4f1ff;
  color:#6547ec;
  font-weight:800;
}
.task-attachment-success{
  border-color:rgba(18,183,106,.24);
  background:#f6fffb;
}
.task-attachment-success .task-file-icon{
  border-color:rgba(18,183,106,.24);
  background:#ecfff6;
  color:#087a45;
}
.task-attachment-success small{
  color:#087a45;
}
.task-attachment-error{
  border-color:rgba(240,68,56,.24);
  background:#fff7f6;
}
.task-attachment-error .task-file-icon{
  border-color:rgba(240,68,56,.22);
  background:#fff0ee;
  color:#c92f25;
}
.task-attachment-error small{
  color:#b13a32;
}
.task-attachment-delete{
  width:28px;
  height:28px;
  flex:0 0 auto;
  color:var(--ink-faint);
}
.ai-task-draft{
  display:grid;
  gap:10px;
  margin-top:12px;
  padding:12px;
  border:1px solid #d9d0ff;
  border-radius:8px;
  background:#faf9ff;
}
.ai-task-draft-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.ai-task-draft-head strong{
  color:var(--ink);
  font-size:12px;
}
.ai-task-draft-head span{
  color:#6547ec;
  font-size:10.5px;
  font-weight:700;
}
.ai-task-draft dl{
  display:grid;
  gap:0;
  margin:0;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
}
.ai-task-draft dl > div{
  min-width:0;
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:8px;
  padding:7px 9px;
  border-bottom:1px solid var(--line);
}
.ai-task-draft dl > div:last-child{border-bottom:0}
.ai-task-draft dt{
  color:var(--ink-faint);
  font-size:10.5px;
  font-weight:700;
  text-transform:uppercase;
}
.ai-task-draft dd{
  min-width:0;
  margin:0;
  overflow-wrap:anywhere;
  color:var(--ink);
  font-size:11.5px;
  font-weight:650;
}
.ai-status-change{
  color:#5b3fe3;
  font-weight:800;
}
.ai-draft-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.ai-draft-tags span{
  max-width:100%;
  padding:3px 7px;
  border:1px solid #d8def0;
  border-radius:999px;
  background:#f6f8fc;
  color:#526078;
  font-size:10.5px;
  line-height:1.2;
}
.ai-task-draft-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.ai-task-link-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.task-list{
  display:grid;
  gap:8px;
}
.task-card{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  overflow:hidden;
  padding:12px 12px 12px 15px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  cursor:pointer;
}
.task-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:#9aa3b2;
}
.task-card.priority-high::before{background:#f97316}
.task-card.priority-urgent::before{background:#f04438}
.task-card.priority-low::before{background:#12b76a}
.task-card.due-overdue::before{background:#f04438}
.task-card-quick-edit{
  display:block;
  cursor:default;
}
.task-card-quick-edit .task-kanban-quick-form{
  width:100%;
  max-width:560px;
}
.task-inline-edit{
  width:30px;
  height:30px;
  flex:0 0 auto;
}
.task-inline-edit .ui-icon{
  width:14px;
  height:14px;
}
.task-priority-badge{
  min-width:78px;
  justify-content:center;
  border-radius:999px;
  font-weight:820;
}
.task-priority-badge.priority-low{
  background:rgba(18,183,106,.11);
  color:#067647;
  border:1px solid rgba(18,183,106,.22);
}
.task-priority-badge.priority-medium{
  background:rgba(245,158,11,.13);
  color:#a15c00;
  border:1px solid rgba(245,158,11,.24);
}
.task-priority-badge.priority-high{
  background:rgba(249,115,22,.13);
  color:#b54708;
  border:1px solid rgba(249,115,22,.25);
}
.task-priority-badge.priority-urgent{
  background:rgba(240,68,56,.12);
  color:#b42318;
  border:1px solid rgba(240,68,56,.24);
}
.task-status-badge{
  min-width:96px;
  justify-content:center;
  border-radius:999px;
  font-weight:820;
}
.task-status-badge.status-backlog{
  background:#f4f6fb;
  color:#667085;
  border:1px solid #d8deea;
}
.task-status-badge.status-today{
  background:rgba(45,91,255,.10);
  color:#2d5bff;
  border:1px solid rgba(45,91,255,.22);
}
.task-status-badge.status-in-progress{
  background:rgba(124,58,237,.11);
  color:#6b35d8;
  border:1px solid rgba(124,58,237,.22);
}
.task-status-badge.status-waiting{
  background:rgba(240,162,2,.14);
  color:#9a6700;
  border:1px solid rgba(240,162,2,.24);
}
.task-status-badge.status-done{
  background:rgba(18,183,106,.11);
  color:#067647;
  border:1px solid rgba(18,183,106,.22);
}
.task-status-badge.status-cancelled{
  background:rgba(240,68,56,.10);
  color:#b42318;
  border:1px solid rgba(240,68,56,.20);
}
.task-quick-workflow{
  width:auto;
  min-width:126px;
  max-width:100%;
  min-height:30px;
  border-radius:999px;
  padding:5px 28px 5px 10px;
  font-size:11.5px;
  font-weight:820;
  cursor:pointer;
  box-shadow:none;
}
.task-quick-workflow.status-backlog{
  border-color:#d8deea;
  background:#f4f6fb;
  color:#667085;
}
.task-quick-workflow.status-today{
  border-color:rgba(45,91,255,.22);
  background:rgba(45,91,255,.10);
  color:#2d5bff;
}
.task-quick-workflow.status-in-progress{
  border-color:rgba(124,58,237,.22);
  background:rgba(124,58,237,.11);
  color:#6b35d8;
}
.task-quick-workflow.status-waiting{
  border-color:rgba(240,162,2,.24);
  background:rgba(240,162,2,.14);
  color:#9a6700;
}
.task-quick-workflow.status-done{
  border-color:rgba(18,183,106,.22);
  background:rgba(18,183,106,.11);
  color:#067647;
}
.task-card.is-closed{opacity:.58}
.task-card-main{min-width:0;display:grid;gap:5px}
.task-card-title{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.task-card-title strong{
  min-width:0;
  color:var(--ink);
  font-size:13px;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.task-description{
  display:-webkit-box;
  margin:0;
  overflow:hidden;
  color:var(--ink-soft);
  font-size:11.5px;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.task-followup-badge{
  border-color:rgba(107,75,255,.18);
  background:#f2efff;
  color:#5940d6;
}
.task-card-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 12px;
  color:var(--ink-soft);
  font-size:11.5px;
  line-height:20px;
}
.task-type-pill{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  min-height:20px;
  padding:2px 8px;
  border:1px solid var(--type-border, rgba(107,75,255,.18));
  border-radius:999px;
  background:var(--type-bg, #f6f3ff);
  color:var(--type-color, #5940d6)!important;
  font-size:10.5px;
  font-weight:850;
}
.task-type-pill.type-call{
  --type-border:rgba(45,91,255,.20);
  --type-bg:rgba(45,91,255,.09);
  --type-color:#2d5bff;
}
.task-type-pill.type-email{
  --type-border:rgba(18,183,106,.22);
  --type-bg:rgba(18,183,106,.10);
  --type-color:#087443;
}
.task-type-pill.type-todo{
  --type-border:rgba(102,112,133,.22);
  --type-bg:#f3f5f9;
  --type-color:#4b5568;
}
.task-type-pill.type-meeting{
  --type-border:rgba(107,75,255,.22);
  --type-bg:#f3efff;
  --type-color:#5940d6;
}
.task-type-pill.type-follow_up{
  --type-border:rgba(240,162,2,.25);
  --type-bg:rgba(240,162,2,.12);
  --type-color:#9a6700;
}
.task-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.task-tags span{
  min-height:20px;
  display:inline-flex;
  align-items:center;
  padding:2px 7px;
  border:1px dashed var(--line-strong);
  border-radius:5px;
  background:transparent;
  color:var(--ink-faint);
  font-size:10.5px;
  font-weight:700;
}
.task-lead-link{
  border:0;
  padding:0;
  background:transparent;
  color:#5940d6;
  font:inherit;
  font-weight:780;
  cursor:pointer;
  text-align:left;
  overflow-wrap:anywhere;
}
.task-lead-link:hover{text-decoration:underline}
.completed-tasks{margin-top:14px}
.completed-tasks summary{margin-bottom:10px;color:var(--ink-soft);font-size:12px;font-weight:700;cursor:pointer}
.dashboard-tasks{margin-top:0}
.tasks-page{display:grid;gap:14px}
.tasks-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.tasks-toolbar.panel{
  padding:6px 8px;
  border-radius:8px;
  box-shadow:0 1px 2px rgba(18,20,43,.03);
}
.tasks-toolbar .settings-tabs{margin:0}
.tasks-toolbar .btn{height:38px}
.task-filter-bar{
  display:flex;
  gap:8px;
  align-items:center;
}
.task-filter-bar input{
  flex:1;
  min-width:0;
}
.task-filter-bar select{
  width:clamp(132px,11vw,176px);
  min-width:132px;
}
.task-summary-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
}
.task-summary-strip button{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:7px 10px;
  text-align:left;
  box-shadow:0 1px 2px rgba(18,20,43,.03);
  transition:border-color .16s var(--ease),box-shadow .16s var(--ease),transform .16s var(--ease),background .16s var(--ease);
}
.task-summary-strip button:hover{
  transform:translateY(-1px);
  border-color:var(--line-strong);
  box-shadow:0 12px 26px -24px rgba(18,20,43,.32);
}
.task-summary-strip button.active{
  border-color:color-mix(in srgb,var(--summary-color) 40%,var(--line));
  background:var(--summary-soft);
  box-shadow:inset 3px 0 0 var(--summary-color);
}
.task-summary-strip button > span{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--summary-color);
  box-shadow:0 0 0 4px var(--summary-soft);
}
.task-summary-strip strong{
  color:var(--ink);
  font-size:14px;
  line-height:1;
}
.task-summary-strip small{
  order:2;
  color:var(--ink-soft);
  font-size:11px;
  font-weight:780;
}
.task-summary-strip .status-overdue{--summary-color:#f04438;--summary-soft:rgba(240,68,56,.10)}
.task-summary-strip .status-today{--summary-color:#2d5bff;--summary-soft:rgba(45,91,255,.10)}
.task-summary-strip .status-in-progress{--summary-color:#7c3aed;--summary-soft:rgba(124,58,237,.10)}
.task-summary-strip .status-waiting{--summary-color:#f0a202;--summary-soft:rgba(240,162,2,.12)}
.task-summary-strip .status-done{--summary-color:#12b76a;--summary-soft:rgba(18,183,106,.10)}
.task-focus-panel{
  --focus-color:#98a2b3;
  --focus-soft:rgba(152,162,179,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:76px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--focus-color) 24%,var(--line));
  border-radius:12px;
  background:
    linear-gradient(90deg,var(--focus-soft),rgba(255,255,255,0) 68%),
    #fff;
  box-shadow:inset 4px 0 0 var(--focus-color),0 1px 2px rgba(18,20,43,.03);
}
.task-focus-panel.danger{--focus-color:#f04438;--focus-soft:rgba(240,68,56,.10)}
.task-focus-panel.accent{--focus-color:#2d5bff;--focus-soft:rgba(45,91,255,.10)}
.task-focus-panel.neutral{--focus-color:#7c3aed;--focus-soft:rgba(124,58,237,.10)}
.task-focus-panel.clear{--focus-color:#12b76a;--focus-soft:rgba(18,183,106,.10)}
.task-focus-panel > div{
  min-width:0;
  display:grid;
  gap:4px;
}
.task-focus-panel span{
  color:var(--ink-faint);
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
}
.task-focus-panel strong{
  color:var(--ink);
  font-size:16px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.task-focus-panel small{
  color:var(--ink-soft);
  font-size:12px;
  line-height:1.35;
}
.task-focus-done{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  padding:0 11px;
  border-radius:999px;
  background:var(--focus-soft);
  color:var(--focus-color)!important;
  font-size:11.5px!important;
  font-weight:850!important;
}
.my-day-layout{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.task-kanban{
  display:grid;
  align-items:start;
  grid-template-columns:repeat(5,minmax(240px,1fr));
  gap:10px;
  overflow-x:auto;
  padding-bottom:8px;
  scroll-snap-type:x proximity;
}
.task-kanban-column{
  --column-color:#9aa3b2;
  --column-soft:rgba(154,163,178,.10);
  min-height:360px;
  display:flex;
  flex-direction:column;
  padding:10px;
  border:1px solid color-mix(in srgb,var(--column-color) 18%,var(--line));
  border-radius:10px;
  background:
    linear-gradient(180deg,var(--column-soft),rgba(255,255,255,0) 145px),
    var(--surface-2);
  box-shadow:inset 0 3px 0 var(--column-color);
  scroll-snap-align:start;
}
.task-kanban-column.status-backlog{--column-color:#98a2b3;--column-soft:rgba(152,162,179,.11)}
.task-kanban-column.status-overdue{--column-color:#f04438;--column-soft:rgba(240,68,56,.10)}
.task-kanban-column.status-today{--column-color:#2d5bff;--column-soft:rgba(45,91,255,.10)}
.task-kanban-column.status-upcoming{--column-color:#7c3aed;--column-soft:rgba(124,58,237,.10)}
.task-kanban-column.status-in-progress{--column-color:#7c3aed;--column-soft:rgba(124,58,237,.10)}
.task-kanban-column.status-waiting{--column-color:#f0a202;--column-soft:rgba(240,162,2,.12)}
.task-kanban-column.status-done{--column-color:#12b76a;--column-soft:rgba(18,183,106,.10)}
.task-kanban-head{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  padding:2px 4px 6px;
}
.task-kanban-head strong{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--ink);
  font-size:14px;
  line-height:1.2;
}
.task-kanban-head strong span{
  width:9px;
  height:9px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--column-color);
  box-shadow:0 0 0 4px var(--column-soft);
}
.task-kanban-head > .mono{
  min-width:26px;
  height:26px;
  display:inline-grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--column-color) 26%,var(--line));
  border-radius:999px;
  background:#fff;
  color:var(--column-color);
  font-size:11px;
  font-weight:860;
}
.task-kanban-list{
  min-height:300px;
  display:grid;
  align-content:start;
  gap:8px;
  border-radius:8px;
  transition:background .16s var(--ease),box-shadow .16s var(--ease);
}
.my-day-group{
  min-width:0;
  min-height:360px;
}
.my-day-group .task-kanban-card{
  cursor:pointer;
}
.task-kanban-list.drag-over{
  background:rgba(107,75,255,.06);
  box-shadow:inset 0 0 0 2px rgba(107,75,255,.22);
}
.task-kanban-card{
  position:relative;
  display:grid;
  align-content:start;
  gap:6px;
  padding:10px 10px 9px 12px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  cursor:grab;
  box-shadow:0 2px 8px rgba(18,20,43,.04);
}
.task-kanban-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:#9aa3b2;
}
.task-kanban-card.priority-low::before{background:#12b76a}
.task-kanban-card.priority-high::before{background:#f97316}
.task-kanban-card.priority-urgent::before{background:#f04438}
.task-kanban-card.due-overdue::before{background:#f04438}
.task-kanban-card strong{color:var(--ink);font-size:13px;line-height:1.35}
.task-kanban-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.task-kanban-card-head > strong{
  min-width:0;
  flex:1;
}
.task-kanban-card-head .task-priority-badge{
  min-width:auto;
  flex:0 0 auto;
  padding:3px 7px;
  font-size:10.5px;
}
.task-kanban-edit{
  position:relative;
  z-index:2;
  width:24px;
  height:28px;
  flex:0 0 auto;
  opacity:1;
  border-color:transparent;
  background:transparent;
  transform:translateY(-4px);
  cursor:pointer;
  touch-action:manipulation;
}
.task-kanban-edit:hover,
.task-kanban-edit:focus-visible{
  border-color:var(--line);
  background:var(--surface-2);
}
.task-kanban-edit .ui-icon{
  width:17px;
  height:17px;
}
.task-kanban-card-editing{cursor:default}
.task-kanban-quick-form{
  min-width:0;
  display:grid;
  gap:7px;
}
.task-kanban-quick-form input,
.task-kanban-quick-form select{
  width:100%;
  min-width:0;
  height:34px;
  padding:0 8px;
  border:1px solid var(--line-strong);
  border-radius:6px;
  background:#fff;
  color:var(--ink);
  font-size:11.5px;
}
.task-kanban-quick-form > input[name="title"]{
  height:auto;
  min-height:36px;
  padding:7px 8px;
  font-weight:750;
}
.task-kanban-quick-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:6px;
}
.task-kanban-quick-actions{
  display:flex;
  align-items:center;
  gap:6px;
}
.task-kanban-quick-delete{margin-left:auto}
.task-kanban-quick-delete .ui-icon{
  width:13px;
  height:13px;
}
.task-kanban-card span{color:var(--ink-soft);font-size:11.5px}
.task-kanban-card .task-due,
.task-kanban-card .task-due span,
.task-kanban-card .task-due small{
  color:var(--due-color,var(--ink-soft));
}
.task-kanban-card .task-due{
  width:max-content;
  max-width:100%;
}
.task-kanban-card p{
  display:-webkit-box;
  margin:0;
  overflow:hidden;
  color:var(--ink-soft);
  font-size:11px;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
}
.task-kanban-card .task-kind-label{
  width:max-content;
  padding:2px 6px;
  border-radius:4px;
  background:#f2efff;
  color:#5940d6;
  font-size:10px;
  font-weight:750;
}
.task-kanban-card small{color:var(--ink-faint);font-size:10.5px}
.task-kanban-card.dragging{opacity:.42;cursor:grabbing}
.task-kanban-card.drop-before{box-shadow:0 -3px 0 #6b4bff}
.task-kanban-card.drop-after{box-shadow:0 3px 0 #6b4bff}
.task-kanban-card-foot{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.task-kanban-foot-meta{
  min-width:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}
.task-kanban-indicators{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.task-kanban-indicators > span{
  display:inline-flex;
  align-items:center;
  gap:3px;
  color:var(--ink-faint);
}
.task-kanban-indicators .ui-icon{
  width:13px;
  height:13px;
}
.task-kanban-indicators small{
  color:var(--ink-faint);
  font-size:10px;
  font-weight:750;
}
.task-assignee-avatar{
  width:24px;
  height:24px;
  flex:0 0 auto;
  display:inline-grid;
  place-items:center;
  border:1px solid #d7ddeb;
  border-radius:50%;
  background:#f2f4f8;
  color:#49566d!important;
  font-size:9.5px!important;
  font-weight:850;
}
.task-kanban-add{
  display:none;
  gap:8px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 2px 8px rgba(18,20,43,.05);
}
.task-kanban-add.is-open{display:grid}
.task-kanban-add input{
  width:100%;
  min-width:0;
  height:36px;
  padding:0 9px;
  border:1px solid var(--line-strong);
  border-radius:6px;
}
.task-kanban-add > div{
  display:flex;
  align-items:center;
  gap:6px;
}
.task-kanban-add-trigger{
  min-height:34px;
  padding:6px 8px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--ink-soft);
  font-size:11.5px;
  font-weight:750;
  text-align:left;
  cursor:pointer;
}
.task-kanban-add-trigger:hover{
  background:var(--column-soft);
  color:var(--ink);
}
.task-kanban-add.is-open + .task-kanban-add-trigger{display:none}
.task-table{overflow:auto}
.task-table table{
  min-width:1120px;
  table-layout:fixed;
}
.task-table th,
.task-table td{padding:9px 10px}
.task-table th:nth-child(2){width:23%}
.task-table th:nth-child(3){width:10%}
.task-table th:nth-child(4){width:8%}
.task-table th:nth-child(5){width:11%}
.task-table th:nth-child(6){width:14%}
.task-table th:nth-child(7){width:10%}
.task-table th:nth-child(8){width:12%}
.task-table th:nth-child(9){width:10%}
.task-table th:nth-child(10){width:104px}
.task-table td:nth-child(6),
.task-table td:nth-child(7){
  min-width:0;
  overflow:hidden;
}
.task-table th:nth-child(5){
  text-align:left;
  vertical-align:middle;
}
.task-table td:nth-child(5){
  text-align:left;
  vertical-align:top;
}
.task-table td:nth-child(5) .table-link{
  display:block;
  max-width:100%;
  text-align:left;
}
.task-table td:nth-child(5){
  padding:8px 12px 7px;
}
.task-table td:nth-child(5) .table-link{
  line-height:1.12;
  word-break:break-word;
}
.task-table-row{
  position:relative;
  box-shadow:inset 3px 0 0 transparent;
}
.task-table-row.priority-low{box-shadow:inset 3px 0 0 #12b76a}
.task-table-row.priority-high{box-shadow:inset 3px 0 0 #f97316}
.task-table-row.priority-urgent{box-shadow:inset 3px 0 0 #f04438}
.task-title-cell{min-width:0}
.table-link{
  border:0;
  padding:0;
  background:transparent;
  color:var(--ink);
  font:inherit;
  font-weight:750;
  cursor:pointer;
}
.table-link:hover{color:#6b4bff}
.task-title-cell > .table-link{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.task-row-support{
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:3px;
}
.task-row-description{
  max-width:210px;
  overflow:hidden;
  color:var(--ink-faint);
  font-size:10.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.task-row-indicators{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.task-row-indicators span{
  padding:2px 5px;
  border:1px solid var(--line);
  border-radius:4px;
  background:var(--surface-2);
  color:var(--ink-soft);
  font-size:9.5px;
  font-weight:750;
  white-space:nowrap;
}
.task-due{
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:25px;
  padding:3px 8px;
  border:1px solid var(--due-border,var(--line));
  border-radius:999px;
  background:var(--due-bg,#fff);
  color:var(--due-color,var(--ink-soft));
  font-size:11.5px;
  font-weight:780;
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.task-due > span:not(.task-due-dot){
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.task-due-dot{
  width:6px;
  height:6px;
  flex:0 0 auto;
  border-radius:50%;
  background:currentColor;
  opacity:.9;
}
.task-due small{
  min-width:0;
  overflow:hidden;
  color:inherit;
  font-size:10px;
  font-weight:720;
  opacity:.72;
  text-overflow:ellipsis;
}
.task-due.is-compact{
  min-height:21px;
  padding:2px 7px;
  font-size:10.5px;
}
.task-due-neutral,.task-due-upcoming{
  --due-bg:#f8fafc;
  --due-border:#d8dee8;
  --due-color:#586174;
}
.task-due-tomorrow{
  --due-bg:#f6f3ff;
  --due-border:#d9d0ff;
  --due-color:#5940d6;
}
.task-due-today{
  --due-bg:rgba(45,91,255,.10);
  --due-border:rgba(45,91,255,.26);
  --due-color:#2d5bff;
}
.task-due-overdue{
  --due-bg:rgba(240,68,56,.11);
  --due-border:rgba(240,68,56,.26);
  --due-color:#b42318;
}
.task-due-done{
  --due-bg:rgba(18,183,106,.11);
  --due-border:rgba(18,183,106,.24);
  --due-color:#067647;
}
.task-table .task-priority-badge{
  min-width:68px;
  min-height:24px;
  padding:3px 8px;
}
.task-table .task-due{
  max-width:145px;
  width:100%;
  padding:3px 7px;
  font-size:11px;
}
.task-table .work-table th:nth-child(6),
.task-table .work-table td:nth-child(6){
  width:150px;
  max-width:150px;
}
.task-table .task-quick-workflow{
  min-width:112px;
  min-height:28px;
  padding-top:4px;
  padding-bottom:4px;
}
.task-actions-head{text-align:center}
.task-row-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
}
.task-complete-btn,
.task-edit-btn,
.task-delete-btn{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:var(--ink-soft);
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}
.task-complete-btn:hover,
.task-edit-btn:hover{
  border-color:#cfc5ff;
  background:#f6f3ff;
  color:#5b3fe3;
}
.task-delete-btn:hover{
  border-color:#f4c7c3;
  background:#fff1f0;
  color:#b42318;
}
.task-complete-btn.is-complete{
  border-color:rgba(18,183,106,.24);
  background:rgba(18,183,106,.10);
  color:#067647;
}
.performance-page{
  display:grid;
  gap:14px;
}
.performance-filters{
  display:flex;
  align-items:end;
  gap:10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.performance-filters label{
  width:auto;
  min-width:180px;
}
.performance-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.performance-metric{
  position:relative;
  min-height:126px;
  display:grid;
  grid-template-columns:1fr auto;
  align-content:start;
  gap:5px 10px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 1px 2px rgba(18,20,43,.04);
}
.performance-metric > span{
  grid-column:1/-1;
  color:var(--ink-faint);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.performance-metric > strong{
  grid-column:1/-1;
  color:var(--ink);
  font-size:21px;
}
.performance-metric > small{
  color:var(--ink-soft);
  font-size:11px;
}
.performance-metric > em{
  color:#5940d6;
  font-size:11px;
  font-style:normal;
  font-weight:800;
  text-align:right;
}
.performance-metric .target-progress-track{grid-column:1/-1}
.conversion-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
}
.conversion-strip > div{
  min-height:72px;
  display:grid;
  align-content:center;
  gap:6px;
  padding:12px 14px;
  border-right:1px solid var(--line);
}
.conversion-strip > div:last-child{border-right:0}
.conversion-strip span{color:var(--ink-soft);font-size:11.5px}
.conversion-strip strong{color:var(--ink);font-size:18px}
.performance-table table{min-width:1180px}
.drawer-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 22px;
  border-top:1px solid var(--line);
  background:#fff;
}
#saveState{color:var(--ink-faint);font-size:12px;font-weight:740}
.toast{
  position:fixed;
  left:50%;
  bottom:24px;
  z-index:60;
  max-width:min(420px,calc(100vw - 28px));
  padding:13px 16px;
  border-radius:12px;
  background:var(--ink);
  color:#fff;
  box-shadow:0 12px 30px rgba(18,20,43,.25);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,18px);
  transition:opacity .22s var(--ease),transform .22s var(--ease);
  font-size:13px;
  font-weight:700;
}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media (max-width:1100px){
  .app-shell{padding:0 18px 48px}
  .sidebar{align-items:flex-start;flex-wrap:wrap}
  .topbar{top:132px}
  .side-nav{order:3;width:100%}
  .nav-minimal .side-nav{order:0;width:auto}
  .sidebar-foot{
    width:auto;
    margin-left:auto;
    justify-content:flex-end;
  }
  .kpi-grid{grid-template-columns:repeat(3,1fr)}
  .dashboard-work-grid{
    grid-template-columns:1fr;
  }
  .target-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .my-day-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
  .task-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .performance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .conversion-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .conversion-strip > div{border-bottom:1px solid var(--line)}
  .grid-2{grid-template-columns:1fr}
  .dashboard-rail{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
  .ai-hero{grid-template-columns:1fr}
  .ai-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-grid{grid-template-columns:1fr}
}
@media (max-width:919px){
  body.ai-docked .app-shell,
  body.drawer-docked .app-shell,
  body.ai-docked.drawer-docked .app-shell{
    width:auto;
    margin:0 auto;
  }
  body.ai-docked .drawer,
  body.drawer-docked .drawer{
    right:0;
  }
  body.ai-docked .overlay,
  body.drawer-docked .overlay,
  body.ai-docked.drawer-docked .overlay{
    right:0;
  }
}
@media (max-width:820px){
  .auth-screen{padding:12px}
  .auth-panel{min-height:0;grid-template-columns:1fr;gap:0}
  .auth-brand{min-height:210px;padding:26px;border-right:0;border-bottom:1px solid var(--line)}
  .auth-copy{margin:26px 0}
  .auth-copy h1{font-size:30px}
  .auth-logo{width:160px}
  .auth-card{padding:30px}
  .app-shell{padding:0 14px 36px}
  .sidebar{position:relative}
  .topbar{top:0;align-items:flex-start;flex-direction:column}
  .topbar-actions{width:100%;flex-wrap:wrap}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .toolbar .search{min-width:100%}
  .toolbar select{flex:1;min-width:150px}
  .work-filter-bar{grid-template-columns:1fr 1fr}
  .work-filter-bar .search,
  .work-filter-bar .check-row,
  .work-table-actions{grid-column:1/-1}
  .work-table-actions{justify-content:flex-start}
  .stage-manager-head{align-items:stretch;flex-direction:column}
  .stage-manager.is-collapsed .stage-manager-head{align-items:stretch}
  .stage-manager-actions{justify-content:flex-start;flex-wrap:wrap}
  .mail-account-strip{align-items:flex-start;flex-direction:column}
  .template-library-grid{grid-template-columns:1fr}
  .template-library-list{max-height:260px;border-right:0;border-bottom:1px solid var(--line)}
  .template-editor-form{grid-template-columns:1fr 1fr}
  .inbox-toolbar{grid-template-columns:1fr 1fr}
  .inbox-toolbar input{grid-column:1/-1}
  .mail-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mail-compose-overlay{padding:12px}
  .mail-compose-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}
  .mail-compose-meta{grid-template-columns:1fr;gap:0}
  .mail-compose-meta .mail-lead-picker{grid-template-columns:58px minmax(0,1fr)}
  .mail-compose-meta .mail-lead-selected{grid-column:2;max-width:100%}
  .mail-compose-meta .mail-lead-results{left:70px}
  .mail-address-row{align-items:center}
  .ai-status-grid{grid-template-columns:1fr}
  .ai-admin-grid{grid-template-columns:1fr}
  .permission-matrix{grid-template-columns:1fr}
  .ai-chat-form{grid-template-columns:1fr}
  .ai-chat-form .btn{min-height:42px}
  .permission-row{grid-template-columns:1fr;align-items:stretch}
  .dashboard-rail{grid-template-columns:1fr;grid-template-rows:auto}
  .public-booking-page{align-items:start;padding:14px}
  .public-booking-card{min-height:0;grid-template-columns:1fr}
  .public-booking-info{
    gap:22px;
    padding:26px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .public-booking-info h1{font-size:28px}
  .public-booking-picker{padding:26px}
  .public-booking-scheduler{grid-template-columns:1fr}
  .public-booking-times{border-top:1px solid var(--line);padding-top:18px}
  .public-booking-controls{grid-template-columns:1fr}
  .public-booking-form{grid-template-columns:1fr}
  .public-booking-actions{justify-content:stretch;flex-direction:column}
  .public-booking-timezone-menu{
    position:fixed;
    left:14px;
    right:14px;
    bottom:14px;
    width:auto;
    max-height:min(72vh,520px);
  }
  .public-booking-timezone-list{
    max-height:calc(min(72vh,520px) - 64px);
  }
  .booking-settings-layout{grid-template-columns:1fr}
  .booking-radio-group,
  .booking-radio-group-wide{grid-template-columns:1fr 1fr}
  .booking-availability-row{grid-template-columns:1fr 1fr}
  .booking-availability-row .check-row{grid-column:1/-1}
}
@media (max-width:560px){
  .auth-brand{min-height:184px;padding:22px}
  .auth-copy{margin:20px 0 14px}
  .auth-copy h1{font-size:26px}
  .auth-card{padding:22px}
  .kpi-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .profile-section-grid{grid-template-columns:1fr}
  .profile-section-head{display:grid}
  .profile-section-head span{text-align:left}
  .telegram-connection-card{align-items:stretch;flex-direction:column}
  .telegram-connection-card .profile-inline-actions{justify-content:flex-start}
  .target-progress-grid{grid-template-columns:1fr}
  .tasks-toolbar{align-items:stretch;flex-direction:column}
  .booking-module-tabs{width:100%}
  .booking-module-tabs button{flex:1}
  .work-filter-bar{grid-template-columns:1fr}
  .bulk-actions-toolbar{align-items:stretch;flex-direction:column}
  .bulk-actions-controls{justify-content:flex-start;flex-wrap:wrap}
  .bulk-update-grid{grid-template-columns:1fr}
  .task-filter-bar{align-items:stretch;flex-direction:column}
  .task-filter-bar input,.task-filter-bar select{width:100%;min-width:0}
  .my-day-layout{grid-template-columns:1fr}
  .task-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mail-filter-bar{align-items:stretch;flex-direction:column}
  .mail-filter-bar input,.mail-filter-bar select{width:100%;min-width:0}
  .mail-filter-bar .work-table-actions{margin-left:0}
  .mail-compose-overlay{align-items:stretch;justify-content:stretch;padding:0}
  .mail-compose-modal{width:100vw;max-height:100vh;border-radius:0}
  .mail-compose-modal-body label{gap:8px}
  .mail-compose-modal-body label>span,
  .mail-compose-modal-body .relation-picker>span{width:48px;flex-basis:48px}
  .mail-compose-meta .mail-lead-picker{grid-template-columns:48px minmax(0,1fr)}
  .mail-compose-meta .mail-lead-results{left:56px}
  .mail-compose-modal-actions{flex-wrap:wrap}
  .template-library-modal{width:100vw;max-height:100vh;border-radius:0}
  .template-editor-form{grid-template-columns:1fr}
  .template-editor-actions{justify-content:stretch;flex-direction:column}
  .work-pager{align-items:stretch;flex-direction:column}
  .work-pager-range{margin-right:0}
  .work-pager-actions{justify-content:space-between}
  .performance-filters{align-items:stretch;flex-direction:column}
  .performance-filters label{width:100%;min-width:0}
  .performance-metrics{grid-template-columns:1fr}
  .conversion-strip{grid-template-columns:1fr}
  .conversion-strip > div{border-right:0}
  .drawer{width:100vw;max-width:100vw}
  .inbox-panel{width:100vw}
  .inbox-row{grid-template-columns:1fr}
  .inbox-row-actions{justify-content:flex-start}
  .public-booking-page{padding:0}
  .public-booking-card{
    min-height:100vh;
    border-radius:0;
    border-left:0;
    border-right:0;
  }
  .public-booking-logo{width:120px}
  .public-booking-info,
  .public-booking-picker{padding:22px}
  .public-booking-info h1{font-size:25px}
  .public-booking-calendar-grid{gap:2px}
  .public-booking-day{width:34px;height:34px;min-height:34px;font-size:12px}
  .public-booking-page[data-step="select"] .public-booking-event-info > .public-booking-logo{width:140px;margin:30px 0 24px}
  .public-booking-page[data-step="select"] .public-booking-copy,
  .public-booking-page[data-step="select"] .public-booking-meta{margin:0 22px}
  .public-booking-slot small{display:none}
  .public-booking-slots{grid-template-columns:1fr}
  .booking-public-link,
  .booking-settings-actions,
  .booking-settings-section-head,
  .section-head-row{align-items:stretch;flex-direction:column}
  .booking-radio-group,
  .booking-radio-group-wide{grid-template-columns:1fr}
  .booking-availability-row{grid-template-columns:1fr}
}
