.extraction-runs{margin-top:1rem}.extraction-runs-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.extraction-runs-header h3{margin:.25rem 0;font-size:1.125rem}.extraction-runs-subtitle{color:hsl(var(--muted-foreground));margin:0;font-size:.875rem}.extraction-runs-subtitle code{font-size:.8125rem}.extraction-type-badge{vertical-align:middle;text-transform:uppercase;letter-spacing:.04em;margin-left:.5rem;font-size:.6875rem}.extraction-runs-notice{border:1px dashed hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.extraction-runs-table .extraction-run-row{cursor:pointer}.extraction-run-link{font:inherit;padding:0}.extraction-run-counts{color:hsl(var(--muted-foreground));font-size:.875rem}.extraction-tree-folder td{background:hsl(var(--muted) / .35);font-weight:500}.extraction-tree-folder-summary{color:hsl(var(--muted-foreground));font-size:.8125rem;font-weight:400}.extraction-tree-toggle{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.extraction-tree-caret{width:1em;color:hsl(var(--muted-foreground));display:inline-block}.extraction-file-failed td{background:#fef0f0}.extraction-file-details{color:hsl(var(--muted-foreground));word-break:break-word;max-width:28rem;font-size:.8125rem}.extraction-file-error{color:#960d0d}.extraction-runs .empty-state{text-align:center;color:hsl(var(--muted-foreground));padding:2rem}.duration-bar{align-items:center;gap:.5rem;min-width:9rem;display:inline-flex}.duration-bar-track{background:hsl(var(--muted));border-radius:9999px;flex:1;height:.5rem;overflow:hidden}.duration-bar-fill{background:hsl(var(--accent));border-radius:9999px;height:100%;transition:width .3s;display:block}.duration-bar-fill.running{background:repeating-linear-gradient(45deg, hsl(var(--accent) / .35) 0 .5rem, hsl(var(--accent) / .15) .5rem 1rem);width:100%}.duration-bar-label{color:hsl(var(--muted-foreground));white-space:nowrap;min-width:4.5rem;font-size:.8125rem}.extraction-facts{flex-wrap:wrap;gap:.375rem 2rem;margin:.5rem 0 0;font-size:.8125rem;display:flex}.extraction-facts>div{align-items:baseline;gap:.5rem;display:flex}.extraction-facts dt{color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:500}.extraction-facts dd{flex-wrap:wrap;align-items:baseline;gap:.375rem;margin:0;display:flex}.extraction-facts code{font-size:.75rem}.extraction-path{background:hsl(var(--muted));border-radius:calc(var(--radius) / 2);padding:.0625rem .375rem}.extraction-runs-actions{flex-shrink:0;gap:.5rem;display:flex}.confirm-run-message{margin:0 0 1.25rem;font-size:1rem}.column-filter{display:inline-block;position:relative}.column-filter-trigger{border-radius:calc(var(--radius) / 2);font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.375rem;margin:-.25rem -.375rem;padding:.25rem .375rem;display:inline-flex}.column-filter-trigger:hover,.column-filter-trigger.open{background:hsl(var(--border));color:hsl(var(--foreground))}.column-filter-trigger.active{color:hsl(var(--foreground))}.column-filter-trigger:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.column-filter-sort-indicator{font-size:.75rem}.column-filter-hint{letter-spacing:normal;text-transform:none;color:hsl(var(--muted-foreground));font-size:.6875rem;font-weight:400}.column-filter-dot{background:hsl(var(--accent));border-radius:50%;width:6px;height:6px}.column-filter-chevron{opacity:0;font-size:.6875rem;transition:opacity .15s}.column-filter-trigger:hover .column-filter-chevron,.column-filter-trigger.open .column-filter-chevron{opacity:.7}.column-filter-popover{z-index:50;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);letter-spacing:normal;text-transform:none;text-align:left;color:hsl(var(--foreground));padding:.5rem;font-size:.875rem;font-weight:400;position:absolute;top:calc(100% + .5rem);box-shadow:0 8px 24px #0000001f}.column-filter-popover.align-left{left:-.5rem}.column-filter-popover.align-right{right:-.5rem}.column-filter-sort{flex-direction:column;gap:.125rem;display:flex}.column-filter-sort-button{border-radius:calc(var(--radius) / 2);text-align:left;width:100%;color:hsl(var(--foreground));cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;display:flex}.column-filter-sort-button:hover,.column-filter-sort-button.active{background:hsl(var(--muted) / .6)}.column-filter-sort-button.active{font-weight:600}.column-filter-divider{border-top:1px solid hsl(var(--border));margin:.375rem 0}.column-filter-section{padding:.25rem .25rem 0}.column-filter-section-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.column-filter-section-title{letter-spacing:.04em;text-transform:uppercase;color:hsl(var(--muted-foreground));font-size:.6875rem;font-weight:600}.column-filter-clear,.column-filter-link{color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem}.column-filter-clear:hover,.column-filter-link:hover:not(:disabled){color:hsl(var(--foreground))}.column-filter-link:disabled{opacity:.4;cursor:default}.column-filter-stack{flex-direction:column;gap:.5rem;display:flex}.column-filter-field{flex-direction:column;gap:.25rem;display:flex}.column-filter-field-label{color:hsl(var(--muted-foreground));margin-bottom:.25rem;font-size:.75rem;display:block}.column-filter-field .column-filter-field-label{margin-bottom:0}.column-filter-note{color:hsl(var(--muted-foreground));font-size:.75rem}.column-filter-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-self:flex-start;align-items:center;gap:.5rem;font-size:.8125rem;display:inline-flex;position:relative}.column-filter-switch input{opacity:0;width:1px;height:1px;position:absolute}.column-filter-switch-track{background:hsl(var(--muted));border-radius:9999px;flex-shrink:0;width:1.75rem;height:1rem;transition:background .15s;position:relative}.column-filter-switch-track:after{content:"";background:hsl(var(--card));border-radius:50%;width:.75rem;height:.75rem;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.column-filter-switch input:checked+.column-filter-switch-track{background:hsl(var(--accent))}.column-filter-switch input:checked+.column-filter-switch-track:after{transform:translate(.75rem)}.column-filter-switch input:focus-visible+.column-filter-switch-track{outline:2px solid hsl(var(--ring));outline-offset:2px}.column-filter-datetime{gap:.375rem;display:flex}.column-filter-datetime .date-input{flex:1;min-width:0}.date-input{position:relative}.date-input .column-filter-input{font-variant-numeric:tabular-nums;padding-right:2rem}.date-input .column-filter-input.invalid{border-color:hsl(var(--destructive));box-shadow:0 0 0 2px hsl(var(--destructive) / .15)}.date-input-calendar{border-radius:calc(var(--radius) / 2);color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;padding:.25rem;display:flex;position:absolute;top:50%;right:.375rem;transform:translateY(-50%)}.date-input-calendar:hover{background:hsl(var(--muted) / .6);color:hsl(var(--foreground))}.date-input-native{opacity:0;pointer-events:none;border:0;width:100%;height:0;padding:0;position:absolute;bottom:0;left:0}.time-picker{flex-shrink:0;position:relative}.column-filter-input.time-picker-trigger{font-variant-numeric:tabular-nums;text-align:center;cursor:pointer;width:4.25rem;height:100%}.column-filter-input.time-picker-trigger:disabled{opacity:.5;cursor:not-allowed}.time-picker-dropdown{z-index:60;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);gap:.25rem;padding:.25rem;display:flex;position:absolute;top:calc(100% + .25rem);right:0;box-shadow:0 8px 24px #0000001f}.time-picker-column{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;width:2.75rem;max-height:12rem;display:flex;position:relative;overflow-y:auto}.time-picker-option{border-radius:calc(var(--radius) / 2);font-variant-numeric:tabular-nums;color:hsl(var(--foreground));cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.25rem 0;font-size:.8125rem}.time-picker-option:hover{background:hsl(var(--muted) / .6)}.time-picker-option.selected{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.column-filter-input{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) / 2);background:hsl(var(--background));width:100%;font:inherit;color:hsl(var(--foreground));padding:.375rem .5rem;font-size:.8125rem}.column-filter-input:focus{border-color:hsl(var(--accent));box-shadow:0 0 0 2px hsl(var(--accent) / .15);outline:none}.column-filter-checklist{flex-direction:column;gap:.375rem;display:flex}.column-filter-checklist-header{color:hsl(var(--muted-foreground));justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.column-filter-options{flex-direction:column;gap:.125rem;max-height:14rem;display:flex;overflow-y:auto}.column-filter-option{border-radius:calc(var(--radius) / 2);cursor:pointer;align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.8125rem;display:flex}.column-filter-option:hover,.column-filter-option.checked{background:hsl(var(--muted) / .6)}.column-filter-option.checked{font-weight:500}.column-filter-option.mono span{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.75rem}.column-filter-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.column-filter-empty{color:hsl(var(--muted-foreground));padding:.25rem .5rem;font-size:.8125rem}.column-filter-actions{border-top:1px solid hsl(var(--border) / .6);justify-content:flex-end;gap:.375rem;margin-top:.625rem;padding-top:.5rem;display:flex}.column-filter-cancel,.column-filter-apply{border-radius:calc(var(--radius) / 2);cursor:pointer;border:none;padding:.3125rem .75rem;font-size:.8125rem}.column-filter-cancel{color:hsl(var(--muted-foreground));background:0 0}.column-filter-cancel:hover{background:hsl(var(--muted) / .6);color:hsl(var(--foreground))}.column-filter-apply{background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:500}.column-filter-apply:hover:not(:disabled){background:hsl(var(--primary-muted))}.column-filter-apply:disabled{opacity:.4;cursor:not-allowed}.uploads-tab{flex-direction:column;gap:1rem;display:flex}.uploads-toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.uploads-breadcrumb{flex-wrap:wrap;align-items:center;gap:.25rem;padding:.5rem 0;font-size:.875rem;display:flex}.btn-download-folder{flex-shrink:0;align-items:center;gap:.4rem;display:inline-flex}.project-selection{padding:1.5rem 0}.project-selection h3{margin-bottom:.25rem;font-size:1rem;font-weight:600}.project-selection-hint{color:hsl(var(--muted-foreground));margin-bottom:1.5rem;font-size:.875rem}.project-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.project-card{background:hsl(var(--card));border:1px solid hsl(var(--border));cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem 1.25rem;transition:all .15s;display:flex}.project-card:hover{border-color:hsl(var(--primary));background:hsl(var(--accent))}.project-card-name{color:hsl(var(--foreground));font-size:.9375rem;font-weight:500}.project-card-slug{color:hsl(var(--muted-foreground));font-family:monospace;font-size:.8125rem}.breadcrumb-back{color:hsl(var(--primary));font-weight:500}.breadcrumb-item{color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;transition:all .15s}.breadcrumb-item:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.breadcrumb-item.active{color:hsl(var(--foreground));font-weight:500}.breadcrumb-separator{color:hsl(var(--muted-foreground))}.folder-description{color:hsl(var(--muted-foreground));background:hsl(var(--accent));border-left:3px solid hsl(var(--primary));border-radius:4px;padding:.5rem .75rem;font-size:.875rem}.uploads-content{gap:1rem;display:flex}.uploads-main{flex:1;min-width:0}.uploads-section{margin-bottom:1.5rem}.uploads-section h4{text-transform:uppercase;color:hsl(var(--muted-foreground));margin-bottom:.75rem;font-size:.75rem;font-weight:600}.uploads-count{text-transform:none;color:hsl(var(--muted-foreground));font-weight:500}.uploads-load-more{flex-direction:column;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.uploads-load-more-error{color:hsl(var(--destructive,0 72% 51%));margin:0;font-size:.8125rem}.folders-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;display:grid}.folder-item{text-align:center;background:hsl(var(--card));border:1px solid hsl(var(--border));cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .75rem;transition:all .15s;display:flex;position:relative}.folder-download-btn,.folder-move-btn{width:24px;height:24px;color:hsl(var(--muted-foreground));cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:opacity .15s,background .15s,color .15s,border-color .15s;display:inline-flex;position:absolute;top:.35rem;right:.35rem}.folder-move-btn{right:2.15rem}.folder-item:hover .folder-download-btn,.folder-item:hover .folder-move-btn,.folder-download-btn:focus-visible,.folder-move-btn:focus-visible{opacity:1}.folder-download-btn:hover,.folder-move-btn:hover{background:hsl(var(--card));border-color:hsl(var(--primary));color:hsl(var(--primary))}.folder-download-btn:disabled,.folder-move-btn:disabled{opacity:.4;cursor:not-allowed}.folder-item:hover{border-color:hsl(var(--primary));background:hsl(var(--accent))}.folder-icon{color:hsl(var(--primary));margin-bottom:.25rem}.folder-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.875rem;font-weight:500;overflow:hidden}.folder-meta{color:hsl(var(--muted-foreground));font-size:.75rem}.files-list{flex-direction:column;gap:.25rem;display:flex}.file-item{background:hsl(var(--card));border:1px solid hsl(var(--border));cursor:pointer;border-radius:4px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.75rem;padding:.5rem .75rem;transition:all .15s;display:grid}.file-item:hover{border-color:hsl(var(--primary))}.file-item.selected{border-color:hsl(var(--primary));background:hsl(var(--accent))}.file-icon{color:hsl(var(--muted-foreground));justify-content:center;align-items:center;display:flex}.file-type-pdf{color:#dc2626}.file-type-document{color:#2563eb}.file-type-spreadsheet{color:#16a34a}.file-type-presentation{color:#ea580c}.file-type-image{color:#7c3aed}.file-type-video{color:#0891b2}.file-type-audio{color:#db2777}.file-type-archive{color:#854d0e}.file-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.file-size,.file-date{color:hsl(var(--muted-foreground));white-space:nowrap;font-size:.8125rem}.file-name-cell{flex-direction:column;gap:.125rem;min-width:0;display:flex}.file-name-cell .file-name{min-width:0}.file-folder-path{max-width:100%;color:hsl(var(--primary));cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;font-size:.75rem;font-weight:500;display:inline-flex}.file-folder-path:hover{color:hsl(var(--primary));text-decoration:underline}.file-folder-path-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-original-name{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;font-style:italic;overflow:hidden}.folder-folder-path{max-width:100%;color:hsl(var(--primary));cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;font-size:.75rem;font-weight:500;display:inline-flex}.folder-folder-path:hover{text-decoration:underline}.folder-folder-path-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uploads-search{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem 0;display:flex}.uploads-search .search-input-wrap{flex:1;align-items:center;min-width:200px;display:flex;position:relative}.uploads-search .search-input-icon{color:hsl(var(--muted-foreground));pointer-events:none;position:absolute;left:.625rem}.uploads-search .search-input{border:1px solid hsl(var(--border));background:hsl(var(--card));width:100%;color:hsl(var(--foreground));border-radius:6px;padding:.5rem 2rem .5rem 2.125rem;font-size:.875rem}.uploads-search .search-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .15);outline:none}.uploads-search .search-input::-webkit-search-cancel-button{appearance:none}.uploads-search .search-clear{width:20px;height:20px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:1.125rem;line-height:1;display:flex;position:absolute;right:.375rem}.uploads-search .search-clear:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.search-scope-toggle{color:hsl(var(--muted-foreground));white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.375rem;font-size:.8125rem;display:inline-flex}.search-scope-toggle input{cursor:pointer}.uploads-search .search-hint{color:hsl(var(--muted-foreground));font-size:.75rem}.file-name-match{background:hsl(var(--primary) / .22);color:inherit;border-radius:2px;padding:0 1px}.file-details-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:6px;flex-shrink:0;align-self:flex-start;width:280px;max-height:calc(100vh - 1rem);position:sticky;top:1rem;overflow:hidden}.panel-header{border-bottom:1px solid hsl(var(--border));background:hsl(var(--accent));justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.panel-header h4{margin:0;font-size:.875rem;font-weight:600}.panel-close{color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;padding:0;font-size:1.25rem;line-height:1}.panel-close:hover{color:hsl(var(--foreground))}.panel-content{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.detail-row{flex-direction:column;gap:.25rem;display:flex}.detail-row label{color:hsl(var(--muted-foreground));text-transform:uppercase;font-size:.75rem;font-weight:500}.detail-row span{word-break:break-word;font-size:.875rem}.detail-row small{color:hsl(var(--muted-foreground))}.file-description{color:hsl(var(--muted-foreground));background:hsl(var(--accent));border-left:3px solid hsl(var(--primary));border-radius:4px;padding:.5rem .75rem;font-size:.875rem}.s3-key{word-break:break-all;background:0 0;font-size:.75rem}.btn-download-file{justify-content:center;align-items:center;gap:.4rem;width:100%;display:inline-flex}.folder-download-body{flex-direction:column;gap:.75rem;margin:1rem 0;display:flex}.download-progress-bar{background:hsl(var(--accent));border-radius:999px;width:100%;height:8px;overflow:hidden}.download-progress-fill{background:hsl(var(--primary));height:100%;transition:width .2s}.download-progress-text{color:hsl(var(--muted-foreground));font-size:.875rem}.download-current-file{color:hsl(var(--muted-foreground));white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;overflow:hidden}.folder-download-body p{margin:0;font-size:.875rem;line-height:1.5}.folder-download-warning{background:hsl(var(--warning) / .12);border:1px solid hsl(var(--warning) / .4);color:hsl(var(--foreground));border-radius:8px;padding:.625rem .75rem;font-size:.875rem;line-height:1.5}*{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}.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);width:100%;max-width:400px;padding:2.5rem;box-shadow:0 8px 24px #0003}.login-card h1{background:linear-gradient(90deg,#4ecaab,#f8c277);color:#0000;-webkit-background-clip:text;background-clip:text;width:fit-content;margin-bottom:.5rem;margin-left:auto;margin-right:auto;font-size:1.75rem;display:block;position:relative;overflow:hidden}.login-card h1:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;animation:3s ease-in-out infinite shine;position:absolute;top:0;left:0;transform:translate(-100%)}@keyframes shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.login-card .subtitle{text-align:center;color:hsl(var(--muted-foreground));margin-bottom:2rem}.admin-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background:hsl(var(--primary));width:240px;color:hsl(var(--primary-foreground));flex-direction:column;flex-shrink:0;height:100vh;display:flex;overflow-y:auto}.sidebar .logo{border-bottom:1px solid hsl(var(--primary-muted));padding:1.5rem}.sidebar .logo h2{font-size:1.25rem;font-weight:600}.sidebar nav{flex:1;padding:1rem 0}.sidebar nav button{text-align:left;color:#ffffffb3;cursor:pointer;background:0 0;border:none;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:3px solid 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-info.clickable.active{background:#ffffff26}.user-avatar{text-transform:uppercase;background:#fff3;border-radius:50%;flex-shrink:0;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;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;height:100vh;overflow-y:auto}.page{padding:2rem}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.page-header h1{margin-bottom:.25rem;font-size:1.5rem;font-weight:600}.page-header .subtitle{color:hsl(var(--muted-foreground));align-items:center;gap:.75rem;font-size:.9375rem;display:flex}.header-actions{align-items:center;gap:.75rem;display:flex}.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}.form-row{gap:1rem;margin-bottom:1rem;display:flex}.form-row .form-group{flex:1;margin-bottom:0}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;font-size:.9375rem;display:flex}.checkbox-label input[type=checkbox]{width:auto}.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}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-warning{background-color:hsl(var(--warning));color:hsl(var(--warning-foreground));border-radius:var(--radius);cursor:pointer;border:none;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;transition:background-color .2s}.btn-warning:hover{background-color:#c47f08}.btn-warning:disabled{background-color:hsl(var(--warning) / .5);cursor:not-allowed}.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}.btn-danger:disabled{background-color:hsl(var(--destructive) / .5);cursor:not-allowed}.modal-danger h2{color:hsl(var(--destructive))}.warning-text{border-radius:var(--radius);background-color:#fef1f1;border:1px solid #fee1e1;margin-bottom:1rem;padding:1rem;line-height:1.5}.filters{gap:1rem;margin-bottom:1.5rem;display:flex}.search-input{border:1px solid hsl(var(--border));border-radius:var(--radius);flex:1;max-width:300px;padding:.5rem .75rem;font-size:.9375rem}.filter-select{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));padding:.5rem .75rem;font-size:.9375rem}.status-select{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));padding:.5rem .75rem;font-size:.875rem}.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}.empty-state{text-align:center;color:hsl(var(--muted-foreground));padding:2rem!important}.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.orange{color:#ae4b04;background:#ffe8cc}.status-badge.red{color:#960d0d;background:#fee1e1}.status-badge.gray{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.tabs{border-bottom:1px solid hsl(var(--border));gap:0;margin-bottom:1.5rem;display:flex}.tabs button{color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.25rem;font-size:.9375rem;transition:all .2s}.tabs button:hover{color:hsl(var(--foreground))}.tabs button.active{color:hsl(var(--accent));border-bottom-color:hsl(var(--accent))}.tab-content{background:hsl(var(--card));border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 3px #0000001a}.info-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.info-item label{color:hsl(var(--muted-foreground));margin-bottom:.25rem;font-size:.8125rem;display:block}.info-item code{font-size:.875rem}.sso-form h3{border-top:1px solid hsl(var(--border));margin:1.5rem 0 1rem;padding-top:1rem;font-size:1rem;font-weight:600}.sso-form h3:first-of-type{border-top:none;margin-top:1rem;padding-top:0}.info-box{background:hsl(var(--accent) / .1);border:1px solid hsl(var(--accent) / .3);border-radius:var(--radius);margin:1.5rem 0;padding:1rem}.info-box h4{color:#298971;margin-bottom:.75rem;font-size:.875rem;font-weight:600}.info-box .info-item{margin-bottom:.5rem}.info-box .info-item:last-child{margin-bottom:0}.info-box .info-item label{margin-right:.5rem;font-weight:500;display:inline}.info-box code{background:hsl(var(--card));border-radius:calc(var(--radius) / 2);padding:.25rem .5rem;font-size:.8125rem}.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}.modal-actions button{width:auto;padding:.625rem 1.25rem}.modal-actions button:first-child{background:hsl(var(--muted));color:hsl(var(--foreground))}.modal-actions button:first-child:hover{background:hsl(var(--muted) / .8)}.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}.modal-hint{color:hsl(var(--muted-foreground));margin-bottom:1rem;font-size:.875rem}.modal-field{flex-direction:column;gap:.375rem;margin-bottom:.5rem;display:flex}.modal-field span{font-size:.875rem;font-weight:500}.modal-field input,.modal-field select{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));width:100%;color:hsl(var(--foreground));padding:.5rem .625rem;font-size:.9375rem}.modal-error{color:#960d0d;border-radius:var(--radius);background:#fee1e1;margin-top:.75rem;padding:.5rem .75rem;font-size:.875rem}.modal-warning{color:#794715;border-radius:var(--radius);background:#fef5e7;border:1px solid #f6dbac;margin-bottom:1rem;padding:.625rem .875rem;font-size:.875rem;line-height:1.4}.move-progress{margin:.5rem 0 .25rem}.move-progress-track{background:hsl(var(--muted));border-radius:999px;width:100%;height:10px;overflow:hidden}.move-progress-fill{background:hsl(var(--primary));border-radius:999px;height:100%;transition:width .3s}.move-progress-label{color:hsl(var(--muted-foreground));text-align:center;font-variant-numeric:tabular-nums;margin-top:.5rem;font-size:.875rem}.project-card-wrapper{display:flex;position:relative}.project-card-wrapper .project-card{flex:1}.project-card-wrapper:has(.project-card-edit) .project-card{padding-right:2.5rem}.project-card-external-url{color:hsl(var(--muted-foreground));margin-top:.25rem;font-size:.75rem;display:block}.project-card-edit{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));width:1.75rem;height:1.75rem;color:hsl(var(--muted-foreground));cursor:pointer;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex;position:absolute;top:.5rem;right:.5rem}.project-card-edit:hover{background:hsl(var(--muted) / .4);color:hsl(var(--foreground));border-color:hsl(var(--primary))}.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}.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))}.btn-small{border-radius:calc(var(--radius) / 2);cursor:pointer;border:none;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .2s}.btn-promote{background-color:hsl(var(--accent) / .15);color:#298971}.btn-promote:hover{background-color:hsl(var(--accent) / .25)}.btn-demote{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.btn-demote:hover{background-color:hsl(var(--muted) / .8)}.updating{color:hsl(var(--muted-foreground));font-size:.8125rem;font-style:italic}.logo-img{width:auto;height:28px}.deleted-section{border-top:1px solid hsl(var(--border));margin-top:2rem;padding-top:1rem}.deleted-section-toggle{color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.875rem;transition:color .2s;display:flex}.deleted-section-toggle:hover{color:hsl(var(--foreground))}.deleted-section-toggle .toggle-icon{width:1rem;font-size:.75rem}.deleted-section-toggle .deleted-count{color:hsl(var(--destructive));font-weight:500}.deleted-section-content{margin-top:1rem}.deleted-section-content .empty-state{color:hsl(var(--muted-foreground));padding:1rem 0;font-size:.875rem}.deleted-table{opacity:.7}.deleted-table tbody tr:hover{opacity:1}.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.role-super_admin{color:#6b248f;background:#f5ebfa}.role-selector-trigger.role-admin_editor{background:hsl(var(--accent) / .15);color:#298971}.role-selector-trigger.role-admin_viewer{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:220px;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}.role-badge.role-super_admin{color:#6b248f;background:#f5ebfa}.role-badge.role-admin_editor{background:hsl(var(--accent) / .15);color:#298971}.role-badge.role-admin_viewer{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.btn-icon{border-radius:calc(var(--radius) / 2);cursor:pointer;background:hsl(var(--muted));color:hsl(var(--foreground));border:none;margin-right:.5rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background-color .2s}.btn-icon:last-child{margin-right:0}.btn-icon:hover{background:hsl(var(--muted) / .8)}.btn-icon.danger{color:#960d0d;background:#fde8e8}.btn-icon.danger:hover{background:#fbd0d0}.badge-you{background:hsl(var(--accent) / .15);color:#298971;border-radius:9999px;margin-left:.5rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.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}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-title-row .section-title{margin-bottom:0}.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}.form-actions{gap:.75rem;margin-top:1.5rem;display:flex}.page-header .subtitle{color:hsl(var(--muted-foreground));margin-top:.25rem;font-size:.9375rem}.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}.btn-link{color:hsl(var(--accent));cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem;text-decoration:underline}.btn-link:hover{color:hsl(var(--accent) / .8)}.results-bar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.results-summary{color:hsl(var(--muted-foreground));font-size:.875rem}.page-size{color:hsl(var(--muted-foreground));white-space:nowrap;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.page-size .status-select{color:hsl(var(--foreground));cursor:pointer;padding:.3125rem .5rem}.pagination{border-top:1px solid hsl(var(--border));justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.page-info{color:hsl(var(--muted-foreground));font-size:.875rem}.pagination button:disabled{opacity:.5;cursor:not-allowed}.loading-container{height:100vh;color:hsl(var(--muted-foreground));flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.loading-spinner{border:3px solid hsl(var(--border));border-top-color:hsl(var(--accent));border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.password-requirements{background-color:hsl(var(--muted));border-radius:var(--radius);text-align:left;color:hsl(var(--muted-foreground));margin-top:1.5rem;padding:1rem;font-size:.8125rem}.password-requirements p{color:hsl(var(--foreground));margin:0 0 .5rem;font-weight:500}.password-requirements ul{margin:0;padding-left:1.25rem}.password-requirements li{margin:.25rem 0}.back-to-login-btn{border:1px solid hsl(var(--border));border-radius:var(--radius);width:100%;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;margin-top:1.5rem;padding:.75rem;font-size:.875rem;transition:all .2s;display:block}.back-to-login-btn:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.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}.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}.tab-header{justify-content:flex-end;margin-bottom:1rem;display:flex}.actions-cell{white-space:nowrap;width:1%}.action-buttons{gap:.5rem;display:flex}.processing{color:hsl(var(--muted-foreground));font-size:.8125rem;font-style:italic}.loading-state{text-align:center;color:hsl(var(--muted-foreground));padding:2rem}.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-toggle.as-static{color:hsl(var(--foreground));cursor:default}.expandable-row-toggle.as-static:hover{text-decoration:none}.expandable-cell-toggle{border-radius:calc(var(--radius) / 2);color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.375rem;max-width:100%;margin:-.125rem -.25rem;padding:.125rem .25rem;font-size:.875rem;display:inline-flex}.expandable-cell-toggle:hover{background:hsl(var(--muted) / .5)}.expandable-cell-toggle.expanded{background:hsl(var(--muted) / .7)}.expandable-cell-toggle.empty{color:hsl(var(--muted-foreground));font-style:italic}.expandable-cell-summary{flex:1;min-width:0}.expandable-cell-first{color:hsl(var(--accent));font-weight:500}.expandable-cell-sep{color:hsl(var(--muted-foreground))}.expandable-cell-level{text-transform:capitalize;font-weight:500}.expandable-cell-level.viewer{color:#1259a1}.expandable-cell-level.owner{color:#117e39}.expandable-cell-tail{color:hsl(var(--muted-foreground))}.expandable-cell-caret{color:hsl(var(--muted-foreground));flex-shrink:0;font-size:1.125rem;font-style:normal;line-height:1}.expansion-row>td{background:hsl(var(--muted) / .3);padding:1rem 1.25rem}.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}.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}.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-detail{color:hsl(var(--muted-foreground));margin-top:.0625rem;font-size:.75rem;display:block}.modal-description{color:hsl(var(--muted-foreground));margin-bottom:1rem;font-size:.875rem}.extraction-description{color:hsl(var(--muted-foreground));margin-top:.125rem;font-size:.8125rem}.extraction-unmapped{color:hsl(var(--muted-foreground));font-size:.8125rem}.extraction-form{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);max-width:60rem;margin-top:1.5rem;padding:1.25rem 1.5rem}.extraction-form h4{margin:0 0 1rem;font-size:.9375rem;font-weight:600}.extraction-form .form-row{align-items:flex-start;margin-bottom:1.25rem}.extraction-form .form-group small code{font-size:.75rem}.extraction-form .form-actions{margin-top:1.25rem}.checkbox-list.horizontal{flex-flow:wrap;gap:.25rem .75rem}.checkbox-list.horizontal .checkbox-item{padding:.25rem .5rem}.checkbox-list.horizontal .form-actions{flex-basis:100%;margin-top:.5rem}.extraction-cards{flex-direction:column;gap:1.25rem;display:flex}.extraction-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.25rem 1.5rem 1.5rem}.extraction-card-header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.extraction-card-header h4{margin:0;font-size:1.0625rem}.extraction-card-description{color:hsl(var(--muted-foreground));margin:.375rem 0 0;font-size:.9375rem}.extraction-grid{grid-template-columns:10rem 1fr;align-items:baseline;gap:.75rem 1.5rem;margin:0;font-size:.9375rem;display:grid}.extraction-grid dt{color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em;padding-top:.125rem;font-size:.75rem;font-weight:600}.extraction-grid dd{flex-wrap:wrap;align-items:center;gap:.375rem .5rem;min-width:0;margin:0;display:flex}.extraction-chip{background:hsl(var(--muted));border-radius:calc(var(--radius) / 2);word-break:break-all;padding:.125rem .5rem;font-size:.8125rem}.extraction-muted{color:hsl(var(--muted-foreground));font-size:.875rem}.extraction-grid .checkbox-list.horizontal{width:100%}.extractions-table .extractions-row{cursor:pointer}.extractions-name{align-items:center;gap:.25rem;display:flex}.extractions-lastrun{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.extractions-projects{flex-wrap:wrap;gap:.25rem;display:flex}.modal.modal-wide{max-width:760px;max-height:90vh;overflow-y:auto}.modal.modal-wide h2{margin:0;font-size:1.25rem}.modal.modal-wide .extraction-card-header{margin-bottom:1rem;padding-bottom:.75rem}.modal.modal-wide .extraction-grid{font-size:.9375rem}.audit-log-row{cursor:pointer}.data-table tbody tr.audit-log-row.selected{background:hsl(var(--accent) / .12)}.side-panel-overlay{z-index:1000;background:#0000004d;animation:.15s ease-out side-panel-fade-in;position:fixed;inset:0}.side-panel{background:hsl(var(--card));flex-direction:column;width:min(520px,100vw);animation:.2s ease-out side-panel-slide-in;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #00000026}.side-panel-header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.side-panel-header h2{overflow-wrap:anywhere;font-size:1.125rem}.side-panel-subtitle{color:hsl(var(--muted-foreground));margin-top:.25rem;font-size:.875rem}.side-panel-close{border-radius:calc(var(--radius) / 2);color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 .5rem;font-size:1.5rem;line-height:1.4}.side-panel-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.side-panel-close:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:1px}.side-panel-body{flex:1;padding:1.25rem 1.5rem 2rem;overflow-y:auto}.side-panel-body h3{border-top:1px solid hsl(var(--border));text-transform:uppercase;letter-spacing:.025em;color:hsl(var(--muted-foreground));margin:1.75rem 0 .75rem;padding-top:1.25rem;font-size:.8125rem;font-weight:600}.side-panel-grid{grid-template-columns:8rem 1fr;align-items:baseline;gap:.75rem 1rem;font-size:.875rem;display:grid}.side-panel-grid dt{color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.side-panel-grid dd{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;min-width:0;display:flex}.side-panel-details dt{text-transform:none;letter-spacing:0;overflow-wrap:anywhere;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;font-weight:500}.side-panel-muted{color:hsl(var(--muted-foreground))}.side-panel-json{background:hsl(var(--muted));border-radius:calc(var(--radius) / 2);white-space:pre-wrap;overflow-wrap:anywhere;width:100%;margin:0;padding:.5rem .75rem;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem}@keyframes side-panel-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes side-panel-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.side-panel-overlay,.side-panel{animation:none}}
