.cv-builder-container,.dashboard-container,.job-submission-container,.login-form-container,.register-form-container{margin:2rem 0}.job-content{line-height:1.8}.job-content h1,.job-content h2,.job-content h3,.job-content h4,.job-content h5,.job-content h6{margin-top:1.5rem;margin-bottom:1rem}.job-content ol,.job-content ul{margin:1rem 0;padding-left:2rem}.job-content li{margin-bottom:.5rem}.job-content a{color:var(--primary-color);text-decoration:underline}.job-listings-container{margin:2rem 0}@media (max-width:768px){.dashboard-container>div{grid-template-columns:1fr!important}.cv-header .cv-contact{flex-direction:column;gap:.5rem}}:root{--jobcv-star-filled:#f59e0b;--jobcv-star-empty:#e2e8f0;--jobcv-star-hover:#fbbf24;--jobcv-star-size:20px;--jobcv-modal-radius:18px}.jobcv-rating-block{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:.35rem 0}.jobcv-stars-display{display:inline-flex;align-items:center;gap:2px;line-height:1}.jobcv-star{flex-shrink:0;display:block}.jobcv-rating-label{display:inline-flex;align-items:baseline;gap:.3em;font-size:.9rem;color:var(--text-primary,#0f172a)}.jobcv-rating-label strong{font-weight:700;color:var(--text-primary,#0f172a)}.jobcv-rating-count{font-size:.8125rem;color:var(--text-secondary,#64748b);font-weight:400}.jobcv-rating-none{font-size:.8125rem;color:var(--text-secondary,#64748b)}.jobcv-btn-rate{display:inline-flex;align-items:center;gap:.35em;padding:.3rem .85rem;border:1.5px solid var(--primary-color,#6366f1);border-radius:20px;background:0 0;color:var(--primary-color,#6366f1);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease;line-height:1.4}.jobcv-btn-rate:focus-visible,.jobcv-btn-rate:hover{background:var(--primary-color,#6366f1);color:#fff;outline:0}.jobcv-review-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:var(--z-modal,1000);display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .2s ease}.jobcv-review-modal-overlay.is-open{opacity:1;pointer-events:auto}.jobcv-review-modal{background:#fff;border-radius:var(--jobcv-modal-radius);box-shadow:0 24px 64px rgba(15,23,42,.18),0 4px 16px rgba(15,23,42,.08);width:100%;max-width:480px;padding:1.75rem 1.75rem 1.5rem;position:relative;transform:translateY(12px);transition:transform .22s ease}.jobcv-review-modal-overlay.is-open .jobcv-review-modal{transform:translateY(0)}.jobcv-review-modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:var(--bg-muted,#f1f5f9);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary,#64748b);transition:background .15s;font-size:1rem;line-height:1;padding:0}.jobcv-review-modal-close:hover{background:#e2e8f0}.jobcv-review-modal h3{margin:0 0 1.25rem;font-size:1.125rem;font-weight:700;color:var(--text-primary,#0f172a);line-height:1.3;padding-right:2rem}.jobcv-stars-input{display:flex;align-items:center;gap:4px;margin-bottom:.25rem}.jobcv-stars-input .jobcv-star-btn{background:0 0;border:none;padding:2px;cursor:pointer;color:var(--jobcv-star-empty);transition:color .1s,transform .1s;line-height:0;border-radius:4px}.jobcv-stars-input .jobcv-star-btn svg{display:block;width:28px;height:28px;transition:transform .1s}.jobcv-stars-input .jobcv-star-btn.is-active svg,.jobcv-stars-input .jobcv-star-btn:hover svg{transform:scale(1.15)}.jobcv-stars-input .jobcv-star-btn:focus-visible{outline:2px solid var(--primary-color,#6366f1);outline-offset:2px}.jobcv-stars-input .jobcv-star-btn.is-filled .star-path{fill:var(--jobcv-star-filled);stroke:var(--jobcv-star-filled)}.jobcv-stars-input .jobcv-star-btn:not(.is-filled) .star-path{fill:none;stroke:var(--jobcv-star-empty)}.jobcv-stars-input .jobcv-star-btn.is-hover .star-path{fill:var(--jobcv-star-hover);stroke:var(--jobcv-star-hover)}.jobcv-rating-label-text{font-size:.8rem;color:var(--text-secondary,#64748b);margin-bottom:1rem;min-height:1.2em}.jobcv-contract-select{width:100%;padding:.6rem .9rem;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.9375rem;color:var(--text-primary,#0f172a);background:#fff;margin-bottom:1rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px;cursor:pointer;transition:border-color .15s}.jobcv-contract-select:focus{border-color:var(--primary-color,#6366f1);outline:0}.jobcv-review-textarea{width:100%;min-height:90px;padding:.7rem .9rem;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.9375rem;font-family:inherit;color:var(--text-primary,#0f172a);resize:vertical;transition:border-color .15s;box-sizing:border-box;margin-bottom:1rem}.jobcv-review-textarea:focus{border-color:var(--primary-color,#6366f1);outline:0}.jobcv-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.25rem}.jobcv-btn-cancel{padding:.55rem 1.1rem;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;color:var(--text-secondary,#64748b);font-size:.9375rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.jobcv-btn-cancel:hover{border-color:#94a3b8;color:var(--text-primary,#0f172a)}.jobcv-btn-submit-review{padding:.55rem 1.25rem;border:none;border-radius:10px;background:linear-gradient(135deg,#6366f1,#6366f1);color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(124,58,237,.3);transition:box-shadow .15s,transform .1s,opacity .15s}.jobcv-btn-submit-review:hover{box-shadow:0 4px 14px rgba(124,58,237,.4);transform:translateY(-1px)}.jobcv-btn-submit-review:active{transform:translateY(0)}.jobcv-btn-submit-review:disabled{opacity:.55;cursor:not-allowed;transform:none}.jobcv-review-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem 0 .5rem;gap:.75rem;color:var(--text-primary,#0f172a)}.jobcv-review-success-icon{width:52px;height:52px;border-radius:50%;background:rgba(5,150,105,.1);display:flex;align-items:center;justify-content:center;color:#059669;font-size:1.5rem}.jobcv-review-success p{margin:0;font-size:.9375rem;color:var(--text-secondary,#64748b);line-height:1.5}.jobcv-modal-loading{display:flex;align-items:center;justify-content:center;min-height:80px;color:var(--text-secondary,#64748b);gap:.5rem;font-size:.9rem}.jobcv-spinner{width:18px;height:18px;border:2px solid #e2e8f0;border-top-color:var(--primary-color,#6366f1);border-radius:50%;animation:jobcv-spin .6s linear infinite;flex-shrink:0}@keyframes jobcv-spin{to{transform:rotate(360deg)}}.jobcv-profile-reviews-title{font-size:1rem;font-weight:700;color:var(--text-primary,#0f172a);margin:1.5rem 0 .5rem;display:flex;align-items:center;gap:.5rem}@media (prefers-reduced-motion:reduce){.jobcv-btn-rate,.jobcv-btn-submit-review,.jobcv-review-modal,.jobcv-review-modal-overlay{transition:none}.jobcv-spinner{animation:none;border-top-color:var(--primary-color,#6366f1)}}@media (max-width:520px){.jobcv-review-modal{padding:1.25rem 1.1rem 1rem;max-width:100%;border-radius:14px 14px 0 0}.jobcv-review-modal-overlay{align-items:flex-end}}