/* INFINITY controls: the site's look for selects, date/month fields and checkboxes, and the panels
   that ui-controls.js opens instead of the system pickers. Colors come from the page's own theme
   variables (--surface/--card, --ink/--text, --border/--line, --brand-pink/--pink). Page rules keep
   sizes and colors of the fields; only the appearance, the icon and the right padding are forced. */

/* Base look for fields a page left unstyled; any page rule wins (zero specificity). */
:where(select:not([multiple]):not([size]):not([data-native]),
  input[type="date"]:not([data-native]),input[type="month"]:not([data-native])){
  box-sizing:border-box;font:inherit;color:var(--ink,var(--text,#181818));
  background-color:var(--surface,var(--card,#fff));
  border:1px solid var(--border,var(--line,rgba(0,0,0,.14)));border-radius:9px;padding:7px 11px;
}
select:not([multiple]):not([size]):not([data-native]){
  -webkit-appearance:none!important;appearance:none!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.75 6 6.25l4.5-4.5' fill='none' stroke='%238a8680' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right .75em center!important;background-size:.75em auto!important;
  padding-right:2.1em!important;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;
}
input[type="date"]:not([data-native]),input[type="month"]:not([data-native]){
  -webkit-appearance:none!important;appearance:none!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238a8680' stroke-width='1.4'%3E%3Crect x='2' y='3' width='12' height='11' rx='2'/%3E%3Cpath d='M2 6.5h12M5.5 1.5v3m5-3v3' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right .7em center!important;background-size:1em auto!important;
  padding-right:2.3em!important;cursor:pointer;text-align:left;
}
input[type="date"]:not([data-native])::-webkit-calendar-picker-indicator,
input[type="month"]:not([data-native])::-webkit-calendar-picker-indicator,
input[type="date"]:not([data-native])::-webkit-inner-spin-button,
input[type="month"]:not([data-native])::-webkit-inner-spin-button,
input[type="date"]:not([data-native])::-webkit-clear-button,
input[type="month"]:not([data-native])::-webkit-clear-button{display:none;-webkit-appearance:none}
/* iOS centers the value and collapses an empty field */
input[type="date"]:not([data-native])::-webkit-date-and-time-value,
input[type="month"]:not([data-native])::-webkit-date-and-time-value{text-align:left;margin:0;min-height:1.3em}
select.ic-open,input.ic-open{border-color:var(--brand-pink,var(--pink,#e6178c))!important;outline:none!important}
@media (hover:hover){
  select:not([multiple]):not([size]):not([data-native]):not(:disabled):hover,
  input[type="date"]:not([data-native]):not(:disabled):hover,input[type="month"]:not([data-native]):not(:disabled):hover{
    border-color:color-mix(in srgb,var(--brand-pink,var(--pink,#e6178c)) 55%,var(--border,var(--line,#ddd)))}
}
select:not([multiple]):not([size]):not([data-native]):disabled,
input[type="date"]:not([data-native]):disabled,input[type="month"]:not([data-native]):disabled{cursor:default}
/* Touch: taps go past the field to the page, where ui-controls.js opens the site's panel. */
@media (hover:none) and (pointer:coarse){
  select:not([multiple]):not([size]):not([data-native]),
  input[type="date"]:not([data-native]),input[type="month"]:not([data-native]){pointer-events:none}
}

/* Checkboxes */
input[type="checkbox"]:not([data-native]){
  -webkit-appearance:none;appearance:none;box-sizing:border-box;flex:0 0 auto;display:inline-block;vertical-align:-3px;
  width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px;padding:0;
  border:1.5px solid color-mix(in srgb,var(--ink,var(--text,#181818)) 32%,transparent);border-radius:5px;
  background:var(--surface,var(--card,#fff));box-shadow:none;cursor:pointer;transition:background-color .12s,border-color .12s;
}
input[type="checkbox"]:not([data-native]):checked{
  border-color:var(--brand-pink,var(--pink,#e6178c));
  background:var(--brand-pink,var(--pink,#e6178c)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3 5 8.6l4.5-5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px 11px no-repeat;
}
input[type="checkbox"]:not([data-native]):indeterminate{
  border-color:var(--brand-pink,var(--pink,#e6178c));
  background:var(--brand-pink,var(--pink,#e6178c)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6h6' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/11px 11px no-repeat;
}
input[type="checkbox"]:not([data-native]):focus-visible{outline:2px solid color-mix(in srgb,var(--brand-pink,var(--pink,#e6178c)) 55%,transparent);outline-offset:2px}
input[type="checkbox"]:not([data-native]):disabled{opacity:.45;cursor:default}
@media (hover:hover){
  input[type="checkbox"]:not([data-native]):not(:disabled):not(:checked):hover{border-color:var(--brand-pink,var(--pink,#e6178c))}
}

/* Panels */
.ic-pop{
  --ic-bg:var(--surface,var(--card,#fff));
  --ic-ink:var(--ink,var(--text,#181818));
  --ic-muted:var(--muted,#8a8680);
  --ic-line:var(--border,var(--line,rgba(0,0,0,.12)));
  --ic-accent:var(--brand-pink,var(--pink,#e6178c));
  --ic-hover:color-mix(in srgb,var(--ic-accent) 9%,var(--ic-bg));
  position:fixed;z-index:10050;box-sizing:border-box;margin:0;padding:5px;inset:auto;width:auto;height:auto;
  overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  background:var(--ic-bg);color:var(--ic-ink);border:1px solid var(--ic-line);border-radius:12px;
  box-shadow:0 14px 36px rgba(11,11,11,.18),0 2px 6px rgba(11,11,11,.08);
  font-size:13.5px;font-weight:450;font-style:normal;line-height:1.3;letter-spacing:normal;
  text-transform:none;text-align:left;white-space:normal;cursor:default;
  -webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;
  animation:ic-in .12s ease-out;
}
@keyframes ic-in{from{opacity:0;transform:translateY(-3px)}}
.ic-pop *,.ic-pop *::before,.ic-pop *::after{box-sizing:border-box}
.ic-pop.ic-list{display:flex;flex-direction:column;padding:0;overflow:hidden}
.ic-pop .ic-items{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:5px}
.ic-pop .ic-option{position:relative;display:block;min-height:34px;padding:8px 32px 8px 10px;border-radius:8px;cursor:pointer;overflow-wrap:anywhere}
.ic-pop .ic-option.ic-active{background:var(--ic-hover)}
.ic-pop .ic-option[aria-selected="true"]{color:var(--ic-accent);font-weight:650}
.ic-pop .ic-option[aria-selected="true"]::after{content:"";position:absolute;right:12px;top:50%;width:10px;height:5px;margin-top:-5px;
  border:solid currentColor;border-width:0 0 2px 2px;transform:rotate(-45deg)}
.ic-pop .ic-option[aria-disabled="true"]{color:var(--ic-muted);opacity:.55;cursor:default}
.ic-pop .ic-option[hidden],.ic-pop .ic-group[hidden],.ic-pop .ic-empty[hidden]{display:none}
.ic-pop .ic-group{padding:9px 10px 4px;color:var(--ic-muted);font-size:10.5px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}
.ic-pop .ic-empty,.ic-pop .ic-more{padding:9px 10px;color:var(--ic-muted);font-size:12.5px}
.ic-pop .ic-query{flex:none;padding:9px 12px;border-bottom:1px solid var(--ic-line);font-weight:600;overflow-wrap:anywhere}
.ic-pop .ic-query-empty{color:var(--ic-muted);font-weight:450}
.ic-pop .ic-value{display:block;font-weight:600}
.ic-pop .ic-hint{display:block;margin-top:2px;color:var(--ic-muted);font-size:12px;font-weight:450}

.ic-pop button{-webkit-appearance:none;appearance:none;display:inline-block;margin:0;width:auto;min-width:0;max-width:none;
  height:auto;min-height:0;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none;color:inherit;
  font:inherit;line-height:1.2;letter-spacing:normal;text-transform:none;text-align:center;cursor:pointer;touch-action:manipulation}
.ic-pop button:disabled{cursor:default}
.ic-pop button:focus-visible{outline:2px solid var(--ic-accent);outline-offset:1px}
.ic-pop.ic-cal{padding:12px}
.ic-cal .ic-head{display:grid;grid-template-columns:32px 1fr 32px;gap:6px;align-items:center;margin-bottom:10px}
.ic-cal .ic-nav{width:32px;height:32px;border:1px solid var(--ic-line);background:var(--surface-2,var(--card-2,var(--ic-bg)));
  color:var(--ic-ink);font-size:20px;line-height:1}
.ic-cal .ic-nav:disabled{opacity:.3}
.ic-cal .ic-title{justify-self:center;padding:6px 10px;font-size:14px;font-weight:650;text-align:center}
.ic-cal .ic-week{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:4px;color:var(--ic-muted);
  font-size:10px;font-weight:650;text-align:center;text-transform:uppercase}
.ic-cal .ic-week span{padding:2px 0}
.ic-cal .ic-grid{display:grid;gap:3px}
.ic-cal .ic-days{grid-template-columns:repeat(7,1fr)}
.ic-cal .ic-months{grid-template-columns:repeat(3,1fr);gap:6px}
.ic-cal .ic-cell{height:34px;border:1px solid transparent;color:var(--ic-ink);font-size:12.5px;font-weight:550;font-variant-numeric:tabular-nums}
.ic-cal .ic-months .ic-cell{height:42px}
.ic-cal .ic-cell.ic-out{color:var(--ic-muted)}
.ic-cal .ic-cell.ic-today{color:var(--ic-accent);font-weight:700;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ic-accent) 45%,transparent)}
.ic-cal .ic-cell.ic-cursor{background:var(--ic-hover);border-color:var(--ic-accent)}
.ic-cal .ic-cell[aria-selected="true"]{background:var(--ic-accent);border-color:var(--ic-accent);color:#fff;box-shadow:none}
.ic-cal .ic-cell:disabled{opacity:.3}
.ic-cal .ic-foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid var(--ic-line)}
.ic-cal .ic-link{padding:6px 9px;color:var(--ic-accent);font-size:12.5px;font-weight:650}
.ic-cal .ic-clear{color:var(--ic-muted)}
@media (hover:hover){
  .ic-cal .ic-title-btn:hover,.ic-cal .ic-link:hover{background:var(--ic-hover)}
  .ic-cal .ic-nav:not(:disabled):hover{border-color:var(--ic-accent);color:var(--ic-accent)}
  .ic-cal .ic-cell:not(:disabled):not([aria-selected="true"]):hover{background:var(--ic-hover);border-color:var(--ic-accent)}
}
@media (pointer:coarse){
  .ic-pop .ic-option{min-height:42px;padding-top:11px;padding-bottom:11px}
  .ic-cal .ic-cell{height:38px}
}
@media (prefers-reduced-motion:reduce){.ic-pop{animation:none}}
