.ft-form { display:flex; flex-direction:column; gap:12px; }
.ft-field { display:flex; flex-direction:column; gap:6px; font-size:14px; }
.ft-field[hidden] { display:none; }
.ft-options { display:flex; flex-direction:column; gap:8px; }
.ft-option-editor { display:flex; gap:8px; }
.ft-option-editor .input { min-width:0; flex:1; }
.ft-status { margin:4px 0; color:var(--danger); font-size:13px; overflow-wrap:anywhere; }
.ft-status:empty { display:none; }
.ft-poll { width:min(100%, 420px); max-width:100%; }
.ft-poll-option { display:flex; align-items:center; position:relative; overflow:hidden; isolation:isolate; gap:8px; padding:10px; margin:6px 0; border:1px solid var(--bg-4); border-radius:8px; cursor:pointer; }
.ft-poll-option:focus-within { outline:2px solid var(--accent); outline-offset:2px; }
.ft-poll-bar { position:absolute; inset:0; background:var(--accent); opacity:.18; transform-origin:left; z-index:-1; }
.ft-poll-option input { accent-color:var(--accent); flex:none; }
.ft-option-text { flex:1; min-width:0; overflow-wrap:anywhere; }
.ft-count { font-size:12px; flex:none; color:var(--text); }
.ft-voters, .ft-poll-note { color:var(--muted); font-size:12px; margin:6px 0; overflow-wrap:anywhere; }
.ft-vote { margin:6px 8px 0 0; border-radius:8px; }
.ft-reminders { max-height:60vh; overflow:auto; }
.ft-reminder-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; padding:12px 0; border-bottom:1px solid var(--bg-4); }
.ft-reminder-copy { flex:1 1 200px; min-width:0; overflow-wrap:anywhere; }
.ft-reminder-copy strong { font-weight:500; white-space:pre-wrap; }
.ft-inbox { padding:16px 24px; }
.ft-inbox h2 { font-size:16px; margin:0 0 10px; }
.ft-reminder-alert { position:fixed; z-index:10050; bottom:90px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100vw - 32px); padding:12px 18px; background:var(--bg-3); color:var(--text-bright); border:1px solid var(--accent); border-radius:8px; overflow-wrap:anywhere; }
@media(max-width:800px) { .ft-form button, .ft-poll button, .ft-form select, .ft-option-editor input, .ft-reminders button { min-height:44px; } .ft-inbox { padding:16px; } .ft-poll-option { min-height:44px; } }

.ft-form[hidden] { display:none; }

.ft-form .check-row { display:flex; align-items:center; gap:10px; margin:0; padding:8px 0; }
.ft-form .check-row::before { display:none; }
.ft-folder-count { position:absolute; right:-3px; bottom:-3px; padding:1px 4px; min-width:18px; border-radius:6px; background:var(--danger); color:#fff; font-size:10px; line-height:16px; font-weight:700; }
.rail-folder-header:has(.ft-folder-count) > .rail-dot { display:none; }
.ft-reminder-bar { flex-shrink:0; padding:6px 16px; background:var(--bg-2); border-bottom:1px solid var(--border); color:var(--text-bright); font-size:13px; text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ft-reminder-bar.soon { background:var(--bg-3); border-bottom-color:var(--accent); }
