/* Generated by scripts/build_css.py; edit modular sources. */
:root{ color-scheme: light; --cu-font-sans:"Aptos","Segoe UI Variable Text","Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif; --cu-bg:#f7f8fa; --cu-surface:#ffffff; --cu-surface-1:#ffffff; --cu-surface-2:#f1f4f8; --cu-surface-3:#e7edf5; --cu-hover:#eef2f6; --cu-border:#d7dee8; --cu-border-strong:#b9c4d2; --cu-text:#172033; --cu-text-strong:#0f172a; --cu-text-soft:#334155; --cu-dim:#647084; --cu-accent:#c2410c; --cu-accent-strong:#9a3412; --cu-accent-soft:#ffedd5; --cu-accent-softer:#fff7ed; --cu-accent-border:#fed7aa; --cu-accent-rgb:194 65 12; --cu-accent-strong-rgb:154 52 18; --cu-accent-rgb-comma:194,65,12; --cu-accent-strong-rgb-comma:154,52,18; --cu-overlay-accent:#c2410c; --cu-overlay-accent-rgb:194 65 12; --cu-overlay-accent-rgb-comma:194,65,12; --cu-on-accent:#ffffff; --cu-primary:var(--cu-accent); --cu-primary-strong:var(--cu-accent-strong); --cu-btn-primary-bg:var(--cu-accent); --cu-btn-primary-hover:var(--cu-accent-strong); --cu-btn-primary-rgb:var(--cu-accent-rgb); --cu-btn-primary-hover-rgb:var(--cu-accent-strong-rgb); --cu-on-btn-primary:var(--cu-on-accent); --cu-btn-secondary-bg:#475569; --cu-btn-secondary-hover:#334155; --cu-btn-secondary-rgb:71 85 105; --cu-btn-secondary-hover-rgb:51 65 85; --cu-on-btn-secondary:#ffffff; --cu-danger:#dc2626; --cu-warning:#d97706; --cu-info:#2563eb; --cu-success:#059669; --cu-danger-rgb:220 38 38; --cu-warning-rgb:217 119 6; --cu-info-rgb:37 99 235; --cu-success-rgb:5 150 105; --cu-on-danger:#ffffff; --cu-inverse:#ffffff; --cu-focus-ring:0 0 0 0.22rem rgb(var(--cu-accent-rgb) / 0.24); --cu-focus-ring-strong:0 0 0 0.26rem rgb(var(--cu-accent-rgb) / 0.34); --cu-accent-shadow:0 12px 24px rgb(var(--cu-accent-rgb) / 0.18); --cu-accent-shadow-strong:0 18px 34px rgb(var(--cu-accent-rgb) / 0.26); --cu-shadow-sm:0 1px 2px rgb(15 23 42 / 0.05); --cu-shadow-md:0 12px 28px rgb(15 23 42 / 0.08); --cu-shadow-lg:0 18px 42px rgb(15 23 42 / 0.12); --cu-radius-sm:8px; --cu-radius-md:10px; --cu-radius:12px; --cu-radius-lg:16px; --cu-radius-xl:20px; --cu-radius-pill:999px; --badge-gray:#8a8a8a; --cu-avatar-bg:#e7ecf3; --cu-tag-bg:#eef2f6; --cu-board-col-bg:#ffffff; --cu-board-task-bg:#f8fafc; --cu-modal-bg:#ffffff; --cu-input-bg:#f8fafc; --cu-input-border:#cfd8e5; --cu-input-border-2:#b8c4d5; --cu-input-text:var(--cu-text); --cu-input-ph:#7a8699; --cu-status-todo:#64748b; --cu-status-in-progress:#2563eb; --cu-status-done:#059669; --cu-status-blocked:#dc2626; --cu-muted-dot:#64748b; --cu-badge-todo-bg:#e7ecf3; --cu-badge-todo-text:#334155; --cu-badge-in-progress-bg:#dbeafe; --cu-badge-in-progress-text:#1e3a8a; --cu-badge-done-bg:#d1fae5; --cu-badge-done-text:#065f46; --cu-badge-blocked-bg:#fee2e2; --cu-badge-blocked-text:#991b1b; --cu-progress-bg:#e2e8f0; --cu-progress-fill:var(--cu-success); --cu-file-thumb-bg:#e7ecf3; --cu-priority-none:#64748b; --cu-priority-low:#16a34a; --cu-priority-medium:#ca8a04; --cu-priority-high:#f97316; --cu-priority-urgent:#dc2626; --bs-body-bg:var(--cu-bg); --bs-body-color:var(--cu-text); --bs-border-color:var(--cu-border); --bs-primary:var(--cu-accent); --bs-primary-rgb:var(--cu-accent-rgb-comma); --bs-link-color:var(--cu-accent); --bs-link-color-rgb:var(--cu-accent-rgb-comma); --bs-link-hover-color:var(--cu-accent-strong); --bs-link-hover-color-rgb:var(--cu-accent-strong-rgb-comma); --bs-focus-ring-color:rgb(var(--cu-accent-rgb) / 0.24); } body{ background:var(--cu-bg); color:var(--cu-text); font-family:var(--cu-font-sans); } body.cu-dark{ color-scheme: dark; --cu-bg:#10100f; --cu-surface:#181716; --cu-surface-1:#181716; --cu-surface-2:#221f1c; --cu-surface-3:#2f2923; --cu-hover:#2a2520; --cu-border:#3a332c; --cu-border-strong:#5a493d; --cu-text:#f5efe8; --cu-text-strong:#fffaf3; --cu-text-soft:#e7d9cb; --cu-dim:#b9aa9b; --cu-accent:#fb923c; --cu-accent-strong:#f97316; --cu-accent-soft:#3a2415; --cu-accent-softer:#261a12; --cu-accent-border:#7c3a12; --cu-accent-rgb:251 146 60; --cu-accent-strong-rgb:249 115 22; --cu-accent-rgb-comma:251,146,60; --cu-accent-strong-rgb-comma:249,115,22; --cu-overlay-accent:#fb923c; --cu-overlay-accent-rgb:251 146 60; --cu-overlay-accent-rgb-comma:251,146,60; --cu-on-accent:#1f1208; --cu-primary:var(--cu-accent); --cu-primary-strong:var(--cu-accent-strong); --cu-btn-primary-bg:var(--cu-accent); --cu-btn-primary-hover:var(--cu-accent-strong); --cu-btn-primary-rgb:var(--cu-accent-rgb); --cu-btn-primary-hover-rgb:var(--cu-accent-strong-rgb); --cu-on-btn-primary:var(--cu-on-accent); --cu-btn-secondary-bg:#475569; --cu-btn-secondary-hover:#64748b; --cu-btn-secondary-rgb:71 85 105; --cu-btn-secondary-hover-rgb:100 116 139; --cu-on-btn-secondary:#ffffff; --cu-danger:#f87171; --cu-warning:#fbbf24; --cu-info:#60a5fa; --cu-success:#34d399; --cu-danger-rgb:248 113 113; --cu-warning-rgb:251 191 36; --cu-info-rgb:96 165 250; --cu-success-rgb:52 211 153; --cu-on-danger:#1f0808; --cu-inverse:#ffffff; --cu-focus-ring:0 0 0 0.22rem rgb(var(--cu-accent-rgb) / 0.28); --cu-focus-ring-strong:0 0 0 0.26rem rgb(var(--cu-accent-rgb) / 0.38); --cu-accent-shadow:0 12px 24px rgb(var(--cu-accent-rgb) / 0.20); --cu-accent-shadow-strong:0 18px 34px rgb(var(--cu-accent-rgb) / 0.28); --cu-shadow-sm:0 1px 2px rgb(0 0 0 / 0.24); --cu-shadow-md:0 14px 32px rgb(0 0 0 / 0.34); --cu-shadow-lg:0 22px 54px rgb(0 0 0 / 0.46); --badge-gray:#8b8279; --cu-avatar-bg:#2a2520; --cu-tag-bg:#241f1b; --cu-board-col-bg:#181716; --cu-board-task-bg:#141312; --cu-modal-bg:#171513; --cu-input-bg:#201d1a; --cu-input-border:#443a32; --cu-input-border-2:#5a493d; --cu-input-text:var(--cu-text); --cu-input-ph:#a79686; --cu-status-todo:#94a3b8; --cu-status-in-progress:#60a5fa; --cu-status-done:#34d399; --cu-status-blocked:#f87171; --cu-muted-dot:#94a3b8; --cu-badge-todo-bg:#2a3038; --cu-badge-todo-text:#d5dce7; --cu-badge-in-progress-bg:#17263d; --cu-badge-in-progress-text:#bfdbfe; --cu-badge-done-bg:#123026; --cu-badge-done-text:#bbf7d0; --cu-badge-blocked-bg:#351b1b; --cu-badge-blocked-text:#fecaca; --cu-progress-bg:#211d1a; --cu-progress-fill:var(--cu-success); --cu-file-thumb-bg:#241f1b; --cu-priority-none:#94a3b8; --cu-priority-low:#22c55e; --cu-priority-medium:#facc15; --cu-priority-high:#fb923c; --cu-priority-urgent:#f87171; --bs-body-bg:var(--cu-bg); --bs-body-color:var(--cu-text); --bs-border-color:var(--cu-border); --bs-primary:var(--cu-accent); --bs-primary-rgb:var(--cu-accent-rgb-comma); --bs-link-color:var(--cu-accent); --bs-link-color-rgb:var(--cu-accent-rgb-comma); --bs-link-hover-color:var(--cu-accent-strong); --bs-link-hover-color-rgb:var(--cu-accent-strong-rgb-comma); --bs-focus-ring-color:rgb(var(--cu-accent-rgb) / 0.28); } body.cu-theme-purple{ color-scheme: light; --cu-bg:#f9fafb; --cu-surface:#ffffff; --cu-surface-1:#ffffff; --cu-surface-2:#f3f4f6; --cu-surface-3:#e5e7eb; --cu-hover:#f3f4f6; --cu-border:#d1d5db; --cu-border-strong:#aeb8c6; --cu-text:#111827; --cu-text-strong:#0b1220; --cu-text-soft:#374151; --cu-dim:#6b7280; --cu-accent:#6366f1; --cu-accent-strong:#4f46e5; --cu-accent-soft:#e0e7ff; --cu-accent-softer:#eef2ff; --cu-accent-border:#c7d2fe; --cu-accent-rgb:99 102 241; --cu-accent-strong-rgb:79 70 229; --cu-accent-rgb-comma:99,102,241; --cu-accent-strong-rgb-comma:79,70,229; --cu-overlay-accent:#6366f1; --cu-overlay-accent-rgb:99 102 241; --cu-overlay-accent-rgb-comma:99,102,241; --cu-on-accent:#ffffff; --cu-primary:var(--cu-accent); --cu-primary-strong:var(--cu-accent-strong); --cu-danger:#dc2626; --cu-warning:#d97706; --cu-info:#2563eb; --cu-success:#34d399; --cu-danger-rgb:220 38 38; --cu-warning-rgb:217 119 6; --cu-info-rgb:37 99 235; --cu-success-rgb:52 211 153; --cu-on-danger:#ffffff; --cu-inverse:#ffffff; --cu-focus-ring:0 0 0 0.22rem rgb(var(--cu-accent-rgb) / 0.24); --cu-focus-ring-strong:0 0 0 0.26rem rgb(var(--cu-accent-rgb) / 0.34); --cu-accent-shadow:0 12px 24px rgb(var(--cu-accent-rgb) / 0.18); --cu-accent-shadow-strong:0 18px 34px rgb(var(--cu-accent-rgb) / 0.26); --cu-shadow-sm:0 1px 2px rgb(15 23 42 / 0.05); --cu-shadow-md:0 12px 28px rgb(15 23 42 / 0.08); --cu-shadow-lg:0 18px 42px rgb(15 23 42 / 0.12); --badge-gray:#8a8a8a; --cu-avatar-bg:#e5e7eb; --cu-tag-bg:#e5e7eb; --cu-board-col-bg:#ffffff; --cu-board-task-bg:#f9fafb; --cu-modal-bg:#ffffff; --cu-input-bg:#f3f4f6; --cu-input-border:#d1d5db; --cu-input-border-2:#d1d5db; --cu-input-text:#111827; --cu-input-ph:#6b7280; --cu-status-todo:#9aa0a6; --cu-status-in-progress:#60a5fa; --cu-status-done:#34d399; --cu-status-blocked:#f87171; --cu-muted-dot:#64748b; --cu-badge-todo-bg:#e5e7eb; --cu-badge-todo-text:#374151; --cu-badge-in-progress-bg:#dbeafe; --cu-badge-in-progress-text:#1e3a8a; --cu-badge-done-bg:#dcfce7; --cu-badge-done-text:#166534; --cu-badge-blocked-bg:#ffe4e6; --cu-badge-blocked-text:#9f1239; --cu-progress-bg:#e5e7eb; --cu-progress-fill:#34d399; --cu-file-thumb-bg:#e5e7eb; --cu-priority-none:#9aa0a6; --cu-priority-low:#22c55e; --cu-priority-medium:#eab308; --cu-priority-high:#f97316; --cu-priority-urgent:#dc2626; --bs-body-bg:var(--cu-bg); --bs-body-color:var(--cu-text); --bs-border-color:var(--cu-border); --bs-primary:var(--cu-accent); --bs-primary-rgb:var(--cu-accent-rgb-comma); --bs-link-color:var(--cu-accent); --bs-link-color-rgb:var(--cu-accent-rgb-comma); --bs-link-hover-color:var(--cu-accent-strong); --bs-link-hover-color-rgb:var(--cu-accent-strong-rgb-comma); --bs-focus-ring-color:rgb(var(--cu-accent-rgb) / 0.24); } body.cu-theme-purple.cu-dark{ color-scheme: dark; --cu-bg:#0f1115; --cu-surface:#151821; --cu-surface-1:#0b1220; --cu-surface-2:#0f1115; --cu-surface-3:#1f2430; --cu-hover:#1b1f2a; --cu-border:#262a36; --cu-border-strong:#3a4356; --cu-text:#e5e7eb; --cu-text-strong:#f8fafc; --cu-text-soft:#cbd5e1; --cu-dim:#a1a6b0; --cu-accent:#a855f7; --cu-accent-strong:#7c3aed; --cu-accent-soft:#2d1f45; --cu-accent-softer:#1e1730; --cu-accent-border:#5b2c91; --cu-accent-rgb:168 85 247; --cu-accent-strong-rgb:124 58 237; --cu-accent-rgb-comma:168,85,247; --cu-accent-strong-rgb-comma:124,58,237; --cu-overlay-accent:#a855f7; --cu-overlay-accent-rgb:168 85 247; --cu-overlay-accent-rgb-comma:168,85,247; --cu-on-accent:#ffffff; --cu-primary:var(--cu-accent); --cu-primary-strong:var(--cu-accent-strong); --cu-danger:#ef4444; --cu-warning:#eab308; --cu-info:#60a5fa; --cu-success:#34d399; --cu-danger-rgb:239 68 68; --cu-warning-rgb:234 179 8; --cu-info-rgb:96 165 250; --cu-success-rgb:52 211 153; --cu-on-danger:#ffffff; --cu-inverse:#ffffff; --cu-focus-ring:0 0 0 0.22rem rgb(var(--cu-accent-rgb) / 0.28); --cu-focus-ring-strong:0 0 0 0.26rem rgb(var(--cu-accent-rgb) / 0.38); --cu-accent-shadow:0 12px 24px rgb(var(--cu-accent-rgb) / 0.20); --cu-accent-shadow-strong:0 18px 34px rgb(var(--cu-accent-rgb) / 0.28); --cu-shadow-sm:0 1px 2px rgb(0 0 0 / 0.24); --cu-shadow-md:0 14px 32px rgb(0 0 0 / 0.34); --cu-shadow-lg:0 22px 54px rgb(0 0 0 / 0.46); --badge-gray:#8a8a8a; --cu-avatar-bg:#1f2430; --cu-tag-bg:#1b1f2a; --cu-board-col-bg:#1a1d27; --cu-board-task-bg:#121520; --cu-modal-bg:#0f131b; --cu-input-bg:#151a23; --cu-input-border:#2a3141; --cu-input-border-2:#3a4356; --cu-input-text:#e5e7eb; --cu-input-ph:#9aa3b2; --cu-status-todo:#9aa0a6; --cu-status-in-progress:#60a5fa; --cu-status-done:#34d399; --cu-status-blocked:#f87171; --cu-muted-dot:#64748b; --cu-badge-todo-bg:#273042; --cu-badge-todo-text:#bfc9ff; --cu-badge-in-progress-bg:#1f2d3f; --cu-badge-in-progress-text:#a7d3ff; --cu-badge-done-bg:#1f2e27; --cu-badge-done-text:#a5f3c6; --cu-badge-blocked-bg:#2f1f25; --cu-badge-blocked-text:#ffb3c1; --cu-progress-bg:#141923; --cu-progress-fill:#34d399; --cu-file-thumb-bg:#1a1f2b; --cu-priority-none:#9aa0a6; --cu-priority-low:#22c55e; --cu-priority-medium:#eab308; --cu-priority-high:#f97316; --cu-priority-urgent:#dc2626; --bs-body-bg:var(--cu-bg); --bs-body-color:var(--cu-text); --bs-border-color:var(--cu-border); --bs-primary:var(--cu-accent); --bs-primary-rgb:var(--cu-accent-rgb-comma); --bs-link-color:var(--cu-accent); --bs-link-color-rgb:var(--cu-accent-rgb-comma); --bs-link-hover-color:var(--cu-accent-strong); --bs-link-hover-color-rgb:var(--cu-accent-strong-rgb-comma); --bs-focus-ring-color:rgb(var(--cu-accent-rgb) / 0.28); } body.cu-theme-custom.cu-dark{ color-scheme: dark; --cu-bg:color-mix(in srgb, #07090d 94%, var(--cu-dark-tint, var(--cu-overlay-accent, #fb923c)) 6%); --cu-surface:color-mix(in srgb, #111318 88%, var(--cu-dark-tint, var(--cu-overlay-accent, #fb923c)) 12%); --cu-surface-1:color-mix(in srgb, #101217 86%, var(--cu-dark-tint, var(--cu-overlay-accent, #fb923c)) 14%); --cu-surface-2:color-mix(in srgb, #171a22 82%, var(--cu-dark-tint, var(--cu-overlay-accent, #fb923c)) 18%); --cu-surface-3:color-mix(in srgb, #202633 78%, var(--cu-dark-tint, var(--cu-overlay-accent, #fb923c)) 22%); --cu-hover:color-mix(in srgb, #1d2230 78%, var(--cu-dark-tint, var(--cu-overlay-accent, #fb923c)) 22%); --cu-border:color-mix(in srgb, #303746 68%, var(--cu-dark-tint, var(--cu-overlay-accent, #fb923c)) 32%); --cu-border-strong:color-mix(in srgb, #485466 58%, var(--cu-dark-tint, var(--cu-overlay-accent, #fb923c)) 42%); --cu-text:#e8edf7; --cu-text-strong:#f8fafc; --cu-text-soft:#cbd5e1; --cu-dim:#aeb4c1; --cu-avatar-bg:var(--cu-surface-3); --cu-tag-bg:var(--cu-surface-2); --cu-board-col-bg:var(--cu-surface); --cu-board-task-bg:var(--cu-surface-1); --cu-modal-bg:var(--cu-surface); --cu-input-bg:var(--cu-surface-2); --cu-input-border:var(--cu-border); --cu-input-border-2:var(--cu-border-strong); --cu-input-text:var(--cu-text); --cu-input-ph:#9aa3b2; --cu-progress-bg:var(--cu-surface-2); --cu-file-thumb-bg:var(--cu-surface-2); --bs-body-bg:var(--cu-bg); --bs-body-color:var(--cu-text); --bs-border-color:var(--cu-border); }     .tt-scrollbar{ scrollbar-width: thin; scrollbar-color: var(--cu-border) var(--cu-bg); } .tt-scrollbar::-webkit-scrollbar{ width:8px; } .tt-titlu-task-transparent{ background-color: transparent; } .tt-scrollbar::-webkit-scrollbar-track{ background:var(--cu-bg); } .tt-scrollbar::-webkit-scrollbar-thumb{ background-color:var(--cu-border); border-radius:4px; } .text-muted{ color: var(--cu-dim) !important; opacity: 1 !important; } a{ color:var(--cu-accent); text-decoration-color:rgb(var(--cu-accent-rgb) / 0.34); } a:hover{ color:var(--cu-accent-strong); text-decoration-color:rgb(var(--cu-accent-strong-rgb) / 0.46); } :focus-visible{ outline:0; box-shadow:var(--cu-focus-ring); } ::selection{ background:rgb(var(--cu-accent-rgb) / 0.22); color:var(--cu-text-strong); } .card, .dropdown-menu, .list-group-item, .modal-content, .popover{ background-color:var(--cu-surface); border-color:var(--cu-border); color:var(--cu-text); } .dropdown-item{ color:var(--cu-text); } .dropdown-item:hover, .dropdown-item:focus{ background:var(--cu-hover); color:var(--cu-text-strong); } .dropdown-item.active, .dropdown-item:active{ background:var(--cu-accent); color:var(--cu-on-accent); } .table{ --bs-table-bg:transparent; --bs-table-color:var(--cu-text); --bs-table-border-color:var(--cu-border); --bs-table-striped-bg:color-mix(in srgb, var(--cu-surface-2) 62%, transparent); --bs-table-hover-bg:var(--cu-hover); color:var(--cu-text); } .badge.text-bg-primary, .text-bg-primary{ background:var(--cu-accent) !important; color:var(--cu-on-accent) !important; }   .navbar{ background:var(--cu-bg)!important; border-bottom:1px solid var(--cu-border); } .navbar a.navbar-brand, .navbar .nav-link, .navbar .navbar-text{ color:var(--cu-dim)!important; } .navbar .nav-link.active{ color:var(--cu-text)!important; background:var(--cu-hover); border-radius:8px; } .navbar .nav-link.active:hover{ color:var(--cu-text)!important; } .navbar .nav-link:focus-visible{ outline:0; box-shadow:0 0 0 0.2rem rgb(var(--cu-accent-rgb) / 0.35); border-radius:8px; color:var(--cu-text)!important; } .navbar .navbar-nav .nav-link{ font-size: 0.9rem; font-weight:500; line-height:1.2; padding:0.34rem 0.48rem; } .navbar .navbar-nav{ align-content:center; align-items:center; } .navbar .btn:focus-visible{ outline:0; box-shadow:0 0 0 0.25rem rgb(var(--cu-accent-rgb) / 0.35); border-color:var(--cu-accent); } .tt-navbar-toggler{ display:none; align-items:center; justify-content:center; flex-direction:column; gap:4px; background:var(--cu-surface-2); border:1px solid var(--cu-border); border-radius:10px; color:var(--cu-text); padding:0.3rem 0.5rem; transition:background-color .2s ease, border-color .2s ease, box-shadow .2s ease; } .tt-navbar-toggler span{ display:block; width:22px; height:2px; border-radius:999px; background:currentColor; } .tt-navbar-toggler .navbar-toggler-icon{ background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='currentColor' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } .tt-navbar-toggler:hover{ background:var(--cu-hover); border-color:var(--cu-accent); color:var(--cu-text); } .tt-navbar-toggler:focus-visible{ outline:0; box-shadow:0 0 0 0.25rem rgb(var(--cu-accent-rgb) / 0.35); border-color:var(--cu-accent); } body.cu-dark .tt-navbar-toggler{ background:rgba(148,163,184,0.12); border-color:rgba(148,163,184,0.35); } body.cu-dark .tt-navbar-toggler:hover{ background:rgba(148,163,184,0.2); } .offcanvas{ background:var(--cu-bg); color:var(--cu-text); } .tt-navbar-offcanvas{ flex:1 1 auto; min-width:0; display:flex; align-items:center; position:static; width:auto; max-width:none; height:auto; overflow:visible; visibility:visible; background:transparent; color:var(--cu-text); border-left:0; transform:none; } .tt-navbar-offcanvas .offcanvas-header{ display:none; border-bottom:1px solid var(--cu-border); } .tt-navbar-offcanvas .offcanvas-body{ flex:1 1 auto; min-width:0; display:flex; align-items:center; width:100%; padding:0; overflow:visible; } .tt-navbar-backdrop{ display:none; } .tt-navbar-offcanvas .btn-close{ --bs-btn-close-color: var(--cu-text); --bs-btn-close-opacity: 0.65; border-radius:8px; } .tt-navbar-offcanvas .btn-close:hover{ opacity:1; } .tt-navbar-offcanvas .btn-close:focus-visible{ outline:0; box-shadow:0 0 0 0.2rem rgb(var(--cu-accent-rgb) / 0.35); } .tt-navbar-actions{ display:flex; align-items:center; justify-content:flex-end; gap:0.75rem; flex-wrap:wrap; } .tt-navbar-tools, .tt-navbar-account{ display:flex; align-items:center; gap:0.5rem; } .tt-navbar-greeting{ display:flex; flex-direction:column; align-items:flex-start; line-height:1.2; } .tt-navbar-org{ color:var(--cu-dim)!important; } @media (max-width:991.98px){ .tt-navbar-actions{ align-items:stretch; gap:0.65rem; } .tt-navbar-tools, .tt-navbar-account{ width:100%; justify-content:flex-start; flex-wrap:wrap; } .tt-navbar-greeting{ min-width:0; flex:1 1 auto; } } .tt-maintenance-indicator{ position:fixed; inset:5rem 1.5rem auto auto; display:flex; align-items:center; gap:0.85rem; padding:0.85rem 1.3rem; border-radius:999px; background:linear-gradient(135deg, rgba(255, 220, 128, 0.95), rgba(255, 244, 214, 0.9)); color:#4a3600; border:1px solid rgba(255,255,255,0.6); box-shadow:0 18px 45px rgba(84, 72, 12, 0.18); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); z-index:1080; max-width:min(340px, calc(100vw - 3rem)); } body.cu-dark .tt-maintenance-indicator{ background:linear-gradient(135deg, rgb(var(--cu-overlay-accent-rgb) / 0.25), rgba(234, 179, 8, 0.25)); color:#f9fafb; border:1px solid rgba(255,255,255,0.14); box-shadow:0 22px 60px rgba(0,0,0,0.55); } .tt-maintenance-icon{ display:inline-flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem; border-radius:50%; background:rgba(255,255,255,0.55); color:inherit; font-size:1.35rem; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.55); } body.cu-dark .tt-maintenance-icon{ background:rgba(15,17,21,0.55); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.12); } .tt-maintenance-copy{ display:flex; flex-direction:column; gap:0.1rem; line-height:1.2; flex:1; } .tt-maintenance-close{ background:transparent; border:1px solid transparent; border-radius:999px; color:inherit; display:inline-flex; align-items:center; justify-content:center; font-size:1rem; width:2rem; height:2rem; transition:background-color .2s ease, border-color .2s ease; } .tt-maintenance-close:hover{ background:rgba(255,255,255,0.35); border-color:rgba(255,255,255,0.45); } body.cu-dark .tt-maintenance-close:hover{ background:rgba(15,17,21,0.45); border-color:rgba(255,255,255,0.18); } .tt-maintenance-close:focus-visible{ outline:0; box-shadow:0 0 0 0.2rem rgb(var(--cu-accent-rgb) / 0.35); } .tt-maintenance-title{ font-weight:600; letter-spacing:0.02em; font-size:0.95rem; } .tt-maintenance-subtitle{ font-size:0.8rem; color:rgba(74,54,0,0.75); } body.cu-dark .tt-maintenance-subtitle{ color:rgba(249,250,251,0.7); } .tt-platform-announcement-shell{ position:fixed; inset:5rem 1.5rem auto auto; z-index:1080; width:min(340px, calc(100vw - 3rem)); transition:width .2s ease; } .tt-platform-announcement-shell.is-minimized{ width:3.25rem; } .tt-maintenance-indicator + .tt-platform-announcement-shell{ inset:10.1rem 1.5rem auto auto; } .tt-platform-announcement{ width:100%; margin:0; padding:0.25rem; border-radius:24px; background:linear-gradient(135deg, rgba(255, 220, 128, 0.95), rgba(255, 244, 214, 0.9)); color:#4a3600; border:1px solid rgba(255,255,255,0.6); box-shadow:0 18px 45px rgba(84, 72, 12, 0.18); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); overflow:hidden; transition:border-radius .2s ease, box-shadow .2s ease; } .tt-platform-announcement.is-minimized{ border-radius:999px; } body.cu-dark .tt-platform-announcement{ background:linear-gradient(135deg, rgb(var(--cu-overlay-accent-rgb) / 0.25), rgba(234, 179, 8, 0.25)); color:#f9fafb; border:1px solid rgba(255,255,255,0.14); box-shadow:0 22px 60px rgba(0,0,0,0.55); } .tt-platform-announcement__row{ display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:0.1rem; align-items:flex-start; } .tt-platform-announcement__toggle{ min-width:0; display:grid; grid-template-columns:auto minmax(0, 1fr) auto; align-items:center; gap:0.85rem; width:100%; padding:0.6rem 0.7rem 0.55rem 0.6rem; border:0; border-radius:999px; background:transparent; color:inherit; text-align:left; } .tt-platform-announcement__signal{ display:inline-flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem; border-radius:50%; background:rgba(255,255,255,0.55); color:inherit; font-size:1.1rem; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.55); flex:0 0 auto; } body.cu-dark .tt-platform-announcement__signal{ background:rgba(15,17,21,0.55); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.12); } .tt-platform-announcement__body{ display:flex; flex-direction:column; align-items:flex-start; gap:0.1rem; min-width:0; line-height:1.2; } .tt-platform-announcement__eyebrow{ order:2; display:flex; align-items:center; gap:0.35rem 0.55rem; flex-wrap:wrap; min-width:0; max-width:100%; } .tt-platform-announcement__pill{ display:inline-flex; align-items:center; padding:0; background:transparent; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:rgba(74,54,0,0.82); } .tt-platform-announcement__time{ min-width:0; display:inline-flex; align-items:center; gap:0.35rem; font-size:0.76rem; color:rgba(74,54,0,0.75); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } body.cu-dark .tt-platform-announcement__pill{ color:rgba(249,250,251,0.82); } body.cu-dark .tt-platform-announcement__time{ color:rgba(249,250,251,0.7); } .tt-platform-announcement__title{ order:1; width:100%; display:block; font-weight:600; letter-spacing:0.02em; font-size:0.95rem; line-height:1.2; white-space:normal; overflow:hidden; text-overflow:ellipsis; } .tt-platform-announcement__message{ font-size:0.8rem; color:rgba(74,54,0,0.75); line-height:1.45; white-space:pre-line; } body.cu-dark .tt-platform-announcement__message{ color:rgba(249,250,251,0.7); } .tt-platform-announcement__actions{ display:flex; flex-direction:column; align-items:center; padding-top:0.15rem; } .tt-platform-announcement__caret, .tt-platform-announcement__minimize, .tt-platform-announcement__close, .tt-platform-announcement__restore{ background:transparent; border:1px solid transparent; border-radius:999px; color:inherit; display:inline-flex; align-items:center; justify-content:center; width:2rem; height:2rem; transition:background-color .2s ease, border-color .2s ease, transform .2s ease; } .tt-platform-announcement__caret{ flex:0 0 auto; } .tt-platform-announcement.is-open .tt-platform-announcement__caret{ transform:rotate(180deg); } .tt-platform-announcement__details{ padding:0 1.2rem 0.95rem 4.15rem; } .tt-platform-announcement__details[hidden]{ display:none!important; } .tt-platform-announcement__restore{ display:none; width:2.75rem; height:2.75rem; margin:0; background:rgba(255,255,255,0.55); font-size:1.1rem; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.55); } .tt-platform-announcement__restore[hidden]{ display:none!important; } .tt-platform-announcement.is-minimized .tt-platform-announcement__row, .tt-platform-announcement.is-minimized .tt-platform-announcement__details{ display:none!important; } .tt-platform-announcement.is-minimized .tt-platform-announcement__restore{ display:inline-flex; } .tt-platform-announcement__minimize:hover, .tt-platform-announcement__close:hover, .tt-platform-announcement__restore:hover, .tt-platform-announcement__toggle:hover .tt-platform-announcement__caret{ background:rgba(255,255,255,0.35); border-color:rgba(255,255,255,0.45); } body.cu-dark .tt-platform-announcement__restore{ background:rgba(15,17,21,0.55); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.12); } body.cu-dark .tt-platform-announcement__minimize:hover, body.cu-dark .tt-platform-announcement__close:hover, body.cu-dark .tt-platform-announcement__restore:hover, body.cu-dark .tt-platform-announcement__toggle:hover .tt-platform-announcement__caret{ background:rgba(15,17,21,0.45); border-color:rgba(255,255,255,0.18); } .tt-platform-announcement__toggle:focus-visible, .tt-platform-announcement__minimize:focus-visible, .tt-platform-announcement__close:focus-visible, .tt-platform-announcement__restore:focus-visible{ outline:0; box-shadow:0 0 0 0.2rem rgb(var(--cu-accent-rgb) / 0.35); } @media (max-width: 767.98px){ .tt-maintenance-indicator{ inset:auto 1rem 1.2rem 1rem; border-radius:24px; padding:0.8rem 1.1rem; max-width:calc(100vw - 2rem); gap:0.75rem; } .tt-maintenance-copy{ flex:1; } .tt-maintenance-title{ font-size:0.9rem; } .tt-maintenance-subtitle{ font-size:0.78rem; } .tt-platform-announcement-shell{ inset:auto 1rem 1.2rem 1rem; width:calc(100vw - 2rem); } .tt-platform-announcement-shell.is-minimized{ inset:auto 1rem 1.2rem auto; width:3.25rem; } .tt-maintenance-indicator + .tt-platform-announcement-shell{ inset:auto 1rem 6.1rem 1rem; } .tt-maintenance-indicator + .tt-platform-announcement-shell.is-minimized{ inset:auto 1rem 6.1rem auto; } .tt-platform-announcement__toggle{ gap:0.75rem; padding:0.55rem 0.6rem 0.5rem 0.55rem; } .tt-platform-announcement__title{ font-size:0.9rem; } .tt-platform-announcement__message{ font-size:0.78rem; } .tt-platform-announcement__time{ max-width:46vw; } .tt-platform-announcement__details{ padding:0 1rem 0.9rem 1rem; } } @media (prefers-reduced-motion: reduce){ .tt-platform-announcement-shell, .tt-platform-announcement{ transition:none; } } .offcanvas .nav-link, .offcanvas .navbar-text, .tt-navbar-offcanvas .nav-link, .tt-navbar-offcanvas .navbar-text{ color:var(--cu-dim)!important; } .offcanvas .nav-link.active, .tt-navbar-offcanvas .nav-link.active{ color:var(--cu-text)!important; background:var(--cu-hover); border-radius:8px; } .offcanvas .nav-link:focus-visible, .tt-navbar-offcanvas .nav-link:focus-visible{ outline:0; box-shadow:0 0 0 0.2rem rgb(var(--cu-accent-rgb) / 0.35); border-radius:8px; color:var(--cu-text)!important; } .offcanvas-header{ border-bottom:1px solid var(--cu-border); } a{ color:var(--cu-accent); } .container{ max-width:90%; } .tt-navbar-user-area{ display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:0.5rem; } .tt-navbar-user-meta{ display:flex; flex-direction:column; align-items:flex-end; gap:0.08rem; padding:0.25rem 0.62rem 0.28rem; border:1px solid var(--cu-border); border-radius:10px; background:var(--cu-surface); line-height:1.15; } .tt-navbar-user-name{ font-weight:600; font-size:0.83rem; } .tt-navbar-user-org{ font-size:0.7rem; color:var(--cu-dim); max-width:250px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .tt-navbar-icon-btn{ width:2.35rem; height:2.35rem; padding:0; display:inline-flex; align-items:center; justify-content:center; } .tt-navbar-icon-btn i{ font-size:1rem; } .tt-navbar-logout-btn{ height:2.35rem; display:inline-flex; align-items:center; gap:0.35rem; padding-inline:0.75rem; } .tt-navbar-logout-btn i{ font-size:0.95rem; } .tt-inbox-nav-btn{ position:relative; display:inline-flex; align-items:center; justify-content:center; } .tt-inbox-nav-btn .tt-inbox-nav-count{ position:absolute; top:-6px; right:-6px; min-width:1.5rem; height:1.5rem; padding:0 0.35rem; border-radius:999px; background:var(--cu-danger); color:var(--cu-on-danger); font-size:0.75rem; font-weight:600; line-height:1; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 0 0 2px var(--cu-bg); } body.cu-dark .tt-inbox-nav-btn .tt-inbox-nav-count{ box-shadow:0 0 0 2px var(--cu-surface); } .tt-inbox-nav-btn .tt-inbox-nav-count.d-none{ display:none!important; } @media (max-width:991.98px){ .tt-navbar-user-area{ justify-content:flex-start; } .tt-navbar-user-meta{ width:100%; align-items:flex-start; max-width:none; } .tt-navbar-user-org{ max-width:100%; } } .tt-numeric{ font-variant-numeric:tabular-nums; }   .tt-app-header{ width:100%; max-width:100%; margin:0; background:color-mix(in srgb, var(--cu-surface) 94%, transparent); border-bottom:1px solid var(--cu-border); box-shadow:0 8px 24px rgba(15,23,42,0.06); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); position:relative; z-index:1030; overflow:visible; } body.cu-dark .tt-app-header{ background:color-mix(in srgb, var(--cu-bg) 88%, transparent); box-shadow:0 12px 28px rgba(0,0,0,0.34); } .tt-app-header, .tt-app-header *{ box-sizing:border-box; } .tt-app-header-shell{ width:100%; max-width:1480px; min-width:0; margin-inline:auto; padding:0.6rem 1rem; display:grid; grid-template-columns:auto minmax(0, 1fr); gap:0.85rem; align-items:center; } .tt-app-brand{ min-width:max-content; display:inline-flex; align-items:center; gap:0.65rem; color:var(--cu-text)!important; font-weight:700; font-size:1.22rem; line-height:1; text-decoration:none; } .tt-app-brand:hover{ color:var(--cu-text)!important; text-decoration:none; } .tt-app-brand img{ width:30px; height:30px; object-fit:contain; flex:0 0 auto; } .tt-navbar-panel-header{ display:none; } .tt-navbar-panel-body{ width:100%; min-width:0; display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:0.85rem; align-items:center; } .tt-primary-nav-shell{ min-width:0; display:grid; grid-template-columns:auto minmax(0, 1fr) auto; align-items:center; gap:0.18rem; padding:0.22rem; border:1px solid color-mix(in srgb, var(--cu-border) 86%, transparent); border-radius:8px; background:color-mix(in srgb, var(--cu-surface-2) 72%, transparent); } body.cu-dark .tt-primary-nav-shell{ background:rgba(148,163,184,0.08); } .tt-primary-nav{ grid-column:2; min-width:0; width:100%; display:flex; align-items:center; gap:0.1rem; padding:0; border:0; border-radius:6px; background:transparent; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scroll-behavior:smooth; scroll-padding-inline:0.5rem; touch-action:pan-y; scrollbar-width:none; } .tt-primary-nav::-webkit-scrollbar{ display:none; } body.cu-dark .tt-primary-nav{ background:transparent; } .tt-primary-nav-shell.has-overflow .tt-primary-nav{ cursor:grab; } .tt-primary-nav.is-dragging{ cursor:grabbing; user-select:none; scroll-behavior:auto; } .tt-primary-nav.is-dragging .tt-nav-link{ cursor:grabbing; } .tt-nav-scroll-btn{ width:34px; height:34px; min-width:34px; padding:0; display:inline-flex; align-items:center; justify-content:center; border:1px solid color-mix(in srgb, var(--cu-border) 88%, transparent); border-radius:50%; background:var(--cu-surface); color:var(--cu-text); box-shadow:0 8px 18px rgba(15,23,42,0.12); transition:background-color .18s ease, border-color .18s ease, color .18s ease, opacity .18s ease, transform .18s ease; z-index:1; } .tt-nav-scroll-btn--prev{ grid-column:1; } .tt-nav-scroll-btn--next{ grid-column:3; } .tt-nav-scroll-btn[hidden]{ display:none!important; } .tt-nav-scroll-btn:hover:not(:disabled){ color:var(--cu-text); background:var(--cu-hover); border-color:var(--cu-accent); transform:translateY(-1px); } .tt-nav-scroll-btn:disabled{ opacity:0.38; cursor:default; box-shadow:none; } .tt-nav-scroll-btn:focus-visible{ outline:0; box-shadow:0 0 0 0.2rem rgb(var(--cu-accent-rgb) / 0.35); border-color:var(--cu-accent); } body.cu-dark .tt-nav-scroll-btn{ background:rgba(15,17,21,0.58); box-shadow:0 10px 22px rgba(0,0,0,0.34); } .tt-nav-link{ flex:0 0 auto; min-height:34px; display:inline-flex; align-items:center; justify-content:center; padding:0.45rem 0.56rem; border:1px solid transparent; border-radius:8px; color:var(--cu-dim)!important; font-size:0.86rem; font-weight:700; line-height:1.2; white-space:nowrap; text-decoration:none; } .tt-nav-link:hover{ color:var(--cu-text)!important; background:var(--cu-surface); border-color:var(--cu-border); text-decoration:none; } .tt-nav-link.active{ color:var(--cu-on-accent, #fff)!important; background:linear-gradient(180deg, var(--cu-accent) 0%, var(--cu-accent-strong) 100%); border-color:color-mix(in srgb, var(--cu-accent-strong) 82%, transparent); box-shadow:0 10px 22px rgb(var(--cu-accent-rgb) / 0.25); } .tt-nav-link:focus-visible{ outline:0; box-shadow:0 0 0 0.2rem rgb(var(--cu-accent-rgb) / 0.35); } .tt-nav-dropdown{ flex:0 0 auto; } .tt-nav-dropdown-toggle{ gap:0.4rem; background:transparent; cursor:pointer; } .tt-nav-dropdown-toggle .bi-chevron-down{ font-size:0.65rem; } .tt-nav-dropdown-menu{ z-index:1040; min-width:240px; } .tt-navbar-close{ width:2.2rem; height:2.2rem; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--cu-border); border-radius:10px; background:var(--cu-surface-2); color:var(--cu-text); } .tt-navbar-close:hover{ background:var(--cu-hover); } .tt-app-header .tt-navbar-user-area{ gap:0.14rem; flex-wrap:nowrap; padding:0.24rem; border:1px solid color-mix(in srgb, var(--cu-border) 86%, transparent); border-radius:8px; background:color-mix(in srgb, var(--cu-surface-2) 72%, transparent); } body.cu-dark .tt-app-header .tt-navbar-user-area{ background:rgba(148,163,184,0.08); } .tt-app-header .tt-navbar-user-meta{ position:relative; min-width:210px; margin-inline:0.18rem; padding:0.3rem 0.82rem 0.32rem; border:0; border-radius:8px; background:transparent; min-height:34px; justify-content:center; } .tt-app-header .tt-navbar-user-meta::before, .tt-app-header .tt-navbar-user-meta::after{ content:""; position:absolute; top:0.32rem; bottom:0.32rem; width:1px; background:color-mix(in srgb, var(--cu-border) 82%, transparent); } .tt-app-header .tt-navbar-user-meta::before{ left:0; } .tt-app-header .tt-navbar-user-meta::after{ right:0; } .tt-app-header .tt-navbar-user-name{ color:var(--cu-text)!important; font-size:0.82rem; } .tt-app-header .tt-navbar-user-org{ font-size:0.68rem; } .tt-app-header .tt-navbar-icon-btn, .tt-app-header .tt-navbar-logout-btn{ border-radius:8px; height:34px; min-height:34px; border:1px solid transparent!important; background:transparent!important; color:var(--cu-dim)!important; font-weight:700; box-shadow:none!important; transition:background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; } .tt-app-header .tt-navbar-icon-btn{ width:34px; padding:0; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; } .tt-app-header .tt-navbar-logout-btn{ padding-inline:0.75rem; display:inline-flex; align-items:center; justify-content:center; gap:0.35rem; color:color-mix(in srgb, var(--cu-danger) 74%, var(--cu-dim))!important; text-decoration:none; } .tt-app-header .tt-navbar-icon-btn:hover, .tt-app-header .tt-navbar-logout-btn:hover{ color:var(--cu-text)!important; background:var(--cu-surface)!important; border-color:var(--cu-border)!important; transform:translateY(-1px); } .tt-app-header .tt-navbar-logout-btn:hover{ color:#fff!important; background:var(--cu-danger)!important; border-color:var(--cu-danger)!important; } .tt-navbar-account-dropdown{ flex:0 0 auto; } .tt-app-header .tt-navbar-account-toggle{ width:34px; padding:0; } .tt-app-header .tt-navbar-logout-btn.tt-navbar-account-toggle{ color:#fff!important; background:var(--cu-danger)!important; border-color:var(--cu-danger)!important; } .tt-app-header .tt-navbar-account-toggle:focus-visible{ outline:2px solid var(--cu-danger); outline-offset:2px; } .tt-app-header .tt-navbar-account-toggle:hover, .tt-app-header .tt-navbar-account-toggle[aria-expanded="true"]{ color:#fff!important; background:color-mix(in srgb, var(--cu-danger) 85%, #000)!important; border-color:color-mix(in srgb, var(--cu-danger) 85%, #000)!important; } .tt-navbar-account-menu{ min-width:230px; padding:0.4rem; border-radius:10px; box-shadow:0 12px 28px rgba(0,0,0,0.18); } .tt-navbar-account-menu .dropdown-item{ display:flex; align-items:center; gap:0.65rem; padding:0.65rem 0.75rem; border-radius:6px; font-size:0.875rem; } .tt-navbar-account-menu .dropdown-divider{ border-color:var(--cu-border); } .tt-navbar-account-menu .tt-navbar-account-logout{ color:var(--cu-danger); } @media (max-width:1199.98px){ .tt-navbar-account-dropdown{ flex:1 1 0; min-width:54px; } .tt-app-header .tt-navbar-account-toggle{ width:100%; } } .tt-app-header .tt-navbar-icon-btn.tt-navbar-action-active, .tt-app-header .tt-navbar-icon-btn[aria-current="page"]{ color:var(--cu-on-accent, #fff)!important; background:linear-gradient(180deg, var(--cu-accent) 0%, var(--cu-accent-strong) 100%)!important; border-color:color-mix(in srgb, var(--cu-accent-strong) 82%, transparent)!important; box-shadow:0 10px 22px rgb(var(--cu-accent-rgb) / 0.25)!important; transform:none; } .tt-app-header .tt-inbox-nav-btn .tt-inbox-nav-count{ box-shadow:0 0 0 2px color-mix(in srgb, var(--cu-surface-2) 72%, transparent); } body.cu-dark .tt-app-header .tt-inbox-nav-btn .tt-inbox-nav-count{ box-shadow:0 0 0 2px rgba(148,163,184,0.08); }   .tt-app-navbar{ background:color-mix(in srgb, var(--cu-surface) 94%, transparent)!important; border-bottom:1px solid var(--cu-border); box-shadow:0 8px 24px rgba(15,23,42,0.06); backdrop-filter:blur(14px); } body.cu-dark .tt-app-navbar{ background:color-mix(in srgb, var(--cu-bg) 88%, transparent)!important; box-shadow:0 12px 28px rgba(0,0,0,0.34); } .tt-app-navbar-shell{ max-width:1480px; margin-inline:auto; gap:0.85rem; padding:0.6rem 1rem; flex-wrap:nowrap; } .tt-app-navbar .navbar-brand{ min-width:max-content; margin-right:0.5rem; color:var(--cu-text)!important; font-weight:700; } .tt-app-navbar .navbar-brand img{ width:30px; height:30px; object-fit:contain; } .tt-app-navbar .navbar-nav{ flex-direction:row; gap:0.1rem; padding:0.22rem; border:1px solid color-mix(in srgb, var(--cu-border) 86%, transparent); border-radius:8px; background:color-mix(in srgb, var(--cu-surface-2) 72%, transparent); } .tt-app-navbar .navbar-nav .nav-link{ min-height:34px; padding:0.45rem 0.56rem; border:1px solid transparent; border-radius:8px; color:var(--cu-dim)!important; font-size:0.86rem; font-weight:700; white-space:nowrap; } .tt-app-navbar .navbar-nav .nav-link:hover{ color:var(--cu-text)!important; background:var(--cu-surface); border-color:var(--cu-border); } .tt-app-navbar .navbar-nav .nav-link.active{ color:#fff!important; background:#111827; border-color:#111827; } body.cu-dark .tt-app-navbar .navbar-nav{ background:rgba(148,163,184,0.08); } body.cu-dark .tt-app-navbar .navbar-nav .nav-link.active{ color:#0f172a!important; background:#e5e7eb; border-color:#e5e7eb; } .tt-app-navbar .tt-navbar-user-area{ gap:0.14rem; flex-wrap:nowrap; padding:0.24rem; border:1px solid color-mix(in srgb, var(--cu-border) 86%, transparent); border-radius:8px; background:color-mix(in srgb, var(--cu-surface-2) 72%, transparent); } .tt-app-navbar .tt-navbar-user-meta{ position:relative; min-width:210px; margin-inline:0.18rem; padding:0.3rem 0.82rem 0.32rem; border:0; border-radius:8px; background:transparent; min-height:34px; justify-content:center; } .tt-app-navbar .tt-navbar-user-meta::before, .tt-app-navbar .tt-navbar-user-meta::after{ content:""; position:absolute; top:0.32rem; bottom:0.32rem; width:1px; background:color-mix(in srgb, var(--cu-border) 82%, transparent); } .tt-app-navbar .tt-navbar-user-meta::before{ left:0; } .tt-app-navbar .tt-navbar-user-meta::after{ right:0; } .tt-app-navbar .tt-navbar-user-name{ color:var(--cu-text)!important; font-size:0.82rem; } .tt-app-navbar .tt-navbar-user-org{ font-size:0.68rem; } .tt-app-navbar .tt-navbar-icon-btn, .tt-app-navbar .tt-navbar-logout-btn{ border-radius:8px; height:34px; min-height:34px; border:1px solid transparent!important; background:transparent!important; color:var(--cu-dim)!important; font-weight:700; box-shadow:none!important; transition:background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; } .tt-app-navbar .tt-navbar-icon-btn{ width:34px; } .tt-app-navbar .tt-navbar-logout-btn{ color:color-mix(in srgb, var(--cu-danger) 74%, var(--cu-dim))!important; } .tt-app-navbar .tt-navbar-icon-btn:hover, .tt-app-navbar .tt-navbar-logout-btn:hover{ color:var(--cu-text)!important; background:var(--cu-surface)!important; border-color:var(--cu-border)!important; transform:translateY(-1px); } .tt-app-navbar .tt-navbar-logout-btn:hover{ color:#fff!important; background:var(--cu-danger)!important; border-color:var(--cu-danger)!important; } .tt-app-navbar .tt-navbar-icon-btn.tt-navbar-action-active, .tt-app-navbar .tt-navbar-icon-btn[aria-current="page"]{ color:#fff!important; background:#111827!important; border-color:#111827!important; transform:none; } .tt-app-navbar .tt-navbar-icon-btn.tt-navbar-action-active:hover, .tt-app-navbar .tt-navbar-icon-btn[aria-current="page"]:hover{ color:#fff!important; background:#111827!important; border-color:#111827!important; } body.cu-dark .tt-app-navbar .tt-navbar-user-area{ background:rgba(148,163,184,0.08); } body.cu-dark .tt-app-navbar .tt-navbar-icon-btn.tt-navbar-action-active, body.cu-dark .tt-app-navbar .tt-navbar-icon-btn[aria-current="page"]{ color:#0f172a!important; background:#e5e7eb!important; border-color:#e5e7eb!important; } body.cu-dark .tt-app-navbar .tt-navbar-icon-btn.tt-navbar-action-active:hover, body.cu-dark .tt-app-navbar .tt-navbar-icon-btn[aria-current="page"]:hover{ color:#0f172a!important; background:#e5e7eb!important; border-color:#e5e7eb!important; } .tt-app-navbar .tt-inbox-nav-btn .tt-inbox-nav-count{ box-shadow:0 0 0 2px color-mix(in srgb, var(--cu-surface-2) 72%, transparent); } body.cu-dark .tt-app-navbar .tt-inbox-nav-btn .tt-inbox-nav-count{ box-shadow:0 0 0 2px rgba(148,163,184,0.08); } @media (max-width:1199.98px){ html, body{ width:100%; max-width:100%; overflow-x:hidden; } @supports (overflow: clip){ html, body{ overflow-x:clip; } } body.tt-nav-open{ overflow:hidden; } body > .container, body > .container-fluid, .tt-app-header, .tt-app-header-shell, .tt-app-navbar, .tt-app-navbar-shell{ max-width:100%; min-width:0; box-sizing:border-box; } .tt-navbar-toggler{ display:inline-flex; } .tt-navbar-offcanvas{ position:fixed; inset:0 0 0 auto; display:flex; align-items:stretch; flex-direction:column; width:min(420px, 100vw); max-width:100vw; height:100vh; height:100dvh; max-height:100dvh; overflow:hidden; visibility:hidden; pointer-events:none; background:var(--cu-bg); color:var(--cu-text); border-left:1px solid var(--cu-border); box-shadow:-24px 0 48px rgba(15,23,42,0.18); transform:translate3d(100%, 0, 0); z-index:300001; contain:layout paint; transition:transform .22s ease, visibility .22s ease; } body.cu-dark .tt-navbar-offcanvas{ box-shadow:-24px 0 52px rgba(0,0,0,0.46); } .tt-navbar-offcanvas.is-open{ visibility:visible; pointer-events:auto; transform:translate3d(0, 0, 0); } .tt-navbar-backdrop{ position:fixed; inset:0; display:block; opacity:0; pointer-events:none; background:rgba(15,23,42,0.45); z-index:300000; transition:opacity .22s ease; } .tt-navbar-backdrop.is-open{ opacity:1; pointer-events:auto; } .tt-navbar-backdrop[hidden]{ display:none; } .tt-navbar-panel-header{ display:flex; align-items:center; justify-content:space-between; flex:0 0 auto; padding:1rem; background:var(--cu-bg); } .tt-navbar-panel-title{ color:var(--cu-text); font-weight:700; } .tt-navbar-panel-body{ display:flex; flex-direction:column; gap:0.85rem; min-height:0; overflow-y:auto; padding:1rem; } .tt-primary-nav-shell{ order:2; width:100%; display:block; padding:0; border:0; background:transparent; } body.cu-dark .tt-primary-nav-shell{ background:transparent; } .tt-nav-scroll-btn{ display:none!important; } .tt-primary-nav{ flex-direction:column; align-items:stretch; width:100%; border:0; background:transparent; gap:0.35rem; order:2; overflow:visible; } .tt-primary-nav .tt-nav-link{ width:100%; min-height:42px; padding:0.7rem 0.78rem; justify-content:flex-start; } .tt-nav-dropdown-menu{ position:static!important; transform:none!important; inset:auto!important; width:100%; margin:0.25rem 0 0.4rem!important; box-shadow:none; } .tt-app-header .tt-navbar-user-area{ order:1; position:sticky; top:0; z-index:2; justify-content:flex-start; align-items:stretch; flex-wrap:wrap; width:100%; gap:0.45rem; margin-top:0!important; padding:0.65rem; border-radius:12px; box-shadow:0 10px 24px rgba(15,23,42,0.08); } body.cu-dark .tt-app-header .tt-navbar-user-area{ box-shadow:0 14px 30px rgba(0,0,0,0.28); } .tt-app-header .tt-navbar-user-meta{ order:-1; flex:1 0 100%; width:100%; align-items:flex-start; max-width:none; margin-inline:0; min-width:0; padding:0.65rem 0.75rem; border:1px solid color-mix(in srgb, var(--cu-border) 86%, transparent); background:var(--cu-surface); } .tt-app-header .tt-navbar-icon-btn, .tt-app-header .tt-navbar-logout-btn{ height:44px; min-height:44px; background:var(--cu-surface)!important; border-color:color-mix(in srgb, var(--cu-border) 86%, transparent)!important; } .tt-app-header .tt-navbar-icon-btn{ flex:1 1 0; width:auto; min-width:54px; } .tt-app-header .tt-navbar-logout-btn{ flex:1 0 100%; justify-content:center; color:var(--cu-danger)!important; border-color:color-mix(in srgb, var(--cu-danger) 42%, var(--cu-border))!important; } .tt-app-header .tt-navbar-icon-btn.tt-navbar-action-active, .tt-app-header .tt-navbar-icon-btn[aria-current="page"]{ background:linear-gradient(180deg, var(--cu-accent) 0%, var(--cu-accent-strong) 100%)!important; border-color:color-mix(in srgb, var(--cu-accent-strong) 82%, transparent)!important; } .tt-app-header .tt-navbar-user-meta::before, .tt-app-header .tt-navbar-user-meta::after{ display:none; } .tt-app-header .tt-navbar-user-org{ max-width:100%; } } @media (max-width:575.98px){ .tt-app-header{ margin-bottom:0.75rem!important; } .tt-app-header-shell{ grid-template-columns:minmax(0, 1fr) auto; gap:0.5rem; padding:0.5rem 0.75rem; } .tt-app-brand{ min-width:0; max-width:calc(100vw - 5.75rem); margin-right:0; overflow:hidden; font-size:1rem; white-space:nowrap; text-overflow:ellipsis; } .tt-app-brand img{ width:26px; height:26px; } .tt-navbar-toggler{ width:42px; height:42px; padding:0; flex:0 0 auto; } .tt-navbar-panel-body{ padding:0.85rem; } .tt-app-header .tt-navbar-user-area{ padding:0.55rem; } .tt-app-header .tt-navbar-user-meta{ padding:0.62rem 0.68rem; } .tt-app-header .tt-navbar-user-name, .tt-app-header .tt-navbar-user-org{ max-width:100%; } .tt-app-header .tt-navbar-logout-btn{ padding-inline:0.85rem; } }   .tt-page-shell{ width:100%; padding-top:clamp(0.35rem, 0.8vw, 0.85rem); padding-bottom:clamp(2rem, 4vw, 4rem); } .tt-page-shell > :is(.cu-page-header, .tt-page-header, .tt-financials-page > .cu-page-header:first-child){ margin-top:0; } .tt-page-stack, .tt-financials-page{ display:grid; gap:var(--tt-page-gap, 1rem); } .tt-page-card, .tt-filter-panel, .tt-data-panel{ background:var(--cu-surface); border:1px solid var(--cu-border); border-radius:var(--cu-radius); box-shadow:var(--cu-shadow-md); } .tt-page-card, .tt-filter-panel{ padding:clamp(0.9rem, 1.6vw, 1.25rem); } .tt-data-panel{ overflow:hidden; } .tt-filter-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:0.75rem; align-items:end; } .tt-filter-actions{ display:flex; align-items:end; gap:0.5rem; flex-wrap:wrap; } .tt-filter-field{ min-width:0; } .tt-filter-field label, .tt-form-label-compact{ display:block; margin-bottom:0.35rem; color:var(--cu-dim); font-size:0.78rem; font-weight:700; } .tt-kpi-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:0.85rem; } .tt-kpi-card{ position:relative; min-height:112px; display:grid; grid-template-columns:40px minmax(0, 1fr); gap:0.75rem; padding:1rem; overflow:hidden; background:var(--cu-surface); border:1px solid var(--cu-border); border-radius:var(--cu-radius); box-shadow:var(--cu-shadow-md); } .tt-kpi-icon{ width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; color:var(--cu-accent); background:color-mix(in srgb, var(--cu-accent) 12%, var(--cu-surface)); } .tt-kpi-card span{ display:block; color:var(--cu-dim); font-size:0.74rem; font-weight:760; letter-spacing:0.04em; text-transform:uppercase; } .tt-kpi-card strong{ display:block; margin-top:0.2rem; color:var(--cu-text); font-size:clamp(1.05rem, 1.5vw, 1.35rem); line-height:1.15; } .tt-kpi-card small{ display:block; margin-top:0.25rem; color:var(--cu-dim); line-height:1.35; } .tt-table-panel__toolbar{ display:flex; align-items:center; justify-content:space-between; gap:0.75rem; flex-wrap:wrap; padding:0.85rem 1rem; border-bottom:1px solid var(--cu-border); background:color-mix(in srgb, var(--cu-surface-2) 58%, var(--cu-surface)); } @media (min-width: 1400px){ .tt-page-shell.container-fluid{ max-width:1680px; } } @media (max-width: 767.98px){ .tt-page-shell{ padding-inline:0.75rem; } .tt-filter-actions .btn{ width:100%; } .tt-kpi-card{ min-height:auto; } }     @media (max-width: 575.98px) { .desktop-only { display: none !important; } } @media (min-width: 576px) { .mobile-only { display: none !important; } }     .cu-panel{ background:var(--cu-surface); border:1px solid var(--cu-border); border-radius:var(--cu-radius); box-shadow:var(--cu-shadow-md); } .cu-panel-ghost{ background:transparent; border:1px solid var(--cu-border); border-radius:var(--cu-radius); } .cu-pad{ padding:14px; }   .project-card{ background:var(--cu-surface); border:1px solid var(--cu-border); border-radius:var(--cu-radius); box-shadow:var(--cu-shadow-md); transition:border-color .2s ease; } .project-card:hover{ border-color:var(--cu-accent); } .project-card .card-footer{ background:var(--cu-surface-2); border-top:1px solid var(--cu-border); } .project-card .card-title a{ color:var(--cu-text); } .project-card .card-title a:hover{ color:var(--cu-accent); } .project-actions .btn{ margin-left:4px; } .cu-title-row{ display:flex; align-items:center; justify-content:flex-start; margin:6px 0 10px;} .cu-title{ font-size:1.75rem; font-weight:700; color:var(--cu-text); letter-spacing:.2px; } #title-btns{ margin-left:12px; }   .tt-global-timer-card{ cursor:pointer; background:var(--cu-surface); border:1px solid var(--cu-border); border-radius:calc(var(--cu-radius) - 6px); min-width:0; box-shadow:var(--cu-shadow-lg); } .tt-global-timer-card .tt-global-timer-title{ color:var(--cu-dim) !important; } .tt-global-timer-card #global-elapsed{ color:var(--cu-text); } body.cu-dark .tt-global-timer-card .tt-global-timer-title{ color:color-mix(in srgb, var(--cu-text) 78%, transparent) !important; } body.cu-dark .tt-global-timer-card #global-elapsed{ color:var(--cu-text-strong); } .tt-global-timer-card .btn{ border-radius:8px; } .tt-global-timer-card .btn:focus-visible{ outline:0; box-shadow:var(--cu-focus-ring); } .tt-global-timer-title{ max-width:180px; }   #global-stop{ touch-action:manipulation; } @media (max-width:576px){ .tt-global-timer-card #global-stop{ min-width:44px; min-height:44px; flex-shrink:0; } }   .tt-message-center{ position:fixed; z-index:210500; right:max(16px, env(safe-area-inset-right)); bottom:max(16px, env(safe-area-inset-bottom)); width:min(410px, calc(100vw - 32px)); display:flex; flex-direction:column; gap:12px; pointer-events:none; } .tt-message{ --tt-message-tone:var(--cu-info); --tt-message-tone-rgb:var(--cu-info-rgb); position:relative; display:grid; grid-template-columns:42px minmax(0, 1fr) auto 34px; align-items:center; gap:12px; min-height:78px; overflow:hidden; padding:14px 12px 14px 15px; border:1px solid color-mix(in srgb, var(--tt-message-tone) 28%, var(--cu-border)); border-radius:16px; background:var(--cu-surface); background:color-mix(in srgb, var(--cu-surface) 94%, var(--tt-message-tone) 6%); color:var(--cu-text); box-shadow:0 18px 44px rgb(15 23 42 / .18), 0 4px 12px rgb(15 23 42 / .10); backdrop-filter:blur(18px) saturate(130%); -webkit-backdrop-filter:blur(18px) saturate(130%); opacity:0; transform:translate3d(28px, 8px, 0) scale(.97); transform-origin:right bottom; transition:opacity .22s ease, transform .28s cubic-bezier(.22, 1, .36, 1), border-color .2s ease; pointer-events:auto; isolation:isolate; } .tt-message.is-visible{ opacity:1; transform:translate3d(0, 0, 0) scale(1); } .tt-message.is-leaving{ opacity:0; transform:translate3d(20px, 0, 0) scale(.97); pointer-events:none; } .tt-message--success{ --tt-message-tone:var(--cu-success); --tt-message-tone-rgb:var(--cu-success-rgb); } .tt-message--error{ --tt-message-tone:var(--cu-danger); --tt-message-tone-rgb:var(--cu-danger-rgb); } .tt-message--warning{ --tt-message-tone:var(--cu-warning); --tt-message-tone-rgb:var(--cu-warning-rgb); } .tt-message--info{ --tt-message-tone:var(--cu-info); --tt-message-tone-rgb:var(--cu-info-rgb); } .tt-message__accent{ position:absolute; inset:0 auto 0 0; width:5px; background:var(--tt-message-tone); box-shadow:4px 0 18px rgb(var(--tt-message-tone-rgb) / .28); } .tt-message__icon{ width:42px; height:42px; display:grid; place-items:center; border:1px solid rgb(var(--tt-message-tone-rgb) / .22); border-radius:13px; background:rgb(var(--tt-message-tone-rgb) / .12); color:var(--tt-message-tone); font-size:1.16rem; } .tt-message__content{ min-width:0; align-self:center; } .tt-message__title{ display:block; margin:0 0 3px; color:var(--cu-text-strong); font-size:.88rem; font-weight:800; letter-spacing:.01em; line-height:1.2; } .tt-message__text{ color:var(--cu-text-soft); font-size:.84rem; line-height:1.38; overflow-wrap:anywhere; } .tt-message__action{ display:inline-flex; color:var(--tt-message-tone); font-weight:800; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; } .tt-message__action:hover{ color:var(--tt-message-tone); text-decoration-thickness:2px; } .tt-message__action:focus-visible{ border-radius:4px; outline:0; box-shadow:var(--cu-focus-ring); } .tt-message__timer{ min-width:48px; display:inline-flex; align-items:center; justify-content:center; gap:5px; padding:5px 8px; border:1px solid rgb(var(--tt-message-tone-rgb) / .28); border-radius:999px; background:rgb(var(--tt-message-tone-rgb) / .08); color:var(--tt-message-tone); font-size:.72rem; font-weight:800; font-variant-numeric:tabular-nums; line-height:1; } .tt-message.is-paused .tt-message__timer{ border-style:dashed; } .tt-message.is-paused .tt-message__timer .bi{ animation:tt-message-clock-pulse 1s ease-in-out infinite; } .tt-message__close{ width:34px; height:34px; display:grid; place-items:center; padding:0; border:0; border-radius:10px; background:transparent; color:var(--cu-dim); font-size:.85rem; cursor:pointer; transition:background-color .18s ease, color .18s ease, transform .18s ease; } .tt-message__close:hover{ background:var(--cu-hover); color:var(--cu-text-strong); transform:scale(1.04); } .tt-message__close:focus-visible{ outline:0; box-shadow:var(--cu-focus-ring); } .tt-message__progress-track{ position:absolute; right:0; bottom:0; left:5px; height:3px; overflow:hidden; background:rgb(var(--tt-message-tone-rgb) / .09); pointer-events:none; } .tt-message__progress{ display:block; width:100%; height:100%; background:var(--tt-message-tone); opacity:.7; transform:scaleX(1); transform-origin:left center; will-change:transform; } .tt-message.is-paused .tt-message__progress{ opacity:1; } body.cu-dark .tt-message{ box-shadow:0 22px 52px rgb(0 0 0 / .48), 0 4px 14px rgb(0 0 0 / .28); } @keyframes tt-message-clock-pulse{ 0%,100%{ transform:scale(1); opacity:.72; } 50%{ transform:scale(1.14); opacity:1; } } @media (max-width:575.98px){ .tt-message-center{ right:max(10px, env(safe-area-inset-right)); bottom:max(10px, env(safe-area-inset-bottom)); left:max(10px, env(safe-area-inset-left)); width:auto; gap:10px; } .tt-message{ grid-template-columns:38px minmax(0, 1fr) 32px; gap:10px; min-height:72px; padding:12px 10px 12px 13px; border-radius:14px; transform-origin:center bottom; } .tt-message__icon{ width:38px; height:38px; border-radius:12px; font-size:1.04rem; } .tt-message__title{ font-size:.84rem; } .tt-message__text{ font-size:.8rem; } .tt-message__timer{ position:absolute; right:49px; top:9px; min-width:42px; padding:4px 7px; font-size:.68rem; } .tt-message__content{ padding-top:2px; padding-right:46px; } .tt-message__close{ grid-column:3; width:32px; height:32px; } } @media (prefers-reduced-motion:reduce){ .tt-message{ transition:opacity .12s linear; transform:none; } .tt-message.is-leaving{ transform:none; } .tt-message.is-paused .tt-message__timer .bi{ animation:none; } }   .tt-create-queue{ --tt-queue-tone:var(--cu-success); --tt-queue-tone-rgb:var(--cu-success-rgb); position:fixed; z-index:210400; left:max(16px, env(safe-area-inset-left)); bottom:max(16px, env(safe-area-inset-bottom)); width:min(390px, calc(100vw - 32px)); overflow:hidden; border:1px solid color-mix(in srgb, var(--tt-queue-tone) 30%, var(--cu-border)); border-radius:16px; background:color-mix(in srgb, var(--cu-surface) 95%, var(--tt-queue-tone) 5%); color:var(--cu-text); box-shadow:0 18px 44px rgb(15 23 42 / .17), 0 4px 12px rgb(15 23 42 / .09); backdrop-filter:blur(18px) saturate(130%); -webkit-backdrop-filter:blur(18px) saturate(130%); transform-origin:left bottom; animation:tt-create-queue-enter .28s cubic-bezier(.22, 1, .36, 1) both; } .tt-create-queue[hidden]{ display:none !important; } .tt-create-queue.is-offline{ --tt-queue-tone:var(--cu-warning); --tt-queue-tone-rgb:var(--cu-warning-rgb); } .tt-create-queue.has-attention{ --tt-queue-tone:var(--cu-danger); --tt-queue-tone-rgb:var(--cu-danger-rgb); } .tt-create-queue.is-syncing{ --tt-queue-tone:var(--cu-info); --tt-queue-tone-rgb:var(--cu-info-rgb); } .tt-create-queue__summary{ width:100%; min-height:72px; display:grid; grid-template-columns:42px minmax(0, 1fr) auto; align-items:center; gap:12px; padding:13px 14px; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; } .tt-create-queue__summary:focus-visible{ outline:0; box-shadow:inset var(--cu-focus-ring); } .tt-create-queue__icon{ width:42px; height:42px; display:grid; place-items:center; border:1px solid rgb(var(--tt-queue-tone-rgb) / .25); border-radius:13px; background:rgb(var(--tt-queue-tone-rgb) / .12); color:var(--tt-queue-tone); font-size:1.08rem; } .tt-create-queue.is-syncing .tt-create-queue__icon .bi{ animation:tt-create-queue-spin 1.1s linear infinite; } .tt-create-queue__copy{ min-width:0; display:flex; flex-direction:column; gap:3px; } .tt-create-queue__copy strong{ color:var(--cu-text-strong); font-size:.86rem; font-weight:800; line-height:1.2; } .tt-create-queue__copy span{ color:var(--cu-dim); font-size:.76rem; line-height:1.35; } .tt-create-queue__chevron{ color:var(--cu-dim); font-size:.78rem; transition:transform .2s ease; } .tt-create-queue.is-open .tt-create-queue__chevron{ transform:rotate(180deg); } .tt-create-queue__list{ max-height:min(410px, 55vh); overflow:auto; padding:0 10px 10px; border-top:1px solid var(--cu-border); scrollbar-width:thin; } .tt-create-queue__item{ display:grid; grid-template-columns:34px minmax(0, 1fr); gap:10px; padding:12px 4px 10px; border-bottom:1px solid color-mix(in srgb, var(--cu-border) 74%, transparent); } .tt-create-queue__item:last-child{ border-bottom:0; } .tt-create-queue__item-icon{ width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:var(--cu-surface-2); color:var(--cu-accent); font-size:.9rem; } .tt-create-queue__item.is-attention .tt-create-queue__item-icon{ background:rgb(var(--cu-danger-rgb) / .1); color:var(--cu-danger); } .tt-create-queue__item.is-syncing .tt-create-queue__item-icon{ background:rgb(var(--cu-info-rgb) / .1); color:var(--cu-info); } .tt-create-queue__item-copy{ min-width:0; display:flex; flex-direction:column; gap:3px; padding-top:1px; } .tt-create-queue__item-copy strong{ overflow:hidden; color:var(--cu-text-strong); font-size:.82rem; font-weight:750; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; } .tt-create-queue__item-copy > span{ color:var(--cu-dim); font-size:.71rem; line-height:1.3; } .tt-create-queue__item-copy .tt-create-queue__item-message{ margin-top:2px; color:var(--cu-danger); font-size:.72rem; } .tt-create-queue__actions{ grid-column:2; display:flex; flex-wrap:wrap; gap:7px; margin-top:2px; } .tt-create-queue__action{ display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border:1px solid var(--cu-border); border-radius:8px; background:var(--cu-surface); color:var(--cu-text-soft); font-size:.7rem; font-weight:750; line-height:1; cursor:pointer; transition:border-color .16s ease, background-color .16s ease, color .16s ease; } .tt-create-queue__action:hover{ border-color:var(--cu-accent); background:var(--cu-accent-softer); color:var(--cu-accent); } .tt-create-queue__action.is-danger:hover{ border-color:var(--cu-danger); background:rgb(var(--cu-danger-rgb) / .08); color:var(--cu-danger); } .tt-create-queue__action:focus-visible{ outline:0; box-shadow:var(--cu-focus-ring); } .tt-create-queue-inline{ display:none; grid-template-columns:20px minmax(0, 1fr); align-items:start; gap:9px; margin:14px 0 4px; padding:10px 12px; border:1px solid var(--cu-border); border-radius:10px; background:var(--cu-surface-2); color:var(--cu-text-soft); font-size:.82rem; line-height:1.4; } .tt-create-queue-inline[class*="is-"]{ display:grid; } .tt-create-queue-inline > .bi{ margin-top:1px; } .tt-create-queue-inline.is-info{ border-color:rgb(var(--cu-info-rgb) / .32); background:rgb(var(--cu-info-rgb) / .08); color:var(--cu-info); } .tt-create-queue-inline.is-success{ border-color:rgb(var(--cu-success-rgb) / .32); background:rgb(var(--cu-success-rgb) / .08); color:var(--cu-success); } .tt-create-queue-inline.is-error{ border-color:rgb(var(--cu-danger-rgb) / .32); background:rgb(var(--cu-danger-rgb) / .08); color:var(--cu-danger); } body.cu-dark .tt-create-queue{ box-shadow:0 22px 52px rgb(0 0 0 / .46), 0 4px 14px rgb(0 0 0 / .26); } @keyframes tt-create-queue-enter{ from{ opacity:0; transform:translate3d(-16px, 8px, 0) scale(.97); } to{ opacity:1; transform:translate3d(0, 0, 0) scale(1); } } @keyframes tt-create-queue-spin{ to{ transform:rotate(360deg); } } @media (max-width:575.98px){ .tt-create-queue{ right:max(10px, env(safe-area-inset-right)); bottom:max(10px, env(safe-area-inset-bottom)); left:max(10px, env(safe-area-inset-left)); width:auto; border-radius:14px; } .tt-create-queue__summary{ min-height:66px; grid-template-columns:38px minmax(0, 1fr) auto; gap:10px; padding:11px 12px; } .tt-create-queue__icon{ width:38px; height:38px; border-radius:11px; } .tt-create-queue__list{ max-height:48vh; } } @media (prefers-reduced-motion:reduce){ .tt-create-queue{ animation:none; } .tt-create-queue.is-syncing .tt-create-queue__icon .bi{ animation:none; } .tt-create-queue__chevron{ transition:none; } }     .cu-props{ display:grid; grid-template-columns:repeat(12,1fr); gap:16px; align-items:flex-start; } .cu-prop{ grid-column:span 3; min-width:0; display:flex; flex-direction:column; } @media (max-width:1200px){ .cu-prop{ grid-column:span 4; } } @media (max-width:768px){ .cu-prop{ grid-column:span 6; } } @media (max-width:576px){ .cu-prop{ grid-column:span 12; } }     .groups-page{ display:flex; flex-direction:column; gap:1.5rem; } .groups-title{ font-size:1.75rem; font-weight:700; color:var(--cu-text); } .groups-header{ --cu-page-header-accent-strength:18%; } .groups-create-trigger{ font-weight:600; padding-inline:1.5rem; box-shadow:0 10px 25px rgba(94,53,235,0.25); } .groups-create-trigger:focus-visible{ box-shadow:0 0 0 3px rgba(94,53,235,0.25); outline:none; } .groups-create-modal{ border:0; border-radius:20px; box-shadow:0 22px 45px rgba(15,23,42,.2); } .groups-create-modal .modal-header, .groups-create-modal .modal-footer{ padding:1.5rem 1.75rem; } .groups-create-modal .modal-body{ padding:0 1.75rem 1.75rem; } .groups-create-modal .modal-footer{ display:flex; gap:0.75rem; justify-content:flex-end; flex-wrap:wrap; } .groups-create-modal .form-control{ background:var(--cu-input-bg); border-color:var(--cu-input-border); color:var(--cu-input-text); } .groups-create-modal .form-control::placeholder{ color:var(--cu-input-ph); } .groups-create-modal .btn-primary{ font-weight:600; padding-inline:1.25rem; } @media (max-width:576px){ .groups-create-trigger{ width:100%; justify-content:center; } } .groups-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:1.25rem; } .group-card{ display:flex; flex-direction:column; gap:1rem; background:var(--cu-surface-1); min-height:100%; transition:transform .2s ease, box-shadow .2s ease; } .group-card:hover{ transform:translateY(-3px); box-shadow:0 12px 32px rgba(15,23,42,.14); } body.cu-dark .group-card:hover{ box-shadow:0 18px 40px rgba(12,10,25,.45); } .group-card-header{ display:flex; align-items:center; justify-content:space-between; gap:0.75rem; } .group-avatar{ width:48px; height:48px; border-radius:16px; background:var(--cu-hover); color:var(--cu-accent); display:inline-flex; align-items:center; justify-content:center; font-size:1.5rem; } .group-id{ background:transparent; color:var(--cu-dim); border:1px solid var(--cu-border); padding:0.25rem 0.6rem; font-size:0.75rem; letter-spacing:0.05em; text-transform:uppercase; } .group-name{ font-size:1.1rem; font-weight:600; color:var(--cu-text); } .group-meta{ display:flex; flex-wrap:wrap; gap:0.5rem; color:var(--cu-dim); } .group-meta-item{ display:inline-flex; align-items:center; gap:0.4rem; padding:0.4rem 0.65rem; border-radius:999px; background:var(--cu-hover); font-size:0.9rem; } .group-meta-item i{ color:var(--cu-accent); } .group-card-footer{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:0.75rem; flex-wrap:wrap; } .group-delete-form{ display:inline-flex; align-items:center; gap:0.35rem; } .group-delete-form .btn{ display:inline-flex; align-items:center; gap:0.35rem; } .groups-empty-state{ background:var(--cu-surface-1); display:flex; flex-direction:column; align-items:center; gap:1rem; padding:3rem 1.5rem; } .groups-empty-icon{ width:72px; height:72px; border-radius:24px; background:var(--cu-hover); color:var(--cu-accent); display:inline-flex; align-items:center; justify-content:center; font-size:2rem; } .cu-prop .lbl{ font-size:.875rem; font-weight:600; color:var(--cu-dim); margin-bottom:6px; } .cu-prop .val{ display:flex; align-items:center; gap:8px; } .cu-prop .val > span{ color:var(--cu-dim); margin:0 6px; }   .groups-page.tt-page-stack{display:grid;gap:var(--tt-page-gap,1rem);}     .cu-prop--wide{ grid-column: span 6; } .cu-prop--full{ grid-column: 1 / -1; } @media (max-width:1200px){ .cu-prop--wide{ grid-column: span 12; } }   .cu-layout{ display:grid; grid-template-columns:1fr 360px; gap:16px; } .cu-time-elapsed{ min-width:80px; font-variant-numeric:tabular-nums; }   .cu-status-wrap{ position:relative; display:block; flex:1; } .cu-status-btn{ display:flex; align-items:center; gap:8px; height:36px; padding:0 14px; width:100%; background:var(--cu-hover); color:var(--cu-text); border:1px solid var(--cu-border); border-radius:999px; font-weight:700; cursor:pointer; } .cu-status-btn .dot{ width:10px; height:10px; border-radius:50%; box-shadow:0 0 0 2px var(--cu-bg) inset; } .cu-dot{ width:10px; height:10px; border-radius:50%; display:inline-block; box-shadow:0 0 0 2px var(--cu-bg) inset; } .cu-dot-todo{ background:var(--cu-status-todo); } .cu-dot-in_progress{ background:var(--cu-status-in-progress); } .cu-dot-done{ background:var(--cu-status-done); } .cu-dot-blocked{ background:var(--cu-status-blocked); } .cu-menu{ position:absolute; top:100%; left:0; margin-top:8px; min-width:220px; background:var(--cu-surface); border:1px solid var(--cu-border); border-radius:12px; overflow:hidden; z-index:1200; box-shadow:0 20px 40px rgba(0,0,0,.45); } .cu-menu .item{ display:flex; align-items:center; gap:10px; width:100%; padding:10px 12px; background:transparent; color:var(--cu-text); border:0; text-align:left; cursor:pointer; } .cu-menu .item:hover{ background:var(--cu-hover); }   .cu-menu .item.st-opt{ position:relative; padding-left:14px; } .cu-menu .item.st-opt::before{ content:''; position:absolute; left:0; top:6px; bottom:6px; width:4px; background:var(--st-color,var(--cu-status-todo)); border-radius:2px; } .d-none{ display:none !important; }     .form-control, .form-select, textarea{ background:var(--cu-input-bg); border:1px solid var(--cu-input-border); color:var(--cu-input-text); border-radius:var(--cu-radius-md); min-height:36px; padding:6px 10px; } .form-control-editare-desc{ background:var(--cu-input-bg); border:1px solid var(--cu-input-border); color:var(--cu-input-text); border-radius:var(--cu-radius-md); padding:6px 10px; }   .form-control::placeholder, textarea::placeholder, input::placeholder{ color: var(--cu-input-ph); opacity: .95; } textarea{ height:auto; } .form-control:focus, .form-select:focus, textarea:focus{ background:var(--cu-surface); border-color:var(--cu-accent); box-shadow:var(--cu-focus-ring); color:var(--cu-input-text); outline:0; } .form-control:disabled, .form-select:disabled, textarea:disabled{ background:var(--cu-surface-2); border-color:var(--cu-border); color:var(--cu-dim); opacity:1; } .form-check-input{ background-color:var(--cu-surface); border-color:var(--cu-input-border-2); } .form-check-input:checked{ background-color:var(--cu-accent); border-color:var(--cu-accent); } .form-check-input:focus{ border-color:var(--cu-accent); box-shadow:var(--cu-focus-ring); } .input-group-text{ background:var(--cu-surface-2); border-color:var(--cu-input-border); color:var(--cu-dim); } .form-label, .col-form-label{ color:var(--cu-text-soft); font-weight:650; }   .btn{ --bs-btn-focus-box-shadow:var(--cu-focus-ring); border-radius:var(--cu-radius-md); font-weight:650; } .btn-primary{ --bs-btn-color:var(--cu-on-btn-primary); --bs-btn-bg:var(--cu-btn-primary-bg); --bs-btn-border-color:var(--cu-btn-primary-bg); --bs-btn-hover-color:var(--cu-on-btn-primary); --bs-btn-hover-bg:var(--cu-btn-primary-hover); --bs-btn-hover-border-color:var(--cu-btn-primary-hover); --bs-btn-active-color:var(--cu-on-btn-primary); --bs-btn-active-bg:var(--cu-btn-primary-hover); --bs-btn-active-border-color:var(--cu-btn-primary-hover); --bs-btn-focus-box-shadow:0 0 0 0.26rem rgb(var(--cu-btn-primary-rgb) / 0.34); background:linear-gradient(180deg, var(--cu-btn-primary-bg) 0%, var(--cu-btn-primary-hover) 100%); border-color:color-mix(in srgb, var(--cu-btn-primary-hover) 86%, transparent); color:var(--cu-on-btn-primary); box-shadow:0 12px 24px rgb(var(--cu-btn-primary-rgb) / 0.18); } .btn-primary:hover{ color:var(--cu-on-btn-primary); filter:brightness(1.03); box-shadow:0 18px 34px rgb(var(--cu-btn-primary-rgb) / 0.26); } .btn-primary:focus-visible{ box-shadow:0 0 0 0.26rem rgb(var(--cu-btn-primary-rgb) / 0.34), 0 12px 24px rgb(var(--cu-btn-primary-rgb) / 0.18); } .btn-outline-primary{ --bs-btn-color:var(--cu-accent); --bs-btn-border-color:color-mix(in srgb, var(--cu-accent) 52%, var(--cu-border)); --bs-btn-hover-color:var(--cu-on-accent); --bs-btn-hover-bg:var(--cu-accent); --bs-btn-hover-border-color:var(--cu-accent); --bs-btn-active-color:var(--cu-on-accent); --bs-btn-active-bg:var(--cu-accent-strong); --bs-btn-active-border-color:var(--cu-accent-strong); } .btn-secondary{ --bs-btn-color:var(--cu-on-btn-secondary); --bs-btn-bg:var(--cu-btn-secondary-bg); --bs-btn-border-color:var(--cu-btn-secondary-bg); --bs-btn-hover-color:var(--cu-on-btn-secondary); --bs-btn-hover-bg:var(--cu-btn-secondary-hover); --bs-btn-hover-border-color:var(--cu-btn-secondary-hover); --bs-btn-active-color:var(--cu-on-btn-secondary); --bs-btn-active-bg:var(--cu-btn-secondary-hover); --bs-btn-active-border-color:var(--cu-btn-secondary-hover); --bs-btn-focus-box-shadow:0 0 0 0.24rem rgb(var(--cu-btn-secondary-rgb) / 0.28); background:linear-gradient(180deg, var(--cu-btn-secondary-bg) 0%, var(--cu-btn-secondary-hover) 100%); border-color:color-mix(in srgb, var(--cu-btn-secondary-hover) 86%, transparent); color:var(--cu-on-btn-secondary); box-shadow:0 10px 22px rgb(var(--cu-btn-secondary-rgb) / 0.16); } .btn-secondary:hover{ color:var(--cu-on-btn-secondary); filter:brightness(1.03); box-shadow:0 14px 28px rgb(var(--cu-btn-secondary-rgb) / 0.22); } .btn-secondary:focus-visible{ box-shadow:0 0 0 0.24rem rgb(var(--cu-btn-secondary-rgb) / 0.28), 0 10px 22px rgb(var(--cu-btn-secondary-rgb) / 0.16); } .btn-outline-secondary{ --bs-btn-color:var(--cu-text-soft); --bs-btn-bg:var(--cu-surface); --bs-btn-border-color:var(--cu-border); --bs-btn-hover-color:var(--cu-text-strong); --bs-btn-hover-bg:var(--cu-hover); --bs-btn-hover-border-color:var(--cu-border-strong); --bs-btn-active-color:var(--cu-text-strong); --bs-btn-active-bg:var(--cu-hover); --bs-btn-active-border-color:var(--cu-border-strong); } .btn-outline-secondary.active, .btn-check:checked + .btn-outline-secondary{ background:var(--cu-hover); color:var(--cu-text-strong); border-color:var(--cu-border-strong); } .btn-danger{ --bs-btn-color:var(--cu-on-danger); --bs-btn-bg:var(--cu-danger); --bs-btn-border-color:var(--cu-danger); --bs-btn-hover-color:var(--cu-on-danger); --bs-btn-hover-bg:color-mix(in srgb, var(--cu-danger) 86%, #000); --bs-btn-hover-border-color:color-mix(in srgb, var(--cu-danger) 86%, #000); } .btn-link{ --bs-btn-color:var(--cu-accent); --bs-btn-hover-color:var(--cu-accent-strong); }       .cu-activity{ background:var(--cu-surface); border:1px solid var(--cu-border); border-radius:var(--cu-radius); } .cu-activity .head{ padding:12px 14px; border-bottom:1px solid var(--cu-border); font-weight:600; color:var(--cu-text); } .cu-activity .list{ max-height:60vh; overflow:auto; padding:10px 14px; } .cu-activity .item{ font-size:.92rem; color:var(--cu-dim); margin-bottom:8px; border-left:2px solid transparent; padding-left:10px; } .cu-activity .item:hover{ border-left-color:var(--cu-accent); background:var(--cu-hover); border-radius:8px; } .cu-activity .cu-activity-tabs{ border-bottom:1px solid var(--cu-border); padding:0 12px; } .cu-activity .cu-activity-tabs .nav-link{ border:0; border-bottom:3px solid transparent; color:var(--cu-dim); padding:12px 6px; font-weight:500; } .cu-activity .cu-activity-tabs .nav-link.active{ color:var(--cu-text); border-bottom-color:var(--cu-accent); background:transparent; } .cu-activity .cu-activity-body{ padding:12px 0; } .cu-activity .cu-activity-pane{ padding:16px 14px; }     .cu-avatar{ width:28px; height:28px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:var(--cu-avatar-bg); border:1px solid var(--cu-border); font-weight:700; font-size:.8rem; color:var(--cu-text); margin-right:8px; } .cu-tag{ display:inline-block; padding:2px 8px; border-radius:999px; border:1px solid var(--cu-border); background:var(--cu-tag-bg); margin:0 6px 6px 0; font-size:.8rem; color:var(--cu-text); }     .cu-doc{ background:var(--cu-surface-2); border:1px solid var(--cu-border); border-radius:var(--cu-radius); padding:14px; } #tab-details{ position:relative; } #desc-toolbar:not(.d-none){ position:fixed;   z-index:205600; display:flex; align-items:center; flex-wrap:nowrap; gap:2px; width:max-content; max-width:calc(100vw - 20px); min-height:38px; padding:4px; border:1px solid color-mix(in srgb, var(--cu-border) 82%, transparent); border-radius:9px; background:color-mix(in srgb, var(--cu-modal-bg) 97%, transparent); box-shadow:0 10px 32px rgba(15,23,42,.2), 0 2px 7px rgba(15,23,42,.1); backdrop-filter:blur(12px) saturate(1.12); -webkit-backdrop-filter:blur(12px) saturate(1.12); animation:tt-desc-toolbar-in .12s cubic-bezier(.2,.8,.2,1); } #desc-toolbar[data-tt-desc-toolbar-out-of-view="true"]{ visibility:hidden; opacity:0; pointer-events:none; animation:none; } @keyframes tt-desc-toolbar-in{ from{ opacity:0; transform:translateY(3px) scale(.98); } to{ opacity:1; transform:translateY(0) scale(1); } } .tt-desc-toolbar__button, .tt-desc-toolbar__turn-into, .tt-desc-toolbar__chevron{ min-width:32px; height:30px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; padding:0 7px; border:0; border-radius:6px; background:transparent; color:var(--cu-text); font:inherit; font-size:.92rem; line-height:1; transition:background-color .14s ease, color .14s ease, box-shadow .14s ease; } .tt-desc-toolbar__button:hover, .tt-desc-toolbar__button:focus-visible, .tt-desc-toolbar__button.is-active, .tt-desc-toolbar__button[aria-pressed="true"], .tt-desc-toolbar__turn-into:hover, .tt-desc-toolbar__turn-into:focus-visible, .tt-desc-toolbar__chevron:hover, .tt-desc-toolbar__chevron:focus-visible{ outline:0; color:var(--cu-accent-strong); background:color-mix(in srgb, var(--cu-accent) 12%, transparent); } .tt-desc-toolbar__button:focus-visible, .tt-desc-toolbar__turn-into:focus-visible, .tt-desc-toolbar__chevron:focus-visible{ box-shadow:0 0 0 2px rgb(var(--cu-accent-rgb) / .28); } .tt-desc-toolbar__button .bi{ font-size:1rem; } .tt-desc-toolbar__split{ display:inline-flex; align-items:center; flex:0 0 auto; } .tt-desc-toolbar__split .tt-desc-toolbar__button{ border-radius:6px 0 0 6px; } .tt-desc-toolbar__chevron{ min-width:20px; width:20px; padding:0; border-radius:0 6px 6px 0; } .tt-desc-toolbar__chevron::after, .tt-desc-toolbar__turn-into::after{ margin-left:0; border-width:.26em .26em 0; } .tt-desc-toolbar__turn-into{ min-width:58px; gap:7px; padding-inline:9px 7px; font-size:.78rem; font-weight:650; } .tt-desc-toolbar__separator{ width:1px; height:20px; margin:0 2px; flex:0 0 auto; background:color-mix(in srgb, var(--cu-border) 82%, transparent); } .tt-desc-toolbar__more::after{ display:none; } #desc-toolbar .tt-desc-toolbar__menu{ min-width:190px; padding:6px; border:1px solid var(--cu-border); border-radius:10px; background:var(--cu-modal-bg); box-shadow:0 14px 34px rgba(15,23,42,.2); color:var(--cu-text); } #desc-toolbar .tt-desc-toolbar__menu .dropdown-item{ display:flex; align-items:center; gap:10px; min-height:36px; padding:7px 9px; border-radius:7px; color:var(--cu-text); font-size:.82rem; } #desc-toolbar .tt-desc-toolbar__menu .dropdown-item:hover, #desc-toolbar .tt-desc-toolbar__menu .dropdown-item:focus{ background:color-mix(in srgb, var(--cu-accent) 10%, var(--cu-surface)); color:var(--cu-accent-strong); } .tt-desc-toolbar__menu-label{ padding:4px 7px 7px; color:var(--cu-dim); font-size:.69rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; } #desc-toolbar .tt-desc-toolbar__more-menu{ min-width:214px; } .tt-desc-toolbar__size{ display:grid; grid-template-columns:40px minmax(54px,1fr) 40px; gap:5px; padding:0 5px 5px; } .tt-desc-toolbar__size-btn, .tt-desc-toolbar__size-input{ height:34px; border:1px solid var(--cu-border); border-radius:7px; background:var(--cu-surface); color:var(--cu-text); text-align:center; font-size:.76rem; font-weight:700; } .tt-desc-toolbar__size-btn:hover, .tt-desc-toolbar__size-btn:focus-visible{ border-color:var(--cu-accent); outline:0; color:var(--cu-accent-strong); background:color-mix(in srgb, var(--cu-accent) 9%, var(--cu-surface)); } .tt-desc-toolbar__size-input{ width:100%; min-width:0; padding-inline:4px; } .tt-desc-toolbar__size-input::-webkit-outer-spin-button, .tt-desc-toolbar__size-input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; } .tt-desc-toolbar__size-input{ -moz-appearance:textfield; } .tt-desc-command-menu{ position:fixed; z-index:205190; width:340px; max-width:calc(100vw - 20px); pointer-events:auto; animation:tt-desc-command-in .14s cubic-bezier(.2,.8,.2,1); } .tt-desc-command-menu[hidden]{ display:none !important; } @keyframes tt-desc-command-in{ from{ opacity:0; transform:translateY(5px) scale(.985); } to{ opacity:1; transform:translateY(0) scale(1); } } .tt-desc-command-menu__surface{ display:flex; flex-direction:column; max-height:inherit; overflow:hidden; border:1px solid color-mix(in srgb, var(--cu-border) 86%, transparent); border-radius:14px; background:color-mix(in srgb, var(--cu-modal-bg) 98%, transparent); color:var(--cu-text); box-shadow:0 20px 48px rgba(15,23,42,.24), 0 4px 12px rgba(15,23,42,.12); backdrop-filter:blur(14px) saturate(1.08); -webkit-backdrop-filter:blur(14px) saturate(1.08); } .tt-desc-command-menu__header{ min-height:56px; display:flex; align-items:center; gap:10px; flex:0 0 auto; padding:9px 11px; border-bottom:1px solid color-mix(in srgb, var(--cu-border) 72%, transparent); } .tt-desc-command-menu__mark, .tt-desc-command-menu__back{ width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; border:1px solid color-mix(in srgb, var(--cu-accent) 25%, var(--cu-border)); border-radius:9px; background:color-mix(in srgb, var(--cu-accent) 10%, var(--cu-surface)); color:var(--cu-accent-strong); font-size:1rem; font-weight:800; } .tt-desc-command-menu__back{ cursor:pointer; } .tt-desc-command-menu__back:hover, .tt-desc-command-menu__back:focus-visible{ outline:0; background:color-mix(in srgb, var(--cu-accent) 18%, var(--cu-surface)); } .tt-desc-command-menu__heading{ display:flex; flex-direction:column; min-width:0; flex:1 1 auto; } .tt-desc-command-menu__heading strong{ font-size:.82rem; line-height:1.2; } .tt-desc-command-menu__heading span{ overflow:hidden; color:var(--cu-dim); font-size:.7rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; } .tt-desc-command-menu kbd{ padding:2px 5px; border:1px solid var(--cu-border); border-radius:5px; background:var(--cu-surface); color:var(--cu-dim); box-shadow:none; font-size:.62rem; font-weight:650; } .tt-desc-command-menu__close{ width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; padding:0; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--cu-dim); cursor:pointer; font-size:.78rem; transition:background-color .13s ease, border-color .13s ease, color .13s ease; } .tt-desc-command-menu__close:hover, .tt-desc-command-menu__close:focus-visible{ outline:0; border-color:color-mix(in srgb, var(--cu-border) 88%, transparent); background:color-mix(in srgb, var(--cu-accent) 10%, var(--cu-surface)); color:var(--cu-text); } .tt-desc-command-menu__body{ min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:7px; } .tt-desc-command-menu__group + .tt-desc-command-menu__group{ margin-top:5px; padding-top:6px; border-top:1px solid color-mix(in srgb, var(--cu-border) 62%, transparent); } .tt-desc-command-menu__group-title{ padding:5px 8px; color:var(--cu-dim); font-size:.66rem; font-weight:750; letter-spacing:.055em; text-transform:uppercase; } .tt-desc-command-menu__item{ width:100%; min-height:50px; display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:10px; padding:7px 9px; border:0; border-radius:9px; background:transparent; color:var(--cu-text); text-align:left; cursor:pointer; transition:background-color .13s ease, color .13s ease; } .tt-desc-command-menu__item > .bi:first-child{ width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border:1px solid color-mix(in srgb, var(--cu-border) 78%, transparent); border-radius:8px; background:var(--cu-surface); color:var(--cu-dim); font-size:.94rem; } .tt-desc-command-menu__item > span{ display:flex; min-width:0; flex-direction:column; } .tt-desc-command-menu__item strong{ font-size:.79rem; line-height:1.3; } .tt-desc-command-menu__item small{ overflow:hidden; color:var(--cu-dim); font-size:.67rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; } .tt-desc-command-menu__item:hover, .tt-desc-command-menu__item:focus-visible, .tt-desc-command-menu__item.is-active{ outline:0; background:color-mix(in srgb, var(--cu-accent) 10%, var(--cu-surface)); color:var(--cu-accent-strong); } .tt-desc-command-menu__item:hover > .bi:first-child, .tt-desc-command-menu__item:focus-visible > .bi:first-child, .tt-desc-command-menu__item.is-active > .bi:first-child{ border-color:color-mix(in srgb, var(--cu-accent) 42%, var(--cu-border)); color:var(--cu-accent-strong); } .tt-desc-command-menu__next{ color:var(--cu-dim); font-size:.75rem; } .tt-desc-command-menu__empty{ padding:28px 14px; color:var(--cu-dim); text-align:center; font-size:.78rem; } .tt-desc-command-menu__panel-intro{ display:flex; align-items:center; gap:11px; padding:8px 8px 13px; } .tt-desc-command-menu__panel-intro > .bi{ width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; background:color-mix(in srgb, var(--cu-accent) 11%, var(--cu-surface)); color:var(--cu-accent-strong); } .tt-desc-command-menu__panel-intro span{ display:flex; flex-direction:column; } .tt-desc-command-menu__panel-intro strong{ font-size:.82rem; } .tt-desc-command-menu__panel-intro small{ color:var(--cu-dim); font-size:.69rem; } .tt-desc-command-menu__footer{ min-height:32px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex:0 0 auto; padding:6px 11px; border-top:1px solid color-mix(in srgb, var(--cu-border) 68%, transparent); color:var(--cu-dim); font-size:.62rem; } .tt-desc-command-menu__footer span{ display:inline-flex; align-items:center; gap:3px; } .tt-desc-command-menu .tt-desc-table-menu__insert-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } .tt-desc-command-menu .tt-desc-image-menu__action{ width:100%; min-height:52px; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:10px; padding:8px 9px; border:1px solid color-mix(in srgb, var(--cu-accent) 24%, var(--cu-border)); border-radius:10px; background:color-mix(in srgb, var(--cu-accent) 8%, var(--cu-surface)); color:var(--cu-text); text-align:left; } .tt-desc-command-menu .tt-desc-image-menu__action > i{ width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; background:color-mix(in srgb, var(--cu-accent) 12%, var(--cu-surface)); color:var(--cu-accent-strong); } .tt-desc-command-menu .tt-desc-image-menu__action > span{ display:flex; min-width:0; flex-direction:column; } .tt-desc-command-menu .tt-desc-image-menu__action strong{ font-size:.79rem; } .tt-desc-command-menu .tt-desc-image-menu__action small{ color:var(--cu-dim); font-size:.68rem; } .tt-desc-command-menu .tt-desc-image-menu__action:hover, .tt-desc-command-menu .tt-desc-image-menu__action:focus-visible{ border-color:var(--cu-accent); outline:0; background:color-mix(in srgb, var(--cu-accent) 13%, var(--cu-surface)); } .tt-desc-command-menu .tt-desc-image-menu__attachments{ max-height:270px; padding-right:2px; } .tt-desc-command-menu .tt-desc-image-menu__attachment{ width:100%; border:0; background:transparent; color:var(--cu-text); text-align:left; } @media (max-width:767.98px), (pointer:coarse) and (max-width:1024px){ #desc-toolbar:not(.d-none){ min-height:48px; gap:1px; padding:4px; overflow-x:auto; overflow-y:hidden; overscroll-behavior-inline:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch; border-radius:12px; box-shadow:0 14px 34px rgba(15,23,42,.24); backdrop-filter:none; -webkit-backdrop-filter:none; } #desc-toolbar:not(.d-none)[data-tt-mobile-inline="true"]{ position:relative; inset:auto; z-index:205600; width:100%; max-width:100%; margin:0 0 10px; justify-content:flex-start; border-color:color-mix(in srgb, var(--cu-accent) 24%, var(--cu-border)); border-radius:14px; background:color-mix(in srgb, var(--cu-modal-bg) 98%, transparent); box-shadow:0 2px 0 color-mix(in srgb, var(--cu-accent) 18%, transparent), 0 10px 26px rgba(15,23,42,.18); touch-action:pan-x; } #desc-toolbar:not(.d-none)::-webkit-scrollbar{ display:none; } #desc-toolbar:not(.d-none):has(.dropdown-menu.show){ overflow:visible; } .tt-desc-toolbar__button, .tt-desc-toolbar__turn-into{ min-width:40px; height:40px; } .tt-desc-toolbar__chevron{ width:40px; min-width:40px; height:40px; } .tt-desc-toolbar__turn-into{ min-width:58px; } .tt-desc-toolbar__separator{ margin-inline:1px; } .tt-desc-command-menu{ max-width:calc(100vw - 16px); } .tt-desc-command-menu__surface{ border-radius:18px; box-shadow:0 24px 56px rgba(15,23,42,.3); backdrop-filter:none; -webkit-backdrop-filter:none; } .tt-desc-command-menu__header{ min-height:62px; padding:10px 12px; } .tt-desc-command-menu__mark, .tt-desc-command-menu__back{ width:42px; height:42px; border-radius:11px; } .tt-desc-command-menu__close{ width:38px; height:38px; border-radius:10px; font-size:.86rem; } .tt-desc-command-menu__body{ padding:8px; padding-bottom:max(10px,env(safe-area-inset-bottom)); } .tt-desc-command-menu__item{ min-height:58px; grid-template-columns:42px minmax(0,1fr) auto; padding:8px 10px; } .tt-desc-command-menu__item > .bi:first-child{ width:42px; height:42px; border-radius:10px; } .tt-desc-command-menu__item strong{ font-size:.84rem; } .tt-desc-command-menu__item small{ font-size:.71rem; } .tt-desc-command-menu__footer{ display:none; } .tt-desc-command-menu .tt-desc-table-menu__insert{ min-height:52px; font-size:.82rem; } .tt-desc-command-menu .tt-desc-image-menu__action{ min-height:60px; grid-template-columns:42px minmax(0,1fr); } .tt-desc-command-menu .tt-desc-image-menu__attachment{ min-height:62px; touch-action:pan-y; } } @media (prefers-reduced-motion:reduce){ #desc-toolbar:not(.d-none), .tt-desc-command-menu{ animation:none; } }   #desc-edit{ min-width:0; resize: vertical; max-height:80vh; border:1px solid var(--cu-accent); border-radius:10px; cursor:text;   transition:border-color .2s ease, box-shadow .2s ease; padding: 1em; } #desc-edit:hover{ border-color:var(--cu-accent-strong); } #desc-edit:focus{ border-color:var(--cu-accent-strong); box-shadow:0 0 0 3px rgb(var(--cu-accent-rgb) / .35); outline:0; } .tt-desc-field h3{ margin:1.15rem 0 .55rem; font-size:1.05rem; font-weight:700; line-height:1.4; color:var(--cu-text); } .tt-desc-field h3:first-child{ margin-top:0; } .tt-desc-field blockquote{ margin:.85rem 0; padding:.7rem .9rem; border-left:3px solid color-mix(in srgb, var(--cu-accent) 50%, var(--cu-border)); border-radius:0 12px 12px 0; background:color-mix(in srgb, var(--cu-surface) 88%, transparent); color:var(--cu-text); } .tt-desc-field pre{ margin:.85rem 0; padding:.8rem .95rem; border:1px solid var(--cu-border); border-radius:12px; background:color-mix(in srgb, var(--cu-surface) 72%, var(--cu-surface-2)); color:var(--cu-text); font-family:Consolas, "SFMono-Regular", Menlo, Monaco, monospace; font-size:.92rem; line-height:1.55; white-space:pre-wrap; word-break:break-word; overflow-x:auto; } .tt-desc-field code{ padding:.08rem .35rem; border-radius:.45rem; background:color-mix(in srgb, var(--cu-surface) 75%, var(--cu-border)); color:inherit; font-family:Consolas, "SFMono-Regular", Menlo, Monaco, monospace; font-size:.92em; } .tt-desc-field pre code{ display:block; padding:0; border-radius:0; background:transparent; font-size:1em; white-space:inherit; } body.cu-dark .tt-desc-field blockquote{ background:rgba(148,163,184,.08); border-left-color:rgba(148,163,184,.34); } body.cu-dark .tt-desc-field pre{ background:rgba(15,23,42,.72); border-color:rgba(148,163,184,.2); } body.cu-dark .tt-desc-field code{ background:rgba(148,163,184,.14); }     #upload-area{ border:1px dashed var(--cu-border); color:var(--cu-dim); cursor:pointer; display:block; padding:.5rem 1rem; margin:.5rem auto 0; } .tt-onboarding { position: relative; display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.9fr); gap: clamp(1rem, 2.5vw, 2rem); overflow: hidden; padding: clamp(1rem, 2.4vw, 1.55rem); border-color: color-mix(in srgb, var(--cu-accent) 36%, var(--cu-border)); background: radial-gradient(circle at 8% 15%, rgb(var(--cu-accent-rgb) / .16), transparent 32%), linear-gradient(135deg, color-mix(in srgb, var(--cu-surface) 94%, var(--cu-accent) 6%), var(--cu-surface)); box-shadow: 0 18px 45px rgb(var(--cu-accent-rgb) / .09), var(--cu-shadow-md); } .tt-onboarding::after { content: ""; position: absolute; width: 160px; height: 160px; right: -92px; bottom: -105px; border: 22px solid rgb(var(--cu-accent-rgb) / .08); border-radius: 50%; pointer-events: none; } .tt-onboarding__intro { align-self: center; min-width: 0; } .tt-onboarding__eyebrow { display: flex; align-items: center; gap: .45rem; margin-bottom: .72rem; color: var(--cu-accent-strong); font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; } .tt-onboarding__spark { display: inline-grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: .58rem; color: var(--cu-on-accent); background: var(--cu-accent); box-shadow: 0 7px 18px rgb(var(--cu-accent-rgb) / .28); } .tt-onboarding__intro h2 { margin: 0; color: var(--cu-text-strong); font-size: clamp(1.25rem, 2vw, 1.7rem); font-weight: 800; letter-spacing: -.035em; } .tt-onboarding__intro p { max-width: 32rem; margin: .45rem 0 1rem; color: var(--cu-dim); font-size: .9rem; line-height: 1.55; } .tt-onboarding__progress { height: .45rem; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--cu-border) 72%, transparent); } .tt-onboarding__progress span { display: block; min-width: .45rem; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cu-accent), var(--cu-accent-strong)); box-shadow: 0 0 16px rgb(var(--cu-accent-rgb) / .38); transition: width .45s ease; } .tt-onboarding__progress-label { display: block; margin-top: .42rem; color: var(--cu-dim); font-size: .72rem; font-weight: 700; } .tt-onboarding__steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; min-width: 0; margin: 0; padding: 0; list-style: none; } .tt-onboarding__step { display: grid; grid-template-columns: 2.15rem minmax(0, 1fr) auto; gap: .68rem; align-items: center; min-width: 0; padding: .72rem; border: 1px solid color-mix(in srgb, var(--cu-border) 82%, transparent); border-radius: .85rem; background: color-mix(in srgb, var(--cu-surface-2) 78%, transparent); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; } .tt-onboarding__step:hover { border-color: color-mix(in srgb, var(--cu-accent) 42%, var(--cu-border)); transform: translateY(-1px); } .tt-onboarding__step.is-current { border-color: color-mix(in srgb, var(--cu-accent) 58%, var(--cu-border)); box-shadow: inset 3px 0 0 var(--cu-accent), 0 9px 24px rgb(var(--cu-accent-rgb) / .08); } .tt-onboarding__step.is-complete { opacity: .73; } .tt-onboarding__step-icon { display: inline-grid; width: 2.15rem; height: 2.15rem; place-items: center; flex: 0 0 auto; border: 1px solid color-mix(in srgb, var(--cu-accent) 30%, var(--cu-border)); border-radius: .72rem; color: var(--cu-accent-strong); background: rgb(var(--cu-accent-rgb) / .09); } .tt-onboarding__step.is-complete .tt-onboarding__step-icon { color: #177245; border-color: color-mix(in srgb, #22a267 38%, var(--cu-border)); background: color-mix(in srgb, #22a267 12%, var(--cu-surface)); } .tt-onboarding__step-copy { display: grid; gap: .14rem; min-width: 0; } .tt-onboarding__step-copy strong { overflow: hidden; color: var(--cu-text-strong); font-size: .84rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; } .tt-onboarding__step-copy small { overflow: hidden; color: var(--cu-dim); font-size: .7rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; } .tt-onboarding__step-action { display: inline-flex; align-items: center; gap: .3rem; padding: .4rem .55rem; border-radius: .55rem; color: var(--cu-accent-strong); font-size: .72rem; font-weight: 800; text-decoration: none; white-space: nowrap; } .tt-onboarding__step-action:hover, .tt-onboarding__step-action:focus-visible { color: var(--cu-on-accent); background: var(--cu-accent); outline: none; } .tt-onboarding__step-action i { transition: transform .18s ease; } .tt-onboarding__step-action:hover i { transform: translateX(2px); } .tt-onboarding__dismiss { position: absolute; top: .6rem; right: .6rem; z-index: 2; } .tt-onboarding__dismiss button { display: inline-grid; width: 2rem; height: 2rem; padding: 0; place-items: center; border: 0; border-radius: .62rem; color: var(--cu-dim); background: transparent; } .tt-onboarding__dismiss button:hover, .tt-onboarding__dismiss button:focus-visible { color: var(--cu-text-strong); background: var(--cu-hover); outline: 2px solid rgb(var(--cu-accent-rgb) / .3); outline-offset: 1px; } body.cu-dark .tt-onboarding__step.is-complete .tt-onboarding__step-icon { color: #66d29a; } @media (max-width: 1100px) { .tt-onboarding { grid-template-columns: 1fr; } .tt-onboarding__intro { padding-right: 2rem; } } @media (max-width: 700px) { .tt-onboarding__steps { grid-template-columns: 1fr; } .tt-onboarding__step-copy small { white-space: normal; } } @media (max-width: 420px) { .tt-onboarding__step { grid-template-columns: 2.15rem minmax(0, 1fr); } .tt-onboarding__step-action { grid-column: 2; justify-self: start; padding-left: 0; } .tt-onboarding__step-action:hover, .tt-onboarding__step-action:focus-visible { padding-left: .55rem; } }       .cu-page-title{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}   .d-flex.justify-content-between.align-items-center.mb-3 { justify-content: flex-start !important; } #title-btns { margin-left: 12px; }   .btn-primary{background:linear-gradient(180deg,var(--cu-accent) 0%,var(--cu-accent-strong) 100%);border:0} .btn-primary:hover{filter:brightness(1.08)} .btn-outline-secondary{color:var(--cu-dim);border-color:var(--cu-border)} .btn-outline-secondary:hover{background:var(--cu-hover);color:var(--cu-text);border-color:var(--cu-border)} .btn-outline-danger{border-color:var(--cu-danger);color:var(--cu-danger)} .btn-outline-danger:hover{background:var(--cu-danger);color:var(--cu-on-danger);border-color:var(--cu-danger)} .cu-badge{font-weight:700;font-size:.78rem;border-radius:999px;padding:.25rem .6rem;display:inline-block} .cu-badge-todo{background:var(--cu-badge-todo-bg);color:var(--cu-badge-todo-text)} .cu-badge-in_progress{background:var(--cu-badge-in-progress-bg);color:var(--cu-badge-in-progress-text)} .cu-badge-done{background:var(--cu-badge-done-bg);color:var(--cu-badge-done-text)} .cu-badge-blocked{background:var(--cu-badge-blocked-bg);color:var(--cu-badge-blocked-text)}   .cu-table{ --bs-table-color:var(--cu-text); --bs-table-bg:var(--cu-surface); --bs-table-border-color:var(--cu-border); --bs-table-striped-color:var(--cu-text); --bs-table-striped-bg:var(--cu-surface-2); --bs-table-active-color:var(--cu-text); --bs-table-active-bg:var(--cu-hover); --bs-table-hover-color:var(--cu-text); --bs-table-hover-bg:var(--cu-hover); } .cu-table thead th, .cu-table thead td{ background:var(--cu-surface) !important; color:var(--cu-dim) !important; border-bottom:1px solid var(--cu-border) !important; } .cu-table tbody tr > *{ color:var(--bs-table-color) !important; background-color:var(--bs-table-bg) !important; border-color:var(--bs-table-border-color) !important; } .cu-table.table-striped tbody tr:nth-of-type(odd) > *{ background-color:var(--bs-table-striped-bg) !important; color:var(--bs-table-striped-color) !important; } .cu-table.table-hover tbody tr:hover > *{ background-color:var(--bs-table-hover-bg) !important; color:var(--bs-table-hover-color) !important; } .cu-table a.cu-link{color:var(--cu-accent)} .cu-table.table-hover tbody tr:hover a.cu-link{color:var(--cu-text)} .cu-table-wrap{background:var(--cu-surface);border-radius:0 0 8px 8px;overflow:hidden} .cu-chip{ font-size:.75rem; padding:2px 8px; border:1px solid var(--cu-border); border-radius:999px; background:var(--cu-surface-2); color:var(--cu-accent); } .cu-action{ padding:6px 10px; border:1px solid var(--cu-border); border-radius:8px; background:var(--cu-hover); color:var(--cu-text); } .cu-action:hover{ background:var(--cu-hover); }   :where(.tt-task-detail) #tt-manual-wrap .dropdown-menu{ border-radius:12px; border:1px solid var(--cu-border); } :where(.tt-task-detail) #tt-manual-wrap .form-label.small{ font-size:.8rem; color:var(--cu-dim); } @media (max-width: 768px){ :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.p-3.shadow-lg.tt-manual-dropdown.show, :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show, :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown[data-bs-popper].show{ position:fixed !important; top:auto !important; right:10px !important; bottom:calc(env(safe-area-inset-bottom, 0px) + 10px) !important; left:10px !important; z-index:220000 !important; width:auto !important; min-width:0 !important; max-width:none !important; max-height:calc(100dvh - 20px) !important; margin:0 !important; overflow-y:auto !important; overscroll-behavior:contain; transform:none !important; border-radius:20px 20px 14px 14px !important; box-shadow:0 24px 60px rgba(15, 23, 42, 0.38) !important; padding:12px !important; background: linear-gradient(180deg, color-mix(in srgb, var(--cu-modal-bg) 96%, #ffffff 4%), var(--cu-modal-bg)) !important; } :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show #tt-manual-form{ display:grid !important; gap:10px !important; } :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show .tt-manual-block{ margin:0 !important; padding:10px !important; border:1px solid color-mix(in srgb, var(--cu-border) 82%, transparent) !important; border-radius:14px !important; background:color-mix(in srgb, var(--cu-surface-2) 76%, transparent) !important; } body.cu-dark :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show .tt-manual-block{ border-color:rgba(148, 163, 184, 0.28) !important; background:rgba(15, 23, 42, 0.62) !important; } :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show .form-label.small{ margin-bottom:6px !important; color:var(--cu-dim) !important; font-size:.72rem !important; font-weight:800 !important; letter-spacing:.04em !important; text-transform:uppercase !important; } :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show .form-label small, :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show .text-muted{ display:none !important; } :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show .form-control{ width:100% !important; min-height:40px !important; color:var(--cu-text) !important; background:var(--cu-modal-bg) !important; border-color:color-mix(in srgb, var(--cu-border) 86%, transparent) !important; border-radius:11px !important; } :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show .tt-manual-block:nth-of-type(2){ display:grid !important; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important; gap:10px !important; } :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show .tt-manual-block:nth-of-type(2) > .mb-3{ margin-bottom:0 !important; } :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show .input-group{ display:grid !important; grid-template-columns:repeat(3, minmax(0, 1fr)) !important; gap:6px !important; width:100% !important; } :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show .input-group > .form-control{ grid-column:1 / -1 !important; min-width:0 !important; text-align:center !important; font-weight:800 !important; } :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show .tt-preset{ min-height:40px !important; border-radius:10px !important; font-weight:750 !important; } :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show .d-grid{ margin-top:0 !important; } :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show button[type="submit"]{ min-height:44px !important; border-radius:12px !important; font-weight:800 !important; } } @media (max-width: 380px){ :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show .tt-manual-block:nth-of-type(2){ grid-template-columns:1fr !important; } } @supports not (height: 100dvh){ @media (max-width: 768px){ :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.p-3.shadow-lg.tt-manual-dropdown.show, :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown.show, :where(.tt-task-detail) #tt-manual-wrap > .dropdown-menu.tt-manual-dropdown[data-bs-popper].show{ max-height:calc(100vh - 20px) !important; } } }     #filterToggle{ width:100%; } @media (min-width:768px){ #filterToggle{ width:auto; } } #filterPanel[hidden]{ display:none; } #filterPanel .filters-row > div{ flex:1 1 160px; }   .filters-actions{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; } @media (max-width:576px){ .filters-actions .btn{ width:100%; } }     .tt-modal{ position:fixed; inset:0; display:none; z-index:1050; } .tt-modal.show{ display:block; } .tt-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.6); }   #tt-modal > .tt-modal__backdrop{ background:rgb(8 12 18 / .66); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); } .tt-modal__dialog{ position:relative; margin:5vh auto; width:min(1264px, 96vw); background:var(--cu-modal-bg); border:1px solid var(--cu-input-border); border-radius:14px; box-shadow:0 20px 60px rgba(0,0,0,.5); } .tt-modal__body{ padding:18px; } .tt-modal__body_create{ padding:18px; } .tt-modal__close{ position:absolute; top:10px; right:10px; width:36px; height:36px; border-radius:999px; border:1px solid var(--cu-border); background:var(--cu-hover); color:var(--cu-text); display:inline-flex; align-items:center; justify-content:center; font-size:20px; line-height:1; } .tt-modal__close:hover{ background:var(--cu-hover); } body.tt-comments-modal-open{ overflow:hidden; }   #tt-create-modal .tt-modal__dialog{ width: min(640px, 96vw);   } #tt-create-modal .tt-modal__body{ max-height: calc(100vh - 80px);   overflow: auto; } #tt-create-modal .tt-modal__body_create{ max-height: calc(100vh - 80px);   }   .tt-quick .form-label{ margin-bottom:.35rem; color:var(--cu-dim); } .tt-quick .row{ row-gap:.75rem; } select.form-select{ color-scheme:dark; }   .tt-modal__backdrop{ background:rgba(0,0,0,.68); } .tt-modal__dialog{ background:var(--cu-modal-bg); border:1px solid var(--cu-input-border); } .tt-modal__close{ background:var(--cu-hover); border-color:var(--cu-border); color:var(--cu-text); } .tt-modal__close:hover{ background:var(--cu-hover); } .tt-quick .form-label, .tt-modal__dialog .form-label{ color:var(--cu-dim); opacity:.9; } .tt-quick .form-control, .tt-quick .form-select, .tt-modal__dialog .form-control, .tt-modal__dialog .form-select, .tt-modal__dialog textarea{ background:var(--cu-input-bg); border:1px solid var(--cu-input-border); color:var(--cu-input-text); border-radius:10px; min-height:36px; } .tt-quick .form-control::placeholder, .tt-modal__dialog .form-control::placeholder, .tt-modal__dialog textarea::placeholder{ color:var(--cu-input-ph); opacity:.95; } .tt-quick .form-control:hover, .tt-quick .form-select:hover, .tt-modal__dialog .form-control:hover, .tt-modal__dialog .form-select:hover, .tt-modal__dialog textarea:hover{ border-color:var(--cu-input-border-2); } .tt-quick .form-control:focus, .tt-quick .form-select:focus, .tt-modal__dialog .form-control:focus, .tt-modal__dialog .form-select:focus, .tt-modal__dialog textarea:focus{ outline:0; border-color:var(--cu-accent-strong); box-shadow:0 0 0 3px rgb(var(--cu-accent-rgb) / .28); }   .tt-modal__dialog .btn-primary{ background:linear-gradient(180deg,var(--cu-btn-primary-bg) 0%,var(--cu-btn-primary-hover) 100%); border:0; color:var(--cu-on-btn-primary); } .tt-modal__dialog .btn-primary:hover{ filter:brightness(1.06); } .tt-modal__dialog .btn-outline-secondary{ background:var(--cu-surface-2); color:var(--cu-text); border-color:var(--cu-border); } .tt-modal__dialog .btn-outline-secondary:hover{ background:var(--cu-hover); color:var(--cu-text); border-color:var(--cu-border); }   #qc-toggle-desc{ color:var(--cu-accent); } #qc-toggle-desc:hover{ color:var(--cu-accent-strong); }     #tt-actions-grid .tt-template-action { width:100%; min-width:0; min-height:0; padding:0; gap:0; overflow:hidden; align-items:stretch; text-align:left; border:1px solid var(--cu-border); border-radius:12px; background:var(--cu-surface); box-shadow:none; transform:none; } #tt-actions-grid .tt-template-action > * + * { margin-top:0; } .tt-template-action__header { display:flex; align-items:center; gap:12px; padding:15px; min-width:0; } .tt-template-action__icon { display:grid; place-items:center; flex:0 0 40px; height:44px; border:1px solid color-mix(in srgb,var(--cu-accent) 18%,var(--cu-border)); border-radius:10px; background:color-mix(in srgb,var(--cu-accent) 7%,var(--cu-surface)); color:var(--cu-accent); font-size:1.2rem; } .tt-template-action__copy { min-width:0; flex:1; } .tt-template-action__label { display:block; margin-bottom:5px; color:var(--cu-dim); font-size:.7rem; line-height:1.3; } .tt-template-action__identity { display:flex; align-items:center; flex-wrap:wrap; gap:6px 9px; min-width:0; } .tt-template-action__identity strong { min-width:0; color:var(--cu-text); font-size:.86rem; line-height:1.4; font-weight:650; overflow-wrap:anywhere; } .tt-template-action__version { flex-shrink:0; padding:2px 6px; border:1px solid var(--cu-border); border-radius:5px; background:var(--cu-surface-2); color:var(--cu-dim); font-size:.65rem; line-height:1.3; font-variant-numeric:tabular-nums; } .tt-template-action__change { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:40px; padding:10px 15px; border-top:1px solid var(--cu-border); background:var(--cu-surface-2); color:var(--cu-text-soft); font-size:.75rem; font-weight:600; text-decoration:none; transition:background-color .15s,color .15s; } .tt-template-action__change:hover { background:color-mix(in srgb,var(--cu-accent) 8%,var(--cu-surface)); color:var(--cu-accent); } .tt-template-action__change:focus-visible { outline:2px solid var(--cu-accent); outline-offset:-3px; }   .tt-task-relations{ display:flex; flex-direction:column; gap:8px; min-width:0; padding:12px 14px; border:1px solid var(--cu-border); border-radius:12px; } .tt-task-relation{ display:flex; align-items:center; gap:6px; min-width:0; } .tt-task-relation__kind{ display:flex; align-items:center; gap:8px; flex:0 0 150px; color:var(--cu-dim); font-size:.85rem; } .tt-task-relation__kind > i{ font-size:1rem; opacity:.8; } .tt-task-relation__link{ display:inline-flex; align-items:center; gap:8px; min-width:0; max-width:calc(100% - 196px); padding:6px 10px; border:1px solid transparent; border-radius:7px; background:var(--cu-hover); color:var(--cu-text); text-decoration:none; font-weight:500; font-size:.875rem; line-height:20px; transition:border-color .15s, background .15s; } .tt-task-relation__link span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .tt-task-relation__link > i{ flex-shrink:0; color:var(--cu-dim); font-size:.85rem; } .tt-task-relation__link:hover{ border-color:var(--cu-border-strong); background:var(--cu-surface-2); color:var(--cu-text); } .tt-task-relation__more{ flex-shrink:0; border:1px solid transparent; border-radius:7px; min-width:34px; min-height:34px; padding:5px 8px; background:var(--cu-hover); color:var(--cu-dim); font-size:.8rem; font-weight:600; } .tt-task-relation__more:hover, .tt-task-relation__more[aria-expanded="true"]{ color:var(--cu-text); background:var(--cu-surface-2); border-color:var(--cu-border-strong); } .tt-task-relations-menu{ position:fixed; z-index:200000; padding:5px; overflow:auto; background:var(--cu-surface); border:1px solid var(--cu-border); border-radius:10px; box-shadow:var(--cu-shadow-lg); } .tt-task-relations-menu__heading{ display:flex; align-items:center; justify-content:space-between; padding:7px 9px; margin-bottom:3px; color:var(--cu-dim); font-size:.75rem; font-weight:500; } .tt-task-relations-menu__heading span{ padding:1px 7px; border-radius:6px; background:var(--cu-hover); font-variant-numeric:tabular-nums; } .tt-task-relations-menu__link{ display:flex; align-items:center; gap:8px; padding:9px; border-radius:6px; color:var(--cu-text); text-decoration:none; font-size:.85rem; } .tt-task-relations-menu__link span{ flex:1; min-width:0; overflow-wrap:anywhere; } .tt-task-relations-menu__link > i{ flex-shrink:0; color:var(--cu-dim); } .tt-task-relations-menu__link:hover{ background:var(--cu-hover); color:var(--cu-text); } .tt-task-relation__link:focus-visible, .tt-task-relation__more:focus-visible, .tt-task-relations-menu__link:focus-visible{ outline:2px solid var(--cu-accent); outline-offset:2px; } @media(max-width:576px){ .tt-task-relations{ padding:10px 12px; } .tt-task-relation{ flex-wrap:wrap; } .tt-task-relation__kind{ flex-basis:100%; margin-bottom:2px; font-size:.8rem; } .tt-task-relation__link{ max-width:calc(100% - 40px); } }   :where(.tt-task-detail) #task-tabs { border-bottom:1px solid var(--cu-border); gap:.5rem; } :where(.tt-task-detail) #task-tabs .nav-link { color:var(--cu-dim); border:0; border-bottom:2px solid transparent; } :where(.tt-task-detail) #task-tabs .nav-link.active { color:var(--cu-text); border-color:var(--cu-accent); background:transparent; } :where(.tt-task-detail) #task-tabs .nav-link:hover { color:var(--cu-text); border-color:var(--cu-accent); } @media(max-width:576px){ :where(.tt-task-detail) #task-tabs { flex-wrap:nowrap; overflow-x:auto; } :where(.tt-task-detail) #task-tabs .nav-link { white-space:nowrap; flex-shrink:0; } :where(.tt-task-detail) #task-tabs::-webkit-scrollbar { display:none; } }   :where(.tt-task-detail) .tt-cl-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; } :where(.tt-task-detail) .tt-cl-progress { background:var(--cu-progress-bg); border:1px solid var(--cu-border); border-radius:999px; height:8px; width:180px; overflow:hidden; } :where(.tt-task-detail) .tt-cl-progress > span { display:block; height:100%; background:var(--cu-progress-fill); width:0%; transition:width .2s ease; } :where(.tt-task-detail) .tt-cl-meta { color:var(--cu-dim); font-size:.85rem; } :where(.tt-task-detail) .tt-cl-list .tt-cl-item { display:flex; align-items:center; gap:8px; padding:6px 4px; border-radius:8px; } :where(.tt-task-detail) .tt-cl-list .tt-cl-item:hover { background:var(--cu-hover); } :where(.tt-task-detail) .tt-cl-list .form-check-input { width:1rem; height:1rem; margin-top:0; flex:0 0 auto; } :where(.tt-task-detail) .tt-cl-text[role="button"] { cursor:pointer; outline:0; border-bottom:1px dashed transparent; } :where(.tt-task-detail) .tt-cl-text[role="button"]:focus-visible { border-color:var(--cu-border); } :where(.tt-task-detail) .tt-cl-item.tt-cl-item-done .tt-cl-text, :where(.tt-task-detail) .tt-cl-text-done { text-decoration:line-through; color:var(--cu-dim); } @media (max-width:576px){ :where(.tt-task-detail) .tt-cl-head { flex-direction:column; align-items:flex-start; gap:8px; } :where(.tt-task-detail) .tt-cl-head .tt-gap-sm { width:100%; flex-wrap:wrap; row-gap:6px; } :where(.tt-task-detail) .tt-cl-progress { width:100%; flex:1 1 100%; } :where(.tt-task-detail) #cl-pagination { margin-left:0 !important; } }   :where(.tt-task-detail) .tt-files { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; } :where(.tt-task-detail) .tt-file { display:flex; align-items:stretch; gap:10px; background:var(--cu-modal-bg); border:1px solid var(--cu-border); border-radius:10px; padding:8px; transition:background-color .2s ease, border-color .2s ease; } :where(.tt-task-detail) .tt-file:hover { background:var(--cu-hover); } :where(.tt-task-detail) .tt-file-trigger { display:flex; align-items:center; gap:10px; flex:1 1 auto; min-width:0; border:0; background:none; padding:0; text-align:left; color:inherit; cursor:pointer; border-radius:8px; font:inherit; } :where(.tt-task-detail) .tt-file-trigger:focus-visible { outline:0; box-shadow:0 0 0 0.2rem rgb(var(--cu-accent-rgb) / 0.35); } :where(.tt-task-detail) .tt-file .thumb { width:48px; height:48px; border-radius:8px; background:var(--cu-file-thumb-bg); display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--cu-border); flex-shrink:0; } :where(.tt-task-detail) .tt-file .thumb img { width:100%; height:100%; object-fit:cover; display:block; } :where(.tt-task-detail) .tt-file .meta { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; } :where(.tt-task-detail) .tt-file .name { color:var(--cu-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:600; } :where(.tt-task-detail) .tt-file .size { color:var(--cu-dim); font-size:.85rem; } :where(.tt-task-detail) .tt-file-actions { display:flex; flex-direction:column; gap:6px; align-items:flex-end; justify-content:center; } :where(.tt-task-detail) .tt-file-actions .btn { white-space:nowrap; } :where(.tt-task-detail) .tt-file-download .bi { margin-right:4px; } :where(.tt-task-detail) .tt-file-download-label { display:inline; } @media (max-width:576px){ :where(.tt-task-detail) .tt-file { flex-direction:column; align-items:stretch; } :where(.tt-task-detail) .tt-file-actions { flex-direction:row; justify-content:flex-end; } }   :where(.tt-task-detail) .tt-attachment-viewer { position:fixed; inset:0; z-index:210000; display:none; align-items:center; justify-content:center; padding:24px; } :where(.tt-task-detail) .tt-attachment-viewer.is-open { display:flex; } :where(.tt-task-detail) .tt-attachment-viewer-backdrop { position:absolute; inset:0; background:rgba(15,17,21,0.85); backdrop-filter:blur(4px); } body.cu-dark :where(.tt-task-detail) .tt-attachment-viewer-backdrop { background:rgba(0,0,0,0.82); } :where(.tt-task-detail) .tt-attachment-viewer-dialog { position:relative; z-index:1; background:var(--cu-modal-bg); color:var(--cu-text); border-radius:16px; box-shadow:0 20px 60px rgba(15,17,21,0.45); width:min(100%, 960px); max-width:min(100%, 1280px); min-width:320px; max-height:90vh; min-height:220px; display:flex; flex-direction:column; overflow:hidden; resize:both; } :where(.tt-task-detail) .tt-attachment-viewer-dialog::after { content:""; position:absolute; width:18px; height:18px; right:8px; bottom:8px; background:linear-gradient(135deg, transparent 0, transparent 40%, rgba(15,17,21,0.15) 40%, rgba(15,17,21,0.15) 60%, transparent 60%, transparent 100%); pointer-events:none; } body.cu-dark :where(.tt-task-detail) .tt-attachment-viewer-dialog::after { background:linear-gradient(135deg, transparent 0, transparent 40%, rgba(255,255,255,0.2) 40%, rgba(255,255,255,0.2) 60%, transparent 60%, transparent 100%); } :where(.tt-task-detail) .tt-attachment-viewer-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; border-bottom:1px solid var(--cu-border); flex-wrap:wrap; } :where(.tt-task-detail) .tt-attachment-viewer-info { flex:1 1 auto; min-width:0; } :where(.tt-task-detail) .tt-attachment-viewer-name { font-weight:600; font-size:1rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } :where(.tt-task-detail) .tt-attachment-viewer-meta { font-size:.85rem; color:var(--cu-dim); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } :where(.tt-task-detail) .tt-attachment-viewer-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; } :where(.tt-task-detail) .tt-attachment-viewer-actions .btn { display:inline-flex; align-items:center; gap:6px; } :where(.tt-task-detail) .tt-attachment-viewer-counter { font-size:.85rem; color:var(--cu-dim); } :where(.tt-task-detail) .tt-attachment-viewer-body { flex:1 1 auto; min-height:0; padding:16px; background:var(--cu-surface-2); display:flex; align-items:center; justify-content:center; overflow:auto; } :where(.tt-task-detail) .tt-attachment-viewer-body--docx { align-items:flex-start; justify-content:flex-start; } :where(.tt-task-detail) .tt-attachment-viewer-stage { width:100%; height:100%; display:flex; align-items:center; justify-content:center; } :where(.tt-task-detail) .tt-attachment-viewer-body--docx .tt-attachment-viewer-stage { height:auto; min-height:100%; } :where(.tt-task-detail) .tt-attachment-viewer-stage--docx { justify-content:flex-start; align-items:stretch; } :where(.tt-task-detail) .tt-attachment-viewer-stage--text { justify-content:flex-start; align-items:stretch; } :where(.tt-task-detail) .tt-attachment-viewer-img { max-width:100%; max-height:100%; border-radius:12px; box-shadow:0 16px 35px rgba(15,17,21,0.25); } :where(.tt-task-detail) .tt-attachment-viewer-frame { width:100%; height:100%; border:0; border-radius:12px; background:var(--cu-modal-bg); box-shadow:0 16px 35px rgba(15,17,21,0.25); } :where(.tt-task-detail) .tt-attachment-viewer-video { width:100%; max-height:100%; border-radius:12px; background:#000; box-shadow:0 16px 35px rgba(15,17,21,0.25); } :where(.tt-task-detail) .tt-attachment-viewer-audio { width:100%; max-width:420px; } :where(.tt-task-detail) .tt-attachment-viewer-docx { position:relative; width:100%; background:var(--cu-modal-bg); border-radius:12px; box-shadow:0 16px 35px rgba(15,17,21,0.25); border:1px solid var(--cu-border); padding:24px; } :where(.tt-task-detail) .tt-attachment-viewer-body--docx .tt-attachment-viewer-docx { max-height:none; } :where(.tt-task-detail) .tt-attachment-viewer-docx-content { min-height:120px; } :where(.tt-task-detail) .tt-attachment-viewer-docx-status { font-size:.9rem; color:var(--cu-dim); margin-bottom:16px; } :where(.tt-task-detail) .tt-attachment-viewer-docx.is-loading .tt-attachment-viewer-docx-status::before { content:""; display:inline-block; width:14px; height:14px; margin-right:8px; border-radius:50%; border:2px solid var(--cu-border); border-top-color:transparent; animation:tt-text-spin .8s linear infinite; vertical-align:-2px; } :where(.tt-task-detail) .tt-attachment-viewer-docx.has-error .tt-attachment-viewer-docx-content { display:none; } :where(.tt-task-detail) .tt-attachment-viewer-docx.has-error .tt-attachment-viewer-docx-status { color:#c0392b; background:rgba(192,57,43,0.08); padding:12px 16px; border-radius:8px; } :where(.tt-task-detail) .cu-dark .tt-attachment-viewer-docx.has-error .tt-attachment-viewer-docx-status, body.cu-dark :where(.tt-task-detail) .tt-attachment-viewer-docx.has-error .tt-attachment-viewer-docx-status { background:rgba(192,57,43,0.22); color:#f2d7d5; } :where(.tt-task-detail) .tt-attachment-viewer-docx .docx { max-width:100%; margin:0 auto; } :where(.tt-task-detail) .tt-docx-preview-body { font-size:.95rem; line-height:1.5; color:var(--cu-text); font-family:"Times New Roman", Times, serif; } :where(.tt-task-detail) .tt-docx-preview-body p { margin:0 0 .75rem; } :where(.tt-task-detail) .tt-docx-preview-body p:last-child { margin-bottom:0; } :where(.tt-task-detail) .tt-docx-preview-body h1, :where(.tt-task-detail) .tt-docx-preview-body h2, :where(.tt-task-detail) .tt-docx-preview-body h3, :where(.tt-task-detail) .tt-docx-preview-body h4, :where(.tt-task-detail) .tt-docx-preview-body h5, :where(.tt-task-detail) .tt-docx-preview-body h6 { margin:0 0 .75rem; line-height:1.3; } :where(.tt-task-detail) .tt-docx-preview-body p, :where(.tt-task-detail) .tt-docx-preview-body td { word-break:break-word; } :where(.tt-task-detail) .tt-docx-preview-table { width:100%; border-collapse:collapse; margin:0 0 .75rem; font-size:.95rem; } :where(.tt-task-detail) .tt-docx-preview-table:last-child { margin-bottom:0; } :where(.tt-task-detail) .tt-docx-preview-table td { border:1px solid var(--cu-border); padding:6px 8px; vertical-align:top; } :where(.tt-task-detail) .tt-docx-preview-table td p { margin-bottom:.5rem; } :where(.tt-task-detail) .tt-docx-preview-table td p:last-child { margin-bottom:0; } :where(.tt-task-detail) .tt-docx-preview-link { color:var(--cu-accent); text-decoration:underline; } :where(.tt-task-detail) .tt-docx-preview-truncated { margin-top:12px; font-size:.85rem; color:var(--cu-dim); } :where(.tt-task-detail) .tt-docx-preview-empty { color:var(--cu-dim); } :where(.tt-task-detail) .tt-attachment-viewer-text { position:relative; width:100%; max-height:100%; background:var(--cu-modal-bg); border-radius:12px; box-shadow:0 16px 35px rgba(15,17,21,0.25); border:1px solid var(--cu-border); display:flex; flex-direction:column; overflow:auto; } :where(.tt-task-detail) .tt-attachment-viewer-text-content { margin:0; padding:20px; font-family:var(--cu-font-mono, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace); font-size:.9rem; line-height:1.5; white-space:pre-wrap; word-break:break-word; color:var(--cu-text); background:transparent; } :where(.tt-task-detail) .tt-attachment-viewer-text-status { padding:12px 20px; font-size:.85rem; color:var(--cu-dim); border-top:1px solid var(--cu-border); background:rgba(0,0,0,0.02); } :where(.tt-task-detail) .cu-dark .tt-attachment-viewer-text-status, body.cu-dark :where(.tt-task-detail) .tt-attachment-viewer-text-status { background:rgba(255,255,255,0.04); } :where(.tt-task-detail) .tt-attachment-viewer-text.is-loading .tt-attachment-viewer-text-status::before { content:""; display:inline-block; width:14px; height:14px; margin-right:8px; border-radius:50%; border:2px solid var(--cu-border); border-top-color:transparent; animation:tt-text-spin .8s linear infinite; vertical-align:-2px; } :where(.tt-task-detail) .tt-attachment-viewer-text.is-loading .tt-attachment-viewer-text-content { opacity:.35; } :where(.tt-task-detail) .tt-attachment-viewer-text.has-error .tt-attachment-viewer-text-content { display:none; } :where(.tt-task-detail) .tt-attachment-viewer-text.has-error .tt-attachment-viewer-text-status { color:#c0392b; background:rgba(192,57,43,0.08); } :where(.tt-task-detail) .cu-dark .tt-attachment-viewer-text.has-error .tt-attachment-viewer-text-status, body.cu-dark :where(.tt-task-detail) .tt-attachment-viewer-text.has-error .tt-attachment-viewer-text-status { background:rgba(192,57,43,0.22); color:#f2d7d5; } :where(.tt-task-detail) .tt-attachment-viewer-text.is-truncated .tt-attachment-viewer-text-status { color:#8a6d3b; background:rgba(217,188,119,0.18); } :where(.tt-task-detail) .cu-dark .tt-attachment-viewer-text.is-truncated .tt-attachment-viewer-text-status, body.cu-dark :where(.tt-task-detail) .tt-attachment-viewer-text.is-truncated .tt-attachment-viewer-text-status { background:rgba(217,188,119,0.28); color:#f6e3b5; } :where(.tt-task-detail) .tt-attachment-viewer-text-status strong { font-weight:600; } @keyframes tt-text-spin{ to{ transform:rotate(360deg); } } :where(.tt-task-detail) .tt-attachment-viewer-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--cu-dim); gap:12px; } :where(.tt-task-detail) .tt-attachment-viewer-empty i { font-size:2.5rem; color:var(--cu-border); } :where(.tt-task-detail) .tt-attachment-viewer-empty p { margin:0; } :where(.tt-task-detail) .tt-attachment-viewer-empty-hint { font-size:.85rem; color:var(--cu-dim); } @media (max-width:768px){ :where(.tt-task-detail) .tt-attachment-viewer { padding:0; } :where(.tt-task-detail) .tt-attachment-viewer-dialog { width:100%; max-height:100vh; border-radius:0; } :where(.tt-task-detail) .tt-attachment-viewer-toolbar { padding:14px 16px; } :where(.tt-task-detail) .tt-attachment-viewer-body { padding:12px; } }   :where(.tt-task-detail) .tt-sub-list .item { display:flex; align-items:center; gap:8px; padding:6px 4px; border-bottom:1px solid var(--cu-border); } :where(.tt-task-detail) .tt-sub-list .title { flex:1 1 auto; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } :where(.tt-task-detail) .tt-sub-list .action { visibility:hidden; } :where(.tt-task-detail) .tt-sub-list .item:hover .action { visibility:visible; }   :where(.tt-task-detail) .tt-comments { max-height:40vh; overflow:auto; padding-right:6px; display:flex; flex-direction:column; gap:1rem; --tt-comment-indent-step:1.4rem; } :where(.tt-task-detail) .tt-comment { --tt-depth:0; margin-left:calc(var(--tt-depth, 0) * var(--tt-comment-indent-step, 1.4rem)); position:relative; } :where(.tt-task-detail) .tt-c-body { background:var(--cu-surface); border:1px solid var(--cu-border); border-radius:18px; padding:1rem 1.25rem; box-shadow:0 14px 30px rgba(15,23,42,.08); display:flex; flex-direction:column; gap:.85rem; position:relative; } body.cu-dark :where(.tt-task-detail) .tt-c-body { background:rgba(15,23,42,.92); border-color:rgba(148,163,184,.35); box-shadow:0 18px 36px rgba(0,0,0,.55); } :where(.tt-task-detail) .tt-comment--reply .tt-c-body { background:var(--cu-surface-2); border-left:3px solid rgb(var(--cu-accent-rgb) / .35); padding-left:calc(1.25rem - 3px); } body.cu-dark :where(.tt-task-detail) .tt-comment--reply .tt-c-body { background:rgba(15,23,42,.75); border-left-color:rgb(var(--cu-accent-rgb) / .55); } :where(.tt-task-detail) .tt-comment-meta { display:flex; align-items:center; justify-content:space-between; gap:1rem; } :where(.tt-task-detail) .tt-comment-author { display:flex; align-items:center; gap:.75rem; min-width:0; } :where(.tt-task-detail) .tt-comment-avatar { width:42px; height:42px; border-radius:14px; background:linear-gradient(135deg, rgb(var(--cu-accent-rgb) / .08), rgb(var(--cu-accent-rgb) / .25)); color:var(--cu-accent-strong); font-weight:700; display:flex; align-items:center; justify-content:center; border:1px solid rgb(var(--cu-accent-rgb) / .25); } body.cu-dark :where(.tt-task-detail) .tt-comment-avatar { background:rgb(var(--cu-accent-rgb) / .25); color:#fff; border-color:rgb(var(--cu-accent-rgb) / .45); } :where(.tt-task-detail) .tt-comment-author-info { display:flex; flex-direction:column; gap:2px; } :where(.tt-task-detail) .tt-comment-name { font-weight:600; color:var(--cu-text); } :where(.tt-task-detail) .tt-comment-time { font-size:.8rem; color:var(--cu-dim); } :where(.tt-task-detail) .tt-comment-chip { font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; color:var(--cu-accent-strong); background:rgb(var(--cu-accent-rgb) / .12); border-radius:999px; padding:3px 10px; } body.cu-dark :where(.tt-task-detail) .tt-comment-chip { background:rgb(var(--cu-accent-rgb) / .25); color:#c7d2fe; } :where(.tt-task-detail) .tt-comment-content { color:var(--cu-text); line-height:1.55; font-size:.95rem; } :where(.tt-task-detail) .tt-comment-content p:last-child { margin-bottom:0; } :where(.tt-task-detail) .tt-comment-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem; } :where(.tt-task-detail) .tt-comment-actions { display:flex; gap:1rem; font-size:.85rem; } :where(.tt-task-detail) .tt-comment-actions .btn { padding:0; color:var(--cu-dim); } :where(.tt-task-detail) .tt-comment-actions .btn:hover, :where(.tt-task-detail) .tt-comment-actions .btn:focus { color:var(--cu-accent-strong); text-decoration:none; } :where(.tt-task-detail) .tt-comment-children { margin-top:1rem; padding:0; } :where(.tt-task-detail) #comments-main .tt-comment-children { display:none; } :where(.tt-task-detail) .tt-c-thread { flex:1 1 auto; display:flex; justify-content:flex-end; } :where(.tt-task-detail) .tt-comment-thread-toggle { display:flex; align-items:center; justify-content:space-between; gap:.75rem; border-radius:14px; border:1px solid var(--cu-border); background:var(--cu-surface-2); padding:.45rem .85rem; color:var(--cu-text); min-width:200px; text-align:left; transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease; } body.cu-dark :where(.tt-task-detail) .tt-comment-thread-toggle { background:rgba(15,23,42,.85); } :where(.tt-task-detail) .tt-comment-thread-toggle .bi { font-size:1rem; color:var(--cu-dim); } :where(.tt-task-detail) .tt-comment-thread-toggle:hover, :where(.tt-task-detail) .tt-comment-thread-toggle:focus { border-color:var(--cu-accent); box-shadow:0 14px 26px rgb(var(--cu-accent-rgb) / .18); color:var(--cu-text); text-decoration:none; } :where(.tt-task-detail) .tt-comment-thread-toggle--active { border-color:rgb(var(--cu-accent-rgb) / .45); background:linear-gradient(135deg, rgb(var(--cu-accent-rgb) / .12), rgb(var(--cu-accent-rgb) / .2)); } :where(.tt-task-detail) .tt-comment-thread-toggle--active .bi { color:var(--cu-accent-strong); } :where(.tt-task-detail) .tt-thread-label { display:flex; flex-direction:column; line-height:1.2; } :where(.tt-task-detail) .tt-thread-count { font-weight:600; } :where(.tt-task-detail) .tt-thread-hint { font-size:.78rem; color:var(--cu-dim); } :where(.tt-task-detail) .tt-thread-header { display:flex; align-items:flex-start; gap:1rem; padding:1rem; border:1px solid var(--cu-border); border-radius:16px; background:var(--cu-surface-2); } body.cu-dark :where(.tt-task-detail) .tt-thread-header { background:rgba(15,23,42,.85); border-color:rgba(148,163,184,.35); } :where(.tt-task-detail) .tt-thread-back { display:inline-flex; align-items:center; gap:6px; padding:8px 16px; border-radius:999px; border:1px solid var(--cu-border); background:var(--cu-surface); color:var(--cu-text); font-size:.85rem; font-weight:600; line-height:1.1; cursor:pointer; box-shadow:0 4px 10px rgba(15, 23, 42, .08); transition:background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease; } :where(.tt-task-detail) .tt-thread-back .bi { font-size:.9rem; } :where(.tt-task-detail) .tt-thread-back:hover, :where(.tt-task-detail) .tt-thread-back:focus { background:var(--cu-hover); border-color:var(--cu-accent); color:var(--cu-accent-strong); text-decoration:none; box-shadow:0 6px 16px rgb(var(--cu-accent-rgb) / .18); } :where(.tt-task-detail) .tt-thread-back:focus-visible { outline:3px solid rgb(var(--cu-accent-rgb) / .35); outline-offset:2px; } :where(.tt-task-detail) .tt-thread-info { flex:1; min-width:0; } :where(.tt-task-detail) .tt-thread-title { font-weight:600; color:var(--cu-text); line-height:1.3; word-break:break-word; } :where(.tt-task-detail) .tt-thread-meta { margin-top:4px; font-size:.85rem; } :where(.tt-task-detail) .tt-thread-empty { padding-left:8px; font-size:.9rem; } :where(.tt-task-detail) .tt-mention { background:var(--cu-hover); border-radius:6px; padding:0 4px; color:var(--cu-accent); font-weight:600; } :where(.tt-task-detail) .tt-mention-unknown { background:rgba(220,53,69,.1); color:#dc3545; border-radius:6px; padding:0 4px; } :where(.tt-task-detail) .tt-mention-wrapper { position:relative; } :where(.tt-task-detail) .tt-mention-suggestions { position:absolute; top:100%; left:0; width:100%; max-height:200px; overflow:auto; background:var(--cu-modal-bg); border:1px solid var(--cu-border); border-radius:10px; margin-top:6px; padding:4px; box-shadow:0 8px 20px rgba(15,23,42,.12); z-index:30; } :where(.tt-task-detail) .tt-mention-item { display:flex; justify-content:space-between; align-items:center; width:100%; border:0; background:transparent; padding:6px 8px; border-radius:8px; color:var(--cu-text); text-align:left; font-size:.9rem; } :where(.tt-task-detail) .tt-mention-item strong { font-weight:600; } :where(.tt-task-detail) .tt-mention-item span { color:var(--cu-dim); font-size:.8rem; } :where(.tt-task-detail) .tt-mention-item:hover, :where(.tt-task-detail) .tt-mention-item.active { background:var(--cu-hover); }   :where(.tt-task-detail) #comments-list .mb-2, :where(.tt-task-detail) #comment-thread-list .mb-2 { background:var(--cu-modal-bg); border:1px solid var(--cu-border); border-radius:10px; padding:8px; } :where(.tt-task-detail) #comments-list .mb-2 .small.text-muted, :where(.tt-task-detail) #comment-thread-list .mb-2 .small.text-muted { display:flex; align-items:center; gap:8px; }   :where(.tt-task-detail) .tt-notification-dropdown { --tt-notification-accent:#e34212; --tt-notification-accent-dark:#c8340c; --tt-notification-ink:#26334d; --tt-notification-muted:#70809b; --tt-notification-line:#dfe5ee; --tt-notification-soft:#f4f6f9; margin-right:.5rem; } :where(.tt-task-detail) .tt-notification-trigger { min-width:54px; height:32px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 11px; border-radius:9px; } :where(.tt-task-detail) .tt-notification-trigger::after { display:none; } :where(.tt-task-detail) .tt-notification-trigger > .bi-bell { color:var(--tt-notification-accent); font-size:.9rem; } :where(.tt-task-detail) .tt-notification-trigger-caret { color:currentColor; font-size:.55rem; } :where(.tt-task-detail) .tt-notification-trigger[aria-expanded="true"] { border-color:rgb(227 66 18 / .5); background:rgb(227 66 18 / .08); box-shadow:0 0 0 3px rgb(227 66 18 / .1); } :where(.tt-task-detail) .tt-notification-menu { width:440px; max-width:calc(100vw - 24px); max-height:calc(100vh - 120px); margin-top:10px !important; padding:0; color:var(--tt-notification-ink); background:#fff; border:1px solid #e5e9f0; border-radius:18px; box-shadow:0 24px 70px rgb(31 45 70 / .18), 0 4px 14px rgb(31 45 70 / .08); overflow-x:hidden; overflow-y:auto; scale:.85; transform-origin:top right; } :where(.tt-task-detail) .tt-notification-menu::before { content:""; position:absolute; top:-8px; right:37px; width:16px; height:16px; background:#fff; border-top:1px solid #e5e9f0; border-left:1px solid #e5e9f0; transform:rotate(45deg); } :where(.tt-task-detail) .tt-notification-menu-body { padding:22px 22px 16px; } :where(.tt-task-detail) .tt-notification-eyebrow, :where(.tt-task-detail) .tt-notification-section-label { color:#8a96ab; font-size:.72rem; font-weight:800; letter-spacing:.09em; line-height:1.2; text-transform:uppercase; } :where(.tt-task-detail) .tt-notification-eyebrow { margin:0 4px 14px; } :where(.tt-task-detail) .tt-notification-channels { border:1px solid var(--tt-notification-line); border-radius:14px; overflow:hidden; } :where(.tt-task-detail) .tt-notification-channel { min-height:72px; display:grid; grid-template-columns:44px minmax(0, 1fr) auto; align-items:center; gap:14px; padding:12px 14px; cursor:pointer; background:#fff; } :where(.tt-task-detail) .tt-notification-channel + .tt-notification-channel { border-top:1px solid var(--tt-notification-line); } :where(.tt-task-detail) .tt-notification-channel:hover { background:#fbfcfe; } :where(.tt-task-detail) .tt-notification-channel-icon { width:44px; height:44px; display:flex; align-items:center; justify-content:center; color:#5e6d86; background:var(--tt-notification-soft); border-radius:12px; font-size:1.25rem; } :where(.tt-task-detail) .tt-notification-channel-icon--active { color:var(--tt-notification-accent); background:linear-gradient(145deg, #fff2ed, #fbe8e1); } :where(.tt-task-detail) .tt-notification-channel-copy { min-width:0; display:flex; flex-direction:column; gap:2px; line-height:1.25; } :where(.tt-task-detail) .tt-notification-channel-copy strong { color:var(--tt-notification-ink); font-size:.96rem; font-weight:750; } :where(.tt-task-detail) .tt-notification-channel-copy > span { color:var(--tt-notification-muted); font-size:.82rem; } :where(.tt-task-detail) .tt-notification-switch.form-switch { min-height:0; margin:0; padding:0; } :where(.tt-task-detail) .tt-notification-switch .form-check-input { width:42px; height:24px; margin:0; float:none; cursor:pointer; border:0; background-color:#c9cdd3; box-shadow:none; } :where(.tt-task-detail) .tt-notification-switch .form-check-input:checked { background-color:var(--tt-notification-accent); } :where(.tt-task-detail) .tt-notification-switch .form-check-input:focus { box-shadow:0 0 0 3px rgb(227 66 18 / .16); } :where(.tt-task-detail) .tt-notification-divider { height:1px; margin:20px 0; background:var(--tt-notification-line); } :where(.tt-task-detail) .tt-notification-section-label { margin:0 2px 14px; } :where(.tt-task-detail) .tt-notification-types { display:flex; flex-direction:column; gap:10px; } :where(.tt-task-detail) .tt-notification-check { display:flex; align-items:center; gap:13px; color:var(--tt-notification-ink); font-size:.92rem; line-height:1.35; cursor:pointer; } :where(.tt-task-detail) .tt-notification-check .form-check-input { width:18px; height:18px; flex:0 0 auto; margin:0; border:1px solid #bcc5d3; border-radius:5px; box-shadow:none; } :where(.tt-task-detail) .tt-notification-check .form-check-input:checked { border-color:var(--tt-notification-accent); background-color:var(--tt-notification-accent); } :where(.tt-task-detail) .tt-notification-check .form-check-input:focus { box-shadow:0 0 0 3px rgb(227 66 18 / .14); } :where(.tt-task-detail) .tt-notification-send { padding:16px; border:1px solid #f3e5df; border-radius:14px; background:linear-gradient(135deg, #fff9f6 0%, #fff 55%, #fff5f1 100%); } :where(.tt-task-detail) .tt-notification-send-title { display:block; margin-bottom:7px; color:var(--tt-notification-accent-dark); font-size:.72rem; font-weight:800; letter-spacing:.085em; line-height:1.3; text-transform:uppercase; } :where(.tt-task-detail) .tt-notification-send p { margin:0 0 12px; color:#5f718e; font-size:.82rem; line-height:1.45; } :where(.tt-task-detail) .tt-notification-email-field { position:relative; display:flex; align-items:center; } :where(.tt-task-detail) .tt-notification-email-field > .bi { position:absolute; left:13px; z-index:1; color:#65758f; font-size:1rem; pointer-events:none; } :where(.tt-task-detail) .tt-notification-email-field .form-control { height:42px; padding:8px 12px 8px 38px; color:var(--tt-notification-ink); background:#fff; border:1px solid #d6deea; border-radius:11px; font-size:.86rem; box-shadow:none; } :where(.tt-task-detail) .tt-notification-email-field .form-control::placeholder { color:#8a97ad; } :where(.tt-task-detail) .tt-notification-email-field .form-control:focus { border-color:rgb(227 66 18 / .65); box-shadow:0 0 0 3px rgb(227 66 18 / .1); } :where(.tt-task-detail) .tt-notification-feedback { min-height:0; margin-top:7px; font-size:.76rem; } :where(.tt-task-detail) .tt-notification-feedback:empty { display:none; } :where(.tt-task-detail) .tt-notification-send-button { width:100%; min-height:42px; display:flex; align-items:center; justify-content:center; gap:10px; margin-top:10px; color:var(--tt-notification-accent); background:transparent; border:1px solid #ef8d70; border-radius:11px; font-size:.88rem; font-weight:700; } :where(.tt-task-detail) .tt-notification-send-button:hover, :where(.tt-task-detail) .tt-notification-send-button:focus { color:#fff; background:var(--tt-notification-accent); border-color:var(--tt-notification-accent); } :where(.tt-task-detail) .tt-notification-footer { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:14px 22px 18px; border-top:1px solid #edf0f4; background:#fff; } :where(.tt-task-detail) .tt-notification-footer .btn { min-height:44px; display:flex; align-items:center; justify-content:center; gap:9px; border-radius:11px; font-size:.9rem; font-weight:700; } :where(.tt-task-detail) .tt-notification-cancel { color:var(--tt-notification-ink); background:#fff; border:1px solid #d7deea; } :where(.tt-task-detail) .tt-notification-cancel:hover, :where(.tt-task-detail) .tt-notification-cancel:focus { color:var(--tt-notification-ink); background:#f6f8fb; border-color:#bfc9d8; } :where(.tt-task-detail) .tt-notification-save { color:#fff; background:linear-gradient(135deg, var(--tt-notification-accent-dark), #ee4d15); border:1px solid var(--tt-notification-accent); box-shadow:0 8px 18px rgb(227 66 18 / .2); } :where(.tt-task-detail) .tt-notification-save:hover, :where(.tt-task-detail) .tt-notification-save:focus { color:#fff; background:linear-gradient(135deg, #ad2c0b, var(--tt-notification-accent)); border-color:var(--tt-notification-accent-dark); transform:translateY(-1px); } :where(.tt-task-detail) .tt-notification-save:disabled, :where(.tt-task-detail) .tt-notification-send-button:disabled { opacity:.65; transform:none; } body.cu-dark :where(.tt-task-detail) .tt-notification-menu, body.cu-dark :where(.tt-task-detail) .tt-notification-menu::before, body.cu-dark :where(.tt-task-detail) .tt-notification-channel, body.cu-dark :where(.tt-task-detail) .tt-notification-footer { color:#e8edf7; background:#252734; border-color:#494d5f; } body.cu-dark :where(.tt-task-detail) .tt-notification-menu { --tt-notification-ink:#f1f3f8; --tt-notification-muted:#aab2c2; --tt-notification-line:#444857; --tt-notification-soft:#353846; box-shadow:0 24px 70px rgb(0 0 0 / .5), 0 4px 14px rgb(0 0 0 / .3); } body.cu-dark :where(.tt-task-detail) .tt-notification-channel:hover { background:#2a2d3b; } body.cu-dark :where(.tt-task-detail) .tt-notification-channel-icon--active { color:#ff7549; background:linear-gradient(145deg, #3d2d2b, #382a2c); } body.cu-dark :where(.tt-task-detail) .tt-notification-send { background:linear-gradient(135deg, #302a2d 0%, #292b38 58%, #33292b 100%); border-color:#5d403b; } body.cu-dark :where(.tt-task-detail) .tt-notification-send p { color:#b1bacb; } body.cu-dark :where(.tt-task-detail) .tt-notification-email-field .form-control { color:#f1f3f8; background:#2b2e3b; border-color:#555a6c; } body.cu-dark :where(.tt-task-detail) .tt-notification-cancel { color:#f1f3f8; background:#2b2e3b; border-color:#555a6c; } body.cu-dark :where(.tt-task-detail) .tt-notification-cancel:hover, body.cu-dark :where(.tt-task-detail) .tt-notification-cancel:focus { color:#fff; background:#343746; border-color:#6d7285; } @media (max-width:576px){ :where(.tt-task-detail) .tt-notification-menu { width:min(440px, calc(100vw - 24px)); max-height:calc(100vh - 96px); } :where(.tt-task-detail) .tt-notification-menu-body { padding:18px 16px 14px; } :where(.tt-task-detail) .tt-notification-footer { padding:13px 16px 16px; } :where(.tt-task-detail) .tt-notification-channel { grid-template-columns:40px minmax(0, 1fr) auto; gap:11px; padding:11px 12px; } :where(.tt-task-detail) .tt-notification-channel-icon { width:40px; height:40px; } :where(.tt-task-detail) .tt-notification-channel-copy strong { font-size:.9rem; } :where(.tt-task-detail) .tt-notification-channel-copy > span { font-size:.76rem; } :where(.tt-task-detail) .tt-notification-switch .form-check-input { width:38px; height:22px; } }   .tt-notification-dropdown{ --tt-notification-accent:var(--cu-accent-strong); --tt-notification-accent-rgb:var(--cu-accent-strong-rgb); --tt-notification-ink:var(--cu-text); --tt-notification-muted:var(--cu-dim); --tt-notification-line:var(--cu-border); --tt-notification-surface:var(--cu-modal-bg); --tt-notification-soft:var(--cu-surface-2); } .tt-notification-trigger[aria-expanded="true"]{ border-color:rgb(var(--tt-notification-accent-rgb) / .5); background:rgb(var(--tt-notification-accent-rgb) / .08); box-shadow:0 0 0 3px rgb(var(--tt-notification-accent-rgb) / .1); } .tt-notification-menu, body.cu-dark .tt-notification-menu{ width:400px; max-width:calc(100vw - 24px); max-height:calc(100vh - 176px); padding:0; scale:1; color:var(--tt-notification-ink); background:var(--tt-notification-surface); border:1px solid var(--tt-notification-line); border-radius:16px; box-shadow:var(--cu-shadow-lg); overflow-x:hidden; overflow-y:auto; } .tt-notification-menu::before, body.cu-dark .tt-notification-menu::before{ background:var(--tt-notification-surface); border-color:var(--tt-notification-line); } .tt-notification-menu-body{ padding:20px; } .tt-notification-header{ display:grid; grid-template-columns:38px minmax(0, 1fr) 32px; align-items:center; gap:11px; margin-bottom:20px; } .tt-notification-header-icon{ width:38px; height:38px; display:grid; place-items:center; color:var(--tt-notification-accent); background:rgb(var(--tt-notification-accent-rgb) / .1); border:1px solid rgb(var(--tt-notification-accent-rgb) / .22); border-radius:11px; font-size:1rem; } .tt-notification-header-copy{ min-width:0; } .tt-notification-header-copy h2{ margin:0; color:var(--tt-notification-ink); font-size:1rem; font-weight:750; letter-spacing:-.01em; line-height:1.25; } .tt-notification-header-copy p{ margin:2px 0 0; color:var(--tt-notification-muted); font-size:.78rem; line-height:1.35; } .tt-notification-close{ width:32px; height:32px; display:grid; place-items:center; padding:0; color:var(--tt-notification-muted); background:transparent; border:0; border-radius:9px; font-size:.85rem; } .tt-notification-close:hover{ color:var(--tt-notification-ink); background:var(--cu-hover); } .tt-notification-close:focus-visible{ outline:0; box-shadow:var(--cu-focus-ring); } .tt-notification-section-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 2px 8px; } .tt-notification-eyebrow, .tt-notification-section-label{ margin:0 2px 8px; color:var(--tt-notification-muted); font-size:.68rem; font-weight:800; letter-spacing:.085em; line-height:1.2; text-transform:uppercase; } .tt-notification-section-head .tt-notification-section-label{ margin:0; } .tt-notification-save-state{ display:inline-flex; align-items:center; gap:5px; color:var(--tt-notification-muted); font-size:.7rem; font-weight:650; line-height:1; white-space:nowrap; } .tt-notification-save-state.is-pending, .tt-notification-save-state.is-saving{ color:var(--tt-notification-accent); } .tt-notification-save-state.is-saved{ color:var(--cu-success); } .tt-notification-save-state.is-error{ color:var(--cu-danger); } .tt-notification-save-state.is-saving .bi{ animation:tt-notification-spin .8s linear infinite; } @keyframes tt-notification-spin{ to{ transform:rotate(360deg); } } .tt-notification-channels{ display:flex; flex-direction:column; gap:6px; border:0; border-radius:0; overflow:visible; } .tt-notification-channel, body.cu-dark .tt-notification-channel{ min-height:58px; display:grid; grid-template-columns:34px minmax(0, 1fr) auto; align-items:center; gap:11px; padding:9px 10px; color:var(--tt-notification-ink); background:transparent; border:1px solid transparent; border-radius:11px; cursor:pointer; transition:background-color .16s ease, border-color .16s ease; } .tt-notification-channel + .tt-notification-channel{ border-top-color:transparent; } .tt-notification-channel:hover, body.cu-dark .tt-notification-channel:hover{ background:var(--cu-hover); } .tt-notification-channel:has(.form-check-input:checked){ background:rgb(var(--tt-notification-accent-rgb) / .075); border-color:rgb(var(--tt-notification-accent-rgb) / .22); } .tt-notification-channel-icon, .tt-notification-channel-icon--active, body.cu-dark .tt-notification-channel-icon--active{ width:34px; height:34px; display:grid; place-items:center; color:var(--tt-notification-muted); background:var(--tt-notification-soft); border-radius:9px; font-size:.92rem; } .tt-notification-channel:has(.form-check-input:checked) .tt-notification-channel-icon{ color:var(--tt-notification-accent); background:rgb(var(--tt-notification-accent-rgb) / .11); } .tt-notification-channel-copy{ min-width:0; gap:1px; } .tt-notification-channel-copy strong{ color:var(--tt-notification-ink); font-size:.86rem; font-weight:700; } .tt-notification-channel-copy > span{ color:var(--tt-notification-muted); font-size:.73rem; } .tt-notification-switch .form-check-input{ width:38px; height:21px; background-color:var(--cu-border-strong); transition:background-color .16s ease, box-shadow .16s ease; } .tt-notification-switch .form-check-input:checked{ background-color:var(--tt-notification-accent); } .tt-notification-switch .form-check-input:focus, .tt-notification-check .form-check-input:focus{ box-shadow:var(--cu-focus-ring); } .tt-notification-divider{ height:1px; margin:16px 0; background:var(--tt-notification-line); } .tt-notification-types{ display:grid; grid-template-columns:1fr; gap:4px; } .tt-notification-check{ min-height:36px; display:grid; grid-template-columns:18px 20px minmax(0, 1fr); align-items:center; gap:8px; padding:5px 7px; color:var(--tt-notification-ink); border-radius:9px; font-size:.82rem; cursor:pointer; } .tt-notification-check:hover{ background:var(--cu-hover); } .tt-notification-check > .bi{ color:var(--tt-notification-muted); font-size:.85rem; text-align:center; } .tt-notification-check:has(.form-check-input:checked) > .bi{ color:var(--tt-notification-accent); } .tt-notification-check .form-check-input{ width:17px; height:17px; margin:0; border-color:var(--cu-input-border-2); border-radius:5px; } .tt-notification-check .form-check-input:checked{ border-color:var(--tt-notification-accent); background-color:var(--tt-notification-accent); } .tt-notification-send, body.cu-dark .tt-notification-send{ padding:12px; color:var(--tt-notification-ink); background:var(--tt-notification-soft); border:1px solid var(--tt-notification-line); border-radius:12px; } .tt-notification-send-head{ display:grid; grid-template-columns:30px minmax(0, 1fr); align-items:center; gap:9px; margin-bottom:10px; } .tt-notification-send-icon{ width:30px; height:30px; display:grid; place-items:center; color:var(--tt-notification-accent); background:rgb(var(--tt-notification-accent-rgb) / .11); border-radius:8px; font-size:.78rem; } .tt-notification-send-head div{ min-width:0; display:flex; flex-direction:column; gap:1px; } .tt-notification-send-head strong{ color:var(--tt-notification-ink); font-size:.82rem; font-weight:700; } .tt-notification-send-head span{ color:var(--tt-notification-muted); font-size:.7rem; line-height:1.35; } .tt-notification-email-field > .bi{ color:var(--tt-notification-muted); } .tt-notification-email-field .form-control, .tt-notification-email-field .form-select, body.cu-dark .tt-notification-email-field .form-control, body.cu-dark .tt-notification-email-field .form-select{ height:38px; padding:7px 34px; color:var(--cu-input-text); background-color:var(--cu-input-bg); border:1px solid var(--cu-input-border); border-radius:9px; font-size:.78rem; box-shadow:none; } .tt-notification-email-field .form-select option{ color:var(--cu-input-text); background:var(--tt-notification-surface); } .tt-notification-email-field .form-control::placeholder{ color:var(--cu-input-ph); } .tt-notification-email-field .form-control:focus, .tt-notification-email-field .form-select:focus{ border-color:var(--tt-notification-accent); box-shadow:var(--cu-focus-ring); } .tt-notification-manual-email{ margin-top:7px; } .tt-notification-send-button{ min-height:38px; margin-top:8px; color:var(--cu-on-btn-primary); background:var(--cu-btn-primary-bg); border-color:var(--cu-btn-primary-bg); border-radius:9px; font-size:.8rem; box-shadow:none; } .tt-notification-send-button:hover, .tt-notification-send-button:focus{ color:var(--cu-on-btn-primary); background:var(--cu-btn-primary-hover); border-color:var(--cu-btn-primary-hover); } .tt-notification-send-button:disabled{ opacity:.65; } @media (max-width:576px){ .tt-notification-menu{ width:min(400px, calc(100vw - 24px)); max-height:calc(100vh - 96px); } .tt-notification-menu-body{ padding:16px; } .tt-notification-header{ margin-bottom:18px; } .tt-notification-channel{ grid-template-columns:32px minmax(0, 1fr) auto; gap:9px; padding:8px; } .tt-notification-channel-icon{ width:32px; height:32px; } } @media (prefers-reduced-motion:reduce){ .tt-notification-save-state.is-saving .bi{ animation:none; } }     .cu-dim-text{ color:var(--cu-dim) !important; }   .tt-drag, .tt-cl-drag{ cursor:grab; color:var(--cu-dim); user-select:none; font-size:18px; line-height:1; padding:0 6px; } .tt-drag:active, .tt-cl-drag:active{ cursor:grabbing; } .tt-sub-list .tt-sub-placeholder, .tt-cl-placeholder{ height:32px; border:2px dashed var(--cu-border); border-radius:8px; margin:4px 0; }     .cu-sets-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap:16px; } .cu-set{ position:relative; display:flex; flex-direction:column; gap:16px; padding:20px; border-radius:18px; background:linear-gradient(180deg, var(--cu-surface) 0%, var(--cu-surface-2) 100%); border:1px solid var(--cu-border); box-shadow:0 10px 30px rgba(15,23,42,.08); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; } .cu-set:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(15,23,42,.16); border-color:var(--cu-accent); } body.cu-dark .cu-set{ box-shadow:0 10px 28px rgba(2,6,23,.5); } body.cu-dark .cu-set:hover{ box-shadow:0 20px 44px rgba(2,6,23,.7); } .cu-set.is-active{ border-color:var(--cu-accent); box-shadow:0 18px 44px rgb(var(--cu-accent-rgb) / .18); } body.cu-dark .cu-set.is-active{ box-shadow:0 20px 52px rgb(var(--cu-accent-rgb) / .36); } .cu-set__header{ display:flex; align-items:center; gap:14px; } .cu-set__icon{ width:48px; height:48px; border-radius:16px; background:var(--cu-hover); color:var(--cu-accent); display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; transition:background .2s ease, color .2s ease, box-shadow .2s ease; } .cu-set.is-active .cu-set__icon{ background:var(--cu-accent); color:var(--cu-on-accent); box-shadow:0 10px 24px rgb(var(--cu-accent-rgb) / .25); } .cu-set__title{ display:flex; flex-direction:column; gap:4px; min-width:0; } .cu-set__name{ font-weight:700; font-size:1.1rem; color:var(--cu-text); line-height:1.2; } .cu-set__slug{ display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; background:var(--cu-surface-2); color:var(--cu-dim); font-size:.75rem; font-weight:600; letter-spacing:.08em; } .cu-set__slug span{ display:inline-block; max-width:100%; overflow:hidden; text-overflow:ellipsis; } .cu-set__status{ margin-left:auto; display:inline-flex; align-items:center; gap:8px; padding:4px 12px; border-radius:999px; background:var(--cu-surface-2); color:var(--cu-dim); font-size:.78rem; font-weight:600; } .cu-set__status .dot{ width:8px; height:8px; border-radius:50%; background:var(--cu-muted-dot); } .cu-set.is-active .cu-set__status{ background:var(--cu-hover); color:var(--cu-accent-strong); } .cu-set.is-active .cu-set__status .dot{ background:var(--cu-accent-strong); } .cu-set__meta{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:var(--cu-dim); } .cu-set__badge{ display:inline-flex; align-items:center; gap:6px; padding:4px 12px; border-radius:999px; background:var(--cu-hover); color:var(--cu-dim); font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; } .cu-set.is-active .cu-set__badge{ color:var(--cu-accent-strong); } .cu-set__description{ flex:1 1 160px; font-size:.85rem; line-height:1.45; color:var(--cu-dim); } .cu-set__actions{ display:flex; flex-wrap:wrap; gap:10px; } .cu-set__actions .btn{ border-radius:999px; padding:6px 16px; font-weight:600; } .cu-set__actions .text-muted{ align-self:center; font-size:.8rem; font-weight:600; letter-spacing:.04em; } @media (max-width: 575.98px){ .cu-set{ padding:16px; } .cu-set__header{ flex-wrap:wrap; } .cu-set__status{ margin-left:0; } }     .cu-props{ grid-template-columns: repeat(12, minmax(0, 1fr));   } .cu-prop{ min-width:0; } .cu-prop .val{ display:flex; align-items:center; gap:8px; flex-wrap:wrap;   min-width:0; } .cu-prop .val > *{ max-width:100%; }   .cu-prop .val input[type="datetime-local"], .cu-prop .val .form-control-sm{ flex: 1 1 160px;   min-width:0; }   .cu-prop .val > span { flex:0 0 auto; }   .cu-prop .val .cu-avatar, .cu-prop .val .cu-tag { flex:0 0 auto; }   .cu-prop .val .text-muted, .cu-prop .val .truncate { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }   .cu-pagination .page-link { padding: 6px 10px; background: var(--cu-surface-2); border: 1px solid var(--cu-border); color: var(--cu-text); border-radius: 4px; } .cu-pagination .page-link:hover { background: var(--cu-hover); } .cu-pagination .page-item.active .page-link { background: var(--cu-accent); border-color: var(--cu-accent-strong); color: var(--cu-on-accent); } .cu-pagination .page-item.disabled .page-link { background: var(--cu-surface); color: var(--cu-dim); }   .cu-activity .cu-pagination { margin: 8px 0 0;   padding: 0; display: flex; justify-content: center;   } .cu-activity .cu-pagination .page-item { margin: 0 4px;   } .cu-activity .cu-pagination .page-link { padding: 4px 6px;   font-size: 0.75rem;   } .cu-activity small.text-muted { display: none;   }       .cu-layout{ grid-template-columns: minmax(0,1fr) 360px; position: static; } @media (max-width:1200px){ .cu-layout{ grid-template-columns: 1fr; } }       #tt-spaces-overlay{ display:none; } .cu-layout-list{ display:grid; grid-template-columns: 260px 1fr; gap:16px; align-items:start; } .cu-spaces{ position:sticky; top:12px; align-self:start; max-height: calc(100vh - 100px); overflow:auto; background:transparent; }   .tt-no-scroll{ overflow:hidden; } @media (min-width: 992px){ #spacesToggle{ display:none !important; } }   @media (min-width:1200px){ .cu-props{ grid-template-columns: 1fr 1fr !important; gap: 8px 32px !important; align-items:start; } .cu-prop{ display:grid !important; grid-template-columns: 140px minmax(0,1fr) !important; align-items:center; padding:2px 0; } .cu-prop .lbl{ grid-column:1; display:flex; align-items:center; gap:8px; font-weight:600; color:var(--cu-dim); margin-bottom:0 !important; } .cu-prop .val{ grid-column:2; display:flex; align-items:center; gap:8px; flex-wrap:wrap; } .cu-prop--dates .val{ flex-wrap:nowrap; }   .cu-props > .cu-prop:nth-child(-n+4){ grid-column:1; } .cu-props > .cu-prop:nth-child(n+5){ grid-column:2; } } .cu-ico{ color:var(--cu-dim); opacity:.95; font-size:1rem; display:inline-flex; align-items:center; }   .tt-timer-btn{ width:28px; height:28px; border-radius:999px; border:0; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; background:var(--cu-dim); box-shadow: inset 0 0 0 2px var(--cu-bg); } .tt-timer-btn:hover{ filter:brightness(1.05); } .tt-timer-btn .tt-timer-ico{ display:block; width:0; height:0; border-left:9px solid var(--cu-inverse); border-top:6px solid transparent; border-bottom:6px solid transparent; margin-left:3px; } .tt-timer-btn.is-running{ background: var(--cu-danger); } .tt-timer-btn.is-running .tt-timer-ico{ width:10px; height:10px; border:0; background:var(--cu-inverse); border-radius:2px; margin-left:0; } @media (min-width:1200px){ .cu-props{ grid-auto-flow: row dense; }   .cu-props > .cu-prop:first-child{ grid-column:1 !important; grid-row:1 !important; }   .cu-prop--dates{ grid-column:1 !important; grid-row:2 !important; }   .cu-prop.cu-prop--wide{ grid-column: 1 / -1; } }   .cu-panel.cu-pad{ padding:12px; } .cu-title{ margin-bottom: 0; }   @media (max-width:768px){ .cu-props{ gap:12px; } }   @media (max-width: 768px){ .cu-table:not(.tt-trash-table) thead tr th:nth-child(4),   .cu-table:not(.tt-trash-table) tbody tr td:nth-child(4), .cu-table:not(.tt-trash-table) tfoot tr th:nth-child(4), .cu-table:not(.tt-trash-table) tfoot tr td:nth-child(4), .cu-table:not(.tt-trash-table) thead tr th:nth-child(6),   .cu-table:not(.tt-trash-table) tbody tr td:nth-child(6), .cu-table:not(.tt-trash-table) tfoot tr th:nth-child(6), .cu-table:not(.tt-trash-table) tfoot tr td:nth-child(6), .cu-table:not(.tt-trash-table) thead tr th:nth-child(7),   .cu-table:not(.tt-trash-table) tbody tr td:nth-child(7), .cu-table:not(.tt-trash-table) tfoot tr th:nth-child(7), .cu-table:not(.tt-trash-table) tfoot tr td:nth-child(7){ display:none; } } .tt-trash-actions__buttons{ display:inline-flex; align-items:center; gap:.5rem; } .tt-trash-actions__notice{ max-width:240px; font-size:.8rem; color:var(--cu-dim); line-height:1.3; text-align:left; } .tt-trash-actions__form{ display:inline-block; margin:0; } @media (max-width: 768px){ .tt-trash-table thead{ display:none; } .tt-trash-table tbody{ display:block; } .tt-trash-table tbody tr{ display:block; background:var(--cu-surface); border:1px solid var(--cu-border); border-radius:12px; padding:12px; margin-bottom:12px; } .tt-trash-table tbody tr:last-child{ margin-bottom:0; } .tt-trash-table tbody tr td{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:6px 0; border:0; } .tt-trash-table tbody tr td[data-label]::before{ content: attr(data-label); font-size:.75rem; font-weight:600; color:var(--cu-dim); text-transform:uppercase; letter-spacing:.02em; min-width:96px; } .tt-trash-table tbody tr td[data-label="Title"]{ font-weight:600; color:var(--cu-text); } .tt-trash-table tbody tr td:first-child{ padding-top:0; } .tt-trash-table tbody tr td:last-child{ flex-direction:column; gap:.5rem; padding-top:12px; margin-top:12px; border-top:1px solid var(--cu-border); text-align:left; } .tt-trash-table tbody tr td:last-child::before{ margin-bottom:4px; } .tt-trash-actions__buttons{ width:100%; display:flex; flex-direction:column; align-items:stretch; gap:.5rem; } .tt-trash-actions__notice{ max-width:100%; } .tt-trash-actions__form{ width:100%; } .tt-trash-actions__buttons .btn{ width:100%; } .tt-trash-table tbody tr td[colspan]{ display:block; padding:16px; text-align:center; } }   @media (max-width:1200px){ .cu-activity{ margin-top: 12px; } }   .tt-detail-titlebar{ flex-wrap: wrap; gap: .5rem; } @media (max-width:576px){ .tt-detail-titlebar{ flex-direction: column; align-items: flex-start !important; } #title-btns{ margin-left: 0 !important; } } #title-count.is-limit{ color:var(--cu-danger); font-weight:600; }   .cu-title{ word-break: break-word; }   @media (max-width:576px){ .cu-prop .form-control, .cu-prop .form-select{ max-width:100% !important; width:100% !important; } .cu-prop .val input[type="datetime-local"], .cu-prop .val .form-control-sm{ flex:1 1 100% !important; } .cu-prop .val > span{ display:none; } }   #quick-assignee{ min-width: 200px; } @media (max-width:576px){ #quick-assignee{ min-width:0; width:100%; } }   .tt-modal__body { max-height: calc(108vh - 209px); overflow: auto; }   .tt-modal__body_create { max-height: calc(108vh - 209px); } @media (max-width:576px){ .tt-modal__dialog{ margin: 2vh auto; width: 95vw; } }   .cu-doc{ overflow-wrap: anywhere; }   .tt-toolbar{ display:flex; align-items:flex-end; gap: 0.75rem; flex-wrap: wrap; position: sticky;   top: 0;   z-index: 100;   } .tt-toolbar .btn, .tt-toolbar .form-control, .tt-toolbar .form-select, .tt-toolbar .input-group-text, .tt-toolbar .dropdown-toggle{ transition:box-shadow .2s ease, border-color .2s ease, background-color .2s ease; } .tt-toolbar .btn:focus-visible, .tt-toolbar .form-control:focus-visible, .tt-toolbar .form-select:focus-visible, .tt-toolbar .btn-clear:focus-visible, .tt-toolbar .dropdown-toggle:focus-visible{ outline:0; border-color:var(--cu-accent); box-shadow:0 0 0 0.25rem rgb(var(--cu-accent-rgb) / 0.3); } .tt-filters{ display:flex; align-items:flex-end; gap: .5rem; flex-wrap: wrap; flex: 1 1 auto;   }   .tt-search{ flex: 1 1 420px; min-width: 260px; } .tt-search .input-group-text{ background:var(--cu-surface-2); border:1px solid var(--cu-border); color:var(--cu-dim); } .tt-search .form-control{ background:var(--cu-surface-2); border:1px solid var(--cu-border); color:var(--cu-text); } .tt-search .form-control:focus{ border-color: var(--cu-accent); box-shadow:none; } .tt-filters .btn-clear{ background:var(--cu-surface-2); border:1px solid var(--cu-border); border-left:none; color:var(--cu-dim); } .tt-filters .btn-clear:hover{ color:var(--cu-text); } .tt-filters .btn-clear:focus{ border-color: var(--cu-accent); box-shadow:none; }   .tt-check{ padding-top: .25rem; } @media (min-width: 768px){ .tt-check{ padding-top: 1.6rem; } }   @media (max-width: 576px){ .tt-filters > div{ flex: 1 1 100%; } .tt-search{ flex-basis: 100%; min-width: 0; } .tt-submit{ width:100%; } .tt-submit .btn{ width:100%; } }     .cu-props .form-control, .cu-props .form-select{ height:34px; border-radius:8px; } .cu-prop{ row-gap:4px; } .cu-prop .lbl{ margin-bottom:2px; } .cu-prop .val{ gap:8px; flex-wrap:wrap; } .cu-status-btn{ height:34px; padding:0 12px; } .cu-avatar{ margin-right:6px; }     @media (min-width: 1200px){ .cu-props{ grid-template-columns: repeat(12, minmax(0,1fr)); gap:16px; align-items:start; } .cu-props > .cu-prop:first-child{ grid-column: span 3; } .cu-props > .cu-prop.cu-prop--dates{ grid-column: span 6; }   .cu-props > .cu-prop:nth-child(4){ grid-column: span 4; } .cu-props > .cu-prop:nth-child(5){ grid-column: span 4; } .cu-props > .cu-prop:nth-child(6){ grid-column: span 4; }   .cu-props > .cu-prop:nth-child(7){ grid-column: 1 / -1; } }   .cu-props{ grid-template-columns: repeat(12, minmax(0,1fr)); gap:16px; align-items:start; } .cu-prop{ display:flex; flex-direction:column; row-gap:4px; } .cu-prop .lbl{ margin-bottom:2px; } .cu-prop .val{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; } .cu-props .form-control, .cu-props .form-select{ height:34px; border-radius:8px; } .cu-prop--dates .val input.form-control{ max-width:190px; } .cu-status-btn{ height:34px; padding:0 12px; } .cu-avatar{ margin-right:6px; }   .cu-avatar{display:inline-flex;width:24px;height:24px;border-radius:50%;justify-content:center;align-items:center;font-weight:600;} .assignee-row{display:flex;align-items:center;gap:.5rem;}   .priority-flag{font-size:1rem;} .priority-none{color:var(--cu-priority-none);} .priority-low{color:var(--cu-priority-low);} .priority-medium{color:var(--cu-priority-medium);} .priority-high{color:var(--cu-priority-high);} .priority-urgent{color:var(--cu-priority-urgent);}   .tt-timer-strip{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; border:1px solid var(--cu-border); border-radius:14px; padding:10px 12px; box-shadow: 0 8px 22px rgba(0,0,0,.28); margin-left:auto; margin-right:auto; width:100%; } .tt-timer-strip .cu-ico{ font-size:1.1rem; } @media (max-width:576px){ .tt-timer-strip{ flex-direction:column; align-items:stretch; gap:.6rem; } } .full-width{ width: 100%; }   .tt-billable-card{ border:2px solid #bcc8d7; border-radius:12px; background:#f3f5f8; padding:7px 8px; display:flex; flex-direction:column; gap:6px; max-width:365px; margin:0 auto; } .tt-billable-headline{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:5px; } .tt-billable-headline-item{ font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; text-align:center; } .tt-billable-headline-item.is-paid{ color:#1bb292; } .tt-billable-headline-item.is-unpaid{ color:#e08a2a; } .tt-billable-card-title{ font-size:.52rem; text-transform:uppercase; letter-spacing:.05em; color:#5f6e86; font-weight:800; text-align:center; } .tt-billable-total{ font-size:.84rem; font-weight:800; line-height:1.08; font-variant-numeric:tabular-nums; color:#111827; text-align:center; } .tt-billable-split{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; align-items:center; } .tt-billable-item{ border:2px solid #d1d7e0; border-radius:7px; padding:6px 6px; background:#eaedf2; text-align:center; } .tt-billable-item-value{ font-weight:700; font-variant-numeric:tabular-nums; font-size:.84rem; line-height:1.15; } .tt-billable-item-value.is-paid{ color:#1bb292; } .tt-billable-item-value.is-unpaid{ color:#e08a2a; } .tt-billable-ratio-row{ display:flex; justify-content:center; align-items:center; margin-top:2px; } .tt-billable-ratio-text{ font-size:.5rem; color:#6b7280; font-variant-numeric:tabular-nums; line-height:1.1; } .tt-billable-progress{ height:7px; border-radius:3px; overflow:hidden; display:flex; background:#d7dde7; } .tt-billable-progress-paid{ background:#34c8a5; position:relative; } .tt-billable-progress-paid::after{ content:''; position:absolute; right:-5px; top:0; width:10px; height:100%; background:linear-gradient(60deg, #34c8a5 0 45%, #e89a38 45% 100%); clip-path:polygon(0 0, 100% 50%, 0 100%); } .tt-billable-progress-unpaid{ background:#e89a38; } @media (max-width:576px){ .tt-billable-headline, .tt-billable-split{ grid-template-columns:1fr; } .tt-billable-headline-item, .tt-billable-item-value, .tt-billable-total{ font-size:.75rem; } .tt-billable-progress-paid::after{ display:none; } } .tt-billable-rate{ font-weight:600; } .tt-billable-breakdown{ margin-top: 8px; display:flex; flex-direction:column; gap:6px; } .tt-billable-row{ display:flex; justify-content:space-between; align-items:baseline; font-size:0.95rem; } .tt-billable-label{ color:var(--cu-dim); } .tt-billable-amount{ font-weight:600; font-variant-numeric:tabular-nums; } .tt-billable-hours{ font-size:0.9rem; }   #tt-strip-spacer{ flex: 1 1 auto;   min-width: 8px;   }   @media (max-width:576px){ .tt-timer-strip{ flex-direction: column; align-items: stretch; gap: .6rem; }   #tt-strip-spacer{ flex: 0 0 8px;   height: 8px;   width: 100%;   }   .tt-timer-strip > .d-flex:last-child{ flex-wrap: wrap; justify-content: flex-start; row-gap: .5rem; } }   .tt-modal__body{ max-height: calc(100dvh - 70px);   overflow: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; } @media (max-width:576px){ .tt-modal__dialog{ width: 95vw; margin: 2vh auto; border-radius: 14px; } }   @media (max-width:576px){ .cu-prop .form-control, .cu-prop .form-select{ width:100% !important; max-width:100% !important; } .cu-prop .val input[type="datetime-local"], .cu-prop .val .form-control-sm{ flex:1 1 100% !important; } }   @media (min-width: 768px){ .tt-timer-strip{ justify-content: flex-start !important; }   #tt-strip-spacer{ flex: 1 1 auto; }   .tt-timer-strip > .d-flex:last-child{ margin-left: auto; }   } .cu-props--grid{ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:12px; } .cu-prop{ grid-column:span 6; } .cu-prop--wide{ grid-column:1 / -1; } @media (max-width:992px){ .cu-prop{ grid-column:1 / -1; } } .cu-prop{ grid-column:span 6; background:var(--cu-surface-2); border:1px solid var(--cu-border); border-radius:14px; padding:12px 14px; } @media (max-width: 992px){ .cu-prop{ grid-column:1 / -1; } }   .cu-prop .lbl{ display:flex; align-items:center; gap:8px; font-size:.85rem; color:var(--cu-dim); margin-bottom:8px; } .cu-prop .val{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }   .cu-status-btn{ display:flex; align-items:center; gap:8px; padding:6px 10px; width:100%; border-radius:999px; background:var(--cu-hover); border:1px solid var(--cu-border); color:var(--cu-text); } .cu-status-btn .dot{ width:10px; height:10px; border-radius:50%; }   .cu-date-pair{ display:flex; align-items:center; gap:10px; } .cu-date{ width:210px; } .cu-date-arrow{ opacity:.7; }   .assignee-picker{ position:relative; } .assignee-chips{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; } .assignee-chip{ display:inline-flex; align-items:center; gap:6px; padding:2px 8px; border-radius:999px; background:var(--cu-modal-bg); border:1px solid var(--cu-border); } .assignee-chip .chip-x{ background:transparent; border:0; color:var(--cu-dim); line-height:1; padding:0 4px; cursor:pointer; } .assignee-chip .chip-x:hover{ color:var(--cu-danger); } .assignee-menu{ position:absolute; z-index:1040; top:calc(100% + 6px); left:0; width:280px; max-height:260px; overflow:auto; background:var(--cu-modal-bg); border:1px solid var(--cu-border); border-radius:10px; padding:8px; box-shadow:0 10px 30px rgba(15,23,42,0.16); } .assignee-menu .item{ display:flex; align-items:center; gap:8px; width:100%; border:0; background:transparent; padding:6px 8px; text-align:left; border-radius:8px; color:var(--cu-text); cursor:pointer; } .assignee-menu .item:hover{ background:var(--cu-hover); } .assignee-menu .cu-avatar{ width:24px; height:24px; }   .cu-priority{ min-width:160px; } .priority-flag{ font-size:1rem; margin-right:4px; } .priority-none{ color:var(--cu-priority-none); } .priority-low{ color:var(--cu-priority-low); } .priority-medium{ color:var(--cu-priority-medium); } .priority-high{ color:var(--cu-priority-high); } .priority-urgent{ color:var(--cu-priority-urgent); filter:saturate(1.2); }   .cu-tags{ width:100%; }   .cu-prop--rels .rel-box{ display:flex; flex-direction:column; gap:16px; width:100%; } .rel-group{ position:relative; border-top:1px dashed var(--cu-border); padding-top:10px; } .rel-group:first-child{ border-top:none; padding-top:0; } .rel-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; } .rel-title{ font-weight:600; font-size:.9rem; } .rel-inline{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; } .rel-chip{ max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .rel-menu{ position:absolute; z-index:1040; right:0; top:calc(100% + 6px); width:min(420px, 96vw); max-height:60vh; overflow:auto; background:var(--cu-modal-bg); border:1px solid var(--cu-border); border-radius:12px; padding:10px; box-shadow:0 12px 32px rgba(15,23,42,0.18); } .rel-item{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px; border-radius:8px; text-decoration:none; } .rel-item:hover{ background:var(--cu-hover); } .rel-item-title{ display:inline-block; max-width:75%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .rel-badge{ font-size:.75rem; padding:.15rem .45rem; border:1px solid var(--cu-border); border-radius:999px; } @media (max-width:576px){ .rel-menu{ position:fixed; left:0; right:0; bottom:0; top:auto; max-height:75vh; border-radius:16px 16px 0 0; } }         @media (min-width:1200px){ .cu-props.cu-props--grid{ grid-template-columns: repeat(12, minmax(0,1fr)); }   .cu-props.cu-props--grid > .cu-prop:nth-child(1), .cu-props.cu-props--grid > .cu-prop:nth-child(2){ grid-column: span 6 !important; grid-row: 1 !important; }   .cu-props.cu-props--grid > .cu-prop:nth-child(3), .cu-props.cu-props--grid > .cu-prop:nth-child(4){ grid-column: span 6 !important; grid-row: 2 !important; }   .cu-props.cu-props--grid > .cu-prop:nth-child(5){ grid-column: 1 / -1 !important; grid-row: 3 !important; }   .cu-props.cu-props--grid > .cu-prop:nth-child(6){ grid-column: 1 / -1 !important; grid-row: 4 !important; }     .cu-props.cu-props--grid > .cu-prop.cu-prop--assignees, .cu-props.cu-props--grid > .cu-prop.cu-prop--relationships{ grid-column: 1 / -1 !important;   grid-row: auto !important; }   .cu-prop--assignees .val, .cu-prop--relationships .val{ width:100%; } .cu-prop--assignees .assignee-chips{ flex-wrap:wrap; } .cu-prop--relationships .rel-box{ width:100%; } }   .cu-props--bs { display:block; } .cu-props--bs > .row { margin: 0; } .cu-props--bs > .row, .cu-props--bs .cu-prop{ overflow: visible; } .cu-props--bs .cu-prop{ position: relative; } .cu-props--bs .cu-prop .cu-menu, .cu-props--bs .cu-prop .assignee-menu{ z-index: 3000; } .cu-prop { background: var(--cu-surface-2); border: 1px solid var(--cu-border); border-radius: 12px; padding: 12px; } .cu-prop .lbl { font-weight: 600; opacity: .9; margin-bottom: .5rem; display:flex; gap:.5rem; align-items:center; } .cu-prop .val { width: 100%; }   @media (min-width:1200px){ .cu-props--bs .cu-prop{ min-width:0; grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .cu-props--bs .cu-prop .val, .cu-props--bs .cu-prop .val > *, .cu-props--bs .cu-prop > .d-flex{ min-width:0; } .cu-props--bs .cu-prop > .d-flex{ width:100%; } .cu-props--bs .cu-priority{ min-width:0; width:100%; flex:1 1 auto; } .cu-props--bs .cu-status-btn{ min-width:0; } }     .tt-app-navbar .navbar-nav .nav-link.active, .tt-app-navbar .navbar-nav .nav-link.active:hover, .tt-app-navbar .navbar-nav .nav-link.active:focus, body.cu-dark .tt-app-navbar .navbar-nav .nav-link.active, body.cu-dark .tt-app-navbar .navbar-nav .nav-link.active:hover, body.cu-dark .tt-app-navbar .navbar-nav .nav-link.active:focus{ color:var(--cu-on-accent, #fff)!important; background:linear-gradient(180deg, var(--cu-accent) 0%, var(--cu-accent-strong) 100%)!important; border-color:color-mix(in srgb, var(--cu-accent-strong) 82%, transparent)!important; box-shadow:0 10px 22px rgb(var(--cu-accent-rgb) / 0.25); } .tt-app-navbar .tt-navbar-icon-btn.tt-navbar-action-active, .tt-app-navbar .tt-navbar-icon-btn[aria-current="page"], .tt-app-navbar .tt-navbar-icon-btn.tt-navbar-action-active:hover, .tt-app-navbar .tt-navbar-icon-btn[aria-current="page"]:hover, body.cu-dark .tt-app-navbar .tt-navbar-icon-btn.tt-navbar-action-active, body.cu-dark .tt-app-navbar .tt-navbar-icon-btn[aria-current="page"], body.cu-dark .tt-app-navbar .tt-navbar-icon-btn.tt-navbar-action-active:hover, body.cu-dark .tt-app-navbar .tt-navbar-icon-btn[aria-current="page"]:hover{ color:var(--cu-on-accent, #fff)!important; background:linear-gradient(180deg, var(--cu-accent) 0%, var(--cu-accent-strong) 100%)!important; border-color:color-mix(in srgb, var(--cu-accent-strong) 82%, transparent)!important; box-shadow:0 10px 22px rgb(var(--cu-accent-rgb) / 0.25)!important; }     .tt-settings-grid{ display:grid; gap:1rem; grid-template-columns: 1fr; } @media (min-width: 900px){ .tt-settings-grid{ grid-template-columns: 1fr 1fr; } } .tt-setting-card{ border-radius:16px; } .tt-card-head{ display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; } .tt-card-head i{ font-size:1.6rem; opacity:.9; } .tt-card-title{ font-weight:600; } .tt-card-subtitle{ color:var(--cu-dim); font-size:.95rem; } .tt-form .tt-row{ display:flex; align-items:center; justify-content:space-between; padding:.75rem 0; border-top:1px solid var(--cu-border); } .tt-form .tt-row:first-of-type{ border-top:none; } .tt-form .tt-row--stacked, .tt-form .tt-row--home-default{ gap:1rem; } .tt-label{ font-weight:500; } .tt-help{ color:var(--cu-dim); font-size:.9rem; } .tt-security p{ color:var(--cu-dim); } .form-check.form-switch .form-check-input{ transform: scale(1.1); } .color-transparent{background-color: #00000029 !important;} .tt-home-default-options{ display:inline-flex; align-items:center; gap:.2rem; flex-shrink:0; padding:.25rem; border:1px solid var(--cu-border); border-radius:12px; background:color-mix(in srgb, var(--cu-surface) 88%, var(--cu-accent-softer)); } .tt-home-default-option{ cursor:pointer; margin:0; } .tt-home-default-option input{ position:absolute; opacity:0; pointer-events:none; } .tt-home-default-option span{ border:1px solid transparent; border-radius:9px; color:var(--cu-dim); display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:2.1rem; padding:.35rem .7rem; font-size:.9rem; font-weight:600; line-height:1; white-space:nowrap; } .tt-home-default-option input:checked + span{ border-color:color-mix(in srgb, var(--cu-accent) 18%, transparent); color:var(--cu-text); background:var(--cu-surface); box-shadow:0 8px 18px rgba(15, 23, 42, .08); } @media (max-width: 767.98px){ .tt-form .tt-row--home-default{ align-items:stretch; flex-direction:column; } .tt-home-default-options{ align-self:stretch; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); } .tt-home-default-option span{ width:100%; } }   .tt-inbox-page { position: relative; } .tt-inbox-title { color: var(--cu-text); font-size: 2rem; font-weight: 700; } .tt-inbox-subtitle { max-width: 520px; } .tt-inbox-card { background: var(--cu-surface); border: 1px solid var(--cu-border); border-radius: calc(var(--cu-radius) + 2px); box-shadow: 0 18px 34px rgba(15, 23, 42, .12); } .tt-inbox-toolbar .btn { min-height: 34px; font-weight: 650; } .tt-inbox-toolbar .btn.active { color: var(--cu-on-accent); background: var(--cu-accent); border-color: transparent; } .tt-inbox-toolbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; flex-wrap: wrap; } .tt-inbox-list { display: flex; flex-direction: column; gap: 10px; } .tt-inbox-entry { position: relative; min-width: 0; isolation: isolate; } .tt-inbox-item { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; width: 100%; min-width: 0; padding: 17px 62px 17px 17px; overflow: hidden; color: inherit; text-decoration: none; background: linear-gradient(110deg, rgb(var(--cu-accent-rgb) / .035), transparent 42%), var(--cu-surface-2); border: 1px solid color-mix(in srgb, var(--cu-border) 88%, var(--cu-text) 12%); border-radius: 18px; box-shadow: 0 2px 0 rgb(var(--cu-accent-rgb) / .025); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease; } .tt-inbox-item::before { content: ""; position: absolute; inset: 12px auto 12px 0; width: 3px; background: rgb(var(--cu-accent-rgb) / .44); border-radius: 0 999px 999px 0; opacity: .58; transition: opacity .18s ease, inset .18s ease; } .tt-inbox-item:hover { z-index: 1; color: inherit; border-color: rgb(var(--cu-accent-rgb) / .58); box-shadow: 0 13px 28px rgba(15, 23, 42, .1); transform: translateY(-2px); } .tt-inbox-item:hover::before, .tt-inbox-item:focus-visible::before { inset-block: 7px; opacity: 1; } .tt-inbox-item:focus-visible { color: inherit; outline: 3px solid rgb(var(--cu-accent-rgb) / .28); outline-offset: 2px; } .tt-inbox-body { min-width: 0; } .tt-inbox-icon { position: relative; display: grid; place-items: center; width: 48px; height: 48px; overflow: hidden; color: var(--cu-accent-strong); font-size: 1.22rem; background: rgb(var(--cu-accent-rgb) / .12); border: 1px solid rgb(var(--cu-accent-rgb) / .16); border-radius: 15px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5); } .tt-inbox-icon::after { content: ""; position: absolute; right: -11px; bottom: -11px; width: 24px; height: 24px; border: 6px solid currentColor; border-radius: 50%; opacity: .12; } .tt-inbox-item[data-type="mention"] .tt-inbox-icon { color: var(--cu-accent-strong); background: rgb(var(--cu-accent-rgb) / .14); } .tt-inbox-item[data-type="activity"] .tt-inbox-icon { color: var(--cu-success); background: color-mix(in srgb, var(--cu-success) 13%, transparent); border-color: color-mix(in srgb, var(--cu-success) 21%, transparent); } .tt-inbox-kicker { display: flex; align-items: center; gap: 7px; min-width: 0; margin-bottom: 7px; } .tt-inbox-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 8px; color: var(--cu-accent-strong); font-size: .67rem; font-weight: 800; line-height: 1; letter-spacing: .055em; text-transform: uppercase; background: rgb(var(--cu-accent-rgb) / .11); border: 1px solid rgb(var(--cu-accent-rgb) / .14); border-radius: 999px; } .tt-inbox-badge-activity { color: var(--cu-success); background: color-mix(in srgb, var(--cu-success) 11%, transparent); border-color: color-mix(in srgb, var(--cu-success) 18%, transparent); } .tt-inbox-new-badge { display: inline-flex; align-items: center; gap: 5px; color: var(--cu-accent-strong); font-size: .7rem; font-weight: 750; } .tt-inbox-new-badge > span { width: 7px; height: 7px; background: var(--cu-accent); border-radius: 50%; box-shadow: 0 0 0 3px rgb(var(--cu-accent-rgb) / .13); } .tt-inbox-time { display: inline-flex; align-items: center; gap: 5px; margin-left: auto; color: var(--cu-dim); font-size: .76rem; font-weight: 600; white-space: nowrap; } .tt-inbox-headline { max-width: 68rem; color: var(--cu-text); font-size: 1rem; font-weight: 720; line-height: 1.42; overflow-wrap: anywhere; } .tt-inbox-task { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; min-width: 0; margin-top: 8px; } .tt-inbox-task-public-id { display: inline-flex; align-items: center; gap: 2px; max-width: 100%; padding: 4px 8px; color: var(--cu-dim); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .7rem; font-weight: 750; line-height: 1; letter-spacing: .02em; background: color-mix(in srgb, var(--cu-surface) 72%, transparent); border: 1px solid var(--cu-border); border-radius: 8px; overflow-wrap: anywhere; } .tt-inbox-task-title { min-width: 0; color: var(--cu-dim); font-size: .8rem; font-weight: 550; line-height: 1.35; overflow-wrap: anywhere; } .tt-inbox-preview { max-width: 64rem; margin-top: 10px; padding: 9px 11px; color: var(--cu-dim); font-size: .86rem; line-height: 1.48; background: color-mix(in srgb, var(--cu-surface) 72%, transparent); border-left: 2px solid rgb(var(--cu-accent-rgb) / .38); border-radius: 0 10px 10px 0; overflow-wrap: anywhere; } .tt-inbox-preview .tt-mention { padding: 0 4px; color: var(--cu-accent-strong); background: rgb(var(--cu-accent-rgb) / .16); border-radius: 5px; } .tt-inbox-meta { display: flex; align-items: center; gap: 12px; min-width: 0; margin-top: 11px; color: var(--cu-dim); font-size: .76rem; } .tt-inbox-actor, .tt-inbox-open { display: inline-flex; align-items: center; gap: 5px; } .tt-inbox-actor { min-width: 0; overflow-wrap: anywhere; } .tt-inbox-open { margin-left: auto; color: var(--cu-accent-strong); font-weight: 750; white-space: nowrap; } .tt-inbox-open .bi { transition: transform .18s ease; } .tt-inbox-item:hover .tt-inbox-open .bi { transform: translate(2px, -2px); } .tt-inbox-clear { position: absolute; z-index: 3; top: 12px; right: 12px; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; color: var(--cu-dim); font: inherit; cursor: pointer; background: color-mix(in srgb, var(--cu-surface) 88%, transparent); border: 1px solid var(--cu-border); border-radius: 12px; opacity: .72; transition: color .15s ease, background-color .15s ease, border-color .15s ease, opacity .15s ease, transform .15s ease; } .tt-inbox-entry:hover .tt-inbox-clear, .tt-inbox-clear:focus-visible { opacity: 1; } .tt-inbox-clear:hover { color: var(--cu-danger); background: color-mix(in srgb, var(--cu-danger) 9%, var(--cu-surface)); border-color: color-mix(in srgb, var(--cu-danger) 40%, var(--cu-border)); transform: scale(1.04); } .tt-inbox-clear:focus-visible { outline: 3px solid rgb(var(--cu-accent-rgb) / .24); outline-offset: 2px; } .tt-inbox-clear i { pointer-events: none; } .tt-inbox-empty { background: var(--cu-surface-2); border-radius: var(--cu-radius); } .tt-inbox-empty-icon { color: var(--cu-accent); font-size: 3rem; } .tt-inbox-empty-filter { margin-top: 16px; } body.cu-dark .tt-inbox-item { box-shadow: 0 2px 0 rgba(0, 0, 0, .1); } @media (prefers-reduced-motion: reduce) { .tt-inbox-item, .tt-inbox-item::before, .tt-inbox-clear, .tt-inbox-open .bi { transition: none; } } @media (max-width: 575.98px) { .tt-inbox-card { padding: 12px; border-radius: 18px; } .tt-inbox-toolbar { align-items: stretch !important; } .tt-inbox-toolbar .btn-group { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; } .tt-inbox-toolbar .btn-group > .btn { min-width: 0; } .tt-inbox-toolbar-actions { width: 100%; align-items: flex-start; justify-content: flex-start; } .tt-inbox-list { gap: 9px; } .tt-inbox-item { grid-template-columns: 40px minmax(0, 1fr); gap: 10px; padding: 13px 55px 13px 12px; border-radius: 16px; } .tt-inbox-item::before { inset-block: 10px; } .tt-inbox-icon { width: 40px; height: 40px; font-size: 1.05rem; border-radius: 13px; } .tt-inbox-kicker { align-items: flex-start; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; } .tt-inbox-time { width: 100%; margin-left: 0; font-size: .7rem; } .tt-inbox-headline { font-size: .91rem; line-height: 1.42; } .tt-inbox-task { gap: 6px; margin-top: 7px; } .tt-inbox-task-public-id { font-size: .66rem; } .tt-inbox-task-title { width: 100%; font-size: .76rem; } .tt-inbox-preview { margin-top: 9px; padding: 8px 9px; font-size: .8rem; } .tt-inbox-meta { align-items: flex-start; flex-wrap: wrap; gap: 7px 10px; margin-top: 9px; font-size: .71rem; } .tt-inbox-open { width: 100%; margin-left: 0; } .tt-inbox-clear { top: 7px; right: 6px; width: 44px; height: 44px; background: transparent; border-color: transparent; opacity: .8; } }     .cu-page-header{ --cu-page-header-gap-row:1.15rem; --cu-page-header-gap-column:1.5rem; --cu-page-header-padding-block:1.35rem; --cu-page-header-padding-inline:1.5rem; --cu-page-header-radius:var(--cu-radius); --cu-page-header-accent-right:1.5rem; --cu-page-header-accent-strength:15%; --cu-page-header-title-size:clamp(1.65rem, 2.7vw, 2.15rem); --cu-page-header-title-tracking:-0.04em; --cu-page-header-title-leading:1.04; position:relative; isolation:isolate; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--cu-page-header-gap-row) var(--cu-page-header-gap-column); padding:var(--cu-page-header-padding-block) var(--cu-page-header-padding-inline); overflow:visible; border:1px solid var(--cu-border); border-radius:var(--cu-page-header-radius); background: radial-gradient(circle at 94% -55%, color-mix(in srgb, var(--cu-accent) var(--cu-page-header-accent-strength), transparent), transparent 42%), linear-gradient(145deg, var(--cu-surface), color-mix(in srgb, var(--cu-surface-2) 72%, var(--cu-surface))); box-shadow:0 12px 30px color-mix(in srgb, var(--cu-border) 28%, transparent); } .cu-page-header::after, .cu-page-header__surface-accent{ position:absolute; top:0; right:var(--cu-page-header-accent-right); width:6rem; height:2px; border-radius:999px; background:linear-gradient(90deg, transparent, var(--cu-accent)); pointer-events:none; } .cu-page-header::after{ content:""; } .cu-page-header > :not(.cu-page-header__surface-accent){ position:relative; z-index:1; } .cu-page-header > .cu-page-header__surface-accent{ z-index:0; } .cu-page-header--large{ padding:1.6rem 1.75rem; gap:1.35rem 1.75rem; } .cu-page-header--premium{ --cu-page-header-gap-row:1.5rem; --cu-page-header-padding-block:1.45rem; --cu-page-header-padding-inline:1.65rem; --cu-page-header-radius:18px; --cu-page-header-accent-right:1.65rem; --cu-page-header-accent-strength:16%; --cu-page-header-title-size:clamp(1.7rem, 3vw, 2.3rem); --cu-page-header-title-tracking:-0.045em; --cu-page-header-title-leading:1; overflow:hidden; background: radial-gradient(circle at 92% -45%, color-mix(in srgb, var(--cu-accent) var(--cu-page-header-accent-strength), transparent), transparent 42%), var(--cu-surface); } .cu-page-header--large.cu-page-header--premium{ --cu-page-header-gap-row:1.6rem; --cu-page-header-padding-block:1.6rem; --cu-page-header-padding-inline:1.75rem; } .cu-page-header--overflow-visible{ overflow:visible; } .cu-page-header__identity{ display:flex; align-items:center; gap:1rem; flex:1 1 340px; min-width:0; } .cu-page-header__content{ display:flex; flex:1 1 260px; flex-direction:column; gap:0.42rem; min-width:0; } .cu-page-header__eyebrow{ margin:0; color:var(--cu-accent); font-size:0.69rem; font-weight:900; letter-spacing:0.09em; line-height:1; text-transform:uppercase; } .cu-page-header .cu-page-title{ margin:0; color:var(--cu-text); font-family:Georgia, "Times New Roman", serif; font-size:var(--cu-page-header-title-size); font-weight:700; letter-spacing:var(--cu-page-header-title-tracking); line-height:var(--cu-page-header-title-leading); } .cu-page-header .cu-page-title small{ font-family:inherit; font-size:0.62em; letter-spacing:-0.02em; } .cu-page-header__subtitle{ max-width:46rem; margin:0; color:var(--cu-dim); font-size:0.9rem; line-height:1.5; } .cu-page-header__meta{ display:flex; align-items:center; flex-wrap:wrap; gap:0.32rem 0.55rem; color:var(--cu-dim); font-size:0.86rem; line-height:1.35; } .cu-page-header__meta strong{ color:var(--cu-text); font-size:0.96rem; font-weight:800; } .cu-page-header__actions, .cu-page-header__tabs{ display:flex; align-items:center; justify-content:flex-end; flex:0 1 auto; flex-wrap:wrap; gap:0.7rem; min-width:0; margin-left:auto; } .cu-page-header__actions--scrollable, .cu-page-header__tabs{ flex:1 1 480px; overflow:hidden; } .cu-page-header__actions-track{ max-width:100%; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; } .cu-page-header__actions .btn-group, .cu-page-header__tabs .btn-group{ border-radius:999px; overflow:hidden; } .cu-page-header__actions .btn-group .btn, .cu-page-header__tabs .btn-group .btn{ border-radius:0; padding:0.55rem 1.05rem; } .cu-page-header__actions .btn-group .btn:first-child, .cu-page-header__tabs .btn-group .btn:first-child{ border-top-left-radius:999px; border-bottom-left-radius:999px; } .cu-page-header__actions .btn-group .btn:last-child, .cu-page-header__tabs .btn-group .btn:last-child{ border-top-right-radius:999px; border-bottom-right-radius:999px; } .cu-page-header__actions .btn, .cu-page-header__tabs .btn{ display:inline-flex; align-items:center; justify-content:center; gap:0.45rem; min-height:2.45rem; padding:0.5rem 1.05rem; border-radius:999px; font-weight:700; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; } .cu-page-header__actions .btn i, .cu-page-header__tabs .btn i{ font-size:1.02rem; } .cu-page-header__actions .btn-primary, .cu-page-header__tabs .btn-primary{ box-shadow:var(--cu-accent-shadow); } .cu-page-header__actions .btn:hover, .cu-page-header__tabs .btn:hover{ transform:translateY(-1px); } .cu-page-header__actions .btn-primary:hover, .cu-page-header__tabs .btn-primary:hover{ box-shadow:var(--cu-accent-shadow-strong); } .cu-page-header__actions .btn:focus-visible, .cu-page-header__tabs .btn:focus-visible{ position:relative; z-index:2; outline:3px solid color-mix(in srgb, var(--cu-accent) 34%, transparent); outline-offset:2px; box-shadow:none; } .cu-page-header__actions .btn-outline-danger:focus-visible{ outline-color:rgba(var(--bs-danger-rgb), .34); } .cu-page-header__search{ flex:1 1 240px; min-width:220px; } .cu-page-header__search .input-group-text{ border:1px solid var(--cu-input-border); border-right:0; border-radius:999px 0 0 999px; color:var(--cu-dim); background:var(--cu-input-bg); } .cu-page-header__search .form-control{ padding:0.48rem 0.95rem; border:1px solid var(--cu-input-border); border-left:0; border-radius:0 999px 999px 0; color:var(--cu-input-text); background:var(--cu-input-bg); } .cu-page-header__search .form-control::placeholder{ color:var(--cu-input-ph); } .cu-page-header__search .form-control:focus{ border-color:var(--cu-accent); box-shadow:var(--cu-focus-ring); } .cu-page-header__stats{ display:flex; align-items:center; flex-wrap:wrap; gap:0.6rem; padding:0; margin:0; list-style:none; } .cu-page-header__stats li{ display:flex; flex-direction:column; gap:0.2rem; min-width:108px; padding:0.65rem 0.8rem; border:1px solid color-mix(in srgb, var(--cu-border) 82%, transparent); border-radius:12px; background:color-mix(in srgb, var(--cu-surface) 78%, var(--cu-surface-2)); } .cu-page-header__stats .label{ color:var(--cu-dim); font-size:0.69rem; letter-spacing:0.08em; text-transform:uppercase; font-weight:800; } .cu-page-header__stats strong{ color:var(--cu-text); font-size:1.18rem; overflow-wrap:anywhere; } .cu-page-header--premium > .cu-page-header__tabs{ flex:1 1 100%; justify-content:flex-start; width:100%; margin-left:0; } .cu-page-header__segmented{ display:inline-flex; gap:0.2rem; width:max-content; padding:0.28rem; border:1px solid color-mix(in srgb, var(--cu-border) 82%, transparent); border-radius:999px; background:color-mix(in srgb, var(--cu-surface-2) 82%, var(--cu-surface)); box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cu-surface) 84%, transparent); } .cu-page-header__tabs .cu-page-header__segmented{ overflow:visible; } .cu-page-header__tabs .cu-page-header__segmented .btn{ border:0; color:var(--cu-dim); background:transparent; box-shadow:none; white-space:nowrap; } .cu-page-header__tabs .cu-page-header__segmented .btn:hover{ color:var(--cu-text); background:color-mix(in srgb, var(--cu-surface) 64%, transparent); } .cu-page-header__tabs .cu-page-header__segmented .btn.active, .cu-page-header__tabs .cu-page-header__segmented .btn[aria-current="page"]{ color:var(--cu-accent); background:var(--cu-surface); box-shadow:0 6px 16px color-mix(in srgb, var(--cu-border) 42%, transparent); } .cu-page-header__mobile-note{ display:flex; align-items:flex-start; gap:0.55rem; flex:1 1 100%; padding:0.7rem 0.8rem; border:1px solid color-mix(in srgb, var(--cu-accent) 24%, var(--cu-border)); border-radius:12px; color:var(--cu-dim); background:color-mix(in srgb, var(--cu-accent) 7%, var(--cu-surface)); font-size:0.82rem; line-height:1.4; } .cu-page-header__mobile-note i{ flex:0 0 auto; color:var(--cu-accent); } .cu-page-header__icon{ display:inline-flex; align-items:center; justify-content:center; width:50px; height:50px; flex:0 0 auto; border:1px solid color-mix(in srgb, var(--cu-accent) 38%, transparent); border-radius:15px; color:var(--cu-on-accent); background:linear-gradient(135deg, var(--cu-accent), var(--cu-accent-strong)); box-shadow:var(--cu-accent-shadow); font-size:1.45rem; } body.cu-dark .cu-page-header{ box-shadow:none; background: radial-gradient(circle at 94% -55%, color-mix(in srgb, var(--cu-accent) 18%, transparent), transparent 42%), linear-gradient(145deg, var(--cu-surface), color-mix(in srgb, var(--cu-surface-2) 76%, var(--cu-surface))); } body.cu-dark .cu-page-header--premium{ background: radial-gradient(circle at 92% -45%, color-mix(in srgb, var(--cu-accent) 18%, transparent), transparent 42%), var(--cu-surface); } body.cu-dark .cu-page-header__icon{ box-shadow:0 10px 24px color-mix(in srgb, var(--cu-accent) 18%, transparent); } @media (max-width:767.98px){ .cu-page-header{ --cu-page-header-padding-block:1.05rem; --cu-page-header-padding-inline:1.05rem; --cu-page-header-accent-right:1.05rem; align-items:flex-start; gap:0.9rem; } .cu-page-header--premium{ --cu-page-header-padding-block:1.2rem; --cu-page-header-padding-inline:1.2rem; --cu-page-header-accent-right:1.2rem; --cu-page-header-title-size:1.7rem; flex-direction:column; } .cu-page-header--large.cu-page-header--premium{ --cu-page-header-padding-block:1.2rem; --cu-page-header-padding-inline:1.2rem; } .cu-page-header__identity{ flex:1 1 100%; width:100%; } .cu-page-header__actions, .cu-page-header__tabs{ justify-content:flex-start; width:100%; margin-left:0; } .cu-page-header__actions--scrollable, .cu-page-header__tabs{ flex-basis:100%; } .cu-page-header__search{ flex:1 1 100%; min-width:0; } .cu-page-header__stats{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); width:100%; } .cu-page-header__stats li{ min-width:0; } .cu-page-header__stats li:last-child:nth-child(odd){ grid-column:1 / -1; } .cu-page-header__actions-track{ width:100%; } } @media (prefers-reduced-motion:reduce){ .cu-page-header__actions .btn, .cu-page-header__tabs .btn{ transition:none; } }   .tt-page-help-stack{ display:flex; flex:0 0 auto; flex-direction:column; align-items:center; gap:0.45rem; } .tt-page-title-help{ display:flex; align-items:center; gap:0.55rem; flex-wrap:wrap; } .tt-help-trigger{ width:28px; height:28px; border:1px solid color-mix(in srgb, var(--cu-accent) 36%, var(--cu-border)); border-radius:50%; background:var(--cu-surface); color:var(--cu-accent); display:inline-flex; align-items:center; justify-content:center; padding:0; font-size:0.92rem; font-weight:800; line-height:1; box-shadow:0 8px 18px rgb(var(--cu-accent-rgb) / 0.16); cursor:pointer; transition:transform .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease; } .tt-help-trigger:hover, .tt-help-trigger:focus{ border-color:var(--cu-accent); background:color-mix(in srgb, var(--cu-accent) 10%, var(--cu-surface)); color:var(--cu-accent); box-shadow:0 10px 22px rgb(var(--cu-accent-rgb) / 0.22); transform:translateY(-1px); } .tt-help-trigger:focus-visible{ outline:0; box-shadow:0 0 0 3px rgb(var(--cu-accent-rgb) / 0.22), 0 10px 22px rgb(var(--cu-accent-rgb) / 0.22); } .tt-help-modal{ position:fixed; inset:0; z-index:1070; display:none; } .tt-help-modal.is-open{ display:flex; align-items:center; justify-content:center; padding:24px 16px; } .tt-help-modal__backdrop{ position:absolute; inset:0; background:rgba(15,23,42,0.58); } .tt-help-modal__dialog{ position:relative; width:min(520px, calc(100vw - 32px)); max-height:calc(100vh - 48px); margin:0; display:flex; flex-direction:column; overflow:hidden; background:var(--cu-modal-bg); color:var(--cu-text); border:1px solid var(--cu-border); border-radius:14px; box-shadow:0 24px 70px rgba(15,23,42,0.28); } .tt-help-modal__header{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1.1rem 1.25rem 0.85rem; border-bottom:1px solid var(--cu-border); flex-shrink:0; } .tt-help-modal__title{ margin:0; color:var(--cu-text); font-size:1.15rem; font-weight:750; } .tt-help-modal__close{ width:34px; height:34px; border:1px solid var(--cu-border); border-radius:50%; background:var(--cu-surface); color:var(--cu-text); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; padding:0; font-size:1.2rem; line-height:1; cursor:pointer; } .tt-help-modal__close:hover, .tt-help-modal__close:focus{ background:var(--cu-hover); } .tt-help-modal__close:focus-visible{ outline:0; box-shadow:0 0 0 3px rgb(var(--cu-accent-rgb) / 0.22); } .tt-help-modal__body{ overflow:auto; min-height:0; overscroll-behavior:contain; padding:1.1rem 1.25rem 1.25rem; } .tt-help-modal__text{ margin:0; color:var(--cu-text); font-size:0.98rem; line-height:1.58; white-space:pre-line; } body.tt-help-modal-open{ overflow:hidden; } body.cu-dark .tt-help-trigger{ background:var(--cu-surface-2); box-shadow:0 10px 20px rgba(0,0,0,0.28); } body.cu-dark .tt-help-modal__backdrop{ background:rgba(0,0,0,0.68); } body.cu-dark .tt-help-modal__dialog{ box-shadow:0 28px 74px rgba(0,0,0,0.52); }   .tt-help-modal [hidden]{ display:none !important; } .tt-help-modal__heading{ min-width:0; } .tt-help-modal--guide .tt-help-modal__dialog{ width:min(980px, calc(100vw - 32px)); height:min(780px, calc(100vh - 48px)); height:min(780px, calc(100dvh - 48px)); border-radius:10px; } .tt-help-modal--guide .tt-help-modal__header{ padding:1rem 1.5rem; } .tt-help-modal--guide .tt-help-modal__title{ font-size:1.2rem; letter-spacing:0; } .tt-help-modal--guide .tt-help-modal__body{ flex:1; padding:1.5rem 2rem 2rem; } .tt-help-guide__tabs{ display:flex; flex:0 0 auto; gap:.35rem; overflow-x:auto; overscroll-behavior-x:contain; padding:0 1.5rem; border-bottom:1px solid var(--cu-border); background:var(--cu-modal-bg); scrollbar-width:thin; } .tt-help-guide__tab{ display:inline-flex; align-items:center; justify-content:center; flex:1 0 auto; gap:.45rem; padding:.9rem .65rem; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:var(--cu-dim); font:inherit; font-size:.85rem; font-weight:650; white-space:nowrap; } .tt-help-guide__tab:hover{ background:var(--cu-hover); color:var(--cu-text); } .tt-help-guide__tab[aria-selected="true"]{ border-bottom-color:var(--cu-text); color:var(--cu-text); background:transparent; box-shadow:none; } .tt-help-guide__section-title{ font-size:1.25rem; line-height:1.4; letter-spacing:0; font-weight:650; margin:0 0 .6rem; color:var(--cu-text); } .tt-help-guide__intro{ color:var(--cu-text); margin:0 0 1.25rem; line-height:1.65; } .tt-help-guide__block{ margin-top:1.4rem; font-size:.94rem; line-height:1.65; } .tt-help-guide__block p{ margin:0; } .tt-help-guide__block-title{ color:var(--cu-text); font-size:1rem; line-height:1.4; font-weight:750; margin:0 0 .75rem; } .tt-help-guide__steps-list{ padding:0 0 0 1.4rem; margin:0; } .tt-help-guide__steps-list li{ padding:0 0 1rem .5rem; } .tt-help-guide__steps-list li:last-child{ padding-bottom:0; } .tt-help-guide__steps-list li::marker{ color:var(--cu-dim); font-weight:600; } .tt-help-guide__steps-list h4{ font-size:.98rem; font-weight:750; margin:0 0 .25rem; color:var(--cu-text); } .tt-help-guide__steps-list p{ color:var(--cu-dim); } .tt-help-guide__block dl{ margin:0; } .tt-help-guide__definition{ display:grid; grid-template-columns:11rem minmax(0, 1fr); gap:1.25rem; padding:.9rem 0; border-bottom:1px solid var(--cu-border); } .tt-help-guide__definition:first-child{ padding-top:0; } .tt-help-guide__definition:last-child{ border-bottom:0; padding-bottom:0; } .tt-help-guide__definition dt{ font-weight:700; color:var(--cu-text); } .tt-help-guide__definition dd{ margin:0; color:var(--cu-dim); } .tt-help-guide__callout, .tt-help-guide__example{ padding:.3rem 0 .3rem 1rem; border-left:2px solid var(--cu-border-strong); border-radius:0; background:transparent; } .tt-help-guide__callout .tt-help-guide__block-title{ margin-bottom:.35rem; } .tt-help-guide__faq details{ border-bottom:1px solid var(--cu-border); } .tt-help-guide__faq summary{ position:relative; list-style:none; cursor:pointer; color:var(--cu-text); padding:1rem 2rem 1rem 0; font-weight:700; } .tt-help-guide__faq summary::-webkit-details-marker{ display:none; } .tt-help-guide__faq summary::after{ content:'+'; position:absolute; right:.4rem; font-size:1.3rem; line-height:1.2; color:var(--cu-accent); } .tt-help-guide__faq details[open] summary::after{ content:'−'; } .tt-help-guide__faq details p{ padding:0 1.75rem 1rem 0; color:var(--cu-dim); } .tt-help-guide__block.is-contextual{ outline:2px solid color-mix(in srgb, var(--cu-accent) 55%, transparent); outline-offset:7px; border-radius:8px; } .tt-help-guide__block.is-contextual:focus{ box-shadow:none; } .tt-help-guide__footer{ display:flex; flex:0 0 auto; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.75rem; border-top:1px solid var(--cu-border); } .tt-help-guide__progress{ font-size:.8rem; color:var(--cu-dim); } .tt-help-guide__navigation{ display:flex; gap:.5rem; } .tt-help-guide__navigation button{ border:1px solid var(--cu-border); border-radius:8px; padding:.5rem 1rem; background:var(--cu-surface); color:var(--cu-text); font:inherit; font-size:.9rem; font-weight:650; } .tt-help-guide__navigation .tt-help-guide__next{ background:var(--cu-surface); border-color:var(--cu-border-strong); color:var(--cu-text); } .tt-help-guide__navigation button:hover:not(:disabled){ filter:brightness(.94); } .tt-help-guide__navigation button:disabled{ opacity:.4; cursor:default; } .tt-help-guide__tab:focus-visible, .tt-help-guide__panel:focus-visible, .tt-help-guide__faq summary:focus-visible, .tt-help-guide__navigation button:focus-visible{ outline:2px solid var(--cu-accent); outline-offset:2px; } .tt-help-guide__panel:focus{ outline-offset:6px; }   .tt-help-guide__figure{ display:grid; grid-template-columns:minmax(0, 1.25fr) minmax(180px, .85fr); align-items:start; gap:1rem 1.75rem; padding:1.1rem 0; border-top:1px solid var(--cu-border); border-bottom:1px solid var(--cu-border); } .tt-help-figure__media{ min-width:0; overflow-x:auto; } .tt-help-figure__stage{ position:relative; overflow:hidden; width:100%; border:1px solid var(--cu-border); background:#fff; } .tt-help-figure__stage img{ position:absolute; display:block; max-width:none; height:auto; } .tt-help-figure__marker{ position:absolute; display:grid; place-items:center; width:23px; height:23px; transform:translate(-50%, -50%); border:2px solid #fff; border-radius:50%; background:#245d78; color:#fff; font:700 12px/1 var(--cu-font-sans); box-shadow:0 0 0 1px #245d78; } .tt-help-figure__notes{ margin:0; padding:0 0 0 1.3rem; } .tt-help-figure__notes li{ padding:0 0 1rem .25rem; } .tt-help-figure__notes li:last-child{ padding-bottom:0; } .tt-help-figure__notes li::marker{ color:var(--cu-text); font-weight:700; } .tt-help-figure__notes strong{ display:block; font-size:.93rem; margin-bottom:.25rem; } .tt-help-figure__notes p{ font-size:.88rem; line-height:1.55; color:var(--cu-dim); } .tt-help-figure__zoom{ display:block; border:0; border-radius:0; padding:.55rem 0 0; background:none; color:var(--cu-text); font:inherit; font-size:.8rem; text-decoration:underline; text-underline-offset:3px; } .tt-help-figure__zoom:focus-visible{ outline:2px solid var(--cu-accent); outline-offset:2px; } .tt-help-guide__figure.is-expanded{ grid-template-columns:1fr; } .tt-help-guide__figure.is-expanded .tt-help-figure__stage{ min-width:var(--figure-width); } .tt-help-guide__figure.is-expanded .tt-help-figure__notes{ columns:2; column-gap:2rem; } .tt-help-figure__notes li{ break-inside:avoid; } .tt-help-guide__figure figcaption, .tt-help-guide__timeline figcaption{ grid-column:1 / -1; font-size:.8rem; line-height:1.5; color:var(--cu-dim); } .tt-help-guide__timeline{ padding:1.2rem 0; border-top:1px solid var(--cu-border); border-bottom:1px solid var(--cu-border); } .tt-help-timeline__source{ display:flex; flex-wrap:wrap; gap:.3rem 1rem; margin:0 0 1.4rem !important; } .tt-help-timeline__source span{ color:var(--cu-dim); } .tt-help-timeline__events{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); list-style:none; padding:0; margin:0 0 1.2rem; gap:1.5rem; } .tt-help-timeline__events li{ position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; gap:.3rem; } .tt-help-timeline__events li:not(:last-child)::after{ content:'→'; position:absolute; top:2.65rem; left:calc(100% + .25rem); width:1rem; color:var(--cu-dim); font-size:1.1rem; } .tt-help-timeline__date{ font-size:.85rem; color:var(--cu-text); } .tt-help-timeline__drawing{ display:block; position:relative; width:38px; height:47px; margin:.4rem 0; border:1.5px solid var(--cu-text-soft); border-radius:2px; background:var(--cu-surface); } .tt-help-timeline__drawing::before{ content:''; position:absolute; right:-1.5px; top:-1.5px; width:11px; height:11px; background:var(--cu-modal-bg); border-left:1.5px solid var(--cu-text-soft); border-bottom:1.5px solid var(--cu-text-soft); } .tt-help-timeline__drawing::after{ content:''; position:absolute; left:7px; top:20px; height:1px; width:20px; background:var(--cu-dim); box-shadow:0 6px 0 var(--cu-dim), 0 12px 0 var(--cu-dim); } .tt-help-timeline__events .is-paused .tt-help-timeline__drawing{ border-style:dashed; opacity:.7; } .tt-help-timeline__events .is-paused .tt-help-timeline__drawing::after{ top:16px; left:12px; width:10px; height:16px; border-left:3px solid var(--cu-dim); border-right:3px solid var(--cu-dim); background:none; box-shadow:none; } .tt-help-timeline__events strong{ font-size:.92rem; font-weight:650; } .tt-help-timeline__text{ font-size:.8rem; color:var(--cu-dim); line-height:1.45; } @media (max-width: 700px) { .tt-help-guide__figure{ grid-template-columns:1fr; gap:.85rem; } .tt-help-guide__figure.is-expanded .tt-help-figure__notes{ columns:auto; } .tt-help-timeline__events{ gap:.65rem; } .tt-help-timeline__events li:not(:last-child)::after{ left:calc(100% - .15rem); } .tt-help-timeline__date{ font-size:.75rem; } } @media (max-width: 575.98px) { .tt-help-trigger{ width:32px; height:32px; } .tt-help-modal__dialog{ position:absolute; left:0; right:0; bottom:0; top:auto; width:100%; max-height:82vh; margin:0; border-right:0; border-bottom:0; border-left:0; border-radius:18px 18px 0 0; transform:none; } .tt-help-modal--guide .tt-help-modal__dialog{ width:100%; height:94vh; height:94dvh; max-height:94vh; max-height:94dvh; border-radius:18px 18px 0 0; } .tt-help-modal--guide .tt-help-modal__header{ padding:.9rem 1.1rem; } .tt-help-modal--guide .tt-help-modal__title{ font-size:1.35rem; } .tt-help-modal--guide .tt-help-modal__body{ padding:1.35rem 1.2rem 1.5rem; } .tt-help-guide__tabs{ padding:0 .7rem; } .tt-help-guide__tab{ min-height:44px; } .tt-help-guide__section-title{ font-size:1.3rem; } .tt-help-guide__definition{ grid-template-columns:1fr; gap:.2rem; padding:.7rem 0; } .tt-help-guide__footer{ padding:.75rem 1rem max(.75rem, env(safe-area-inset-bottom)); gap:.5rem; } .tt-help-guide__progress{ max-width:42%; font-size:.72rem; } .tt-help-guide__navigation button{ min-height:44px; padding:.45rem .8rem; } }   .users-page{ display:flex; flex-direction:column; gap:1.5rem; } .users-collection{ display:flex; flex-direction:column; gap:1.25rem; } .users-grid{ display:grid; gap:1.25rem; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); } .user-card{ background:var(--cu-surface); border:1px solid var(--cu-border); border-radius:var(--cu-radius); padding:20px; display:flex; flex-direction:column; gap:1.1rem; box-shadow:0 14px 32px rgba(15,23,42,0.12); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; } body.cu-dark .user-card{ box-shadow:0 18px 32px rgba(0,0,0,0.45); } .user-card:hover{ transform:translateY(-3px); border-color:var(--cu-accent); box-shadow:0 24px 42px rgba(15,23,42,0.18); } body.cu-dark .user-card:hover{ box-shadow:0 28px 46px rgba(0,0,0,0.55); } .user-card-header{ display:flex; align-items:center; gap:1rem; } .user-avatar{ width:52px; height:52px; border-radius:18px; background:var(--cu-avatar-bg); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:1.1rem; color:var(--cu-text); } .user-card-title{ flex:1; min-width:0; } .user-name{ font-size:1.1rem; font-weight:600; color:var(--cu-text); margin:0; } .user-email{ font-size:0.9rem; color:var(--cu-dim); word-break:break-word; } .user-status{ font-size:0.75rem; padding:0.3rem 0.65rem; border-radius:999px; } .user-card-body{ display:grid; gap:1rem; } .user-field{ display:flex; flex-direction:column; gap:0.35rem; } .user-field-label{ font-size:0.75rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--cu-dim); font-weight:600; } .user-field-value{ font-size:0.95rem; color:var(--cu-text); display:flex; align-items:center; gap:0.5rem; flex-wrap:wrap; } .user-card-body .cu-chip{ background:var(--cu-hover); border-radius:999px; padding:0.25rem 0.85rem; font-weight:600; color:var(--cu-text); } body.cu-dark .user-card-body .cu-chip{ background:rgba(255,255,255,0.06); } .user-pill{ display:inline-flex; align-items:center; justify-content:center; padding:0.25rem 0.7rem; border-radius:999px; background:rgb(var(--cu-accent-rgb) / 0.16); color:var(--cu-accent-strong); font-weight:600; font-size:0.85rem; } body.cu-dark .user-pill{ background:rgb(var(--cu-accent-rgb) / 0.28); } .user-pill-muted{ background:var(--cu-hover); color:var(--cu-dim); } body.cu-dark .user-pill-muted{ background:rgba(255,255,255,0.08); color:var(--cu-dim); } .user-currency{ font-weight:500; color:var(--cu-dim); letter-spacing:0.05em; text-transform:uppercase; } .user-card-footer{ margin-top:auto; padding-top:1rem; border-top:1px solid var(--cu-border); display:flex; align-items:center; justify-content:space-between; gap:0.75rem; flex-wrap:wrap; font-size:0.85rem; color:var(--cu-dim); } .user-card-meta{ display:flex; flex-direction:column; gap:0.2rem; } .user-card-footer .btn{ font-weight:600; } .users-empty{ text-align:center; padding:40px 16px; border:1px dashed var(--cu-border); border-radius:var(--cu-radius); color:var(--cu-dim); font-size:0.95rem; } .users-empty i{ font-size:1.6rem; display:block; margin-bottom:0.5rem; opacity:0.7; } .users-pagination{ display:flex; justify-content:center; } @media (max-width: 575.98px){ .users-grid{ grid-template-columns:1fr; } .user-card{ padding:18px; } .user-card-footer{ align-items:flex-start; } }         .tt-tracker-page{ padding-bottom:2rem; } .tt-tracker-title{ font-weight:600; font-size:2rem; color:var(--cu-text); } .tt-tracker-subtitle{ color:var(--cu-dim); } .tt-tracker-scope-strip{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.55rem; } .tt-tracker-scope-strip span{ display:inline-flex; align-items:center; gap:.35rem; min-height:1.75rem; padding:.25rem .55rem; border:1px solid var(--cu-border); border-radius:999px; background:var(--cu-surface-2); color:var(--cu-dim); font-size:.8rem; line-height:1; white-space:nowrap; } .tt-tracker-scope-strip i{ color:var(--cu-accent); font-size:.9rem; } .tt-tracker-summary .tt-summary-card{ display:flex; align-items:center; gap:1rem; border:1px solid var(--cu-border); border-radius:var(--cu-radius); background:var(--cu-surface); padding:1rem 1.25rem; transition:transform .2s ease, box-shadow .2s ease; } .tt-tracker-summary .tt-summary-card:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(15,17,21,0.08); } .tt-summary-icon{ width:3rem; height:3rem; border-radius:1rem; display:flex; align-items:center; justify-content:center; background:var(--cu-surface-2); color:var(--cu-accent); font-size:1.35rem; } .tt-summary-icon--paid{ color:var(--cu-success); } .tt-summary-icon--pending{ color:var(--cu-dim); } .tt-summary-icon--average{ color:#0ea5e9; } .tt-summary-icon--scope{ color:#f97316; } .tt-summary-label{ font-size:0.85rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--cu-dim); margin-bottom:0.2rem; } .tt-summary-value{ font-size:1.75rem; font-weight:600; color:var(--cu-text); } .tt-summary-count{ font-weight:700; color:var(--cu-text); } .tt-summary-dot{ padding:0 0.35rem; color:var(--cu-dim); } .tt-summary-subtitle{ font-size:0.85rem; } .tt-duration{ display:flex; flex-direction:column; gap:0.15rem; line-height:1.25; } .tt-duration__primary{ font-weight:700; color:var(--cu-text); } .tt-duration__secondary{ font-size:0.9rem; color:var(--cu-dim); } .tt-duration--table{ align-items:flex-end; } .tt-duration--table .tt-duration__primary{ font-size:1rem; } .tt-duration--table .tt-duration__secondary{ font-size:0.8rem; } .tt-badge-duration{ display:flex; flex-direction:column; align-items:flex-start; gap:0.05rem; line-height:1.2; } .tt-tracker-day-meta .badge{ border:1px solid var(--cu-border); box-shadow:0 8px 20px rgba(15,17,21,0.08); } .tt-tracker-day-meta .badge.bg-primary-subtle{ background:rgb(var(--cu-accent-rgb) / 0.12)!important; color:var(--cu-accent-strong)!important; } .tt-tracker-day-meta .badge.bg-success-subtle{ background:rgba(52,211,153,0.12)!important; color:var(--cu-success)!important; } .tt-tracker-day-meta .badge.bg-warning-subtle{ background:rgba(234,179,8,0.14)!important; color:var(--cu-text)!important; } body.cu-dark .tt-tracker-summary .tt-summary-card{ box-shadow:0 14px 40px rgba(0,0,0,0.45); background:var(--cu-surface-1); } body.cu-dark .tt-summary-label, body.cu-dark .tt-summary-subtitle{ color:var(--cu-dim); } body.cu-dark .tt-tracker-scope-strip span{ background:rgba(15,23,42,.76); border-color:rgba(148,163,184,.2); color:var(--cu-text); } body.cu-dark .tt-tracker-day .card-header{ background:var(--cu-surface-1); } body.cu-dark .tt-tracker-day-meta .badge{ box-shadow:0 16px 36px rgba(0,0,0,0.6); border-color:rgba(255,255,255,0.08); } body.cu-dark .tt-tracker-day-meta .badge.bg-primary-subtle{ background:rgb(var(--cu-accent-rgb) / 0.22)!important; color:var(--cu-accent)!important; border-color:rgb(var(--cu-accent-rgb) / 0.45)!important; } body.cu-dark .tt-tracker-day-meta .badge.bg-success-subtle{ background:rgba(34,197,94,0.22)!important; color:var(--cu-success)!important; border-color:rgba(34,197,94,0.45)!important; } body.cu-dark .tt-tracker-day-meta .badge.bg-warning-subtle{ background:rgba(234,179,8,0.24)!important; color:var(--cu-text)!important; border-color:rgba(234,179,8,0.5)!important; } body.cu-dark .tt-tracker-filters .card-body{ background:var(--cu-surface-1); } body.cu-dark .tt-tracker-filters .form-label, body.cu-dark .tt-tracker-filters .form-check-label, body.cu-dark .tt-tracker-filters .small.text-muted{ color:var(--cu-text)!important; } body.cu-dark .tt-tracker-filters .form-select, body.cu-dark .tt-tracker-filters .form-control{ background:var(--cu-surface-2); border-color:rgba(148,163,184,0.4); color:var(--cu-text); color-scheme:dark; } body.cu-dark .tt-tracker-filters .form-select:focus, body.cu-dark .tt-tracker-filters .form-control:focus{ border-color:rgb(var(--cu-accent-rgb) / 0.65); box-shadow:0 0 0 0.2rem rgb(var(--cu-accent-rgb) / 0.25); } body.cu-dark .tt-tracker-filters .form-check-input{ border-color:rgba(148,163,184,0.75); background-color:var(--cu-surface-2); } .tt-tracker-filters .card-body{ background:var(--cu-surface); } .tt-tracker-filter-grid{ display:grid; grid-template-columns:repeat(3, minmax(150px, 1fr)) auto minmax(130px, max-content); gap:.75rem; align-items:end; } .tt-filter-field{ min-width:0; } .tt-filter-field .form-label, .tt-filter-field--per-page .form-label{ display:block; margin-bottom:.25rem; } .tt-filter-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; } .tt-filter-actions .btn{ white-space:nowrap; } .tt-filter-field--per-page{ width:100%; } .tt-filter-field--relations{ grid-column:1 / -1; padding-top:.25rem; } .tt-tracker-filters .form-label{ font-weight:600; color:var(--cu-dim); } .tt-tracker-filters .form-check-label{ color:var(--cu-text); } .tt-tracker-filters .form-select, .tt-tracker-filters .form-control{ background:var(--cu-input-bg); border-color:var(--cu-input-border); color:var(--cu-input-text); } .tt-tracker-filters .form-check-input:disabled, .tt-tracker-filters .form-select:disabled, .tt-tracker-filters .form-control:disabled{ opacity:0.7; } .tt-tracker-filters .form-check-input:disabled ~ .form-check-label{ color:var(--cu-dim); } .tt-tracker-filters .btn-link{ color:var(--cu-accent); } .tt-tracker-filters .btn-link:hover{ color:var(--cu-accent-strong); } .tt-related-task-list__label{ display:inline-flex; margin-right:.35rem; } .tt-related-task-chip{ display:inline-flex; align-items:center; gap:.45rem; max-width:100%; margin:.2rem .25rem .2rem 0; padding:.25rem .55rem; border:1px solid var(--cu-border); border-radius:999px; background:var(--cu-surface); color:var(--cu-text); vertical-align:middle; } .tt-related-task-chip__title{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700; } .tt-related-task-chip__meta{ display:inline-flex; align-items:center; gap:.25rem; color:var(--cu-dim); white-space:nowrap; } .tt-related-task-chip__meta i{ color:var(--cu-accent); } .tt-tracker-empty{ border:1px solid var(--cu-border); background:var(--cu-surface); } .tt-tracker-empty .card-body{ background:transparent; } body.cu-dark .tt-tracker-empty{ background:var(--cu-surface-1); border-color:rgba(148,163,184,0.22); } body.cu-dark .tt-tracker-empty .card-body h3, body.cu-dark .tt-tracker-empty .card-body p{ color:var(--cu-text)!important; } body.cu-dark .tt-tracker-empty .card-body p{ color:var(--cu-dim)!important; } .tt-tracker-empty .tt-empty-icon{ width:3.5rem; height:3.5rem; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:2rem; background:var(--cu-surface-2); color:var(--cu-dim); } .tt-tracker-day{ border:1px solid var(--cu-border); border-radius:var(--cu-radius); background:var(--cu-surface); } .tt-tracker-day .card-header{ border-bottom:1px solid var(--cu-border); background:var(--cu-surface-2); color:var(--cu-text); } .tt-tracker-day .tt-day-action{ font-weight:600; box-shadow:0 0.2rem 0.5rem rgba(15, 23, 42, 0.15); } .tt-day-entry-count{ display:inline-flex; align-items:center; min-height:1.5rem; padding:.15rem .5rem; border:1px solid var(--cu-border); border-radius:999px; background:var(--cu-surface); color:var(--cu-dim); font-size:.75rem; font-weight:600; } .tt-tracker-day-meta .badge{ font-weight:500; font-size:0.75rem; } .tt-tracker-table thead{ background:var(--cu-surface-2); color:var(--cu-dim); } .tt-tracker-table tbody tr:hover{ background:var(--cu-hover); } .tt-tracker-table td, .tt-tracker-table th{ vertical-align:middle; border-color:var(--cu-border); } .tt-task-project-line{ display:inline-flex; align-items:center; gap:.25rem; max-width:28rem; margin-left:.45rem; vertical-align:middle; } .tt-task-project-line i{ font-size:.8rem; } .tt-related-entry-pill{ display:inline-flex; align-items:center; gap:.25rem; margin-left:.45rem; padding:.1rem .45rem; border:1px solid rgba(14,165,233,.32); border-radius:999px; background:rgba(14,165,233,.1); color:#0369a1; font-size:.72rem; font-weight:700; vertical-align:middle; white-space:nowrap; } .tt-related-entry-pill i{ font-size:.78rem; } .tt-source-badge{ letter-spacing:.04em; } .tt-paid-badge{ font-size:0.7rem; border-radius:999px; padding:0.2rem 0.5rem; } .tt-entry-controls{ transition:background-color .2s ease; } .tt-entry-actions{ display:flex; align-items:center; } .tt-entry-actions-toggle{ color:var(--cu-dim); padding:0.25rem 0.45rem; border-radius:0.5rem; line-height:1; } .tt-entry-actions-toggle:hover, .tt-entry-actions-toggle:focus{ color:var(--cu-text); background:var(--cu-hover); text-decoration:none; } .tt-entry-action-menu{ min-width:11rem; border-radius:0.75rem; border-color:var(--cu-border); position:absolute; display:block; visibility:hidden; opacity:0; transform:translateY(-0.25rem); transition:opacity .15s ease, transform .15s ease; z-index:1050; pointer-events:none; left:-9999px; top:auto; } .tt-entry-action-menu.show{ visibility:visible; opacity:1; transform:none; pointer-events:auto; } .tt-entry-action-menu .dropdown-item{ display:flex; align-items:center; gap:0.35rem; font-weight:500; } .tt-entry-action-delete{ color:var(--cu-danger) !important; } .tt-entry-action-delete:hover, .tt-entry-action-delete:focus{ color:var(--cu-on-danger) !important; background:var(--cu-danger) !important; } .tt-bulk-toolbar .btn[data-tt-bulk-toggle]{ display:inline-flex; align-items:center; } .tt-ledger-count{ display:inline-flex; align-items:center; gap:.35rem; min-height:1.95rem; padding:.25rem .6rem; border:1px solid var(--cu-border); border-radius:999px; background:var(--cu-surface); color:var(--cu-dim); font-size:.8rem; font-weight:600; } .tt-ledger-count i{ color:var(--cu-accent); } .tt-bulk-toolbar-actions .btn-sm{ font-weight:500; } .tt-bulk-checkbox-wrapper{ display:none; } .tt-bulk-checkbox-wrapper .form-check-input{ cursor:pointer; } .tt-bulk-mode .tt-bulk-checkbox-wrapper{ display:block; } .tt-bulk-mode .tt-paid-toggle, .tt-bulk-mode .tt-entry-actions{ display:none !important; } .tt-bulk-mode .tt-entry-controls{ background:var(--cu-surface-2); border-radius:0.75rem; padding:0.25rem 0.5rem; } .tt-bulk-mode .tt-entry-controls .tt-bulk-checkbox-wrapper{ margin-right:0.25rem; } .tt-bulk-mode .tt-paid-badge{ margin-top:0.25rem; } #tt-tracker-feedback{ border-radius:var(--cu-radius); border-width:1px; } .tt-tracker-days .form-check-input{ cursor:pointer; } .tt-tracker-days .form-check-input:focus{ box-shadow:0 0 0 0.2rem rgb(var(--cu-accent-rgb) / 0.25); } .tt-tracker-days .form-check-input:checked{ background-color:var(--cu-success); border-color:var(--cu-success); } .tt-tracker-day .small{ color:var(--cu-dim); } .tt-tracker-day .text-muted{ color:var(--cu-dim)!important; } .tt-tracker-day .fw-semibold{ color:var(--cu-text); } .tt-tracker-plain .tt-tracker-heading.cu-page-header{ padding:14px 18px; } .tt-tracker-plain .tt-tracker-title{ font-size:1.65rem; } .tt-tracker-plain .tt-tracker-summary{ margin-bottom:1rem!important; } .tt-tracker-plain .tt-tracker-summary .tt-summary-card{ min-height:5.4rem; padding:.75rem .95rem; gap:.75rem; } .tt-tracker-plain .tt-summary-icon{ width:2.45rem; height:2.45rem; border-radius:.75rem; font-size:1.1rem; } .tt-tracker-plain .tt-summary-label{ font-size:.72rem; margin-bottom:.15rem; } .tt-tracker-plain .tt-summary-value{ font-size:1.35rem; } .tt-tracker-plain .tt-summary-subtitle{ font-size:.78rem; } .tt-tracker-plain .tt-tracker-filters .card-body{ padding:.85rem 1rem; } .tt-tracker-plain .tt-tracker-filter-grid{ grid-template-columns:minmax(145px, 180px) minmax(145px, 180px) auto minmax(128px, max-content); } .tt-tracker-plain .tt-tracker-day .card-header{ padding:.65rem .85rem; } .tt-tracker-plain .tt-tracker-day-meta{ gap:.5rem!important; } .tt-tracker-plain .tt-badge-duration{ flex-direction:row; align-items:center; gap:.35rem; } .tt-tracker-table--compact th, .tt-tracker-table--compact td{ padding:.5rem .65rem; } .tt-tracker-table--compact .tt-duration--table .tt-duration__primary{ font-size:.95rem; } .tt-tracker-table--compact .tt-duration--table .tt-duration__secondary{ font-size:.76rem; } body.cu-dark .tt-day-entry-count, body.cu-dark .tt-ledger-count{ background:var(--cu-surface-1); border-color:rgba(148,163,184,.22); color:var(--cu-text); } body.cu-dark .tt-related-task-chip{ background:var(--cu-surface-1); border-color:rgba(148,163,184,.22); color:var(--cu-text); } body.cu-dark .tt-related-entry-pill{ background:rgba(56,189,248,.15); border-color:rgba(56,189,248,.34); color:#bae6fd; } @media (max-width: 991.98px){ .tt-tracker-title{ font-size:1.6rem; } .tt-summary-card{ flex-direction:row; } .tt-tracker-filter-grid, .tt-tracker-plain .tt-tracker-filter-grid{ grid-template-columns:repeat(2, minmax(150px, 1fr)); } .tt-filter-actions{ justify-content:flex-start; } .tt-filter-field--per-page{ max-width:12rem; } } @media (max-width: 575.98px){ .tt-tracker-scope-strip span{ white-space:normal; } .tt-tracker-summary .tt-summary-card{ flex-direction:row; align-items:flex-start; } .tt-tracker-day .card-header{ align-items:flex-start!important; } .tt-tracker-day-meta{ width:100%; justify-content:flex-start; } .tt-tracker-filter-grid, .tt-tracker-plain .tt-tracker-filter-grid{ grid-template-columns:1fr; } .tt-filter-actions{ width:100%; } .tt-filter-actions .btn-primary{ flex:1 1 auto; } .tt-task-project-line{ display:flex; margin:.15rem 0 0; max-width:100%; } .tt-related-entry-pill{ margin:.25rem 0 0; } .tt-related-task-chip{ border-radius:.75rem; align-items:flex-start; flex-direction:column; gap:.2rem; } }   .tt-tracker-heading.cu-page-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-radius:var(--cu-radius);} .tt-tracker-heading .cu-page-header__content{flex:1 1 260px;} .tt-tracker-heading .cu-page-header__actions .btn{border-radius:999px;}         .tt-custom-fields-toolbar{ position:sticky; top:0; z-index:2; display:flex; justify-content:flex-end; align-items:center; gap:0.5rem; padding:0.5rem 0; background:linear-gradient(var(--cu-surface), rgba(248,250,252,0)); } .tt-custom-fields-toolbar[data-visible="false"]{ display:none !important; } .tt-custom-fields-controls--desktop-only{ display:flex; } @media (max-width: 767.98px){ .tt-custom-fields-controls--desktop-only{ display:none !important; } } .tt-cf-layout-chip{ position:relative; display:inline-flex; align-items:center; gap:0.45rem; padding:0.35rem 0.85rem; border-radius:999px; border:1px solid var(--cu-border-strong); background:var(--cu-surface); color:var(--cu-text); font-size:0.82rem; font-weight:600; letter-spacing:0.01em; transition:border-color .15s ease, box-shadow .15s ease, background .15s ease; } .tt-cf-layout-chip:hover, .tt-cf-layout-chip:focus{ text-decoration:none; border-color:var(--cu-accent); box-shadow:0 8px 18px rgb(var(--cu-accent-rgb) / 0.12); outline:none; } .tt-cf-layout-chip:focus-visible{ box-shadow:0 0 0 0.2rem rgb(var(--cu-accent-rgb) / 0.18); } .tt-cf-chip-icon{ display:flex; align-items:center; justify-content:center; width:1.6rem; height:1.6rem; border-radius:999px; background:rgb(var(--cu-accent-rgb) / 0.12); color:var(--cu-accent); font-size:0.95rem; } .tt-cf-chip-label{ text-transform:uppercase; font-size:0.68rem; letter-spacing:0.1em; color:var(--cu-dim); } .tt-cf-chip-summary{ font-weight:700; color:var(--cu-text-strong); } .tt-cf-layout-popover{ position:absolute; top:calc(100% + 0.5rem); right:0; min-width:220px; padding:0.85rem; border-radius:0.75rem; border:1px solid var(--cu-border-strong); background:var(--cu-surface); box-shadow:0 18px 40px rgba(15,17,21,0.16); display:flex; flex-direction:column; gap:0.75rem; z-index:10; } .tt-cf-layout-popover.is-open{ animation:ttFadeInUp .18s ease; } .tt-cf-layout-popover[data-floating="true"]{ position:fixed; inset:auto auto auto auto; right:auto; z-index:1100; } .tt-cf-layout-popover[data-placement="top"]{ transform-origin:bottom right; } .tt-cf-layout-popover[data-placement="bottom"]{ transform-origin:top right; } .tt-cf-layout-popover--scroll{ overflow-y:auto; } @keyframes ttFadeInUp{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:translateY(0); } } .tt-cf-popover-section{ display:flex; flex-direction:column; gap:0.45rem; } .tt-gap-control{ display:flex; flex-direction:column; gap:0.5rem; } .tt-gap-fields{ display:flex; align-items:center; gap:0.75rem; } .tt-gap-number{ min-width:110px; } .tt-gap-slider{ flex:1; min-width:140px; } .tt-cf-popover-label{ font-size:0.72rem; text-transform:uppercase; letter-spacing:0.08em; font-weight:700; color:var(--cu-dim); } .tt-cf-segmented{ display:flex; gap:0.4rem; } .tt-cf-segment{ flex:1 1 auto; border:1px solid var(--cu-border); border-radius:0.6rem; background:var(--cu-surface-1,#fff); padding:0.35rem 0.6rem; font-size:0.78rem; font-weight:600; color:var(--cu-text); transition:background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease; } .tt-cf-segment:hover{ border-color:var(--cu-accent); color:var(--cu-accent-strong); } .tt-cf-segment.is-active{ border-color:var(--cu-accent); background:rgb(var(--cu-accent-rgb) / 0.12); color:var(--cu-accent-strong); box-shadow:0 10px 22px rgb(var(--cu-accent-rgb) / 0.16); } .tt-cf-segment:focus-visible{ outline:none; box-shadow:0 0 0 0.18rem rgb(var(--cu-accent-rgb) / 0.24); } body.cu-dark .tt-custom-fields-toolbar{ background:linear-gradient(var(--cu-surface-2), rgba(15,17,21,0)); } body.cu-dark .tt-cf-layout-chip{ border-color:rgba(86,93,116,0.9); background:rgba(17,21,30,0.92); color:rgba(226,232,240,0.95); } body.cu-dark .tt-cf-layout-chip:hover, body.cu-dark .tt-cf-layout-chip:focus{ border-color:rgb(var(--cu-accent-rgb) / 0.9); box-shadow:0 10px 24px rgb(var(--cu-accent-rgb) / 0.26); } body.cu-dark .tt-cf-chip-icon{ background:rgb(var(--cu-accent-rgb) / 0.22); color:rgb(var(--cu-accent-rgb) / 0.92); } body.cu-dark .tt-cf-chip-summary{ color:rgba(226,232,240,0.95); } body.cu-dark .tt-cf-layout-popover{ border-color:rgba(86,93,116,0.9); background:rgba(21,24,33,0.98); box-shadow:0 20px 44px rgba(0,0,0,0.45); } body.cu-dark .tt-cf-popover-label{ color:rgba(186, 194, 209, 0.9); } body.cu-dark .tt-cf-segment{ border-color:rgba(86,93,116,0.75); background:rgba(17,21,30,0.95); color:rgba(226,232,240,0.9); } body.cu-dark .tt-cf-segment:hover{ border-color:rgb(var(--cu-accent-rgb) / 0.95); color:rgb(var(--cu-accent-rgb) / 0.95); } body.cu-dark .tt-cf-segment.is-active{ border-color:rgb(var(--cu-accent-rgb) / 0.95); background:rgb(var(--cu-accent-rgb) / 0.24); color:rgb(var(--cu-accent-rgb) / 0.95); box-shadow:0 16px 30px rgb(var(--cu-accent-rgb) / 0.26); } .tt-custom-fields-grid{ --tt-custom-align: flex-start; --tt-grid-gap: 24px; --bs-gutter-x: var(--tt-grid-gap); --bs-gutter-y: var(--tt-grid-gap); } .tt-custom-fields-grid .tt-custom-field-card{ padding:0.9rem 1rem; display:flex; flex-direction:column; align-items:flex-start; min-height:5.25rem; gap:0.35rem; transition:box-shadow .2s ease, transform .2s ease; } .tt-custom-fields-grid .tt-custom-field-card > * + *{ margin-top:0.35rem; } .tt-custom-fields-grid .tt-custom-field-card:hover{ box-shadow:0 12px 24px rgba(15,17,21,0.06); transform:translateY(-1px); } body.cu-dark .tt-custom-fields-grid .tt-custom-field-card{ background:var(--cu-surface-2); } .tt-custom-field-name{ letter-spacing:0.06em; } .tt-custom-field-value{ word-break:break-word; color:var(--cu-text); } .tt-custom-field-link{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:0.25rem; width:100%; padding:0.7rem 0.85rem; border:1px solid rgb(var(--cu-accent-rgb) / 0.35); border-radius:var(--cu-radius); background:rgb(var(--cu-accent-rgb) / 0.1); color:var(--cu-accent-strong); text-decoration:none; font-weight:600; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; } .tt-custom-field-link:hover, .tt-custom-field-link:focus{ text-decoration:none; border-color:rgb(var(--cu-accent-rgb) / 0.55); box-shadow:0 10px 22px rgb(var(--cu-accent-rgb) / 0.18); transform:translateY(-1px); } .tt-custom-field-link-label{ display:flex; align-items:center; font-size:0.95rem; } .tt-custom-field-meta{ font-size:0.8rem; color:var(--cu-dim); } .tt-custom-fields-grid[data-align="start"] .tt-custom-field-card{ text-align:left; align-items:flex-start; } .tt-custom-fields-grid[data-align="center"] .tt-custom-field-card{ text-align:center; align-items:center; } .tt-custom-fields-grid[data-align="end"] .tt-custom-field-card{ text-align:right; align-items:flex-end; } .tt-custom-fields-grid[data-align="center"] .tt-custom-field-link{ align-items:center; } .tt-custom-fields-grid[data-align="end"] .tt-custom-field-link{ align-items:flex-end; } body.cu-dark .tt-custom-field-link{ border-color:rgb(var(--cu-accent-rgb) / 0.45); background:rgb(var(--cu-accent-rgb) / 0.12); color:rgb(var(--cu-accent-rgb) / 0.95); } body.cu-dark .tt-custom-field-link:hover, body.cu-dark .tt-custom-field-link:focus{ border-color:rgb(var(--cu-accent-rgb) / 0.65); box-shadow:0 14px 28px rgb(var(--cu-accent-rgb) / 0.28); } body.cu-dark .tt-custom-field-meta{ color:rgba(196,196,207,0.8); } .tt-roles-page { --tt-rbac-bg: color-mix(in srgb, var(--cu-bg) 94%, #eef2f7 6%); --tt-rbac-surface: var(--cu-surface); --tt-rbac-surface-2: color-mix(in srgb, var(--cu-surface) 86%, var(--cu-surface-2) 14%); --tt-rbac-border: color-mix(in srgb, var(--cu-border) 86%, var(--cu-text) 14%); --tt-rbac-muted: var(--cu-dim); --tt-rbac-ink: var(--cu-text); --tt-rbac-accent: var(--cu-accent); --tt-rbac-accent-strong: var(--cu-accent-strong); --tt-rbac-accent-soft: color-mix(in srgb, var(--tt-rbac-accent) 10%, transparent); --tt-rbac-success: #047857; --tt-rbac-warning: #a16207; --tt-rbac-danger: #dc2626; color: var(--tt-rbac-ink); } body.cu-dark .tt-roles-page { --tt-rbac-bg: var(--cu-bg); --tt-rbac-surface: color-mix(in srgb, var(--cu-surface) 92%, #0b1020 8%); --tt-rbac-surface-2: color-mix(in srgb, var(--cu-surface) 76%, #1c2434 24%); --tt-rbac-border: color-mix(in srgb, var(--cu-border) 82%, #6b7280 18%); --tt-rbac-accent: var(--cu-accent); --tt-rbac-accent-strong: var(--cu-accent-strong); --tt-rbac-accent-soft: color-mix(in srgb, var(--tt-rbac-accent) 14%, transparent); --tt-rbac-success: #34d399; --tt-rbac-warning: #fbbf24; --tt-rbac-danger: #fb7185; } .tt-roles-page, .tt-roles-page * { letter-spacing: 0; } .tt-roles-page code, .tt-roles-page .tt-permission-title, .tt-roles-page .tt-opposed-choice-title { overflow-wrap: anywhere; } .tt-roles-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: stretch; padding: 1rem; border: 1px solid var(--tt-rbac-border); border-top: 4px solid var(--tt-rbac-accent); border-radius: 8px; background: var(--tt-rbac-surface); box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06); } body.cu-dark .tt-roles-hero { box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32); } .tt-roles-hero-main { min-width: 0; } .tt-roles-kicker { display: inline-flex; align-items: center; gap: 0.4rem; margin-bottom: 0.45rem; color: var(--tt-rbac-accent); font-size: 0.78rem; font-weight: 700; text-transform: uppercase; } .tt-roles-hero h1 { font-size: 1.65rem; font-weight: 800; line-height: 1.1; } .tt-roles-hero-metrics { display: grid; grid-template-columns: repeat(3, minmax(88px, 1fr)); gap: 0.6rem; min-width: 300px; } .tt-roles-metric { display: flex; flex-direction: column; justify-content: center; min-height: 72px; padding: 0.7rem 0.8rem; border: 1px solid var(--tt-rbac-border); border-radius: 8px; background: var(--tt-rbac-surface-2); } .tt-roles-metric span { font-size: 1.35rem; font-weight: 800; line-height: 1; } .tt-roles-metric small { margin-top: 0.25rem; color: var(--tt-rbac-muted); font-size: 0.72rem; text-transform: uppercase; } .tt-roles-page .alert { border-radius: 8px; } .tt-roles-tabs { top: 0; z-index: 40; margin-bottom: 0.95rem; padding: 0.35rem; border: 1px solid var(--tt-rbac-border); border-radius: 8px; background: color-mix(in srgb, var(--tt-rbac-surface) 94%, transparent); box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08); backdrop-filter: blur(14px); } .tt-roles-page .tt-roles-tabs.bg-body { background: color-mix(in srgb, var(--tt-rbac-surface) 94%, transparent) !important; } .tt-roles-page .tt-roles-tabs.pt-2 { padding: 0.35rem !important; } body.cu-dark .tt-roles-tabs { background: color-mix(in srgb, var(--tt-rbac-surface) 90%, transparent); box-shadow: 0 12px 28px rgba(0, 0, 0, 0.36); } body.cu-dark .tt-roles-page .tt-roles-tabs.bg-body { background: color-mix(in srgb, var(--tt-rbac-surface) 90%, transparent) !important; } .tt-roles-tabs .nav { gap: 0.25rem; } .tt-roles-tabs .nav-link { display: inline-flex; align-items: center; gap: 0.45rem; min-height: 42px; padding: 0.45rem 0.7rem; border: 1px solid transparent; border-radius: 8px; color: var(--tt-rbac-muted); font-weight: 700; white-space: nowrap; } .tt-roles-tabs .nav-link:hover { color: var(--tt-rbac-ink); background: var(--tt-rbac-surface-2); } .tt-roles-tabs .nav-link.active { color: var(--cu-on-accent, #fff); border-color: var(--tt-rbac-accent-strong); background: linear-gradient(180deg, var(--tt-rbac-accent) 0%, var(--tt-rbac-accent-strong) 100%); box-shadow: 0 8px 18px color-mix(in srgb, var(--tt-rbac-accent) 24%, transparent); } body.cu-dark .tt-roles-tabs .nav-link.active { color: var(--cu-on-accent, #fff); border-color: color-mix(in srgb, var(--tt-rbac-accent) 72%, #fff 28%); box-shadow: 0 10px 20px color-mix(in srgb, var(--tt-rbac-accent) 20%, transparent); } .tt-tab-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.55rem; height: 1.45rem; padding: 0 0.4rem; border-radius: 999px; background: color-mix(in srgb, currentColor 10%, transparent); font-size: 0.72rem; font-weight: 800; } .tt-roles-panel, .tt-roles-page .card { border: 1px solid var(--tt-rbac-border); border-radius: 8px; background: var(--tt-rbac-surface); box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05); } body.cu-dark .tt-roles-panel, body.cu-dark .tt-roles-page .card { background: var(--tt-rbac-surface); box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28); } .tt-roles-page .card .card-header { border-bottom: 1px solid var(--tt-rbac-border); background: transparent; } .tt-roles-page .card-body, .tt-role-picker-body, .tt-permission-editor-body { padding: 1rem; } .tt-roles-page .form-control, .tt-roles-page .form-select { min-height: 38px; border-color: var(--tt-rbac-border); border-radius: 8px; background-color: var(--cu-input-bg); color: var(--cu-input-text); } .tt-roles-page .form-control:focus, .tt-roles-page .form-select:focus { border-color: var(--tt-rbac-accent); box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--tt-rbac-accent) 22%, transparent); } .tt-roles-page .btn { border-radius: 8px; font-weight: 700; } .tt-roles-page .btn-primary { border-color: var(--tt-rbac-accent); background: linear-gradient(180deg, var(--tt-rbac-accent) 0%, var(--tt-rbac-accent-strong) 100%); } .tt-roles-page .btn-outline-primary { --bs-btn-color: var(--tt-rbac-accent-strong); --bs-btn-border-color: var(--tt-rbac-accent); --bs-btn-hover-color: var(--cu-on-accent, #fff); --bs-btn-hover-bg: var(--tt-rbac-accent); --bs-btn-hover-border-color: var(--tt-rbac-accent); --bs-btn-active-color: var(--cu-on-accent, #fff); --bs-btn-active-bg: var(--tt-rbac-accent); --bs-btn-active-border-color: var(--tt-rbac-accent); --bs-btn-disabled-color: var(--tt-rbac-accent); --bs-btn-disabled-border-color: var(--tt-rbac-accent); } .tt-roles-page .btn-primary:focus-visible, .tt-roles-page .btn-outline-primary:focus-visible { box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--tt-rbac-accent) 24%, transparent); } .tt-roles-page .table { --bs-table-bg: transparent; margin-bottom: 0; } .tt-roles-page .table thead th { color: var(--tt-rbac-muted); font-size: 0.72rem; font-weight: 800; text-transform: uppercase; border-bottom-color: var(--tt-rbac-border); } .tt-roles-page .table > :not(caption) > * > * { padding-top: 0.75rem; padding-bottom: 0.75rem; border-bottom-color: var(--tt-rbac-border); } .tt-role-row:hover, #assignment-table tbody tr:hover { background: var(--tt-rbac-accent-soft); } .tt-export-import-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: stretch; } .tt-policy-summary { display: grid; gap: 0.55rem; } .tt-policy-summary div { display: grid; grid-template-columns: minmax(100px, 0.32fr) minmax(0, 1fr); gap: 0.75rem; align-items: start; min-height: 38px; padding: 0.58rem 0.65rem; border: 1px solid var(--tt-rbac-border); border-radius: 8px; background: var(--tt-rbac-surface-2); } .tt-policy-summary dt { color: var(--tt-rbac-muted); font-size: 0.72rem; font-weight: 800; text-transform: uppercase; } .tt-policy-summary dd { min-width: 0; margin: 0; font-weight: 700; } .tt-import-form .form-check-label { font-weight: 700; } .tt-roles-page .btn i { margin-right: 0.35rem; } .tt-permissions-layout { display: grid; grid-template-columns: minmax(250px, 300px) minmax(0, 1fr); gap: 1rem; align-items: start; } .tt-role-picker { position: sticky; top: 68px; max-height: calc(100vh - 88px); overflow: auto; } .tt-role-snapshot { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.45rem; } .tt-role-snapshot div { min-width: 0; padding: 0.55rem; border: 1px solid var(--tt-rbac-border); border-radius: 8px; background: var(--tt-rbac-surface-2); } .tt-role-snapshot span { display: block; font-weight: 800; line-height: 1; } .tt-role-snapshot small { display: block; margin-top: 0.22rem; color: var(--tt-rbac-muted); font-size: 0.66rem; text-transform: uppercase; } .tt-category-rail { display: grid; gap: 0.35rem; } .tt-category-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.5rem; align-items: center; min-height: 36px; padding: 0.45rem 0.55rem; border: 1px solid transparent; border-radius: 8px; color: var(--tt-rbac-ink); text-decoration: none; } .tt-category-link:hover { border-color: var(--tt-rbac-border); background: var(--tt-rbac-surface-2); } .tt-category-link span { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-weight: 700; } .tt-category-link small { color: var(--tt-rbac-muted); font-variant-numeric: tabular-nums; } .tt-editor-toolbar { position: sticky; padding-top: 0.90rem; top: 54px; z-index: 30; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: start; padding-bottom: 0.85rem; border-bottom: 1px solid var(--tt-rbac-border); background: color-mix(in srgb, var(--tt-rbac-surface) 96%, transparent); backdrop-filter: blur(12px); } .tt-editor-actions, .tt-filter-actions, .tt-category-actions { display: flex; flex-wrap: wrap; gap: 0.45rem; justify-content: flex-end; } .tt-permission-filters { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(250px, 0.45fr); gap: 0.65rem; } .tt-permission-filters .col-md-7, .tt-permission-filters .col-md-5 { width: auto; } .tt-permission-filters .btn-group .btn { min-height: 38px; } .tt-permission-groups { display: grid; gap: 0.9rem; } .tt-permission-group { scroll-margin-top: 126px; border: 1px solid var(--tt-rbac-border); border-radius: 8px; background: color-mix(in srgb, var(--tt-rbac-surface) 96%, var(--tt-rbac-surface-2) 4%); overflow: hidden; } .tt-permission-group-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.75rem; align-items: center; padding: 0.75rem 0.85rem; border-bottom: 1px solid var(--tt-rbac-border); background: var(--tt-rbac-surface-2); } .tt-permission-group-header strong { font-size: 0.98rem; } .tt-permission-group-body { padding: 0.85rem; } .tt-permission-list { display: grid; gap: 0.55rem; } .tt-permission-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.75rem; align-items: center; min-height: 58px; padding: 0.65rem 0.72rem; border: 1px solid var(--tt-rbac-border); border-left-width: 4px; border-left-color: transparent; border-radius: 8px; background: var(--tt-rbac-surface); transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease; } .tt-permission-item:hover { border-color: color-mix(in srgb, var(--tt-rbac-accent) 34%, var(--tt-rbac-border)); transform: translateY(-1px); } .tt-permission-item:has(.tt-cap-checkbox:checked) { border-color: color-mix(in srgb, var(--tt-rbac-accent) 42%, var(--tt-rbac-border)); border-left-color: var(--tt-rbac-accent); background: color-mix(in srgb, var(--tt-rbac-accent) 8%, var(--tt-rbac-surface)); } .tt-permission-title { display: block; margin-bottom: 0.1rem; color: var(--tt-rbac-ink); font-size: 0.82rem; font-weight: 800; line-height: 1.25; } .tt-permission-desc, .tt-opposed-choice-desc { margin-bottom: 0; color: var(--tt-rbac-muted); font-size: 0.72rem; line-height: 1.25; } .tt-permission-toggle-wrap { display: flex; flex-direction: column; align-items: flex-end; gap: 0.35rem; } .tt-permission-switch { position: relative; display: inline-flex; width: 48px; height: 28px; } .tt-permission-switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; } .tt-permission-switch-ui { display: block; width: 100%; height: 100%; border: 1px solid var(--tt-rbac-border); border-radius: 999px; background: color-mix(in srgb, var(--tt-rbac-muted) 36%, transparent); transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease; } .tt-permission-switch-ui::after { content: ""; position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 2px 4px rgba(15, 23, 42, 0.28); transition: transform 0.18s ease; } .tt-permission-switch input:checked + .tt-permission-switch-ui { border-color: var(--tt-rbac-accent); background: var(--tt-rbac-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--tt-rbac-accent) 16%, transparent); } .tt-permission-switch input:checked + .tt-permission-switch-ui::after { transform: translateX(20px); } .tt-permission-switch input:focus-visible + .tt-permission-switch-ui { outline: 2px solid color-mix(in srgb, var(--tt-rbac-accent) 70%, #fff 30%); outline-offset: 2px; } .tt-cap-row-opposed { grid-template-columns: minmax(0, 150px) minmax(0, 1fr); align-items: center; background: color-mix(in srgb, var(--tt-rbac-accent) 7%, var(--tt-rbac-surface)); } .tt-permission-item-head { display: flex; align-items: center; min-width: 0; } .tt-opposed-badge { max-width: 100%; overflow: hidden; text-overflow: ellipsis; font-weight: 800; } .tt-opposed-selector { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 0.55rem; min-width: 0; } .tt-opposed-choice { display: flex; flex-direction: column; gap: 0.25rem; min-height: 76px; padding: 0.65rem 0.7rem; border: 1px solid var(--tt-rbac-border); border-radius: 8px; background: var(--tt-rbac-surface); color: var(--tt-rbac-ink); text-align: left; } .tt-opposed-choice:hover { border-color: color-mix(in srgb, var(--tt-rbac-accent) 42%, var(--tt-rbac-border)); background: color-mix(in srgb, var(--tt-rbac-accent) 5%, var(--tt-rbac-surface)); } .tt-opposed-choice.active { border-color: var(--tt-rbac-accent); background: color-mix(in srgb, var(--tt-rbac-accent) 14%, var(--tt-rbac-surface)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tt-rbac-accent) 34%, transparent); } .tt-opposed-choice-title { font-size: 0.8rem; font-weight: 800; line-height: 1.2; } .tt-roles-page .text-success { color: var(--tt-rbac-success) !important; } .tt-roles-page .text-warning-emphasis { color: var(--tt-rbac-warning) !important; } .tt-roles-page .text-muted, .tt-roles-page .text-body-secondary { color: var(--tt-rbac-muted) !important; } body.cu-dark .tt-roles-page .badge.text-bg-light { background: color-mix(in srgb, var(--tt-rbac-surface-2) 86%, #334155 14%) !important; color: var(--tt-rbac-ink) !important; } body.cu-dark .tt-roles-page .btn-outline-secondary, body.cu-dark .tt-roles-page .btn-outline-dark { color: var(--tt-rbac-ink); border-color: var(--tt-rbac-border); } body.cu-dark .tt-roles-page .btn-outline-secondary:hover, body.cu-dark .tt-roles-page .btn-outline-dark:hover { background: var(--tt-rbac-surface-2); } body.cu-dark .tt-roles-page .alert-light { color: var(--tt-rbac-ink); background: var(--tt-rbac-surface-2); border-color: var(--tt-rbac-border); } .tt-role-system-hidden { display: none !important; } @media (max-width: 1199.98px) { .tt-roles-hero { grid-template-columns: 1fr; } .tt-roles-hero-metrics { min-width: 0; } .tt-permissions-layout { grid-template-columns: 1fr; } .tt-export-import-grid { grid-template-columns: 1fr; } .tt-role-picker { position: static; max-height: none; } .tt-category-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 767.98px) { .tt-roles-page { padding-top: 0.35rem !important; } .tt-roles-hero { padding: 0.85rem; } .tt-roles-hero h1 { font-size: 1.35rem; } .tt-roles-hero-metrics, .tt-role-snapshot, .tt-category-rail, .tt-opposed-selector { grid-template-columns: 1fr; } .tt-editor-toolbar, .tt-permission-group-header, .tt-permission-filters, .tt-policy-summary div, .tt-cap-row-opposed { grid-template-columns: 1fr; } .tt-editor-actions, .tt-category-actions, .tt-filter-actions { justify-content: flex-start; } .tt-permission-item { grid-template-columns: 1fr; } .tt-permission-toggle-wrap { align-items: flex-start; } .tt-roles-tabs { border-radius: 8px; } .tt-roles-tabs .nav-link { min-height: 40px; padding-inline: 0.6rem; } }   .tt-roles-hero.cu-page-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-radius:var(--cu-radius);background:var(--cu-surface);border:1px solid var(--cu-border);} .tt-roles-hero-main.cu-page-header__content{flex:1 1 260px;} .tt-roles-hero.cu-page-header h1{font-size:1.75rem;color:var(--cu-text);}   .tt-roles-page { --tt-rbac-plan-lock-bg: color-mix(in srgb, var(--tt-rbac-warning) 7%, var(--tt-rbac-surface)); --tt-rbac-plan-lock-bg-strong: color-mix(in srgb, var(--tt-rbac-warning) 13%, var(--tt-rbac-surface)); --tt-rbac-plan-lock-border: color-mix(in srgb, var(--tt-rbac-warning) 46%, var(--tt-rbac-border)); --tt-rbac-plan-lock-pill: color-mix(in srgb, var(--tt-rbac-warning) 16%, transparent); --tt-rbac-module-lock-bg: color-mix(in srgb, var(--tt-rbac-danger) 6%, var(--tt-rbac-surface)); --tt-rbac-module-lock-bg-strong: color-mix(in srgb, var(--tt-rbac-danger) 11%, var(--tt-rbac-surface)); --tt-rbac-module-lock-border: color-mix(in srgb, var(--tt-rbac-danger) 40%, var(--tt-rbac-border)); --tt-rbac-module-lock-pill: color-mix(in srgb, var(--tt-rbac-danger) 13%, transparent); } .tt-roles-page .tt-permission-item.opacity-75 { opacity: 1 !important; } .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-plan-blocked="1"]) { position: relative; border-color: var(--tt-rbac-plan-lock-border); border-left-color: var(--tt-rbac-warning); background: linear-gradient(90deg, color-mix(in srgb, var(--tt-rbac-warning) 11%, transparent), transparent 42%), var(--tt-rbac-plan-lock-bg); } .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-plan-blocked="1"]):hover { border-color: color-mix(in srgb, var(--tt-rbac-warning) 58%, var(--tt-rbac-border)); transform: none; } .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-plan-blocked="1"]):has(.tt-cap-checkbox:checked) { background: linear-gradient(90deg, color-mix(in srgb, var(--tt-rbac-warning) 15%, transparent), transparent 46%), var(--tt-rbac-plan-lock-bg-strong); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tt-rbac-warning) 18%, transparent); } .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-plan-blocked="1"]) .tt-permission-title, .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-plan-blocked="1"]) .tt-opposed-choice-title { color: var(--tt-rbac-ink); } .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-plan-blocked="1"]) .tt-permission-desc, .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-plan-blocked="1"]) .tt-opposed-choice-desc { color: color-mix(in srgb, var(--tt-rbac-muted) 82%, var(--tt-rbac-ink) 18%); } .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-plan-blocked="1"]) .text-warning-emphasis { display: inline-flex; align-items: center; gap: 0.25rem; width: fit-content; padding: 0.25rem 0.45rem; border: 1px solid color-mix(in srgb, var(--tt-rbac-warning) 30%, transparent); border-radius: 999px; background: var(--tt-rbac-plan-lock-pill); font-weight: 700; } .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-plan-blocked="1"]) .badge.text-bg-warning { color: color-mix(in srgb, var(--tt-rbac-warning) 72%, var(--tt-rbac-ink) 28%) !important; border: 1px solid color-mix(in srgb, var(--tt-rbac-warning) 34%, transparent); background: var(--tt-rbac-plan-lock-pill) !important; font-weight: 800; } .tt-roles-page .tt-permission-switch:has(input[data-plan-blocked="1"]) { cursor: not-allowed; } .tt-roles-page .tt-permission-switch input[data-plan-blocked="1"] { cursor: not-allowed; } .tt-roles-page .tt-permission-switch input[data-plan-blocked="1"] + .tt-permission-switch-ui { border-style: dashed; border-color: var(--tt-rbac-plan-lock-border); background: color-mix(in srgb, var(--tt-rbac-warning) 18%, var(--tt-rbac-surface-2)); box-shadow: none; } .tt-roles-page .tt-permission-switch input[data-plan-blocked="1"] + .tt-permission-switch-ui::after { background: color-mix(in srgb, #fff 88%, var(--tt-rbac-warning) 12%); box-shadow: 0 2px 5px rgba(15, 23, 42, 0.18); } .tt-roles-page .tt-opposed-choice:disabled { opacity: 1; cursor: not-allowed; border-color: var(--tt-rbac-plan-lock-border); border-style: dashed; background: var(--tt-rbac-plan-lock-bg); color: var(--tt-rbac-ink); } .tt-roles-page .tt-opposed-choice:disabled::after { content: "Plan locked"; align-self: flex-start; width: fit-content; margin-top: 0.2rem; padding: 0.18rem 0.4rem; border: 1px solid color-mix(in srgb, var(--tt-rbac-warning) 30%, transparent); border-radius: 999px; background: var(--tt-rbac-plan-lock-pill); color: color-mix(in srgb, var(--tt-rbac-warning) 74%, var(--tt-rbac-ink) 26%); font-size: 0.68rem; font-weight: 800; line-height: 1.1; } .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-module-blocked="1"]) { position: relative; border-color: var(--tt-rbac-module-lock-border); border-left-color: var(--tt-rbac-danger); background: linear-gradient(90deg, color-mix(in srgb, var(--tt-rbac-danger) 9%, transparent), transparent 42%), var(--tt-rbac-module-lock-bg); } .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-module-blocked="1"]):hover { border-color: color-mix(in srgb, var(--tt-rbac-danger) 50%, var(--tt-rbac-border)); transform: none; } .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-module-blocked="1"]):has(.tt-cap-checkbox:checked) { background: linear-gradient(90deg, color-mix(in srgb, var(--tt-rbac-danger) 13%, transparent), transparent 46%), var(--tt-rbac-module-lock-bg-strong); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tt-rbac-danger) 16%, transparent); } .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-module-blocked="1"]) .badge.text-bg-warning { color: color-mix(in srgb, var(--tt-rbac-danger) 72%, var(--tt-rbac-ink) 28%) !important; border: 1px solid color-mix(in srgb, var(--tt-rbac-danger) 30%, transparent); background: var(--tt-rbac-module-lock-pill) !important; font-weight: 800; } .tt-roles-page .tt-permission-switch:has(input[data-module-blocked="1"]) { cursor: not-allowed; } .tt-roles-page .tt-permission-switch input[data-module-blocked="1"] { cursor: not-allowed; } .tt-roles-page .tt-permission-switch input[data-module-blocked="1"] + .tt-permission-switch-ui { border-style: dashed; border-color: var(--tt-rbac-module-lock-border); background: color-mix(in srgb, var(--tt-rbac-danger) 14%, var(--tt-rbac-surface-2)); box-shadow: none; } .tt-roles-page .tt-permission-switch input[data-module-blocked="1"] + .tt-permission-switch-ui::after { background: color-mix(in srgb, #fff 88%, var(--tt-rbac-danger) 12%); box-shadow: 0 2px 5px rgba(15, 23, 42, 0.18); } .tt-roles-page .tt-opposed-choice[data-module-blocked="1"]:disabled { border-color: var(--tt-rbac-module-lock-border); background: var(--tt-rbac-module-lock-bg); } .tt-roles-page .tt-opposed-choice[data-module-blocked="1"]:disabled::after { content: "Modul oprit"; border-color: color-mix(in srgb, var(--tt-rbac-danger) 30%, transparent); background: var(--tt-rbac-module-lock-pill); color: color-mix(in srgb, var(--tt-rbac-danger) 74%, var(--tt-rbac-ink) 26%); } .tt-roles-page .tt-category-link--locked { border-color: color-mix(in srgb, var(--tt-rbac-module-lock-border) 64%, transparent); background: linear-gradient(90deg, color-mix(in srgb, var(--tt-rbac-danger) 10%, transparent), transparent 58%), color-mix(in srgb, var(--tt-rbac-module-lock-bg) 80%, var(--tt-rbac-surface) 20%); } .tt-roles-page .tt-category-link--locked:hover { border-color: color-mix(in srgb, var(--tt-rbac-module-lock-border) 82%, var(--tt-rbac-border)); background: linear-gradient(90deg, color-mix(in srgb, var(--tt-rbac-danger) 15%, transparent), transparent 62%), color-mix(in srgb, var(--tt-rbac-module-lock-bg-strong) 84%, var(--tt-rbac-surface) 16%); } .tt-roles-page .tt-category-link--locked span { color: var(--tt-rbac-ink); } .tt-roles-page .tt-category-lock, .tt-roles-page .tt-module-lock-status { display: inline-grid; place-items: center; width: 1.55rem; height: 1.55rem; border: 1px solid color-mix(in srgb, var(--tt-rbac-module-lock-border) 56%, transparent); border-radius: 8px; background: color-mix(in srgb, var(--tt-rbac-danger) 13%, transparent); color: color-mix(in srgb, var(--tt-rbac-danger) 82%, var(--tt-rbac-ink) 18%); font-size: 0.72rem; line-height: 1; box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 16%, transparent); } .tt-roles-page .tt-category-lock { justify-self: end; } .tt-roles-page .tt-module-lock-status { width: 1.7rem; height: 1.7rem; vertical-align: middle; } .tt-roles-page .tt-permission-group--module-locked .tt-permission-group-body { padding: 0.95rem; } .tt-roles-page .tt-module-lock-card { position: relative; overflow: hidden; display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 1rem; align-items: center; min-height: 96px; padding: 1rem; border: 1px solid color-mix(in srgb, var(--tt-rbac-module-lock-border) 70%, var(--tt-rbac-border)); border-left: 4px solid var(--tt-rbac-danger); border-radius: 8px; background: linear-gradient(135deg, color-mix(in srgb, var(--tt-rbac-danger) 13%, transparent), transparent 42%), repeating-linear-gradient(135deg, color-mix(in srgb, var(--tt-rbac-danger) 7%, transparent) 0 8px, transparent 8px 18px), linear-gradient(180deg, color-mix(in srgb, var(--tt-rbac-module-lock-bg-strong) 84%, var(--tt-rbac-surface) 16%), var(--tt-rbac-surface)); color: var(--tt-rbac-ink); box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 16%, transparent), 0 12px 26px color-mix(in srgb, var(--tt-rbac-danger) 9%, transparent); } .tt-roles-page .tt-module-lock-card::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(180deg, var(--tt-rbac-danger), color-mix(in srgb, var(--tt-rbac-warning) 76%, var(--tt-rbac-danger) 24%)); pointer-events: none; } .tt-roles-page .tt-module-lock-card__seal { display: inline-grid; place-items: center; width: 56px; height: 56px; border: 1px solid color-mix(in srgb, var(--tt-rbac-danger) 35%, transparent); border-radius: 8px; background: radial-gradient(circle at 32% 24%, color-mix(in srgb, #fff 22%, transparent), transparent 34%), color-mix(in srgb, var(--tt-rbac-danger) 18%, var(--tt-rbac-surface)); color: color-mix(in srgb, var(--tt-rbac-danger) 78%, var(--tt-rbac-ink) 22%); font-size: 1.35rem; box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 18%, transparent); } .tt-roles-page .tt-module-lock-card__content { display: grid; gap: 0.25rem; min-width: 0; } .tt-roles-page .tt-module-lock-card__eyebrow { display: inline-flex; align-items: center; gap: 0.35rem; width: fit-content; padding: 0.2rem 0.42rem; border: 1px solid color-mix(in srgb, var(--tt-rbac-module-lock-border) 38%, transparent); border-radius: 8px; background: color-mix(in srgb, var(--tt-rbac-danger) 12%, transparent); color: color-mix(in srgb, var(--tt-rbac-danger) 76%, var(--tt-rbac-ink) 24%); font-size: 0.68rem; font-weight: 800; line-height: 1.1; text-transform: uppercase; } .tt-roles-page .tt-module-lock-card strong { display: block; color: var(--tt-rbac-ink); font-size: 0.95rem; font-weight: 800; line-height: 1.15; } .tt-roles-page .tt-module-lock-card__content > span:not(.tt-module-lock-card__eyebrow) { display: block; color: var(--tt-rbac-muted); font-size: 0.78rem; line-height: 1.35; } .tt-roles-page .tt-module-lock-card__meta { display: grid; gap: 0.4rem; justify-items: end; min-width: 128px; } .tt-roles-page .tt-module-lock-card__meta span, .tt-roles-page .tt-module-lock-card__meta a { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 0.28rem 0.56rem; border: 1px solid color-mix(in srgb, var(--tt-rbac-module-lock-border) 34%, transparent); border-radius: 8px; background: color-mix(in srgb, var(--tt-rbac-surface) 72%, transparent); color: var(--tt-rbac-ink); font-size: 0.72rem; font-weight: 800; line-height: 1.1; text-decoration: none; white-space: nowrap; } .tt-roles-page .tt-module-lock-card__meta a { border-color: color-mix(in srgb, var(--tt-rbac-accent) 52%, var(--tt-rbac-border)); background: color-mix(in srgb, var(--tt-rbac-accent) 12%, var(--tt-rbac-surface)); color: var(--tt-rbac-accent-strong); } .tt-roles-page .tt-module-lock-card__meta a:hover { background: var(--tt-rbac-accent); color: var(--cu-on-accent, #fff); } body.cu-dark .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-plan-blocked="1"]) { background: linear-gradient(90deg, color-mix(in srgb, var(--tt-rbac-warning) 16%, transparent), transparent 44%), color-mix(in srgb, var(--tt-rbac-warning) 8%, var(--tt-rbac-surface)); } body.cu-dark .tt-roles-page .tt-permission-item:has(.tt-cap-checkbox[data-module-blocked="1"]) { background: linear-gradient(90deg, color-mix(in srgb, var(--tt-rbac-danger) 15%, transparent), transparent 44%), color-mix(in srgb, var(--tt-rbac-danger) 7%, var(--tt-rbac-surface)); } body.cu-dark .tt-roles-page .tt-module-lock-card { border-color: color-mix(in srgb, var(--tt-rbac-module-lock-border) 58%, var(--tt-rbac-border)); background: linear-gradient(135deg, color-mix(in srgb, var(--tt-rbac-danger) 16%, transparent), transparent 46%), repeating-linear-gradient(135deg, color-mix(in srgb, var(--tt-rbac-danger) 9%, transparent) 0 8px, transparent 8px 18px), color-mix(in srgb, var(--tt-rbac-surface) 90%, #020617 10%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 16px 32px rgba(0, 0, 0, 0.22); } @media (max-width: 767.98px) { .tt-roles-page .tt-module-lock-card { grid-template-columns: 48px minmax(0, 1fr); } .tt-roles-page .tt-module-lock-card__meta { grid-column: 1 / -1; justify-self: start; justify-items: start; } } @media (max-width: 575.98px) { .tt-roles-page .tt-module-lock-card { grid-template-columns: 44px minmax(0, 1fr); gap: 0.75rem; } .tt-roles-page .tt-module-lock-card__seal { width: 44px; height: 44px; font-size: 1.1rem; } .tt-roles-page .tt-module-lock-card__meta { min-width: 0; } .tt-roles-page .tt-module-lock-card__meta span, .tt-roles-page .tt-module-lock-card__meta a { white-space: normal; text-align: left; } } .tt-library-page .tt-page-shell{width:100%;max-width:1680px!important} .tt-library-page .tt-library__hero{align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;padding:18px 22px;margin-bottom:18px;background:linear-gradient(135deg,var(--cu-surface),var(--cu-surface-2));border:1px solid var(--cu-border);border-radius:var(--cu-radius);box-shadow:var(--cu-shadow-lg)} .tt-library-page .tt-library__hero>:first-child{flex:1 1 260px;min-width:220px} .tt-library-page .tt-library__hero-actions{flex:1 1 500px;min-width:200px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto} @media (max-width:820px){.tt-library-page .tt-library__hero{align-items:stretch;flex-direction:column;padding:16px;margin-bottom:18px}.tt-library-page .tt-library__hero>:first-child,.tt-library-page .tt-library__hero-actions{width:100%;min-width:0;margin-left:0}}
