.ct-root{display:grid;grid-template-columns:230px 330px 1fr;grid-template-rows:auto 1fr;grid-gap:12px;gap:12px;min-height:calc(100vh - 168px)}@media (max-width:1180px){.ct-root{grid-template-columns:210px 1fr}.ct-detail{grid-column:1/-1;max-height:none}}@media (max-width:760px){.ct-root{grid-template-columns:1fr;grid-template-rows:auto}.ct-rail{max-height:260px}.ct-list{max-height:420px}}.ct-toolbar{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-md);flex-wrap:wrap}.ct-toolbar .btn{gap:6px}.ct-search-wrap{position:relative;flex:1 1;min-width:200px;display:flex;align-items:center}.ct-search-icon{position:absolute;left:11px;color:var(--tx-3);pointer-events:none}.ct-search{flex:1 1;width:100%;background:rgba(255,255,255,.05);border:1px solid var(--glass-border);color:var(--tx-1);padding:8px 32px 8px 34px;border-radius:var(--r-sm);font-family:inherit;font-size:13px;outline:none;min-width:0;transition:border-color .14s var(--ease)}.ct-search::placeholder{color:var(--tx-3)}.ct-search:focus{border-color:var(--acc-ring)}.ct-search-clear{position:absolute;right:8px;background:transparent;border:0;color:var(--tx-3);cursor:pointer;display:grid;place-items:center;width:20px;height:20px;border-radius:5px}.ct-search-clear:hover{color:var(--tx-1);background:rgba(255,255,255,.08)}.ct-toolbar-count{color:var(--tx-3);font-size:11.5px;white-space:nowrap}.ct-toolbar-menu{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ct-toolbar-menu .btn{gap:5px;padding:6px 10px}.ct-sort{position:relative;display:inline-flex;align-items:center}.ct-sort-icon{position:absolute;left:9px;color:var(--tx-3);pointer-events:none}.ct-sort-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:rgba(255,255,255,.05);border:1px solid var(--glass-border);color:var(--tx-1);padding:7px 12px 7px 28px;border-radius:var(--r-sm);font-family:inherit;font-size:12.5px;outline:none;cursor:pointer;min-height:32px;transition:border-color .14s var(--ease)}.ct-sort-select:focus{border-color:var(--acc-ring)}.ct-sort-select:focus-visible{outline:2px solid var(--acc-ring);outline-offset:2px}.ct-sort-select option{background:#11121b;color:var(--tx-1)}.ct-dup-btn{color:#fcd34d}.ct-sort .sr-only,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ct-rail{padding:12px;border-radius:var(--r-lg);display:flex;flex-direction:column;gap:3px;max-height:calc(100vh - 240px);overflow-y:auto;align-content:start}.ct-rail-h{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--tx-3);font-weight:700;padding:8px 8px 4px;display:flex;align-items:center;justify-content:space-between}.ct-rail-h-groups{margin-top:10px}.ct-rail-add{background:transparent;border:0;color:var(--tx-3);cursor:pointer;display:grid;place-items:center;width:22px;height:22px;border-radius:5px}.ct-rail-add:hover{color:#ddd6fe;background:rgba(255,255,255,.06)}.ct-rail-empty{color:var(--tx-3);font-size:12px;padding:4px 8px;margin:0}.ct-rail-btn{background:transparent;border:1px solid transparent;color:var(--tx-2);cursor:pointer;padding:8px 10px;border-radius:var(--r-sm);text-align:left;font-family:inherit;font-size:13px;display:flex;align-items:center;gap:9px;width:100%;transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease)}.ct-rail-btn:hover{background:rgba(255,255,255,.05);color:var(--tx-1)}.ct-rail-btn.is-on,.ct-rail-grouprow.is-on .ct-rail-btn-group{background:var(--acc-soft);border-color:var(--acc-ring);color:#ddd6fe}.ct-rail-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ct-rail-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-rail-count{margin-left:auto;font-size:10.5px;color:var(--tx-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace}.ct-rail-grouprow{position:relative;display:flex;align-items:center;border-radius:var(--r-sm)}.ct-rail-grouprow .ct-rail-btn-group{flex:1 1}.ct-rail-grouprow-actions{position:absolute;right:6px;display:flex;gap:2px;opacity:0;transition:opacity .12s var(--ease)}.ct-rail-grouprow:focus-within .ct-rail-grouprow-actions,.ct-rail-grouprow:hover .ct-rail-grouprow-actions{opacity:1}.ct-rail-mini{background:rgba(20,20,32,.7);border:0;color:var(--tx-3);cursor:pointer;width:22px;height:22px;border-radius:5px;display:grid;place-items:center}.ct-rail-mini:hover{color:var(--tx-1);background:rgba(255,255,255,.1)}.ct-list{padding:8px;border-radius:var(--r-lg);max-height:calc(100vh - 240px);overflow-y:auto}.ct-letter-group,.ct-list{display:flex;flex-direction:column;gap:1px}.ct-letter-divider{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:color-mix(in oklch,var(--bg-base) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 12px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--tx-3);border-bottom:1px solid var(--glass-border)}.ct-row{display:grid;grid-template-columns:40px 1fr;align-items:center;grid-gap:10px;gap:10px;padding:8px 10px;border-radius:var(--r-sm);background:transparent;border:1px solid transparent;cursor:pointer;text-align:left;font-family:inherit;color:inherit;width:100%;transition:background .12s var(--ease),border-color .12s var(--ease)}.ct-row:hover{background:rgba(255,255,255,.05)}.ct-row.is-on{background:var(--acc-soft);border-color:var(--acc-ring)}.ct-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}.ct-avatar-lg{width:64px;height:64px;font-size:22px}.ct-row-meta{display:flex;flex-direction:column;min-width:0;gap:1px}.ct-row-name{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--tx-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-row-star{color:var(--tone-amber);flex-shrink:0}.ct-row-sub{font-size:11.5px;color:var(--tx-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:56px 16px;text-align:center;color:var(--tx-3)}.ct-empty strong{color:var(--tx-2);font-size:14px}.ct-empty span{font-size:12.5px}.ct-detail{padding:20px 24px;border-radius:var(--r-lg);gap:16px;max-height:calc(100vh - 240px);overflow-y:auto}.ct-detail,.ct-detail-empty{display:flex;flex-direction:column}.ct-detail-empty{align-items:center;gap:8px;color:var(--tx-3);text-align:center;padding:60px 20px;margin:auto}.ct-detail-empty-mark{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--acc-soft);color:var(--acc-solid);margin-bottom:4px}.ct-detail-empty strong{color:var(--tx-1);font-size:15px}.ct-detail-empty span{font-size:12.5px;max-width:240px}.ct-detail-empty .btn{margin-top:8px;gap:6px}.ct-detail-h{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--glass-border)}.ct-detail-name-stack{flex:1 1;display:flex;flex-direction:column;gap:4px;min-width:0}.ct-detail-name{background:transparent;border:0;color:var(--tx-1);font-size:16px;font-weight:700;padding:4px 6px;outline:none;font-family:inherit;border-radius:6px;flex:1 1;min-width:0;transition:background .12s var(--ease)}.ct-detail-name:focus,.ct-detail-name:hover{background:rgba(255,255,255,.06)}.ct-detail-name-row{display:flex;gap:6px}.ct-detail-sub{font-size:12.5px;color:var(--tx-2);padding:0 6px}.ct-detail-actions{display:flex;gap:6px}.ct-icon-btn{background:rgba(255,255,255,.05);border:1px solid var(--glass-border);color:var(--tx-1);cursor:pointer;width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}.ct-icon-btn:hover{background:rgba(255,255,255,.1)}.ct-icon-btn.is-fav{background:rgba(251,191,36,.16);border-color:rgba(251,191,36,.42);color:#fde68a}.ct-icon-btn.is-danger:hover{background:rgba(248,113,113,.18);border-color:rgba(248,113,113,.42);color:#fecaca}.ct-field{display:flex;flex-direction:column;gap:6px}.ct-field-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--tx-3);font-weight:700}.ct-field-hint{font-size:12px;color:var(--tx-3)}.ct-field-col{display:flex;flex-direction:column;gap:4px}.ct-field-error{font-size:11.5px;color:#fca5a5;padding-left:24px}.ct-field-row{display:flex;gap:6px;align-items:center}.ct-field-icon{color:var(--tx-3);flex-shrink:0;display:grid;place-items:center;width:18px}.ct-field-row input,.ct-field-row textarea{flex:1 1;background:rgba(255,255,255,.05);border:1px solid var(--glass-border);color:var(--tx-1);padding:8px 10px;border-radius:var(--r-sm);font-family:inherit;font-size:13px;outline:none;min-width:0;transition:border-color .14s var(--ease)}.ct-field-row input::placeholder,.ct-field-row textarea::placeholder{color:var(--tx-3)}.ct-field-row textarea{resize:vertical;min-height:56px;line-height:1.5}.ct-field-row input:focus,.ct-field-row textarea:focus{border-color:var(--acc-ring)}.ct-field-row input.is-invalid{border-color:rgba(248,113,113,.55)}.ct-field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.ct-mini-btn{background:rgba(255,255,255,.06);border:1px solid var(--glass-border);color:var(--tx-2);cursor:pointer;width:28px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;flex-shrink:0;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}.ct-mini-btn:hover{background:var(--acc-soft);border-color:var(--acc-ring);color:#ddd6fe}.ct-mini-btn.is-danger:hover{background:rgba(248,113,113,.18);border-color:rgba(248,113,113,.42);color:#fecaca}.ct-chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ct-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--r-pill);font-size:11.5px;background:rgba(255,255,255,.05);border:1px solid var(--glass-border);color:var(--tx-2);cursor:pointer;font-family:inherit;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}.ct-chip.is-on,.ct-chip:hover{border-color:var(--acc-ring);color:#ddd6fe}.ct-chip.is-on{background:var(--acc-soft)}.ct-chip-dot{width:8px;height:8px;border-radius:50%}.ct-tag{display:inline-flex;align-items:center;gap:3px;padding:4px 6px 4px 9px;border-radius:var(--r-pill);font-size:11px;color:#c4b5fd;background:rgba(139,92,246,.14);font-family:JetBrains Mono,ui-monospace,monospace}.ct-tag-x{background:transparent;border:0;color:#c4b5fd;cursor:pointer;display:grid;place-items:center;width:16px;height:16px;border-radius:4px;opacity:.7}.ct-tag-x:hover{opacity:1;background:rgba(139,92,246,.25)}.ct-tag-input{background:transparent;border:1px dashed var(--glass-border);color:var(--tx-1);border-radius:var(--r-pill);padding:4px 10px;font-size:11.5px;font-family:JetBrains Mono,ui-monospace,monospace;outline:none;min-width:90px;width:110px}.ct-tag-input:focus{border-color:var(--acc-ring);border-style:solid}.ct-detail-foot{font-size:11px;color:var(--tx-3);margin:4px 0 0}.ct-modal{width:min(440px,100%);background:#11121b;border:1px solid var(--glass-border);border-radius:var(--r-lg);box-shadow:var(--glass-shadow);overflow:hidden;color:var(--tx-1)}.ct-modal,.ct-modal-body{display:flex;flex-direction:column}.ct-modal-body{padding:16px 20px;gap:10px}.ct-modal-body input{background:rgba(255,255,255,.06);border:1px solid var(--glass-border);color:var(--tx-1);padding:9px 11px;border-radius:var(--r-sm);font-family:inherit;font-size:13px;outline:none;width:100%}.ct-modal-body input::placeholder{color:var(--tx-3)}.ct-modal-body input:focus{border-color:var(--acc-ring)}.ct-modal-body input.is-invalid{border-color:rgba(248,113,113,.55)}.ct-modal-body .ct-field-error{padding-left:2px}.ct-modal-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.ct-import-err{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:10px 14px 10px 16px;border-radius:var(--r-pill);font-size:13px;color:#fecaca;border:1px solid rgba(248,113,113,.42);background:rgba(40,18,22,.94);z-index:60}.ct-import-err-x{background:transparent;border:0;color:#fecaca;cursor:pointer;display:grid;place-items:center;width:20px;height:20px;border-radius:5px}.ct-import-err-x:hover{background:rgba(248,113,113,.2)}.ct-chip:focus-visible,.ct-icon-btn:focus-visible,.ct-mini-btn:focus-visible,.ct-rail-add:focus-visible,.ct-rail-btn:focus-visible,.ct-rail-mini:focus-visible,.ct-row:focus-visible,.ct-search-clear:focus-visible,.ct-search:focus-visible,.ct-tag-x:focus-visible{outline:2px solid var(--acc-ring);outline-offset:2px}