:root{--bg: #ffffff;--surface: #ffffff;--surface-2: #f2f2f7;--border: #d6d6db;--text: #1d1d1f;--text-muted: #6e6e73;--accent: #0a84ff;--accent-weak: rgba(10, 132, 255, .12);--danger: #d70015;--radius: 12px;--shadow: 0 1px 2px rgba(0, 0, 0, .06)}@media (prefers-color-scheme: dark){:root{--bg: #0b0b0c;--surface: #1c1c1e;--surface-2: #2c2c2e;--border: #3a3a3c;--text: #f5f5f7;--text-muted: #98989d;--accent: #0a84ff;--accent-weak: rgba(10, 132, 255, .22);--danger: #ff453a;--shadow: 0 1px 2px rgba(0, 0, 0, .4)}}:root[data-theme=light]{--bg: #ffffff;--surface: #ffffff;--surface-2: #f2f2f7;--border: #d6d6db;--text: #1d1d1f;--text-muted: #6e6e73;--accent: #0a84ff;--accent-weak: rgba(10, 132, 255, .12);--danger: #d70015;--shadow: 0 1px 2px rgba(0, 0, 0, .06)}:root[data-theme=dark]{--bg: #0b0b0c;--surface: #1c1c1e;--surface-2: #2c2c2e;--border: #3a3a3c;--text: #f5f5f7;--text-muted: #98989d;--accent: #0a84ff;--accent-weak: rgba(10, 132, 255, .22);--danger: #ff453a;--shadow: 0 1px 2px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.4;-webkit-font-smoothing:antialiased}.app{max-width:720px;margin:0 auto;padding:20px 24px 96px}.topbar{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-bottom:8px}.topbar__top{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.topbar__titlerow{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar__titlelead{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.topbar__lead{display:flex;align-items:center;gap:10px;min-width:0}#apple-sign-in-button,#apple-sign-out-button{display:inline-flex;font-size:14px}#apple-sign-in-button>*,#apple-sign-in-button a,#apple-sign-in-button button,#apple-sign-in-button [role=button],#apple-sign-out-button>*,#apple-sign-out-button a,#apple-sign-out-button button,#apple-sign-out-button [role=button]{box-sizing:border-box!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;padding:7px 14px!important;font-size:14px!important;line-height:1.2!important;border-radius:999px!important}.brand{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0}.muted{color:var(--text-muted)}.loading-row{display:flex;align-items:center;gap:8px}.section-title{font-size:15px;font-weight:700;margin:20px 0 8px;color:var(--text-muted)}.btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:7px 14px;font:inherit;font-size:14px;cursor:pointer;transition:border-color .15s,background .15s}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.back-btn{margin-bottom:14px}.icon-back-btn{width:38px;height:38px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.list-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.card-list{list-style:none;padding:0;margin:12px 0 0}.card{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;margin-bottom:10px;cursor:pointer;color:inherit;font:inherit;transition:border-color .15s,transform .05s}.card:hover{border-color:var(--accent)}.card:active{transform:scale(.997)}.card__title{font-weight:700;font-size:16px}.card__meta{color:var(--text-muted);font-size:14px;margin-top:2px}.group-card{display:grid;grid-template-columns:minmax(180px,270px) 1fr;gap:16px;align-items:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;margin-bottom:10px}.group-card__lead{display:flex;align-items:center;gap:12px}.group-card__name{font-weight:700;font-size:16px}.group-card__sessions{display:flex;flex-direction:column;gap:8px}.session-chip{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer;color:inherit;font:inherit;transition:border-color .15s}.session-chip:hover{border-color:var(--accent)}.session-chip__title{font-weight:700}.session-chip__when{font-size:13px}.session-chip--confirmed{gap:4px}.chip-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.chip-line{display:flex;align-items:center;gap:6px;font-size:13px}.chip-type{color:#34c759}.confirmed-pill{background:#34c7592e;color:#30d158;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;flex:0 0 auto;white-space:nowrap}.cancelled-pill{background:#8e8e932e;color:var(--text-muted);font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;flex:0 0 auto}.nav-list{display:flex;flex-direction:column}.nav-row{display:flex;align-items:center;gap:14px;width:100%;padding:14px 4px;background:none;border:none;border-bottom:1px solid var(--border);text-align:left;color:var(--text);font:inherit;cursor:pointer;transition:background .15s}.nav-row:hover{background:var(--surface-2)}.nav-row__text{flex:1 1 auto;min-width:0}.nav-row__title{font-size:19px;font-weight:700;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-row__sub{display:flex;align-items:center;gap:6px;margin-top:2px;color:var(--text-muted);font-size:15px}.session-row__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.session-row__head .nav-row__title{flex:1 1 auto}.empty-line{padding:12px 4px}.nav-row--active{background:#0a84ff29}.nav-row--active:hover{background:#0a84ff38}@media (min-width: 900px){.app{max-width:min(1680px,96vw)}.split{display:grid;grid-template-columns:var(--c1, fit-content(340px)) 8px var(--c2, fit-content(380px)) 8px minmax(0,1fr);align-items:start;gap:0}.pane{padding:0 18px;min-height:62vh}.pane--groups{padding-left:0}.pane--groups .swipe-row .nav-row{padding-right:120px}.pane--sessions .swipe-row .nav-row{padding-right:52px}.pane .section-title{margin-top:4px}.pane-empty{padding:28px 4px}.resizer{align-self:stretch;position:relative;cursor:col-resize;touch-action:none}.resizer:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--border);transform:translate(-50%)}.resizer:hover:after{width:2px;background:var(--accent)}}.details{text-align:center;max-width:460px;margin:0 auto}.details__title{font-size:28px;font-weight:800;margin:8px 0 2px}.details__date{margin:0 0 20px}.details__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px 16px;text-align:left;margin-bottom:20px}.details-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}.details-row:last-child{border-bottom:none}.details-row__icon{width:22px;display:inline-flex;justify-content:center;flex:0 0 auto}.details-row__label{font-size:13px}.details-row__value{font-weight:600}.status-dot{width:14px;height:14px;border-radius:50%;background:#0a84ff;display:inline-block}.details-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border-radius:12px;padding:14px;margin-bottom:12px;font-size:16px}.details-btn--danger{color:var(--danger);border-color:var(--danger)}a.details-btn{text-decoration:none}.map-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;text-decoration:none;color:var(--accent)}@media (max-width: 560px){.group-card{grid-template-columns:1fr;gap:12px}.app{padding-left:16px;padding-right:16px}.topbar__titlerow{gap:8px}.topbar__titlelead{flex:1 1 auto;min-width:0}}.grid-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:2px 0 10px;min-height:34px}.grid-meta__actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.grid-meta__actions .btn,.grid-meta__actions .icon-btn{height:30px;display:inline-flex;align-items:center;justify-content:center;padding-top:0;padding-bottom:0}.grid-meta__item{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:15px}.legend{display:flex;column-gap:14px;row-gap:8px;flex-wrap:wrap;margin:10px 0 16px;align-items:center}.legend__item{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;font-size:13px;color:var(--text-muted)}.dot{border-radius:50%;display:inline-block;width:10px;height:10px;flex:0 0 auto}.grid-scroll{max-height:62vh;overflow-y:auto;padding:6px 4px}@media (orientation: landscape) and (max-height: 600px){.avail-title,.grid-meta,.avail-hint{display:none}.grid-scroll{max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px)}.app{padding-top:8px;padding-bottom:16px}}.day{margin-bottom:18px}.day__title{font-weight:700;font-size:15px;margin:6px 0 8px;position:sticky;top:-6px;background:var(--bg);padding:4px 0;z-index:1}.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.slot{position:relative;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;cursor:pointer;transition:border-color .12s,background .12s;min-height:56px;display:flex;flex-direction:column;justify-content:center;min-width:0;overflow:hidden}.slot-bookmark{position:absolute;top:-1px;left:7px;line-height:0}.slot:hover{border-color:var(--accent)}.slot:disabled{cursor:default}.slot--past{cursor:default}.slot--past:hover{border-color:var(--border)}.slot__time{font-size:13px;white-space:nowrap;text-align:center}.slot__dots{display:flex;gap:3px;margin-top:6px;min-height:8px;flex-wrap:wrap}.slot__dot{width:8px;height:8px;border-radius:50%;display:inline-block}.segmented{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px;gap:3px;margin:4px 0 14px}.segmented button{border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:14px;padding:6px 18px;border-radius:999px;cursor:pointer}.segmented button.active{background:var(--accent);color:#fff}.slot--heat{border-color:transparent}.slot--all{background:#34c759;color:#fff}.slot--some{background:#ff9f0a;color:#fff}.slot--few{background:#ff3b30;color:#fff}.slot--nodata{background:var(--surface);border:1px solid var(--border);color:var(--text-muted)}.slot__count{font-size:12px;margin-top:4px;opacity:.9;text-align:center}.edit-toggle{margin:0}.edit-toggle.active{background:var(--accent);color:#fff;border-color:var(--accent)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:100;padding:0}@media (min-width: 640px){.sheet-backdrop{align-items:center;padding:16px}}.sheet{background:var(--bg);color:var(--text);width:100%;max-width:480px;border:1px solid var(--border);border-radius:16px 16px 0 0;padding:16px;max-height:85vh;overflow-y:auto;box-shadow:0 -8px 40px #00000059}@media (min-width: 640px){.sheet{border-radius:16px}}.sheet--wide{max-width:600px;padding-left:24px;padding-right:24px}.sheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sheet__when{background:var(--surface-2);border-radius:12px;padding:12px 14px;margin-bottom:16px}.sheet__time{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:2px 0}.sheet__section{margin-bottom:14px}.sheet__label{font-size:15px;font-weight:600;color:var(--text-muted);margin:6px 2px}.person-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:8px}.person-row__meta{flex:1 1 auto;min-width:0;text-align:left}.attend-toggle{width:28px;height:28px;border-radius:50%;border:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex:0 0 auto}.person-row__name{font-weight:700}.person-row__sub{color:var(--text-muted);font-size:13px}.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:0 0 auto}.avatar--initial{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.badge{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:14px;flex:0 0 auto}.badge--ok{background:#007aff}.badge--x{background:#ff3b30}.contact-btn{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:15px;flex:0 0 auto}.contact-btn--msg{background:#34c759}.contact-btn--call{background:#007aff}.controls-row{display:flex;align-items:center;gap:8px;margin:4px 0 14px}.controls-row .segmented{margin:0;display:flex;flex:1 1 auto;width:100%}.controls-row .segmented button{flex:1 1 0}.best-btn{margin:0}.best-list{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.best-row{display:flex;gap:12px;align-items:flex-start;padding:14px;border-bottom:1px solid var(--border)}.best-row:last-child{border-bottom:none}.best-num{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:0 0 auto;margin-top:2px}.best-row__day{color:var(--text-muted);font-size:13px}.best-row__time{font-size:20px;font-weight:800;letter-spacing:-.01em;margin:1px 0 2px}.best-row__blurb{color:var(--text-muted);font-size:14px}.type-select,.type-input{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit;font-size:15px}.type-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='%238e8e93'%3E%3Cpath d='M3.646 9.146a.5.5 0 0 1 .708 0L8 12.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708m0-2.292a.5.5 0 0 0 .708 0L8 3.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:15px}.type-input{margin-top:8px}.error{color:var(--danger)}.ios-spinner{position:relative;display:inline-block;color:var(--text-muted);flex:0 0 auto}.ios-spinner>span{position:absolute;top:0;left:50%;width:8%;height:26%;margin-left:-4%;background:currentColor;border-radius:999px;transform-origin:center 192%;animation:ios-spinner-fade 1s linear infinite}@keyframes ios-spinner-fade{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion: reduce){.ios-spinner>span{animation-duration:1.6s}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 16px;text-align:center}.loading-state .muted{margin:0}.map{width:100%;height:280px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.swipe-row{position:relative;width:100%;overflow:hidden;border-radius:12px}.swipe-row__actions{position:absolute;display:flex;align-items:stretch}.swipe-row__actions--leading{inset:0 auto 0 0}.swipe-row__actions--trailing{inset:0 0 0 auto}.swipe-row__action{border:none;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:inherit;font-size:12px;font-weight:600}.swipe-row__action-icon{line-height:0}.swipe-row__content{position:relative;background:var(--surface);touch-action:pan-y;will-change:transform;transition:transform .22s cubic-bezier(.22,1,.36,1)}.session-chip{width:100%}.ctx-menu__catcher{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.ctx-menu{position:fixed;z-index:41;min-width:180px;padding:5px;border-radius:10px;border:1px solid var(--border);background:var(--surface);box-shadow:0 10px 30px #00000073;display:flex;flex-direction:column;gap:1px}.ctx-menu__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text);text-align:left;font-size:14px;padding:7px 10px;border-radius:6px;cursor:pointer}.ctx-menu__item:hover{background:var(--accent, #0a84ff);color:#fff}.ctx-menu__item--danger{color:#ff453a}.ctx-menu__item--danger:hover{background:#ff453a;color:#fff}.switch{width:46px;height:28px;border-radius:999px;border:none;background:var(--surface-2);position:relative;cursor:pointer;padding:0;flex:0 0 auto;transition:background .15s}.switch--on{background:#34c759}.switch__knob{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px #0000004d}.switch--on .switch__knob{transform:translate(18px)}.sheet-textarea{width:100%;min-height:84px;resize:vertical;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit;font-size:15px}.field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}.field-row>span{font-size:15px}.field-hint{font-size:13px;margin:6px 2px 0}.date-input{width:auto;min-width:150px}.rename-backdrop{align-items:center;padding:16px}.rename-dialog{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:18px;width:100%;max-width:340px;box-shadow:0 10px 50px #00000080}.rename-dialog__title{text-align:center;font-weight:700;font-size:17px;margin-bottom:14px}.rename-dialog__actions{display:flex;gap:10px;margin-top:16px}.rename-dialog__actions .btn{flex:1;justify-content:center;text-align:center}.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%);background:#000000d9;color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;z-index:200;box-shadow:0 4px 20px #0006}.list-header__actions{display:flex;align-items:center;gap:8px}.profile-photo{display:flex;flex-direction:column;align-items:center;gap:8px;margin:4px 0 8px}.profile-photo__img{width:96px;height:96px;border-radius:50%;object-fit:cover;font-size:40px}.profile-photo__name{font-size:22px;font-weight:800}.instrument-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:8px}.instrument-row__meta{flex:1 1 auto;min-width:0}.instrument-row__remove{border:none;background:var(--surface-2);width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;padding:0}.add-instrument-btn{display:inline-flex;align-items:center;gap:8px;background:none;border:none;color:var(--accent);font:inherit;font-size:15px;font-weight:600;cursor:pointer;padding:8px 2px 2px}.instrument-picker{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.instrument-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text);font:inherit;text-align:left;cursor:pointer}.instrument-option:last-child{border-bottom:none}.instrument-option:hover{background:var(--surface-2)}.instrument-option:disabled{opacity:.4;cursor:default}.instrument-option__name{flex:1 1 auto;color:var(--accent);font-size:16px}.instrument-option--on .instrument-option__name{font-weight:600}.instrument-check{color:var(--accent);font-weight:700;flex:0 0 auto}.color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}.color-swatch{width:100%;aspect-ratio:1 / 1;border-radius:50%;border:none;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0}.color-swatch--on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--text-muted)}.color-swatch__check{color:#fff;font-size:16px;font-weight:700}.storage-seg{display:flex;width:100%}.storage-seg button{flex:1}.add-session-chip{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:transparent;border:1px dashed var(--border);color:var(--accent);border-radius:10px;padding:8px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.add-session-chip:hover{border-color:var(--accent);background:var(--accent-weak)}.inspector-sheet{max-width:min(1100px,96vw);width:96vw;max-height:88vh;display:flex;flex-direction:column}.inspector-actions{display:flex;gap:8px;flex:0 0 auto}.inspector-search{flex:0 0 auto;width:100%;margin:0 0 10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:13px}.inspector-search::placeholder{color:var(--text-muted)}.titlerow-tap-target{flex:1 1 auto;min-width:44px;align-self:stretch;min-height:32px}.inspector-output{flex:1 1 auto;overflow:auto;margin:0;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.45;white-space:pre;overflow-x:auto;-webkit-overflow-scrolling:touch}.brand{cursor:default;-webkit-user-select:none;user-select:none}.confirm-sheet{max-width:460px}.confirm-subject{margin:4px 0 10px;font-weight:600}.confirm-list{margin:0 0 10px;padding-left:20px;color:var(--text-muted);font-size:14px;line-height:1.5}.confirm-note{margin:0 0 14px;font-size:13px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.btn--danger{color:#ff453a;border-color:#ff453a66}.btn--danger:hover{background:#ff453a1f}.member-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.member-row__text{flex:1 1 auto;min-width:0}.member-row__name{display:flex;align-items:center;gap:8px;font-weight:600;flex-wrap:wrap}.member-row__action{flex:0 0 auto;font-size:13px;color:#ff453a;border-color:#ff453a59}.member-row__action:hover{background:#ff453a1f}.member-pill{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;background:#7878803d;color:var(--text-muted)}.member-pill--pending{background:#ff9f0a2e;color:#ff9f0a}.member-leave{color:#ff453a;border-color:#ff453a59}.member-contact{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px;font-size:13px}.member-contact__link{color:var(--accent, #0a84ff);text-decoration:none}.member-contact__link:hover{text-decoration:underline}.member-contact__remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;font-size:12px;color:var(--text-muted);cursor:pointer;text-decoration:underline}.member-contact__remove:hover{color:#ff453a}.profile-photo__pick{display:inline-block;margin-top:6px;font-size:13px;color:var(--accent, #0a84ff);cursor:pointer}.profile-photo__pick:hover{text-decoration:underline}.slot--me{position:relative;touch-action:none;user-select:none;-webkit-user-select:none}.slot--me-on{background:#2c9c40;border-color:#4cd964;color:#fff}.slot--me-on .slot__time{color:#fff;font-weight:600}.slot--me-past{opacity:1;cursor:default}.slot--me-past.slot--me-on{background:#2c9c4038;border-color:#4cd96459}.slot--me-past.slot--me-on .slot__time{color:#ffffff73}.slot--me-past:not(.slot--me-on) .slot__time{color:var(--text-muted)}.slot__check{position:absolute;top:5px;right:5px;line-height:0;opacity:.95}.slot--me-past .slot__check{opacity:.4}.dot--free{background:#34c759}.dot--busy{background:#8e8e93}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:5px 7px;line-height:0;cursor:pointer}.icon-btn:hover:not(:disabled){background:var(--surface-2)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.segmented--icons button{display:inline-flex;align-items:center;justify-content:center;min-width:56px;line-height:0}.slot__dots{flex-wrap:wrap;justify-content:flex-start;gap:3px}.slot--me-unavailable{background:#ff453a24;border-color:#ff453a52}.slot--me-unavailable .slot__time{color:#ff8a80bf}.icon-btn--on{background:#ff453a29;border-color:#ff453a73;color:#ff453a}.icon-btn--on:hover:not(:disabled){background:#ff453a3d}.profile-colophon{text-align:center;padding-top:4px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.section-head .section-title{margin-bottom:8px}.section-add{flex:0 0 auto}.pane-head{margin:4px 0 2px}.pane-title{font-size:20px;font-weight:700;margin:0;color:var(--text)}.legend{min-height:18px}.error-toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:min(560px,calc(100vw - 32px));background:#ff453a29;border:1px solid rgba(255,69,58,.45);color:var(--danger);padding:10px 12px 10px 16px;border-radius:999px;font-size:14px;z-index:200;box-shadow:0 4px 20px #0006}.error-toast__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;padding:4px;line-height:0;border-radius:50%;flex:0 0 auto}.error-toast__close:hover{background:#ff453a33}.theme-seg button{display:inline-flex;align-items:center;justify-content:center;line-height:0;padding:7px 18px}.section-head+.nav-list,.section-title+.nav-list{margin-top:10px}.sheet__label--warn{color:#ff9f0a}.conflict-row{display:flex;align-items:flex-start;gap:10px;background:var(--surface-2);border-radius:10px;padding:12px 14px;margin-bottom:8px}.conflict-row__what{font-size:15px;line-height:1.3}.conflict-row__when{font-size:13px;margin-top:2px}.sheet__head>strong{flex:1 1 auto;text-align:center}.empty-card{background:var(--surface-2);border-radius:10px;padding:14px 16px;font-size:15px}.session-day{max-width:460px;margin:0 auto}.session-day__heading{font-size:17px;font-weight:600;margin:0 0 16px}.session-day__card{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;padding:20px 16px;text-align:center}.session-day__title{font-size:22px;font-weight:700;margin:0 0 12px}.session-day__facts{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;margin-bottom:8px;color:var(--text-muted);font-size:15px}.session-day__fact{display:inline-flex;align-items:center;gap:6px}.session-day__pill{display:inline-block;margin:12px 0 0;padding:8px 16px;border-radius:999px;background:var(--surface);font-size:17px;font-weight:600}.session-day__pill--upcoming{color:#ff9f0a}.session-day__pill--in-progress,.session-day__pill--ended{color:#30d158}.session-day__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.session-day__bar .session-day__heading{margin:0}
