.upload-info-banner{background:hsl(var(--accent) / .06);border:1px solid hsl(var(--accent) / .2);color:var(--text-primary,#1f2937);border-radius:8px;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.875rem 1rem;font-size:.875rem;line-height:1.5;display:flex}.upload-info-banner-icon{color:hsl(var(--accent));flex-shrink:0;margin-top:1px}.upload-info-banner-content{flex:1;min-width:0}.upload-info-banner-content strong{margin-bottom:.125rem;font-weight:600;display:block}.upload-info-banner-content span{color:var(--text-secondary,#6b7280)}.upload-info-banner-close{color:var(--text-tertiary,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.125rem .25rem;font-size:1.25rem;line-height:1;transition:all .15s}.upload-info-banner-close:hover{background:hsl(var(--accent) / .1);color:var(--text-primary,#1f2937)}.file-browser{flex-direction:column;gap:1rem;height:100%;display:flex}.file-browser-header{border-bottom:1px solid var(--border-color,#e5e7eb);justify-content:space-between;align-items:center;padding-bottom:.5rem;display:flex}.file-browser-actions{gap:.5rem;display:flex}.icon-btn{width:32px;height:32px;color:var(--text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.icon-btn:hover{background:var(--bg-secondary,#f3f4f6);color:var(--text-primary,#1f2937)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.file-browser-toolbar{border-bottom:1px solid var(--border-color,#e5e7eb);align-items:center;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.toolbar-description{flex:1;min-width:0}.toolbar-description .folder-description{padding:0}.toolbar-description .folder-description-input{min-height:unset;padding:.375rem .5rem;font-size:.8125rem}.toolbar-actions{flex-shrink:0;gap:.25rem;display:flex}.upload-dropdown{position:relative}.upload-dropdown-menu{background:var(--bg-primary,white);border:1px solid var(--border-color,#e5e7eb);z-index:100;border-radius:8px;min-width:148px;margin-top:.25rem;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #0000001a}.upload-dropdown-item{width:100%;color:var(--text-primary,#1f2937);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.625rem;padding:.625rem .875rem;font-size:.875rem;transition:background .15s;display:flex}.upload-dropdown-item:hover{background:var(--bg-secondary,#f3f4f6)}.upload-dropdown-item:first-child{border-bottom:1px solid var(--border-color,#e5e7eb)}.upload-dropdown-item svg{color:var(--text-secondary,#6b7280);flex-shrink:0}.file-browser-error{text-align:center;color:var(--text-secondary,#6b7280);padding:3rem}.file-browser-error p{margin-bottom:1rem}.file-browser-inline-error{color:#991b1b;background:#fef2f2;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.file-browser-loading{justify-content:center;align-items:center;padding:3rem;display:flex}.file-browser-content{flex:1;gap:1rem;min-height:0;margin:-.5rem;padding:.5rem;display:flex}.file-browser-content.with-panel .file-browser-main{flex:1}.file-browser-main{flex:1;overflow-y:auto}.breadcrumb{flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.875rem;display:flex}.breadcrumb-item{color:var(--text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;transition:all .15s;display:flex}.breadcrumb-item:not(.breadcrumb-current):hover{background:var(--bg-secondary,#f3f4f6);color:var(--text-primary,#1f2937)}.breadcrumb-root{font-weight:500}.breadcrumb-current{color:var(--text-primary,#1f2937);cursor:default;font-weight:500}.breadcrumb-segment{align-items:center;display:inline-flex}.breadcrumb-separator{color:var(--text-tertiary,#9ca3af);margin:0 .25rem}.breadcrumb-add-folder{color:var(--text-tertiary,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:4px;margin:0;padding:.25rem;font-size:.875rem;transition:all .15s}.breadcrumb-add-folder:hover{background:var(--bg-secondary,#f3f4f6);color:var(--text-primary,#1f2937)}.breadcrumb-create{align-items:center;display:inline-flex}.breadcrumb-create-input{border:1px solid var(--color-primary,#3b82f6);background:var(--bg-primary,white);border-radius:4px;outline:none;min-width:100px;max-width:200px;padding:.125rem .375rem;font-size:.875rem;box-shadow:0 0 0 2px #3b82f633}.breadcrumb-create-input::placeholder{color:var(--text-tertiary,#9ca3af)}.breadcrumb-create-input.input-error{border-color:#dc2626;box-shadow:0 0 0 2px #dc262633}.section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary,#9ca3af);margin-bottom:.75rem;font-size:.75rem;font-weight:600}.folder-section{margin-bottom:1.5rem}.folder-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.folder-item{background:var(--bg-secondary,#f9fafb);cursor:pointer;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;padding:1rem;transition:all .15s;display:flex;position:relative}.folder-item:hover{background:var(--bg-tertiary,#f3f4f6);border-color:var(--border-color,#e5e7eb)}.folder-icon{color:hsl(var(--accent));margin-bottom:.5rem}.folder-name{text-align:center;word-break:break-word;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.875rem;font-weight:500;display:-webkit-box;overflow:hidden}.folder-item-editing{cursor:default}.folder-name-edit{flex-direction:column;align-items:center;width:100%;display:flex}.folder-name-edit input{text-align:center;border:1px solid var(--color-primary,#3b82f6);background:var(--bg-primary,white);border-radius:4px;outline:none;width:100%;padding:.25rem .5rem;font-size:.875rem;font-weight:500;box-shadow:0 0 0 2px #3b82f633}.folder-name-edit input.input-error{border-color:#dc2626;box-shadow:0 0 0 2px #dc262633}.folder-name-edit .edit-error{color:#dc2626;margin-top:.25rem;font-size:.7rem}.folder-meta{color:var(--text-tertiary,#9ca3af);gap:.5rem;margin-top:.25rem;font-size:.75rem;display:flex}.folder-actions{opacity:0;gap:.25rem;transition:opacity .15s;display:flex;position:absolute;top:.5rem;right:.5rem}.folder-item:hover .folder-actions{opacity:1}.action-btn{background:var(--bg-primary,white);width:28px;height:28px;color:var(--text-secondary,#6b7280);cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.action-btn:hover{background:var(--bg-secondary,#f3f4f6);color:var(--text-primary,#1f2937)}.action-btn-danger:hover{color:#dc2626;background:#fef2f2}.file-section{margin-bottom:1.5rem}.file-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;display:grid}.file-item{background:var(--bg-secondary,#f9fafb);cursor:pointer;border:2px solid #0000;border-radius:8px;flex-direction:column;align-items:center;padding:1rem;transition:all .15s;display:flex;position:relative}.file-item:hover{background:var(--bg-tertiary,#f3f4f6)}.file-item-selected{border-color:hsl(var(--accent))}.file-icon{margin-bottom:.5rem}.file-type-icon{color:var(--text-secondary,#6b7280)}.file-type-pdf{color:#dc2626}.file-type-document{color:#2563eb}.file-type-spreadsheet{color:#16a34a}.file-type-presentation{color:#ea580c}.file-type-image{color:#8b5cf6}.file-type-video{color:#0891b2}.file-type-audio{color:#db2777}.file-type-archive{color:#78716c}.file-name{text-align:center;word-break:break-word;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.8125rem;display:-webkit-box;overflow:hidden}.file-meta{color:var(--text-tertiary,#9ca3af);gap:.5rem;margin-top:.25rem;font-size:.75rem;display:flex}.file-has-description{background:var(--color-primary,#3b82f6);border-radius:50%;width:8px;height:8px;position:absolute;top:.5rem;right:.5rem}.file-browser-empty{color:var(--text-secondary,#6b7280);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-icon{opacity:.5;margin-bottom:1rem}.file-browser-empty p{text-align:center;margin:0}.empty-hint{color:var(--text-tertiary,#9ca3af);margin-top:.5rem;font-size:.875rem}.file-details-panel{background:var(--bg-primary,white);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;flex-direction:column;width:320px;min-width:280px;display:flex;overflow:hidden}.panel-header{border-bottom:1px solid var(--border-color,#e5e7eb);justify-content:space-between;align-items:center;padding:1rem;display:flex}.panel-header h3{margin:0;font-size:1rem;font-weight:600}.panel-close{width:32px;height:32px;color:var(--text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.panel-close:hover{background:var(--bg-secondary,#f3f4f6);color:var(--text-primary,#1f2937)}.panel-content{flex:1;padding:1rem;overflow-y:auto}.detail-group{margin-bottom:1rem}.detail-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary,#9ca3af);margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.detail-value{color:var(--text-primary,#1f2937);word-break:break-word;font-size:.875rem}.detail-secondary{color:var(--text-secondary,#6b7280);font-size:.8125rem}.detail-group textarea{border:1px solid var(--border-color,#e5e7eb);resize:vertical;border-radius:6px;width:100%;min-height:80px;padding:.5rem;font-family:inherit;font-size:.875rem}.detail-group textarea:focus{border-color:var(--color-primary,#3b82f6);outline:none;box-shadow:0 0 0 3px #3b82f61a}.unsaved-indicator{color:var(--color-primary,#3b82f6);margin-left:.25rem}.saving-indicator{color:var(--text-tertiary,#9ca3af);margin-top:.25rem;font-size:.75rem;display:block}.upload-zone-container{margin-bottom:1rem}.upload-zone-compact{border:2px dashed var(--border-color,#d1d5db);background:var(--bg-secondary,#f9fafb);cursor:pointer;border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:all .15s;display:flex}.upload-zone-compact:hover,.upload-zone-compact.upload-zone-active{border-color:hsl(var(--accent));background:hsl(var(--accent) / .9)}.upload-zone-compact.upload-zone-disabled{cursor:default;opacity:.7}.upload-icon-small{color:var(--text-tertiary,#9ca3af);flex-shrink:0}.upload-text-compact{color:var(--text-primary,#1f2937);margin:0;font-size:.875rem;font-weight:500}.upload-hint-compact{color:var(--text-tertiary,#9ca3af);margin:0;font-size:.75rem}.upload-progress{justify-content:center;width:100%;display:flex}.pending-files{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;margin-top:1rem;padding:1rem}.pending-header h4{margin:0;font-size:.875rem;font-weight:600}.pending-item{background:var(--bg-primary,white);border:1px solid var(--border-color,#e5e7eb);border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.pending-item-invalid{background:#fef2f2;border-color:#fecaca}.pending-info{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.pending-filename{word-break:break-word;font-size:.875rem;font-weight:500}.pending-size{color:var(--text-tertiary,#9ca3af);font-size:.75rem}.pending-error{color:#dc2626;width:100%;font-size:.75rem}.pending-remove{color:var(--text-tertiary,#9ca3af);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1rem;line-height:1}.upload-results{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;margin-top:1rem;padding:1rem}.results-header h4{margin:0;font-size:.875rem;font-weight:600}.results-close{color:var(--text-secondary,#6b7280);cursor:pointer;opacity:.6;background:0 0;border:none;padding:.25rem;font-size:1.25rem;line-height:1;transition:opacity .15s}.results-close:hover{opacity:1}.result-item{background:var(--bg-primary,white);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.result-filename{font-weight:500}.result-message{font-size:.8125rem}.result-uploaded .result-message{color:#16a34a}.result-renamed .result-message{color:#2563eb}.result-skipped .result-message{color:#d97706}.result-failed .result-message{color:#dc2626}.modal-content{background:var(--bg-primary,white);border-radius:12px;width:100%;max-width:400px;padding:1.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-content h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600}.modal-content p{color:var(--text-secondary,#6b7280);margin:0 0 1rem}.delete-warning,.modal-content p.delete-warning{color:#b45309;font-weight:500}.modal-content p.delete-error{color:#dc2626;margin-top:.5rem;font-size:.875rem}.form-group input[type=text]{border:1px solid var(--border-color,#d1d5db);border-radius:6px;width:100%;padding:.625rem .75rem;font-size:.875rem;transition:all .15s}.form-group input[type=text]:focus{border-color:var(--color-primary,#3b82f6);outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-error{color:#dc2626;margin-top:.5rem;font-size:.8125rem;display:block}.btn-small{padding:.375rem .75rem;font-size:.8125rem}.btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:500;transition:background .15s}.btn-danger:disabled{cursor:not-allowed;background:#fca5a5}.hidden-input{opacity:0;width:0;height:0;position:absolute;overflow:hidden}.file-item[draggable=true]{cursor:pointer}.file-item[draggable=true]:active{cursor:grabbing}.folder-item-drag-over,.folder-item-drag-over:hover{background:hsl(var(--accent) / .25);outline:2px solid hsl(var(--accent));outline-offset:-2px;border-color:#0000}.breadcrumb-drag-over,.breadcrumb-drag-over:hover{background:hsl(var(--accent) / .25);outline:2px solid hsl(var(--accent));outline-offset:-2px;border-radius:4px}.file-actions{opacity:0;gap:.25rem;transition:opacity .15s;display:flex;position:absolute;top:.5rem;right:.5rem}.file-item:hover .file-actions{opacity:1}.file-item:hover .file-has-description{opacity:0}.file-action-btn{background:var(--bg-primary,white);width:24px;height:24px;color:var(--text-secondary,#6b7280);cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.file-action-btn:hover{background:var(--bg-secondary,#f3f4f6);color:var(--text-primary,#1f2937)}.file-action-delete:hover{color:#dc2626;background:#fef2f2}.file-name-edit{justify-content:center;align-items:center;gap:0;width:100%;display:flex}.file-name-edit input{text-align:right;border:1px solid var(--color-primary,#3b82f6);background:var(--bg-primary,white);border-right:none;border-radius:3px 0 0 3px;outline:none;width:100%;max-width:100px;padding:.125rem .25rem;font-size:.8125rem}.file-name-edit .file-extension{background:var(--bg-tertiary,#f3f4f6);border:1px solid var(--color-primary,#3b82f6);color:var(--text-secondary,#6b7280);border-radius:0 3px 3px 0;padding:.125rem .25rem;font-size:.8125rem}.folder-description{padding:.5rem 0;position:relative}.folder-description-input{resize:none;width:100%;min-height:36px;color:var(--text-secondary,#6b7280);background:0 0;border:1px solid #0000;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:all .15s;overflow:hidden}.folder-description-input::placeholder{color:var(--text-tertiary,#9ca3af)}.folder-description-input:hover{background:var(--bg-secondary,#f9fafb)}.folder-description-input:focus{border-color:var(--border-color,#e5e7eb);background:var(--bg-primary,white);color:var(--text-primary,#1f2937);outline:none}.folder-description-saving{color:var(--text-tertiary,#9ca3af);font-size:.75rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.file-browser-content.drop-active{background:hsl(var(--accent) / .08);outline:2px dashed hsl(var(--accent));outline-offset:-2px;border-radius:8px}.pending-files-panel{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;margin-top:1rem;margin-bottom:1.5rem;padding:1rem}.pending-files-panel .pending-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.pending-files-panel .pending-header h4{margin:0;font-size:.875rem;font-weight:600}.pending-files-panel .pending-actions{gap:.5rem;display:flex}.pending-files-panel .pending-list{flex-direction:column;gap:.5rem;max-height:200px;display:flex;overflow-y:auto}.pending-files-panel .pending-item{background:var(--bg-primary,white);border:1px solid var(--border-color,#e5e7eb);border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.pending-files-panel .pending-item-invalid{background:#fef2f2;border-color:#fecaca}.pending-files-panel .pending-info{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.pending-files-panel .pending-filename{word-break:break-word;font-size:.875rem;font-weight:500}.pending-files-panel .pending-size{color:var(--text-tertiary,#9ca3af);font-size:.75rem}.pending-files-panel .pending-path{color:var(--text-tertiary,#9ca3af);text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.75rem;overflow:hidden}.pending-files-panel .pending-error{color:#dc2626;width:100%;font-size:.75rem}.pending-files-panel .pending-remove{color:var(--text-tertiary,#9ca3af);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.25rem;line-height:1}.pending-files-panel .pending-remove:hover{color:#dc2626}.upload-progress-panel{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;justify-content:center;margin-top:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.upload-results-panel{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;margin-top:1rem;margin-bottom:1.5rem;padding:1rem}.upload-results-panel .results-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.upload-results-panel .results-header h4{margin:0;font-size:.875rem;font-weight:600}.upload-results-panel .results-close{color:var(--text-secondary,#6b7280);cursor:pointer;opacity:.6;background:0 0;border:none;padding:.25rem;font-size:1.25rem;line-height:1;transition:opacity .15s}.upload-results-panel .results-close:hover{opacity:1}.upload-results-panel .results-summary{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.upload-results-panel .summary-badge{border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;line-height:1.4;display:inline-flex}.upload-results-panel .summary-icon{font-size:.75rem;font-weight:700}.upload-results-panel .summary-uploaded{color:#15803d;background:#dcfce7}.upload-results-panel .summary-folder_created{background:hsla(var(--accent), .12);color:hsl(var(--accent))}.upload-results-panel .summary-renamed{color:#1d4ed8;background:#dbeafe}.upload-results-panel .summary-skipped{color:#b45309;background:#fef3c7}.upload-results-panel .summary-failed{color:#b91c1c;background:#fee2e2}.upload-results-panel .results-list{flex-direction:column;gap:.5rem;max-height:200px;display:flex;overflow-y:auto}.upload-results-panel .result-item{background:var(--bg-primary,white);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.upload-results-panel .result-icon{text-align:center;width:20px;font-weight:700}.upload-results-panel .result-uploaded .result-icon{color:#16a34a}.upload-results-panel .result-renamed .result-icon{color:#2563eb}.upload-results-panel .result-skipped .result-icon,.upload-results-panel .result-folder_skipped .result-icon{color:#d97706}.upload-results-panel .result-failed .result-icon{color:#dc2626}.upload-results-panel .result-filename{font-weight:500}.upload-results-panel .result-message{font-size:.8125rem}.upload-results-panel .result-uploaded .result-message{color:#16a34a}.upload-results-panel .result-renamed .result-message{color:#2563eb}.upload-results-panel .result-skipped .result-message,.upload-results-panel .result-folder_skipped .result-message{color:#d97706}.upload-results-panel .result-failed .result-message{color:#dc2626}.upload-results-panel .result-folder_created .result-icon,.upload-results-panel .result-folder_created .result-message{color:hsl(var(--accent))}.item-checkbox{border:2px solid var(--border-color,#d1d5db);background:var(--bg-primary,white);cursor:pointer;z-index:2;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:flex;position:absolute;top:.5rem;left:.5rem}.item-checkbox.checkbox-hover-only{opacity:0}.file-item:hover .item-checkbox.checkbox-hover-only,.folder-item:hover .item-checkbox.checkbox-hover-only,.item-checkbox.checkbox-visible{opacity:1}.item-checkbox.checkbox-checked{background:hsl(var(--accent));border-color:hsl(var(--accent));color:#fff}.item-checkbox:hover:not(.checkbox-checked){border-color:hsl(var(--accent))}.file-item.file-item-multi-selected,.folder-item.folder-item-multi-selected{background:hsl(var(--accent) / .08);border-color:hsl(var(--accent) / .3)}.selection-bar{background:hsl(var(--accent) / .08);border:1px solid hsl(var(--accent) / .2);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.8125rem;display:flex}.selection-bar-count{color:var(--text-primary,#1f2937);font-weight:500}.selection-bar-actions{gap:.5rem;display:flex}.btn-ghost{color:var(--text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.8125rem;font-weight:500;transition:all .15s;display:inline-flex}.selection-bar .btn-danger{align-items:center;gap:.35rem;display:inline-flex}.btn-ghost:hover{background:var(--bg-secondary,#f3f4f6);color:var(--text-primary,#1f2937)}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background:hsl(var(--primary));width:260px;color:hsl(var(--primary-foreground));flex-direction:column;display:flex}.sidebar-header{border-bottom:1px solid hsl(var(--primary-muted));padding:1.5rem}.sidebar-header h2{margin-bottom:.25rem;font-size:1.125rem;font-weight:600}.sidebar-header .org-slug{color:#fff9;font-size:.8125rem}.sidebar-nav{flex:1;padding:1rem 0}.sidebar-nav button{text-align:left;color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;width:100%;padding:.875rem 1.5rem;font-size:.9375rem;transition:all .2s}.sidebar-nav button:hover{background:hsl(var(--primary-muted));color:#fff}.sidebar-nav button.active{background:hsl(var(--primary-muted));color:#fff;border-left-color:hsl(var(--accent))}.sidebar-footer{border-top:1px solid hsl(var(--primary-muted));padding:1rem 1.5rem}.user-info{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.user-info.clickable{cursor:pointer;border-radius:6px;margin:-.5rem -.5rem .5rem;padding:.5rem;transition:background .2s}.user-info.clickable:hover{background:#ffffff1a}.user-avatar{text-transform:uppercase;background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;font-weight:600;display:flex}.user-details{flex:1;min-width:0}.user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;display:block;overflow:hidden}.user-role{color:#fff9;text-transform:capitalize;font-size:.75rem;display:block}.logout-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;width:100%;padding:.5rem 1rem;font-size:.8125rem;transition:background .2s}.logout-btn:hover{background:#fff3}.main-content{background:hsl(var(--background));flex:1;overflow-y:auto}.page{padding:2rem}.page-header{margin-bottom:2rem}.page-header h1{color:hsl(var(--foreground));margin-bottom:.25rem;font-size:1.5rem;font-weight:600}.page-header .subtitle{color:hsl(var(--muted-foreground));font-size:.9375rem}.login-card h1{color:hsl(var(--foreground));margin-bottom:.5rem;font-size:1.75rem}.login-card .subtitle{color:hsl(var(--muted-foreground));margin-bottom:2rem}.login-card .org-hint{color:hsl(var(--muted-foreground));margin-top:1.5rem;font-size:.875rem}.login-card .org-hint strong{color:hsl(var(--foreground))}.loading-page{background:hsl(var(--background));flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.loading-spinner{border:3px solid hsl(var(--muted));border-top-color:hsl(var(--accent));border-radius:50%;width:40px;height:40px;margin:0 auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.card h3{color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.025em;margin-bottom:.5rem;font-size:.8125rem;font-weight:500}.card-value{color:hsl(var(--foreground));text-transform:capitalize;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.profile-header-card{background:hsl(var(--card));border-radius:var(--radius);align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:2rem;display:flex;box-shadow:0 1px 3px #0000001a}.profile-avatar-large{background:linear-gradient(135deg, hsl(var(--accent)) 0%, #35b192 100%);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;font-size:1.75rem;font-weight:600;display:flex}.profile-header-info{flex:1}.profile-name-row{align-items:center;gap:.5rem;display:flex}.profile-name{color:hsl(var(--foreground));margin-bottom:.25rem;font-size:1.5rem;font-weight:600}.edit-icon-btn{border-radius:var(--radius);width:28px;height:28px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.edit-icon-btn:hover{background:hsl(var(--muted));color:hsl(var(--foreground));border-color:hsl(var(--border))}.profile-email{color:hsl(var(--muted-foreground));margin-bottom:.75rem;font-size:.9375rem}.profile-badges{gap:.5rem;display:flex}.profile-section{margin-bottom:1.5rem}.section-title{color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-size:.875rem;font-weight:600}.profile-details-grid{background:hsl(var(--card));border-radius:var(--radius);grid-template-columns:repeat(2,1fr);display:grid;box-shadow:0 1px 3px #0000001a}.profile-detail-item{border-bottom:1px solid hsl(var(--border));padding:1.25rem 1.5rem}.profile-detail-item:nth-child(odd){border-right:1px solid hsl(var(--border))}.profile-detail-item:nth-last-child(-n+2){border-bottom:none}.detail-label{color:hsl(var(--muted-foreground));margin-bottom:.375rem;font-size:.8125rem;display:block}.detail-value{color:hsl(var(--foreground));font-size:.9375rem;font-weight:500;display:block}.profile-edit-card{background:hsl(var(--card));border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 3px #0000001a}.settings-card{background:hsl(var(--card));border-radius:var(--radius);margin-bottom:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.settings-card h3{color:hsl(var(--foreground));margin-bottom:1rem;font-size:1rem;font-weight:600}.settings-hint{color:hsl(var(--muted-foreground));font-size:.9375rem}.info-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.info-item label{color:hsl(var(--muted-foreground));margin-bottom:.25rem;font-size:.8125rem;display:block}.info-item span{color:hsl(var(--foreground));font-size:.9375rem}.info-item code{background:hsl(var(--muted));border-radius:calc(var(--radius) / 2);padding:.125rem .375rem;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.875rem}.form-group input:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.form-row{gap:1rem;display:flex}.form-row .form-group{flex:1}.form-actions{gap:.75rem;margin-top:1.5rem;display:flex}.password-input-wrapper{position:relative}.password-input-wrapper input{width:100%;padding-right:40px}.password-toggle-btn{cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle-btn:hover{color:hsl(var(--foreground))}.password-toggle-btn:focus{outline:none}.btn-full{width:100%}.error-banner,.error-message{color:#960d0d;border-radius:var(--radius);background:#fee1e1;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.admin-tabs{border-bottom:1px solid hsl(var(--border));gap:.25rem;margin-bottom:1.5rem;display:flex}.tab-button{color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;transition:all .2s;position:relative}.tab-button:hover{color:hsl(var(--foreground))}.tab-button.active{color:hsl(var(--accent))}.tab-button.active:after{content:"";background:hsl(var(--accent));height:2px;position:absolute;bottom:-1px;left:0;right:0}.tab-content{background:hsl(var(--card));border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 3px #0000001a}.tab-header{justify-content:flex-end;margin-bottom:1rem;display:flex}.data-table{border-collapse:collapse;width:100%}.data-table th{color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.data-table td{color:hsl(var(--foreground));font-size:.9375rem}.actions-cell{white-space:nowrap;width:1%}.action-buttons{gap:.5rem;display:flex}.btn-small{border-radius:calc(var(--radius) / 1.5);cursor:pointer;border:none;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:all .2s}.btn-secondary{background:hsl(var(--muted));color:hsl(var(--foreground));border-radius:var(--radius);cursor:pointer;border:none;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;transition:background-color .2s}.btn-secondary:hover{background:hsl(var(--border))}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{color:#960d0d;background:#fde8e8}.btn-danger:hover{background:#fbd0d0}.processing{color:hsl(var(--muted-foreground));font-size:.8125rem;font-style:italic}.empty-state{text-align:center;color:hsl(var(--muted-foreground));padding:2rem!important}.dashboard-empty-state{text-align:center;border:1px dashed hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted) / .15);flex-direction:column;justify-content:center;align-items:center;margin-top:2rem;padding:4rem 2rem;display:flex}.dashboard-empty-icon{color:hsl(var(--muted-foreground));opacity:.5;margin-bottom:1.5rem}.dashboard-empty-title{color:hsl(var(--foreground));margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.dashboard-empty-description{color:hsl(var(--muted-foreground));max-width:360px;font-size:.9375rem;line-height:1.5}.loading-state{text-align:center;color:hsl(var(--muted-foreground));padding:2rem}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem;display:grid}.project-card{background:hsl(var(--card));border:1px solid hsl(var(--border));cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;border-radius:8px;align-items:center;gap:.75rem;padding:1rem 1.25rem;transition:border-color .15s,box-shadow .15s;display:flex}.project-card:hover{border-color:hsl(var(--primary));box-shadow:0 1px 4px hsla(var(--primary), .1)}.project-card-icon{color:hsl(var(--primary));opacity:.7;flex-shrink:0}.project-card-content{flex:1;min-width:0}.project-card-name{color:hsl(var(--foreground));white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.938rem;font-weight:600;overflow:hidden}.project-card-slug{color:hsl(var(--muted-foreground));font-size:.813rem}.project-card-permission{border-radius:4px;flex-shrink:0;padding:.2rem .5rem;font-size:.75rem;font-weight:500}.permission-owner{background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.permission-viewer{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.back-button{color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border));cursor:pointer;font-size:.813rem;font:inherit;background:0 0;border-radius:6px;align-items:center;gap:.35rem;margin-bottom:.5rem;padding:.35rem .75rem;transition:color .15s,border-color .15s;display:inline-flex}.back-button:hover{color:hsl(var(--foreground));border-color:hsl(var(--foreground) / .3)}.you-badge{background:hsl(var(--accent) / .15);color:#298971;text-transform:uppercase;border-radius:9999px;margin-left:.5rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.role-selector{display:inline-block;position:relative}.role-selector-trigger{cursor:pointer;border:none;border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:all .2s;display:flex}.role-selector-trigger.admin{background:hsl(var(--accent) / .15);color:#298971}.role-selector-trigger.user{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.role-selector-trigger:hover:not(:disabled){opacity:.85}.role-selector-trigger:disabled{cursor:default;opacity:.7}.role-selector-trigger .chevron{opacity:.6}.role-selector-dropdown{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);z-index:100;min-width:180px;margin-top:.375rem;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.role-option{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;width:100%;padding:.75rem 1rem;transition:background .2s;display:flex}.role-option:hover{background:hsl(var(--muted) / .5)}.role-option.selected{background:hsl(var(--accent) / .1)}.role-option-content{flex:1}.role-option-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500;display:block}.role-option-description{color:hsl(var(--muted-foreground));margin-top:.125rem;font-size:.75rem;display:block}.check-icon{color:hsl(var(--accent));margin-left:.5rem}.status-badge.orange{color:#914d08;background:#fce6cf}.modal{background:hsl(var(--card));border-radius:var(--radius);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 24px #0003}.modal-header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2{color:hsl(var(--foreground));font-size:1.125rem;font-weight:600}.modal-close{cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:none;padding:.25rem;transition:color .2s}.modal-close:hover{color:hsl(var(--foreground))}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid hsl(var(--border));justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.btn-outline{border:1px solid hsl(var(--border));color:hsl(var(--foreground));border-radius:var(--radius);cursor:pointer;background:0 0;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;transition:all .2s}.btn-outline:hover{background:hsl(var(--muted))}.org-info-section{margin-bottom:2rem}.org-info-section:last-child{margin-bottom:0}.org-info-section h3{color:hsl(var(--foreground));border-bottom:1px solid hsl(var(--border));margin-bottom:1rem;padding-bottom:.5rem;font-size:1rem;font-weight:600}.info-row{align-items:center;padding:.75rem 0;display:flex}.info-label{width:140px;color:hsl(var(--muted-foreground));font-size:.875rem}.info-value{color:hsl(var(--foreground));font-size:.9375rem}.auth-badge{border-radius:9999px;padding:.25rem .75rem;font-size:.8125rem;font-weight:500;display:inline-block}.auth-badge.sso{color:#093eaa;background:#e7eefe}.auth-badge.password{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.info-note{background:hsl(var(--muted) / .5);border-radius:var(--radius);color:hsl(var(--muted-foreground));margin-top:1rem;padding:.875rem 1rem;font-size:.875rem;line-height:1.5}.loading-spinner-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.loading-spinner-icon{width:64px;height:64px;position:relative}.spinner-image{opacity:.3;width:64px;height:64px;animation:4s infinite smoothStepSpin}@keyframes smoothStepSpin{0%{transform:rotate(0)}15%{transform:rotate(90deg)}25%{transform:rotate(90deg)}40%{transform:rotate(180deg)}50%{transform:rotate(180deg)}65%{transform:rotate(270deg)}75%{transform:rotate(270deg)}90%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.loading-spinner-message{color:hsl(var(--muted-foreground));text-align:center;font-size:.9375rem}.upload-zone{border:2px dashed hsl(var(--border));border-radius:var(--radius);text-align:center;cursor:pointer;margin-bottom:1.5rem;padding:2.5rem;transition:all .2s}.upload-zone:hover{border-color:hsl(var(--accent));background:hsl(var(--muted) / .3)}.upload-zone-active{border-color:hsl(var(--accent));background:hsl(var(--accent) / .1)}.upload-zone-disabled{cursor:default;pointer-events:none}.upload-icon{color:hsl(var(--muted-foreground));margin-bottom:1rem}.upload-icon svg{margin:0 auto}.upload-text{color:hsl(var(--foreground));margin-bottom:.5rem;font-size:1rem}.upload-hint{color:hsl(var(--muted-foreground));font-size:.875rem}.hidden-input{display:none}.upload-progress{padding:1rem 0}.pending-files{background:hsl(var(--muted) / .3);border-radius:var(--radius);margin-bottom:1.5rem;padding:1rem}.pending-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.pending-header h3{color:hsl(var(--foreground));margin:0;font-size:.9375rem;font-weight:600}.pending-actions{gap:.5rem;display:flex}.pending-list{flex-direction:column;gap:.5rem;display:flex}.pending-item{border-radius:calc(var(--radius) / 1.5);background:hsl(var(--card));justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.875rem;display:flex}.pending-item-invalid{background:hsl(var(--destructive) / .1)}.pending-info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.pending-filename{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.pending-size{color:hsl(var(--muted-foreground));flex-shrink:0}.pending-error{color:hsl(var(--destructive));flex-shrink:0;font-size:.8125rem}.pending-remove{color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:2px;padding:.25rem;font-size:.875rem;line-height:1;transition:color .15s}.pending-remove:hover{color:hsl(var(--destructive))}.upload-results{background:hsl(var(--muted) / .3);border-radius:var(--radius);margin-bottom:1.5rem;padding:1rem}.results-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.results-header h3{color:hsl(var(--foreground));margin:0;font-size:.9375rem;font-weight:600}.results-list{flex-direction:column;gap:.5rem;display:flex}.result-item{border-radius:calc(var(--radius) / 1.5);background:hsl(var(--card));align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.result-icon{text-align:center;width:1.25rem;font-weight:600}.result-filename{color:hsl(var(--foreground));font-weight:500}.result-message{color:hsl(var(--muted-foreground));flex:1}.result-uploaded .result-icon{color:#16a249}.result-renamed .result-icon{color:#0b50da}.result-skipped .result-icon{color:#dc8f09}.result-failed .result-icon{color:#eb1414}.result-failed{background:#fef1f1}.uploads-section{margin-top:1.5rem}.uploads-section h3{color:hsl(var(--foreground));margin-bottom:1rem;font-size:1rem;font-weight:600}.admin-subtabs{border-bottom:1px solid hsl(var(--border));gap:.125rem;margin-bottom:1rem;margin-left:.5rem;display:flex}.admin-subtabs .tab-button{padding:.5rem 1rem;font-size:.8125rem}.expandable-row-wrapper{cursor:default}.expandable-row-toggle{color:hsl(var(--accent));cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.9375rem;font-weight:500}.expandable-row-toggle:hover{text-decoration:underline}.expandable-row-detail{color:hsl(var(--muted-foreground));margin-top:.125rem;font-size:.75rem;font-weight:400;display:block}.expandable-row-hint{color:hsl(var(--muted-foreground));font-size:.8125rem;font-style:italic}.permission-editor{background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border));border-radius:var(--radius);margin-top:1rem;padding:1.25rem}.permission-editor h4{color:hsl(var(--foreground));margin-bottom:1rem;font-size:.9375rem;font-weight:600}.permission-editor-section{margin-bottom:1.5rem}.permission-editor-section:last-child{margin-bottom:0}.permission-editor-section h5{color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.8125rem;font-weight:600}.permission-badges{flex-wrap:wrap;gap:.375rem;display:flex}.permission-badge{text-transform:capitalize;border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-block}.permission-badge.viewer{color:#0f4d8a;background:#daebfb}.permission-badge.owner{color:#107535;background:#d2f9e0}.inline-form{align-items:center;gap:.5rem;display:flex}.inline-form input{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) / 1.5);background:hsl(var(--background));color:hsl(var(--foreground));padding:.375rem .625rem;font-size:.875rem}.inline-form input:focus{border-color:hsl(var(--accent));box-shadow:0 0 0 2px hsl(var(--accent) / .2);outline:none}.member-list{background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border));border-radius:var(--radius);margin-top:1rem;padding:1.25rem}.member-list h4{color:hsl(var(--foreground));margin-bottom:.75rem;font-size:.9375rem;font-weight:600}.checkbox-list{flex-direction:column;gap:.375rem;display:flex}.checkbox-item{border-radius:calc(var(--radius) / 1.5);cursor:pointer;align-items:center;gap:.625rem;padding:.5rem .75rem;transition:background .15s;display:flex}.checkbox-item:hover{background:hsl(var(--muted) / .5)}.checkbox-item.disabled{opacity:.5;pointer-events:none}.checkbox-item input[type=checkbox]{width:1rem;height:1rem;accent-color:hsl(var(--accent));cursor:pointer}.checkbox-label{color:hsl(var(--foreground));font-size:.875rem}.checkbox-detail{color:hsl(var(--muted-foreground));margin-top:.0625rem;font-size:.75rem;display:block}*{box-sizing:border-box;margin:0;padding:0}:root{--background:200 27% 95%;--foreground:220 39% 11%;--card:0 0% 100%;--card-foreground:220 39% 11%;--popover:0 0% 100%;--popover-foreground:220 39% 11%;--primary:220 39% 11%;--primary-foreground:0 0% 100%;--primary-muted:220 20% 20%;--secondary:165 54% 55%;--secondary-foreground:200 27% 95%;--muted:200 20% 85%;--muted-foreground:220 20% 40%;--accent-cold:165 54% 55%;--accent-warm:35 90% 72%;--accent:165 54% 55%;--accent-foreground:200 27% 95%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--success:142 76% 36%;--success-foreground:0 0% 100%;--warning:38 92% 50%;--warning-foreground:0 0% 100%;--border:200 20% 85%;--input:200 20% 85%;--ring:165 54% 55%;--radius:.5rem;--color-muted-icon:#9aa1b0}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6}.container{max-width:800px;margin:0 auto;padding:2rem}header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}h1{font-size:1.5rem;font-weight:600}button{font-family:inherit}.btn-primary{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground));border-radius:var(--radius);cursor:pointer;border:none;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;transition:all .2s}.btn-primary:hover{background-color:#35b192}.btn-primary:disabled{background-color:hsl(var(--accent) / .5);cursor:not-allowed}.btn-secondary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:var(--radius);cursor:pointer;border:none;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;transition:all .2s}.btn-secondary:hover{background-color:#1f2c47}.btn-link{color:hsl(var(--accent));cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:.875rem}.btn-link:hover{text-decoration:underline}.btn-danger{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground));border-radius:var(--radius);cursor:pointer;border:none;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;transition:background-color .2s}.btn-danger:hover{background-color:#eb1414}.login-page{background:linear-gradient(135deg, hsl(var(--primary)) 0%, #172135 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:hsl(var(--card));border-radius:var(--radius);text-align:center;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 8px 24px #0003}.login-card h1{text-align:center;color:hsl(var(--foreground));margin-bottom:.5rem;font-size:1.75rem}.login-card .subtitle{text-align:center;color:hsl(var(--muted-foreground));margin-bottom:2rem}.form-group{margin-bottom:1.25rem}.form-group label{color:hsl(var(--foreground));margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));width:100%;padding:.625rem .75rem;font-size:.9375rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsl(var(--accent) / .1);outline:none}.form-group small{color:hsl(var(--muted-foreground));margin-top:.375rem;font-size:.8125rem;display:block}.card{background:hsl(var(--card));border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 3px #0000001a}.error-message{color:#960d0d;border-radius:var(--radius);background:#fee1e1;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.success-message{color:#107535;border-radius:var(--radius);background:#d2f9e0;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.loading{text-align:center;color:hsl(var(--muted-foreground));padding:3rem}code{background:hsl(var(--muted));border-radius:calc(var(--radius) / 2);padding:.125rem .375rem;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.875em}.data-table{background:hsl(var(--card));border-radius:var(--radius);border-collapse:collapse;width:100%;box-shadow:0 1px 3px #0000001a}.data-table th,.data-table td{text-align:left;border-bottom:1px solid hsl(var(--border));padding:.875rem 1rem}.data-table th{background:hsl(var(--muted));text-transform:uppercase;letter-spacing:.025em;color:hsl(var(--muted-foreground));font-size:.8125rem;font-weight:600}.data-table tbody tr:hover{background:hsl(var(--muted) / .5)}.data-table tbody tr:last-child td{border-bottom:none}.status-badge{text-transform:capitalize;border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-block}.status-badge.green{color:#107535;background:#d2f9e0}.status-badge.yellow{color:#795c06;background:#fef3c8}.status-badge.red{color:#960d0d;background:#fee1e1}.status-badge.gray{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.role-badge{border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-block}.role-badge.admin{background:hsl(var(--accent) / .15);color:#298971}.role-badge.user{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:hsl(var(--card));border-radius:var(--radius);width:100%;max-width:480px;padding:1.5rem;box-shadow:0 8px 24px #0003}.modal h2{margin-bottom:1.5rem;font-size:1.25rem}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.logo-img{width:auto;height:28px}.security-action-card{background:hsl(var(--card));border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex;box-shadow:0 1px 3px #0000001a}.security-action-info{flex:1}.security-action-label{color:hsl(var(--foreground));margin-bottom:.25rem;font-size:.9375rem;font-weight:500;display:block}.security-action-description{color:hsl(var(--muted-foreground));font-size:.8125rem;display:block}.password-requirements-hint{color:hsl(var(--muted-foreground));margin-top:.5rem;font-size:.75rem;display:block}
