*,:before,:after{box-sizing:border-box}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1117;--surface:#1a1d27;--surface-2:#22263a;--border:#2a2d3e;--text:#e8eaf0;--muted:#6b7280;--faint:#9ca3af;--indigo:#818cf8;--amber:#fbbf24;--green:#34d399;--purple:#a78bfa;--teal:#2dd4bf;--red:#f87171;--yellow:#facc15;--shadow-strong:0 20px 60px #00000080;--shell-x:clamp(12px, 3vw, 16px);--shell-y:clamp(16px, 3.2vw, 28px);--card-padding:clamp(16px, 2.8vw, 22px)}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);min-width:320px;margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;overflow-x:hidden}button,input,textarea,select{font:inherit}a{color:inherit}#root{min-height:100svh}.app-shell{background:var(--bg);color:var(--text);min-height:100svh;padding:var(--shell-y) var(--shell-x)}.app-container{width:min(100%,980px);margin:0 auto}.app-header{margin-bottom:28px}.app-brand-row{flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.app-brand-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.app-brand-copy{flex:1;min-width:0}.app-title{color:var(--text);letter-spacing:-.3px;margin:0;font-size:clamp(20px,4vw,22px);font-weight:800}.app-subtitle,.app-target-date{color:var(--muted);font-size:13px}.app-target-date-value{color:var(--faint);font-weight:600}.app-tabs{background:var(--surface);border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;margin-bottom:22px;padding:4px;display:grid}.app-tab{cursor:pointer;min-height:44px;color:var(--muted);background:0 0;border:none;border-radius:7px;padding:10px 14px;font-size:13px;font-weight:600;transition:all .15s}.app-tab.is-active{background:var(--surface-2);color:var(--text);box-shadow:0 1px 4px #0000004d}.dashboard-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.dashboard-span-full{grid-column:1/-1}.card{background:var(--surface);border:1px solid var(--border);min-width:0;padding:var(--card-padding);border-radius:14px}.section-header{align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.section-header__icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}.section-header__copy{min-width:0}.section-header__title{color:var(--text);font-size:14px;font-weight:700}.section-header__subtitle{color:var(--muted);margin-top:1px;font-size:12px}.stack-8,.stack-12,.stack-16,.stack-18{flex-direction:column;display:flex}.stack-8{gap:8px}.stack-12{gap:12px}.stack-16{gap:16px}.stack-18{gap:18px}.status-list{flex-direction:column;gap:8px;display:flex}.status-card{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:11px 14px}.status-card--highlight{border-left:3px solid var(--status-color,var(--green));margin-bottom:12px;padding:14px 16px}.status-card__row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.status-card__title{color:var(--text);overflow-wrap:anywhere;font-size:13px;font-weight:600}.status-card__meta{color:var(--muted);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;font-size:12px;display:flex}.status-card__meta--top{margin-top:0}.status-card__note{overflow-wrap:anywhere;margin-top:6px;font-size:11px}.badge{background:var(--badge-bg);color:var(--badge-color);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.status-dot{background:var(--status-dot-color);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:6px;display:inline-block}.action-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.link-chip,.run-button{min-height:44px}.link-chip{color:var(--indigo);background:#818cf820;border:1px solid #818cf830;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:10px 12px;font-size:12px;text-decoration:none;display:inline-flex}.run-button-wrap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.run-button{border:1px solid var(--button-color);background:var(--button-bg);color:var(--button-text);cursor:pointer;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:600;transition:all .15s}.run-button:disabled{cursor:default}.run-button-message{font-size:11px}.state-copy{color:var(--muted);padding:10px 0;font-size:12px}.error-panel{background:#f8717120;border:1px solid #f8717130;border-radius:9px;padding:12px 14px;font-size:12px}.error-panel__title{color:var(--red);margin-bottom:6px;font-weight:600}.error-panel__action{min-height:36px;color:var(--red);cursor:pointer;background:0 0;border:1px solid #f8717140;border-radius:6px;padding:6px 10px;font-size:11px}.subsection-label{letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.song-list{flex-direction:column;gap:0;display:flex}.song-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding:7px 0;display:flex}.song-row__index{color:var(--muted);flex-shrink:0;width:18px;font-size:12px}.song-row__title{color:var(--text);overflow-wrap:anywhere;flex:1;min-width:0;font-size:13px}.song-row__link{color:var(--indigo);text-decoration:none}.song-row__meta{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;display:flex}.pill{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 7px;font-size:10px}.warning-copy{color:var(--amber);font-size:10px}.stat-grid{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.stat-card{text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:12px 8px}.stat-card__value{font-size:24px;font-weight:800}.stat-card__label{color:var(--muted);margin-top:2px;font-size:11px}.progress-track{background:var(--surface-2);border-radius:3px;height:5px;margin-bottom:18px;overflow:hidden}.progress-bar{border-radius:3px;height:100%}.callout{border-left:3px solid var(--yellow);background:#facc1520;border:1px solid #facc1525;border-radius:0 9px 9px 0;margin-bottom:18px;padding:11px 16px}.callout__label{color:var(--muted);letter-spacing:.07em;margin-bottom:4px;font-size:11px;font-weight:700}.callout__link,.callout__title{color:var(--yellow);overflow-wrap:anywhere;font-size:14px;font-weight:600}.callout__link{text-decoration:none}.ghost-button{cursor:pointer;color:var(--indigo);text-align:left;background:0 0;border:none;margin-top:10px;padding:0;font-size:12px}.chip-list{flex-wrap:wrap;gap:6px;display:flex}.chip{color:var(--text);background:var(--surface);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:6px;padding:4px 10px;font-size:12px}.schedule-row,.routing-row{background:var(--surface-2);border-radius:9px;align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.schedule-row{border-left:3px solid var(--accent-color,var(--indigo))}.routing-row{border-left:3px solid var(--accent-color,var(--indigo));gap:12px}.schedule-row__time{min-width:90px}.schedule-row__days{color:var(--accent-color,var(--indigo));font-size:12px;font-weight:700}.schedule-row__clock{color:var(--muted);font-size:12px}.routing-row__copy{flex:1;min-width:0}.routing-row__title{color:var(--text);font-size:13px;font-weight:600}.routing-row__to{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:12px}.routing-row__freq{color:var(--muted);white-space:nowrap;font-size:11px}.pin-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.pin-modal{background:var(--surface);border:1px solid var(--border);width:min(100%,360px);box-shadow:var(--shadow-strong);border-radius:14px;padding:clamp(20px,5vw,28px)}.pin-modal__icon{margin-bottom:8px;font-size:22px}.pin-modal__title{color:var(--text);margin:0 0 6px;font-size:16px;font-weight:700}.pin-modal__body{color:var(--muted);margin:0 0 20px;font-size:13px}.pin-modal__input{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);letter-spacing:.2em;border-radius:8px;outline:none;padding:12px;font-size:16px}.pin-modal__error{color:var(--red);margin-top:8px;font-size:12px}.pin-modal__actions{gap:10px;margin-top:20px;display:flex}.pin-modal__submit,.pin-modal__cancel{border-radius:8px;min-height:44px;font-size:14px;transition:background .15s,transform 80ms,box-shadow .15s,border-color .15s}.pin-modal__submit{color:#fff;border:none;flex:1;font-weight:700}.pin-modal__cancel{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;padding:9px 16px}.contacts-form{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:10px;display:grid}.contacts-input{box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;outline:none;min-height:44px;padding:9px 12px;font-size:13px}.contacts-input::placeholder{color:var(--muted)}.contacts-form-error{color:var(--red);margin-bottom:10px;font-size:12px}.contacts-phone{color:var(--faint);font-family:monospace;font-size:12px}.contacts-remove-btn{border:1px solid var(--border);color:var(--red);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;flex-shrink:0;min-height:36px;padding:5px 12px;font-size:12px}@media (width>=480px){.contacts-form{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=479px){.contacts-remove-btn{width:100%;margin-top:8px}}@media (width>=480px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.app-tabs{width:auto;display:inline-flex}.app-tab{min-width:120px;min-height:36px;padding:6px 18px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=767px){.schedule-row,.routing-row{flex-direction:column}.schedule-row__time{min-width:0}.routing-row__freq{white-space:normal}}@media (width<=479px){.app-brand-row{align-items:center}.action-row{align-items:stretch}.action-row>*{width:100%}.run-button-wrap{align-items:stretch;width:100%}.run-button{justify-content:center;width:100%}.run-button-message{display:block}.song-row{flex-wrap:wrap}.song-row__meta{justify-content:flex-start;width:100%;padding-left:26px}.pin-modal__actions{flex-direction:column}.pin-modal__cancel{width:100%}}
