$primary: #000; $bg-card: #fafafa; $radius-lg: 20px; $radius-md: 14px; $radius-sm: 12px; .op-container { position: fixed; top: 10px; right: 10px; width: 384px; min-height: 480px; max-height: calc(100vh - 20px); background: #fff; border-radius: $radius-lg; padding: 20px 20px 24px; font-family: 'Inter', 'PingFang SC', 'Microsoft YaHei', sans-serif; box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12), 0 0 0 0.5px rgba(0, 0, 0, 0.06); z-index: 2147483647; display: flex; flex-direction: column; overflow-y: auto; color: $primary; font-size: 14px; } .op-header { display: flex; justify-content: flex-end; align-items: center; margin-bottom: 4px; gap: 12px; &-link { font-size: 13px; color: #333; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; } } .op-close-btn { background: none; border: none; cursor: pointer; padding: 2px; display: flex; align-items: center; color: #333; } .op-title { font-size: 22px; font-weight: 700; margin-bottom: 16px; } .op-job { &-card { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: $bg-card; border-radius: $radius-md; margin-bottom: 24px; } &-icon { width: 40px; height: 40px; border-radius: 10px; background: #f0f0f0; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } &-info { flex: 1; min-width: 0; } &-title { font-size: 15px; font-weight: 600; line-height: 20px; } &-meta { font-size: 12px; color: #888; margin-top: 2px; line-height: 16px; } } .op-match-score { flex-shrink: 0; } .op-autofill-btn { width: 100%; height: 52px; background: $primary; color: #fff; border: none; border-radius: $radius-md; font-size: 20px; font-weight: 700; cursor: pointer; margin-bottom: 12px; transition: opacity 0.2s; &:hover { opacity: 0.85; } &:disabled { opacity: 0.7; cursor: not-allowed; } } .op-credits { &-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; padding: 0 2px; } &-text { font-size: 13px; font-weight: 600; } &-link { font-size: 13px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; } } .op-section-label { font-size: 14px; font-weight: 600; margin-bottom: 10px; } .op-resume { &-card { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: $bg-card; border-radius: $radius-sm; margin-bottom: 12px; } &-avatar { width: 32px; height: 32px; border-radius: 50%; background: #e8e8e8; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; color: #555; flex-shrink: 0; } &-info { flex: 1; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; min-width: 0; } &-name { font-size: 13px; font-weight: 600; } &-tag { font-size: 11px; border: 1px solid #ddd; border-radius: 10px; padding: 1px 8px; line-height: 18px; white-space: nowrap; } &-change { font-size: 14px; font-weight: 600; cursor: pointer; flex-shrink: 0; } } .op-optimize-btn { width: 100%; height: 48px; background: #f0faf5; color: $primary; border: none; border-radius: $radius-sm; font-size: 17px; font-weight: 600; cursor: pointer; margin-bottom: 20px; transition: background 0.2s; &:hover { background: #e0f5ec; } } .op-progress { &-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; } &-label { font-size: 13px; font-weight: 600; } &-value { font-size: 14px; font-weight: 700; } &-bar-bg { width: 100%; height: 6px; background: #f0f0f0; border-radius: 3px; } &-bar-fill { width: 50%; height: 100%; background: $primary; border-radius: 3px; transition: width 0.3s; } } /* 未登录提示区域 */ .op-login-prompt { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 20px; } .op-login-text { font-size: 15px; color: #555; margin-bottom: 24px; text-align: center; } .op-login-btn { width: 100%; height: 48px; background: $primary; color: #fff; border: none; border-radius: $radius-md; font-size: 16px; font-weight: 600; cursor: pointer; transition: opacity 0.2s; &:hover { opacity: 0.85; } }