.spinner-wrap{display:grid;place-content:center;justify-items:center;gap:12px;padding:32px;min-block-size:50dvb}.spinner{inline-size:32px;block-size:32px;border-radius:50%;border:3px solid var(--surface-2);border-block-start-color:var(--accent);animation:spinner-rotate .8s linear infinite}.spinner-label{color:var(--text-muted);font-size:.9rem}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.login-screen{display:grid;place-content:center;min-block-size:100dvb;padding:24px;padding-block-start:calc(24px + var(--safe-top));background:linear-gradient(160deg,var(--accent-general),#0b1217)}.login-card{inline-size:min(360px,100%);display:grid;justify-items:center;gap:10px;padding:32px 28px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-2);text-align:center}.login-logo{border-radius:18px}.login-title{margin:6px 0 0;font-size:1.4rem}.login-sub{margin:0;color:var(--text-muted);font-size:.95rem}.login-error{margin:0;color:var(--danger);font-size:.85rem}.login-btn{margin-block-start:10px;inline-size:100%}.login-tenant{margin:4px 0 0;color:var(--text-muted);font-size:.75rem;word-break:break-all}.screen{display:flex;flex-direction:column;flex:1;min-block-size:100dvb}.screen-body{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-block-end:calc(24px + var(--safe-bottom))}.app-header{position:sticky;inset-block-start:0;z-index:10;background:var(--accent);color:var(--text-on-accent);padding-block-start:var(--safe-top);padding-inline:max(8px,var(--safe-left)) max(8px,var(--safe-right));box-shadow:var(--shadow-1)}.app-header-row{display:flex;align-items:center;gap:4px;block-size:var(--header-h)}.app-header-title{flex:1;min-inline-size:0;margin:0;font-size:1.15rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header-actions{display:flex;align-items:center;gap:4px;flex:none}.header-icon-btn{inline-size:var(--tap);block-size:var(--tap);flex:none;display:grid;place-content:center;border:none;border-radius:50%;background:transparent;color:inherit;transition:background .15s ease}.header-icon-btn:focus-visible{outline:2px solid var(--text-on-accent);outline-offset:-2px}.header-icon-btn:active{background:#ffffff2e}.header-spacer{background:transparent}.header-text-btn{min-block-size:40px;padding-inline:12px;border:none;border-radius:var(--radius-sm);background:#ffffff29;color:inherit;font-weight:600;font-size:.9rem}.header-text-btn:disabled{opacity:.5}.fab{position:fixed;inset-block-end:calc(20px + var(--safe-bottom));inset-inline-end:calc(20px + var(--safe-right));z-index:20;display:inline-flex;align-items:center;gap:8px;block-size:56px;padding-inline:20px;border:none;border-radius:28px;background:var(--accent-steering);color:#fff;font-weight:700;font-size:1rem;box-shadow:var(--shadow-2)}.fab:active{transform:scale(.97)}.list{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.list-section-header{margin:16px 4px 4px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.list-section-header:first-child{margin-block-start:4px}.list-perm-note{font-size:.85rem;font-style:italic;color:var(--text-muted);padding:4px 0 12px 4px;margin:0}.agenda-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1);text-align:start;inline-size:100%;border:none;color:inherit}.agenda-card:active{background:var(--surface-2)}.agenda-card-accent{inline-size:4px;align-self:stretch;border-radius:2px;flex:none}.agenda-card-body{flex:1;min-inline-size:0;display:flex;flex-direction:column}.agenda-card-title{font-size:.98rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-card-meta{margin-block-start:3px;font-size:.82rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-card-duration{flex:none;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.card-menu-btn{flex:none;inline-size:var(--tap);block-size:var(--tap);border:none;border-radius:50%;background:transparent;color:var(--text-muted);display:grid;place-content:center;transition:background .15s ease;cursor:pointer}.card-menu-btn:active{background:var(--surface-2)}.card-menu-btn:focus-visible{outline:2px solid var(--accent-steering);outline-offset:-2px}.state-center{display:grid;place-content:center;justify-items:center;gap:14px;text-align:center;padding:48px 24px;min-block-size:60dvb;color:var(--text-muted)}.state-center h2{margin:0;font-size:1.1rem;color:var(--text)}.state-icon{font-size:3rem;line-height:1}.sheet{margin:0;margin-block-start:auto;inline-size:100%;max-inline-size:560px;margin-inline:auto;padding:0;border:none;background:transparent;max-block-size:90dvb}.sheet::backdrop{background:var(--overlay-scrim)}.sheet[open]{animation:sheet-up .22s ease}@keyframes sheet-up{0%{transform:translateY(100%)}}.sheet-panel{background:var(--surface);border-start-start-radius:18px;border-start-end-radius:18px;padding:8px 16px calc(16px + var(--safe-bottom))}.sheet-grabber{inline-size:40px;block-size:4px;border-radius:2px;background:var(--border);margin:6px auto 10px}.sheet-title{margin:0 0 8px;font-size:.85rem;font-weight:600;color:var(--text-muted);text-align:center}.sheet-actions{display:flex;flex-direction:column;gap:4px}.sheet-action{display:flex;align-items:center;gap:12px;min-block-size:52px;padding-inline:12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:1rem;font-weight:500;text-align:start}.sheet-action:active{background:var(--surface-2)}.sheet-action.danger{color:var(--danger)}.sheet-cancel{margin-block-start:6px;justify-content:center;font-weight:600;background:var(--surface-2)}.confirm{margin:auto;inline-size:min(360px,calc(100% - 48px));padding:0;border:none;border-radius:var(--radius);background:transparent}.confirm::backdrop{background:var(--overlay-scrim)}.confirm[open]{animation:confirm-in .18s ease}@keyframes confirm-in{0%{transform:scale(.94);opacity:0}}.confirm-panel{background:var(--surface);border-radius:var(--radius);padding:22px}.confirm-title{margin:0 0 8px;font-size:1.1rem}.confirm-message{margin:0 0 18px;color:var(--text-muted);font-size:.92rem;line-height:1.4}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;inset-block-end:calc(24px + var(--safe-bottom));inset-inline:0;margin-inline:auto;inline-size:max-content;max-inline-size:calc(100% - 48px);z-index:60;padding:12px 18px;border-radius:24px;background:#1f2c37;color:#fff;font-size:.9rem;font-weight:500;box-shadow:var(--shadow-2);animation:toast-in .2s ease}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}}.type-picker{display:flex;flex-direction:column;gap:16px;padding:24px 16px;max-inline-size:560px;margin-inline:auto}.type-picker-q{margin:8px 0;font-size:1.3rem;text-align:center}.type-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1);text-align:center;color:inherit}.type-card:active{transform:scale(.99);background:var(--surface-2)}.type-card:disabled,.type-card[disabled]{opacity:.45;cursor:not-allowed;transform:none}.type-card-icon{font-size:2.4rem;line-height:1}.type-card-title{font-size:1.1rem;font-weight:700;color:var(--c)}.type-card-desc{font-size:.88rem;color:var(--text-muted);line-height:1.35}.type-card-locked{font-size:.78rem;color:var(--text-muted);margin-top:2px}.new-form{display:flex;flex-direction:column;gap:16px;padding:24px 16px;max-inline-size:560px;margin-inline:auto}.move-dialog{margin:auto;inline-size:min(420px,calc(100% - 48px));padding:0;border:none;border-radius:var(--radius);background:transparent}.move-dialog::backdrop{background:var(--overlay-scrim)}.move-dialog[open]{animation:confirm-in .18s ease}.move-dialog-panel{background:var(--surface);border-radius:var(--radius);padding:22px}.move-dialog-title{margin:0 0 4px;font-size:1.1rem}.move-dialog-sub{margin:0 0 16px;color:var(--text-muted);font-size:.9rem;line-height:1.4}.move-dialog-list{display:flex;flex-direction:column;gap:6px;max-height:min(50vh,360px);overflow-y:auto;margin-bottom:16px}.move-dialog-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm, 8px);background:var(--surface);cursor:pointer}.move-dialog-option:hover{background:var(--surface-hover, rgba(127, 127, 127, .08))}.move-dialog-option:active{transform:translateY(1px)}.move-dialog-option-title{font-weight:600;font-size:.95rem}.move-dialog-option-date{color:var(--text-muted);font-size:.82rem}.move-dialog-empty{color:var(--text-muted);font-size:.9rem;padding:12px 4px;margin:0}.move-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.recur-del-options{display:flex;flex-direction:column;gap:4px;margin-block-end:18px}.recur-del-option{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer}.recur-del-option:has(input:checked){background:var(--surface-2)}.recur-del-option input{inline-size:20px;block-size:20px;flex:none;margin-block-start:1px;accent-color:var(--accent-steering)}.recur-del-text{display:flex;flex-direction:column;gap:2px;font-size:.95rem}.recur-del-text small{color:var(--text-muted);font-size:.8rem}.item-list-panel{flex:1;min-inline-size:0;display:flex;flex-direction:column;block-size:100%;min-block-size:0}.item-list-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding-block:8px;min-block-size:0}.item-list-empty{text-align:center;color:var(--text-muted);padding:40px 16px;font-size:.9rem}.item-list-footer{flex:none;padding:12px;border-block-start:1px solid var(--border);background:var(--surface)}.item-row{display:flex;align-items:center;gap:6px;padding:8px 6px;background:var(--surface);touch-action:pan-y;cursor:pointer;user-select:none;-webkit-user-select:none}.item-row.selected{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}.item-row-dimmed{color:var(--text-muted)}.item-row-dimmed .item-badge,.item-row-dimmed .item-main{opacity:.55}.item-row-dimmed .item-title{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,currentColor 55%,transparent)}.item-skip-badge,.item-include-badge{flex:none;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:1px 7px;border-radius:10px;background:color-mix(in srgb,var(--text-muted) 20%,transparent);color:var(--text-muted);white-space:nowrap}.item-include-badge{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.drag-overlay-item{background:var(--surface);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000002e,0 2px 6px #0000001f;opacity:.97;cursor:grabbing}.item-drag{flex:none;inline-size:32px;block-size:40px;display:grid;place-content:center;border:none;background:transparent;color:var(--text-muted);cursor:grab;touch-action:none}.item-drag:active{cursor:grabbing}.item-badge{flex:none;min-inline-size:32px;inline-size:auto;padding-inline:2px;block-size:32px;display:grid;place-content:center}.item-emoji{font-size:1.25rem;line-height:1;white-space:nowrap}.item-type-badge{inline-size:30px;block-size:30px;border-radius:8px;display:grid;place-content:center;font-weight:800;font-size:.85rem}.item-main{flex:1;min-inline-size:0;display:flex;flex-direction:column;gap:2px}.item-title{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-row.selected .item-title{font-weight:600}.item-sub{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-leader{overflow:hidden;text-overflow:ellipsis}.item-time{font-weight:600}.item-recur{font-size:.9rem}.item-del{flex:none;inline-size:36px;block-size:36px;display:grid;place-content:center;border:none;background:transparent;color:var(--text-muted);border-radius:50%}.item-del:active{background:var(--surface-2);color:var(--danger)}.item-move{flex:none;inline-size:36px;block-size:36px;display:grid;place-content:center;border:none;background:transparent;color:var(--text-muted);border-radius:50%}.item-move:hover{color:var(--text)}.item-move:active{background:var(--surface-2)}.item-unskip{flex:none;display:inline-flex;align-items:center;gap:5px;block-size:30px;padding-inline:10px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:15px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap}.item-unskip:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.gap-bar{display:flex;align-items:center;justify-content:center;block-size:22px;background:#eab3081f;border-block:1px solid rgba(234,179,8,.35);pointer-events:none;-webkit-user-select:none;user-select:none;position:relative;z-index:1}.gap-bar-label{font-size:.72rem;font-weight:600;color:#92650a;letter-spacing:.01em}@media (prefers-color-scheme: dark){.gap-bar{background:#eab3081a;border-color:#eab30840}.gap-bar-label{color:#d4a017}}.insertion-point-row{display:flex;align-items:center;gap:6px;padding:6px}.insertion-point-btn{flex:1;padding:7px 12px;border:1.5px dashed var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:.875rem;text-align:center;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.insertion-point-btn:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.subitem-group{display:flex;flex-direction:column;gap:0}.subitem-row{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 38px;margin-inline-start:26px;border-radius:var(--radius-sm);background:transparent;font-size:.9rem;color:var(--text-muted);cursor:pointer;touch-action:pan-y}.subitem-row:hover{background:var(--surface)}.subitem-badge{flex:none;inline-size:24px;display:flex;align-items:center;justify-content:center}.subitem-emoji{font-size:1rem;line-height:1}.subitem-bullet{font-size:.75rem;color:var(--text-muted);font-weight:600}.subitem-title{flex:1;min-inline-size:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emoji-search{margin-block-end:12px}.emoji-status{text-align:center;color:var(--text-muted);padding:24px}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px;max-block-size:50dvb;overflow-y:auto;overscroll-behavior:contain;padding-block:4px}.emoji-cell{aspect-ratio:1;display:grid;place-content:center;border:none;border-radius:10px;background:transparent;font-size:1.5rem;line-height:1}.emoji-cell:active{background:var(--surface-2)}.rich-text-editor{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.rte-toolbar{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--border);background:var(--surface-2)}.rte-toolbar-btn{display:flex;align-items:center;justify-content:center;inline-size:32px;block-size:32px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-muted);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.rte-toolbar-btn:hover{background:var(--surface-2);color:var(--text)}.rte-toolbar-btn:focus-visible{outline:2px solid var(--accent-steering);outline-offset:-2px}.rte-toolbar-btn.active{background:var(--accent-steering);color:#fff;border-color:var(--accent-steering)}.rte-content{padding:10px 12px;min-block-size:80px;max-block-size:200px;overflow-y:auto;color:var(--text);font-size:1rem;line-height:1.4}.rte-content:focus-within{outline:2px solid var(--accent-steering);outline-offset:-1px}.rte-content .ProseMirror{outline:none;min-height:inherit}.rte-content p{margin:0}.rte-content strong,.rte-content b{font-weight:600}.rte-content em,.rte-content i{font-style:italic}.rte-content a{color:var(--accent-steering);text-decoration:underline;cursor:pointer}.rte-content a:hover{opacity:.8}.recurrence-modal{margin:auto;inline-size:min(480px,calc(100% - 32px));padding:0;border:none;border-radius:var(--radius);background:transparent}.recurrence-modal::backdrop{background:var(--overlay-scrim)}.recurrence-modal[open]{animation:recurrence-modal-in .18s ease}@keyframes recurrence-modal-in{0%{transform:scale(.94);opacity:0}}.recurrence-modal-panel{background:var(--surface);border-radius:var(--radius);overflow:hidden}.recurrence-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 14px;border-bottom:1px solid var(--border)}.recurrence-modal-title{margin:0;font-size:1rem;font-weight:700}.recurrence-modal-close{border:none;background:transparent;font-size:1rem;color:var(--text-muted);cursor:pointer;padding:6px 8px;line-height:1;border-radius:var(--radius-sm)}.recurrence-modal-close:hover{background:var(--surface-2);color:var(--text)}.recurrence-modal-body{display:flex;flex-direction:column;gap:16px;padding:18px}.recurrence-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--border)}.rec-pills{display:flex;gap:6px;flex-wrap:wrap}.rec-pill{min-block-size:36px;padding:0 13px;border:1px solid var(--border);border-radius:18px;background:var(--surface-2);color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.rec-pill.active{background:var(--accent-steering);color:#fff;border-color:var(--accent-steering)}.rec-pill:hover:not(.active){background:var(--surface);color:var(--text)}.recurrence-preview{margin:0;padding:8px 12px;background:var(--surface-2);border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-muted);font-style:italic}.item-detail{display:flex;flex-direction:column;gap:18px;padding:18px 16px calc(32px + var(--safe-bottom))}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.field-sublabel{font-size:.72rem;font-weight:600;color:var(--text-muted)}.field-hint{font-size:.8rem;color:var(--text-muted)}.recurrence-skip-notice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-block-start:8px;padding:8px 10px 8px 12px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:.85rem;color:var(--text-muted)}.field-row{display:flex;gap:12px}.field-row>.field{flex:1;min-inline-size:0}.emoji-input{font-size:1.2rem}.subitems{display:flex;flex-direction:column;gap:12px}.subitem-card{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);position:relative}.subitem-header{display:flex;justify-content:flex-end;gap:8px;margin-block-end:-8px}.subitem-emoji{font-size:1.2rem}.input,.textarea{inline-size:100%;min-block-size:var(--tap);padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:1rem}.input:focus-visible,.textarea:focus-visible{outline:2px solid var(--accent-steering);outline-offset:-1px;border-color:transparent}.input:focus,.textarea:focus{outline:none}.textarea{resize:vertical;min-block-size:80px;line-height:1.4}.segment{flex:1;min-block-size:38px;border:none;border-radius:7px;background:transparent;color:var(--text-muted);font-size:.85rem;font-weight:600}.checkbox-row{display:flex;align-items:center;gap:12px;min-block-size:var(--tap)}.checkbox-row input{inline-size:22px;block-size:22px;flex:none;accent-color:var(--accent-steering)}.checkbox-text{display:flex;flex-direction:column}.checkbox-text small{color:var(--text-muted);font-size:.8rem}.detail-empty{display:grid;place-content:center;block-size:100%;min-block-size:40dvb;color:var(--text-muted);padding:24px;text-align:center}.attachment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.attachment-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.attachment-name{flex:1;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--text);text-decoration:none}a.attachment-name:hover{color:var(--accent-steering);text-decoration:underline}.attachment-type{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.attachment-remove{flex:none;inline-size:28px;block-size:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:1.2rem;line-height:1;cursor:pointer}.attachment-remove:hover{background:var(--surface);color:var(--text)}.attachment-actions{display:flex;align-items:center;gap:10px}.attachment-actions button{min-block-size:38px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:.85rem;font-weight:600;cursor:pointer}.attachment-actions button:disabled{opacity:.5;cursor:default}.attachment-compose{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.attachment-textarea{resize:vertical;min-block-size:100px;font-family:inherit;line-height:1.4}.attachment-status{font-size:.8rem;color:var(--text-muted)}.attachment-error{font-size:.8rem;color:var(--danger, #c0392b)}.recurrence-section{display:flex;flex-direction:column;gap:12px}.recurrence-options{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.editor-body{position:relative;flex:1;min-block-size:0;display:flex;overflow:hidden}.editor-list-col{flex:1;min-inline-size:0;display:flex;background:var(--bg)}.editor-body.wide .editor-list-col{flex:none}.editor-resize-handle{flex:none;inline-size:5px;cursor:col-resize;background:var(--border);touch-action:none;transition:background .15s}.editor-resize-handle:hover,.editor-resize-handle.dragging{background:var(--accent)}.editor-detail-col{flex:1;min-inline-size:0;overflow-y:auto;overscroll-behavior:contain;background:var(--bg)}.editor-detail-sheet{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;display:flex;flex-direction:column;background:var(--bg);transform:translate(100%);transition:transform .25s ease;visibility:hidden}.editor-detail-sheet.open{transform:translate(0);visibility:visible}.editor-detail-bar{flex:none;display:flex;align-items:center;gap:8px;min-block-size:48px;padding-inline:6px;border-block-end:1px solid var(--border);background:var(--surface)}.editor-detail-bar-title{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-detail-sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain}.save-status{font-size:.8rem;font-weight:500;padding-inline:4px;white-space:nowrap;transition:color .2s}.save-status--saved,.save-status--saving{color:var(--text-muted)}.save-status--offline{color:var(--warning, #b45309)}.save-status--conflict{color:var(--danger)}.conflict-banner{flex:none;display:flex;align-items:center;gap:8px;padding:8px 12px;background:color-mix(in srgb,var(--danger) 12%,transparent);border-block-end:1px solid color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger);font-size:.85rem;flex-wrap:wrap}.conflict-banner span{flex:1;min-inline-size:150px}.editor-menu{position:relative}.editor-menu-dropdown{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;z-index:100;min-inline-size:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);color:var(--text);overflow:hidden;padding-block:4px}.editor-menu-item{display:flex;align-items:center;inline-size:100%;padding:11px 16px;border:none;background:transparent;color:var(--text);font-size:.95rem;text-align:start;cursor:pointer;transition:background .12s ease}.editor-menu-item:hover{background:var(--surface-2)}.editor-menu-item:focus-visible{outline:2px solid var(--accent-steering);outline-offset:-2px}.editor-menu-divider{block-size:1px;background:var(--border);margin-block:4px}.details-form{display:flex;flex-direction:column;gap:16px;padding-block:8px}.preview-screen{block-size:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;padding:16px;overflow:hidden}.preview-controls{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--surface-1);border-radius:var(--radius)}.control-group{display:flex;flex-direction:column;gap:8px}.control-label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.segmented{display:flex;gap:4px;padding:3px;background:var(--surface-2);border-radius:var(--radius-sm)}.segment{flex:1;min-block-size:36px;border:none;border-radius:7px;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease-out}.segment:active{transform:scale(.98)}.segment.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.preview-note{font-size:.8rem;color:var(--text-muted);margin:4px 0 0;text-align:center}.preview-container{flex:1;min-block-size:0;overflow:hidden;background:var(--surface-2);border-radius:var(--radius);padding:16px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.preview-pages{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;inline-size:100%;block-size:100%}.preview-page-wrapper{flex:0 0 auto;block-size:100%;border:2px solid rgba(0,0,0,.25);border-radius:3px;box-shadow:0 4px 16px #0000004d;overflow:hidden;background:#fff}.preview-page-image{display:block;block-size:100%;inline-size:auto}.state-center{text-align:center;color:var(--text-muted)}.timeline-content{display:flex;flex-direction:column;gap:16px;padding:16px;flex:1;overflow-y:auto}.timeline-note{padding:12px;background:var(--surface-2);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-muted);text-align:center}.timeline-section{display:flex;flex-direction:column;gap:12px}.timeline-items{display:flex;flex-direction:column;gap:8px}.timeline-item{display:flex;gap:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start}.timeline-time{display:flex;gap:6px;align-items:center;white-space:nowrap;flex-shrink:0;font-family:monospace;font-size:.9rem;color:var(--text-muted)}.time-start,.time-end{font-weight:600;color:var(--text)}.time-sep{color:var(--text-muted)}.timeline-item-title{flex:1;font-weight:500;color:var(--text);word-break:break-word}.timeline-total{padding:12px;background:var(--surface-2);border-radius:var(--radius-sm);font-size:.95rem;text-align:right;color:var(--text)}.timeline-total strong{color:var(--text-muted);margin-right:8px}.issues-section{margin-top:8px}.issues-section h2{margin:0;font-size:.85rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.issues-list{display:flex;flex-direction:column;gap:8px}.issue-item{padding:12px;background:rgba(var(--danger-rgb),.1);border:1px solid var(--danger);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:4px}.issue-title{font-weight:600;color:var(--text);font-size:.95rem}.issue-message{font-size:.85rem;color:var(--danger);line-height:1.4}.state-center{display:grid;place-content:center;height:100%;min-height:40dvb;color:var(--text-muted);padding:24px;text-align:center}.update-prompt{position:fixed;inset-block-end:calc(24px + var(--safe-bottom));inset-inline:0;margin-inline:auto;inline-size:max-content;max-inline-size:calc(100% - 48px);z-index:70;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;border-radius:24px;background:#1f2c37;color:#fff;font-size:.9rem;box-shadow:var(--shadow-2);animation:update-prompt-in .2s ease}.update-prompt-msg{font-weight:500}.update-prompt-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#fff;color:#15212a;font-weight:600;font-size:.85rem;padding:6px 14px;border-radius:18px;cursor:pointer}.update-prompt-dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#fff;font-size:1.3rem;line-height:1;padding:0 4px;cursor:pointer;opacity:.7}.update-prompt-dismiss:hover{opacity:1}@keyframes update-prompt-in{0%{transform:translateY(12px);opacity:0}}:root{--accent-general: #15212a;--accent-steering: #2a5f8f;--accent: var(--accent-general);--accent-default: var(--accent-general);--bg: #f4f5f7;--surface: #ffffff;--surface-2: #eef0f3;--border: #e1e4e8;--overlay-scrim: rgba(15, 23, 32, .45);--text: #1b2127;--text-muted: #6b7682;--text-on-accent: #ffffff;--danger: #c8362f;--danger-rgb: 200, 54, 47;--radius: 14px;--radius-sm: 9px;--shadow-1: 0 1px 2px rgba(16, 24, 32, .06), 0 1px 3px rgba(16, 24, 32, .08);--shadow-2: 0 6px 24px rgba(16, 24, 32, .16);--tap: 44px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--header-h: 56px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);-webkit-text-size-adjust:100%}@media (prefers-color-scheme: dark){:root{--bg: #0f161c;--surface: #18222b;--surface-2: #1f2c37;--border: #2a3742;--text: #e8edf2;--text-muted: #9aa7b3;--accent-general: #4a7fb0;--accent: var(--accent-general);--shadow-1: 0 1px 3px rgba(0, 0, 0, .4);--shadow-2: 0 6px 24px rgba(0, 0, 0, .5)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;block-size:100%}body{background:var(--bg);min-block-size:100dvb;overscroll-behavior-y:none;touch-action:manipulation}#root{display:flex;flex-direction:column;min-block-size:100dvb}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent-steering);outline-offset:2px}input,textarea,select,button{font-family:inherit}a{color:var(--accent-steering)}.placeholder{display:grid;place-content:center;min-block-size:100dvb;font-size:1.25rem;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-block-size:var(--tap);padding-inline:18px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:.95rem;font-weight:600;line-height:1;transition:background .15s ease,transform .05s ease,opacity .15s ease;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--accent-steering);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:transparent;color:var(--text-on-accent)}.btn-ghost{background:transparent;border-color:transparent}.btn-danger{color:var(--danger);border-color:transparent;background:transparent}.btn-icon{min-inline-size:var(--tap);padding-inline:0}.btn-block{inline-size:100%}.btn-sm{padding:8px 12px;font-size:.85rem;min-block-size:auto}.btn-outline{background:transparent;color:var(--accent-steering);border-color:var(--accent-steering)}.btn-outline:hover:not(:disabled){background:color-mix(in srgb,var(--accent-steering) 10%,transparent);opacity:1}.account-btn{position:relative;inline-size:var(--tap);block-size:var(--tap);border:none;border-radius:50%;background:#ffffff2e;color:var(--text-on-accent);font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none;transition:background .15s ease;cursor:pointer}.account-btn:focus-visible{outline:2px solid var(--text-on-accent);outline-offset:-2px}.account-btn img{position:absolute;top:0;right:0;bottom:0;left:0;inline-size:100%;block-size:100%;object-fit:cover}.account-menu{position:relative}.account-dropdown{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;z-index:100;min-inline-size:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);color:var(--text);overflow:hidden}.account-dropdown-header{display:flex;align-items:center;gap:12px;padding:16px}.account-dropdown-avatar{inline-size:40px;block-size:40px;border-radius:50%;background:var(--accent);color:var(--text-on-accent);font-weight:700;font-size:1rem;display:grid;place-content:center;flex:none;overflow:hidden}.account-dropdown-avatar img{inline-size:100%;block-size:100%;object-fit:cover}.account-dropdown-identity{display:flex;flex-direction:column;gap:2px;min-inline-size:0}.account-dropdown-name{font-weight:600;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-dropdown-email{font-size:.78rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-dropdown-divider{block-size:1px;background:var(--border)}.account-dropdown-perms{padding:12px 16px}.account-dropdown-section-label{font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-block-end:8px}.account-dropdown-perm-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-block:4px}.account-dropdown-perm-name{font-size:.88rem}.account-dropdown-perm-badge{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap}.account-dropdown-perm-badge.rw{background:color-mix(in srgb,var(--accent-steering) 15%,transparent);color:var(--accent-steering)}.account-dropdown-perm-badge.ro{background:color-mix(in srgb,var(--text-muted) 20%,transparent);color:var(--text-muted)}.account-dropdown-perm-badge.none{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.account-dropdown-action{display:flex;align-items:center;inline-size:100%;padding:12px 16px;border:none;background:transparent;color:var(--text);font-size:.95rem;text-align:start;cursor:pointer;transition:background .15s ease}.account-dropdown-action:hover{background:var(--surface-2)}.account-dropdown-action:focus-visible{outline:2px solid var(--accent-steering);outline-offset:-2px}.account-dropdown-tenants{padding:12px 16px}.account-dropdown-tenant-select{display:flex;align-items:center}.account-dropdown-tenant-selector{inline-size:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:.9rem;cursor:pointer}.account-dropdown-tenant-selector:focus-visible{outline:2px solid var(--accent-steering);outline-offset:-2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.error-boundary{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--bg);padding:24px;z-index:9999;overflow:auto}.error-boundary-card{max-width:560px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-2);text-align:center}.error-boundary-icon{font-size:2.4rem;margin-bottom:8px}.error-boundary-card h1{margin:0 0 8px;font-size:1.25rem}.error-boundary-msg{color:var(--danger);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;background:rgba(var(--danger-rgb),.08);padding:10px 14px;border-radius:var(--radius-sm);text-align:left;margin:12px 0 20px;word-break:break-word}.error-boundary-actions{display:flex;gap:10px;justify-content:center;margin-bottom:18px}.error-boundary-details{text-align:left;margin-top:16px;color:var(--text-muted)}.error-boundary-details summary{cursor:pointer;font-size:.85rem}.error-boundary-details pre{margin-top:10px;padding:10px 12px;background:var(--surface-2);border-radius:var(--radius-sm);font-size:.75rem;overflow:auto;max-height:220px;white-space:pre-wrap;word-break:break-word}
