:root{--color-primary: #238287;--color-primary-hover: #1e6f73;--color-secondary: #64748b;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-border-hover: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--color-bg-secondary);color:var(--color-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar{width:240px;background-color:var(--color-bg-primary);border-right:1px solid var(--color-border);flex-shrink:0}.main-content{flex:1;display:flex;flex-direction:column}.header{background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg);flex-shrink:0}.content-area{flex:1;padding:var(--spacing-lg)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-decoration:none;white-space:nowrap}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.btn-secondary:hover{background-color:var(--color-border-hover)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background-color:var(--color-bg-tertiary)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;transition:border-color .15s ease}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.checkbox{width:1rem;height:1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;position:relative}.checkbox:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(45deg);width:4px;height:8px;border:2px solid white;border-top:none;border-left:none}.tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:var(--radius-md);font-size:.75rem;font-weight:500}.card{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.popover{position:absolute;background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;min-width:200px}.dropdown-menu{padding:var(--spacing-sm)}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease}.dropdown-item:hover{background-color:var(--color-bg-tertiary)}.icon{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:currentColor}.icon svg{width:100%;height:100%}.status-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:.75rem;font-weight:500}.status-active{background-color:#10b9811a;color:var(--color-success)}.status-inactive{background-color:#6b72801a;color:var(--color-secondary)}.status-pending{background-color:#f59e0b1a;color:var(--color-warning)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden{display:none}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--spacing-sm)}.gap-4{gap:var(--spacing-md)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-muted{color:var(--color-text-muted)}.w-full{width:100%}.h-full{height:100%}.tool-row{cursor:pointer;transition:all .15s ease}.tool-row:hover{background-color:var(--color-bg-tertiary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.tool-info{display:flex;align-items:center;gap:var(--spacing-md)}.tool-avatar{width:2.5rem;height:2.5rem;border-radius:var(--radius-lg);background-size:1.8rem 1.8rem;background-position:center;background-repeat:no-repeat;flex-shrink:0}.tool-details{flex:1}.tool-name{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.tool-category{font-size:.75rem;color:var(--color-text-muted);text-transform:capitalize}.tool-description{color:var(--color-text-secondary);line-height:1.4}.tool-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center}.tag-more{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-md);font-size:.75rem;font-weight:500}@media (max-width: 768px){.app-layout{flex-direction:column}.sidebar{width:100%;height:auto}.content-area{padding:var(--spacing-md)}.tool-info{flex-direction:column;text-align:center;gap:var(--spacing-sm)}.tool-tags{justify-content:center}}.sidebar{display:flex;flex-direction:column;height:100%}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.sidebar-logo h2{font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.sidebar-nav{flex:1;padding:var(--spacing-lg) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:none;background:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.nav-item:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.nav-item.active{background-color:var(--color-primary);color:#fff}.nav-item .icon{width:1.25rem;height:1.25rem}.sidebar-footer{position:sticky;bottom:0;padding:var(--spacing-lg) var(--spacing-md);border-top:1px solid var(--color-border);background-color:var(--color-bg-primary);z-index:10}.user-profile{display:flex;align-items:center;gap:var(--spacing-md)}.user-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.user-info{flex:1}.user-name{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.user-email{font-size:.75rem;color:var(--color-text-muted)}.header-content{display:flex;align-items:center;justify-content:space-between;width:100%}.header-left{display:flex;flex-direction:column;gap:var(--spacing-xs)}.page-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0}.breadcrumb{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--color-text-muted)}.breadcrumb-separator{color:var(--color-text-muted)}.breadcrumb-current{color:var(--color-text-secondary);font-weight:500}.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.search-box{position:relative;display:flex;align-items:center}.search-box .icon{position:absolute;left:var(--spacing-md);color:var(--color-text-muted);z-index:1}.search-input{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-sm) 2.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;width:300px;transition:all .15s ease}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:var(--color-text-muted)}.filter-btn{display:flex;align-items:center;gap:var(--spacing-xs)}@media (max-width: 768px){.header-content{flex-direction:column;gap:var(--spacing-md);align-items:stretch}.header-right{flex-direction:column;gap:var(--spacing-sm)}.search-input{width:100%}}.contacts-table-container{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.table-wrapper{overflow-x:auto}.contacts-table{width:100%;border-collapse:collapse}.contacts-table th,.contacts-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.contacts-table thead th{background-color:var(--color-bg-tertiary);font-weight:600;font-size:.875rem;color:var(--color-text-secondary)}.table-header{position:relative;user-select:none}.table-header.sortable{cursor:pointer;transition:background-color .15s ease}.table-header.sortable:hover{background-color:var(--color-border)}.header-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.sort-indicator{display:flex;align-items:center;transition:transform .15s ease;opacity:.5}.table-header.sorted .sort-indicator{opacity:1}.sort-indicator.desc{transform:rotate(180deg)}.select-column{width:48px;text-align:center}.actions-column{width:200px}.table-row{transition:background-color .15s ease}.table-row:hover{background-color:var(--color-bg-secondary)}.table-row.selected{background-color:#3b82f60d}.name-cell{min-width:200px}.contact-info{display:flex;align-items:center;gap:var(--spacing-md)}.contact-avatar{width:2rem;height:2rem;border-radius:50%;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.contact-details{flex:1;min-width:0}.contact-name{font-weight:500;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.contact-status{display:flex;align-items:center}.email-cell,.phone-cell,.company-cell,.role-cell{font-size:.875rem;color:var(--color-text-secondary)}.date-cell{font-size:.875rem;color:var(--color-text-muted);white-space:nowrap}.actions-cell{min-width:200px}.table-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.contact-tags{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;flex:1}.more-actions{flex-shrink:0;width:2rem;height:2rem;padding:0;display:flex;align-items:center;justify-content:center}.empty-state{text-align:center;padding:var(--spacing-2xl)}.empty-content{color:var(--color-text-muted)}.empty-content p{margin:0}@media (max-width: 768px){.contacts-table th,.contacts-table td{padding:var(--spacing-sm)}.contact-info,.table-actions{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.contact-tags{order:2}.more-actions{order:1;align-self:flex-end}}.checkbox:indeterminate{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox:indeterminate:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:2px;background-color:#fff;border-radius:1px}.description-cell{font-size:.875rem;color:var(--color-text-secondary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-cell{min-width:120px}.category-badge{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:capitalize}.popularity-cell{min-width:120px}.popularity-bar{display:flex;align-items:center;gap:var(--spacing-xs);width:100%}.popularity-fill{height:4px;background-color:var(--color-primary);border-radius:2px;transition:width .3s ease;flex:1;position:relative;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-bg-tertiary) 100%)}.popularity-text{font-size:.75rem;color:var(--color-text-muted);min-width:2rem;text-align:right}.status-badge.status-active{background-color:#10b981;color:#fff}.status-badge.status-inactive{background-color:#6b7280;color:#fff}.pagination-container{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);background-color:var(--color-bg-primary);border-top:1px solid var(--color-border);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.pagination-info{display:flex;align-items:center;gap:var(--spacing-lg)}.items-info{font-size:.875rem;color:var(--color-text-secondary)}.items-per-page{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--color-text-secondary)}.items-per-page-select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;background-color:var(--color-bg-primary);cursor:pointer}.items-per-page-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f61a}.pagination-controls{display:flex;align-items:center;gap:var(--spacing-xs)}.pagination-btn{display:flex;align-items:center;gap:var(--spacing-xs);min-width:auto;padding:var(--spacing-xs) var(--spacing-sm)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.pagination-btn[data-action=prev] .icon{transform:rotate(90deg)}.pagination-btn[data-action=next] .icon{transform:rotate(-90deg)}.page-numbers{display:flex;align-items:center;gap:var(--spacing-xs);margin:0 var(--spacing-sm)}.page-number{min-width:2rem;height:2rem;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.page-number.active{background-color:var(--color-primary);color:#fff}.page-number.active:hover{background-color:var(--color-primary-hover)}.pagination-ellipsis{padding:var(--spacing-xs);color:var(--color-text-muted);font-size:.875rem}@media (max-width: 768px){.pagination-container{flex-direction:column;gap:var(--spacing-md);align-items:stretch}.pagination-info{justify-content:space-between}.pagination-controls{justify-content:center;flex-wrap:wrap}.pagination-btn{flex-shrink:0}.page-numbers{margin:0}}@media (max-width: 480px){.pagination-btn span{display:none}.pagination-btn[data-action=prev],.pagination-btn[data-action=next]{padding:var(--spacing-xs)}.page-numbers{max-width:200px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.page-numbers::-webkit-scrollbar{display:none}}.feature-request-container{padding:var(--spacing-lg);max-width:1200px;margin:0 auto}.feature-request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.header-content .back-btn{margin-bottom:var(--spacing-md);align-self:flex-start}.header-content h2{font-size:1.75rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.header-content p{color:var(--color-text-secondary);margin:0;font-size:.975rem}.header-actions .submit-request-btn{display:flex;align-items:center;gap:var(--spacing-sm)}.submit-form-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.submit-form{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px #0000001a;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.form-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.form-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.close-form-btn{background:none;border:none;padding:var(--spacing-sm);cursor:pointer;border-radius:var(--radius-sm);transition:background-color .15s ease}.close-form-btn:hover{background-color:var(--color-bg-tertiary)}.request-form{padding:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--color-text-primary)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease;background-color:var(--color-bg-primary);color:var(--color-text-primary)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;min-height:100px}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.feature-request-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}.search-container{flex:1;max-width:400px}.search-container .search-input{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;background-color:var(--color-bg-primary);color:var(--color-text-primary)}.filter-controls{display:flex;gap:var(--spacing-md)}.filter-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;background-color:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer}.feature-request-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.feature-request-item{display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:box-shadow .15s ease,border-color .15s ease}.feature-request-item:hover{box-shadow:0 4px 6px -1px #0000001a;border-color:var(--color-border-hover, var(--color-border))}.request-vote{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);min-width:60px}.vote-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-secondary);cursor:pointer;transition:all .15s ease}.vote-btn:hover:not([disabled]){background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.vote-btn.voted{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.vote-btn[disabled]{cursor:not-allowed;opacity:.6}.vote-count{font-weight:600;color:var(--color-text-primary);font-size:.875rem}.request-content{flex:1;min-width:0}.request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.request-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text-primary);flex:1}.request-meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.status-pending{background-color:#fef3c7;color:#92400e}.status-progress{background-color:#dbeafe;color:#1e40af}.status-completed{background-color:#d1fae5;color:#065f46}.status-rejected{background-color:#fee2e2;color:#991b1b}.request-category-btn{background-color:var(--color-bg-tertiary);color:var(--color-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:capitalize;border:none;cursor:pointer;transition:all .15s ease}.request-category-btn:hover{background-color:var(--color-primary);color:#fff}.request-description{color:var(--color-text-secondary);line-height:1.6;margin:0 0 var(--spacing-lg) 0}.request-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.request-tags{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.request-tags .tag{background-color:var(--color-bg-secondary);color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:400}.request-info{display:flex;align-items:center;gap:var(--spacing-md);font-size:.875rem;color:var(--color-text-muted);flex-shrink:0}.submitted-by{font-weight:500}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-muted)}.empty-state p{margin:0}.empty-description{font-size:.875rem;margin-top:var(--spacing-sm)}@media (max-width: 768px){.feature-request-header{flex-direction:column;gap:var(--spacing-lg)}.feature-request-filters{flex-direction:column;align-items:stretch}.filter-controls{justify-content:space-between}.feature-request-item{flex-direction:column;gap:var(--spacing-md)}.request-vote{flex-direction:row;justify-content:center;min-width:auto}.request-header{flex-direction:column;align-items:flex-start}.request-footer{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.submit-form{width:95%;margin:var(--spacing-md)}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.extract-pages-container{padding:var(--spacing-lg);max-width:1200px;margin:0 auto}.tool-header{margin-bottom:var(--spacing-xl)}.back-btn{margin-bottom:var(--spacing-md)}.tool-info{display:flex;align-items:center;gap:var(--spacing-lg)}.tool-icon{width:4rem;height:4rem;border-radius:var(--radius-lg);background-size:3.2rem 3.2rem;background-position:center;background-repeat:no-repeat;flex-shrink:0}.tool-details h1{font-size:2rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.tool-details p{color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0;font-size:1.1rem}.tool-badges{display:flex;gap:var(--spacing-sm)}.badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.processing-badge{background-color:#10b981;color:#fff}.category-badge{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.tool-content{display:grid;gap:var(--spacing-xl)}.upload-section{background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-border)}.upload-area{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center;transition:all .2s ease;min-height:200px;display:flex;align-items:center;justify-content:center}.upload-area.drag-over{border-color:var(--color-primary);background-color:#3b82f60d}.upload-area.has-file{border-style:solid;border-color:var(--color-primary);background-color:#3b82f60d}.upload-prompt{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.upload-icon{font-size:3rem;opacity:.6}.upload-prompt h3{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.upload-prompt p{color:var(--color-text-secondary);margin:0}.upload-note{font-size:.875rem;color:var(--color-text-muted)}.file-info{display:flex;align-items:center;gap:var(--spacing-md);background:white;padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:0 2px 4px #0000001a}.file-icon{font-size:2rem}.file-details{flex:1;text-align:left}.file-name{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.file-size,.file-pages{font-size:.875rem;color:var(--color-text-secondary)}.remove-file-btn{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.extraction-section{background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-border)}.extraction-section h2{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0}.selection-methods{display:grid;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.method-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-label{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500;color:var(--color-text-primary);cursor:pointer}.range-inputs{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:var(--spacing-lg)}.page-input{width:80px;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem}.page-list-input{margin-left:var(--spacing-lg);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;width:300px}.odd-even-select{margin-left:var(--spacing-lg);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;width:200px}.selected-pages{background:rgba(59,130,246,.1);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.selected-pages h3{color:var(--color-primary);margin:0 0 var(--spacing-xs) 0;font-size:1rem}.selected-pages p{color:var(--color-text-secondary);margin:0;font-size:.875rem}.extraction-options{margin-bottom:var(--spacing-lg)}.extraction-options h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.option-group{margin-bottom:var(--spacing-md)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);cursor:pointer}.output-filename{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;margin-top:var(--spacing-xs)}.action-buttons{display:flex;gap:var(--spacing-md)}.processing-info{background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-border)}.info-card h3{color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0;font-size:1.125rem}.info-card p{color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0}.info-card ul{color:var(--color-text-secondary);margin:0;padding-left:var(--spacing-lg)}.info-card li{margin-bottom:var(--spacing-xs)}@media (max-width: 768px){.tool-info{flex-direction:column;text-align:center;gap:var(--spacing-md)}.range-inputs,.page-list-input,.odd-even-select{margin-left:0}.page-list-input{width:100%}.action-buttons{flex-direction:column}}.help-text-small{color:#888;font-size:.8rem;margin-top:.25rem;font-style:italic}.footer{background-color:#fff;border-top:1px solid var(--color-border);margin-top:auto;width:100%}.footer-content{max-width:1200px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--spacing-2xl);margin-bottom:var(--spacing-xl)}.footer-section h3{color:var(--color-text-primary);font-size:1.5rem;font-weight:600;margin-bottom:var(--spacing-lg)}.footer-section h4{color:var(--color-text-primary);font-size:1rem;font-weight:600;margin-bottom:var(--spacing-md)}.company-description{color:var(--color-text-secondary);font-size:.975rem;line-height:1.6;margin-bottom:var(--spacing-md)}.journey-text{color:var(--color-text-muted);font-size:.875rem;line-height:1.6;font-style:italic}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:var(--spacing-sm)}.footer-link{color:var(--color-text-secondary);text-decoration:none;font-size:.875rem;transition:color .15s ease}.footer-link:hover{color:var(--color-primary);text-decoration:underline}.social-links{display:flex;flex-direction:column;gap:var(--spacing-sm)}.social-link{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);text-decoration:none;font-size:.875rem;transition:color .15s ease;padding:var(--spacing-sm);border-radius:var(--radius-md)}.social-link:hover{color:var(--color-primary);background-color:var(--color-bg-secondary)}.social-link.linkedin:hover{color:#0077b5}.social-link .icon{width:1.25rem;height:1.25rem}.footer-bottom{border-top:1px solid var(--color-border);padding-top:var(--spacing-lg)}.footer-bottom-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.copyright,.location{color:var(--color-text-muted);font-size:.875rem;margin:0}@media (max-width: 768px){.footer-main{grid-template-columns:1fr;gap:var(--spacing-xl)}.footer-bottom-content{flex-direction:column;text-align:center}.social-links{align-items:flex-start}}@media (max-width: 480px){.footer-content{padding:var(--spacing-xl) var(--spacing-md)}.footer-main{gap:var(--spacing-lg)}}.legal-pages{background-color:#fff;min-height:100vh;padding:0}.legal-content{max-width:800px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}.legal-header{margin-bottom:var(--spacing-2xl);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-xl)}.back-button{display:flex;align-items:center;gap:var(--spacing-sm);background:none;border:none;color:var(--color-primary);font-size:.875rem;cursor:pointer;margin-bottom:var(--spacing-lg);padding:var(--spacing-sm);border-radius:var(--radius-md);transition:background-color .15s ease}.back-button:hover{background-color:var(--color-bg-secondary)}.back-button .icon{width:1rem;height:1rem}.legal-header h1{color:var(--color-text-primary);font-size:2rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.last-updated{color:var(--color-text-muted);font-size:.875rem;margin:0}.legal-body{line-height:1.6}.legal-body h2{color:var(--color-text-primary);font-size:1.375rem;font-weight:600;margin:var(--spacing-2xl) 0 var(--spacing-lg) 0}.legal-body h3{color:var(--color-text-primary);font-size:1.125rem;font-weight:600;margin:var(--spacing-xl) 0 var(--spacing-md) 0}.legal-body h4{color:var(--color-text-primary);font-size:1rem;font-weight:600;margin:var(--spacing-lg) 0 var(--spacing-sm) 0}.legal-body p{color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0}.legal-body ul,.legal-body ol{color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0;padding-left:var(--spacing-xl)}.legal-body li{margin-bottom:var(--spacing-xs)}.legal-body a{color:var(--color-primary);text-decoration:none}.legal-body a:hover{text-decoration:underline}.legal-body strong{color:var(--color-text-primary);font-weight:600}.cookie-table{width:100%;border-collapse:collapse;margin:var(--spacing-md) 0;background-color:var(--color-bg-primary);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 1px 3px #0000001a}.cookie-table th,.cookie-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.cookie-table th{background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-weight:600;font-size:.875rem}.cookie-table td{color:var(--color-text-secondary);font-size:.875rem}.cookie-table tbody tr:last-child td{border-bottom:none}.cookie-table tbody tr:hover{background-color:var(--color-bg-tertiary)}@media (max-width: 768px){.legal-content{padding:var(--spacing-xl) var(--spacing-md)}.legal-header h1{font-size:1.75rem}.legal-body h2{font-size:1.25rem}.legal-body h3{font-size:1.125rem}.cookie-table{font-size:.75rem}.cookie-table th,.cookie-table td{padding:var(--spacing-sm)}}@media (max-width: 480px){.legal-content{padding:var(--spacing-lg) var(--spacing-sm)}.legal-header h1{font-size:1.5rem}.cookie-table,.cookie-table thead,.cookie-table tbody,.cookie-table th,.cookie-table td,.cookie-table tr{display:block}.cookie-table thead tr{position:absolute;top:-9999px;left:-9999px}.cookie-table tr{border:1px solid var(--color-border);margin-bottom:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-md)}.cookie-table td{border:none;position:relative;padding-left:35%}.cookie-table td:before{content:attr(data-label);position:absolute;left:var(--spacing-sm);width:30%;text-align:left;font-weight:600;color:var(--color-text-primary)}}.app-layout{display:flex;flex-direction:column;background-color:var(--color-bg-secondary)}.app-main{display:flex;flex:1;min-height:0}.legal-page-container{width:100%;min-height:100vh}.sidebar-container{width:240px;flex-shrink:0;background-color:var(--color-bg-primary);border-right:1px solid var(--color-border)}.main-content{flex:1;display:flex;flex-direction:column;min-height:0}.header-container{background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border);flex-shrink:0}.content-area{flex:1;padding:var(--spacing-lg);background-color:var(--color-bg-secondary);min-height:100vh}.table-section{max-width:100%;margin:0 auto}.table-container{margin-bottom:0}@media (max-width: 768px){.app-layout{flex-direction:column}.sidebar-container{width:100%;height:auto;max-height:200px;overflow-y:auto}.content-area{padding:var(--spacing-md)}}.loading-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.loading-spinner{width:2rem;height:2rem;border:2px solid var(--color-border);border-top:2px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-layout *:focus{outline:2px solid var(--color-primary);outline-offset:2px}.app-layout button:focus{outline-offset:1px}@media (prefers-contrast: high){:root{--color-border: #000000;--color-text-muted: #333333}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
