*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.6;color:#333;background-color:#f5f5f5}.muted{color:#666}.small{font-size:.875rem}.benchmark{font-size:.75rem;color:#999}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.container{max-width:1200px;margin:0 auto;padding:0 1rem}main{min-height:calc(100vh - 200px)}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#495057;font-size:.875rem}.form-input,.form-select{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-input:focus,.form-select:focus{outline:none;border-color:#2c5aa0;box-shadow:0 0 0 .2rem rgba(44,90,160,.25)}header{background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);margin-bottom:2rem}.header-content{display:flex;justify-content:space-between;align-items:center;padding:.8rem 2rem}.logo{font-size:1.5rem;font-weight:bold;color:#2c5aa0;text-decoration:none}nav ul{display:flex;list-style:none;gap:.5rem;align-items:center;margin:0;padding:0}nav a{text-decoration:none;color:#666;font-weight:500;padding:.5rem 1rem;border-radius:4px;transition:all .2s}nav a:hover,nav a.active{background-color:#2c5aa0;color:#fff}.logout-nav-item{margin-left:auto}.logout-form{display:inline}.logout-btn{background:#dc3545;color:#fff;border:none;padding:.5rem;border-radius:4px;cursor:pointer;font-size:1rem;display:flex;align-items:center}.logout-btn:hover{background:#c82333 !important;transform:translateY(-1px);transition:all .2s ease}footer{background:#fff;border-top:1px solid #eee;margin-top:3rem;padding:2rem 0;text-align:center;color:#666}footer p{margin:.5rem 0}footer a{color:#2c5aa0;text-decoration:none}footer a:hover{text-decoration:underline}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:2rem}.card-header{background:#2c5aa0;color:#fff;padding:1rem;border-radius:8px 8px 0 0;margin:-2rem -2rem 2rem -2rem;display:flex;justify-content:space-between;align-items:center}.card-header h3{margin:0;font-weight:500}.card-header .btn{background:#4caf50;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500}.card-header .btn:hover{background:#45a049}.card-header .btn i{margin-right:.5rem}:root{--btn-height-sm: 32px;--btn-height-md: 40px;--btn-height-lg: 48px;--btn-radius: 4px;--btn-padding-x: 1rem}.btn{border:none;padding:0 var(--btn-padding-x);min-height:var(--btn-height-md);border-radius:var(--btn-radius);cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;transition:all .2s}.btn i{font-size:.875rem}.btn.btn-sm{min-height:var(--btn-height-sm);font-size:.85rem}.btn.btn-lg{min-height:var(--btn-height-lg);font-size:1rem}.btn.btn-block{width:100%}.btn.btn-icon{padding:0;width:var(--btn-height-md);min-width:var(--btn-height-md);height:var(--btn-height-md)}.btn.btn-icon i{font-size:1rem}.btn.btn-icon.btn-sm{width:var(--btn-height-sm);min-width:var(--btn-height-sm);height:var(--btn-height-sm)}.btn.btn-icon.btn-lg{width:var(--btn-height-lg);min-width:var(--btn-height-lg);height:var(--btn-height-lg)}.btn.btn-primary{background:#007bff;color:#fff}.btn.btn-primary:hover{background:#0056b3}.btn.btn-secondary{background:#6c757d;color:#fff}.btn.btn-secondary:hover{background:#545b62}.btn.btn-success{background:#28a745;color:#fff}.btn.btn-success:hover{background:#218838}.btn.btn-danger{background:#dc3545;color:#fff}.btn.btn-danger:hover{background:#c82333}.btn.btn-warning{background:#ffc107;color:#212529}.btn.btn-warning:hover{background:#e0a800}.btn.btn-info{background:#17a2b8;color:#fff}.btn.btn-info:hover{background:#138496}.btn.btn-loading{opacity:.7 !important;cursor:not-allowed !important;pointer-events:none}.btn.btn-loading i{animation:spin 1s linear infinite}.btn.btn-success{background:#28a745 !important;color:#fff !important}.btn.btn-success:hover{background:#28a745 !important}.btn.btn-success i{animation:none}.btn.btn-error{background:#dc3545 !important;color:#fff !important;cursor:not-allowed !important}.btn.btn-error:hover{background:#dc3545 !important}.btn.btn-error i{animation:none}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem;margin-bottom:2rem}.stats-grid .stat-card{padding:1rem;border-radius:6px;text-align:center;background:#fff;border:1px solid #e9ecef}.stats-grid .stat-card .stat-number,.stats-grid .stat-card .stat-value{font-size:1.5rem;font-weight:bold;margin-bottom:.5rem}.stats-grid .stat-card .stat-label{color:#666;font-size:.9rem}.stats-grid .stat-card.primary{background:#e7f3ff;border-color:#2c5aa0}.stats-grid .stat-card.primary .stat-value,.stats-grid .stat-card.primary .stat-number{color:#2c5aa0}.stats-grid .stat-card.warning{background:#fff3cd;border-color:#856404}.stats-grid .stat-card.warning .stat-value,.stats-grid .stat-card.warning .stat-number{color:#856404}.stats-grid .stat-card.success{background:#d4edda;border-color:#155724}.stats-grid .stat-card.success .stat-value,.stats-grid .stat-card.success .stat-number{color:#155724}.stats-grid .stat-card.danger{background:#f8d7da;border-color:#721c24}.stats-grid .stat-card.danger .stat-value,.stats-grid .stat-card.danger .stat-number{color:#721c24}.stats-grid .stat-card.info{background:#d1ecf1;border-color:#0c5460}.stats-grid .stat-card.info .stat-value,.stats-grid .stat-card.info .stat-number{color:#0c5460}.stats-grid .stat-card.active{background:#e8f5e8;border-left:4px solid #4caf50}.stats-grid .stat-card.active h4{color:#4caf50}.stats-grid .stat-card.active .value{color:#2e7d32}.stats-grid .stat-card.queued{background:#fff3e0;border-left:4px solid #ff9800}.stats-grid .stat-card.queued h4{color:#ff9800}.stats-grid .stat-card.queued .value{color:#f57c00}.stats-grid .stat-card.completed{background:#e3f2fd;border-left:4px solid #2196f3}.stats-grid .stat-card.completed h4{color:#2196f3}.stats-grid .stat-card.completed .value{color:#1976d2}.stats-grid .stat-card.failed{background:#ffebee;border-left:4px solid #f44336}.stats-grid .stat-card.failed h4{color:#f44336}.stats-grid .stat-card.failed .value{color:#d32f2f}.stats-grid .stat-card h4{margin-bottom:.5rem;font-size:1rem}.stats-grid .stat-card .value{font-size:1.5rem;font-weight:bold;margin:0}.stats-grid .stat-card .description{color:#666;font-size:.875rem;margin:0}.alert{padding:1rem;border-radius:4px;margin-bottom:2rem;border:1px solid rgba(0,0,0,0)}.alert .alert-title{font-weight:bold;margin-bottom:.5rem}.alert.alert-primary{background:#cce5ff;border-color:#007bff;color:#004085}.alert.alert-warning{background:#fff3cd;border-color:#ffeaa7;color:#856404}.alert.alert-danger{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert.alert-success{background:#d4edda;border-color:#c3e6cb;color:#155724}.alert.alert-info{background:#d1ecf1;border-color:#bee5eb;color:#0c5460}.tab-navigation{border-bottom:2px solid #f1f3f4;margin-bottom:2rem}.tab-navigation .tab-buttons{display:flex;gap:2rem}.tab-navigation .tab-buttons .tab-button{background:none;border:none;padding:1rem 0;border-bottom:3px solid rgba(0,0,0,0);cursor:pointer;font-weight:500;color:#666;transition:all .2s}.tab-navigation .tab-buttons .tab-button i{margin-right:.5rem}.tab-navigation .tab-buttons .tab-button:hover{color:#2c5aa0}.tab-navigation .tab-buttons .tab-button.active{color:#2c5aa0;border-bottom-color:#2c5aa0}.tab-content.hidden{display:none}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h3{color:#2c5aa0;margin:0}.section-title{color:#2c5aa0;margin-bottom:1.5rem}.table-wrapper{overflow-x:auto;margin-top:2rem}.table,.users-table,.permissions-table,.ingest-table{width:100%;border-collapse:collapse;background:#fff}.table thead tr,.users-table thead tr,.permissions-table thead tr,.ingest-table thead tr{background:#e9ecef}.table th,.users-table th,.permissions-table th,.ingest-table th{padding:.75rem;border:1px solid #dee2e6;font-weight:600;color:#495057;font-size:.875rem;text-align:left}.table th i,.users-table th i,.permissions-table th i,.ingest-table th i{margin-right:.5rem;color:#666}.table th.text-center,.users-table th.text-center,.permissions-table th.text-center,.ingest-table th.text-center{text-align:center}.table th.text-left,.users-table th.text-left,.permissions-table th.text-left,.ingest-table th.text-left{text-align:left}.table th.text-right,.users-table th.text-right,.permissions-table th.text-right,.ingest-table th.text-right{text-align:right}.table tbody tr:hover,.users-table tbody tr:hover,.permissions-table tbody tr:hover,.ingest-table tbody tr:hover{background:#f8f9fa}.table td,.users-table td,.permissions-table td,.ingest-table td{padding:.75rem;border:1px solid #dee2e6;vertical-align:middle}.table td.text-center,.users-table td.text-center,.permissions-table td.text-center,.ingest-table td.text-center{text-align:center}.table td.text-left,.users-table td.text-left,.permissions-table td.text-left,.ingest-table td.text-left{text-align:left}.table td.text-right,.users-table td.text-right,.permissions-table td.text-right,.ingest-table td.text-right{text-align:right}.status-badge{padding:.25rem .5rem;border-radius:3px;font-size:.75rem;font-weight:600}.status-badge.active{background:#28a745;color:#fff}.status-badge.inactive{background:#6c757d;color:#fff}.role-badge{padding:.25rem .5rem;border-radius:3px;font-size:.75rem;font-weight:600}.role-badge.admin{background:#dc3545;color:#fff}.role-badge.user{background:#28a745;color:#fff}.role-badge.editor{background:#fd7e14;color:#fff}.role-badge.viewer{background:#17a2b8;color:#fff}.role-badge.no-role{background:#6c757d;color:#fff}.role-badge:not(.admin):not(.user):not(.editor):not(.viewer):not(.no-role){background:#e7f3ff;color:#2c5aa0}.user-info{display:flex;align-items:center;gap:.75rem}.user-info .user-avatar{width:2.5rem;height:2.5rem;background:#e9ecef;border-radius:50%;display:flex;align-items:center;justify-content:center}.user-info .user-avatar i{color:#666;font-size:1rem}.user-info .user-details .user-name{font-weight:600;font-size:1rem;margin-bottom:.25rem}.user-info .user-details .user-email,.user-info .user-details .user-id,.user-info .user-details .user-meta{font-size:.875rem;color:#666}.email-info .email-address{font-weight:600;font-size:1rem}.email-info .email-meta{font-size:.875rem;color:#666}.role-info .role-meta{font-size:.75rem;color:#666;margin-top:.25rem}.user-actions,.table-actions{display:flex;justify-content:center;gap:.5rem}.user-actions .action-btn.btn-sm,.user-actions .btn.btn-sm,.table-actions .action-btn.btn-sm,.table-actions .btn.btn-sm{padding:.25rem .5rem;font-size:.75rem}.user-actions .action-btn.btn-edit,.user-actions .btn.btn-edit,.table-actions .action-btn.btn-edit,.table-actions .btn.btn-edit{background:#007bff;color:#fff}.user-actions .action-btn.btn-edit:hover,.user-actions .btn.btn-edit:hover,.table-actions .action-btn.btn-edit:hover,.table-actions .btn.btn-edit:hover{background:#0056b3}.user-actions .action-btn.btn-toggle,.user-actions .btn.btn-toggle,.table-actions .action-btn.btn-toggle,.table-actions .btn.btn-toggle{color:#fff}.user-actions .action-btn.btn-toggle.activate,.user-actions .btn.btn-toggle.activate,.table-actions .action-btn.btn-toggle.activate,.table-actions .btn.btn-toggle.activate{background:#28a745}.user-actions .action-btn.btn-toggle.activate:hover,.user-actions .btn.btn-toggle.activate:hover,.table-actions .action-btn.btn-toggle.activate:hover,.table-actions .btn.btn-toggle.activate:hover{background:#218838}.user-actions .action-btn.btn-toggle.deactivate,.user-actions .btn.btn-toggle.deactivate,.table-actions .action-btn.btn-toggle.deactivate,.table-actions .btn.btn-toggle.deactivate{background:#6c757d}.user-actions .action-btn.btn-toggle.deactivate:hover,.user-actions .btn.btn-toggle.deactivate:hover,.table-actions .action-btn.btn-toggle.deactivate:hover,.table-actions .btn.btn-toggle.deactivate:hover{background:#545b62}.user-actions .action-btn.btn-delete,.user-actions .btn.btn-delete,.table-actions .action-btn.btn-delete,.table-actions .btn.btn-delete{background:#dc3545;color:#fff}.user-actions .action-btn.btn-delete:hover,.user-actions .btn.btn-delete:hover,.table-actions .action-btn.btn-delete:hover,.table-actions .btn.btn-delete:hover{background:#c82333}.empty-state{text-align:center;padding:3rem;color:#666;background:#f8f9fa;border-radius:8px}.empty-state .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.3}.empty-state .empty-title{margin-bottom:1rem;color:#495057}.empty-state .empty-description{margin-bottom:2rem;font-size:1.1rem}.empty-state .empty-action{background:#28a745;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:600;font-size:1rem}.empty-state .empty-action i{margin-right:.5rem}.empty-state .empty-action:hover{background:#218838}.pagination-info{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #dee2e6}.pagination-info .showing-info{color:#666;font-size:.875rem;margin:0}.permission-badge{display:inline-block;background:#e7f3ff;color:#2c5aa0;font-size:.75rem;padding:.2rem .4rem;border-radius:3px;margin:.1rem}.custom-permission-badge{background:#fff3cd;color:#856404;padding:.2rem .4rem;border-radius:3px;font-size:.7rem;font-weight:500}.custom-permissions{display:flex;flex-wrap:wrap;gap:.25rem}.no-permissions,.no-role{color:#6c757d;font-style:italic;font-size:.875rem}.ingest-page{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:2rem}.ingest-header{text-align:center;margin-bottom:2rem}.ingest-header .ingest-title{color:#2c5aa0;margin-bottom:.5rem;font-weight:500}.ingest-header .ingest-subtitle{color:#666;font-size:1.1rem}.ingest-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;align-items:center}.ingest-controls .filter-group{display:flex;align-items:center;gap:.5rem}.ingest-controls .filter-group label{font-weight:500;color:#333}.ingest-controls .filter-group select,.ingest-controls .filter-group input{padding:.5rem;border:1px solid #ddd;border-radius:4px;background:#fff}.ingest-container{margin-bottom:2rem}.ingest-container h3{color:#2c5aa0;margin-bottom:1rem;font-size:1.25rem;font-weight:500}.ingest-table th{font-weight:600;color:#666;font-size:.875rem;text-transform:uppercase;white-space:nowrap}.ingest-table th i{margin-right:.5rem;color:#666}.ingest-table th.col-date{width:90px;text-align:left}.ingest-table th.col-type{width:100px;text-align:left}.ingest-table th.col-client{min-width:150px;text-align:left}.ingest-table th.col-videographer{width:120px;text-align:left}.ingest-table th.col-slots{width:60px;text-align:center}.ingest-table th.col-action{width:130px;text-align:left}.ingest-table th.col-configure{width:80px;text-align:center}.ingest-table tbody tr:hover{background-color:#f8f9fa}.ingest-table td.col-date input{border:none;background:rgba(0,0,0,0);width:100%;cursor:pointer}.ingest-table td.col-type select{border:none;background:rgba(0,0,0,0);width:100%;cursor:pointer;font-weight:500}.ingest-table td.col-client .client-name{cursor:pointer;color:#666}.ingest-table td.col-client .client-name:hover{text-decoration:underline;color:#2c5aa0}.ingest-table td.col-videographer .videographer-name{cursor:pointer;color:#2c5aa0;font-weight:500}.ingest-table td.col-videographer .videographer-name:hover{text-decoration:underline}.ingest-table td.col-slots{text-align:center}.ingest-table td.col-slots .slots-input{border:none;background:rgba(0,0,0,0);width:40px;text-align:center;cursor:pointer;text-transform:uppercase}.ingest-table td.col-slots .slots-input.has-slots{color:#000;font-weight:bold}.ingest-table td.col-slots .slots-input.empty-slots{color:#ccc;font-weight:normal}.ingest-table td.col-action .action-display{display:flex;align-items:center;gap:.25rem}.ingest-table td.col-action .action-display i{font-size:.875rem}.ingest-table td.col-action .action-display span{font-weight:500;font-size:.75rem}.ingest-table td.col-action .action-display.clickable{cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s,opacity .2s}.ingest-table td.col-action .action-display.clickable:hover{background-color:rgba(0,0,0,.05);opacity:.8}.ingest-table td.col-action .action-display.action-done i,.ingest-table td.col-action .action-display.action-done span{color:#4caf50}.ingest-table td.col-action .action-display.action-to-ops i,.ingest-table td.col-action .action-display.action-to-ops span{color:#2196f3}.ingest-table td.col-action .action-display.action-compressing i,.ingest-table td.col-action .action-display.action-compressing span{color:#ff9800}.ingest-table td.col-action .action-display.action-assign-slot i,.ingest-table td.col-action .action-display.action-assign-slot span{color:#9c27b0}.ingest-table td.col-action .action-display.action-to-source i,.ingest-table td.col-action .action-display.action-to-source span{color:#f44336}.ingest-table td.col-configure{text-align:center}.ingest-table td.col-configure .configure-actions{display:flex;gap:.5rem;justify-content:center;align-items:center}.ingest-table td.col-configure .configure-actions i{font-size:1rem;cursor:pointer;padding:.25rem;transition:opacity .2s}.ingest-table td.col-configure .configure-actions i:hover{opacity:.7}.ingest-table td.col-configure .configure-actions i.action-notes{color:#007bff}.ingest-table td.col-configure .configure-actions i.action-delete{color:#dc3545}.ingest-table td.col-configure .configure-actions i.action-delete-disabled{color:#6c757d;opacity:.5;cursor:not-allowed}.ingest-table td.col-configure .configure-actions i.action-delete-disabled:hover{opacity:.5;transform:none}.modal.add-ingest-modal .modal-content,.modal.edit-ingest-modal .modal-content{max-width:700px}.modal.add-ingest-modal .ingest-form .form-group,.modal.edit-ingest-modal .ingest-form .form-group{margin-bottom:1rem}.modal.add-ingest-modal .ingest-form .form-group label,.modal.edit-ingest-modal .ingest-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.modal.add-ingest-modal .ingest-form .form-group input,.modal.add-ingest-modal .ingest-form .form-group select,.modal.add-ingest-modal .ingest-form .form-group textarea,.modal.edit-ingest-modal .ingest-form .form-group input,.modal.edit-ingest-modal .ingest-form .form-group select,.modal.edit-ingest-modal .ingest-form .form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.modal.add-ingest-modal .ingest-form .form-group input:focus,.modal.add-ingest-modal .ingest-form .form-group select:focus,.modal.add-ingest-modal .ingest-form .form-group textarea:focus,.modal.edit-ingest-modal .ingest-form .form-group input:focus,.modal.edit-ingest-modal .ingest-form .form-group select:focus,.modal.edit-ingest-modal .ingest-form .form-group textarea:focus{outline:none;border-color:#2c5aa0;box-shadow:0 0 0 2px rgba(44,90,160,.1)}.modal.add-ingest-modal .ingest-form .form-group textarea,.modal.edit-ingest-modal .ingest-form .form-group textarea{resize:vertical;min-height:100px}.modal.add-ingest-modal .ingest-form .form-row,.modal.edit-ingest-modal .ingest-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width: 768px){.modal.add-ingest-modal .ingest-form .form-row,.modal.edit-ingest-modal .ingest-form .form-row{grid-template-columns:1fr}}.ingest-alert{padding:1rem;border-radius:4px;margin-bottom:1rem}.ingest-alert.info{background:#e3f2fd;border:1px solid #2196f3;color:#1976d2}.ingest-alert.success{background:#e8f5e8;border:1px solid #4caf50;color:#2e7d32}.ingest-empty{text-align:center;padding:3rem 1rem;color:#666}.ingest-empty .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.ingest-empty .empty-message{font-size:1.1rem;margin-bottom:.5rem}.ingest-empty .empty-description{font-size:.9rem;opacity:.8}@media(max-width: 768px){.ingest-controls{flex-direction:column;align-items:stretch}.ingest-controls .filter-group{justify-content:space-between}.ingest-page{padding:1rem}.ingest-table{font-size:.875rem}.ingest-table th,.ingest-table td{padding:.5rem}.ingest-table th.col-client,.ingest-table th.col-videographer,.ingest-table td.col-client,.ingest-table td.col-videographer{min-width:unset;width:auto}.ingest-table .action-display{flex-direction:column;gap:.125rem}.ingest-table .action-display span{font-size:.7rem}.ingest-table .configure-actions{flex-direction:column;gap:.25rem}.ingest-table .configure-actions i{font-size:.875rem;padding:.125rem}}.error-page{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);text-align:center}.error-content{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:2rem;border-radius:8px;max-width:600px;margin:0 auto}.error-title{font-size:1.5rem;margin-bottom:1rem;color:#721c24}.error-message{margin-bottom:1rem}.error-details{margin-bottom:1rem}.error-details summary{cursor:pointer;color:#495057}.error-details pre{background:#f8f9fa;padding:1rem;border-radius:4px;margin-top:.5rem;text-align:left;overflow-x:auto}.error-back-link{color:#007bff;text-decoration:none}.error-back-link:hover{text-decoration:underline}.profile-page{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:2rem}.profile-header{text-align:center;margin-bottom:2rem}.profile-header .profile-title{color:#2c5aa0;margin-bottom:.5rem;font-weight:500}.profile-header .profile-subtitle{color:#666;font-size:1.1rem}.profile-form-container{max-width:600px;margin:0 auto}.profile-form{background:#f8f9fa;padding:2rem;border-radius:8px;margin-bottom:2rem}.profile-form .form-section-title{color:#2c5aa0;margin-bottom:1.5rem;font-weight:500}.profile-form .form-row{display:flex;gap:1rem;margin-bottom:1rem}.profile-form .form-row .form-group{flex:1}.profile-form .form-group{margin-bottom:1rem}.profile-form .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.profile-form .form-group input[type=text],.profile-form .form-group input[type=email],.profile-form .form-group input[type=password],.profile-form .form-group select{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.profile-form .form-group input[type=text]:focus,.profile-form .form-group input[type=email]:focus,.profile-form .form-group input[type=password]:focus,.profile-form .form-group select:focus{outline:none;border-color:#2c5aa0;box-shadow:0 0 0 .2rem rgba(44,90,160,.25)}.profile-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.profile-form .form-actions .btn{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-weight:600}.profile-form .form-actions .btn.btn-secondary{background:#6c757d;color:#fff}.profile-form .form-actions .btn.btn-secondary:hover{background:#545b62}.profile-form .form-actions .btn.btn-primary{background:#007bff;color:#fff}.profile-form .form-actions .btn.btn-primary:hover{background:#0056b3}.role-badge{padding:.25rem .5rem;border-radius:3px;font-size:.75rem;font-weight:600;color:#fff}.role-badge.admin{background:#dc3545}.role-badge.user{background:#28a745}.role-badge.editor{background:#ffc107;color:#333}.profile-activity .activity-section-title{color:#2c5aa0;margin-bottom:1.5rem;font-weight:500}.profile-activity .activity-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem;margin-bottom:2rem}.profile-activity .activity-grid .activity-card{background:#f8f9fa;padding:1rem;border-radius:6px;text-align:center}.profile-activity .activity-grid .activity-card .activity-number{font-size:1.5rem;font-weight:bold;margin-bottom:.5rem}.profile-activity .activity-grid .activity-card .activity-label{color:#666;font-size:.9rem}.profile-activity .activity-grid .activity-card.login-activity .activity-number{color:#2c5aa0}.profile-activity .activity-grid .activity-card.action-activity .activity-number{color:#28a745}.profile-form .form-help{display:block;font-size:.8rem;color:#6c757d;margin-top:.25rem;font-style:italic}.profile-form input[type=number]{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.profile-form input[type=number]:focus{outline:none;border-color:#2c5aa0;box-shadow:0 0 0 .2rem rgba(44,90,160,.25)}.status-badge{padding:.25rem .5rem;border-radius:3px;font-size:.75rem;font-weight:600}.status-badge.active{background:#28a745;color:#fff}.status-badge.inactive{background:#6c757d;color:#fff}.env-badge{padding:.25rem .5rem;border-radius:3px;font-size:.75rem;font-weight:600}.env-badge.development{background:#17a2b8;color:#fff}.env-badge.staging{background:#ffc107;color:#333}.env-badge.production{background:#dc3545;color:#fff}.toast{box-shadow:0 4px 12px rgba(0,0,0,.15);border-radius:6px}.api-test-btn{background:#17a2b8;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.8rem;margin-left:.5rem}.api-test-btn:hover{background:#138496}.permissions-page{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:2rem}.permissions-header{text-align:center;margin-bottom:2rem}.permissions-header .permissions-title{color:#2c5aa0;margin-bottom:.5rem;font-weight:500}.permissions-header .permissions-subtitle{color:#666;font-size:1.1rem}.permissions-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;align-items:center}.permissions-controls .filter-group{display:flex;align-items:center;gap:.5rem}.permissions-controls .filter-group label{font-weight:500;color:#333}.permissions-controls .filter-group select{padding:.5rem;border:1px solid #ddd;border-radius:4px;background:#fff}.permissions-container,.users-table-container{margin-bottom:2rem}.permissions-container h3,.users-table-container h3{color:#2c5aa0;margin-bottom:1rem;font-size:1.25rem;font-weight:500}.permission-category{margin-bottom:2rem;border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.permission-category .category-header{background:#f8f9fa;padding:1rem;border-bottom:1px solid #e9ecef}.permission-category .category-header .category-title{margin:0;color:#2c5aa0;font-size:1.1rem;font-weight:600;display:flex;align-items:center}.permission-category .category-header .category-title i{margin-right:.5rem;color:#666;font-size:1rem}.permission-category .category-content{padding:1rem}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:1rem}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:1.5rem}.role-card{border:2px solid #e9ecef;border-radius:8px;padding:1.5rem;background:#f8f9fa}.role-card .role-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.role-card .role-header .role-info .role-name{margin:0 0 .5rem 0;color:#2c5aa0;text-transform:capitalize}.role-card .role-header .role-info .role-name .system-badge{background:#6c757d;color:#fff;font-size:.7rem;padding:.2rem .4rem;border-radius:3px;margin-left:.5rem}.role-card .role-header .role-info .role-description{color:#666;margin:0;font-size:.9rem}.role-card .role-header .role-actions{display:flex;gap:.5rem}.role-card .role-permissions .permissions-label{font-size:.9rem;color:#495057;font-weight:bold}.role-card .role-permissions .permissions-list{margin-top:.5rem;max-height:100px;overflow-y:auto}.role-card .role-permissions .permissions-list .permission-badge{display:inline-block;background:#e7f3ff;color:#2c5aa0;font-size:.75rem;padding:.2rem .4rem;border-radius:3px;margin:.1rem}.role-card .role-permissions .permissions-list .no-permissions{color:#6c757d;font-style:italic;font-size:.8rem}.permission-item{padding:1rem;background:#fff;border:1px solid #e9ecef;border-radius:6px}.permission-item .permission-name{font-weight:600;color:#495057;margin-bottom:.5rem}.permission-item .permission-description{color:#6c757d;font-size:.9rem;line-height:1.4}.modal.edit-permission-modal .modal-content,.modal.edit-user-permission-modal .modal-content{max-width:600px}.modal.edit-permission-modal .permission-form .form-group,.modal.edit-user-permission-modal .permission-form .form-group{margin-bottom:1rem}.modal.edit-permission-modal .permission-form .form-group label,.modal.edit-user-permission-modal .permission-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.modal.edit-permission-modal .permission-form .form-group input,.modal.edit-permission-modal .permission-form .form-group select,.modal.edit-permission-modal .permission-form .form-group textarea,.modal.edit-user-permission-modal .permission-form .form-group input,.modal.edit-user-permission-modal .permission-form .form-group select,.modal.edit-user-permission-modal .permission-form .form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.modal.edit-permission-modal .permission-form .form-group input:focus,.modal.edit-permission-modal .permission-form .form-group select:focus,.modal.edit-permission-modal .permission-form .form-group textarea:focus,.modal.edit-user-permission-modal .permission-form .form-group input:focus,.modal.edit-user-permission-modal .permission-form .form-group select:focus,.modal.edit-user-permission-modal .permission-form .form-group textarea:focus{outline:none;border-color:#2c5aa0;box-shadow:0 0 0 2px rgba(44,90,160,.1)}.modal.edit-permission-modal .permission-form .form-group textarea,.modal.edit-user-permission-modal .permission-form .form-group textarea{resize:vertical;min-height:100px}.modal.edit-permission-modal .permission-form .checkbox-group,.modal.edit-user-permission-modal .permission-form .checkbox-group{display:flex;align-items:center;gap:.5rem}.modal.edit-permission-modal .permission-form .checkbox-group input[type=checkbox],.modal.edit-user-permission-modal .permission-form .checkbox-group input[type=checkbox]{width:auto;margin:0}.permission-alert{padding:1rem;border-radius:4px;margin-bottom:1rem}.permission-alert.info{background:#e3f2fd;border:1px solid #2196f3;color:#1976d2}.permission-alert.warning{background:#fff3e0;border:1px solid #ff9800;color:#f57c00}.section-title{color:#2c5aa0;margin-bottom:1.5rem;font-size:1.25rem;font-weight:500}.permissions-table .user-name{font-weight:600;color:#495057}.permissions-table .user-email{font-size:.875rem;color:#6c757d;margin-top:.25rem}.modal .permissions-container{border:1px solid #dee2e6;border-radius:4px;padding:1rem;max-height:300px;overflow-y:auto}.modal .permissions-container .permission-category{margin-bottom:1.5rem;border:none;border-radius:0}.modal .permissions-container .permission-category:last-child{margin-bottom:0}.modal .permissions-container .permission-category .category-header{background:rgba(0,0,0,0);padding:0;border:none}.modal .permissions-container .permission-category .category-header .category-title{color:#2c5aa0;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e9ecef;font-size:1rem}.modal .permissions-container .permission-category .category-content{padding:0}.modal .permissions-container .permission-checkboxes{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:.5rem}.modal .permissions-container .permission-checkboxes .permission-checkbox{display:flex;align-items:center;gap:.5rem;padding:.25rem}.modal .permissions-container .permission-checkboxes .permission-checkbox input[type=checkbox]{margin:0;width:auto}.modal .permissions-container .permission-checkboxes .permission-checkbox label{margin:0;font-weight:normal;font-size:.9rem;cursor:pointer}@media(max-width: 768px){.permissions-controls{flex-direction:column;align-items:stretch}.permissions-controls .filter-group{justify-content:space-between}.permissions-page{padding:1rem}.permissions-grid{grid-template-columns:1fr}.modal .permissions-container .permission-checkboxes{grid-template-columns:1fr}}.section-title{color:#2c5aa0;margin-bottom:1.5rem;font-size:1.25rem;font-weight:500}.permissions-table .user-name{font-weight:600;color:#495057}.permissions-table .user-email{font-size:.875rem;color:#6c757d;margin-top:.25rem}.users-page{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);padding:2rem}.users-header{text-align:center;margin-bottom:2rem}.users-header .users-title{color:#2c5aa0;margin-bottom:.5rem;font-weight:500}.users-header .users-count{font-size:1.2rem;color:#333;margin-top:1rem}.users-header .users-count .count-number{color:#28a745;font-weight:700}.users-header .users-count .count-label{color:#28a745;font-weight:500;font-size:.9em}.users-header .users-count .count-description{color:#6c757d;margin-left:.75rem;font-weight:300}.users-header .users-subtitle,.users-header .page-description{color:#666;font-size:1.1rem}.database-warning{background:#fff3cd;border:1px solid #ffeaa7;padding:1rem;border-radius:4px;margin-bottom:2rem}.database-warning .warning-title{font-weight:bold}.users-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.users-controls .filter-controls{display:flex;align-items:center;gap:1rem}.users-controls .filter-controls .filter-buttons{display:flex;align-items:center;gap:.5rem}.users-controls .filter-controls .filter-buttons .filter-label{font-size:.875rem;color:#495057;margin:0}.users-controls .filter-controls .filter-buttons .filter-btn{padding:.25rem .75rem;border-radius:4px;font-size:.875rem;font-weight:600;text-decoration:none;border:2px solid;transition:all .2s;background:rgba(0,0,0,0)}.users-controls .filter-controls .filter-buttons .filter-btn.filter-active{border-color:#28a745;color:#28a745}.users-controls .filter-controls .filter-buttons .filter-btn.filter-inactive{border-color:#6c757d;color:#6c757d}.users-controls .filter-controls .filter-buttons .filter-btn.filter-admin{border-color:#dc3545;color:#dc3545}.users-controls .filter-controls .filter-buttons .filter-btn.active{background:#2c5aa0 !important;border-color:#2c5aa0 !important;color:#fff !important}.users-controls .filter-controls .filter-buttons .filter-btn:hover{opacity:.8}.users-controls .action-controls{display:flex;align-items:center;gap:.75rem}.users-controls .action-controls .pagination-control{display:flex;align-items:center;gap:.5rem}.users-controls .action-controls .pagination-control .pagination-label{font-size:.875rem;color:#495057}.users-controls .action-controls .pagination-control .pagination-select{padding:.25rem .5rem;border:1px solid #ced4da;border-radius:4px;font-size:.875rem}.users-controls .action-controls .create-user-btn{background:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:.5rem}.users-controls .action-controls .create-user-btn i{font-size:.875rem}.users-controls .action-controls .create-user-btn:hover{background:#218838}.users-table-section .table-container{overflow-x:auto}.users-table-section .users-table tbody td .permissions-info{font-size:.75rem;color:#666;margin-top:.25rem}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:1000;align-items:center;justify-content:center}.modal-overlay.show{display:flex}.modal-content{background:#fff;border-radius:8px;padding:0;width:90%;max-width:500px;box-shadow:0 4px 20px rgba(0,0,0,.15);max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e9ecef;flex-shrink:0}.modal-header h2{margin:0;color:#2c5aa0;font-size:1.25rem;font-weight:600}.modal-header .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:.25rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-header .modal-close:hover{color:#000;background-color:#f8f9fa}.modal-body{padding:1.5rem 2rem;flex:1;overflow-y:auto}.modal-body .modal-form .form-row{display:flex;gap:1rem;margin-bottom:1.25rem}.modal-body .modal-form .form-row .form-group{flex:1}.modal-body .modal-form .form-group{margin-bottom:1.25rem}.modal-body .modal-form .form-group:last-child{margin-bottom:0}.modal-body .modal-form .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#495057;font-size:.875rem}.modal-body .modal-form .form-group input[type=text],.modal-body .modal-form .form-group input[type=email],.modal-body .modal-form .form-group input[type=password],.modal-body .modal-form .form-group select{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.modal-body .modal-form .form-group input[type=text]:focus,.modal-body .modal-form .form-group input[type=email]:focus,.modal-body .modal-form .form-group input[type=password]:focus,.modal-body .modal-form .form-group select:focus{outline:none;border-color:#2c5aa0;box-shadow:0 0 0 .2rem rgba(44,90,160,.25)}.form-label{display:block;margin-bottom:.5rem;font-weight:600;color:#495057;font-size:.875rem}.form-input,.form-select{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-input:focus,.form-select:focus{outline:none;border-color:#2c5aa0;box-shadow:0 0 0 .2rem rgba(44,90,160,.25)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem;border-top:1px solid #e9ecef;background-color:#f8f9fa;flex-shrink:0}.modal-actions .btn{border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:.875rem;transition:background-color .15s ease-in-out}.modal-actions .btn.btn-secondary{background:#6c757d;color:#fff}.modal-actions .btn.btn-secondary:hover{background:#545b62}.modal-actions .btn.btn-success{background:#28a745;color:#fff}.modal-actions .btn.btn-success:hover{background:#218838}.modal-actions .btn.btn-primary{background:#007bff;color:#fff}.modal-actions .btn.btn-primary:hover{background:#0056b3}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-footer .btn{border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer}.modal-footer .btn.btn-secondary{background:#6c757d;color:#fff}.modal-footer .btn.btn-secondary:hover{background:#545b62}.modal-footer .btn.btn-primary{background:#28a745;color:#fff}.modal-footer .btn.btn-primary:hover{background:#218838}.user-modal .modal-content{max-width:600px}.role-modal .modal-content{max-width:700px}.role-modal .permissions-section{max-height:300px;overflow-y:auto;border:1px solid #dee2e6;border-radius:6px;padding:1rem}.role-modal .permissions-section .permission-category{margin-bottom:1rem}.role-modal .permissions-section .permission-category .category-title{font-weight:600;color:#495057;margin-bottom:.5rem}.role-modal .permissions-section .permission-category .permission-checkboxes{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:.5rem}.role-modal .permissions-section .permission-category .permission-checkboxes .permission-checkbox{display:flex;align-items:center;gap:.5rem}.role-modal .permissions-section .permission-category .permission-checkboxes .permission-checkbox input{margin:0}.role-modal .permissions-section .permission-category .permission-checkboxes .permission-checkbox label{margin:0;font-weight:normal;font-size:.9rem}.modal-large{max-width:900px !important;max-height:80vh !important}.modal-large .modal-body{padding:2rem}.permissions-container{border-radius:6px;padding:1.25rem;max-height:50vh;overflow-y:auto;background-color:#fbfbfb}.permissions-container .permission-category{margin-bottom:1.5rem}.permissions-container .permission-category:last-child{margin-bottom:0}.permissions-container .permission-category .category-title{font-weight:600;color:#2c5aa0;margin-bottom:.75rem;padding-bottom:.5rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.permissions-container .permission-category .permission-checkboxes{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:.75rem}.permissions-container .permission-category .permission-checkboxes .permission-checkbox{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background-color:#fff;border-radius:4px;transition:border-color .15s ease-in-out}.permissions-container .permission-category .permission-checkboxes .permission-checkbox:hover{border-color:#2c5aa0}.permissions-container .permission-category .permission-checkboxes .permission-checkbox input[type=checkbox]{margin:0;width:16px;height:16px;cursor:pointer}.permissions-container .permission-category .permission-checkboxes .permission-checkbox label{margin:0;font-weight:normal;font-size:.875rem;cursor:pointer;flex:1}.permissions-container .permission-category .permission-checkboxes .permission-checkbox label .permission-desc{display:block;font-size:.75rem;color:#6c757d;margin-top:.25rem}.permission-row{display:flex;align-items:center;margin-bottom:.75rem;padding:.75rem;border:1px solid #e9ecef;border-radius:6px;background:#f8f9fa}.permission-row .permission-info{flex:1;margin-right:1rem}.permission-row .permission-info .permission-name{font-weight:600;color:#495057;margin-bottom:.25rem}.permission-row .permission-info .permission-description{font-size:.875rem;color:#6c757d;line-height:1.4}.permission-row .permission-controls{display:flex;gap:1rem;align-items:center}.permission-row .permission-controls .control-group{display:flex;align-items:center;gap:.375rem}.permission-row .permission-controls .control-group input[type=checkbox]{margin:0;width:16px;height:16px;cursor:pointer}.permission-row .permission-controls .control-group label{margin:0;font-size:.875rem;font-weight:500;cursor:pointer}.permission-row .permission-controls .control-group label.grant-label{color:#28a745}.permission-row .permission-controls .control-group label.deny-label{color:#dc3545}@media(max-width: 768px){.modal-large{max-width:95vw !important;max-height:90vh !important}.permissions-container{max-height:60vh}.permission-row{flex-direction:column;align-items:flex-start}.permission-row .permission-info{margin-right:0;margin-bottom:.5rem}.permission-row .permission-controls{width:100%;justify-content:space-around}}.listings-page .page-header{margin-bottom:2rem;text-align:center}.listings-page .page-header h1{color:#2c5aa0;margin-bottom:.5rem}.listings-page .page-header p{color:#666;font-size:1.1rem;margin-bottom:1rem}.listings-page .page-header .results-count .count-number{font-size:1.5rem;font-weight:bold;color:#2c5aa0}.listings-page .page-header .results-count .count-label{color:#666;margin-left:.5rem}.listings-page .page-header .results-count .count-number.is-open,.listings-page .page-header .results-count .count-label.is-open{color:#2e7d32}.listings-page .page-header .results-count .count-number.is-closed,.listings-page .page-header .results-count .count-label.is-closed{color:#6b7280}.listings-page .page-header .results-count .count-number.is-total,.listings-page .page-header .results-count .count-label.is-total{color:#2c5aa0}.listings-container{display:grid;grid-template-columns:280px 1fr;gap:2rem;margin-top:2rem}@media(max-width: 768px){.listings-container{grid-template-columns:1fr;gap:1rem}}.listings-container.single-column{grid-template-columns:1fr}.profile-form .form-row{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:1rem}.profile-form .form-group{display:flex;flex-direction:column;gap:.35rem}.profile-form .form-group label{font-weight:600;color:#333}.profile-form .form-group input,.profile-form .form-group select,.profile-form .form-group textarea{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem}.profile-form .form-group textarea{resize:vertical}.profile-form .text-danger{color:#dc3545;font-size:.85rem}.filters-sidebar{background:#fff;border-radius:8px;padding:1.5rem;height:fit-content;border:1px solid #e9ecef;position:sticky;top:1rem;z-index:5}.filter-form .filter-section{background:#f8f9fa;border-radius:6px;padding:1rem;margin-bottom:1rem;border:1px solid #e9ecef}.filter-form .filter-group{margin-bottom:1rem}.filter-form .filter-group label{display:block;font-weight:600;color:#333;margin-bottom:.75rem;font-size:.9rem}.filter-form .radio-group .radio-option{display:flex;align-items:center;margin-bottom:.6rem;font-weight:normal}.filter-form .radio-group .radio-option input[type=radio]{margin-right:.6rem}.filter-form .radio-group .radio-option label{margin-bottom:0;font-weight:normal;cursor:pointer}.filter-form .radio-group{margin-bottom:.75rem}.filter-form .budget-inputs{display:flex;flex-direction:column;gap:.5rem}.filter-form .budget-inputs input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.filter-form .budget-inputs .budget-separator{color:#666;font-size:.85rem;text-align:center}.filter-form select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.filter-actions{margin-top:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:stretch}.filter-actions .btn{text-align:center;width:100%}.listings-content{background:#fff;border-radius:8px;padding:1.5rem;border:1px solid #e9ecef}.listings-content .listings-grid{display:grid;gap:2rem}.listing-card{background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;padding:1.5rem;transition:box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column}.listing-card:hover{box-shadow:0 4px 12px rgba(44,90,160,.1);border-color:#2c5aa0;background:#fff}.listings-table-container .listings-table{width:100%;border-collapse:separate;border-spacing:0 12px}.listings-table-container thead th{color:#666;font-weight:700;text-align:left;padding:.5rem 1rem}.listings-table-container tbody tr.listing-row{background:#fff;border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.listings-table-container tbody td{padding:1rem;vertical-align:top}.listings-table-container td.project-info .project-title h4{margin:0 0 .25rem 0;color:#2c5aa0;font-size:1rem;font-weight:700}.listings-table-container td.project-info .project-title a{text-decoration:none;color:inherit}.listings-table-container td.project-info .project-title a:hover{text-decoration:underline}.listings-table-container td.project-info .client-name{color:#666;font-size:.875rem;display:block;margin-bottom:.5rem}.listings-table-container td.project-info .project-meta{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem;flex-wrap:wrap}.listings-table-container .location-meta{color:#666;font-size:.8rem;display:inline-flex;align-items:center;gap:.25rem}.listings-table-container .service-badge{padding:.15rem .5rem;border-radius:10px;font-size:.7rem;font-weight:700;text-transform:uppercase}.listings-table-container .service-badge.service-videography{background:#e3f2fd;color:#1976d2}.listings-table-container .service-badge.service-editing{background:#f3e5f5;color:#7b1fa2}.listings-table-container .service-badge.service-both{background:#e8f5e8;color:#388e3c}.listings-table-container .service-badge.status-active{background:#e8f5e8;color:#2e7d32}.listings-table-container .service-badge.status-closed{background:#f5f5f5;color:#666}.listings-table-container .posted-date{color:#666;font-size:.8rem;display:inline-flex;align-items:center;gap:.25rem}.listings-table-container td.actions .btn.btn-sm{padding:.4rem .8rem;font-size:.85rem}.listings-table-container .pagination{display:flex;justify-content:space-between;align-items:center;padding:.75rem .5rem 0 .5rem;margin-top:.5rem}.listings-table-container .pagination .page-info{color:#666;font-size:.85rem}.listings-table-container .pagination .page-links{display:flex;gap:.5rem}.listing-detail-page .listing-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.listing-detail-page .breadcrumb a{color:#2c5aa0;text-decoration:none}.listing-detail-page .breadcrumb a:hover{text-decoration:underline}.listing-detail-page .listing-title-section h1{margin:0 0 .5rem 0;color:#2c5aa0;font-size:1.4rem}.listing-detail-page .listing-title-section .listing-meta{display:flex;gap:.75rem;align-items:center;color:#666;font-size:.9rem;flex-wrap:wrap}.listing-detail-page .listing-actions{display:flex;gap:.5rem}.listing-detail-page .listing-content{display:grid;grid-template-columns:1fr 300px;gap:1.5rem}.listing-detail-page .content-section{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1rem;margin-bottom:1rem}.listing-detail-page .listing-sidebar .sidebar-section{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1rem;margin-bottom:1rem}.listing-header{margin-bottom:1rem}.listing-header .project-info .project-title{margin:0 0 .75rem 0;color:#2c5aa0;font-size:1.25rem;font-weight:700;line-height:1.3}.listing-header .project-info .project-details{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.875rem}.listing-header .project-info .project-details .client-name{color:#666;font-weight:500}.listing-header .project-info .project-details .service-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.listing-header .project-info .project-details .service-badge.service-videography{background:#e3f2fd;color:#1976d2}.listing-header .project-info .project-details .service-badge.service-editing{background:#f3e5f5;color:#7b1fa2}.listing-header .project-info .project-details .service-badge.service-both{background:#e8f5e8;color:#388e3c}.listing-header .project-info .project-details .posted-date{color:#666;display:flex;align-items:center;gap:.25rem}.listing-header .project-info .project-details .posted-date i{color:#2c5aa0;width:14px}.listing-header .priority-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.25rem;align-self:flex-start}.listing-header .priority-badge.priority-urgent{background:#ffeaa7;color:#e17055}.listing-header .priority-badge.priority-high{background:#fab1a0;color:#e84393}.listing-description{margin-bottom:1.5rem;flex:1}.listing-description p{color:#555;line-height:1.6;margin:0;font-size:.95rem}.listing-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto}.listing-footer .listing-details{flex:1}.listing-footer .listing-details .budget-location{display:flex;gap:1rem;margin-bottom:.5rem}.listing-footer .listing-details .budget-location .budget-amount{font-weight:600;color:#2e7d32;display:flex;align-items:center;gap:.25rem;font-size:.9rem}.listing-footer .listing-details .budget-location .budget-amount i{color:#2e7d32;width:14px}.listing-footer .listing-details .budget-location .location{color:#666;display:flex;align-items:center;gap:.25rem;font-size:.875rem}.listing-footer .listing-details .budget-location .location i{color:#2c5aa0;width:14px}.listing-footer .listing-details .deadline-info{font-size:.8rem;color:#d32f2f;font-weight:500;display:flex;align-items:center;gap:.25rem}.listing-footer .listing-actions{display:flex;gap:.5rem}.listing-footer .listing-actions .btn{white-space:nowrap}.listing-footer .listing-actions .btn.btn-sm{padding:.4rem .8rem;font-size:.8rem}.listing-footer .listing-actions .btn.btn-sm i{margin-right:.25rem}.no-listings{text-align:center;padding:4rem 2rem}.no-listings .no-listings-icon{font-size:4rem;color:#e0e0e0;margin-bottom:1rem}.no-listings h3{color:#666;margin-bottom:.5rem}.no-listings p{color:#888;margin-bottom:2rem}.btn-outline{background:rgba(0,0,0,0);border:1px solid #2c5aa0;color:#2c5aa0}.btn-outline:hover{background:#2c5aa0;color:#fff}.status-badge-inline{padding:.2rem .5rem;border-radius:3px;font-size:.7rem;font-weight:600;text-transform:uppercase}.status-badge-inline.status-open{background:#28a745;color:#fff}.status-badge-inline.status-closed,.status-badge-inline.status-archived{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.status-badge-inline.status-cancelled{background:#fff2f2;color:#b91c1c;border:1px solid #fecaca}.status-badge-inline.status-completed{background:#17a2b8;color:#fff}.status-badge-inline.status-in_progress{background:#ffc107;color:#333}.listing-closed{opacity:.6;transition:opacity .3s ease}.listing-closed:hover{opacity:.8}.checkbox-group .checkbox-option{display:flex;align-items:center;margin-bottom:.6rem;font-weight:normal}.checkbox-group .checkbox-option input[type=checkbox]{margin-right:.6rem}.checkbox-group .checkbox-option label{margin-bottom:0;font-weight:normal;cursor:pointer}.field-valid{border-color:#28a745 !important;box-shadow:0 0 0 .2rem rgba(40,167,69,.25) !important}.field-invalid{border-color:#dc3545 !important;box-shadow:0 0 0 .2rem rgba(220,53,69,.25) !important}.field-error{color:#dc3545;font-size:.875rem;margin-top:.25rem;display:block}.password-strength{margin-top:.5rem}.password-strength .strength-bar{height:4px;background-color:#e9ecef;border-radius:2px;overflow:hidden;margin-bottom:.25rem}.password-strength .strength-bar .strength-fill{height:100%;transition:width .3s ease;border-radius:2px}.password-strength .strength-bar.weak .strength-fill{background-color:#dc3545}.password-strength .strength-bar.fair .strength-fill{background-color:#fd7e14}.password-strength .strength-bar.good .strength-fill{background-color:#ffc107}.password-strength .strength-bar.strong .strength-fill{background-color:#28a745}.password-strength .strength-text{font-size:.75rem;color:#6c757d}.btn-disabled{opacity:.6;cursor:not-allowed}.btn-disabled:hover{opacity:.6}.registration-page .card{max-width:500px;margin:2rem auto}.registration-page .form-group{margin-bottom:1.5rem}.registration-page .form-input{transition:border-color .15s ease,box-shadow .15s ease}.registration-page .alert{margin-bottom:1.5rem}.registration-page .alert.alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24;padding:1rem;border-radius:.375rem;border:1px solid}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}/*# sourceMappingURL=main.css.map */
