/* Black Tie Event Manager public UI — v1.3.0 */
.btem-wrap{
  --bt-black:#000;
  --bt-ink:#111;
  --bt-muted:#626262;
  --bt-line:#d5d5d5;
  --bt-field:#f1f1f1;
  --bt-white:#fff;
  --bt-gold:#b28a4b;
  width:calc(100% - 48px);
  max-width:1180px;
  margin:34px auto 72px;
  color:var(--bt-ink);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.5;
}
.btem-wrap *{box-sizing:border-box}
.btem-wrap h1,
.btem-wrap h2,
.btem-wrap h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.btem-wrap button,
.btem-wrap input,
.btem-wrap select,
.btem-wrap textarea{font-family:Arial,Helvetica,sans-serif}

/* Page heading */
.btem-hero{
  position:relative;
  padding:38px 0 34px;
  background:var(--bt-white);
  border-top:1px solid var(--bt-black);
  border-bottom:1px solid var(--bt-black);
}
.btem-hero::before{
  content:"";
  display:block;
  width:48px;
  height:3px;
  margin:0 0 18px;
  background:var(--bt-gold);
}
.btem-hero-compact{padding-bottom:30px}
.btem-eyebrow{
  display:block;
  margin:0 0 10px;
  color:var(--bt-black);
  font-size:11px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
}
.btem-hero h1{
  max-width:920px;
  margin:0;
  color:var(--bt-black);
  font-size:clamp(38px,5vw,62px);
  line-height:1;
  font-weight:400;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.btem-hero p{
  max-width:800px;
  margin:15px 0 0;
  color:var(--bt-ink);
  font-size:16px;
  line-height:1.55;
}

/* Notices */
.btem-notice,
.btem-empty{
  margin:20px 0 0;
  padding:18px 20px;
  border:1px solid var(--bt-black);
  background:var(--bt-white)!important;
  color:var(--bt-black)!important;
}
.btem-notice::before{
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  margin:0 10px 1px 0;
  background:var(--bt-gold);
}
.btem-notice p,.btem-notice span,.btem-notice strong,.btem-notice a,
.btem-empty p,.btem-empty h2{color:var(--bt-black)!important}
.btem-empty h2{margin:0 0 7px;font-size:20px;text-transform:uppercase;letter-spacing:.4px}
.btem-empty p{margin:0}

/* Main form sections */
.btem-form{margin-top:0}
.btem-section{
  margin:0;
  padding:38px 0 42px;
  background:var(--bt-white);
  border-bottom:1px solid var(--bt-black);
}
.btem-section-head{
  display:block;
  margin:0 0 28px;
}
.btem-section-head h2{
  margin:0;
  color:var(--bt-black);
  font-size:25px;
  line-height:1.15;
  font-weight:400;
  letter-spacing:0;
  text-transform:uppercase;
}
.btem-section-head p{
  max-width:760px;
  margin:7px 0 0;
  color:var(--bt-muted);
  font-size:14px;
  line-height:1.5;
}
.btem-inline-note{
  margin:18px 0 0;
  padding:13px 15px;
  border-left:3px solid var(--bt-gold);
  background:var(--bt-white);
  color:var(--bt-ink);
  font-size:13px;
}

/* Layout */
.btem-grid{display:grid;gap:18px}
.btem-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.btem-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.btem-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.btem-field-full{margin-top:18px}
.btem-field>span,
.btem-fieldset-label{
  color:var(--bt-black);
  font-size:11px;
  line-height:1.35;
  font-weight:900;
  letter-spacing:.9px;
  text-transform:uppercase;
}
.btem-field em{color:var(--bt-black);font-style:normal}
.btem-field small{color:var(--bt-muted);font-style:normal;font-weight:600;letter-spacing:0;text-transform:none}
.btem-field-help{display:block;margin:0;font-size:11px;line-height:1.35}
.btem-field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:18px}
.btem-field-label-row>span{color:var(--bt-black);font-size:11px;font-weight:900;letter-spacing:.9px;text-transform:uppercase}
.btem-field-label-row .btem-field-help{flex:0 1 auto;text-align:right;white-space:nowrap}

/* Inputs — gray is intentionally confined to form controls */
.btem-field input,
.btem-field select,
.btem-field textarea{
  width:100%;
  min-height:52px;
  margin:0;
  padding:12px 14px;
  border:1px solid var(--bt-black)!important;
  border-radius:0;
  background:var(--bt-field)!important;
  color:var(--bt-black)!important;
  -webkit-text-fill-color:var(--bt-black)!important;
  caret-color:var(--bt-black);
  color-scheme:light;
  font:inherit;
  font-size:16px;
  font-weight:600;
  line-height:1.35;
  box-shadow:none!important;
  opacity:1;
}
.btem-field input::placeholder,
.btem-field textarea::placeholder{color:#6d6d6d!important;-webkit-text-fill-color:#6d6d6d!important;opacity:1;font-weight:400}
.btem-field select option{background:var(--bt-white);color:var(--bt-black)}
.btem-field textarea{min-height:82px;resize:vertical}
.btem-field input:focus,
.btem-field select:focus,
.btem-field textarea:focus{
  outline:2px solid var(--bt-black);
  outline-offset:2px;
  background:var(--bt-white)!important;
  color:var(--bt-black)!important;
  -webkit-text-fill-color:var(--bt-black)!important;
}
.btem-field input:-webkit-autofill,
.btem-field input:-webkit-autofill:hover,
.btem-field input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--bt-black)!important;
  -webkit-box-shadow:0 0 0 1000px var(--bt-field) inset!important;
  transition:background-color 9999s ease-in-out 0s;
}
.btem-event-core-fields .btem-field input[type="text"],
.btem-event-core-fields .btem-field input[type="date"]{
  display:block;
  width:100%;
  height:52px;
  min-height:52px;
  max-height:52px;
}
.btem-wrap .btem-field input[type="date"]{
  -webkit-appearance:auto!important;
  appearance:auto!important;
  background:var(--bt-field)!important;
  color:var(--bt-black)!important;
  -webkit-text-fill-color:var(--bt-black)!important;
  color-scheme:light!important;
  cursor:pointer!important;
}
.btem-wrap .btem-field input[type="date"]::-webkit-date-and-time-value,
.btem-wrap .btem-field input[type="date"]::-webkit-datetime-edit,
.btem-wrap .btem-field input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.btem-wrap .btem-field input[type="date"]::-webkit-datetime-edit-text,
.btem-wrap .btem-field input[type="date"]::-webkit-datetime-edit-month-field,
.btem-wrap .btem-field input[type="date"]::-webkit-datetime-edit-day-field,
.btem-wrap .btem-field input[type="date"]::-webkit-datetime-edit-year-field{
  color:var(--bt-black)!important;
  -webkit-text-fill-color:var(--bt-black)!important;
  opacity:1!important;
}
.btem-wrap .btem-field input[type="date"]::-webkit-calendar-picker-indicator{
  display:block!important;
  width:20px;
  height:20px;
  opacity:1!important;
  filter:none!important;
  cursor:pointer!important;
}
.btem-date-help{display:none;margin:0;color:var(--bt-muted)!important;font-size:11px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}

/* Event/store choices */
.btem-fieldset{width:100%;min-width:0;margin:24px 0 0;padding:0;border:0}
.btem-fieldset-label{display:block;width:100%;max-width:100%;margin:0 0 11px;padding:0;white-space:normal;overflow-wrap:anywhere}
.btem-choice-grid{display:grid;gap:10px}
.btem-event-types{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}
.btem-store-choices{grid-template-columns:repeat(2,minmax(0,1fr));max-width:600px}
.btem-choice{position:relative;cursor:pointer}
.btem-choice input{position:absolute;opacity:0;pointer-events:none}
.btem-choice span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:12px 14px;
  border:1px solid var(--bt-black);
  background:var(--bt-white);
  color:var(--bt-black);
  text-align:center;
  font-size:12px;
  font-weight:900;
  letter-spacing:.85px;
  text-transform:uppercase;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.btem-choice input:checked+span{
  background:var(--bt-white);
  color:var(--bt-black);
  box-shadow:inset 0 0 0 2px var(--bt-black),inset 0 -4px 0 var(--bt-gold);
}
.btem-choice input:focus-visible+span{outline:2px solid var(--bt-black);outline-offset:3px}

/* Party members */
.btem-copy-row{display:flex;justify-content:flex-end;margin:-4px 0 16px}
.btem-person{
  margin:0 0 16px;
  padding:24px;
  background:var(--bt-white);
  border:1px solid var(--bt-line);
}
.btem-person.is-removed{display:none}
.btem-person-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 20px;
  padding:0 0 14px;
  border-bottom:1px solid var(--bt-black);
}
.btem-person-head>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.btem-person-number{color:var(--bt-black);font-size:12px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.btem-person-remove{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid var(--bt-black);
  background:var(--bt-black);
  color:var(--bt-white);
  font-size:0;
  line-height:1;
  appearance:none;
  cursor:pointer;
}
.btem-person-remove::before{content:"×";display:block;color:var(--bt-white);font-family:Arial,sans-serif;font-size:24px;font-weight:400;line-height:1;transform:translateY(-1px)}
.btem-person-remove:hover,.btem-person-remove:focus-visible{background:var(--bt-white);outline:2px solid var(--bt-black);outline-offset:2px}
.btem-person-remove:hover::before,.btem-person-remove:focus-visible::before{color:var(--bt-black)}
.btem-status{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid var(--bt-black);background:var(--bt-white);color:var(--bt-black);font-size:10px;font-weight:900;letter-spacing:.6px;text-transform:uppercase}
.btem-status-complete,.btem-status-missing{background:var(--bt-white);color:var(--bt-black)}
.btem-person-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--bt-line)}
.btem-link-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px!important;
  border:1px solid var(--bt-black)!important;
  border-radius:0!important;
  background:var(--bt-white)!important;
  color:var(--bt-black)!important;
  font:inherit;
  font-size:11px;
  font-weight:900;
  letter-spacing:.7px;
  text-decoration:none!important;
  text-transform:uppercase;
  box-shadow:none!important;
  text-shadow:none!important;
  cursor:pointer;
}
.btem-link-button:hover,.btem-link-button:focus-visible{background:var(--bt-black)!important;color:var(--bt-white)!important;border-color:var(--bt-black)!important}
.btem-remove-check{margin-left:auto;color:var(--bt-black);font-size:12px;font-weight:700}
.btem-remove-check input,.btem-check input{accent-color:var(--bt-black)}
.btem-measurement-summary{margin-top:18px;padding-top:14px;border-top:1px solid var(--bt-line)}
.btem-measurement-summary summary{cursor:pointer;color:var(--bt-black);font-size:11px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}
.btem-measurement-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}
.btem-measurement-grid div{padding:10px;border:1px solid var(--bt-line);background:var(--bt-white)}
.btem-measurement-grid span,.btem-summary-strip span{display:block;color:var(--bt-muted);font-size:10px;font-weight:900;letter-spacing:.75px;text-transform:uppercase}
.btem-measurement-grid strong{display:block;margin-top:3px;color:var(--bt-black);font-size:15px}

/* Summary strip */
.btem-summary-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  margin:0;
  background:var(--bt-white);
  border-bottom:1px solid var(--bt-black);
}
.btem-summary-strip div{
  min-width:0;
  padding:22px 22px 20px 0;
  border-right:1px solid var(--bt-line);
}
.btem-summary-strip div+div{padding-left:22px}
.btem-summary-strip div:last-child{border-right:0}
.btem-summary-strip strong{display:block;margin-top:5px;color:var(--bt-black);font-size:19px;line-height:1.25;font-weight:700}

/* Actions */
.btem-primary-button,.btem-secondary-button,.btem-print-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:12px 22px;
  border:1px solid var(--bt-black);
  border-radius:0;
  font:inherit;
  font-size:11px;
  font-weight:900;
  letter-spacing:1px;
  text-decoration:none;
  text-transform:uppercase;
  cursor:pointer;
}
.btem-primary-button{background:var(--bt-black)!important;color:var(--bt-white)!important;border-color:var(--bt-black)!important;text-shadow:none!important;box-shadow:none!important}
.btem-secondary-button,.btem-print-button{background:var(--bt-white)!important;color:var(--bt-black)!important;border-color:var(--bt-black)!important;text-shadow:none!important;box-shadow:none!important}
.btem-primary-button:hover,.btem-primary-button:focus-visible{background:var(--bt-white)!important;color:var(--bt-black)!important;box-shadow:inset 0 0 0 2px var(--bt-black)!important}
.btem-secondary-button:hover,.btem-secondary-button:focus-visible,.btem-print-button:hover,.btem-print-button:focus-visible{background:var(--bt-black)!important;color:var(--bt-white)!important}
.btem-submit-row{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  padding:26px 0;
  background:var(--bt-white);
  border-bottom:1px solid var(--bt-black);
}
.btem-submit-row p{margin:0;color:var(--bt-black);font-size:13px}
.btem-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:18px;
  color:var(--bt-black);
  font-size:13px;
  line-height:1.45;
}
.btem-check input{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0}
.btem-custom-role[hidden]{display:none!important}

@media(max-width:900px){
  .btem-wrap{width:calc(100% - 36px)}
  .btem-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .btem-event-types{grid-template-columns:repeat(2,minmax(0,1fr))}
  .btem-measurement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:700px){
  .btem-wrap{
    width:100vw;
    max-width:100vw;
    margin:0 calc(50% - 50vw) 40px;
    overflow-x:clip;
  }
  .btem-hero{padding:30px 20px 27px;border-top:0}
  .btem-hero::before{width:38px;margin-bottom:15px}
  .btem-hero h1{font-size:36px;line-height:1.02;letter-spacing:-.7px}
  .btem-hero p{font-size:15px}
  .btem-notice,.btem-empty{margin:0;padding:17px 20px;border-left:0;border-right:0;border-top:0}
  .btem-section{padding:30px 20px 34px}
  .btem-section-head{margin-bottom:22px}
  .btem-section-head h2{font-size:21px}
  .btem-section-head p{font-size:13px}
  .btem-grid-2,.btem-grid-3,.btem-store-choices{grid-template-columns:1fr}
  .btem-event-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .btem-choice span{min-height:50px;padding:10px 8px;font-size:11px}
  .btem-field-label-row{gap:8px;align-items:flex-start}
  .btem-field-label-row .btem-field-help{font-size:10px;white-space:normal;text-align:right}
  .btem-event-core-fields .btem-field input[type="text"],
  .btem-event-core-fields .btem-field input[type="date"]{height:52px;min-height:52px;max-height:52px}
  .btem-date-help{display:block}
  .btem-person{padding:19px 15px;margin-bottom:12px}
  .btem-person-head{align-items:center;margin-bottom:17px}
  .btem-person-actions{align-items:flex-start;flex-direction:column;gap:8px}
  .btem-remove-check{margin-left:0}
  .btem-measurement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .btem-summary-strip{grid-template-columns:1fr;padding:0 20px}
  .btem-summary-strip div,.btem-summary-strip div+div{padding:16px 0;border-right:0;border-bottom:1px solid var(--bt-line)}
  .btem-summary-strip div:last-child{border-bottom:0}
  .btem-summary-strip strong{font-size:17px}
  .btem-copy-row{justify-content:flex-start;margin-top:0}
  .btem-submit-row{align-items:stretch;flex-direction:column;padding:22px 20px}
  .btem-primary-button,.btem-secondary-button,.btem-print-button{width:100%;min-height:52px}
  .btem-submit-row p{text-align:center;font-size:12px}
}

@media(max-width:380px){
  .btem-hero h1{font-size:32px}
  .btem-event-types{grid-template-columns:1fr}
}

@media print{
  body *{visibility:hidden}
  .btem-wrap,.btem-wrap *{visibility:visible}
  .btem-wrap{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;color:#000}
  .btem-wrap,.btem-hero,.btem-section,.btem-person,.btem-summary-strip,.btem-measurement-grid div{background:#fff!important;color:#000!important}
  .btem-hero::before,.btem-submit-row,.btem-secondary-button,.btem-primary-button,.btem-print-button,.btem-person-remove,.btem-person-actions,.btem-copy-row,.btem-check,.btem-date-help{display:none!important}
  .btem-hero{padding:14px 0;border-top:1px solid #000}
  .btem-hero h1{font-size:28px}
  .btem-hero p{margin-top:6px}
  .btem-section{padding:16px 0}
  .btem-person{padding:12px;break-inside:avoid;border-color:#000}
  .btem-field input,.btem-field select,.btem-field textarea{min-height:0;padding:2px 0;border:0!important;background:#fff!important;color:#000!important;-webkit-text-fill-color:#000!important;appearance:none}
  .btem-choice input:not(:checked)+span{display:none}
  .btem-choice input:checked+span{justify-content:flex-start;min-height:0;padding:0;border:0;background:#fff;box-shadow:none;color:#000}
}
