dhravani / static /validate.css
coild's picture
Upload 52 files
70b77f4 verified
.validation-table {
box-shadow: 0 2px 6px rgba(60, 64, 67, 0.15);
background: white;
border-radius: 24px 24px 0px 0px;
height: calc(100vh - 180px);
}
.validation-table .table {
margin-bottom: 0;
border-collapse: separate;
border-spacing: 0;
border: none;
}
.validation-table th {
background-color: #ffffff;
font-weight: 500;
font-size: 13px;
letter-spacing: 0.3px;
padding: 18px 16px;
border: none;
position: sticky;
top: 0;
z-index: 10;
}
.btn {
font-family: 'Google Sans', Arial, sans-serif;
font-weight: 500;
border-radius: 24px;
padding: 8px 24px;
transition: all 0.2s;
text-transform: none;
letter-spacing: .25px;
height: 36px;
font-size: 14px;
}
.btn-outline-primary:hover {
background-color: #f6fafe;
border-color: #1a73e8;
color: #1557b0;
}
.validation-table td {
padding: 16px;
vertical-align: middle;
color: #202124;
font-size: 14px;
border: none;
}
.validation-table tbody tr {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.validation-table tbody tr:hover {
background-color: #f8f9fa;
transform: translateY(-1px);
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.material-radio {
padding: 12px 16px;
border-radius: 8px;
transition: all 0.2s ease;
cursor: pointer;
display: flex;
align-items: center;
margin: 4px 0;
}
.material-radio:hover {
background-color: #e8f0fe;
transform: translateY(-1px);
}
.material-radio .form-check-input {
width: 18px;
height: 18px;
margin-right: 12px;
cursor: pointer;
}
.material-radio .form-check-label {
font-size: 14px;
color: #5f6368;
cursor: pointer;
display: flex;
align-items: center;
width: 100%;
}
.material-radio .form-check-input:checked {
background-color: #1a73e8;
border-color: #1a73e8;
}
.validation-table .badge {
font-size: 12px;
font-weight: 500;
padding: 8px 16px;
border-radius: 16px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.badge.bg-success {
background-color: #e6f4ea !important;
color: #34a853;
}
.badge.bg-warning {
background-color: #fef7e0 !important;
color: #f9ab00;
}
.badge.bg-primary {
background-color: #e8f0fe !important;
color: #1a73e8;
font-weight: 500;
font-size: 12px;
padding: 6px 12px;
border-radius: 12px;
}
.validation-table .btn-sm {
padding: 8px 16px;
font-size: 13px;
border-radius: 8px;
font-weight: 500;
transition: all 0.2s ease;
min-width: 80px;
}
.validation-table .btn-sm:hover {
transform: translateY(-1px);
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.pagination {
gap: 4px;
}
.pagination .page-link {
border: none;
padding: 8px 16px;
color: #5f6368;
border-radius: 20px;
font-size: 14px;
}
.pagination .page-item.active .page-link {
background-color: #1a73e8;
color: white;
}
.pagination .page-item:not(.active) .page-link:hover {
background-color: #f8f9fa;
}
@media (max-width: 768px) {
.validation-table {
margin: 0 -16px;
border-radius: 0;
}
.validation-table td,
.validation-table th {
padding: 12px;
}
.col-md-3 {
margin-bottom: 16px;
}
.sticky-card {
position: static;
height: auto;
}
.main-container {
height: auto;
overflow: visible;
margin-bottom: 0; /* Removed bottom margin for mobile */
}
.col-3 {
width: 100%;
margin-bottom: 16px;
}
.col-9 {
width: 100%;
}
.validation-table-container {
height: auto;
max-height: calc(100vh - 300px);
}
/* Filter form responsive styles */
#filterForm {
flex-direction: column !important;
gap: 12px !important;
}
#filterForm .col {
width: 100%;
}
#filterForm .col-auto {
width: 100%;
}
#filterForm button {
width: 100%;
margin-top: 8px;
}
.filter-select select {
width: 100%;
max-width: none;
}
/* Adjust spacing in filter card */
.card-body {
padding: 16px 12px;
}
.row.align-items-center {
flex-direction: column;
gap: 12px;
}
.row.align-items-center .col-auto {
width: 100%;
text-align: left;
}
.filter-title {
margin-bottom: 8px !important;
}
/* Adjust filter select height for better touch targets */
.filter-select select {
height: 48px;
font-size: 16px; /* Prevent iOS zoom on focus */
}
.btn {
height: 48px;
font-size: 16px;
}
.mobile-filter-form {
display: grid !important;
grid-template-columns: 1fr !important;
gap: 8px !important;
margin: 0 !important;
}
.mobile-filter-form .col,
.mobile-filter-form .col-auto {
padding: 0 !important;
margin: 0 !important;
width: 100% !important;
}
.card-body {
padding: 12px !important;
}
.filter-select select {
margin: 0;
}
.btn-primary {
margin: 0;
width: 100%;
}
/* Hide the filter title on mobile */
.filter-title {
display: none;
}
/* Navigation button styles for mobile */
.btn-outline-primary {
padding: 6px 16px;
font-size: 13px;
height: 32px;
min-width: 72px;
display: flex;
align-items: center;
justify-content: center;
}
/* Adjust header spacing */
.pt-3 {
padding-top: 12px !important;
}
.pb-3 {
padding-bottom: 12px !important;
}
/* Adjust gap between buttons */
.gap-3 {
gap: 8px !important;
}
/* Hide icons in validation action buttons on mobile */
.validation-actions .btn i {
display: none;
}
/* Adjust button padding since icons are hidden */
.validation-actions .btn {
padding: 8px 16px;
}
/* Make buttons take equal width */
.validation-actions button {
flex: 1;
min-width: 0;
}
/* Reduce spacing in single recording view */
/* Make audio player more compact */
.audio-player {
margin-bottom: 12px;
}
/* Reduce spacing in transcript box */
.transcript-box {
padding: 6px;
margin-bottom: 12px;
}
/* Reduce gap between buttons */
.validation-actions {
gap: 8px;
margin-top: 12px;
}
/* Make buttons smaller */
.validation-actions button {
min-width: 100px;
padding: 6px 12px;
height: 36px;
}
/* Reduce spacing in header */
.d-flex.justify-content-between.align-items-center {
padding-top: 8px !important;
padding-bottom: 8px !important;
}
/* Make filter section more compact */
.card.mb-4 {
margin-bottom: 8px !important;
}
.card-body {
padding: 8px !important;
}
/* Reduce details section spacing */
.d-flex.justify-content-between.align-items-center.mb-4 {
margin-bottom: 8px !important;
}
/* Adjust heading size */
h5.mb-0 {
font-size: 16px;
}
/* Make badge smaller */
.badge {
padding: 4px 8px;
font-size: 11px;
}
/* Reduce container padding */
.container-fluid {
padding-left: 8px !important;
padding-right: 8px !important;
}
/* Reduce horizontal spacing */
.container-fluid {
padding-left: 4px !important;
padding-right: 4px !important;
}
/* Make single recording view take full width */
.single-recording-view {
padding: 8px 6px;
margin: 4px;
border-radius: 16px;
}
/* Reduce card body padding */
.card-body {
padding: 8px 4px !important;
}
/* Reduce transcript box padding */
/* Reduce validation actions spacing */
.validation-actions {
gap: 6px;
padding: 0 4px;
}
/* Make buttons more compact */
.validation-actions button {
min-width: 90px;
padding: 6px 8px;
}
/* Reduce filter form spacing */
.mobile-filter-form {
padding: 0 4px !important;
}
/* Adjust badge padding */
.badge {
padding: 4px 6px;
}
.speaker-info-container {
gap: 4px;
}
.badge {
font-size: 11px;
padding: 4px 8px;
}
.validation-actions button.btn-success,
.validation-actions button.btn-danger {
font-size: 14px;
padding: 8px 16px;
}
/* Updated filter styles for mobile */
.card.mb-4.border-0 {
margin-bottom: 12px !important;
border-radius: 16px !important;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1) !important;
}
.card-body {
padding: 12px !important;
}
/* Filter form styles */
#filterForm {
flex-direction: column !important;
gap: 16px !important;
}
.filter-item {
margin-bottom: 0;
}
#filterCollapse {
padding-top: 12px;
}
.filter-select select {
width: 100%;
height: 48px;
padding: 12px;
font-size: 16px;
border-radius: 12px;
background-color: #f8f9fa;
border: 1px solid #dadce0;
appearance: none;
}
.filter-select {
position: relative;
}
.select-arrow {
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
color: #5f6368;
pointer-events: none;
}
.btn-outline-primary {
border-radius: 12px;
padding: 12px 16px;
height: auto;
display: flex;
align-items: center;
justify-content: space-between;
font-weight: 500;
border: 1px solid #dadce0;
color: #1a73e8;
margin-bottom: 0;
}
.btn-primary {
border-radius: 12px;
height: 48px;
font-size: 16px;
font-weight: 500;
}
.col-12.col-md-auto {
width: 100%;
}
}
.empty-state {
text-align: center;
padding: 48px 24px;
background: #f8f9fa;
border-radius: 8px;
margin: 16px 0;
}
.empty-state i {
font-size: 48px;
color: #dadce0;
margin-bottom: 16px;
}
.empty-state h6 {
color: #5f6368;
margin-bottom: 8px;
}
.empty-state p {
color: #80868b;
font-size: 14px;
margin: 0;
}
.main-container {
height: calc(100vh - 50px); /* Increased from -80px */
overflow: hidden;
margin-bottom: 0; /* Removed bottom margin */
margin-bottom: 0 !important;
}
.sticky-header{
border-radius: 24px;
border: none;
}
.sticky-card {
display: none;
}
.setup-form-container {
display: none;
}
.setup-form-scroll {
display: none;
}
.validation-container {
flex: 1;
height: calc(100vh - 200px);
overflow-y: auto;
background: white;
border-radius: 8px;
box-shadow: inset 0 -10px 10px -10px rgba(0,0,0,0.05);
}
.validation-table-container {
height: calc(100vh - 180px);
overflow-y: auto;
position: relative;
border-radius: 24px;
}
#scrollContainer {
height: calc(100vh - 180px);
overflow-y: auto;
scrollbar-width: none; /* Firefox */
-ms-overflow-style: none; /* IE and Edge */
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
will-change: scroll-position; /* Optimize scrolling performance */
transform: translateZ(0); /* Force GPU acceleration */
backface-visibility: hidden; /* Reduce flickering */
}
#scrollContainer::-webkit-scrollbar {
display: none; /* Chrome, Safari and Opera */
}
.material-radio-group {
background: #f8f9fa;
border-radius: 12px;
padding: 12px;
margin-bottom: 20px;
}
.empty-validation-state {
text-align: center;
padding: 48px 24px;
background: #f8f9fa;
border-radius: 8px;
margin: 16px 0;
}
.empty-validation-state i {
font-size: 48px;
color: #dadce0;
margin-bottom: 16px;
}
.loading-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(255, 255, 255, 0.8);
display: flex;
align-items: center;
justify-content: center;
z-index: 1000;
}
.loading-spinner {
width: 40px;
height: 40px;
border: 3px solid #e8f0fe;
border-top: 3px solid #1a73e8;
border-radius: 50%;
animation: spin 0.8s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.validation-pagination {
background: white;
padding: 16px;
border-radius: 0 0 8px 8px;
box-shadow: 0 -1px 2px rgba(60, 64, 67, 0.15);
}
.btn-primary {
border: none;
padding: 12px 24px;
border-radius: 24px;
font-weight: 500;
transition: all 0.2s ease;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
}
.btn-primary:hover {
box-shadow: 0 2px 6px rgba(26, 115, 232, 0.3);
transform: translateY(-1px);
}
@media (max-width: 768px) {
.main-container {
height: auto;
overflow: visible;
margin-bottom: 0; /* Removed bottom margin for mobile */
}
.sticky-card {
position: static;
height: auto;
}
.validation-container {
height: auto;
max-height: calc(100vh - 300px);
}
.col-3 {
width: 100%;
margin-bottom: 16px;
}
.col-9 {
width: 100%;
}
.status-options {
flex-direction: column;
gap: 4px;
}
.filter-select select,
.status-option label,
.btn-primary {
height: 36px;
font-size: 13px;
}
.status-option label {
padding: 6px 12px;
}
.shortcuts-list {
gap: 8px;
}
.shortcut-item {
font-size: 13px;
}
}
#validateRecordings.card {
border-radius: 24px;
border: none;
box-shadow: 0 2px 6px rgba(60, 64, 67, 0.15);
}
/* Filter Styles */
.filter-header {
display: none;
}
.filter-title {
color: #202124;
font-size: 16px;
font-weight: 500;
white-space: nowrap;
}
.filter-title i {
color: #1a73e8;
}
.filter-description {
display: none;
}
.filter-badge {
display: none;
}
.filter-section {
display: none;
}
.filter-label {
display: none;
}
.filter-select {
position: relative;
}
.filter-select select {
width: 100%;
padding: 8px 16px;
border: 1px solid #dadce0;
border-radius: 8px;
appearance: none;
background: white;
color: #202124;
font-size: 14px;
height: 40px;
}
.select-arrow {
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
color: #5f6368;
pointer-events: none;
}
.status-options {
display: flex;
gap: 8px;
}
.status-option {
flex: 1;
}
.status-option input[type="radio"] {
display: none;
}
.status-option label {
width: 100%;
height: 40px;
display: flex;
align-items: center;
padding: 8px 16px;
background: white;
border: 1px solid #dadce0;
border-radius: 8px;
cursor: pointer;
transition: all 0.2s ease;
justify-content: center;
}
.status-option label i {
margin-right: 12px;
font-size: 16px;
}
.status-option label span {
color: #202124;
font-size: 14px;
}
.status-option input[type="radio"]:checked + label {
background: #e8f0fe;
border-color: #1a73e8;
}
.apply-filters-btn {
margin-top: 8px;
background: #1a73e8;
color: white;
border: none;
height: 44px;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: 500;
}
.apply-filters-btn:hover {
background: #1557b0;
box-shadow: 0 2px 6px rgba(26, 115, 232, 0.3);
}
/* Remove unused styles */
.sticky-card,
.setup-form-container,
.setup-form-scroll,
.filter-header,
.filter-description,
.filter-badge,
.filter-section,
.filter-label {
display: none;
}
/* Selected row styles */
.selected-row {
background-color: #e8f0fe !important;
outline: 2px solid #1a73e8;
}
/* Keyboard shortcuts modal styles */
.shortcuts-list {
display: flex;
flex-direction: column;
gap: 12px;
}
.shortcut-item {
display: flex;
align-items: center;
gap: 12px;
}
kbd {
background-color: #f8f9fa;
border: 1px solid #dadce0;
border-radius: 4px;
color: #202124;
display: inline-block;
font-family: 'Google Sans', monospace;
font-size: 12px;
font-weight: 500;
line-height: 1;
padding: 4px 8px;
white-space: nowrap;
}
.shortcut-item span {
color: #5f6368;
font-size: 14px;
}
/* Make rows focusable with keyboard */
.validation-table tr {
cursor: pointer;
outline: none;
}
.validation-table tr:focus {
background-color: #e8f0fe;
}
.single-recording-view {
max-width: 800px;
margin: 0 auto;
padding: 16px;
background: white;
border-radius: 24px;
box-shadow: 0 2px 6px rgba(60, 64, 67, 0.15);
}
.transcript-box {
background: #f8f9fa;
border-radius: 12px;
padding: 6px;
font-size: 20px; /* Added font-size */
}
.validation-actions {
display: flex;
gap: 16px;
justify-content: center;
margin-top: 24px;
}
.validation-actions button {
min-width: 120px;
}
.validation-actions button.btn-success {
background-color: #1a73e8;
border-color: #1557b0;
color: white;
}
.validation-actions button.btn-success:hover {
background-color: #1557b0;
box-shadow: 0 2px 6px rgba(26, 115, 232, 0.3);
}
.validation-actions button.btn-danger {
background-color: #ea4335;
border-color: #d93025;
color: white;
}
.validation-actions button.btn-danger:hover {
background-color: #d93025;
box-shadow: 0 2px 6px rgba(234, 67, 53, 0.3);
}
.no-recordings {
text-align: center;
padding: 48px 24px;
}
.no-recordings i {
font-size: 48px;
color: #dadce0;
margin-bottom: 16px;
}
.speaker-info-container {
display: flex;
gap: 8px;
flex-wrap: wrap;
align-items: center;
}
.badge.bg-info {
background-color: #e8f0fe !important;
color: #1967d2;
}
.badge.bg-secondary {
background-color: #f1f3f4 !important;
color: #5f6368;
}
.badge.bg-light {
background-color: #f8f9fa !important;
color: #3c4043;
border: 1px solid #dadce0;
}
.badge.bg-accent {
background-color: #fce8e6 !important;
color: #d93025;
}
/* Mobile filter styles */
.filter-mobile-label {
font-size: 12px;
font-weight: 500;
color: #5f6368;
margin-bottom: 4px;
display: block;
}
.filter-chevron {
transition: transform 0.3s ease;
}
button[aria-expanded="true"] .filter-chevron {
transform: rotate(180deg);
}