Spaces:
Build error
Build error
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); | |
| /* ===== CSS Variables ===== */ | |
| :root { | |
| --bg: #f8f9fa; | |
| --bg-card: #ffffff; | |
| --text: #1a1a2e; | |
| --text-muted: #6c757d; | |
| --accent: #4361ee; | |
| --accent-hover: #3a56d4; | |
| --success: #06d6a0; | |
| --warning: #ffd166; | |
| --danger: #ef476f; | |
| --border: #dee2e6; | |
| --radius: 8px; | |
| --shadow: 0 2px 8px rgba(0, 0, 0, 0.08); | |
| } | |
| /* ===== Reset ===== */ | |
| *, *::before, *::after { | |
| box-sizing: border-box; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| body { | |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; | |
| background: var(--bg); | |
| color: var(--text); | |
| line-height: 1.6; | |
| -webkit-font-smoothing: antialiased; | |
| } | |
| /* ===== Layout ===== */ | |
| .container { | |
| max-width: 900px; | |
| margin: 0 auto; | |
| padding: 24px 16px; | |
| } | |
| /* ===== Navbar ===== */ | |
| .navbar { | |
| background: var(--bg-card); | |
| border-bottom: 1px solid var(--border); | |
| padding: 0 16px; | |
| box-shadow: var(--shadow); | |
| position: sticky; | |
| top: 0; | |
| z-index: 100; | |
| } | |
| .navbar-inner { | |
| max-width: 900px; | |
| margin: 0 auto; | |
| display: flex; | |
| align-items: center; | |
| gap: 24px; | |
| height: 56px; | |
| } | |
| .navbar-brand { | |
| font-weight: 700; | |
| font-size: 1.125rem; | |
| color: var(--accent); | |
| text-decoration: none; | |
| } | |
| .navbar-links { | |
| display: flex; | |
| gap: 4px; | |
| list-style: none; | |
| } | |
| .navbar-links a { | |
| text-decoration: none; | |
| color: var(--text-muted); | |
| font-size: 0.875rem; | |
| font-weight: 500; | |
| padding: 8px 12px; | |
| border-radius: var(--radius); | |
| transition: background 0.15s, color 0.15s; | |
| } | |
| .navbar-links a:hover { | |
| background: var(--bg); | |
| color: var(--text); | |
| } | |
| .navbar-links a.active { | |
| background: var(--accent); | |
| color: #fff; | |
| } | |
| /* ===== Cards ===== */ | |
| .card { | |
| background: var(--bg-card); | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius); | |
| padding: 24px; | |
| box-shadow: var(--shadow); | |
| margin-bottom: 16px; | |
| } | |
| .card h2 { | |
| font-size: 1.25rem; | |
| margin-bottom: 16px; | |
| font-weight: 600; | |
| } | |
| /* ===== Forms ===== */ | |
| .form-group { | |
| margin-bottom: 16px; | |
| } | |
| .form-group label { | |
| display: block; | |
| font-size: 0.875rem; | |
| font-weight: 500; | |
| margin-bottom: 4px; | |
| color: var(--text); | |
| } | |
| .form-group input, | |
| .form-group select, | |
| .form-group textarea { | |
| width: 100%; | |
| padding: 10px 12px; | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius); | |
| font-size: 0.875rem; | |
| font-family: inherit; | |
| background: var(--bg-card); | |
| color: var(--text); | |
| transition: border-color 0.15s; | |
| } | |
| .form-group input:focus, | |
| .form-group select:focus, | |
| .form-group textarea:focus { | |
| outline: none; | |
| border-color: var(--accent); | |
| box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.15); | |
| } | |
| .form-group textarea { | |
| resize: vertical; | |
| min-height: 80px; | |
| } | |
| .form-row { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); | |
| gap: 12px; | |
| } | |
| /* ===== Buttons ===== */ | |
| .btn { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 6px; | |
| padding: 10px 20px; | |
| font-size: 0.875rem; | |
| font-weight: 600; | |
| font-family: inherit; | |
| border: none; | |
| border-radius: var(--radius); | |
| cursor: pointer; | |
| transition: background 0.15s, transform 0.1s; | |
| } | |
| .btn:active { | |
| transform: scale(0.98); | |
| } | |
| .btn-primary { | |
| background: var(--accent); | |
| color: #fff; | |
| } | |
| .btn-primary:hover { | |
| background: var(--accent-hover); | |
| } | |
| .btn-success { | |
| background: var(--success); | |
| color: #fff; | |
| } | |
| .btn-secondary { | |
| background: var(--bg); | |
| color: var(--text); | |
| border: 1px solid var(--border); | |
| } | |
| .btn:disabled { | |
| opacity: 0.5; | |
| cursor: not-allowed; | |
| } | |
| /* ===== Badges ===== */ | |
| .badge { | |
| display: inline-block; | |
| padding: 2px 10px; | |
| font-size: 0.75rem; | |
| font-weight: 600; | |
| border-radius: 999px; | |
| text-transform: uppercase; | |
| letter-spacing: 0.5px; | |
| } | |
| .badge-consulting { | |
| background: #e8eaff; | |
| color: #4361ee; | |
| } | |
| .badge-startup { | |
| background: #e6faf3; | |
| color: #06d6a0; | |
| } | |
| /* ===== Alerts ===== */ | |
| .alert-warning { | |
| background: #fff8e1; | |
| border: 1px solid var(--warning); | |
| border-radius: var(--radius); | |
| padding: 16px; | |
| margin-bottom: 16px; | |
| } | |
| .alert-warning ul { | |
| margin: 8px 0 0 20px; | |
| font-size: 0.875rem; | |
| } | |
| .alert-success { | |
| background: #e6faf3; | |
| border: 1px solid var(--success); | |
| border-radius: var(--radius); | |
| padding: 16px; | |
| margin-bottom: 16px; | |
| color: #155724; | |
| } | |
| /* ===== Tables ===== */ | |
| .table { | |
| width: 100%; | |
| border-collapse: collapse; | |
| font-size: 0.875rem; | |
| } | |
| .table th, | |
| .table td { | |
| padding: 10px 12px; | |
| text-align: left; | |
| border-bottom: 1px solid var(--border); | |
| } | |
| .table th { | |
| font-weight: 600; | |
| color: var(--text-muted); | |
| font-size: 0.8rem; | |
| text-transform: uppercase; | |
| letter-spacing: 0.5px; | |
| } | |
| .status-pass { | |
| color: var(--success); | |
| font-weight: 600; | |
| } | |
| .status-warning { | |
| color: var(--danger); | |
| font-weight: 600; | |
| } | |
| /* ===== Score Slider ===== */ | |
| .score-slider { | |
| margin-bottom: 20px; | |
| } | |
| .score-slider-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: 4px; | |
| } | |
| .score-slider-label { | |
| font-weight: 600; | |
| font-size: 0.875rem; | |
| } | |
| .score-slider-value { | |
| font-size: 1.25rem; | |
| font-weight: 700; | |
| color: var(--accent); | |
| min-width: 30px; | |
| text-align: center; | |
| } | |
| .score-slider input[type="range"] { | |
| width: 100%; | |
| height: 6px; | |
| -webkit-appearance: none; | |
| appearance: none; | |
| background: var(--border); | |
| border-radius: 3px; | |
| outline: none; | |
| } | |
| .score-slider input[type="range"]::-webkit-slider-thumb { | |
| -webkit-appearance: none; | |
| appearance: none; | |
| width: 20px; | |
| height: 20px; | |
| border-radius: 50%; | |
| background: var(--accent); | |
| cursor: pointer; | |
| } | |
| .score-slider-anchor { | |
| font-size: 0.8rem; | |
| color: var(--text-muted); | |
| margin-top: 4px; | |
| font-style: italic; | |
| } | |
| /* ===== Match Percentage ===== */ | |
| .match-percentage { | |
| text-align: center; | |
| padding: 20px; | |
| } | |
| .match-percentage .value { | |
| font-size: 3rem; | |
| font-weight: 700; | |
| color: var(--accent); | |
| } | |
| .match-percentage .label { | |
| font-size: 0.875rem; | |
| color: var(--text-muted); | |
| } | |
| /* ===== Stats Grid ===== */ | |
| .stats-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); | |
| gap: 16px; | |
| } | |
| .stat-card { | |
| background: var(--bg-card); | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius); | |
| padding: 16px; | |
| text-align: center; | |
| } | |
| .stat-card .stat-value { | |
| font-size: 2rem; | |
| font-weight: 700; | |
| color: var(--accent); | |
| } | |
| .stat-card .stat-label { | |
| font-size: 0.8rem; | |
| color: var(--text-muted); | |
| text-transform: uppercase; | |
| letter-spacing: 0.5px; | |
| } | |
| /* ===== Radio Groups ===== */ | |
| .radio-group { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 8px; | |
| margin-bottom: 16px; | |
| } | |
| .radio-group label { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| font-size: 0.875rem; | |
| cursor: pointer; | |
| } | |
| .radio-group input[type="radio"] { | |
| width: auto; | |
| } | |
| /* ===== Client List ===== */ | |
| .client-list-item { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| padding: 12px 0; | |
| border-bottom: 1px solid var(--border); | |
| } | |
| .client-list-item:last-child { | |
| border-bottom: none; | |
| } | |
| /* ===== Brief ===== */ | |
| .brief-header { | |
| text-align: center; | |
| margin-bottom: 24px; | |
| } | |
| .brief-header h1 { | |
| font-size: 1.5rem; | |
| margin-bottom: 8px; | |
| } | |
| /* ===== Loading / Error ===== */ | |
| .loading { | |
| text-align: center; | |
| padding: 40px; | |
| color: var(--text-muted); | |
| } | |
| .error { | |
| text-align: center; | |
| padding: 40px; | |
| color: var(--danger); | |
| } | |
| /* ===== Page Title ===== */ | |
| .page-title { | |
| font-size: 1.5rem; | |
| font-weight: 700; | |
| margin-bottom: 24px; | |
| } | |
| /* ===== Print Styles ===== */ | |
| @media print { | |
| .navbar, | |
| .btn, | |
| .no-print { | |
| display: none ; | |
| } | |
| body { | |
| background: #fff; | |
| } | |
| .container { | |
| max-width: 100%; | |
| padding: 0; | |
| } | |
| .card { | |
| box-shadow: none; | |
| border: none; | |
| padding: 0; | |
| } | |
| } | |