Spaces:
Sleeping
Sleeping
lakshmisravya123
Major upgrade: comprehensive negotiation coaching with EQ scoring and detailed reports
dad7400 | * { margin: 0; padding: 0; box-sizing: border-box; } | |
| body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #0a0a14; color: #e0e0e0; min-height: 100vh; } | |
| .app { max-width: 860px; margin: 0 auto; padding: 2rem 1rem; } | |
| h1 { text-align: center; font-size: 2.5rem; margin-bottom: 0.5rem; } | |
| h1 span { background: linear-gradient(135deg, #00b894, #00cec9); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } | |
| .subtitle { text-align: center; color: #777; margin-bottom: 2rem; max-width: 600px; margin-left: auto; margin-right: auto; line-height: 1.5; } | |
| .error-text { color: #ff6b6b; text-align: center; margin-bottom: 0.5rem; } | |
| .setup-form { background: #13132a; border-radius: 16px; padding: 2rem; border: 1px solid #1e1e3a; } | |
| .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 0.5rem; } | |
| .input-group { margin-bottom: 1rem; } | |
| .input-group label { display: block; margin-bottom: 0.4rem; color: #999; font-size: 0.85rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; } | |
| .input-group input, .input-group select { width: 100%; padding: 0.85rem 1rem; border: 1px solid #2a2a4a; border-radius: 10px; background: #0d0d1a; color: #e0e0e0; font-size: 1rem; transition: border-color 0.2s; } | |
| .input-group input:focus, .input-group select:focus { outline: none; border-color: #00cec9; } | |
| /* Scenario Selector */ | |
| .scenario-selector { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; } | |
| .scenario-btn { display: flex; flex-direction: column; align-items: center; gap: 0.2rem; padding: 0.8rem 0.5rem; border: 2px solid #2a2a4a; border-radius: 12px; background: #0d0d1a; color: #888; cursor: pointer; transition: all 0.2s; font-size: 0.85rem; } | |
| .scenario-btn:hover { border-color: #444; color: #bbb; } | |
| .scenario-btn.active { border-color: #00cec9; color: #00cec9; background: #0d1a2a; } | |
| .scenario-label { font-weight: 600; font-size: 0.85rem; } | |
| .scenario-desc { font-size: 0.7rem; color: #666; } | |
| .scenario-btn.active .scenario-desc { color: #00b894; } | |
| .scenario-tag { text-align: center; display: inline-block; padding: 0.3rem 1rem; border-radius: 20px; background: #1a2a3a; color: #00cec9; font-size: 0.8rem; font-weight: 600; margin-bottom: 0.5rem; } | |
| .neg-header { text-align: center; } | |
| /* Difficulty Selector */ | |
| .difficulty-selector { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; } | |
| .diff-btn { display: flex; flex-direction: column; align-items: center; gap: 0.15rem; padding: 0.7rem; border: 2px solid #2a2a4a; border-radius: 10px; background: #0d0d1a; color: #888; cursor: pointer; transition: all 0.2s; } | |
| .diff-btn:hover { border-color: #444; } | |
| .diff-btn.active.diff-easy { border-color: #00b894; color: #00b894; } | |
| .diff-btn.active.diff-medium { border-color: #fdcb6e; color: #fdcb6e; } | |
| .diff-btn.active.diff-hard { border-color: #e17055; color: #e17055; } | |
| .diff-label { font-weight: 600; font-size: 0.9rem; } | |
| .diff-desc { font-size: 0.7rem; color: #666; } | |
| /* Buttons */ | |
| .btn { width: 100%; padding: 1rem; border: none; border-radius: 10px; font-size: 1.1rem; font-weight: 600; cursor: pointer; transition: all 0.2s; } | |
| .btn-primary { background: linear-gradient(135deg, #00b894, #00cec9); color: #000; } | |
| .btn:hover { transform: scale(1.02); filter: brightness(1.1); } | |
| .btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; filter: none; } | |
| .btn-accept { background: #238636; color: #fff; margin-top: 0.5rem; flex: 1; border: none; border-radius: 10px; padding: 0.8rem; font-size: 1rem; font-weight: 600; cursor: pointer; } | |
| .btn-walk { background: #da3633; color: #fff; margin-top: 0.5rem; width: auto; padding: 0.8rem 1.2rem; font-size: 0.9rem; border: none; border-radius: 10px; cursor: pointer; font-weight: 600; } | |
| .btn-send { padding: 0.8rem 1.5rem; width: auto; } | |
| .action-row { display: flex; gap: 0.5rem; } | |
| /* Offer Display */ | |
| .offer-display { text-align: center; background: linear-gradient(135deg, #0d1a2a, #13132a); border-radius: 16px; padding: 1.5rem; margin-bottom: 1rem; border: 1px solid #1e1e3a; } | |
| .offer-meta { color: #666; font-size: 0.85rem; } | |
| .offer-amount { font-size: 2.8rem; font-weight: 800; background: linear-gradient(135deg, #00b894, #00cec9); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin: 0.3rem 0; } | |
| .offer-progress-bar { height: 6px; background: #1e1e3a; border-radius: 3px; margin: 0.5rem 0 0.3rem; overflow: hidden; } | |
| .offer-progress-fill { height: 100%; background: linear-gradient(90deg, #e17055, #fdcb6e, #00b894); border-radius: 3px; transition: width 0.5s ease; } | |
| .offer-pct { font-size: 0.8rem; color: #00cec9; font-weight: 600; } | |
| .tactic-badge-wrapper { margin-top: 0.5rem; } | |
| .tactic-badge { display: inline-block; padding: 0.25rem 0.8rem; border-radius: 15px; background: #2d1b69; color: #a29bfe; font-size: 0.8rem; font-weight: 600; } | |
| .tactic-explanation { display: block; font-size: 0.75rem; color: #666; margin-top: 0.3rem; font-style: italic; } | |
| /* EQ Mini Dashboard */ | |
| .eq-mini-dashboard { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin-bottom: 1rem; } | |
| .eq-mini-item { text-align: center; background: #13132a; border-radius: 10px; padding: 0.6rem 0.3rem; border: 1px solid #1e1e3a; } | |
| .eq-mini-label { display: block; font-size: 0.65rem; color: #666; text-transform: uppercase; letter-spacing: 0.5px; } | |
| .eq-mini-val { display: block; font-size: 1.4rem; font-weight: 700; color: #00cec9; } | |
| /* Chat */ | |
| .chat-container { background: #0d0d1a; border-radius: 16px; padding: 1.5rem; margin-bottom: 1rem; max-height: 400px; overflow-y: auto; border: 1px solid #1e1e3a; } | |
| .chat-container::-webkit-scrollbar { width: 6px; } | |
| .chat-container::-webkit-scrollbar-track { background: transparent; } | |
| .chat-container::-webkit-scrollbar-thumb { background: #333; border-radius: 3px; } | |
| .message { margin-bottom: 1rem; padding: 1rem 1.2rem; border-radius: 12px; animation: fadeIn 0.3s ease; } | |
| @keyframes fadeIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } } | |
| .message.manager { background: #111d33; border-left: 3px solid #00cec9; } | |
| .message.candidate { background: #1a1a30; border-left: 3px solid #00b894; } | |
| .message .role { font-size: 0.75rem; color: #666; margin-bottom: 0.3rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; } | |
| .message .text { line-height: 1.6; } | |
| .response-area { display: flex; gap: 0.5rem; margin-bottom: 1rem; } | |
| .response-area textarea { flex: 1; padding: 0.85rem 1rem; border: 1px solid #2a2a4a; border-radius: 10px; background: #0d0d1a; color: #e0e0e0; font-size: 1rem; min-height: 70px; resize: none; font-family: inherit; transition: border-color 0.2s; } | |
| .response-area textarea:focus { outline: none; border-color: #00cec9; } | |
| .loading { text-align: center; padding: 1rem; color: #666; } | |
| .spinner { width: 28px; height: 28px; border: 3px solid #1e1e3a; border-top-color: #00cec9; border-radius: 50%; animation: spin 0.8s linear infinite; margin: 0 auto 0.5rem; } | |
| @keyframes spin { to { transform: rotate(360deg); } } | |
| /* Coaching Panel */ | |
| .coaching-panel { background: linear-gradient(135deg, #0d1a2a, #1a1333); border: 1px solid #2d1b69; border-radius: 12px; padding: 1rem 1.2rem; margin-bottom: 1rem; } | |
| .coaching-header { font-weight: 700; color: #a29bfe; margin-bottom: 0.5rem; font-size: 0.9rem; display: flex; align-items: center; } | |
| .coaching-tactics { margin-bottom: 0.5rem; } | |
| .coaching-tactics-label { font-size: 0.8rem; color: #666; } | |
| .tactic-pill { display: inline-block; padding: 0.15rem 0.6rem; border-radius: 12px; background: #2d1b69; color: #a29bfe; font-size: 0.75rem; margin: 0.2rem 0.3rem 0.2rem 0; font-weight: 500; } | |
| .coaching-tip { background: #0a2a1a; border-radius: 8px; padding: 0.6rem 0.8rem; margin-bottom: 0.4rem; font-size: 0.85rem; color: #00b894; border-left: 3px solid #00b894; } | |
| .coaching-warning { background: #2a1a0a; border-radius: 8px; padding: 0.6rem 0.8rem; font-size: 0.85rem; color: #fdcb6e; border-left: 3px solid #fdcb6e; } | |
| /* Report */ | |
| .report { background: #13132a; border-radius: 16px; padding: 2rem; border: 1px solid #1e1e3a; } | |
| .report-top-grid { display: flex; align-items: center; justify-content: center; gap: 2rem; margin-bottom: 2rem; flex-wrap: wrap; } | |
| .report-main-score { text-align: center; } | |
| .report-score-cards { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; } | |
| .report-verdict { font-size: 1.3rem; color: #ffd93d; font-weight: 700; margin-top: 0.5rem; } | |
| .report-grade { font-size: 1.1rem; color: #a29bfe; font-weight: 600; } | |
| .report-summary { text-align: center; color: #999; margin-bottom: 2rem; line-height: 1.6; font-size: 0.95rem; max-width: 600px; margin-left: auto; margin-right: auto; } | |
| .salary-comparison { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; } | |
| .salary-box { background: #0d0d1a; border-radius: 12px; padding: 1.2rem; text-align: center; border: 1px solid #1e1e3a; } | |
| .salary-box .label { color: #666; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 0.3rem; } | |
| .salary-box .amount { font-size: 1.8rem; font-weight: 700; color: #00b894; } | |
| .salary-box .pct { font-size: 0.85rem; color: #00cec9; margin-top: 0.2rem; } | |
| .salary-box.result-box { border-color: #00b894; } | |
| .salary-box.market-box { border-color: #a29bfe; } | |
| .market-range { font-size: 1.1rem; font-weight: 600; color: #a29bfe; } | |
| .market-position { font-size: 0.8rem; color: #888; margin-top: 0.2rem; text-transform: capitalize; } | |
| /* Report Sections */ | |
| .report-section { margin-bottom: 1.5rem; background: #0d0d1a; border-radius: 12px; padding: 1.2rem 1.5rem; border: 1px solid #1e1e3a; } | |
| .report-section h3 { color: #00cec9; margin-bottom: 0.7rem; font-size: 1rem; } | |
| .report-section p { color: #999; line-height: 1.5; font-size: 0.9rem; } | |
| .report-section ul { padding-left: 1.2rem; } | |
| .report-section li { margin-bottom: 0.4rem; color: #bbb; line-height: 1.4; } | |
| .style-name { color: #ffd93d; text-transform: capitalize; } | |
| .eq-analysis { margin-bottom: 0.8rem ; } | |
| .report-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; } | |
| /* EQ Gauges */ | |
| .eq-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0.6rem; } | |
| .eq-gauge { display: flex; align-items: center; gap: 0.5rem; } | |
| .eq-gauge-label { width: 90px; font-size: 0.8rem; color: #888; } | |
| .eq-gauge-bar-bg { flex: 1; height: 8px; background: #1e1e3a; border-radius: 4px; overflow: hidden; } | |
| .eq-gauge-bar-fill { height: 100%; border-radius: 4px; transition: width 0.5s ease; } | |
| .eq-gauge-value { width: 35px; text-align: right; font-size: 0.8rem; color: #bbb; font-weight: 600; } | |
| /* Power Dynamics */ | |
| .power-bars { margin-bottom: 0.8rem; } | |
| .power-row { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.4rem; } | |
| .power-label { width: 110px; font-size: 0.8rem; color: #888; } | |
| .power-bar-bg { flex: 1; height: 10px; background: #1e1e3a; border-radius: 5px; overflow: hidden; } | |
| .power-bar-you { height: 100%; background: linear-gradient(90deg, #00b894, #00cec9); border-radius: 5px; transition: width 0.5s; } | |
| .power-bar-mgr { height: 100%; background: linear-gradient(90deg, #e17055, #fdcb6e); border-radius: 5px; transition: width 0.5s; } | |
| .power-shift { background: #1a1a2a; border-radius: 8px; padding: 0.5rem 0.8rem; margin-top: 0.4rem; font-size: 0.85rem; color: #bbb; border-left: 3px solid #a29bfe; } | |
| /* Moments */ | |
| .moment-card { border-radius: 10px; padding: 0.8rem 1rem; margin-bottom: 0.5rem; } | |
| .moment-card.best { background: #0a2a1a; border-left: 3px solid #00b894; } | |
| .moment-card.worst { background: #2a1a0a; border-left: 3px solid #e17055; } | |
| .moment-round { font-size: 0.75rem; color: #666; font-weight: 600; text-transform: uppercase; } | |
| .moment-quote { font-style: italic; color: #ccc; margin: 0.3rem 0; } | |
| .moment-why { font-size: 0.85rem; color: #999; } | |
| /* Tactics Grid */ | |
| .tactics-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.5rem; } | |
| .tactic-card { border-radius: 10px; padding: 0.8rem 1rem; background: #1a1a2a; border: 1px solid #2a2a4a; } | |
| .tactic-card.effective { border-color: #00b894; } | |
| .tactic-card.backfired { border-color: #e17055; } | |
| .tactic-card-name { font-weight: 600; color: #e0e0e0; text-transform: capitalize; } | |
| .tactic-card-eff { font-size: 0.75rem; color: #888; text-transform: uppercase; } | |
| .tactic-card-example { font-size: 0.8rem; color: #999; font-style: italic; margin-top: 0.3rem; } | |
| /* Missed Opportunities */ | |
| .missed-card { background: #1a1a2a; border-radius: 10px; padding: 0.8rem 1rem; margin-bottom: 0.5rem; border-left: 3px solid #fdcb6e; } | |
| .missed-card div { margin-bottom: 0.3rem; font-size: 0.85rem; color: #bbb; line-height: 1.4; } | |
| /* Tips Grid */ | |
| .tips-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.5rem; } | |
| .tip-card { background: #1a1a2a; border-radius: 10px; padding: 0.8rem 1rem; border: 1px solid #2a2a4a; } | |
| .tip-category { font-size: 0.7rem; color: #a29bfe; text-transform: uppercase; font-weight: 600; letter-spacing: 0.5px; margin-bottom: 0.3rem; } | |
| .tip-text { font-size: 0.85rem; color: #ccc; line-height: 1.4; } | |
| /* Next Focus */ | |
| .next-focus { background: linear-gradient(135deg, #0d1a2a, #1a1333) ; border-color: #00cec9 ; } | |
| .next-focus h3 { color: #00cec9; } | |
| .next-focus p { color: #bbb ; font-size: 0.95rem ; } | |
| /* Features Grid */ | |
| .features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.8rem; margin-top: 2rem; } | |
| .feature-card { text-align: center; padding: 1.2rem 0.8rem; background: #13132a; border-radius: 12px; border: 1px solid #1e1e3a; } | |
| .feature-title { font-weight: 700; color: #e0e0e0; margin-bottom: 0.3rem; font-size: 0.9rem; } | |
| .feature-desc { font-size: 0.75rem; color: #666; line-height: 1.3; } | |
| /* Responsive */ | |
| @media (max-width: 768px) { | |
| .form-row, .salary-comparison, .report-two-col { grid-template-columns: 1fr; } | |
| .scenario-selector { grid-template-columns: repeat(2, 1fr); } | |
| .features-grid { grid-template-columns: repeat(2, 1fr); } | |
| h1 { font-size: 1.8rem; } | |
| .eq-mini-dashboard { grid-template-columns: repeat(2, 1fr); } | |
| .offer-amount { font-size: 2rem; } | |
| } | |
| @media (max-width: 480px) { | |
| .difficulty-selector { grid-template-columns: 1fr; } | |
| .features-grid { grid-template-columns: 1fr; } | |
| } | |