.tm-app{min-height:100vh;height:100vh;padding-bottom:44px;box-sizing:border-box;display:flex;flex-direction:column;background:var(--bg-base, #0d0f14);color:var(--text-primary, #eaecf2)}.tm-header{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:#151229;border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .08));position:sticky;top:0;z-index:50;flex-shrink:0}.tm-header-left{display:flex;align-items:center;gap:10px}.tm-logo{width:28px;height:28px;display:block;border-radius:7px}.tm-wordmark{font-size:14px;letter-spacing:.14em;font-weight:300;color:#c9cbe0}.tm-wordmark strong{font-weight:600;color:#fff}.tm-header-right{display:flex;align-items:center;gap:14px}.tm-header-user{font-size:13px;color:#ffffffbf}.tm-layout{display:flex;flex:1;min-height:0}.tm-nav{width:220px;flex-shrink:0;background:var(--bg-raised);border-right:1px solid var(--border-default);padding:var(--spacing-lg) var(--spacing-md);display:flex;flex-direction:column;gap:2px;overflow-y:auto}.tm-nav-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:9px var(--spacing-md);border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;font-family:inherit;text-align:left;transition:all .15s ease}.tm-nav-item:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.tm-nav-item.active{background:var(--purple-dim);color:var(--purple-text)}.tm-nav-icon{display:flex;flex-shrink:0}.tm-body{flex:1;overflow-y:auto;padding:var(--spacing-2xl) var(--spacing-3xl)}.tm-body-nosidebar{display:flex;align-items:center;justify-content:center}.tm-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.tm-page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:4px}.tm-page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tm-page-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.tm-btn-primary{background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.tm-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-primary)}.tm-btn-primary:disabled{opacity:.5;cursor:not-allowed}.tm-btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.tm-btn-secondary:hover:not(:disabled){border-color:var(--color-text-muted)}.tm-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.tm-btn-danger{background:transparent;color:var(--red-400);border:1px solid var(--red-alpha-10);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;font-family:inherit;transition:all .2s}.tm-btn-danger:hover:not(:disabled){background:var(--red-alpha-10)}.tm-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-card)}.tm-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.tm-table th{text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap}.tm-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-subtle);color:var(--color-text-primary);vertical-align:middle}.tm-table tbody tr:last-child td{border-bottom:none}.tm-table tbody tr:hover{background:var(--color-bg-secondary)}.tm-table tbody tr:focus-visible,.tm-table tbody tr[tabindex]:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.tm-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.tm-badge.active{background:var(--green-alpha-10);color:var(--green-400)}.tm-badge.inactive{background:var(--color-bg-secondary);color:var(--color-text-muted)}.tm-badge.pending{background:var(--amber-alpha-10);color:var(--amber-400)}.tm-badge.admin{background:var(--purple-alpha-14);color:var(--purple-text)}.tm-badge.manager{background:var(--blue-alpha-10);color:var(--blue-400)}.tm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.tm-search{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px var(--spacing-md);min-width:240px;color:var(--color-text-muted)}.tm-search input{border:none;background:none;outline:none;color:var(--color-text-primary);font-size:var(--font-size-sm);width:100%;padding:0}.tm-select{background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-primary);font-family:inherit}.tm-checkbox-cell{width:32px}.tm-bulk-bar{display:flex;align-items:center;gap:var(--spacing-md);background:var(--purple-dim);border:1px solid var(--purple-alpha-25);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-lg);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);color:var(--purple-text)}.footer{position:fixed;left:0;right:0;bottom:0;background:var(--color-footer-bg, var(--bg-raised));color:#fff;padding:9px var(--spacing-xl, 20px);display:flex;justify-content:space-between;align-items:center;min-height:35px;z-index:900}.footer-profile{position:relative}.footer-profile-btn{background:#ffffff1a;border:none;color:#fffc;padding:8px 12px;border-radius:var(--radius-pill, 9999px);cursor:pointer;display:flex;align-items:center;gap:8px;transition:var(--transition-fast, .12s ease);flex-shrink:0}.footer-profile-btn:hover{background:#fff3;color:#fff;transform:translateY(-1px)}.footer-profile-avatar{display:inline-flex;align-items:center;justify-content:center}.profile-name{font-size:12px;font-weight:var(--font-weight-medium, 500);white-space:nowrap}.profile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal, 1000);background:transparent}.profile-menu{position:absolute;bottom:100%;left:0;margin-bottom:var(--spacing-sm, 8px);background:var(--color-bg-card, var(--bg-raised));border:1px solid var(--color-border, var(--border-default));border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-lg);padding:var(--spacing-md, 12px);min-width:200px;z-index:calc(var(--z-modal, 1000) + 1);animation:footer-fade-in .2s ease}@keyframes footer-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.profile-menu-button{width:100%;background:none;border:none;color:var(--color-text-primary, var(--text-primary));padding:var(--spacing-sm, 8px);border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, 13px);font-weight:var(--font-weight-medium, 500);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm, 8px);transition:var(--transition-fast, .12s ease);text-align:left}.profile-menu-button:hover{background:var(--color-bg-secondary, var(--bg-surface))}.profile-menu-button.logout{color:var(--color-error, var(--red-500, #ef4444))}.profile-menu-button.logout:hover{background:#ef44441a}.footer-center-spacer{flex:1}.footer-widget-buttons{display:flex;align-items:center;gap:12px}.footer-actions-btn{background:var(--color-footer-bg, var(--bg-raised));border:1.5px solid var(--green-400, #34d399);color:#eaecf2;display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px) var(--spacing-md, 12px);border-radius:var(--radius-md, 8px);font-size:var(--font-size-xs, 11px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-fast, .12s ease);height:32px}.footer-actions-btn svg{color:var(--green-400, #34d399)}.footer-actions-btn:hover{transform:translateY(-1px);background:#10b9811a;box-shadow:0 2px 8px #10b98133}.footer-notes-group{display:inline-flex;align-items:stretch;height:32px;border:1.5px solid var(--amber-400, #fbbf24);border-radius:var(--radius-md, 8px);overflow:hidden}.footer-notes-btn{background:var(--color-footer-bg, var(--bg-raised));border:none;color:#eaecf2;display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px) var(--spacing-md, 12px);font-size:var(--font-size-xs, 11px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-fast, .12s ease)}.footer-notes-btn svg{color:var(--amber-400, #fbbf24)}.footer-notes-btn:hover{background:#f59e0b1a}.footer-quicknote-btn{background:var(--color-footer-bg, var(--bg-raised));border:none;border-left:1px solid var(--amber-400, #fbbf24);color:var(--amber-400, #fbbf24);padding:0 8px;cursor:pointer;transition:all var(--transition-fast, .12s ease);display:inline-flex;align-items:center;font-size:14px}.footer-quicknote-btn:hover{background:#f59e0b26}.fp-panel{position:fixed;background:var(--bg-raised);border:1px solid var(--border-default);border-radius:12px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;min-width:300px;min-height:240px}.fp-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-default);background:var(--bg-surface);-webkit-user-select:none;user-select:none;flex-shrink:0}.fp-header-left{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:13px;font-weight:600}.fp-icon{display:inline-flex;color:var(--purple-text, #a78bfa)}.fp-close{background:none;border:none;color:var(--text-tertiary);font-size:14px;cursor:pointer;line-height:1}.fp-close:hover{color:var(--text-primary)}.fp-body{flex:1;overflow:auto;min-height:0}.fp-resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,var(--border-strong) 50%)}.ap{display:flex;flex-direction:column;height:100%}.ap-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-subtle);background:linear-gradient(135deg,var(--purple-alpha-4) 0%,transparent 60%);flex-shrink:0}.ap-header-left{display:flex;align-items:center;gap:var(--spacing-sm)}.ap-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em}.ap-count{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--purple-text);background:var(--purple-alpha-14);padding:1px 6px;border-radius:var(--radius-full)}.ap-overdue{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-error);background:var(--red-alpha-10);padding:1px 6px;border-radius:var(--radius-full)}.ap-toggle{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer;transition:var(--transition-fast);padding:0}.ap-toggle:hover{color:var(--purple-text)}.ap-header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.ap-add-btn{background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--purple-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;transition:var(--transition-fast)}.ap-add-btn:hover{border-color:var(--purple);background:var(--purple-alpha-4)}.ap-add-form{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:10px 14px;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0}.ap-add-input{background-color:var(--color-input-bg);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit}.ap-add-input:focus{outline:none;border-color:var(--purple)}.ap-add-row{display:flex;gap:var(--spacing-sm)}.ap-add-select,.ap-add-date{background-color:var(--color-input-bg);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-primary);font-size:var(--font-size-xs);font-family:inherit}.ap-add-date{font-family:var(--font-mono)}.ap-add-select--wide{flex:1;min-width:0}.ap-add-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.ap-cancel-btn{background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer}.ap-save-btn{background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer}.ap-save-btn:disabled{opacity:.6;cursor:not-allowed}.ap-body{flex:1;display:flex;flex-direction:column;overflow-y:auto;min-height:0}.ap-body::-webkit-scrollbar{width:4px}.ap-body::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:var(--radius-full)}.ap-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted);font-size:var(--font-size-sm)}.ap-row{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) 14px;border-bottom:1px solid var(--border-subtle);transition:var(--transition-fast)}.ap-row:last-child{border-bottom:none}.ap-row:hover{background:var(--bg-surface)}.ap-row--done{opacity:.6}.ap-checkbox{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;flex-shrink:0;margin-top:1px;transition:var(--transition-fast);border-radius:var(--radius-xs)}.ap-checkbox:hover{color:var(--purple-text);background:var(--purple-alpha-4)}.ap-checkbox--done{color:var(--color-success)}.ap-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ap-item-title{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium);line-height:1.3}.ap-item-title--done{text-decoration:line-through;color:var(--text-muted)}.ap-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:11px;flex-wrap:wrap}.ap-priority{font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.03em;font-size:9px}.ap-chip{background:none;border:none;color:var(--text-tertiary);font-size:11px;cursor:pointer;padding:0;transition:var(--transition-fast)}.ap-chip:hover{color:var(--purple-text)}.ap-due{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;flex-shrink:0;margin-top:2px}.ap-due--overdue{color:var(--color-error);font-weight:var(--font-weight-semibold)}.ap-right{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0;margin-left:auto}.ap-edit,.ap-delete{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:2px;transition:var(--transition-fast);border-radius:var(--radius-xs);opacity:0}.ap-row:hover .ap-edit,.ap-row:hover .ap-delete{opacity:1}.ap-edit:hover{color:var(--purple-text);background:var(--purple-alpha-4)}.ap-delete:hover{color:var(--color-error);background:var(--red-alpha-10)}.ap-skeleton{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md) 14px}.ap-skeleton-row{display:flex;align-items:center;gap:var(--spacing-sm)}.ap-skeleton-circle,.ap-skeleton-bar{background:var(--bg-surface);position:relative;overflow:hidden;border-radius:var(--radius-sm)}.ap-skeleton-circle{width:18px;height:18px;border-radius:50%;flex-shrink:0}.ap-skeleton-bar{height:11px}.ap-skeleton-circle:after,.ap-skeleton-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,var(--bg-surface-hover) 40%,var(--bg-surface-hover) 60%,transparent 100%);animation:ap-skeleton-shimmer 1.5s infinite ease-in-out}@keyframes ap-skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ap-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 9999)}.ap-modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-lg);width:320px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:var(--spacing-sm)}.ap-modal-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:2px}.ap-modal-input{background-color:var(--color-input-bg);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit}.ap-modal-input:focus{outline:none;border-color:var(--purple)}.ap-modal-row{display:flex;gap:var(--spacing-sm)}.ap-modal-select,.ap-modal-date{background-color:var(--color-input-bg);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-primary);font-size:var(--font-size-xs);font-family:inherit}.ap-modal-date{font-family:var(--font-mono)}.ap-modal-select--wide{flex:1;min-width:0}.ap-modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-xs)}.notification-bell-container{position:relative;display:flex;align-items:center}.notification-bell-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);position:relative}.notification-bell-btn:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.notification-bell-btn.active{color:var(--purple-text);background:var(--purple-alpha-8)}.notification-bell-btn.pulse{animation:bellPulse 1s ease-in-out}@keyframes bellPulse{0%{transform:scale(1)}15%{transform:scale(1.15) rotate(5deg)}30%{transform:scale(1.15) rotate(-5deg)}45%{transform:scale(1.1) rotate(3deg)}60%{transform:scale(1.1) rotate(-3deg)}75%{transform:scale(1.05)}to{transform:scale(1)}}.notification-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-full);background:var(--purple);color:#fff;font-size:10px;font-weight:var(--font-weight-semibold);line-height:16px;text-align:center;pointer-events:none}.notification-panel{position:absolute;bottom:100%;left:0;margin-bottom:8px;width:360px;max-height:400px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:var(--z-dropdown);overflow:hidden}.notification-panel-header{padding:12px 16px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.notification-panel-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.notification-panel-list{flex:1;overflow-y:auto;overscroll-behavior:contain}.notification-panel-loading{display:flex;align-items:center;justify-content:center;padding:32px 16px;color:var(--text-muted);font-size:var(--font-size-sm)}.notification-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;color:var(--text-muted);gap:12px}.notification-empty-icon{opacity:.4}.notification-panel-empty p{margin:0;font-size:var(--font-size-sm)}.notification-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;cursor:pointer;transition:var(--transition-fast);border-left:3px solid transparent}.notification-item:hover{background:var(--bg-surface-hover)}.notification-item-wrap{border-bottom:1px solid var(--border-subtle)}.notification-item-wrap.expanded{background:var(--bg-surface)}.notification-item-expanded{padding:0 16px 12px}.notification-item-chevron{font-size:var(--font-size-xs);color:var(--text-tertiary)}.notification-group-wrap{border-bottom:1px solid var(--border-subtle)}.notification-group-header .notification-item-icon{position:relative}.notification-group-badge{position:absolute;top:-4px;right:-4px;min-width:15px;height:15px;padding:0 3px;border-radius:var(--radius-full);background:var(--purple);color:#fff;font-size:9px;font-weight:var(--font-weight-semibold);line-height:15px;text-align:center;box-shadow:0 0 0 2px var(--bg-elevated)}.notification-group-children{background:var(--bg-surface);border-top:1px solid var(--border-subtle)}.notification-group-children .notification-item-wrap{border-bottom:1px solid var(--border-subtle)}.notification-group-children .notification-item-wrap:last-child{border-bottom:none}.notification-group-children .notification-item{padding-left:24px}.notification-item.unread{border-left-color:var(--purple);background:var(--purple-alpha-4)}.notification-item.unread:hover{background:var(--purple-alpha-8)}.notification-item-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);margin-top:1px}.notification-item.unread .notification-item-icon{color:var(--purple-text);background:var(--purple-alpha-8)}.notification-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-item-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item-description{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item-time{flex-shrink:0;font-size:10px;color:var(--text-tertiary);margin-top:2px}.notification-panel-skeleton{display:flex;flex-direction:column;gap:2px;padding:4px}.notification-panel-skeleton-row{display:flex;align-items:center;gap:10px;padding:8px 12px}.notification-panel-skeleton-circle,.notification-panel-skeleton-bar{background:var(--bg-surface);position:relative;overflow:hidden;border-radius:var(--radius-sm)}.notification-panel-skeleton-circle{width:28px;height:28px;border-radius:50%;flex-shrink:0}.notification-panel-skeleton-text{flex:1;display:flex;flex-direction:column;gap:5px}.notification-panel-skeleton-bar{height:11px}.notification-panel-skeleton-circle:after,.notification-panel-skeleton-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,var(--bg-surface-hover) 40%,var(--bg-surface-hover) 60%,transparent 100%);animation:notification-skeleton-shimmer 1.5s infinite ease-in-out}@keyframes notification-skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.notes-editor{display:flex;width:100%;height:100%;background:var(--bg-base);overflow:hidden}.notes-editor-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--bg-base)}.notes-editor-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;border-bottom:1px solid var(--border-default);background:var(--bg-base);min-height:52px;gap:12px;flex-shrink:0}.notes-editor-topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.notes-editor-topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.notes-sidebar-toggle{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center}.notes-sidebar-toggle:hover{color:var(--text-primary);background:var(--bg-surface)}.notes-breadcrumb{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-tertiary);min-width:0;overflow:hidden}.notes-breadcrumb-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color var(--transition-fast)}.notes-breadcrumb-item:hover{color:var(--text-secondary)}.notes-breadcrumb-item.active{color:var(--text-primary);font-weight:500}.notes-breadcrumb-sep{flex-shrink:0;color:var(--text-tertiary)}.notes-topbar-btn{background:none;border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;padding:6px 12px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;font-family:inherit;transition:all var(--transition-fast)}.notes-topbar-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.notes-topbar-btn:disabled{opacity:.4;cursor:not-allowed}.notes-editor-content{flex:1;overflow-y:auto;position:relative}.notes-editor-content-inner{max-width:780px;margin:0 auto;padding:36px 40px 120px}.notes-page-title{font-size:32px;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1.2;padding:8px 10px;margin-bottom:24px;outline:none;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.notes-page-title:hover{background:var(--bg-surface)}.notes-page-title:focus{background:var(--bg-surface)}.notes-page-title:empty:before{content:attr(data-placeholder);color:var(--text-tertiary)}.notes-editor-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-size:var(--font-size-md)}.notes-editor-empty{padding:36px 40px;max-width:780px;margin:0 auto}.notes-editor-empty .placeholder-line{padding:8px 10px;color:var(--text-tertiary);font-size:14px;cursor:text}.notes-editor-empty .placeholder-line:hover{color:var(--text-secondary)}.notes-editor-empty .slash-hint{color:var(--purple);font-family:monospace;font-size:12px}.notes-editor-no-page{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--text-tertiary);font-size:var(--font-size-md);text-align:center;padding:var(--spacing-4xl)}.notes-editor-no-page-icon{color:var(--text-tertiary);opacity:.3;margin-bottom:var(--spacing-lg)}.notes-add-block-row{padding:8px 10px;margin-top:4px}.notes-add-block-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:1px dashed var(--border-default);background:none;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.notes-add-block-btn:hover{border-color:var(--purple);color:var(--purple);background:#6c2ffb0f}.notes-sidebar{width:280px;min-width:280px;background:var(--bg-raised);border-right:1px solid var(--border-default);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .25s ease}.notes-sidebar.collapsed{width:0;min-width:0;overflow:hidden;border:none}.notes-sidebar-header{padding:10px;border-bottom:1px solid var(--border-default);flex-shrink:0}.notes-sidebar-search-row{display:flex;align-items:center;gap:6px}.notes-sidebar-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;transition:color var(--transition-fast);flex-shrink:0}.notes-sidebar-close:hover{color:var(--text-primary)}.notes-sidebar-search{flex:1;position:relative}.notes-sidebar-search input{width:100%;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:7px 10px 7px 30px;color:var(--text-primary);font-family:inherit;font-size:12px;outline:none;transition:border-color var(--transition-fast)}.notes-sidebar-search input:focus{border-color:var(--purple)}.notes-sidebar-search input::placeholder{color:var(--text-tertiary)}.notes-sidebar-search svg{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.notes-sidebar-tree{flex:1;overflow-y:auto;padding:8px 0}.nb-header{display:flex;align-items:center;gap:8px;padding:7px 14px 7px 12px;cursor:pointer;transition:background var(--transition-fast);font-size:13.5px;font-weight:500;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.nb-header:hover{background:var(--bg-surface);color:var(--text-primary)}.nb-header.active{color:var(--text-primary)}.nb-chevron{transition:transform var(--transition-fast);color:var(--text-tertiary);flex-shrink:0;display:flex;align-items:center}.nb-chevron.open{transform:rotate(90deg)}.nb-icon{font-size:15px;flex-shrink:0}.nb-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nb-count{font-size:11px;color:var(--text-tertiary);background:var(--bg-surface);padding:1px 6px;border-radius:10px;font-weight:400}.nb-actions{display:none;gap:2px}.nb-header:hover .nb-actions{display:flex}.nb-action-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);font-size:12px;display:flex;align-items:center;transition:color var(--transition-fast)}.nb-action-btn:hover{color:var(--text-primary)}.nb-action-btn.delete:hover{color:var(--red-500)}.nb-action-btn.share:hover{color:var(--purple-text)}.section-item{display:flex;align-items:center;gap:6px;padding:5px 14px 5px 22px;font-size:12.5px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);border-left:2px solid transparent;margin-left:8px;-webkit-user-select:none;user-select:none}.section-item:hover{color:var(--text-secondary);background:var(--bg-surface)}.section-item.active{color:var(--purple);border-left-color:var(--purple);background:#6c2ffb0f}.section-actions{display:none;margin-left:auto;gap:2px}.section-item:hover .section-actions{display:flex}.page-item{display:flex;align-items:center;gap:6px;padding:4px 14px 4px 50px;font-size:12px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.page-item:hover{color:var(--text-secondary);background:var(--bg-surface)}.page-item.active{color:var(--text-primary);background:var(--bg-surface)}.page-dot{width:4px;height:4px;border-radius:50%;background:var(--text-tertiary);flex-shrink:0}.page-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-date{font-size:10px;color:var(--text-tertiary);flex-shrink:0}.page-actions{display:none;gap:2px}.page-item:hover .page-actions{display:flex}.nb-rename-input{flex:1;background:var(--bg-surface, var(--bg-surface));border:1px solid var(--purple);border-radius:var(--radius-sm);color:var(--text-primary);font-size:inherit;padding:2px 6px;outline:none;font-family:inherit}.notes-sidebar-footer{padding:12px 14px;border-top:1px solid var(--border-default);display:flex;gap:8px;flex-shrink:0}.notes-sidebar-footer button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:8px;color:var(--text-secondary);font-family:inherit;font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.notes-sidebar-footer button:hover{background:var(--bg-raised);color:var(--text-primary)}.notes-sidebar-footer button.primary{background:var(--purple);border-color:var(--purple);color:#fff}.notes-sidebar-footer button.primary:hover{opacity:.9}.notes-sidebar-empty{padding:var(--spacing-xl);text-align:center;color:var(--text-tertiary);font-size:13px}.notes-animate-in{animation:notesFadeIn .3s ease forwards}@keyframes notesFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.notes-sidebar-dialog-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.notes-sidebar-dialog{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md, 10px);padding:20px;width:240px;box-shadow:0 8px 32px #0000004d}.notes-sidebar-dialog-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.notes-sidebar-dialog-input{width:100%;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text-primary);font-family:inherit;font-size:13px;outline:none;margin-bottom:12px;transition:border-color var(--transition-fast)}.notes-sidebar-dialog-input:focus{border-color:var(--purple)}.notes-sidebar-dialog-text{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:16px}.notes-sidebar-dialog-actions{display:flex;gap:8px;justify-content:flex-end}.notes-sidebar-dialog-btn{padding:6px 14px;border-radius:var(--radius-sm);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border-default)}.notes-sidebar-dialog-btn.cancel{background:var(--bg-surface);color:var(--text-secondary)}.notes-sidebar-dialog-btn.cancel:hover{background:var(--bg-raised);color:var(--text-primary)}.notes-sidebar-dialog-btn.confirm{background:var(--purple);border-color:var(--purple);color:#fff}.notes-sidebar-dialog-btn.confirm:hover{opacity:.9}.notes-sidebar-dialog-btn.confirm:disabled{opacity:.4;cursor:not-allowed}.notes-sidebar-dialog-btn.danger{background:var(--red-500);border-color:var(--red-500);color:#fff}.notes-sidebar-dialog-btn.danger:hover{opacity:.9}.nb-customer-badge{font-size:10px;font-weight:500;color:var(--blue-500);background:#3b82f61f;padding:1px 6px;border-radius:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px;flex-shrink:0}.nb-shared-icon{display:flex;align-items:center;color:var(--blue-500);opacity:.7;flex-shrink:0}.notes-sidebar-shared{border-top:1px solid var(--border-default);padding:8px 0;flex-shrink:0}.notes-sidebar-shared-header{display:flex;align-items:center;gap:6px;padding:6px 14px;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.shared-item{display:flex;align-items:center;gap:8px;padding:5px 14px 5px 22px;font-size:12.5px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.shared-item:hover{background:var(--bg-surface);color:var(--text-primary)}.shared-item.active{color:var(--purple);background:#6c2ffb0f}.shared-item-icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-tertiary)}.shared-item-icon.page{color:var(--blue-500)}.shared-item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shared-item-role{font-size:10px;color:var(--text-tertiary);background:var(--bg-surface);padding:1px 6px;border-radius:10px;font-weight:400;flex-shrink:0}.notes-section-tabs{display:flex;align-items:center;gap:0;padding:0 24px;border-bottom:1px solid var(--border-default);background:var(--bg-base);overflow-x:auto;flex-shrink:0;scrollbar-width:none}.notes-section-tabs::-webkit-scrollbar{display:none}.notes-section-tab{position:relative;padding:10px 18px;font-size:13px;font-weight:500;color:var(--text-tertiary);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast);border-bottom:2px solid transparent;margin-bottom:-1px;background:none;border-top:none;border-left:none;border-right:none;font-family:inherit}.notes-section-tab:hover{color:var(--text-secondary)}.notes-section-tab.active{color:var(--purple);border-bottom-color:var(--purple)}.notes-section-tab-add{padding:10px 12px;color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast);display:flex;align-items:center;background:none;border:none}.notes-section-tab-add:hover{color:var(--text-secondary)}.notes-format-bar{display:flex;align-items:center;gap:2px;padding:6px 24px;border-bottom:1px solid var(--border-default);background:var(--bg-base);flex-wrap:wrap;flex-shrink:0}.notes-format-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.notes-format-btn:hover{color:var(--text-primary);background:var(--bg-surface)}.notes-format-btn.active{color:var(--purple);background:#6c2ffb1a}.notes-format-divider{width:1px;height:20px;background:var(--border-default);margin:0 6px}.notes-format-select{background-color:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);font-family:inherit;font-size:12px;padding:4px 28px 4px 8px;border-radius:var(--radius-sm);cursor:pointer;outline:none}.notes-format-select:hover{border-color:#6c2ffb4d}.notes-ai-btn{display:flex;align-items:center;gap:5px;background:#6c2ffb14;border:1px solid rgba(108,47,251,.2);color:var(--purple);font-family:inherit;font-size:12px;padding:5px 10px;border-radius:var(--radius-sm);cursor:pointer;margin-left:auto;transition:all var(--transition-fast);font-weight:500}.notes-ai-btn:hover{background:#6c2ffb26;border-color:var(--purple)}.notes-ai-btn:disabled{opacity:.4;cursor:not-allowed}.notes-color-picker-wrapper{position:relative}.notes-color-indicator{display:block;width:14px;height:2px;border-radius:1px;margin-top:1px}.notes-color-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:6px;display:flex;flex-direction:column;gap:2px;min-width:140px}.notes-color-option{display:flex;align-items:center;gap:8px;padding:5px 8px;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);color:var(--text-secondary);font-size:12px;font-family:inherit}.notes-color-option:hover{background:var(--bg-surface)}.notes-color-option.active{background:#6c2ffb14;color:var(--purple)}.notes-color-swatch{width:14px;height:14px;border-radius:50%;border:1px solid var(--border-default);flex-shrink:0}.notes-color-label{white-space:nowrap}.notes-block{position:relative;margin-bottom:4px;border-radius:var(--radius-sm);padding-left:48px}.notes-block-handle{cursor:grab;color:var(--text-tertiary);font-size:14px;-webkit-user-select:none;user-select:none;display:flex;align-items:center;letter-spacing:-2px}.notes-block-handle:active{cursor:grabbing}.notes-block-controls{position:absolute;left:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:2px;opacity:0;transition:opacity var(--transition-fast)}.notes-block:hover .notes-block-controls{opacity:1}.notes-block-plus{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.notes-block-plus:hover{color:var(--purple);background:#6c2ffb14}.notes-block.drag-over-top{border-top:2px solid var(--purple)}.notes-block.drag-over-bottom{border-bottom:2px solid var(--purple)}.notes-block-h1{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1.3;padding:8px 10px;margin-bottom:8px;outline:none}.notes-block-h2{font-size:19px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em;line-height:1.4;padding:20px 10px 6px;outline:none}.notes-block-h3{font-size:16px;font-weight:600;color:var(--text-primary);line-height:1.4;padding:16px 10px 4px;outline:none}.notes-block-p{font-size:14.5px;line-height:1.7;color:var(--text-secondary);padding:4px 10px;outline:none}.notes-block-p .tag-badge{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:#6c2ffb26;color:var(--purple);padding:2px 7px;border-radius:4px;margin-left:8px;vertical-align:middle}.notes-block-callout{padding:14px 16px;margin:8px 0;border-radius:var(--radius-md, 10px);font-size:13.5px;line-height:1.65;background:#6c2ffb0f;border-left:3px solid var(--purple);color:var(--purple);outline:none}.notes-block-quote{padding:14px 20px;margin:8px 0;border-left:3px solid var(--text-tertiary);background:var(--bg-surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:italic;font-size:14px;line-height:1.65;color:var(--text-secondary);outline:none}.notes-block-quote .attribution{display:block;margin-top:8px;font-style:normal;font-size:12px;color:var(--text-tertiary);font-weight:500}.notes-block-task{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:var(--radius-sm)}.notes-task-checkbox{width:18px;height:18px;min-width:18px;border:2px solid var(--text-tertiary);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);margin-top:1px;background:none;padding:0}.notes-task-checkbox:hover{border-color:var(--purple)}.notes-task-checkbox.checked{background:var(--purple);border-color:var(--purple)}.notes-task-content{flex:1}.notes-task-text{font-size:14px;color:var(--text-primary);line-height:1.5;outline:none}.notes-task-text.done{color:var(--text-tertiary);text-decoration:line-through}.notes-task-meta{display:flex;align-items:center;gap:10px;margin-top:3px}.notes-task-assignee{font-size:11px;color:var(--text-tertiary);display:flex;align-items:center;gap:4px}.notes-task-assignee-dot{width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff;background:var(--purple)}.notes-task-due{font-size:11px;display:flex;align-items:center;gap:3px;color:var(--amber-500)}.notes-task-due.done{color:var(--text-tertiary)}.notes-block-embed{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:6px 0;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md, 10px);cursor:pointer;transition:all var(--transition-fast)}.notes-block-embed:hover{border-color:#6c2ffb4d;background:var(--bg-raised)}.notes-embed-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notes-embed-icon.pdf{background:#ef44441f;color:var(--red-500)}.notes-embed-icon.link{background:#3b82f61f;color:var(--blue-500)}.notes-embed-icon.video{background:#6c2ffb1f;color:var(--purple)}.notes-embed-icon.audio{background:#10b9811f;color:var(--green-500)}.notes-embed-info{flex:1;min-width:0}.notes-embed-title{font-size:13.5px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notes-embed-meta{font-size:11.5px;color:var(--text-tertiary);margin-top:2px;display:flex;align-items:center;gap:6px}.notes-embed-action{font-size:11px;color:var(--purple);font-weight:500;white-space:nowrap;padding:4px 10px;border-radius:var(--radius-sm);background:#6c2ffb14;transition:background var(--transition-fast)}.notes-embed-action:hover{background:#6c2ffb26}.notes-block-divider{height:1px;background:var(--border-default);margin:16px 10px}.notes-block-code{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:14px 16px;margin:8px 0;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.6;color:var(--text-secondary);overflow-x:auto;outline:none}.notes-block-tags{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px}.notes-tag-pill{font-size:11.5px;font-weight:500;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-default);padding:4px 10px;border-radius:20px;cursor:pointer;transition:all var(--transition-fast)}.notes-tag-pill:hover{border-color:#6c2ffb4d;color:var(--purple);background:#6c2ffb0f}.notes-block-toggle{padding:8px 10px}.notes-toggle-header{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-primary);font-weight:500}.notes-toggle-chevron{transition:transform var(--transition-fast);color:var(--text-tertiary)}.notes-toggle-chevron.open{transform:rotate(90deg)}.notes-block-list{padding:4px 10px 4px 28px;font-size:14.5px;line-height:1.7;color:var(--text-secondary);outline:none}.notes-block-list-row{display:flex;align-items:baseline;gap:6px;padding-left:10px}.notes-block-list-marker{flex:0 0 auto;min-width:16px;font-size:14.5px;line-height:1.7;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.notes-block-list-row .notes-block-list{flex:1 1 auto;padding:4px 10px 4px 0}.notes-block-table-wrapper{position:relative;padding:8px 10px}.notes-block-table{width:100%;border-collapse:collapse;border:1px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden}.notes-block-table td{border:1px solid var(--border-default);padding:8px 12px;font-size:13.5px;line-height:1.5;color:var(--text-secondary);outline:none;min-width:80px;vertical-align:top}.notes-block-table td:focus{background:#6c2ffb0a;box-shadow:inset 0 0 0 1px var(--purple)}.notes-block-table tr:first-child td{font-weight:600;color:var(--text-primary);background:var(--bg-surface)}.notes-table-add-row{display:flex;align-items:center;justify-content:center;width:100%;height:24px;margin-top:4px;background:none;border:1px dashed var(--border-default);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.notes-table-add-row:hover{border-color:var(--purple);color:var(--purple);background:#6c2ffb0a}.notes-table-add-col{position:absolute;right:-20px;top:50%;transform:translateY(-50%);width:20px;height:100%;max-height:120px;background:none;border:1px dashed var(--border-default);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:0;padding:0}.notes-block-table-wrapper:hover .notes-table-add-col{opacity:1}.notes-table-add-col:hover{border-color:var(--purple);color:var(--purple);background:#6c2ffb0a}.notes-link-preview{display:flex;align-items:stretch;margin:6px 0;background:var(--bg-surface);border:1px solid var(--border-default);border-left:3px solid var(--blue-500);border-radius:var(--radius-md, 10px);overflow:hidden;cursor:pointer;transition:all var(--transition-fast)}.notes-link-preview:hover{border-color:var(--blue-500);background:var(--bg-raised)}.notes-link-preview-content{flex:1;padding:14px 16px;min-width:0}.notes-link-preview-title{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notes-link-preview-url{font-size:12px;color:var(--text-tertiary);display:flex;align-items:center;gap:6px}.notes-link-preview-favicon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--blue-500);flex-shrink:0}.notes-link-preview-action{display:flex;align-items:center;padding:0 16px;border-left:1px solid var(--border-default);color:var(--blue-500);font-size:12px;font-weight:500;transition:background var(--transition-fast)}.notes-link-preview-action:hover{background:#3b82f60f}.notes-block-p:empty:before,.notes-block-h1:empty:before,.notes-block-h2:empty:before,.notes-block-h3:empty:before,.notes-block-list:empty:before,.notes-task-text:empty:before,.notes-block-callout:empty:before,.notes-block-quote span:empty:before,.notes-block-code:empty:before,.notes-block-toggle .notes-toggle-header span:empty:before{content:attr(data-placeholder);color:var(--text-tertiary);opacity:.5;pointer-events:none}.notes-block--locked{position:relative}.notes-block--locked>*:not(.notes-block-controls):not(.notes-block-lock-overlay){opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}.notes-block-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:48px;display:flex;align-items:center;justify-content:flex-end;padding-right:var(--spacing-sm);pointer-events:none;z-index:2}.notes-block-lock-badge{display:flex;align-items:center;gap:var(--spacing-xs);padding:3px 4px 3px 3px;border-radius:var(--radius-full);background:var(--bg-elevated);border:1px solid var(--border-default);font-size:var(--font-size-xs);color:var(--text-secondary);pointer-events:auto;white-space:nowrap;box-shadow:var(--shadow-sm)}.notes-block-lock-avatar{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--font-weight-semibold);color:#fff;flex-shrink:0}.notes-block-lock-name{font-size:11px;color:var(--text-secondary);padding-right:var(--spacing-xs)}.notes-block-lock-takeover{background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:2px 8px;font-size:10px;font-weight:var(--font-weight-medium);color:var(--purple-text);cursor:pointer;transition:var(--transition-fast)}.notes-block-lock-takeover:hover{background:var(--purple-alpha-8);border-color:var(--purple-dim)}.slash-command-palette{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:100;background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md, 10px);box-shadow:0 8px 40px #0006;width:280px;max-height:360px;display:flex;flex-direction:column;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.slash-command-filter{padding:var(--spacing-sm) var(--spacing-md);border:none;border-bottom:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);font-size:var(--font-size-base);outline:none}.slash-command-filter::placeholder{color:var(--text-tertiary)}.slash-command-list{overflow-y:auto;padding:var(--spacing-xs)}.slash-command-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.slash-command-item:hover,.slash-command-item.selected{background:var(--bg-surface)}.slash-command-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-secondary);flex-shrink:0}.slash-command-info{display:flex;flex-direction:column;min-width:0}.slash-command-label{font-size:var(--font-size-base);color:var(--text-primary);font-weight:var(--font-weight-medium)}.slash-command-desc{font-size:var(--font-size-xs);color:var(--text-tertiary)}.slash-command-empty{padding:var(--spacing-lg);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-base)}.presence-avatars{display:flex;align-items:center;gap:calc(-1 * var(--spacing-xs))}.presence-avatar{width:28px;height:28px;border-radius:var(--radius-full);border:2px solid;display:flex;align-items:center;justify-content:center;position:relative;margin-left:-4px}.presence-avatar:first-child{margin-left:0}.presence-avatar-initial{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#fff;line-height:1}.presence-typing-dot{position:absolute;bottom:-2px;right:-2px;width:8px;height:8px;background:var(--green-500);border-radius:var(--radius-full);border:1.5px solid var(--bg-raised);animation:presencePulse 1.2s ease-in-out infinite}@keyframes presencePulse{0%,to{opacity:1}50%{opacity:.4}}.notes-status-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 24px;border-top:1px solid var(--border-default);background:var(--bg-raised);font-size:11px;color:var(--text-tertiary);flex-shrink:0}.notes-status-bar .left,.notes-status-bar .right{display:flex;align-items:center;gap:12px}.notes-status-dot{width:6px;height:6px;border-radius:50%;background:var(--green-500)}.notes-status-dot.saving{background:var(--amber-500)}.notes-status-dot.error{background:var(--red-500)}.notes-status-saved{display:flex;align-items:center;gap:4px}.share-side-panel{width:440px}.share-panel-body{flex:1;overflow-y:auto;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-xl)}.share-panel-search-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.share-panel-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.share-panel-form{display:flex;gap:var(--spacing-sm)}.share-panel-search-wrapper{flex:1;position:relative}.share-panel-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;outline:none;transition:border-color var(--transition-fast)}.share-panel-input:focus{border-color:var(--purple)}.share-panel-input::placeholder{color:var(--text-tertiary)}.share-panel-spinner{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;border:2px solid var(--border-default);border-top-color:var(--purple);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.share-panel-role-select{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;cursor:pointer}.share-panel-search-results{display:flex;flex-direction:column;border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;max-height:240px;overflow-y:auto}.share-panel-search-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-base);border:none;border-bottom:1px solid var(--border-default);cursor:pointer;transition:background var(--transition-fast);text-align:left;font-family:inherit}.share-panel-search-item:last-child{border-bottom:none}.share-panel-search-item:hover{background:var(--bg-surface)}.share-panel-avatar{width:28px;height:28px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600;flex-shrink:0}.share-panel-search-info{display:flex;flex-direction:column;min-width:0}.share-panel-search-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.share-panel-search-email{font-size:var(--font-size-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-panel-no-results{text-align:center;padding:var(--spacing-md);color:var(--text-tertiary);font-size:var(--font-size-xs)}.share-panel-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.share-panel-empty{color:var(--text-tertiary);font-size:var(--font-size-base)}.share-panel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.share-panel-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-surface);border-radius:var(--radius-sm)}.share-panel-item-left{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.share-panel-item-info{display:flex;flex-direction:column;min-width:0}.share-panel-item-user{font-size:var(--font-size-base);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-panel-item-email{font-size:var(--font-size-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-panel-item-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.share-panel-role-select-sm{padding:2px var(--spacing-lg) 2px var(--spacing-sm);background-color:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);font-family:inherit;cursor:pointer;min-width:80px;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.share-panel-revoke-btn{background:none;border:1px solid var(--red-500);color:var(--red-500);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-family:inherit;transition:all var(--transition-fast)}.share-panel-revoke-btn:hover{background:#ef444414}.version-history-panel{width:440px}.version-history-body{flex:1;overflow-y:auto;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-xl)}.version-history-create{display:flex;gap:var(--spacing-sm)}.version-history-label-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-base);outline:none;transition:border-color var(--transition-fast)}.version-history-label-input:focus{border-color:var(--purple)}.version-history-label-input::placeholder{color:var(--text-tertiary)}.version-history-create-btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--gradient-primary);border:none;border-radius:var(--radius-sm);color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.version-history-create-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-primary)}.version-history-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.version-history-empty{color:var(--text-tertiary);font-size:var(--font-size-base);text-align:center;padding:var(--spacing-xl)}.version-history-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--bg-surface);border-radius:var(--radius-md);gap:var(--spacing-md)}.version-history-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.version-history-item-label{font-size:var(--font-size-base);color:var(--text-primary);font-weight:var(--font-weight-medium)}.version-history-item-meta{font-size:var(--font-size-xs);color:var(--text-tertiary);display:flex;align-items:center;gap:var(--spacing-xs)}.version-history-auto-badge{padding:1px var(--spacing-xs);background:var(--blue-alpha-10);color:var(--blue-500);border-radius:var(--radius-pill);font-size:var(--font-size-xs)}.version-history-restore-btn{background:none;border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-xs);transition:all var(--transition-fast);white-space:nowrap}.version-history-restore-btn:hover{border-color:var(--text-tertiary);color:var(--text-primary)}.version-history-restore-btn.confirm{border-color:var(--amber-500);color:var(--amber-500);background:var(--amber-alpha-10)}.create-notebook-panel{width:440px;display:flex;flex-direction:column}.create-notebook-body{flex:1;overflow-y:auto;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.create-notebook-field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.create-notebook-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.create-notebook-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-surface, var(--bg-surface));border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-base);font-family:inherit;outline:none;transition:border-color var(--transition-fast)}.create-notebook-input:focus{border-color:var(--purple)}.create-notebook-input::placeholder{color:var(--text-tertiary)}.create-notebook-selected{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#6c2ffb14;border:1px solid var(--purple);border-radius:var(--radius-sm)}.create-notebook-selected-name{flex:1;font-size:var(--font-size-sm);color:var(--purple);font-weight:500}.create-notebook-selected-remove{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:12px;padding:2px;line-height:1}.create-notebook-selected-remove:hover{color:var(--red-500)}.create-notebook-customer-list{max-height:280px;overflow-y:auto;border:1px solid var(--border-default);border-radius:var(--radius-sm);display:flex;flex-direction:column}.create-notebook-loading,.create-notebook-empty{padding:var(--spacing-md);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-xs)}.create-notebook-customer-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;border-bottom:1px solid var(--border-default);cursor:pointer;font-family:inherit;text-align:left;transition:background var(--transition-fast)}.create-notebook-customer-item:last-child{border-bottom:none}.create-notebook-customer-item:hover{background:var(--bg-surface)}.create-notebook-customer-item.selected{background:#6c2ffb14}.create-notebook-customer-item.unlinked{border-left:2px solid var(--green-500)}.create-notebook-customer-name{font-size:var(--font-size-sm);color:var(--text-primary)}.create-notebook-customer-linked{font-size:var(--font-size-xs);color:var(--text-tertiary)}.create-notebook-customer-available{font-size:var(--font-size-xs);color:var(--green-500);font-weight:500}.create-notebook-footer{padding:var(--spacing-md) var(--spacing-xl);border-top:1px solid var(--border-default);display:flex;gap:var(--spacing-sm);justify-content:flex-end}.create-notebook-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border-default)}.create-notebook-btn.cancel{background:var(--bg-surface);color:var(--text-secondary)}.create-notebook-btn.cancel:hover{background:var(--bg-raised);color:var(--text-primary)}.create-notebook-btn.confirm{background:var(--purple);border-color:var(--purple);color:#fff}.create-notebook-btn.confirm:hover{opacity:.9}.create-notebook-btn.confirm:disabled{opacity:.4;cursor:not-allowed}.applauncher{position:relative;display:inline-flex}.applauncher-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9999px;border:none;background:#ffffff1a;color:#ffffffd9;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.applauncher-btn:hover,.applauncher-btn.open{background:#fff3;color:#fff}.applauncher-btn:active{transform:scale(.94)}.applauncher-panel{position:absolute;top:calc(100% + 10px);right:0;width:300px;background:var(--color-bg-card, var(--bg-raised, #12141b));border:1px solid var(--color-border, var(--border-default, #1f2335));border-radius:14px;box-shadow:var(--shadow-lg, 0 16px 40px rgba(0, 0, 0, .4));padding:14px;z-index:1200;animation:applauncher-in .16s ease}@keyframes applauncher-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.applauncher-panel-head{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted, var(--text-tertiary, #686d85));padding:2px 6px 10px}.applauncher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.applauncher-tile{display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 6px 10px;border:1px solid transparent;border-radius:12px;background:none;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease;text-align:center}.applauncher-tile:hover{background:var(--color-bg-secondary, var(--bg-surface, #181b25));border-color:var(--color-border, var(--border-default, #1f2335));transform:translateY(-1px)}.applauncher-tile.current{cursor:default}.applauncher-tile.current:after{content:"";position:absolute}.applauncher-icon{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #00000040}.applauncher-name{font-size:12px;font-weight:600;color:var(--color-text-primary, var(--text-primary, #eaecf2));line-height:1.2}.applauncher-tagline{font-size:10px;color:var(--color-text-muted, var(--text-tertiary, #686d85));line-height:1.2}.applauncher-divider{height:1px;background:var(--color-border, var(--border-default, #1f2335));margin:12px 2px 2px}.applauncher-links{display:flex;flex-direction:column;gap:2px}.applauncher-link{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:9px;color:var(--color-text-secondary, var(--text-secondary, #a0a4b8));font-size:13px;font-weight:500;text-decoration:none;transition:background .12s ease,color .12s ease}.applauncher-link:hover{background:var(--color-bg-secondary, var(--bg-surface, #181b25));color:var(--color-text-primary, var(--text-primary, #eaecf2))}.applauncher-link-icon{display:inline-flex;color:var(--purple-text, #a78bfa)}.tm-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-4xl) var(--spacing-xl);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center}.tm-state-loading{flex-direction:row;padding:var(--spacing-2xl)}.tm-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:tmSpin .8s linear infinite;flex-shrink:0}@keyframes tmSpin{to{transform:rotate(360deg)}}.tm-state-error{color:var(--color-error-text)}.tm-state-retry{background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;font-family:inherit}.tm-state-retry:hover{border-color:var(--color-primary);color:var(--color-primary)}.tm-state-empty-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.tm-state-empty-desc{max-width:420px;line-height:1.5}.tm-people-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.tm-person-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.tm-avatar{width:26px;height:26px;border-radius:50%;background:var(--purple-dim);color:var(--purple-text);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--font-weight-semibold);flex-shrink:0}.tm-muted{color:var(--color-text-secondary)}.tm-row-actions{display:flex;gap:4px}.tm-icon-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:5px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.tm-icon-btn:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text-primary)}.tm-icon-btn.danger:hover:not(:disabled){color:var(--color-error);background:var(--color-error-bg)}.tm-icon-btn:disabled{opacity:.4;cursor:not-allowed}.tm-bulk-progress-track{height:6px;border-radius:var(--radius-full);background:var(--color-bg-secondary);overflow:hidden}.tm-bulk-progress-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width .15s ease}.tm-bulk-summary{font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.tm-bulk-summary.ok{color:var(--green-400)}.tm-bulk-summary.error{color:var(--color-error-text)}.tm-bulk-failures{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto}.tm-bulk-failures li{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-bg-secondary);border-radius:var(--radius-sm);padding:4px 8px}.tm-side-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:var(--color-overlay);display:flex;justify-content:flex-end;animation:tmFadeIn .2s ease}@keyframes tmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tmSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.tm-side-panel{width:440px;max-width:90vw;height:100vh;background:var(--color-bg-card);border-left:1px solid var(--color-border);display:flex;flex-direction:column;animation:tmSlideIn .3s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-lg)}.tm-side-panel.wide{width:640px}.tm-side-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border);flex-shrink:0}.tm-side-panel-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.tm-side-panel-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all .2s;display:flex;align-items:center;justify-content:center}.tm-side-panel-close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.tm-side-panel-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-xl)}.tm-side-panel-footer{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-sm);justify-content:flex-end;flex-shrink:0}.sp-field{margin-bottom:var(--spacing-lg)}.sp-label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--spacing-xs)}.sp-input,.sp-select,.sp-textarea{width:100%;background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-family:inherit;color:var(--color-text-primary);outline:none;transition:border-color .2s}.sp-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%239896C0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:36px;cursor:pointer}.sp-input:focus,.sp-select:focus,.sp-textarea:focus{border-color:var(--color-primary)}.sp-textarea{min-height:80px;resize:vertical}.sp-btn-primary{background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;font-family:inherit;transition:all .2s}.sp-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-primary)}.sp-btn-primary:disabled{opacity:.5;cursor:not-allowed}.sp-btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;font-family:inherit;transition:all .2s}.sp-btn-secondary:hover{border-color:var(--color-text-muted)}.sp-error{color:var(--color-error);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.sp-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.teams-panel{display:flex;flex-direction:column;gap:var(--spacing-lg)}.teams-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.teams-panel-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.teams-panel-sub{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0}.teams-new-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 16px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-fast);white-space:nowrap}.teams-new-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.teams-firstrun{padding:var(--spacing-2xl) var(--spacing-lg);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.teams-firstrun-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.teams-firstrun p{margin:0;max-width:360px}.teams-error{padding:10px var(--spacing-md);border:1px solid var(--color-error);background:var(--color-error-bg, var(--red-500-alpha-10, rgba(239, 68, 68, .1)));color:var(--color-error);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.teams-toolbar{display:flex;align-items:center;gap:var(--spacing-sm)}.teams-search{display:flex;align-items:center;gap:var(--spacing-xs);background:var(--color-input-bg, var(--color-bg-secondary));border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 10px;flex:1;max-width:360px;color:var(--color-text-muted)}.teams-search input{border:none;background:transparent;outline:none;flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary)}.teams-search-clear{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:12px;padding:0 2px}.teams-search-clear:hover{color:var(--color-text-primary)}.teams-empty{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.team-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-md)}.team-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.team-card.unassigned{background:var(--color-bg-secondary);border-style:dashed}.team-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.team-card-head-right{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.team-card-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.team-card-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:2px 10px}.team-card-empty{font-size:var(--font-size-xs);color:var(--color-text-muted)}.team-card-menu-wrap{position:relative}.team-card-menu-btn{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;border-radius:var(--radius-sm)}.team-card-menu-btn:hover{background:var(--color-bg-surface-hover);color:var(--color-text-primary)}.team-card-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dropdown)}.team-card-menu{position:absolute;right:0;top:100%;margin-top:4px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:calc(var(--z-dropdown) + 1);min-width:150px;overflow:hidden}.team-card-menu button{display:block;width:100%;text-align:left;background:transparent;border:none;padding:10px 14px;font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer}.team-card-menu button:hover{background:var(--color-bg-surface-hover)}.team-card-menu button.danger{color:var(--color-error)}.team-card-managers{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.team-no-manager{font-size:var(--font-size-xs);color:var(--color-warning);font-weight:var(--font-weight-medium)}.team-member-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.team-member-chip,.team-manager-chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:3px 10px 3px 3px}.team-manager-chip{border-color:var(--purple-alpha-25)}.team-manager-badge{font-size:9px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--purple-text);background:var(--purple-alpha-14);border-radius:var(--radius-full);padding:1px 6px;margin-left:2px}.team-avatar{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--color-bg-elevated, var(--color-bg-surface-hover));color:var(--color-text-primary);font-size:9px;font-weight:var(--font-weight-semibold)}.team-avatar.manager{background:var(--gradient-primary);color:#fff}.team-sp-user-list{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs)}.team-sp-user-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px 8px;border-radius:var(--radius-xs);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer}.team-sp-user-item:hover{background:var(--color-bg-secondary)}.team-sp-user-item input{cursor:pointer}.user-team{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.um-manager-badge{display:inline-block;font-size:9px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--purple-text);background:var(--purple-alpha-14);border:1px solid var(--purple-alpha-25);border-radius:var(--radius-full);padding:1px 8px;margin-left:6px}.team-tree{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) 0}.tt-branch{position:relative}.tt-children{position:relative;margin-left:22px;padding-left:18px;border-left:1.5px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-xs);animation:tt-expand var(--transition-normal) ease}@keyframes tt-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.tt-children{animation:none}}.tt-children>.tt-branch:before{content:"";position:absolute;left:-18px;top:26px;width:18px;height:1.5px;background:var(--color-border)}.tt-node{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px var(--spacing-md);transition:var(--transition-fast);position:relative}.tt-node:hover{border-color:var(--purple-alpha-40);box-shadow:var(--shadow-md);transform:translateY(-1px)}.tt-node.dimmed{opacity:.35}.tt-node.dragging{opacity:.5}.tt-node.drop-ok{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--purple-alpha-25)}.tt-node.drop-bad{border-color:var(--color-error);box-shadow:0 0 0 3px var(--red-500-alpha-20, rgba(239, 68, 68, .2));cursor:not-allowed}.tt-node[draggable=true]{cursor:grab}.tt-node[draggable=true]:active{cursor:grabbing}.tt-chevron{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-xs)}.tt-chevron svg{transition:transform var(--transition-fast)}.tt-chevron:hover{background:var(--color-bg-surface-hover);color:var(--color-text-primary)}.tt-chevron.invisible{visibility:hidden;cursor:default}.tt-avatars{display:flex;flex-shrink:0}.tt-avatars .tt-avatar:not(:first-child){margin-left:-8px}.tt-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:11px;font-weight:var(--font-weight-semibold);border:2px solid var(--color-bg-card);flex-shrink:0}.tt-avatar.manager{background:var(--gradient-primary);color:#fff}.tt-avatar.empty{background:var(--color-bg-secondary);color:var(--color-text-muted)}.tt-avatar.member{width:24px;height:24px;font-size:9px;background:var(--color-bg-elevated, var(--color-bg-surface-hover));color:var(--color-text-secondary)}.tt-avatar.member:not(:first-child){margin-left:-8px}.tt-avatar.more{width:24px;height:24px;font-size:9px;background:var(--color-bg-secondary);color:var(--color-text-muted);margin-left:-8px}.tt-node-main{flex:1;min-width:0}.tt-node-title{display:flex;align-items:center;gap:6px}.tt-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-lock{color:var(--color-text-muted);display:inline-flex}.tt-node-sub{display:flex;align-items:center;gap:10px;margin-top:2px;font-size:var(--font-size-xs);color:var(--color-text-muted)}.tt-mgr-names{color:var(--purple-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.tt-count{white-space:nowrap}.tt-count.sub{color:var(--color-text-secondary)}.tt-member-stack{display:flex;flex-shrink:0;margin-right:var(--spacing-xs)}.tt-node-actions{display:flex;gap:2px;flex-shrink:0;opacity:.45;transition:opacity var(--transition-fast)}.tt-node:hover .tt-node-actions,.tt-node-actions:focus-within{opacity:1}.tt-act{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm)}.tt-act:hover{background:var(--color-bg-surface-hover);color:var(--color-text-primary)}.tt-act.danger:hover{color:var(--color-error)}.tt-act:focus-visible{opacity:1;outline:2px solid var(--color-primary);outline-offset:1px;background:var(--color-bg-surface-hover);color:var(--color-text-primary)}.tt-root-drop{border:1.5px dashed var(--color-border);border-radius:var(--radius-md);padding:10px var(--spacing-md);margin-bottom:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;transition:var(--transition-fast)}.tt-root-drop.active{border-color:var(--color-primary);background:var(--purple-alpha-8);color:var(--purple-text)}.tm-dna-chips{display:flex;flex-wrap:wrap;gap:6px}.tm-dna-chip{font-size:var(--font-size-xs);padding:3px 10px;border-radius:var(--radius-pill);background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary)}.tm-dna-chip.good{background:var(--green-alpha-10);border-color:var(--green-alpha-20);color:var(--green-400)}.tm-usage-section{margin-bottom:var(--spacing-3xl)}.tm-usage-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.tm-usage-section-head h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.tm-scope-tabs{display:flex;gap:4px;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:3px}.tm-scope-tab{border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit}.tm-scope-tab.active{background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.tm-usage-bar-wrap{display:flex;flex-direction:column;gap:4px}.tm-usage-bar-track{height:6px;border-radius:var(--radius-full);background:var(--color-bg-secondary);overflow:hidden}.tm-usage-bar-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full)}.tm-usage-bar-fill.over{background:var(--red-500)}.tm-usage-bar-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.tm-usage-note{font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--border-subtle)}.tm-appaccess-table th,.tm-appaccess-table td{white-space:nowrap}.tm-access-cell{border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-muted);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:3px 12px;cursor:pointer;font-family:inherit;min-width:76px}.tm-access-cell:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.tm-access-cell:disabled{cursor:default}.tm-access-cell.off{background:var(--color-bg-secondary);color:var(--color-text-muted)}.tm-access-cell.assigned{background:var(--green-alpha-10);color:var(--green-400);border-color:var(--green-alpha-20)}.tm-sub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-lg)}.tm-sub-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.tm-sub-card-wide{grid-column:1 / -1;display:flex;justify-content:flex-start}.tm-sub-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.tm-sub-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.tm-dna-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.tm-audit-loadmore{display:flex;justify-content:center;margin-top:var(--spacing-lg)}.tm-audit-diff{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.tm-audit-diff-head{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.tm-audit-diff pre{background:var(--bg-deepest);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto}.tm-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.tm-tab{background:none;border:none;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tm-tab:hover{color:var(--color-text-primary)}.tm-tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.tm-field-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.tm-permission-summary{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.tm-action-picker{display:flex;flex-direction:column;gap:var(--spacing-md)}.tm-action-app{border:1px solid var(--color-border);border-radius:var(--radius-md)}.tm-action-app>summary{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;list-style:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.tm-action-app>summary::-webkit-details-marker{display:none}.tm-action-app-label{flex:1}.tm-action-app-count,.tm-action-resource-count{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.tm-action-app-bulk{display:flex;gap:var(--spacing-sm)}.tm-link-btn{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-xs);cursor:pointer;padding:0;font-family:inherit}.tm-link-btn:hover{text-decoration:underline}.tm-action-resource{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.tm-action-resource-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.tm-action-resource-name{flex:1;font-weight:var(--font-weight-semibold)}.tm-action-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tm-action-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;cursor:pointer;font-size:var(--font-size-sm)}.tm-action-item input[type=checkbox]{margin-top:3px;flex-shrink:0}.tm-action-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tm-action-item-label{color:var(--color-text-primary)}.tm-action-item-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--font-size-xs);line-height:1.4;color:var(--color-text-muted)}.tm-action-item .tm-risk-chip{margin-top:2px;flex-shrink:0}.tm-risk-chip{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold)}.tm-risk-chip.risk-read{background:var(--blue-alpha-10);color:var(--blue-400)}.tm-risk-chip.risk-write{background:var(--amber-alpha-10);color:var(--amber-400)}.tm-risk-chip.risk-destructive{background:var(--red-alpha-10, rgba(239, 68, 68, .12));color:var(--color-error)}.tm-action-highlight{background:var(--purple-alpha-25);color:inherit;border-radius:2px;padding:0 1px}.tm-action-search{margin-bottom:var(--spacing-md);flex-shrink:0}.tm-action-search input{flex:1;width:auto}.tm-action-search-clear{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:12px;padding:0 2px;flex-shrink:0}.tm-action-search-clear:hover{color:var(--color-text-primary)}.tm-action-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-md);flex-shrink:0;flex-wrap:wrap}.tm-action-tab{display:flex;align-items:baseline;gap:var(--spacing-xs);background:none;border:none;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tm-action-tab:hover{color:var(--color-text-primary)}.tm-action-tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.tm-action-tab-count{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.tm-action-body{display:flex;gap:var(--spacing-md);height:420px;min-height:0}.tm-action-rail{flex:0 0 150px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;padding-right:var(--spacing-xs);border-right:1px solid var(--color-border)}.tm-action-rail-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);background:none;border:none;border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);cursor:pointer;text-align:left;font-family:inherit}.tm-action-rail-item:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.tm-action-rail-item.active{background:var(--purple-dim);color:var(--purple-text);font-weight:var(--font-weight-semibold)}.tm-action-rail-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-action-rail-count{flex-shrink:0;font-weight:var(--font-weight-normal);text-transform:none;letter-spacing:normal}.tm-action-rows{flex:1;min-width:0;display:flex;flex-direction:column}.tm-action-rows-header{display:flex;align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);flex-shrink:0;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.tm-action-rows-title{flex:1;min-width:0;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.04em}.tm-action-rows-count{flex-shrink:0}.tm-action-rows-bulk{display:flex;gap:var(--spacing-sm);flex-shrink:0}.tm-action-rows-scroll{flex:1;min-height:0;overflow-y:auto;padding-top:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.tm-action-search-scroll{flex:none;height:420px}.tm-action-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.tm-assign-form{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.tm-form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.tm-grant-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.tm-grant-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}.tm-grant-head{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:2px}.tm-effective-action-list{margin:var(--spacing-xs) 0 var(--spacing-sm) var(--spacing-md);padding:0;list-style:disc;font-size:var(--font-size-xs)}.login{height:100vh;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl)}.login-container{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:420px;animation:sky-scale-in var(--transition-normal);overflow:hidden}.login-header{background:var(--color-header-bg);color:#fff;text-align:center;padding:var(--spacing-3xl) var(--spacing-3xl) var(--spacing-2xl)}.login-content{padding:var(--spacing-3xl);padding-top:var(--spacing-2xl)}.login-logo{height:64px;width:auto;margin-bottom:var(--spacing-lg);filter:drop-shadow(0 2px 8px rgba(108,47,251,.35))}.login-title{font-size:28px;font-weight:var(--font-weight-light);color:#fff;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.login-subtitle{font-size:var(--font-size-md);color:#fffc;margin:0}.login-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.login-view-content{animation:sky-fade-in .2s ease}.login-error-banner{background:#ef444414;border-left:3px solid var(--red-500);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--red-500);margin-bottom:var(--spacing-lg)}.login-error-banner svg{flex-shrink:0}.login-success-banner{background:#10b98114;border-left:3px solid var(--green-500);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--green-500);margin-bottom:var(--spacing-lg)}.login-success-banner svg{flex-shrink:0}.password-input-container{position:relative}.password-input{padding-right:44px;width:100%;box-sizing:border-box}.password-toggle-btn{position:absolute;right:0;top:0;bottom:0;width:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-muted);transition:var(--transition-fast)}.password-toggle-btn:hover{color:var(--text-secondary)}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:sky-spin 1s linear infinite}@keyframes sky-spin{to{transform:rotate(360deg)}}.login-links{text-align:center}.forgot-password-link,.back-to-login-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;padding:0;transition:var(--transition-fast)}.forgot-password-link:hover,.back-to-login-link:hover{text-decoration:underline}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary)}.form-input{padding:12px var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--text-primary);background:var(--color-bg-card);transition:var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6c2ffb26}.form-input::placeholder{color:var(--text-muted)}.login-btn{background:var(--gradient-primary);color:#fff;border:none;padding:14px var(--spacing-2xl);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);transition:var(--transition-fast);box-shadow:var(--shadow-primary);margin-top:var(--spacing-md)}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6c2ffb66}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-view-heading{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.login-view-subtext{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-xl) 0}.verification-code-input{letter-spacing:8px;text-align:center;font-size:var(--font-size-xl)}.password-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--spacing-xs);margin-bottom:0}.field-error{font-size:var(--font-size-xs);color:var(--red-500);margin-top:var(--spacing-xs)}@media (max-width: 480px){.login{padding:var(--spacing-lg)}.login-header{padding:var(--spacing-2xl) var(--spacing-xl) var(--spacing-xl)}.login-content{padding:var(--spacing-xl);padding-top:var(--spacing-lg)}.login-logo{height:48px}.login-title{font-size:24px}}:root{--bg-deepest: #080A10;--bg-base: #0D0F14;--bg-raised: #12141B;--bg-surface: #181B25;--bg-surface-hover: #1E2130;--bg-surface-active: #252840;--bg-elevated: #2D3150;--bg-overlay: rgba(8, 10, 16, .8);--border-subtle: #181C28;--border-default: #1F2335;--border-strong: #2A2F45;--text-primary: #EAECF2;--text-secondary: #A0A4B8;--text-tertiary: #686D85;--text-muted: #454A60;--text-disabled: #323648;--purple-50: #F3EFFE;--purple-100: #E0D4FC;--purple-200: #C4ABFA;--purple-300: #A78BFA;--purple-400: #8B5CF6;--purple-500: #6C2FFB;--purple-600: #5B22E0;--purple-700: #4A18C0;--purple-800: #371099;--purple-900: #240A6B;--purple-alpha-4: rgba(108, 47, 251, .04);--purple-alpha-8: rgba(108, 47, 251, .08);--purple-alpha-14: rgba(108, 47, 251, .14);--purple-alpha-25: rgba(108, 47, 251, .25);--purple-alpha-40: rgba(108, 47, 251, .4);--purple: #6C2FFB;--purple-text: #A78BFA;--purple-dim: rgba(108, 47, 251, .14);--purple-glow: rgba(108, 47, 251, .08);--purple-hover: #5B22E0;--green-500: #10B981;--green-400: #34D399;--green-alpha-10: rgba(16, 185, 129, .1);--green-alpha-20: rgba(16, 185, 129, .2);--red-500: #EF4444;--red-400: #F87171;--red-300: #FCA5A5;--red-alpha-10: rgba(239, 68, 68, .1);--amber-500: #F59E0B;--amber-400: #FBBF24;--amber-300: #FCD34D;--amber-alpha-10: rgba(245, 158, 11, .1);--amber-500-alpha-10: rgba(245, 158, 11, .1);--blue-500: #3B82F6;--blue-400: #60A5FA;--blue-alpha-10: rgba(59, 130, 246, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .35);--shadow-glow-purple: 0 4px 20px rgba(108, 47, 251, .2);--shadow-primary: 0 2px 8px rgba(108, 47, 251, .3);--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif: "Newsreader", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--radius-pill: 9999px;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-normal: .18s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-graceful: .35s cubic-bezier(.16, 1, .3, 1);--color-primary: var(--purple-500);--color-primary-dark: var(--purple-600);--color-secondary: var(--purple-400);--gradient-primary: linear-gradient(135deg, #6C2FFB 0%, #8b5cf6 100%);--color-success: var(--green-500);--color-warning: var(--amber-500);--color-error: var(--red-500);--color-info: var(--blue-500);--color-bg-primary: var(--bg-base);--color-bg-secondary: var(--bg-surface);--color-bg-card: var(--bg-raised);--color-border: var(--border-default);--color-border-light: var(--border-subtle);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-tertiary);--color-header-bg: #2B1B4E;--color-footer-bg: var(--bg-raised);--color-sidebar-bg: var(--bg-base);--color-sidebar-active: var(--purple-dim);--color-tag-bg: var(--purple-dim);--color-tag-text: var(--purple-text);--color-overlay: var(--bg-overlay);--color-input-bg: var(--bg-surface);--color-footer-search-bg: var(--bg-surface);--color-footer-search-border: var(--border-default);--color-footer-search-focus-bg: var(--bg-surface-hover);--color-footer-search-focus-border: var(--border-strong);--color-scrollbar-thumb: var(--bg-surface-active);--color-scrollbar-thumb-hover: var(--text-secondary);--color-error-bg: var(--red-alpha-10);--color-error-border: rgba(239, 68, 68, .3);--color-error-text: var(--red-300);--color-success-bg: var(--green-alpha-10);--color-success-border: rgba(16, 185, 129, .3);--color-success-text: var(--green-400);--color-warning-bg: var(--amber-alpha-10);--color-warning-border: rgba(245, 158, 11, .3);--color-warning-text: var(--amber-300);--color-info-bg: var(--blue-alpha-10);--color-info-border: rgba(59, 130, 246, .3);--color-section-header-bg: var(--bg-surface);--color-archetype-strategist: var(--purple-300);--color-archetype-architect: var(--blue-400);--color-archetype-connector: var(--green-400);--color-archetype-closer: #F97316;--bg-root: var(--bg-deepest);--bg-sidebar: var(--bg-base);--bg-editor: var(--bg-raised);--blue: var(--blue-500);--green: var(--green-500);--amber: var(--amber-500);--red: var(--red-500);--pink: #EC4899;--teal: #14B8A6;--orange: #F97316;--purple-light: var(--purple-300);--spacing-xs: 4px;--spacing-sm: 7px;--spacing-md: 11px;--spacing-lg: 14px;--spacing-xl: 18px;--spacing-2xl: 22px;--spacing-3xl: 29px;--spacing-4xl: 43px;--font-size-xs: 10px;--font-size-sm: 11px;--font-size-base: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 22px;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--z-dropdown: 999;--z-sticky: 1000;--z-modal: 9999;--nymbi-window-bg: #0F1326;--nymbi-card-bg: #131730;--nymbi-surface: rgba(255, 255, 255, .02);--nymbi-window-radius: 18px;--nymbi-card-radius: 8px}[data-theme=light]{--bg-deepest: #E8E8F0;--bg-base: #F0F0F5;--bg-raised: #FFFFFF;--bg-surface: #EEEDF5;--bg-surface-hover: #E8E7F0;--bg-surface-active: #DDDCE8;--bg-elevated: #FFFFFF;--bg-overlay: rgba(0, 0, 0, .45);--border-subtle: #E0DFE8;--border-default: #D5D4E0;--border-strong: #C0BFD0;--text-primary: #1A1A2E;--text-secondary: #5A5A72;--text-tertiary: #8888A0;--text-muted: #B0B0C0;--text-disabled: #CCCCDA;--purple: #6C2FFB;--purple-text: #5521C6;--purple-dim: rgba(108, 47, 251, .12);--purple-glow: rgba(108, 47, 251, .06);--purple-hover: #5521C6;--purple-light: #5521C6;--blue: #2563EB;--green: #059669;--amber: #D97706;--red: #DC2626;--pink: #DB2777;--teal: #0D9488;--orange: #EA580C;--blue-500: #2563EB;--green-500: #059669;--amber-500: #D97706;--red-500: #DC2626;--blue-400: #3B82F6;--green-400: #10B981;--amber-400: #F59E0B;--red-400: #EF4444;--red-300: #FCA5A5;--amber-300: #FCD34D;--color-primary: #6C2FFB;--color-primary-dark: #5521C6;--color-secondary: #8b5cf6;--gradient-primary: linear-gradient(135deg, #6C2FFB 0%, #8b5cf6 100%);--color-success: #059669;--color-warning: #D97706;--color-error: #DC2626;--color-info: #2563EB;--color-bg-primary: var(--bg-raised);--color-bg-secondary: var(--bg-surface);--color-bg-card: #FFFFFF;--color-border: var(--border-default);--color-border-light: var(--border-subtle);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-tertiary);--color-header-bg: #2d1b4e;--color-footer-bg: #2d1b4e;--color-sidebar-bg: var(--bg-base);--color-sidebar-active: var(--purple-dim);--color-tag-bg: var(--purple-dim);--color-tag-text: var(--purple-text);--color-overlay: var(--bg-overlay);--color-input-bg: #FFFFFF;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--shadow-primary: 0 2px 8px rgba(108, 47, 251, .2);--shadow-glow-purple: 0 4px 20px rgba(108, 47, 251, .12);--color-footer-search-bg: #4a3060;--color-footer-search-border: #5a4070;--color-footer-search-focus-bg: #3d2550;--color-footer-search-focus-border: #6a5080;--color-scrollbar-track: var(--bg-base);--color-scrollbar-thumb: var(--border-default);--color-scrollbar-thumb-hover: var(--text-tertiary);--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-error-text: #DC2626;--color-success-bg: #f0fdf4;--color-success-border: #bbf7d0;--color-success-text: #059669;--color-warning-bg: #fef3c7;--color-warning-border: #fbbf24;--color-warning-text: #92400e;--color-info-bg: #eff6ff;--color-info-border: #93c5fd;--color-section-header-bg: var(--bg-surface);--color-archetype-strategist: #7C3AED;--color-archetype-architect: #2563EB;--color-archetype-connector: #059669;--color-archetype-closer: #EA580C;--purple-alpha-4: rgba(108, 47, 251, .03);--purple-alpha-8: rgba(108, 47, 251, .05);--purple-alpha-14: rgba(108, 47, 251, .08);--purple-alpha-25: rgba(108, 47, 251, .15);--purple-alpha-40: rgba(108, 47, 251, .25);--red-alpha-10: rgba(220, 38, 38, .08);--green-alpha-10: rgba(5, 150, 105, .08);--green-alpha-20: rgba(5, 150, 105, .15);--amber-alpha-10: rgba(217, 119, 6, .08);--amber-500-alpha-10: rgba(217, 119, 6, .08);--blue-alpha-10: rgba(37, 99, 235, .08);--bg-root: var(--bg-deepest);--bg-sidebar: var(--bg-base);--bg-editor: var(--bg-raised);--nymbi-window-bg: #FFFFFF;--nymbi-card-bg: #FFFFFF;--nymbi-surface: rgba(0, 0, 0, .02);--nymbi-window-radius: 18px;--nymbi-card-radius: 8px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;color:var(--color-text-primary);background:var(--color-bg-primary);overscroll-behavior:none}#root{height:100%}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:1.2;margin:0}p{margin:0;line-height:1.5}button{font-family:inherit;cursor:pointer;border:none;background:none;transition:var(--transition-fast)}input,textarea,select{font-family:inherit;font-size:inherit;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:var(--transition-fast);background-color:var(--color-input-bg);color:var(--color-text-primary);padding:var(--spacing-sm) var(--spacing-md)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6c2ffb26}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%239896C0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 10px center!important;background-size:16px!important;padding-right:32px!important;cursor:pointer;line-height:1.4}[data-theme=light] select{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}select:hover{border-color:var(--color-text-muted)}select option{background:var(--color-bg-card);color:var(--color-text-primary);padding:var(--spacing-sm)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border:none;border-radius:3px;background:var(--color-border);padding:0;box-shadow:none}input[type=range]:focus{box-shadow:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-bg-card);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-bg-card);cursor:pointer;box-shadow:var(--shadow-sm)}a{color:var(--color-primary);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--color-primary-dark)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-scrollbar-track, var(--color-bg-secondary))}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb, var(--color-border));border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover, var(--color-text-muted))}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.97);opacity:0}to{transform:scale(1);opacity:1}}.animate-slide-up{animation:slideUp var(--transition-graceful)}.animate-slide-down{animation:slideDown var(--transition-graceful)}.animate-fade-in{animation:fadeIn var(--transition-graceful)}.animate-scale-in{animation:scaleIn var(--transition-graceful)}.tm-login-loading{min-height:100vh;background:var(--gradient-primary)}
