/* Shared web and Capacitor surfaces. Keep every control usable at 320px. */
.comet-access-search { min-width:0;max-width:100%;flex:1 1 12rem!important;height:44px; }
.comet-registration-form button { min-height:44px; }
.comet-registration-form [data-registration-errors] { overflow-wrap:anywhere; }
.comet-global-search-bar { display: none; }
.comet-mobile-create-icon { display:none; }
.comet-chat-dock.is-rail-collapsed .comet-chat-dock-rail { visibility:hidden; }
.comet-mobile-search { display:grid;place-items:center;width:44px;height:44px;padding:0;flex-shrink:0; }
.comet-event-lane.is-active { background:var(--comet-action);color:#fff!important; }
.comet-simple-page-actions .btn-primary { background:var(--comet-action);border-color:var(--comet-action);color:#fff; }
.comet-global-search-form { display:flex;align-items:center;gap:.65rem;border:1px solid var(--comet-border);border-radius:999px;background:var(--comet-surface-raised);padding:0 .5rem 0 1rem;width:100%;color:var(--comet-text-subtle);box-shadow:0 3px 14px rgba(36,31,69,.04); }
.comet-global-search-form input { border:0;background:transparent;color:var(--comet-text-body);width:100%;min-width:0;height:44px;outline:none;box-shadow:none; }
.comet-global-search-form input:focus { outline:none;box-shadow:none;background:transparent; }
.comet-global-search-form button { border:0;border-radius:50%;background:transparent;color:var(--comet-text-body);min-width:44px;min-height:44px; }
.comet-global-search-form:has(input:focus-visible) { border-color:var(--comet-action); }
.comet-starter-card,.comet-location-panel { border:1px solid var(--comet-border);border-radius:22px;background:var(--comet-surface-raised);color:var(--comet-text-body); }
.comet-starter-card { position:relative;padding:clamp(1rem,2.5vw,1.75rem);border-top:3px solid var(--comet-gold);background:linear-gradient(125deg,var(--comet-surface-raised),var(--comet-surface-soft)); }
.comet-starter-hide { position:absolute;right:1rem;top:1rem; }
.comet-starter-card h1 { padding-right:60px; }
.comet-simple-page-actions { flex-wrap:wrap!important;min-width:0; }
.comet-simple-page-actions>.btn-group { flex:0 1 auto;max-width:100%; }
.comet-simple-page-actions .btn i { margin-right:.35rem; }
.comet-event-filter-disclosure>.comet-event-controls { width:100%;padding:1rem 0 0!important;margin:0!important; }
.comet-opportunity-search .comet-field-stack>.form-control { flex:0 1 auto; }
.comet-calendar-toolbar,.comet-calendar-grid { color:var(--comet-text-body); }
.comet-starter-card[hidden], [data-starter-restore][hidden] { display:none!important; }
.comet-starter-progress { appearance:none;width:100%;height:8px;border:0;border-radius:99px;overflow:hidden;background:var(--comet-surface-hover);accent-color:var(--comet-action); }
.comet-starter-progress::-webkit-progress-bar { background:var(--comet-surface-hover);border-radius:99px; }
.comet-starter-progress::-webkit-progress-value { background:var(--comet-action);border-radius:99px; }
.comet-starter-progress::-moz-progress-bar { background:var(--comet-action); }
.comet-starter-steps { display:grid;gap:.25rem; }
.comet-starter-steps li { display:flex;align-items:center;gap:.85rem;padding:.6rem 0;border-bottom:1px solid var(--comet-border); }
.comet-starter-steps a { color:var(--comet-text-strong);text-decoration:none;min-height:44px;display:flex;flex-direction:column;justify-content:center; }
.comet-starter-steps a:hover strong { text-decoration:underline; }
.comet-starter-steps a span { color:var(--comet-text-subtle);font-size:.85rem; }
.comet-starter-check { display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:var(--comet-surface-hover);color:var(--comet-action); }
.comet-starter-steps .is-complete .comet-starter-check { background:var(--comet-success-soft);color:var(--comet-success-text); }
.comet-selection-label,.comet-notification-select-wrap { min-height:44px;display:flex;align-items:center;gap:.6rem;cursor:pointer; }
.comet-notification-select-wrap { min-width:44px;justify-content:center;flex-shrink:0; }
.comet-notification-select-wrap .form-check-input { margin:0; }
.comet-notification-toolbar { flex-wrap:wrap;gap:.65rem;padding:1rem 0; }
.comet-notification-item-body { min-width:0; }
.comet-notification-item [data-notification-mark-one] { min-height:44px;margin:0 0 .5rem .5rem; }
.comet-listing-form { display:grid;gap:.7rem; }
.comet-listing-form>label { font-weight:600;margin:.5rem 0 0; }
.comet-listing-form>button { justify-self:start;min-height:44px;margin-top:.5rem; }
.comet-calendar { background:var(--comet-surface-raised);border:1px solid var(--comet-border);border-radius:20px;overflow:hidden; }
.comet-calendar-toolbar { display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;padding:1rem; }
.comet-calendar-toolbar h2 { margin-right:auto; }
.comet-calendar-settings { margin:0 1rem 1rem; }
.comet-calendar-settings>summary { display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;min-height:44px;cursor:pointer;color:var(--comet-text-body); }
.comet-calendar-settings>summary::before { content:'+';font-weight:700;color:var(--comet-action);margin-right:.35rem; }
.comet-calendar-settings[open]>summary::before { content:'−'; }
.comet-calendar-settings .comet-calendar-toolbar { padding:.5rem 0 0; }
.comet-calendar-toolbar .form-control { width:auto;min-width:0;max-width:100%;flex:1 1 130px; }
.comet-calendar-grid { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--comet-border); }
.comet-calendar-weekday { text-align:center;padding:.6rem .2rem;color:var(--comet-text-subtle);font-size:.8rem;font-weight:600; }
.comet-calendar-day { min-height:120px;min-width:0;border-top:1px solid var(--comet-border);border-right:1px solid var(--comet-border);padding:.25rem;background:var(--comet-surface); }
.comet-calendar-day.is-outside { background:var(--comet-surface-soft); }
.comet-calendar-day.is-today { box-shadow:inset 0 3px var(--comet-gold); }
.comet-calendar-day-number { display:flex;align-items:center;justify-content:center;gap:.25rem;min-width:44px;min-height:44px;color:var(--comet-text-body);text-decoration:none;font-weight:600;border-radius:8px; }
.comet-calendar-day-number:hover { background:var(--comet-surface-hover); }
.comet-calendar-day-events { display:grid;gap:.2rem; }
.comet-calendar-day-events a { display:flex;align-items:center;min-height:44px;padding:.35rem;border-radius:6px;background:var(--comet-surface-hover);color:var(--comet-text-body);font-size:.75rem;overflow-wrap:anywhere;text-decoration:none; }
.comet-calendar-mobile-count { display:none; }
.comet-calendar-agenda-day { padding:1rem 0;border-bottom:1px solid var(--comet-border);scroll-margin-top:100px; }
.comet-calendar-agenda-day.is-empty { display:none; }
.comet-calendar-agenda-day:target { display:block;outline:2px solid var(--comet-action);outline-offset:4px; }
.comet-calendar-agenda-event { display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;min-height:44px;padding:.5rem 0;color:var(--comet-text-body);text-decoration:none; }
.comet-calendar-agenda-event time,.comet-calendar-agenda-event>span { font-size:.8rem;color:var(--comet-text-subtle); }
.comet-calendar-agenda-event strong { flex:1 1 180px; }
.comet-calendar-agenda-event:hover strong { text-decoration:underline; }
.comet-registration-flow { padding-left:1.5rem; }
.comet-registration-flow li { padding:.6rem 0 .6rem .5rem; }
.comet-registration-flow li::marker { color:var(--comet-action);font-weight:700; }
@media (min-width:992px) {
    .comet-global-search-bar { display:flex;position:relative;z-index:1010;box-sizing:border-box;width:var(--comet-shell-width);margin-left:calc(var(--comet-nav-width) + var(--comet-shell-offset));padding:1rem 1rem .5rem; }
    .comet-global-search-bar--feed { width:calc(var(--comet-shell-width) - var(--comet-sidebar-width) - .72rem); }
}
@media (min-width:992px) and (max-width:1279.98px) {
    .comet-global-search-bar--feed { width:var(--comet-shell-width); }
}
@media (max-width:575px) {
    .comet-mobile-header-actions { gap:.35rem!important; }
    .comet-mobile-create { max-width:100px; }
    .comet-starter-hide { padding:.4rem .6rem;min-height:44px; }
    .comet-calendar-day { min-height:58px;padding:0; }
    .comet-calendar-day-number { min-width:0;flex-direction:column;gap:0;height:56px; }
    .comet-calendar-day-events { display:none; }
    .comet-calendar-mobile-count { display:block;font-size:.65rem;line-height:1;color:var(--comet-text-subtle); }
    .comet-calendar-toolbar { padding:.75rem;gap:.5rem; }
    .comet-calendar-toolbar h2 { font-size:1.1rem; }
    .comet-notification-item { gap:.5rem!important; }
    .comet-notification-avatar { width:36px!important;height:36px!important; }
    .comet-notification-toolbar>button { flex:1 1 140px; }
}
@media (max-width:399px) {
    .comet-mobile-create-icon { display:inline-block; }
    .comet-mobile-create-label { display:none; }
    .comet-mobile-create { min-width:44px!important;width:44px;padding:.4rem!important; }
}
@media (prefers-reduced-motion:reduce) { .comet-starter-card *,.comet-calendar * { scroll-behavior:auto;transition:none; } }

.comet-registration-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.comet-policy-page { max-width: 880px; margin: 0 auto; padding: 24px 20px 48px; overflow-wrap: anywhere; }
.comet-policy-page article { line-height: 1.7; }
.comet-policy-page nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }

.comet-policy-page nav .btn-primary { background: #4a3fa8; border-color: #4a3fa8; color: #fff; }
.comet-policy-page nav .btn { min-height: 44px; display: inline-flex; align-items: center; }
.comet-notification-tabs .nav-link { min-height: 44px; }
.comet-main-private:has(.comet-registration-page), .comet-main-private:has(.comet-policy-page) { padding-top: 0.75rem; }
@media (max-width: 575.98px) {
    .comet-registration-intro { gap: 0.8rem; padding: 1rem; }
    .comet-registration-intro h1 { font-size: 1.8rem; }
    .comet-registration-intro-copy > p { font-size: 0.9rem; line-height: 1.5; }
    .comet-registration-roadmap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; padding: 0.75rem; }
    .comet-registration-roadmap .comet-registration-eyebrow { display: none; }
    .comet-registration-roadmap > div { display: flex; flex-direction: column; text-align: center; gap: 0.35rem; font-size: 0.72rem; }
    .comet-registration-roadmap > div strong { flex-shrink: 0; }
}

.comet-channel-settings .comet-channel-status { min-width: 10rem; min-height: 44px; }
.comet-channel-settings button[type="submit"] { min-height: 44px; }
.comet-profile-progress { display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-height:44px; padding:12px 16px; border:1px solid var(--comet-border); border-radius:16px; color:var(--comet-text-body); background:var(--comet-surface-raised); text-decoration:none; }
.comet-profile-progress strong { margin-left:6px; }
.comet-profile-progress progress { flex:1 1 100px; min-width:60px; max-width:260px; height:8px; appearance:none; border:0; border-radius:8px; overflow:hidden; background:var(--comet-border); }
.comet-profile-progress progress::-webkit-progress-bar { background:var(--comet-border); }
.comet-profile-progress progress::-webkit-progress-value { background:var(--comet-primary); border-radius:8px; }
.comet-profile-progress progress::-moz-progress-bar { background:var(--comet-primary); border-radius:8px; }
.comet-profile-progress-action { margin-left:auto; color:var(--comet-primary); }
.comet-account-billing { max-width:850px; }
.comet-account-billing .comet-signup-card { min-width:0; }
.comet-account-permissions { content-visibility:visible; contain:none; contain-intrinsic-size:none; }
.comet-account-permissions > summary { cursor:pointer; min-height:44px; align-content:center; }
.fs-menus .comet-feedback-nav-link,
html[data-comet-theme="dark"] .fs-menus .comet-feedback-nav-link {
    background:transparent; border-color:transparent; box-shadow:none;
    color:var(--comet-text-body); font-weight:400; letter-spacing:normal;
}
.fs-menus .comet-feedback-nav-link:hover,
.fs-menus .comet-feedback-nav-link:focus-visible,
html[data-comet-theme="dark"] .fs-menus .comet-feedback-nav-link:hover,
html[data-comet-theme="dark"] .fs-menus .comet-feedback-nav-link:focus-visible {
    background:var(--comet-surface-raised); color:var(--comet-primary); box-shadow:none; transform:none;
}
.comet-starter-sidebar { padding:1rem; }
.comet-starter-sidebar progress { width:100%; margin:.65rem 0; }
.comet-starter-sidebar a { min-height:44px; display:flex; align-items:center; }
@media (max-width: 991.98px) {
    .comet-group-list-layout { grid-template-columns:minmax(0, 1fr); }
    .comet-group-list-heading { grid-column:1 / -1; }
    .comet-group-list-body { margin-left:0; width:100%; }
    .comet-group-list-actions { grid-template-columns:repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); }
    .comet-group-list-actions .btn { padding-inline:.7rem!important; white-space:normal; overflow-wrap:anywhere; }
}
@media (max-width: 767.98px) { .comet-channel-settings .comet-channel-status { width: 100%; } }
