:root{--bg:#fafafa;--fg:#111;--muted:#666;--border:#e5e5e5;--primary:#0070f3;--primary-hover:#0060df;--error:#e00;--success:#0a0}@media (prefers-color-scheme:dark){:root{--bg:#111;--fg:#fafafa;--muted:#888;--border:#333}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.container{max-width:1200px;margin:0 auto;padding:2rem}.demo-layout{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem;display:grid}.demo-column{min-width:0}.demo-column-header{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:.75rem;padding-bottom:.5rem;font-size:.75rem;font-weight:600}@media (max-width:900px){.demo-layout{grid-template-columns:1fr}}h1{margin-bottom:1.5rem;font-size:1.5rem}h2{margin-bottom:1rem;font-size:1.25rem}.card{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;padding:1.5rem}.form-group{margin-bottom:1rem}label{color:var(--muted);margin-bottom:.25rem;font-size:.875rem;display:block}input,textarea,select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--fg);border-radius:4px;padding:.5rem .75rem;font-size:1rem}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none}button{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;transition:background .15s}.btn-primary,.btn-secondary,.btn-danger{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;border:1px solid var(--primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{border:1px solid var(--border);color:var(--fg);background:0 0}.btn-secondary:hover{background:var(--border);text-decoration:none}.btn-danger{background:var(--error);border:1px solid var(--error);color:#fff}.btn-danger:hover{opacity:.9}.error{color:var(--error);margin-top:.5rem;font-size:.875rem}.success{color:var(--success);margin-top:.5rem;font-size:.875rem}.link{color:var(--primary);text-decoration:none}.link:hover{text-decoration:underline}.flex{gap:.5rem;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.mt-1{margin-top:1rem}.text-muted{color:var(--muted);font-size:.875rem}.task-item{border:1px solid var(--border);border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem;display:flex}.task-item .title{font-weight:500}.task-item .status{background:var(--border);border-radius:999px;padding:.125rem .5rem;font-size:.75rem}.task-item .status.done{background:var(--success);color:#fff}.task-item .status.in_progress{background:var(--primary);color:#fff}.task-item .task-content{flex:1;min-width:0}.task-item .task-header{align-items:center;gap:.5rem;display:flex}.task-item .attachment{margin-top:.5rem}.task-item .attachment-image{object-fit:cover;border-radius:4px;max-width:200px;max-height:150px}.attachments-grid{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.attachment-item{position:relative}.attachment-item .attachment-image{object-fit:cover;border:1px solid var(--border);border-radius:4px;width:80px;height:80px;transition:transform .15s}.attachment-item .attachment-image:hover{transform:scale(1.05)}.attachment-file{background:var(--border);width:80px;height:80px;color:var(--fg);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;text-decoration:none;transition:background .15s;display:flex}.attachment-file:hover{background:color-mix(in srgb,var(--primary)20%,var(--border))}.attachment-icon{font-size:1.5rem}.attachment-name{text-overflow:ellipsis;white-space:nowrap;max-width:70px;margin-top:.25rem;font-size:.625rem;overflow:hidden}.task-item .task-user{margin-top:.25rem;font-size:.75rem}.task-tags{flex-wrap:wrap;gap:.375rem;margin-top:.5rem;display:flex}.tag{background:var(--primary);color:#fff;border-radius:999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.7rem;font-weight:500;display:inline-flex}.tag-remove{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;padding:0;font-size:.75rem;line-height:1;display:inline-flex}.tag-remove:hover{background:#fff6}.tag-add{border:1px dashed var(--border);color:var(--muted);cursor:pointer;background:0 0;padding:.125rem .5rem}.tag-add:hover{border-color:var(--primary);color:var(--primary)}.tag-input-form{gap:.25rem;display:inline-flex}.tag-input-form input{border-radius:999px;width:80px;padding:.125rem .375rem;font-size:.7rem}.tag-add-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:.875rem;display:inline-flex}.tag-add-btn:hover{background:var(--primary-hover)}.pagination-controls{border-top:1px solid var(--border);justify-content:center;margin-top:1rem;padding-top:1rem;display:flex}.status-badge{border-radius:999px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.status-badge.connected{background:var(--success);color:#fff}.status-badge.connecting{background:var(--border);color:var(--muted)}.status-badge.disconnected{background:var(--error);color:#fff}input[type=file]{padding:.25rem;font-size:.875rem}.oauth-buttons{margin-bottom:1rem}.btn-oauth{background:var(--fg);width:100%;color:var(--bg);border:none;border-radius:4px;margin-bottom:.5rem;padding:.75rem;font-weight:500}.btn-oauth:hover{opacity:.9}.divider{color:var(--muted);align-items:center;margin:1rem 0;font-size:.875rem;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.divider span{padding:0 .75rem}.app-header{border-bottom:1px solid var(--border);margin-bottom:2rem;padding-bottom:1.5rem}.app-header h1{margin-bottom:0}.app-header>p{margin-top:.5rem}.docs-layout{min-height:100vh;display:flex}.docs-nav{background:var(--bg);border-right:1px solid var(--border);z-index:100;width:240px;height:100vh;padding:1.5rem;position:fixed;top:0;left:0;overflow-y:auto}.docs-nav-header{margin-bottom:1.5rem}.docs-nav-header h2{margin:0;font-size:1.25rem}.back-link{color:var(--muted);margin-bottom:.5rem;font-size:.875rem;text-decoration:none;display:block}.back-link:hover{color:var(--primary)}.docs-nav ul{margin:0;padding:0;list-style:none}.docs-nav li{margin-bottom:.25rem}.docs-nav button{text-align:left;width:100%;color:var(--fg);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.5rem .75rem;font-size:.875rem;transition:all .15s}.docs-nav button:hover{background:var(--border)}.docs-nav button.active{background:var(--primary);color:#fff}.docs-content{flex:1;max-width:1100px;margin-left:240px;padding:3rem}.docs-content section{margin-bottom:4rem;scroll-margin-top:2rem}.docs-content h1{margin-bottom:1rem;font-size:2.5rem;font-weight:700}.docs-content h2{border-top:1px solid var(--border);margin-bottom:1rem;padding-top:1rem;font-size:1.75rem}.docs-content section:first-child h2{border-top:none;padding-top:0}.docs-content h3{color:var(--fg);margin:1.5rem 0 .75rem;font-size:1.125rem}.docs-content p{margin-bottom:1rem;line-height:1.7}.docs-content .lead{color:var(--muted);margin-bottom:2rem;font-size:1.25rem}.docs-content pre{color:#e4e4e7;background:#1a1a2e;border-radius:8px;margin-bottom:1.5rem;padding:1rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.docs-content code{font-family:SF Mono,Fira Code,Consolas,monospace}.docs-content p code,.docs-content li code{background:var(--border);border-radius:4px;padding:.125rem .375rem;font-size:.875em}.docs-content ul,.docs-content ol{margin-bottom:1rem;padding-left:1.5rem}.docs-content li{margin-bottom:.5rem;line-height:1.6}.info-box{background:var(--border);border-left:4px solid var(--primary);border-radius:0 8px 8px 0;margin:1.5rem 0;padding:1rem 1.25rem}.info-box strong{margin-bottom:.5rem;display:block}.info-box p{margin-bottom:.5rem}.info-box p:last-child,.info-box pre:last-child,.info-box ul:last-child{margin-bottom:0}.info-box pre{margin-top:.75rem;margin-bottom:0}.info-box ul{margin-bottom:0}.feature-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin:2rem 0;display:grid}.feature-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.feature-card h3{margin:0 0 .5rem;font-size:1rem}.feature-card p{color:var(--muted);margin:0;font-size:.875rem}.provider-list{grid-template-columns:repeat(3,1fr);gap:.5rem;padding:0;list-style:none;display:grid}.provider-list li{background:var(--border);text-align:center;border-radius:4px;padding:.5rem .75rem;font-size:.875rem}.feature-table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.875rem}.feature-table th,.feature-table td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem 1rem}.feature-table th{background:var(--border);font-weight:600;position:sticky;top:0}.feature-table th:first-child{width:22%}.feature-table th:nth-child(2){width:12%}.feature-table th:nth-child(3){width:40%}.feature-table th:nth-child(4){width:26%}.feature-table td code{background:var(--border);white-space:nowrap;border-radius:4px;padding:.125rem .375rem;font-size:.75rem}.feature-table .section-header td{background:var(--fg);color:var(--bg);text-transform:uppercase;letter-spacing:.05em;padding:.5rem 1rem;font-size:.8125rem;font-weight:600}.feature-table tr:hover:not(.section-header){background:color-mix(in srgb,var(--border)30%,transparent)}.feature-table .badge{white-space:nowrap;border-radius:999px;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-block}.feature-table .badge.yes{color:#fff;background:#059669}.feature-table .badge.no{background:var(--border);color:var(--muted)}.feature-table td:last-child{color:var(--muted)}.docs-footer{border-top:1px solid var(--border);text-align:center;color:var(--muted);margin-top:4rem;padding-top:2rem}.docs-footer p{margin-bottom:.5rem}.docs-footer a{color:var(--primary);text-decoration:none}.docs-footer a:hover{text-decoration:underline}.file-upload{margin-top:.5rem}.file-upload-label{color:var(--muted);margin-bottom:.25rem;font-size:.875rem;display:block}.dropzone{border:2px dashed var(--border);text-align:center;cursor:pointer;background:var(--bg);border-radius:8px;padding:1.5rem;transition:all .2s}.dropzone:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary)5%,var(--bg))}.dropzone.dragging{border-color:var(--primary);background:color-mix(in srgb,var(--primary)10%,var(--bg));border-style:solid}.dropzone.has-files{padding:1rem}.dropzone-input{display:none}.dropzone-content{pointer-events:none}.dropzone-icon{margin-bottom:.5rem;font-size:2rem}.dropzone-text{color:var(--fg);margin-bottom:.25rem;font-size:.875rem}.dropzone-hint{color:var(--muted);margin:0;font-size:.75rem}.file-upload-error{color:var(--error);margin-top:.5rem;font-size:.75rem}.file-list{margin-top:.75rem}.file-list-label{color:var(--muted);margin-bottom:.375rem;font-size:.75rem}.file-item{background:var(--border);border-radius:4px;align-items:center;gap:.5rem;margin-bottom:.375rem;padding:.5rem;font-size:.8125rem;display:flex}.file-item.pending{background:color-mix(in srgb,var(--primary)10%,var(--bg));border:1px solid var(--primary)}.file-item.existing{background:var(--border)}.file-thumbnail{object-fit:cover;border-radius:4px;width:32px;height:32px}.file-icon{text-align:center;width:32px;font-size:1.25rem}.file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.file-size{color:var(--muted);font-size:.75rem}.file-remove{border:1px solid var(--border);width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.875rem;line-height:1;display:flex}.file-remove:hover{background:var(--error);border-color:var(--error);color:#fff}.upload-mode-tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.upload-mode-tab{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px 4px 0 0;padding:.375rem .75rem;font-size:.75rem}.upload-mode-tab:hover{color:var(--fg)}.upload-mode-tab.active{background:var(--bg);border-color:var(--border);border-bottom-color:var(--bg);color:var(--fg);margin-bottom:-1px}.status-filter-tabs{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.status-filter-tab{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;transition:all .15s;display:inline-flex}.status-filter-tab:hover{border-color:var(--muted);color:var(--fg)}.status-filter-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.status-filter-tab .count{background:#0000001a;border-radius:9999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;font-size:.6875rem;font-weight:600;display:inline-flex}.status-filter-tab.active .count{background:#fff3}.jwt-viewer{margin-top:1rem}.jwt-viewer h3{font-size:1rem}.jwt-viewer h4{color:var(--muted);margin:1rem 0 .5rem;font-size:.875rem}.jwt-token-display{margin-top:.75rem}.jwt-token-preview{background:var(--border);word-break:break-all;color:var(--muted);border-radius:4px;padding:.5rem;font-size:.75rem;display:block}.jwt-token-full{word-break:break-all;background:#1a1a2e;border-radius:4px;padding:.75rem;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.7rem;line-height:1.6}.jwt-header{color:#f472b6}.jwt-payload{color:#a78bfa}.jwt-signature{color:#34d399}.jwt-dot{color:#666}.jwt-table{width:100%;font-size:.8125rem}.jwt-table td{border-bottom:1px solid var(--border);padding:.375rem 0}.jwt-table td:first-child{color:var(--muted);width:120px}.jwt-table code{background:var(--border);border-radius:4px;padding:.125rem .375rem;font-size:.75rem}.jwt-expiry{color:var(--muted);font-size:.75rem}.jwt-legend{color:var(--muted);gap:1rem;margin-top:.75rem;font-size:.75rem;display:flex}.jwt-legend span{align-items:center;gap:.25rem;display:flex}.jwt-section{border-top:1px solid var(--border);margin-top:1rem;padding-top:.75rem}.jwt-section:first-of-type{border-top:none;margin-top:0;padding-top:0}.jwt-section h4{margin:0 0 .5rem}.jwt-record{background:var(--border);border-radius:4px;margin-top:.5rem;padding:.5rem}.jwt-record .jwt-table td:first-child{width:100px}.admin-panel h3{margin-bottom:.5rem;font-size:1rem}.admin-tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-top:.75rem;display:flex}.admin-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem .75rem;font-size:.8125rem;transition:all .15s}.admin-tab:hover{color:var(--fg)}.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.admin-content{margin-top:.75rem}.log-stats{background:var(--border);border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.5rem;font-size:.8125rem;display:flex}.log-list{max-height:300px;overflow-y:auto}.log-entry{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.375rem 0;font-size:.75rem;display:flex}.log-method{text-transform:uppercase;text-align:center;border-radius:4px;min-width:40px;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.log-method.get{color:#1d4ed8;background:#dbeafe}.log-method.post{color:#16a34a;background:#dcfce7}.log-method.put,.log-method.patch{color:#d97706;background:#fef3c7}.log-method.delete{color:#dc2626;background:#fee2e2}.log-status{border-radius:4px;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.log-status.success{color:#16a34a;background:#dcfce7}.log-status.error{color:#dc2626;background:#fee2e2}.log-url{text-overflow:ellipsis;white-space:nowrap;color:var(--fg);flex:1;overflow:hidden}.log-message{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);flex:1;font-style:italic;overflow:hidden}.log-time{color:var(--muted);white-space:nowrap;font-size:.625rem}.backup-actions{margin-bottom:.75rem}.backup-list{flex-direction:column;gap:.5rem;display:flex}.backup-item{background:var(--border);border-radius:4px;justify-content:space-between;align-items:center;padding:.5rem;display:flex}.backup-info{flex-direction:column;gap:.125rem;display:flex}.backup-name{font-size:.8125rem;font-weight:500}.backup-meta{color:var(--muted);font-size:.6875rem}.migration-list{flex-direction:column;gap:.375rem;display:flex}.migration-item{background:var(--border);border-radius:4px;align-items:center;gap:.5rem;padding:.5rem;font-size:.8125rem;display:flex}.migration-icon{font-size:1rem}.migration-name{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.75rem}@media (max-width:768px){.docs-nav{border-right:none;border-bottom:1px solid var(--border);width:100%;height:auto;position:relative}.docs-nav ul{flex-wrap:wrap;gap:.5rem;display:flex}.docs-nav li{margin-bottom:0}.docs-nav button{padding:.375rem .75rem;font-size:.75rem}.docs-layout{flex-direction:column}.docs-content{margin-left:0;padding:1.5rem}.docs-content h1{font-size:1.75rem}.feature-grid{grid-template-columns:1fr}.provider-list{grid-template-columns:repeat(2,1fr)}}.account-switcher{position:relative}.account-switcher-trigger{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;transition:border-color .15s;display:flex}.account-switcher-trigger:hover{border-color:var(--primary)}.account-info{align-items:center;gap:.5rem;display:flex}.account-name{font-weight:500}.account-type{background:var(--border);color:var(--muted);text-transform:capitalize;border-radius:4px;padding:.125rem .5rem;font-size:.75rem}.chevron{color:var(--muted);font-size:.625rem}.account-switcher-dropdown{background:var(--bg);border:1px solid var(--border);z-index:1000;border-radius:8px;margin-top:.5rem;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.dropdown-header{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);padding:.75rem 1rem;font-size:.75rem;font-weight:600}.account-list{max-height:300px;overflow-y:auto}.account-option{border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;padding:.75rem 1rem;transition:background .15s;display:flex}.account-option:last-child{border-bottom:none}.account-option:hover{background:var(--border)}.account-option.active{background:color-mix(in srgb,var(--primary)10%,var(--bg))}.account-option-info{align-items:center;gap:.5rem;display:flex}.account-option-name{font-weight:500}.account-option-type{background:var(--border);color:var(--muted);text-transform:capitalize;border-radius:3px;padding:.125rem .375rem;font-size:.7rem}.active-indicator{color:var(--success);font-weight:600}.dropdown-footer{border-top:1px solid var(--border);background:var(--border);padding:.75rem 1rem}.global-admin-badge{background:var(--primary);color:#fff;border-radius:4px;padding:.25rem .5rem;font-size:.7rem;font-weight:600}.role-badge{text-transform:capitalize;border-radius:4px;padding:.125rem .5rem;font-size:.7rem;font-weight:500}.role-badge.small{padding:.1rem .375rem;font-size:.625rem}.role-badge.account_owner{color:#fff;background:#7c3aed}.role-badge.account_admin{color:#fff;background:#2563eb}.role-badge.account_member{color:#fff;background:#059669}.role-badge.account_viewer{background:var(--border);color:var(--muted)}.role-badge.global_admin{color:#fff;background:#dc2626}.rbac-page{padding:0}.rbac-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.rbac-header h2{margin:0}.rbac-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;padding:1.25rem}.rbac-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.rbac-card-title{margin:0;font-size:1rem;font-weight:600}.rbac-card-subtitle{color:var(--muted);margin:.25rem 0 0;font-size:.875rem}.rbac-card-actions{gap:.5rem;display:flex}.member-list{margin-top:1rem}.member-item{border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem;display:flex}.member-info{align-items:center;gap:.75rem;display:flex}.member-avatar{background:var(--border);width:36px;height:36px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:flex}.member-details{flex-direction:column;display:flex}.member-name{font-weight:500}.member-email{color:var(--muted);font-size:.75rem}.member-role{align-items:center;gap:.5rem;display:flex}.invitation-item{border:1px solid var(--border);background:color-mix(in srgb,var(--primary)5%,var(--bg));border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem;display:flex}.invitation-info{align-items:center;gap:.75rem;display:flex}.invitation-icon{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex}.invitation-details{flex-direction:column;display:flex}.invitation-email{font-weight:500}.invitation-status{color:var(--muted);font-size:.75rem}.create-form{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.create-form h3{margin:0 0 1rem;font-size:1rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.form-row.single{grid-template-columns:1fr}.presign-upload{margin-top:.5rem}.presign-upload-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.presign-badge{color:#fff;background:#f97316;border-radius:4px;padding:.25rem .5rem;font-size:.7rem;font-weight:600}.presign-hint{color:var(--muted);font-size:.75rem}.dropzone.presign{background:color-mix(in srgb,#f97316 5%,var(--bg));border-color:#f97316}.dropzone.presign:hover,.dropzone.presign.dragging{background:color-mix(in srgb,#f97316 10%,var(--bg));border-color:#ea580c}.upload-progress-list{margin-top:.75rem}.upload-progress-item{border:1px solid var(--border);border-radius:4px;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.5rem;display:flex}.upload-progress-item.complete{border-color:var(--success)}.upload-progress-item.error{border-color:var(--error)}.upload-filename{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;overflow:hidden}.upload-progress-bar{background:var(--border);border-radius:3px;width:100px;height:6px;overflow:hidden}.upload-progress-fill{background:var(--primary);height:100%;transition:width .3s}.upload-progress-item.complete .upload-progress-fill{background:var(--success)}.upload-progress-item.error .upload-progress-fill{background:var(--error)}.upload-status{color:var(--muted);text-align:right;min-width:80px;font-size:.75rem}.r2-file-list{margin-top:.75rem}.r2-file-item{border:1px solid var(--border);background:color-mix(in srgb,#f97316 5%,var(--bg));border-radius:4px;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.5rem .75rem;display:flex}.r2-file-icon{font-size:1.25rem}.r2-file-info{flex-direction:column;flex:1;display:flex}.r2-file-name{font-size:.875rem;font-weight:500}.r2-file-size{color:var(--muted);font-size:.75rem}.btn-secondary.small{padding:.25rem .5rem;font-size:.75rem}.storage-comparison{margin-top:1rem}.comparison-tabs{border-bottom:1px solid var(--border);margin-bottom:1rem;display:flex}.comparison-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.25rem;font-weight:500;transition:all .15s}.comparison-tab:hover{color:var(--fg)}.comparison-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.comparison-panel{border:1px solid var(--border);border-radius:8px;padding:1rem}.comparison-panel h4{margin:0 0 1rem}.feature-list{margin:0 0 1rem;padding:0;list-style:none}.feature-list li{padding:.375rem 0;font-size:.875rem}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.project-card{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:1.25rem;transition:border-color .15s,box-shadow .15s}.project-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.project-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.project-color{border-radius:50%;flex-shrink:0;width:12px;height:12px}.project-title{flex:1;margin:0 0 0 .5rem;font-weight:600}.project-status{text-transform:capitalize;border-radius:4px;padding:.125rem .5rem;font-size:.7rem}.project-status.active{background:var(--success);color:#fff}.project-status.archived{background:var(--border);color:var(--muted)}.project-description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .75rem;font-size:.875rem;display:-webkit-box;overflow:hidden}.project-meta{color:var(--muted);gap:1rem;font-size:.75rem;display:flex}.project-files{align-items:center;gap:.25rem;display:flex}.empty-state{text-align:center;border:2px dashed var(--border);border-radius:8px;margin:1rem 0;padding:3rem 1.5rem}.empty-state-icon{margin-bottom:1rem;font-size:3rem}.empty-state h3{margin:0 0 .5rem;font-size:1.125rem}.empty-state p{color:var(--muted);margin:0 0 1rem}.rbac-nav{border-bottom:1px solid var(--border);gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.rbac-nav-link{color:var(--muted);border-radius:4px 4px 0 0;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .15s}.rbac-nav-link:hover{color:var(--fg);background:var(--border)}.rbac-nav-link.active{color:var(--primary);background:color-mix(in srgb,var(--primary)10%,var(--bg))}
