button:disabled{cursor:not-allowed;opacity:.45}.auth-shell{max-width:470px;margin:12vh auto;padding:24px}.auth-shell h1{font-size:28px;letter-spacing:-1px}.auth-shell p{color:var(--muted);line-height:1.8}.auth-brand{color:var(--accent);font-size:26px;font-weight:650;margin-bottom:30px}.bottom-nav{grid-template-columns:repeat(4,1fr)}.app-header .brand-name{color:var(--text);text-decoration:none}.nav-btn{width:100%}.option>span:first-child{min-width:0;overflow-wrap:anywhere}.calendar-heading{margin-top:22px}.watch-title{cursor:default}.watch-subtitle{overflow-wrap:anywhere}.summary-row{overflow-wrap:anywhere}.admin-user{width:100%;text-align:left;margin-bottom:10px}.live-note{font-size:11px;color:var(--muted);margin:15px 0}.option .checkbox,.option .radio{flex-shrink:0}.btn:focus-visible,.option:focus-visible,.day:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Consistent section rhythm, including a wrapped subscription title. */
.page-stack{display:grid;gap:24px}.page-stack>.info-note,.page-stack>.plans,.page-stack>.panel,.page-stack>.page-heading{margin:0}.page-stack>.info-note{line-height:1.8;padding:16px}.actions-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.wizard-body>.info-note:first-child{margin-top:0}.main>.info-note{margin-bottom:20px}.plan{display:flex;flex-direction:column}.plan h2{overflow-wrap:anywhere}.plan>.btn{margin-top:auto}.payment-terms{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--muted);margin:20px 0}.payment-terms input{margin-top:4px;flex-shrink:0}.payment-terms p{margin:0}.payment-price{font-size:30px;font-weight:600;margin:18px 0}.promo-row{display:flex;gap:10px}.promo-row .input{min-width:0}.modal .info-note{margin-bottom:20px}@media(max-width:700px){.page-stack{gap:20px}.card-footer{flex-wrap:wrap;row-gap:12px}.selection-info{gap:12px;align-items:flex-start}.selection-info button{text-align:right}.wizard-footer{flex-wrap:wrap}.plan ul{column-gap:12px}.actions-row>.btn{flex:1}}

.access-duration{display:grid;grid-template-columns:1fr 1fr;gap:12px}.audit-entry{padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.audit-entry:last-child{border:0}.audit-entry p{font-size:11px;color:var(--muted);margin:6px 0}.admin-person{margin-top:20px}.modal textarea{resize:vertical}.access-duration .field{min-width:0}
.poller-panel { margin-top: 20px; }
.poller-panel .summary-row { gap: 16px; }
.poller-panel .summary-row > span { min-width: 0; overflow-wrap: anywhere; }
.promo-tariffs { border: 1px solid var(--border, #dfe4ee); border-radius: 12px; padding: 16px; margin: 16px 0; min-width: 0; }
.promo-tariffs label { display: flex; align-items: center; gap: 10px; margin: 12px 0; }
.admin-tabs { flex-wrap: wrap; }
.watch-center-line { overflow-wrap: anywhere; line-height: 1.6; margin: 12px 0; }

/* Shared rhythm and touch targets for the working app. */
.main { min-width: 0; }
.panel h2,.panel h3 { line-height: 1.35; margin: 0 0 20px; overflow-wrap: anywhere; }
.panel > :last-child { margin-bottom: 0; }
.panel > .section-label:not(:first-child) { margin-top: 24px; }
.modal h2 { margin-bottom: 20px; line-height: 1.35; }
.modal .summary-row:first-of-type { padding-top: 12px; }
.btn,.nav-btn { min-height: 44px; }
.input { min-height: 44px; max-width: 100%; }
textarea.input { line-height: 1.6; }
input,select,textarea { color-scheme: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.promo-tariffs { border-color: var(--line); }
.promo-tariffs input { accent-color: var(--accent); width: 18px; height: 18px; flex-shrink: 0; }
.promo-tariffs label { min-height: 36px; line-height: 1.5; }
.admin-tabs { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; padding: 8px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); overflow: visible; margin: 0 0 24px; }
.admin-tabs .admin-tab { padding: 10px 8px; border: 0; border-radius: 10px; white-space: normal; overflow-wrap: anywhere; line-height: 1.4; font-weight: 500; color: var(--muted); }
.admin-tabs .admin-tab.active { background: var(--soft); color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.admin-tabs .admin-tab:hover { background: var(--soft); color: var(--accent); }
.summary-row { align-items: flex-start; line-height: 1.6; }
.summary-row > * { min-width: 0; }
.summary-row > :last-child { text-align: right; overflow-wrap: anywhere; }
.modal-actions { flex-wrap: wrap; gap: 10px; }
.modal-actions .btn { flex: 1; }
.view-error { background: var(--surface); border: 1px solid var(--danger); border-radius: 14px; padding: 18px; margin-bottom: 20px; font-size: 13px; }
.view-error strong { color: var(--danger); }
.view-error p { color: var(--muted); line-height: 1.6; margin: 10px 0 16px; }
.loading-strip { display: flex; gap: 10px; align-items: center; padding: 12px 16px; border-radius: 12px; background: var(--soft); color: var(--accent); margin-bottom: 18px; font-size: 12px; }
.loading-dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; animation: pulse 1.2s ease-in-out infinite; }
[data-theme="dark"] .auth-shell { color-scheme: dark; }
@media(max-width:1000px) { .admin-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) {
  .panel { padding: 20px; }
  .admin-tabs { gap: 6px; padding: 6px; margin-bottom: 20px; }
  .admin-tabs .admin-tab { font-size: 12px; padding: 10px 4px; }
  .input { font-size: 16px; }
  .modal-shade { padding: 12px 12px max(12px,env(safe-area-inset-bottom)); }
  .modal { max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); padding: 22px 20px; }
  .modal-actions .btn { min-width: 110px; padding-left: 12px; padding-right: 12px; }
  .bottom-nav button { min-height: 44px; justify-content: center; font-size: 11px; }
  .layout { margin-bottom: calc(110px + env(safe-area-inset-bottom)); }
  #toast { bottom: calc(84px + env(safe-area-inset-bottom)); line-height: 1.5; }
  .settings-row { align-items: flex-start; overflow-wrap: anywhere; }
  .settings-row strong { text-align: right; min-width: 0; }
}
@media(max-width:360px) {
  .layout { padding: 0 12px; }
  .panel,.watch-card { padding: 18px; }
  .access-duration { grid-template-columns: 1fr; gap: 0; }
  .hero { padding: 18px; gap: 10px; }
  .hero h2 { font-size: 16px; }
  .hero-stat { padding-left: 10px; min-width: 50px; }
  .hero-number { font-size: 26px; }
  .summary-row { gap: 10px; }
}
.modal { overscroll-behavior: contain; }

/* Readable watch cards and labelled icons, including small phone screens. */
:root { --readable-muted: #536078; }
:root[data-theme=dark] { --readable-muted: #bac5d8; }
.watch-title { font-size: 20px; line-height: 1.4; letter-spacing: -.2px; margin: 0 0 16px; }
.watch-centers { list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 14px; }
.watch-centers li { min-width: 0; overflow-wrap: anywhere; }
.watch-centers strong { display: block; font-size: 17px; line-height: 1.5; font-weight: 650; }
.watch-centers span { display: block; color: var(--readable-muted); font-size: 16px; line-height: 1.5; margin-top: 2px; }
.watch-card .date-chip { font-size: 16px; line-height: 1.5; padding: 6px 10px; margin: 0 6px 8px 0; }
.watch-card .status { font-size: 14px; line-height: 1.4; padding: 6px 10px; }
.watch-card .btn { min-height: 44px; font-size: 15px; line-height: 1.4; padding: 10px 12px; }
.watch-card .card-footer { flex-wrap: wrap; gap: 12px; margin-top: 16px; padding-top: 16px; }
.watch-card .inline-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.section-label { font-size: 17px; line-height: 1.5; flex-wrap: wrap; gap: 12px; }
.section-label .btn { font-size: 15px; min-height: 44px; }
.nav-btn svg { width: 22px; height: 22px; stroke-width: 2; }
.nav-btn span { min-width: 0; }
@media(max-width:700px) {
  body { font-size: 16px; }
  .page-heading p,.hero p,.hero-stat p,.live-note { font-size: 15px; line-height: 1.6; }
  .page-heading p,.live-note { color: var(--readable-muted); }
  .hero-label { font-size: 13px; }
  .hero h2 { font-size: 19px; line-height: 1.4; }
  .bottom-nav { padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); }
  .bottom-nav button { min-width: 0; min-height: 64px; gap: 5px; padding: 7px 2px; border-radius: 12px; font-size: 13px; font-weight: 600; line-height: 1.25; color: var(--readable-muted); }
  .bottom-nav button svg { width: 25px; height: 25px; stroke-width: 2; }
  .bottom-nav button.active { color: var(--accent); background: var(--soft); }
  .layout { margin-bottom: calc(124px + env(safe-area-inset-bottom)); }
  #toast { bottom: calc(100px + env(safe-area-inset-bottom)); }
}

/* The creation flow and access page follow the same readable type scale. */
.wizard .back-link { font-size: 15px; line-height: 1.5; min-height: 44px; color: var(--readable-muted); }
.wizard-header .eyebrow { font-size: 14px; color: var(--readable-muted); line-height: 1.5; margin-bottom: 8px; }
.wizard-header h1 { font-size: 26px; line-height: 1.3; letter-spacing: -.4px; }
.wizard .step-description { font-size: 15px; line-height: 1.5; color: var(--readable-muted); gap: 12px; }
.wizard .option { padding: 17px 15px; gap: 14px; margin-bottom: 12px; }
.wizard .option strong { font-size: 17px; line-height: 1.5; }
.wizard .option small { font-size: 16px; line-height: 1.5; color: var(--readable-muted); margin-top: 6px; }
.wizard .option .radio { width: 22px; height: 22px; }
.wizard .option .checkbox { width: 25px; height: 25px; font-size: 17px; }
.wizard .field label,.access-page .field label { font-size: 16px; line-height: 1.5; margin-bottom: 9px; }
.wizard .input,.access-page .input { font-size: 16px; min-height: 50px; }
.wizard .selection-info { font-size: 15px; line-height: 1.5; color: var(--readable-muted); flex-wrap: wrap; gap: 8px 16px; }
.wizard .selection-info button { font-size: 15px; line-height: 1.5; min-height: 44px; text-align: left; }
.wizard .info-note,.access-page .info-note { font-size: 16px; line-height: 1.6; padding: 16px; }
.wizard .calendar-heading { font-size: 19px; line-height: 1.5; margin-bottom: 12px; }
.wizard .weekday { font-size: 14px; padding: 6px 0; color: var(--readable-muted); }
.wizard .day { min-height: 54px; font-size: 18px; padding: 5px 0; line-height: 1.3; }
.wizard .day small,.wizard .day.closed small { font-size: 12px; opacity: 1; }
.wizard .calendar-note { font-size: 15px; line-height: 1.6; color: var(--readable-muted); }
.wizard .selected-dates { flex-wrap: wrap; gap: 8px; }
.wizard .selected-dates .date-chip { font-size: 16px; line-height: 1.5; padding: 7px 10px; }
.wizard .summary-row { font-size: 16px; line-height: 1.6; gap: 16px; }
.wizard .summary-row>span:first-child { color: var(--readable-muted); }
.wizard .inline-error { font-size: 16px; line-height: 1.5; }
.wizard .wizard-footer .btn,.access-page .btn,.checkout-modal .btn { min-height: 48px; font-size: 16px; line-height: 1.4; white-space: normal; }
.access-page .plan { padding: 24px; }
.access-page .plan-tag { font-size: 14px; line-height: 1.4; padding: 6px 10px; }
.access-page .plan h2 { font-size: 21px; line-height: 1.4; }
.access-page .price { font-size: 34px; line-height: 1.3; margin: 18px 0; }
.access-page .price small { font-size: 16px; color: var(--readable-muted); }
.access-page .plan li { font-size: 16px; line-height: 1.5; color: var(--readable-muted); align-items: flex-start; }
.access-page .live-note { font-size: 16px; line-height: 1.6; color: var(--readable-muted); }
.checkout-modal h2 { font-size: 22px; line-height: 1.4; }
.checkout-modal p,.checkout-modal .payment-terms { font-size: 16px; line-height: 1.6; color: var(--readable-muted); }
.checkout-modal .payment-terms input { width: 22px; height: 22px; margin-top: 2px; }
.checkout-modal .payment-price { font-size: 34px; }
@media(max-width:700px) {
  .access-page .plan ul { grid-template-columns: 1fr; gap: 6px; margin-bottom: 22px; }
  .wizard .summary-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 6px; padding: 18px 0; }
  .wizard .summary-row>span:last-child { max-width: none; text-align: left; overflow-wrap: anywhere; }
  .wizard .wizard-footer .btn { min-width: 0; flex: 1; padding: 12px; }
  .wizard .wizard-footer .primary { flex: 2; }
  .wizard .step-description { flex-wrap: wrap; }
}

/* Admin users: readable identity, entitlement and payment are separate facts. */
.admin-main .admin-tabs .admin-tab { font-size: 15px; line-height: 1.4; min-height: 48px; padding: 12px 8px; }
.admin-main .stat-card small { font-size: 14px; line-height: 1.5; color: var(--readable-muted); }
.admin-main .field label { font-size: 16px; line-height: 1.5; margin-bottom: 8px; }
.admin-main .input { font-size: 16px; min-height: 50px; }
.admin-main .btn { font-size: 16px; min-height: 48px; line-height: 1.4; white-space: normal; }
.admin-user-card { display: block; width: 100%; text-align: left; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); padding: 22px; margin: 16px 0; box-shadow: var(--shadow); }
.admin-user-card:hover { border-color: var(--accent); }
.admin-user-card:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.admin-user-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.admin-user-heading strong { font-size: 21px; line-height: 1.4; overflow-wrap: anywhere; }
.admin-user-heading>span { font-size: 22px; color: var(--accent); }
.admin-user-identity { display: block; font-size: 15px; line-height: 1.5; color: var(--readable-muted); overflow-wrap: anywhere; margin: 5px 0 16px; }
.access-state { display: inline-flex; font-size: 15px; line-height: 1.5; font-weight: 600; padding: 7px 11px; border-radius: 9px; }
.access-state.active { background: var(--green-bg); color: var(--green); }
.access-state.inactive { background: var(--bg); color: var(--readable-muted); border: 1px solid var(--line); }
.access-state.blocked { background: var(--orange-bg); color: var(--orange); }
.admin-user-plan { display: grid; gap: 5px; margin-top: 18px; }
.admin-user-label { font-size: 15px; line-height: 1.5; color: var(--readable-muted); }
.admin-user-plan strong { font-size: 18px; line-height: 1.5; overflow-wrap: anywhere; }
.admin-user-until,.admin-access-source { display: block; font-size: 16px; line-height: 1.6; margin-top: 8px; color: var(--readable-muted); overflow-wrap: anywhere; }
.admin-user-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 15px; line-height: 1.5; }
.admin-user-footer>span { color: var(--accent); }
.admin-main .admin-person h2 { font-size: 24px; }
.admin-main .admin-person .summary-row { font-size: 16px; line-height: 1.6; }
.admin-main .admin-person .live-note,.admin-main .audit-entry,.admin-main .audit-entry p { font-size: 15px; line-height: 1.6; }
.admin-main .admin-person .live-note,.admin-main .audit-entry p { color: var(--readable-muted); }
@media(max-width:1000px) { .admin-main .admin-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) {
  .admin-main .admin-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-user-card { padding: 20px; }
  .admin-main .admin-person .summary-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 6px; }
  .admin-main .admin-person .summary-row>span:last-child { max-width: none; text-align: left; }
}
.admin-access-modal .field label,.admin-access-modal .input,.admin-access-modal .summary-row,.admin-access-modal .inline-error { font-size: 16px; line-height: 1.5; }
.admin-access-modal .input { min-height: 48px; }
.admin-access-modal .live-note,.admin-access-modal p { font-size: 15px; line-height: 1.6; color: var(--readable-muted); }
.admin-access-modal .btn { font-size: 16px; min-height: 48px; white-space: normal; }
@media(max-width:700px) {
  .admin-access-modal .summary-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 6px; }
  .admin-access-modal .summary-row>span:last-child { max-width: none; text-align: left; }
}
@media(max-width:400px) { .admin-access-modal .access-duration { grid-template-columns: minmax(0,1fr); } }

/* Quiet neutral cards; color is reserved for the explicit status label. */
.watch-state-active { --watch-badge-bg: #e8f5ed; --watch-state-text: #236547; }
.watch-state-paused { --watch-badge-bg: #fff2d8; --watch-state-text: #79591c; }
.watch-state-done { --watch-badge-bg: #edf0f5; --watch-state-text: #586478; }
:root[data-theme=dark] .watch-state-active { --watch-badge-bg: #253d33; --watch-state-text: #a8ddbe; }
:root[data-theme=dark] .watch-state-paused { --watch-badge-bg: #3c3323; --watch-state-text: #e7ca8d; }
:root[data-theme=dark] .watch-state-done { --watch-badge-bg: #2d3543; --watch-state-text: #bcc7d8; }
.watch-card,.admin-watch-card,.admin-watch-summary { background: var(--surface); border: 1px solid var(--line); }
.watch-status-badge { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; line-height: 1.4; padding: 6px 10px; border-radius: 20px; background: var(--watch-badge-bg,var(--bg)); color: var(--watch-state-text,var(--text)); white-space: nowrap; }
.watch-status-dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.watch-state-done .watch-status-dot { background: transparent; border: 1.5px solid currentColor; }
.admin-watch-card { display: block; width: 100%; text-align: left; border-radius: 18px; padding: 22px; margin: 16px 0; box-shadow: var(--shadow); }
.admin-watch-card:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.admin-watch-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.admin-watch-heading>strong { font-size: 22px; line-height: 1.4; }
.admin-watch-owner { display: block; font-size: 16px; line-height: 1.6; color: var(--readable-muted); margin: 12px 0 16px; overflow-wrap: anywhere; }
.admin-watch-service { display: block; font-size: 19px; line-height: 1.5; margin-bottom: 12px; overflow-wrap: anywhere; }
.admin-watch-counts,.admin-watch-reason,.admin-watch-open { display: block; font-size: 16px; line-height: 1.6; margin-top: 8px; overflow-wrap: anywhere; }
.admin-watch-reason { color: var(--readable-muted); }
.admin-watch-open { margin-top: 18px; color: var(--accent); font-weight: 600; }
.admin-watch-detail h2,.admin-watch-detail h3 { font-size: 23px; line-height: 1.4; }
.admin-watch-detail .summary-row { font-size: 16px; line-height: 1.6; }
.admin-watch-detail .summary-row>span:first-child { color: var(--readable-muted); }
.admin-watch-detail .watch-center-line { font-size: 17px; line-height: 1.6; }
.admin-watch-detail .date-chip { font-size: 16px; line-height: 1.5; padding: 7px 10px; margin-bottom: 8px; }
.admin-watch-detail .info-note,.admin-watch-detail .audit-entry { font-size: 16px; line-height: 1.6; }
.admin-watch-detail .live-note,.admin-watch-detail .audit-entry p { font-size: 15px; line-height: 1.6; color: var(--readable-muted); }
.admin-watch-modal p,.admin-watch-modal .info-note,.admin-watch-modal .field label,.admin-watch-modal .input,.admin-watch-modal .btn { font-size: 16px; line-height: 1.6; }
.admin-watch-modal p { color: var(--readable-muted); }
.admin-watch-modal .btn,.admin-watch-modal .input { min-height: 48px; }
.admin-watch-modal .btn { white-space: normal; }
.profile-panel h2 { font-size: 26px; line-height: 1.4; }
.profile-panel .profile-identity,.profile-panel .live-note { font-size: 16px; line-height: 1.6; color: var(--readable-muted); overflow-wrap: anywhere; }
.profile-panel .access-state { margin-bottom: 12px; }
.profile-panel .settings-row { display: grid; grid-template-columns: minmax(130px,1fr) minmax(0,2fr); gap: 12px; padding: 18px 0; font-size: 16px; line-height: 1.6; }
.profile-panel .settings-row>span { color: var(--readable-muted); }
.profile-panel .settings-row strong { font-size: 18px; font-weight: 600; overflow-wrap: anywhere; }
.profile-panel .btn { font-size: 16px; min-height: 48px; line-height: 1.5; white-space: normal; }
@media(max-width:700px) {
  .admin-watch-card { padding: 20px; }
  .admin-watch-detail .summary-row,.profile-panel .settings-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 6px; }
  .admin-watch-detail .summary-row>:last-child,.profile-panel .settings-row strong { text-align: left; max-width: none; }
  .profile-panel .actions-row { flex-direction: column; align-items: stretch; }
}

.watch-status-badge { gap: 6px; }

/* Watch content: service first, then location/date, then a compact action row. */
.watch-card { padding: 22px; margin-bottom: 18px; border-radius: 20px; box-shadow: 0 3px 16px rgba(26,39,80,.025); }
.watch-card .watch-top { margin-bottom: 18px; gap: 10px; }
.watch-number { font-size: 15px; line-height: 1.5; color: var(--readable-muted); }
.watch-card .watch-title { font-size: 21px; line-height: 1.4; letter-spacing: -.3px; margin-bottom: 22px; }
.watch-info-row { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 12px; align-items: start; margin-bottom: 18px; }
.watch-info-row>svg { width: 20px; height: 20px; margin-top: 3px; color: var(--readable-muted); stroke-width: 1.7; }
.watch-info-row .watch-centers { margin: 0; gap: 14px; }
.watch-info-row .watch-centers strong { font-size: 17px; font-weight: 600; }
.watch-info-row .watch-centers span { font-size: 16px; margin-top: 3px; }
.watch-date-row { margin-bottom: 0; }
.watch-dates { display: flex; flex-wrap: wrap; gap: 8px; }
.watch-card .watch-dates .date-chip { margin: 0; padding: 5px 9px; font-size: 16px; line-height: 1.5; border-radius: 8px; border-color: transparent; background: var(--bg); }
.watch-empty-dates { margin: 0; color: var(--readable-muted); font-size: 16px; line-height: 1.5; }
.watch-card .watch-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 44px; gap: 8px; padding-top: 18px; margin-top: 22px; }
.watch-card .watch-actions .btn { font-size: 15px; min-height: 44px; padding: 10px 6px; border-radius: 10px; white-space: normal; line-height: 1.4; box-shadow: none; }
.watch-card .watch-edit,.watch-card .watch-pause { background: var(--surface); }
.watch-card .watch-resume { background: var(--accent); border-color: transparent; color: #fff; }
.watch-card .watch-actions .watch-delete { padding: 0; color: var(--readable-muted); border-color: transparent; background: transparent; }
.watch-card .watch-delete svg { width: 20px; height: 20px; }
.watch-card .watch-delete:hover { color: var(--danger); background: var(--bg); }
.admin-watch-card { border-radius: 20px; box-shadow: 0 3px 16px rgba(26,39,80,.025); }
.admin-watch-heading>strong { font-size: 18px; font-weight: 600; }
.admin-watch-service { font-size: 20px; margin-top: 18px; }
.admin-watch-open { padding-top: 16px; border-top: 1px solid var(--line); font-size: 15px; }
@media(max-width:400px) {
  .watch-card { padding: 18px; }
  .watch-card .watch-title { font-size: 20px; }
  .watch-info-row { gap: 10px; }
  .watch-card .watch-actions .btn { font-size: 15px; }
}

/* Analytics and partner accounts use the same readable neutral panels. */
.growth-panel { padding:22px; margin:18px 0; font-size:16px; line-height:1.55; }
.growth-panel h2 { font-size:22px; margin:0 0 16px; }
.growth-panel h3 { font-size:18px; margin:0 0 8px; }
.growth-panel .input,.growth-panel .btn {font-size:16px;min-height:48px;}
.growth-panel label,.growth-link-label {display:block;font-size:16px;margin-bottom:8px;}
.growth-filters {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0;}
.growth-filters .field {min-width:0;margin:0;}
.growth-filters .input {width:100%;min-width:0;font-size:16px;min-height:48px;}
.funnel-step {padding:14px 0;border-bottom:1px solid var(--line);}
.funnel-step>div {display:flex;justify-content:space-between;gap:16px;align-items:baseline;}
.funnel-step strong {font-weight:600;font-size:16px;}
.funnel-step span {white-space:nowrap;font-weight:700;font-size:20px;}
.funnel-step small {font-size:14px;font-weight:400;color:var(--muted);margin-left:8px;}
.funnel-step progress {display:block;width:100%;height:8px;margin-top:10px;accent-color:var(--accent,#4169e1);}
.ledger-entry,.ledger-balance {padding:18px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;}
.ledger-entry p,.ledger-balance p {font-size:16px;margin:8px 0 14px;}
@media(max-width:400px){.growth-filters{grid-template-columns:1fr;}.growth-panel{padding:18px;}.funnel-step>div{gap:8px;}.funnel-step span{font-size:18px;}}
.growth-panel .info-note,.growth-panel .live-note {font-size:15px;line-height:1.6;}
.growth-panel .summary-row {font-size:16px;line-height:1.55;}
.growth-panel .summary-row>span,.growth-panel .summary-row>strong {font-size:inherit;overflow-wrap:anywhere;}
