diff --git a/data_analyzer/templates/data_analyzer/detail.html b/data_analyzer/templates/data_analyzer/detail.html index 00ebf76..474d398 100644 --- a/data_analyzer/templates/data_analyzer/detail.html +++ b/data_analyzer/templates/data_analyzer/detail.html @@ -272,6 +272,64 @@ body { pointer-events: none; } +/* Standard Form Elements */ +.form-group { + margin-bottom: var(--spacing-lg); +} + +.form-label { + display: block; + font-size: 14px; + font-weight: 500; + color: var(--on-surface); + margin-bottom: var(--spacing-sm); +} + +.form-input, .form-textarea { + width: 100%; + padding: 12px 16px; + border: 2px solid var(--outline-variant); + border-radius: var(--radius-md); + font-size: 14px; + line-height: 1.5; + transition: all 0.2s ease; + background: var(--surface); + color: var(--on-surface); + font-family: inherit; +} + +.form-input:focus, .form-textarea:focus { + outline: none; + border-color: var(--primary); + box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1); +} + +.form-input:hover, .form-textarea:hover { + border-color: var(--on-surface-variant); +} + +.form-textarea { + resize: vertical; + min-height: 120px; +} + +.form-help { + color: var(--on-surface-variant); + font-size: 12px; + margin-top: var(--spacing-xs); +} + +.form-error { + color: var(--error); + font-size: 12px; + margin-top: var(--spacing-xs); +} + +.required::after { + content: " *"; + color: var(--error); +} + /* Buttons */ .btn { padding: 12px 24px; diff --git a/job_posting_generator/templates/job_posting_generator/detail.html b/job_posting_generator/templates/job_posting_generator/detail.html index f8ee9f0..112d970 100644 --- a/job_posting_generator/templates/job_posting_generator/detail.html +++ b/job_posting_generator/templates/job_posting_generator/detail.html @@ -37,6 +37,11 @@ --shadow-lg: 0 10px 20px rgba(0, 0, 0, 0.15); } +html { + /* Prevent page shake by maintaining consistent scrollbar space */ + scrollbar-gutter: stable; +} + body { background: var(--background); color: var(--on-surface); @@ -356,6 +361,118 @@ body { font-size: 15px; } +/* Enhanced Results Typography - From Data Analyzer */ +.results-content h1, +.results-content h2, +.results-content h3 { + color: var(--primary); + font-weight: 700; + margin: var(--spacing-xl) 0 var(--spacing-md) 0; + line-height: 1.3; +} + +.results-content h1 { + font-size: 24px; + border-bottom: 3px solid var(--primary); + padding-bottom: var(--spacing-sm); + margin-bottom: var(--spacing-lg); +} + +.results-content h2 { + font-size: 20px; + margin-top: var(--spacing-xl); + position: relative; + padding-left: var(--spacing-md); +} + +.results-content h2::before { + content: ''; + position: absolute; + left: 0; + top: 0; + bottom: 0; + width: 4px; + background: var(--primary); + border-radius: 2px; +} + +.results-content h3 { + font-size: 18px; + color: var(--on-surface); + font-weight: 600; + background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); + padding: var(--spacing-md) var(--spacing-lg); + border-radius: var(--radius-sm); + border-left: 4px solid var(--primary); + margin: var(--spacing-lg) 0 var(--spacing-md) 0; +} + +.results-content p { + margin: var(--spacing-md) 0; + text-align: justify; +} + +.results-content ul, +.results-content ol { + margin: var(--spacing-md) 0; + padding-left: var(--spacing-xl); +} + +.results-content li { + margin: var(--spacing-sm) 0; + position: relative; +} + +.results-content ul li::marker { + color: var(--primary); + font-weight: bold; +} + +.results-content ol li::marker { + color: var(--primary); + font-weight: bold; +} + +/* Modern Info Boxes */ +.results-content .key-points, +.results-content .insights, +.results-content .summary { + background: var(--surface); + border: 1px solid var(--outline-variant); + border-radius: var(--radius-md); + padding: var(--spacing-lg); + margin: var(--spacing-lg) 0; + box-shadow: var(--shadow-sm); +} + +.results-content .key-points { + border-left: 4px solid #3b82f6; +} + +.results-content .insights { + border-left: 4px solid #10b981; +} + +.results-content .summary { + border-left: 4px solid #f59e0b; +} + +/* Strong text styling */ +.results-content strong { + color: var(--primary); + font-weight: 600; +} + +/* Code and technical terms */ +.results-content code { + background: #f1f5f9; + padding: 2px 6px; + border-radius: 4px; + font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace; + font-size: 14px; + color: #1e293b; +} + .action-buttons { display: flex; gap: var(--spacing-md); @@ -456,6 +573,45 @@ body { to { transform: rotate(360deg); } } +/* Info List - From Data Analyzer */ +.info-list { + list-style: none; + padding: 0; + margin: 0; + counter-reset: step-counter; +} + +.info-list li { + padding: var(--spacing-sm) 0; + color: var(--on-surface-variant); + font-size: 14px; + border-bottom: 1px solid var(--outline-variant); + position: relative; + padding-left: var(--spacing-lg); +} + +.info-list li:last-child { + border-bottom: none; +} + +.info-list li::before { + content: counter(step-counter); + counter-increment: step-counter; + position: absolute; + left: 0; + top: var(--spacing-sm); + width: 20px; + height: 20px; + background: var(--primary); + color: var(--surface); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-size: 12px; + font-weight: 600; +} + /* Quick Agent Access Panel - Copied from Data Analyzer */ .quick-agent-toggle { position: relative; @@ -1168,16 +1324,16 @@ document.addEventListener('keydown', function(e) {