:root{--tiotl-radius:8px;--tiotl-shadow:0 2px 8px rgba(0,0,0,.08);--tiotl-transition:150ms ease;--tiotl-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}[class*=" tiotl-"] input,[class*=" tiotl-"] select,[class*=" tiotl-"] textarea,[class^=tiotl-] input,[class^=tiotl-] select,[class^=tiotl-] textarea{box-sizing:border-box}.tiotl-toast-container{bottom:1.5rem;position:fixed;right:1.5rem;z-index:9999}.tiotl-toast-container[hidden]{display:none}.tiotl-toast{align-items:center;animation:tiotl-toast-in .2s ease;background:#1f2937;border-radius:var( --tiotl-radius,8px );box-shadow:var( --tiotl-shadow,0 4px 16px rgba(0,0,0,.2) );color:#fff;display:flex;font-size:.875rem;gap:.75rem;max-width:360px;padding:.75rem 1rem}.tiotl-toast--error{background:#dc2626}.tiotl-toast--success{background:#16a34a}.tiotl-toast__dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:1.25rem;line-height:1;margin-left:auto;opacity:.75;padding:0}.tiotl-toast__dismiss:hover{opacity:1}.tiotl-toast__dismiss:focus-visible{border-radius:2px;opacity:1;outline:2px solid #fff;outline-offset:2px}@keyframes tiotl-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.tiotl-toast{animation:none}}.tiotl-item-detail{font-family:var( --tiotl-font-sans,system-ui,sans-serif );padding:1.5rem 1rem}.tiotl-error{color:#dc2626;padding:1rem}.tiotl-back-link{color:#6b7280;display:inline-block;font-size:.875rem;margin-bottom:1rem;text-decoration:none}.tiotl-back-link:hover{color:#111827}.tiotl-item-detail__layout{align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 320px}.tiotl-item-detail__title{border-bottom:2px solid transparent;color:#111827;font-size:1.75rem;font-weight:700;margin:0 0 .75rem;outline:none;padding:.25rem 0;transition:border-color .15s ease;word-break:break-word}.tiotl-item-detail__title:focus{border-bottom-color:#3b82f6}.tiotl-description-toolbar{display:flex;flex-direction:row;gap:.25rem;margin-bottom:.25rem}.tiotl-description-toolbar__btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:.8125rem;line-height:1;padding:.25rem .625rem;transition:background .15s ease}.tiotl-description-toolbar__btn:hover{background:#f3f4f6}.tiotl-item-detail__description{border:1px solid #d1d5db;border-radius:var( --tiotl-radius,8px );color:#374151;line-height:1.6;min-height:150px;outline:none;padding:.75rem;transition:border-color .15s ease,box-shadow .15s ease;word-break:break-word}.tiotl-item-detail__description:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.15)}.tiotl-drop-zone{border:2px dashed #d1d5db;border-radius:var( --tiotl-radius,8px );color:#6b7280;cursor:pointer;font-size:.875rem;margin-top:1rem;padding:2rem;position:relative;text-align:center;transition:border-color .15s ease,background .15s ease}.tiotl-drop-zone.is-dragging-over,.tiotl-drop-zone:hover{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.tiotl-drop-zone.is-uploading{opacity:.7;pointer-events:none}.tiotl-drop-zone__label button{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.tiotl-upload-progress-bar{background:#e5e7eb;border-radius:2px;height:4px;margin-top:.75rem;overflow:hidden}.tiotl-upload-progress-bar__fill{background:#3b82f6;border-radius:2px;height:100%;transition:width .1s linear}.tiotl-attachment-gallery{display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr);margin-top:1rem}.tiotl-attachment-thumb{aspect-ratio:1;background:#f3f4f6;border-radius:6px;overflow:hidden;position:relative}.tiotl-attachment-thumb img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.tiotl-attachment-thumb__open{background:transparent;border:0;cursor:zoom-in;display:block;height:100%;margin:0;padding:0;width:100%}.tiotl-attachment-thumb__delete{align-items:center;background:rgba(0,0,0,.55);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:22px;justify-content:center;line-height:1;opacity:0;position:absolute;right:4px;top:4px;transition:opacity .15s ease;width:22px}.tiotl-attachment-thumb:hover .tiotl-attachment-thumb__delete{opacity:1}.tiotl-files{margin-top:2rem}.tiotl-files__heading{color:#111827;font-size:1rem;font-weight:600;margin:0 0 .75rem}.tiotl-file-list{display:flex;flex-direction:column;gap:.25rem;list-style:none;margin:.75rem 0 0;padding:0}.tiotl-file-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:.5rem .75rem}.tiotl-file-row,.tiotl-file-row__link{align-items:center;display:flex;gap:.5rem}.tiotl-file-row__link{color:#1f2937;flex:1;min-width:0;text-decoration:none}.tiotl-file-row__link:hover .tiotl-file-row__name{text-decoration:underline}.tiotl-file-row__icon{flex:none;font-size:1.1rem}.tiotl-file-row__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiotl-file-row__size{color:#6b7280;flex:none;font-size:.8125rem}.tiotl-file-row__delete{background:transparent;border:0;border-radius:4px;color:#6b7280;cursor:pointer;flex:none;font-size:1.1rem;line-height:1;padding:.125rem .375rem}.tiotl-file-row__delete:hover{background:#fee2e2;color:#b91c1c}.tiotl-comments{margin-top:2rem}.tiotl-comments__heading{color:#111827;font-size:1rem;font-weight:600;margin:0 0 1rem}.tiotl-comments__list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.tiotl-comment{align-items:flex-start;display:flex;flex-direction:row;gap:.75rem}.tiotl-comment__body{display:flex;flex:1;flex-direction:column;gap:.25rem;min-width:0}.tiotl-comment__meta{color:#9ca3af;font-size:.8125rem;margin:0}.tiotl-comment__author{color:#374151;font-weight:700}.tiotl-comment__date{color:#9ca3af}.tiotl-comment__content{color:#4b5563;font-size:.9375rem;line-height:1.55;white-space:pre-wrap;word-break:break-word}.tiotl-comment-form{display:flex;flex-direction:column;gap:.5rem}.tiotl-comment-form__field{position:relative}.tiotl-comment-form__input{border:1px solid #d1d5db;border-radius:var( --tiotl-radius,8px );box-sizing:border-box;color:#374151;font-family:inherit;font-size:.9375rem;padding:.625rem .75rem;resize:vertical;transition:border-color .15s ease;width:100%}.tiotl-comment-form__input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.15);outline:none}.tiotl-comment-form__input:disabled{background:#f9fafb;cursor:not-allowed}.tiotl-comment-form__footer{align-items:center;display:flex;gap:.75rem;justify-content:flex-end}.tiotl-comment-form__hint{color:#9ca3af;gap:.25rem}.tiotl-comment-form__hint,.tiotl-kbd{align-items:center;display:inline-flex}.tiotl-kbd{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 1px 0 rgba(0,0,0,.08);color:#4b5563;font-family:inherit;font-size:.8125rem;height:1.5rem;justify-content:center;line-height:1;min-width:1.5rem;padding:0 .375rem}.tiotl-mention-list{background:#fff;border:1px solid #d1d5db;border-radius:var( --tiotl-radius,8px );box-shadow:0 8px 24px rgba(0,0,0,.12);left:0;list-style:none;margin:0;max-height:220px;overflow-y:auto;padding:.25rem;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.tiotl-mention-list__item{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.375rem .5rem}.tiotl-mention-list__item--active,.tiotl-mention-list__item:hover{background:#eff6ff}.tiotl-mention-list__item .tiotl-avatar{border-width:1px}.tiotl-btn{align-items:center;border:none;border-radius:var( --tiotl-radius,8px );cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:.5rem 1rem;transition:background .15s ease,opacity .15s ease}.tiotl-btn--primary{align-self:flex-start;background:#3b82f6;color:#fff}.tiotl-btn--primary:hover{background:#2563eb}.tiotl-btn--primary:disabled{cursor:not-allowed;opacity:.6}.tiotl-btn--danger{background:#b91c1c;color:#fff}.tiotl-btn--danger:hover{background:#a01212}.tiotl-item-detail__header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.tiotl-item-detail__delete{background:transparent;border:1px solid #fecaca;color:#b91c1c}.tiotl-item-detail__delete:hover{background:#fee2e2;border-color:#fca5a5}.tiotl-overlay{align-items:center;background:rgba(0,0,0,.5);display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.tiotl-overlay[hidden]{display:none}.tiotl-confirm-dialog{background:#fff;border-radius:var( --tiotl-radius,8px );box-shadow:0 8px 32px rgba(0,0,0,.18);max-width:420px;padding:32px;width:90%}.tiotl-confirm-dialog h3{font-size:18px;margin:0 0 12px}.tiotl-confirm-dialog p{color:#555;font-size:14px;line-height:1.5;margin:0 0 24px}.tiotl-confirm-dialog__actions{display:flex;gap:8px;justify-content:flex-end}.tiotl-item-detail__sidebar{position:sticky;top:2rem}.tiotl-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.tiotl-field__label{color:#6b7280;font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.tiotl-field__input,.tiotl-field__select{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#374151;font-family:inherit;font-size:.9375rem;padding:.5rem .625rem;transition:border-color .15s ease;width:100%}.tiotl-field__input:focus,.tiotl-field__select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.15);outline:none}.tiotl-assignee-chips,.tiotl-tag-chips{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem}.tiotl-assignee-chip,.tiotl-tag-chip{align-items:center;background:#f3f4f6;border-radius:9999px;color:#374151;display:inline-flex;font-size:.8125rem;gap:.25rem;padding:2px 8px}.tiotl-assignee-chip button,.tiotl-tag-chip button{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:.875rem;line-height:1;padding:0 2px}.tiotl-assignee-chip button:hover,.tiotl-tag-chip button:hover{color:#ef4444}.tiotl-assignee-member-list{display:flex;flex-direction:column;gap:.375rem;margin-top:.25rem}.tiotl-assignee-member-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.tiotl-assignee-member-label input[type=checkbox]{flex-shrink:0;height:15px;width:15px}.tiotl-avatar{border-radius:50%;display:block;flex-shrink:0}.tiotl-avatar--sm{height:20px;width:20px}.tiotl-tag-typeahead{position:relative}.tiotl-tag-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.12);left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 2px);z-index:100}.tiotl-tag-dropdown__item{background:none;border:none;border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;display:block;font-family:inherit;font-size:.875rem;padding:.5rem .75rem;text-align:left;transition:background .1s ease;width:100%}.tiotl-tag-dropdown__item:last-child{border-bottom:none}.tiotl-tag-dropdown__item:hover{background:#f3f4f6}.tiotl-tag-dropdown__item--create{color:#3b82f6;font-style:italic}@media (max-width:768px){.tiotl-item-detail__layout{grid-template-columns:1fr}.tiotl-item-detail__sidebar{position:static}.tiotl-attachment-gallery{grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.tiotl-attachment-gallery{grid-template-columns:repeat(2,1fr)}}.tiotl-lightbox{align-items:center;background:rgba(0,0,0,.88);display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:1100}.tiotl-lightbox[hidden]{display:none}.tiotl-lightbox__image{box-shadow:0 12px 48px rgba(0,0,0,.5);height:auto;max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;width:auto}.tiotl-lightbox__close,.tiotl-lightbox__nav{align-items:center;background:rgba(0,0,0,.45);border:0;border-radius:50%;color:#fff;cursor:pointer;display:flex;justify-content:center;position:absolute;transition:background .15s ease}.tiotl-lightbox__close:hover,.tiotl-lightbox__nav:hover{background:rgba(0,0,0,.75)}.tiotl-lightbox__close{font-size:1.75rem;height:40px;line-height:1;right:16px;top:16px;width:40px}.tiotl-lightbox__nav{font-size:2rem;height:48px;line-height:1;top:50%;transform:translateY(-50%);width:48px}.tiotl-lightbox__nav--prev{left:16px}.tiotl-lightbox__nav--next{right:16px}.tiotl-lightbox__nav[hidden]{display:none}.tiotl-lightbox__counter{background:rgba(0,0,0,.45);border-radius:999px;bottom:16px;color:#fff;font-size:.875rem;left:50%;padding:4px 12px;position:absolute;transform:translateX(-50%)}.tiotl-lightbox__counter[hidden]{display:none}
